gnu: ghc-gnuplot: Update to 0.5.6.
[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")
170 (version "0.3.8")
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
179 "0j4v13pgk21zy8hqkbx8hw0n05jdl17qphxz9rj4h333pr547r3i"))))
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
RV
410 (name "ghc-atomic-write")
411 (version "0.2.0.5")
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
dddbc90c
RV
421 "1iaq0hprxcv0sl1sgwcgmm87zraf738va1bciwnx2jkk3k1v9iyv"))))
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")
6b34d01c
RV
497 (version "1.0.0.0")
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
dddbc90c 506 "12l55b76bhya9q89mfmqmy6sl5v39b6gzrw5rf3f70vkb23nsv5a"))))
6b34d01c 507 (build-system haskell-build-system)
dddbc90c
RV
508 (arguments
509 `(#:cabal-revision
510 ("1" "06f7pgmmc8456p3hc1y23kz1y127gfczy7s00wz1rls9g2sm2vi4")))
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
RV
521 (name "ghc-auto-update")
522 (version "0.1.4")
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
532 "09dlh2alsx2mw5kvj931yhbj0aw7jmly2cm9xbscm2sf098w35jy"))))
533 (build-system haskell-build-system)
534 (home-page "https://github.com/yesodweb/wai")
535 (synopsis "Efficiently run periodic, on-demand actions")
536 (description "This library provides mechanisms to efficiently run
537periodic, on-demand actions in Haskell.")
538 (license license:expat)))
539
540(define-public ghc-aws
541 (package
542 (name "ghc-aws")
543 (version "0.20")
b57e99f5
RV
544 (source
545 (origin
546 (method url-fetch)
547 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
548 "aws-" version "/aws-" version ".tar.gz"))
549 (sha256 (base32
550 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
551 (build-system haskell-build-system)
552 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
553 (inputs
554 `(("ghc-aeson" ,ghc-aeson)
555 ("ghc-attoparsec" ,ghc-attoparsec)
556 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
557 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
558 ("ghc-blaze-builder" ,ghc-blaze-builder)
559 ("ghc-byteable" ,ghc-byteable)
560 ("ghc-case-insensitive" ,ghc-case-insensitive)
561 ("ghc-cereal" ,ghc-cereal)
562 ("ghc-conduit" ,ghc-conduit)
563 ("ghc-conduit-extra" ,ghc-conduit-extra)
564 ("ghc-cryptonite" ,ghc-cryptonite)
565 ("ghc-data-default" ,ghc-data-default)
566 ("ghc-http-conduit" ,ghc-http-conduit)
567 ("ghc-http-types" ,ghc-http-types)
568 ("ghc-lifted-base" ,ghc-lifted-base)
569 ("ghc-monad-control" ,ghc-monad-control)
570 ("ghc-network" ,ghc-network)
571 ("ghc-old-locale" ,ghc-old-locale)
572 ("ghc-safe" ,ghc-safe)
573 ("ghc-scientific" ,ghc-scientific)
574 ("ghc-tagged" ,ghc-tagged)
575 ("ghc-unordered-containers" ,ghc-unordered-containers)
576 ("ghc-utf8-string" ,ghc-utf8-string)
577 ("ghc-vector" ,ghc-vector)
578 ("ghc-xml-conduit" ,ghc-xml-conduit)))
579 (native-inputs
580 `(("ghc-quickcheck" ,ghc-quickcheck)
581 ("ghc-errors" ,ghc-errors)
582 ("ghc-http-client" ,ghc-http-client)
583 ("ghc-http-client-tls" ,ghc-http-client-tls)
584 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
585 ("ghc-tasty" ,ghc-tasty)
586 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
587 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
588 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
589 (home-page "https://github.com/aristidb/aws")
590 (synopsis "Amazon Web Services for Haskell")
591 (description "This package attempts to provide support for using
592Amazon Web Services like S3 (storage), SQS (queuing) and others to
593Haskell programmers. The ultimate goal is to support all Amazon
594Web Services.")
595 (license license:bsd-3)))
596
597(define-public ghc-base16-bytestring
598 (package
599 (name "ghc-base16-bytestring")
600 (version "0.1.1.6")
601 (source
602 (origin
603 (method url-fetch)
604 (uri (string-append
605 "https://hackage.haskell.org/package/base16-bytestring/"
606 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
607 (sha256
608 (base32
dddbc90c 609 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 610 (build-system haskell-build-system)
dddbc90c
RV
611 (home-page "https://github.com/bos/base16-bytestring")
612 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
613 (description
614 "This package provides a Haskell library for working with base16-encoded
615data quickly and efficiently, using the ByteString type.")
b57e99f5 616 (license license:bsd-3)))
bbf8bf31 617
dddbc90c 618(define-public ghc-base64-bytestring
bbf8bf31 619 (package
dddbc90c
RV
620 (name "ghc-base64-bytestring")
621 (version "1.0.0.2")
bbf8bf31
RV
622 (source
623 (origin
624 (method url-fetch)
dddbc90c
RV
625 (uri (string-append
626 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
627 version
628 ".tar.gz"))
629 (sha256
630 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
631 (build-system haskell-build-system)
632 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
633 (home-page "https://github.com/bos/base64-bytestring")
634 (synopsis "Base64 encoding and decoding for ByteStrings")
635 (description "This library provides fast base64 encoding and decoding for
636Haskell @code{ByteString}s.")
637 (license license:bsd-3)))
638
639(define-public ghc-base-compat
640 (package
641 (name "ghc-base-compat")
4daaa371 642 (version "0.10.5")
dddbc90c
RV
643 (source
644 (origin
645 (method url-fetch)
646 (uri (string-append
647 "https://hackage.haskell.org/package/base-compat/base-compat-"
648 version
649 ".tar.gz"))
bbf8bf31
RV
650 (sha256
651 (base32
4daaa371 652 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31
RV
653 (build-system haskell-build-system)
654 (native-inputs
dddbc90c
RV
655 `(("ghc-quickcheck" ,ghc-quickcheck)
656 ("ghc-hspec" ,ghc-hspec)
657 ("hspec-discover" ,hspec-discover)))
658 (home-page "https://hackage.haskell.org/package/base-compat")
659 (synopsis "Haskell compiler compatibility library")
660 (description "This library provides functions available in later versions
661of base to a wider range of compilers, without requiring the use of CPP
662pragmas in your code.")
663 (license license:bsd-3)))
664
f9d78c7f
TS
665(define-public ghc-base-compat-batteries
666 (package
667 (name "ghc-base-compat-batteries")
668 (version "0.10.5")
669 (source
670 (origin
671 (method url-fetch)
672 (uri (string-append "https://hackage.haskell.org/package/"
673 "base-compat-batteries/base-compat-batteries-"
674 version ".tar.gz"))
675 (sha256
676 (base32
677 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
678 (build-system haskell-build-system)
679 (inputs
680 `(("ghc-base-compat" ,ghc-base-compat)))
681 (native-inputs
682 `(("ghc-hspec" ,ghc-hspec)
683 ("ghc-quickcheck" ,ghc-quickcheck)
684 ("hspec-discover" ,hspec-discover)))
685 (arguments
686 `(#:cabal-revision
687 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
688 (home-page "http://hackage.haskell.org/package/base-compat-batteries")
689 (synopsis "base-compat with extra batteries")
690 (description "This library provides functions available in later
691versions of @code{base} to a wider range of compilers, without requiring
692you to use CPP pragmas in your code. This package provides the same API
693as the @code{base-compat} library, but depends on compatibility
694packages (such as @code{semigroups}) to offer a wider support window
695than @code{base-compat}, which has no dependencies.")
696 (license license:expat)))
697
dddbc90c
RV
698(define-public ghc-basement
699 (package
700 (name "ghc-basement")
8b56c1fd 701 (version "0.0.11")
dddbc90c
RV
702 (source
703 (origin
704 (method url-fetch)
705 (uri (string-append "https://hackage.haskell.org/package/"
706 "basement/basement-" version ".tar.gz"))
707 (sha256
708 (base32
8b56c1fd 709 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
710 (build-system haskell-build-system)
711 (home-page "https://github.com/haskell-foundation/foundation")
712 (synopsis "Basic primitives for Foundation starter pack")
713 (description
714 "This package contains basic primitives for the Foundation set of
715packages.")
716 (license license:bsd-3)))
717
718(define-public ghc-base-orphans
719 (package
720 (name "ghc-base-orphans")
780477fb 721 (version "0.8.1")
dddbc90c
RV
722 (source
723 (origin
724 (method url-fetch)
725 (uri (string-append
726 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
727 version
728 ".tar.gz"))
729 (sha256
730 (base32
780477fb 731 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
732 (build-system haskell-build-system)
733 (native-inputs
734 `(("ghc-quickcheck" ,ghc-quickcheck)
735 ("ghc-hspec" ,ghc-hspec)
736 ("hspec-discover" ,hspec-discover)))
737 (home-page "https://hackage.haskell.org/package/base-orphans")
738 (synopsis "Orphan instances for backwards compatibility")
739 (description "This package defines orphan instances that mimic instances
740available in later versions of base to a wider (older) range of compilers.")
741 (license license:bsd-3)))
742
743(define-public ghc-base-prelude
744 (package
745 (name "ghc-base-prelude")
746 (version "1.3")
747 (source
748 (origin
749 (method url-fetch)
750 (uri (string-append "https://hackage.haskell.org/package/"
751 "base-prelude-" version "/"
752 "base-prelude-" version ".tar.gz"))
753 (sha256
754 (base32
755 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
756 (build-system haskell-build-system)
757 (home-page "https://github.com/nikita-volkov/base-prelude")
758 (synopsis "The most complete prelude formed solely from the Haskell's base
759package")
760 (description "This Haskell package aims to reexport all the non-conflicting
761and most general definitions from the \"base\" package.
762
763This includes APIs for applicatives, arrows, monoids, foldables, traversables,
764exceptions, generics, ST, MVars and STM.
765
766This package will never have any dependencies other than \"base\".
767
768Versioning policy:
769
770The versioning policy of this package deviates from PVP in the sense
771that its exports in part are transitively determined by the version of \"base\".
772Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
773the bounds of \"base\" as well.")
774 (license license:expat)))
775
776(define-public ghc-base-unicode-symbols
777 (package
778 (name "ghc-base-unicode-symbols")
779 (version "0.2.3")
780 (source
781 (origin
782 (method url-fetch)
783 (uri (string-append
784 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
785 version
786 ".tar.gz"))
787 (sha256
788 (base32
789 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
790 (build-system haskell-build-system)
791 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
792 (synopsis "Unicode alternatives for common functions and operators")
793 (description "This package defines new symbols for a number of functions,
794operators and types in the base package. All symbols are documented with
795their actual definition and information regarding their Unicode code point.
796They should be completely interchangeable with their definitions. For
797further Unicode goodness you can enable the @code{UnicodeSyntax}
798@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
799language extension}. This extension enables Unicode characters to be used to
800stand for certain ASCII character sequences, i.e. → instead of @code{->},
801∀ instead of @code{forall} and many others.")
802 (license license:bsd-3)))
803
804(define-public ghc-bifunctors
805 (package
806 (name "ghc-bifunctors")
807 (version "5.5.3")
808 (source
809 (origin
810 (method url-fetch)
811 (uri (string-append
812 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
813 version
814 ".tar.gz"))
815 (sha256
816 (base32
817 "1jn9rxg643xnlhrknmjz88nblcpsr45xwjkwwnn5nxpasa7m4d6l"))))
818 (build-system haskell-build-system)
819 (inputs
820 `(("ghc-base-orphans" ,ghc-base-orphans)
821 ("ghc-comonad" ,ghc-comonad)
822 ("ghc-th-abstraction" ,ghc-th-abstraction)
823 ("ghc-transformers-compat" ,ghc-transformers-compat)
824 ("ghc-tagged" ,ghc-tagged)
825 ("ghc-semigroups" ,ghc-semigroups)))
826 (native-inputs
827 `(("ghc-hspec" ,ghc-hspec)
828 ("hspec-discover" ,hspec-discover)
829 ("ghc-quickcheck" ,ghc-quickcheck)))
830 (home-page "https://github.com/ekmett/bifunctors/")
831 (synopsis "Bifunctors for Haskell")
832 (description "This package provides bifunctors for Haskell.")
833 (license license:bsd-3)))
834
835(define-public ghc-bindings-dsl
836 (package
837 (name "ghc-bindings-dsl")
838 (version "1.0.25")
839 (source
840 (origin
841 (method url-fetch)
842 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
843 "bindings-DSL-" version ".tar.gz"))
844 (sha256
845 (base32
846 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
847 (build-system haskell-build-system)
848 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
849 (synopsis "FFI domain specific language, on top of hsc2hs")
850 (description
851 "This is a set of macros to be used when writing Haskell FFI. They were
852designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
853extract from them all Haskell code needed to mimic such interfaces. All
854Haskell names used are automatically derived from C names, structures are
855mapped to Haskell instances of @code{Storable}, and there are also macros you
856can use with C code to help write bindings to inline functions or macro
857functions.")
858 (license license:bsd-3)))
859
860(define-public ghc-blaze-builder
861 (package
862 (name "ghc-blaze-builder")
863 (version "0.4.1.0")
864 (source
865 (origin
866 (method url-fetch)
867 (uri (string-append
868 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
869 version
870 ".tar.gz"))
871 (sha256
872 (base32
873 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
874 (build-system haskell-build-system)
875 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
876 (inputs
877 `(("ghc-utf8-string" ,ghc-utf8-string)))
878 (home-page "https://github.com/lpsmith/blaze-builder")
879 (synopsis "Efficient buffered output")
880 (description "This library provides an implementation of the older
881@code{blaze-builder} interface in terms of the new builder that shipped with
882@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
883bridge to the new builder, so that code that uses the old interface can
884interoperate with code that uses the new implementation.")
885 (license license:bsd-3)))
886
887(define-public ghc-blaze-markup
888 (package
889 (name "ghc-blaze-markup")
7d30fcf3 890 (version "0.8.2.3")
dddbc90c
RV
891 (source
892 (origin
893 (method url-fetch)
894 (uri (string-append "https://hackage.haskell.org/package/"
895 "blaze-markup/blaze-markup-"
896 version ".tar.gz"))
897 (sha256
898 (base32
7d30fcf3 899 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
900 (build-system haskell-build-system)
901 (arguments
902 `(#:phases
903 (modify-phases %standard-phases
904 (add-before 'configure 'update-constraints
905 (lambda _
906 (substitute* "blaze-markup.cabal"
907 (("tasty >= 1\\.0 && < 1\\.1")
908 "tasty >= 1.0 && < 1.2")))))))
909 (inputs
910 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
911 (native-inputs
912 `(("ghc-hunit" ,ghc-hunit)
913 ("ghc-quickcheck" ,ghc-quickcheck)
914 ("ghc-tasty" ,ghc-tasty)
915 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
916 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
917 (home-page "https://jaspervdj.be/blaze")
918 (synopsis "Fast markup combinator library for Haskell")
919 (description "This library provides core modules of a markup combinator
920library for Haskell.")
921 (license license:bsd-3)))
922
923(define-public ghc-bloomfilter
924 (package
925 (name "ghc-bloomfilter")
926 (version "2.0.1.0")
927 (source
928 (origin
929 (method url-fetch)
930 (uri (string-append "https://hackage.haskell.org/package/"
931 "bloomfilter/bloomfilter-" version ".tar.gz"))
932 (sha256
933 (base32
934 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
935 (build-system haskell-build-system)
936 (native-inputs
937 `(("ghc-quickcheck" ,ghc-quickcheck)
938 ("ghc-random" ,ghc-random)
939 ("ghc-test-framework" ,ghc-test-framework)
940 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
941 (home-page "https://github.com/bos/bloomfilter")
942 (synopsis "Pure and impure Bloom filter implementations")
943 (description "This package provides both mutable and immutable Bloom
944filter data types, along with a family of hash functions and an easy-to-use
945interface.")
946 (license license:bsd-3)))
947
948(define-public ghc-boxes
949 (package
950 (name "ghc-boxes")
951 (version "0.1.5")
952 (source
953 (origin
954 (method url-fetch)
955 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
956 version ".tar.gz"))
957 (sha256
958 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
959 (build-system haskell-build-system)
960 (inputs
961 `(("ghc-split" ,ghc-split)
962 ("ghc-quickcheck" ,ghc-quickcheck)))
963 (home-page "https://hackage.haskell.org/package/boxes")
964 (synopsis "2D text pretty-printing library")
965 (description
966 "Boxes is a pretty-printing library for laying out text in two dimensions,
967using a simple box model.")
968 (license license:bsd-3)))
969
970(define-public ghc-byteable
971 (package
972 (name "ghc-byteable")
973 (version "0.1.1")
974 (source (origin
975 (method url-fetch)
976 (uri (string-append "https://hackage.haskell.org/package/"
977 "byteable/byteable-" version ".tar.gz"))
978 (sha256
979 (base32
980 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
981 (build-system haskell-build-system)
982 (home-page "https://github.com/vincenthz/hs-byteable")
983 (synopsis "Type class for sequence of bytes")
984 (description
985 "This package provides an abstract class to manipulate sequence of bytes.
986The use case of this class is abstracting manipulation of types that are just
987wrapping a bytestring with stronger and more meaniful name.")
988 (license license:bsd-3)))
989
990(define-public ghc-byteorder
991 (package
992 (name "ghc-byteorder")
993 (version "1.0.4")
994 (source
995 (origin
996 (method url-fetch)
997 (uri (string-append
998 "https://hackage.haskell.org/package/byteorder/byteorder-"
999 version
1000 ".tar.gz"))
1001 (sha256
1002 (base32
1003 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1004 (build-system haskell-build-system)
1005 (home-page
1006 "http://community.haskell.org/~aslatter/code/byteorder")
1007 (synopsis
1008 "Exposes the native endianness of the system")
1009 (description
1010 "This package is for working with the native byte-ordering of the
1011system.")
1012 (license license:bsd-3)))
1013
1014(define-public ghc-bytes
1015 (package
1016 (name "ghc-bytes")
1017 (version "0.15.5")
1018 (source
1019 (origin
1020 (method url-fetch)
1021 (uri
1022 (string-append "https://hackage.haskell.org/package/bytes-"
1023 version "/bytes-"
1024 version ".tar.gz"))
1025 (file-name (string-append name "-" version ".tar.gz"))
1026 (sha256
1027 (base32
1028 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1029 (build-system haskell-build-system)
1030 (inputs `(("ghc-cereal" ,ghc-cereal)
1031 ("cabal-doctest" ,cabal-doctest)
1032 ("ghc-doctest" ,ghc-doctest)
1033 ("ghc-scientific" ,ghc-scientific)
1034 ("ghc-transformers-compat" ,ghc-transformers-compat)
1035 ("ghc-unordered-containers" ,ghc-unordered-containers)
1036 ("ghc-void" ,ghc-void)
1037 ("ghc-vector" ,ghc-vector)))
1038 (synopsis "Serialization between @code{binary} and @code{cereal}")
1039 (description "This package provides a simple compatibility shim that lets
1040you work with both @code{binary} and @code{cereal} with one chunk of
1041serialization code.")
1042 (home-page "https://hackage.haskell.org/package/bytes")
1043 (license license:bsd-3)))
1044
1045(define-public ghc-bytestring-builder
1046 (package
1047 (name "ghc-bytestring-builder")
13ac8a7f 1048 (version "0.10.8.2.0")
dddbc90c
RV
1049 (source
1050 (origin
1051 (method url-fetch)
1052 (uri (string-append
1053 "https://hackage.haskell.org/package/bytestring-builder"
1054 "/bytestring-builder-" version ".tar.gz"))
1055 (sha256
1056 (base32
13ac8a7f 1057 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1058 (build-system haskell-build-system)
1059 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1060 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1061 (synopsis "The new bytestring builder, packaged outside of GHC")
1062 (description "This package provides the bytestring builder that is
1063debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1064Compatibility package for older packages.")
1065 (license license:bsd-3)))
1066
1067(define-public ghc-bytestring-handle
1068 (package
1069 (name "ghc-bytestring-handle")
1070 (version "0.1.0.6")
1071 (source
1072 (origin
1073 (method url-fetch)
1074 (uri (string-append
1075 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1076 version ".tar.gz"))
1077 (sha256
1078 (base32
1079 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1080 (build-system haskell-build-system)
1081 (arguments
853748c4
TS
1082 `(#:cabal-revision
1083 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1084 #:phases
dddbc90c
RV
1085 (modify-phases %standard-phases
1086 (add-before 'configure 'update-constraints
1087 (lambda _
1088 (substitute* "bytestring-handle.cabal"
1089 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1090 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1091 (inputs
1092 `(("ghc-hunit" ,ghc-hunit)
1093 ("ghc-quickcheck" ,ghc-quickcheck)
1094 ("ghc-test-framework" ,ghc-test-framework)
1095 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1096 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1097 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1098 (synopsis "ByteString-backed Handles")
1099 (description "ByteString-backed Handles") ; There is no description
1100 (license license:bsd-3)))
1101
1102(define-public ghc-bytestring-lexing
1103 (package
1104 (name "ghc-bytestring-lexing")
1105 (version "0.5.0.2")
1106 (source
1107 (origin
1108 (method url-fetch)
1109 (uri (string-append "https://hackage.haskell.org/package/"
1110 "bytestring-lexing/bytestring-lexing-"
1111 version ".tar.gz"))
1112 (sha256
1113 (base32
1114 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1115 (build-system haskell-build-system)
1116 (home-page "http://code.haskell.org/~wren/")
1117 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1118 (description
1119 "This package provides tools to parse and produce literals efficiently
1120from strict or lazy bytestrings.")
1121 (license license:bsd-2)))
1122
1123(define-public ghc-bzlib-conduit
1124 (package
1125 (name "ghc-bzlib-conduit")
1126 (version "0.3.0.1")
1127 (source
1128 (origin
1129 (method url-fetch)
1130 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1131 "bzlib-conduit-" version ".tar.gz"))
1132 (sha256
1133 (base32
1134 "0fd2hnr782s7qgipazg2yxwia9qqhkvm9bcm90773c3zkxa13n23"))))
1135 (build-system haskell-build-system)
1136 (inputs
1137 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1138 ("ghc-conduit" ,ghc-conduit)
1139 ("ghc-data-default-class" ,ghc-data-default-class)
1140 ("ghc-resourcet" ,ghc-resourcet)))
1141 (native-inputs
1142 `(("ghc-hspec" ,ghc-hspec)
1143 ("ghc-random" ,ghc-random)))
1144 (home-page "https://github.com/snoyberg/bzlib-conduit")
1145 (synopsis "Streaming compression/decompression via conduits")
1146 (description
1147 "This package provides Haskell bindings to bzlib and Conduit support for
1148streaming compression and decompression.")
1149 (license license:bsd-3)))
1150
1151(define-public ghc-c2hs
1152 (package
1153 (name "ghc-c2hs")
1154 (version "0.28.6")
1155 (source
1156 (origin
1157 (method url-fetch)
1158 (uri (string-append
1159 "https://hackage.haskell.org/package/c2hs/c2hs-"
1160 version
1161 ".tar.gz"))
1162 (sha256
1163 (base32
1164 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1165 (build-system haskell-build-system)
1166 (inputs
1167 `(("ghc-language-c" ,ghc-language-c)
1168 ("ghc-dlist" ,ghc-dlist)))
1169 (native-inputs
1170 `(("ghc-test-framework" ,ghc-test-framework)
1171 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1172 ("ghc-hunit" ,ghc-hunit)
1173 ("ghc-shelly" ,ghc-shelly)
1174 ("gcc" ,gcc)))
1175 (arguments
1176 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1177 ;; of glibc 2.28.
1178 #:tests? #f
1179
1180 #:phases
1181 (modify-phases %standard-phases
1182 (add-before 'check 'set-cc
1183 ;; add a cc executable in the path, needed for some tests to pass
1184 (lambda* (#:key inputs #:allow-other-keys)
1185 (let ((gcc (assoc-ref inputs "gcc"))
1186 (tmpbin (tmpnam))
1187 (curpath (getenv "PATH")))
1188 (mkdir-p tmpbin)
1189 (symlink (which "gcc") (string-append tmpbin "/cc"))
1190 (setenv "PATH" (string-append tmpbin ":" curpath)))
1191 #t))
1192 (add-after 'check 'remove-cc
1193 ;; clean the tmp dir made in 'set-cc
1194 (lambda _
1195 (let* ((cc-path (which "cc"))
1196 (cc-dir (dirname cc-path)))
1197 (delete-file-recursively cc-dir)
1198 #t))))))
1199 (home-page "https://github.com/haskell/c2hs")
1200 (synopsis "Create Haskell bindings to C libraries")
1201 (description "C->Haskell assists in the development of Haskell bindings to
1202C libraries. It extracts interface information from C header files and
1203generates Haskell code with foreign imports and marshaling. Unlike writing
1204foreign imports by hand (or using hsc2hs), this ensures that C functions are
1205imported with the correct Haskell types.")
1206 (license license:gpl2)))
1207
1208(define-public ghc-cairo
1209 (package
1210 (name "ghc-cairo")
1211 (version "0.13.5.0")
1212 (source
1213 (origin
1214 (method url-fetch)
1215 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1216 "cairo-" version ".tar.gz"))
1217 (sha256
1218 (base32
1219 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1220 (build-system haskell-build-system)
1221 (arguments
1222 `(#:modules ((guix build haskell-build-system)
1223 (guix build utils)
1224 (ice-9 match)
1225 (srfi srfi-26))
1226 #:phases
1227 (modify-phases %standard-phases
1228 ;; FIXME: This is a copy of the standard configure phase with a tiny
1229 ;; difference: this package needs the -package-db flag to be passed
1230 ;; to "runhaskell" in addition to the "configure" action, because it
1231 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1232 ;; this option the Setup.hs file cannot be evaluated. The
1233 ;; haskell-build-system should be changed to pass "-package-db" to
1234 ;; "runhaskell" in any case.
1235 (replace 'configure
1236 (lambda* (#:key outputs inputs tests? (configure-flags '())
1237 #:allow-other-keys)
1238 (let* ((out (assoc-ref outputs "out"))
1239 (name-version (strip-store-file-name out))
1240 (input-dirs (match inputs
1241 (((_ . dir) ...)
1242 dir)
1243 (_ '())))
1244 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1245 (params (append `(,(string-append "--prefix=" out))
1246 `(,(string-append "--libdir=" out "/lib"))
1247 `(,(string-append "--bindir=" out "/bin"))
1248 `(,(string-append
1249 "--docdir=" out
1250 "/share/doc/" name-version))
1251 '("--libsubdir=$compiler/$pkg-$version")
1252 '("--package-db=../package.conf.d")
1253 '("--global")
1254 `(,@(map
1255 (cut string-append "--extra-include-dirs=" <>)
1256 (search-path-as-list '("include") input-dirs)))
1257 `(,@(map
1258 (cut string-append "--extra-lib-dirs=" <>)
1259 (search-path-as-list '("lib") input-dirs)))
1260 (if tests?
1261 '("--enable-tests")
1262 '())
1263 configure-flags)))
1264 (unsetenv "GHC_PACKAGE_PATH")
1265 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1266 "Setup.hs" "configure" params)
1267 (setenv "GHC_PACKAGE_PATH" ghc-path)
1268 #t))))))
1269 (inputs
1270 `(("ghc-utf8-string" ,ghc-utf8-string)
1271 ("cairo" ,cairo)))
1272 (native-inputs
1273 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1274 ("pkg-config" ,pkg-config)))
1275 (home-page "http://projects.haskell.org/gtk2hs/")
1276 (synopsis "Haskell bindings to the Cairo vector graphics library")
1277 (description
1278 "Cairo is a library to render high quality vector graphics. There exist
1279various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1280documents, amongst others.")
1281 (license license:bsd-3)))
1282
1283(define-public ghc-call-stack
1284 (package
1285 (name "ghc-call-stack")
1286 (version "0.1.0")
1287 (source
1288 (origin
1289 (method url-fetch)
1290 (uri (string-append "https://hackage.haskell.org/package/"
1291 "call-stack/call-stack-"
1292 version ".tar.gz"))
1293 (sha256
1294 (base32
1295 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1296 (build-system haskell-build-system)
1297 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1298 (home-page "https://github.com/sol/call-stack#readme")
1299 (synopsis "Use GHC call-stacks in a backward compatible way")
1300 (description "This package provides a compatibility layer for using GHC
1301call stacks with different versions of the compiler.")
1302 (license license:expat)))
1303
1304;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1305;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1306(define-public ghc-call-stack-boot
1307 (hidden-package
1308 (package
1309 (inherit ghc-call-stack)
1310 (arguments '(#:tests? #f))
1311 (inputs '()))))
1312
1313(define-public ghc-case-insensitive
1314 (package
1315 (name "ghc-case-insensitive")
1316 (version "1.2.0.11")
1317 (outputs '("out" "doc"))
1318 (source
1319 (origin
1320 (method url-fetch)
1321 (uri (string-append
1322 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1323 version
1324 ".tar.gz"))
1325 (sha256
1326 (base32
1327 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1328 (build-system haskell-build-system)
1329 ;; these inputs are necessary to use this library
1330 (inputs
1331 `(("ghc-hashable" ,ghc-hashable)))
1332 (arguments
1333 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1334 (home-page
1335 "https://github.com/basvandijk/case-insensitive")
1336 (synopsis "Case insensitive string comparison")
1337 (description
1338 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1339constructor which can be parameterised by a string-like type like:
1340@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1341the resulting type will be insensitive to cases.")
1342 (license license:bsd-3)))
1343
1344(define-public ghc-cereal
1345 (package
1346 (name "ghc-cereal")
bd95427e 1347 (version "0.5.8.1")
dddbc90c
RV
1348 (source
1349 (origin
1350 (method url-fetch)
1351 (uri (string-append
1352 "https://hackage.haskell.org/package/cereal/cereal-"
1353 version
1354 ".tar.gz"))
1355 (sha256
1356 (base32
bd95427e 1357 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1358 (build-system haskell-build-system)
1359 (native-inputs
1360 `(("ghc-quickcheck" ,ghc-quickcheck)
1361 ("ghc-fail" ,ghc-fail)
1362 ("ghc-test-framework" ,ghc-test-framework)
1363 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1364 (home-page "https://hackage.haskell.org/package/cereal")
1365 (synopsis "Binary serialization library")
1366 (description "This package provides a binary serialization library,
1367similar to @code{binary}, that introduces an @code{isolate} primitive for
1368parser isolation, and labeled blocks for better error messages.")
1369 (license license:bsd-3)))
1370
1371(define-public ghc-cereal-conduit
1372 (package
1373 (name "ghc-cereal-conduit")
1374 (version "0.8.0")
1375 (source
1376 (origin
1377 (method url-fetch)
1378 (uri (string-append "https://hackage.haskell.org/package/"
1379 "cereal-conduit/cereal-conduit-"
1380 version ".tar.gz"))
1381 (sha256
1382 (base32
1383 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1384 (build-system haskell-build-system)
1385 (inputs
1386 `(("ghc-conduit" ,ghc-conduit)
1387 ("ghc-resourcet" ,ghc-resourcet)
1388 ("ghc-cereal" ,ghc-cereal)))
1389 (native-inputs
1390 `(("ghc-hunit" ,ghc-hunit)))
1391 (home-page "https://github.com/snoyberg/conduit")
1392 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1393 (description
1394 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1395@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1396 (license license:bsd-3)))
1397
1398(define-public ghc-cgi
1399 (package
1400 (name "ghc-cgi")
1401 (version "3001.3.0.2")
1402 (source
1403 (origin
1404 (method url-fetch)
1405 (uri (string-append
1406 "https://hackage.haskell.org/package/cgi/cgi-"
1407 version
1408 ".tar.gz"))
1409 (sha256
1410 (base32
1411 "1hbpplss1m4rdpm4ibip6fpimlhssqa14fl338kl2jbc463i64cj"))))
1412 (build-system haskell-build-system)
1413 (arguments
1414 `(#:phases
1415 (modify-phases %standard-phases
1416 (add-before 'configure 'update-constraints
1417 (lambda _
1418 (substitute* "cgi.cabal"
1419 (("exceptions < 0\\.9")
1420 "exceptions < 0.11")
1421 (("time >= 1\\.5 && < 1\\.7")
1422 "time >= 1.5 && < 1.9")
1423 (("doctest >= 0\\.8 && < 0\\.12")
1424 "doctest >= 0.8 && < 0.17")
1425 (("QuickCheck >= 2\\.8\\.1 && < 2\\.10")
1426 "QuickCheck >= 2.8.1 && < 2.12")))))))
1427 (inputs
1428 `(("ghc-exceptions" ,ghc-exceptions)
1429 ("ghc-multipart" ,ghc-multipart)
1430 ("ghc-network-uri" ,ghc-network-uri)
1431 ("ghc-network" ,ghc-network)))
1432 (native-inputs
1433 `(("ghc-doctest" ,ghc-doctest)
1434 ("ghc-quickcheck" ,ghc-quickcheck)))
1435 (home-page
1436 "https://github.com/cheecheeo/haskell-cgi")
1437 (synopsis "Library for writing CGI programs")
1438 (description
1439 "This is a Haskell library for writing CGI programs.")
1440 (license license:bsd-3)))
1441
1442(define-public ghc-charset
1443 (package
1444 (name "ghc-charset")
1445 (version "0.3.7.1")
1446 (source
1447 (origin
1448 (method url-fetch)
1449 (uri (string-append
1450 "https://hackage.haskell.org/package/charset/charset-"
1451 version
1452 ".tar.gz"))
1453 (sha256
1454 (base32
1455 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1456 (build-system haskell-build-system)
1457 (inputs
1458 `(("ghc-semigroups" ,ghc-semigroups)
1459 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1460 (home-page "https://github.com/ekmett/charset")
1461 (synopsis "Fast unicode character sets for Haskell")
1462 (description "This package provides fast unicode character sets for
1463Haskell, based on complemented PATRICIA tries.")
1464 (license license:bsd-3)))
1465
1466(define-public ghc-chart
1467 (package
1468 (name "ghc-chart")
1469 (version "1.9")
1470 (source
1471 (origin
1472 (method url-fetch)
1473 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1474 "Chart-" version ".tar.gz"))
1475 (sha256
1476 (base32
1477 "1f5azj17y8xsb3gjhf7gg1gnnlq12rxkmfjmgcly314d7vghs05z"))))
1478 (build-system haskell-build-system)
1479 (inputs
1480 `(("ghc-old-locale" ,ghc-old-locale)
1481 ("ghc-lens" ,ghc-lens)
1482 ("ghc-colour" ,ghc-colour)
1483 ("ghc-data-default-class" ,ghc-data-default-class)
1484 ("ghc-operational" ,ghc-operational)
1485 ("ghc-vector" ,ghc-vector)))
1486 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1487 (synopsis "Library for generating 2D charts and plots")
1488 (description
1489 "This package provides a library for generating 2D charts and plots, with
1490backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1491 (license license:bsd-3)))
1492
1493(define-public ghc-chart-cairo
1494 (package
1495 (name "ghc-chart-cairo")
1496 (version "1.9")
1497 (source
1498 (origin
1499 (method url-fetch)
1500 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1501 "Chart-cairo-" version ".tar.gz"))
1502 (sha256
1503 (base32
1504 "0iany6lfyfb1cw0pxfs5aw5k0a6x41m6ql9ad9w59biwdckbsyqr"))))
1505 (build-system haskell-build-system)
1506 (inputs
1507 `(("ghc-old-locale" ,ghc-old-locale)
1508 ("ghc-cairo" ,ghc-cairo)
1509 ("ghc-colour" ,ghc-colour)
1510 ("ghc-data-default-class" ,ghc-data-default-class)
1511 ("ghc-operational" ,ghc-operational)
1512 ("ghc-lens" ,ghc-lens)
1513 ("ghc-chart" ,ghc-chart)))
1514 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1515 (synopsis "Cairo backend for Charts")
1516 (description "This package provides a Cairo vector graphics rendering
1517backend for the Charts library.")
1518 (license license:bsd-3)))
1519
1520(define-public ghc-chasingbottoms
1521 (package
1522 (name "ghc-chasingbottoms")
1f67853e 1523 (version "1.3.1.7")
dddbc90c
RV
1524 (source
1525 (origin
1526 (method url-fetch)
1527 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1528 "ChasingBottoms-" version ".tar.gz"))
1529 (sha256
1530 (base32
1f67853e 1531 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1532 (build-system haskell-build-system)
1533 (inputs
1534 `(("ghc-quickcheck" ,ghc-quickcheck)
1535 ("ghc-random" ,ghc-random)
1536 ("ghc-syb" ,ghc-syb)))
1537 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1538 (synopsis "Testing of partial and infinite values in Haskell")
1539 (description
1540 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1541 ;; rendered properly.
1542 "This is a library for testing code involving bottoms or infinite values.
1543For the underlying theory and a larger example involving use of QuickCheck,
1544see the article
1545@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1546\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1547Partial and Infinite Values\"}.")
1548 (license license:expat)))
1549
1550(define-public ghc-cheapskate
1551 (package
1552 (name "ghc-cheapskate")
1553 (version "0.1.1")
1554 (source
1555 (origin
1556 (method url-fetch)
1557 (uri (string-append
1558 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1559 version
1560 ".tar.gz"))
1561 (sha256
1562 (base32
1563 "1hiqi7h76shjzs2zj0j8g6wnq2hbiq1hmfafdazr97fba2zl2432"))))
1564 (build-system haskell-build-system)
1565 (inputs
1566 `(("ghc-blaze-html" ,ghc-blaze-html)
1567 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1568 ("ghc-data-default" ,ghc-data-default)
1569 ("ghc-syb" ,ghc-syb)
1570 ("ghc-uniplate" ,ghc-uniplate)))
1571 (home-page "https://github.com/jgm/cheapskate")
1572 (synopsis "Experimental markdown processor")
1573 (description "Cheapskate is an experimental Markdown processor in pure
1574Haskell. It aims to process Markdown efficiently and in the most forgiving
1575possible way. It is designed to deal with any input, including garbage, with
1576linear performance. Output is sanitized by default for protection against
1577cross-site scripting (@dfn{XSS}) attacks.")
1578 (license license:bsd-3)))
1579
1580(define-public ghc-chell
1581 (package
1582 (name "ghc-chell")
1583 (version "0.4.0.2")
1584 (source
1585 (origin
1586 (method url-fetch)
1587 (uri (string-append
1588 "https://hackage.haskell.org/package/chell/chell-"
1589 version ".tar.gz"))
1590 (sha256
1591 (base32
1592 "10ingy9qnbmc8cqh4i9pskcw43l0mzk8f3d76b3qz3fig5ary3j9"))))
1593 (build-system haskell-build-system)
1594 (inputs
1595 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1596 ("ghc-patience" ,ghc-patience)
1597 ("ghc-random" ,ghc-random)
1598 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1599 (home-page "https://john-millikin.com/software/chell/")
1600 (synopsis "Simple and intuitive library for automated testing")
1601 (description
1602 "Chell is a simple and intuitive library for automated testing.
1603It natively supports assertion-based testing, and can use companion
1604libraries such as @code{chell-quickcheck} to support more complex
1605testing strategies.")
1606 (license license:expat)))
1607
1608(define-public ghc-chell-quickcheck
1609 (package
1610 (name "ghc-chell-quickcheck")
1611 (version "0.2.5.1")
1612 (source
1613 (origin
1614 (method url-fetch)
1615 (uri (string-append
1616 "https://hackage.haskell.org/package/chell-quickcheck/"
1617 "chell-quickcheck-" version ".tar.gz"))
1618 (sha256
1619 (base32
1620 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
1621 (build-system haskell-build-system)
1622 (arguments
1623 `(#:phases
1624 (modify-phases %standard-phases
1625 (add-before 'configure 'update-constraints
1626 (lambda _
1627 (substitute* "chell-quickcheck.cabal"
1628 (("QuickCheck >= 2\\.3 && < 2\\.11")
1629 "QuickCheck >= 2.3 && < 2.12")))))))
1630 (inputs
1631 `(("ghc-chell" ,ghc-chell)
1632 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1633 ("ghc-random" ,ghc-random)
1634 ("ghc-quickcheck" ,ghc-quickcheck)))
1635 (home-page "https://john-millikin.com/software/chell/")
1636 (synopsis "QuickCheck support for the Chell testing library")
1637 (description "More complex tests for @code{chell}.")
1638 (license license:expat)))
1639
1640(define ghc-chell-quickcheck-bootstrap
1641 (package
1642 (name "ghc-chell-quickcheck-bootstrap")
1643 (version "0.2.5.1")
1644 (source
1645 (origin
1646 (method url-fetch)
1647 (uri (string-append
1648 "https://hackage.haskell.org/package/chell-quickcheck/"
1649 "chell-quickcheck-" version ".tar.gz"))
1650 (sha256
1651 (base32
1652 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
1653 (build-system haskell-build-system)
1654 (inputs
1655 `(("ghc-chell" ,ghc-chell)
1656 ("ghc-random" ,ghc-random)
1657 ("ghc-quickcheck" ,ghc-quickcheck)))
1658 (arguments
1659 `(#:tests? #f
1660 #:phases
1661 (modify-phases %standard-phases
1662 (add-before 'configure 'update-constraints
1663 (lambda _
1664 (substitute* "chell-quickcheck.cabal"
1665 (("QuickCheck >= 2\\.3 && < 2\\.11")
1666 "QuickCheck >= 2.3 && < 2.12")))))))
1667 (home-page "https://john-millikin.com/software/chell/")
1668 (synopsis "QuickCheck support for the Chell testing library")
1669 (description "More complex tests for @code{chell}.")
1670 (license license:expat)))
1671
1672(define-public ghc-chunked-data
1673 (package
1674 (name "ghc-chunked-data")
1675 (version "0.3.1")
1676 (source
1677 (origin
1678 (method url-fetch)
1679 (uri (string-append "https://hackage.haskell.org/package/"
1680 "chunked-data-" version "/"
1681 "chunked-data-" version ".tar.gz"))
1682 (sha256
1683 (base32
1684 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1685 (build-system haskell-build-system)
1686 (inputs `(("ghc-vector" ,ghc-vector)
1687 ("ghc-semigroups" ,ghc-semigroups)))
1688 (home-page "https://github.com/snoyberg/mono-traversable")
1689 (synopsis "Typeclasses for dealing with various chunked data
1690representations for Haskell")
1691 (description "This Haskell package was originally present in
1692classy-prelude.")
1693 (license license:expat)))
1694
1695(define-public ghc-clock
1696 (package
1697 (name "ghc-clock")
0841b6f2 1698 (version "0.8")
dddbc90c
RV
1699 (source
1700 (origin
1701 (method url-fetch)
1702 (uri (string-append
1703 "https://hackage.haskell.org/package/"
1704 "clock/"
1705 "clock-" version ".tar.gz"))
1706 (sha256
0841b6f2 1707 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1708 (build-system haskell-build-system)
1709 (inputs
1710 `(("ghc-tasty" ,ghc-tasty)
1711 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1712 (home-page "https://hackage.haskell.org/package/clock")
1713 (synopsis "High-resolution clock for Haskell")
1714 (description "A package for convenient access to high-resolution clock and
1715timer functions of different operating systems via a unified API.")
1716 (license license:bsd-3)))
1717
1718;; This package builds `clock` without tests, since the tests rely on tasty
1719;; and tasty-quickcheck, which in turn require clock to build.
1720(define-public ghc-clock-bootstrap
1721 (package
1722 (inherit ghc-clock)
1723 (name "ghc-clock-bootstrap")
1724 (arguments '(#:tests? #f))
1725 (inputs '())
1726 (properties '((hidden? #t)))))
1727
1728(define-public ghc-cmark
1729 (package
1730 (name "ghc-cmark")
6bdd36c0 1731 (version "0.6")
dddbc90c
RV
1732 (source (origin
1733 (method url-fetch)
6bdd36c0 1734 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1735 ;; See cbits/cmark_version.h.
1736 (uri (string-append "https://hackage.haskell.org/package/"
1737 "cmark/cmark-" version ".tar.gz"))
1738 (sha256
1739 (base32
6bdd36c0 1740 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
1741 (build-system haskell-build-system)
1742 (native-inputs
1743 `(("ghc-hunit" ,ghc-hunit)))
1744 (home-page "https://github.com/jgm/commonmark-hs")
1745 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1746 (description
1747 "This package provides Haskell bindings for
1748@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1749CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1750sources, and does not require prior installation of the C library.")
1751 (license license:bsd-3)))
1752
1753(define-public ghc-cmark-gfm
1754 (package
1755 (name "ghc-cmark-gfm")
24fc8dae 1756 (version "0.2.0")
dddbc90c
RV
1757 (source
1758 (origin
1759 (method url-fetch)
1760 (uri (string-append "https://hackage.haskell.org/package/"
1761 "cmark-gfm/cmark-gfm-"
1762 version ".tar.gz"))
1763 (sha256
1764 (base32
24fc8dae 1765 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
1766 (build-system haskell-build-system)
1767 (native-inputs
1768 `(("ghc-hunit" ,ghc-hunit)))
1769 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1770 (synopsis
1771 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1772 (description
1773 "This package provides Haskell bindings for libcmark-gfm, the reference
1774parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1775It includes sources for libcmark-gfm and does not require prior installation
1776of the C library.")
1777 (license license:bsd-3)))
1778
1779(define-public ghc-cmdargs
1780 (package
1781 (name "ghc-cmdargs")
1782 (version "0.10.20")
1783 (source
1784 (origin
1785 (method url-fetch)
1786 (uri (string-append
1787 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1788 version ".tar.gz"))
1789 (sha256
1790 (base32
1791 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1792 (build-system haskell-build-system)
1793 (home-page
1794 "http://community.haskell.org/~ndm/cmdargs/")
1795 (synopsis "Command line argument processing")
1796 (description
1797 "This library provides an easy way to define command line parsers.")
1798 (license license:bsd-3)))
1799
1800(define-public ghc-code-page
1801 (package
1802 (name "ghc-code-page")
f6bb6519 1803 (version "0.2")
dddbc90c
RV
1804 (source
1805 (origin
1806 (method url-fetch)
1807 (uri (string-append
1808 "https://hackage.haskell.org/package/code-page/code-page-"
1809 version ".tar.gz"))
1810 (sha256
1811 (base32
f6bb6519 1812 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1813 (build-system haskell-build-system)
1814 (home-page "https://github.com/RyanGlScott/code-page")
1815 (synopsis "Windows code page library for Haskell")
1816 (description "A cross-platform library with functions for adjusting
1817code pages on Windows. On all other operating systems, the library does
1818nothing.")
1819 (license license:bsd-3)))
1820
1821(define-public ghc-colour
1822(package
1823 (name "ghc-colour")
bc9d1af9 1824 (version "2.3.5")
dddbc90c
RV
1825 (source
1826 (origin
1827 (method url-fetch)
1828 (uri (string-append
1829 "https://hackage.haskell.org/package/colour/colour-"
1830 version ".tar.gz"))
1831 (sha256
1832 (base32
bc9d1af9 1833 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1834 (arguments
1835 ;; The tests for this package have the following dependency cycle:
1836 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1837 `(#:tests? #f))
1838 (build-system haskell-build-system)
1839 (home-page "https://www.haskell.org/haskellwiki/Colour")
1840 (synopsis "Model for human colour perception")
1841 (description
1842 "This package provides a data type for colours and transparency.
1843Colours can be blended and composed. Various colour spaces are
1844supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1845 (license license:expat)))
1846
1847(define-public ghc-comonad
1848 (package
1849 (name "ghc-comonad")
1850 (version "5.0.4")
1851 (source
1852 (origin
1853 (method url-fetch)
1854 (uri (string-append
1855 "https://hackage.haskell.org/package/comonad/comonad-"
1856 version
1857 ".tar.gz"))
1858 (sha256
1859 (base32
1860 "09g870c4flp4k3fgbibsd0mmfjani1qcpbcl685v8x89kxzrva3q"))))
1861 (build-system haskell-build-system)
1862 (native-inputs
1863 `(("cabal-doctest" ,cabal-doctest)
1864 ("ghc-doctest" ,ghc-doctest)))
1865 (inputs
1866 `(("ghc-contravariant" ,ghc-contravariant)
1867 ("ghc-distributive" ,ghc-distributive)
1868 ("ghc-semigroups" ,ghc-semigroups)
1869 ("ghc-tagged" ,ghc-tagged)
1870 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1871 (home-page "https://github.com/ekmett/comonad/")
1872 (synopsis "Comonads for Haskell")
1873 (description "This library provides @code{Comonad}s for Haskell.")
1874 (license license:bsd-3)))
1875
1876(define-public ghc-concatenative
1877 (package
1878 (name "ghc-concatenative")
1879 (version "1.0.1")
1880 (source (origin
1881 (method url-fetch)
1882 (uri (string-append
1883 "https://hackage.haskell.org/package/concatenative/concatenative-"
1884 version ".tar.gz"))
1885 (sha256
1886 (base32
1887 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1888 (build-system haskell-build-system)
1889 (home-page
1890 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1891 (synopsis "Library for postfix control flow")
1892 (description
1893 "Concatenative gives Haskell Factor-style combinators and arrows for
1894postfix notation. For more information on stack based languages, see
1895@uref{https://concatenative.org}.")
1896 (license license:bsd-3)))
1897
1898(define-public ghc-concurrent-extra
1899 (package
1900 (name "ghc-concurrent-extra")
1901 (version "0.7.0.12")
1902 (source
1903 (origin
1904 (method url-fetch)
1905 (uri (string-append "https://hackage.haskell.org/package/"
1906 "concurrent-extra/concurrent-extra-"
1907 version ".tar.gz"))
1908 (sha256
1909 (base32
1910 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
1911 (build-system haskell-build-system)
1912 (arguments
1913 ;; XXX: The ReadWriteLock 'stressTest' fails.
1914 `(#:tests? #f))
1915 (inputs
1916 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
1917 (native-inputs
1918 `(("ghc-async" ,ghc-async)
1919 ("ghc-hunit" ,ghc-hunit)
1920 ("ghc-random" ,ghc-random)
1921 ("ghc-test-framework" ,ghc-test-framework)
1922 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
1923 (home-page "https://github.com/basvandijk/concurrent-extra")
1924 (synopsis "Extra concurrency primitives")
1925 (description "This Haskell library offers (among other things) the
1926following selection of synchronisation primitives:
1927
1928@itemize
1929@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
1930@item @code{Event}: Wake multiple threads by signalling an event.
1931@item @code{Lock}: Enforce exclusive access to a resource. Also known
1932as a binary semaphore or mutex. The package additionally provides an
1933alternative that works in the STM monad.
1934@item @code{RLock}: A lock which can be acquired multiple times by the
1935same thread. Also known as a reentrant mutex.
1936@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
1937to protect shared resources which may be concurrently read, but only
1938sequentially written.
1939@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
1940@end itemize
1941
1942Please consult the API documentation of the individual modules for more
1943detailed information.
1944
1945This package was inspired by the concurrency libraries of Java and
1946Python.")
1947 (license license:bsd-3)))
1948
1949(define-public ghc-concurrent-output
1950 (package
1951 (name "ghc-concurrent-output")
4fce0a4a 1952 (version "1.10.11")
dddbc90c
RV
1953 (source
1954 (origin
1955 (method url-fetch)
1956 (uri (string-append
1957 "mirror://hackage/package/concurrent-output/concurrent-output-"
1958 version
1959 ".tar.gz"))
1960 (sha256
1961 (base32
4fce0a4a 1962 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
1963 (build-system haskell-build-system)
1964 (inputs
1965 `(("ghc-async" ,ghc-async)
1966 ("ghc-exceptions" ,ghc-exceptions)
1967 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1968 ("ghc-terminal-size" ,ghc-terminal-size)))
1969 (home-page
1970 "https://hackage.haskell.org/package/concurrent-output")
1971 (synopsis
1972 "Ungarble output from several threads or commands")
1973 (description
1974 "Lets multiple threads and external processes concurrently output to the
1975console, without it getting all garbled up.
1976
1977Built on top of that is a way of defining multiple output regions, which are
1978automatically laid out on the screen and can be individually updated by
1979concurrent threads. Can be used for progress displays etc.")
1980 (license license:bsd-2)))
1981
1982(define-public ghc-conduit
1983 (package
1984 (name "ghc-conduit")
1985 (version "1.3.0.3")
1986 (source (origin
1987 (method url-fetch)
1988 (uri (string-append "https://hackage.haskell.org/package/"
1989 "conduit/conduit-" version ".tar.gz"))
1990 (sha256
1991 (base32
1992 "1sangm0qqi9dzlq95746a3kl14k8b09592a423shxjf2a0b1yx5v"))))
1993 (build-system haskell-build-system)
1994 (inputs
1995 `(("ghc-exceptions" ,ghc-exceptions)
1996 ("ghc-lifted-base" ,ghc-lifted-base)
1997 ("ghc-mono-traversable" ,ghc-mono-traversable)
1998 ("ghc-mmorph" ,ghc-mmorph)
1999 ("ghc-resourcet" ,ghc-resourcet)
2000 ("ghc-silently" ,ghc-silently)
2001 ("ghc-transformers-base" ,ghc-transformers-base)
2002 ("ghc-unliftio" ,ghc-unliftio)
2003 ("ghc-unliftio-core" ,ghc-unliftio-core)
2004 ("ghc-vector" ,ghc-vector)
2005 ("ghc-void" ,ghc-void)))
2006 (native-inputs
2007 `(("ghc-quickcheck" ,ghc-quickcheck)
2008 ("ghc-hspec" ,ghc-hspec)
2009 ("ghc-safe" ,ghc-safe)
2010 ("ghc-split" ,ghc-split)))
2011 (home-page "https://github.com/snoyberg/conduit")
2012 (synopsis "Streaming data library ")
2013 (description
2014 "The conduit package is a solution to the streaming data problem,
2015allowing for production, transformation, and consumption of streams of data
2016in constant memory. It is an alternative to lazy I/O which guarantees
2017deterministic resource handling, and fits in the same general solution
2018space as enumerator/iteratee and pipes.")
2019 (license license:expat)))
2020
2021(define-public ghc-conduit-algorithms
2022 (package
2023 (name "ghc-conduit-algorithms")
2024 (version "0.0.8.1")
2025 (source
2026 (origin
2027 (method url-fetch)
2028 (uri (string-append "https://hackage.haskell.org/package/"
2029 "conduit-algorithms/conduit-algorithms-"
2030 version ".tar.gz"))
2031 (sha256
2032 (base32
2033 "07gx2q3d1bbfw14q41rmqg0i4m018pci10lswc0k1ij6lw7sb9fd"))))
2034 (build-system haskell-build-system)
2035 (inputs
2036 `(("ghc-async" ,ghc-async)
2037 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2038 ("ghc-conduit" ,ghc-conduit)
2039 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2040 ("ghc-conduit-extra" ,ghc-conduit-extra)
2041 ("ghc-exceptions" ,ghc-exceptions)
2042 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2043 ("ghc-monad-control" ,ghc-monad-control)
2044 ("ghc-pqueue" ,ghc-pqueue)
2045 ("ghc-resourcet" ,ghc-resourcet)
2046 ("ghc-stm-conduit" ,ghc-stm-conduit)
2047 ("ghc-streaming-commons" ,ghc-streaming-commons)
2048 ("ghc-unliftio-core" ,ghc-unliftio-core)
2049 ("ghc-vector" ,ghc-vector)))
2050 (native-inputs
2051 `(("ghc-hunit" ,ghc-hunit)
2052 ("ghc-test-framework" ,ghc-test-framework)
2053 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2054 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2055 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2056 (synopsis "Conduit-based algorithms")
2057 (description
2058 "This package provides algorithms on @code{Conduits}, including higher
2059level asynchronous processing and some other utilities.")
2060 (license license:expat)))
2061
2062(define-public ghc-conduit-combinators
2063 (package
2064 (name "ghc-conduit-combinators")
2065 (version "1.3.0")
2066 (source
2067 (origin
2068 (method url-fetch)
2069 (uri (string-append "https://hackage.haskell.org/package/"
2070 "conduit-combinators-" version "/"
2071 "conduit-combinators-" version ".tar.gz"))
2072 (sha256
2073 (base32
2074 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2075 (build-system haskell-build-system)
2076 (inputs `(("ghc-conduit" ,ghc-conduit)
2077 ("ghc-conduit-extra" ,ghc-conduit-extra)
2078 ("ghc-transformers-base" ,ghc-transformers-base)
2079 ("ghc-primitive" ,ghc-primitive)
2080 ("ghc-vector" ,ghc-vector)
2081 ("ghc-void" ,ghc-void)
2082 ("ghc-mwc-random" ,ghc-mwc-random)
2083 ("ghc-unix-compat" ,ghc-unix-compat)
2084 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2085 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2086 ("ghc-resourcet" ,ghc-resourcet)
2087 ("ghc-monad-control" ,ghc-monad-control)
2088 ("ghc-chunked-data" ,ghc-chunked-data)
2089 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2090 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2091 ("ghc-silently" ,ghc-silently)
2092 ("ghc-safe" ,ghc-safe)
2093 ("ghc-quickcheck" ,ghc-quickcheck)))
2094 (home-page "https://github.com/snoyberg/mono-traversable")
2095 (synopsis "Commonly used conduit functions, for both chunked and
2096unchunked data")
2097 (description "This Haskell package provides a replacement for Data.Conduit.List,
2098as well as a convenient Conduit module.")
2099 (license license:expat)))
2100
2101(define-public ghc-conduit-extra
2102 (package
2103 (name "ghc-conduit-extra")
2104 (version "1.3.1.1")
2105 (source
2106 (origin
2107 (method url-fetch)
2108 (uri (string-append "https://hackage.haskell.org/package/"
2109 "conduit-extra/conduit-extra-"
2110 version ".tar.gz"))
2111 (sha256
2112 (base32
2113 "0jaj350vv6mbb26gdwcqz4gwzfzrjydv5pis2da49wz1npbakcfw"))))
2114 (build-system haskell-build-system)
2115 (inputs
2116 `(("ghc-conduit" ,ghc-conduit)
2117 ("ghc-exceptions" ,ghc-exceptions)
2118 ("ghc-monad-control" ,ghc-monad-control)
2119 ("ghc-transformers-base" ,ghc-transformers-base)
2120 ("ghc-typed-process" ,ghc-typed-process)
2121 ("ghc-async" ,ghc-async)
2122 ("ghc-attoparsec" ,ghc-attoparsec)
2123 ("ghc-blaze-builder" ,ghc-blaze-builder)
2124 ("ghc-network" ,ghc-network)
2125 ("ghc-primitive" ,ghc-primitive)
2126 ("ghc-resourcet" ,ghc-resourcet)
2127 ("ghc-streaming-commons" ,ghc-streaming-commons)
2128 ("ghc-hspec" ,ghc-hspec)
2129 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2130 ("ghc-quickcheck" ,ghc-quickcheck)))
2131 (native-inputs
2132 `(("hspec-discover" ,hspec-discover)))
2133 (home-page "https://github.com/snoyberg/conduit")
2134 (synopsis "Conduit adapters for common libraries")
2135 (description
2136 "The @code{conduit} package itself maintains relative small dependencies.
2137The purpose of this package is to collect commonly used utility functions
2138wrapping other library dependencies, without depending on heavier-weight
2139dependencies. The basic idea is that this package should only depend on
2140@code{haskell-platform} packages and @code{conduit}.")
2141 (license license:expat)))
2142
2143(define-public ghc-configurator
2144 (package
2145 (name "ghc-configurator")
2146 (version "0.3.0.0")
2147 (source
2148 (origin
2149 (method url-fetch)
2150 (uri (string-append "https://hackage.haskell.org/package/"
2151 "configurator/configurator-"
2152 version ".tar.gz"))
2153 (sha256
2154 (base32
2155 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2156 (build-system haskell-build-system)
2157 (inputs
2158 `(("ghc-attoparsec" ,ghc-attoparsec)
2159 ("ghc-hashable" ,ghc-hashable)
2160 ("ghc-unix-compat" ,ghc-unix-compat)
2161 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2162 (native-inputs
2163 `(("ghc-hunit" ,ghc-hunit)
2164 ("ghc-test-framework" ,ghc-test-framework)
2165 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2166 (home-page "http://github.com/bos/configurator")
2167 (synopsis "Configuration management")
2168 (description
2169 "This package provides a configuration management library for programs
2170and daemons. The features include:
2171
2172@enumerate
2173@item Automatic, dynamic reloading in response to modifications to
2174 configuration files.
2175@item A simple, but flexible, configuration language, supporting several of
2176 the most commonly needed types of data, along with interpolation of strings
2177 from the configuration or the system environment (e.g. @code{$(HOME)}).
2178@item Subscription-based notification of changes to configuration properties.
2179@item An @code{import} directive allows the configuration of a complex
2180 application to be split across several smaller files, or common configuration
2181 data to be shared across several applications.
2182@end enumerate\n")
2183 (license license:bsd-3)))
2184
2185(define-public ghc-connection
2186 (package
2187 (name "ghc-connection")
2188 (version "0.2.8")
2189 (source (origin
2190 (method url-fetch)
2191 (uri (string-append "https://hackage.haskell.org/package/"
2192 "connection/connection-"
2193 version ".tar.gz"))
2194 (sha256
2195 (base32
2196 "1swkb9w5vx9ph7x55y51dc0srj2z27nd9ibgn8c0qcl6hx7g9cbh"))))
2197 (build-system haskell-build-system)
2198 (inputs
2199 `(("ghc-byteable" ,ghc-byteable)
2200 ("ghc-data-default-class" ,ghc-data-default-class)
2201 ("ghc-network" ,ghc-network)
2202 ("ghc-tls" ,ghc-tls)
2203 ("ghc-socks" ,ghc-socks)
2204 ("ghc-x509" ,ghc-x509)
2205 ("ghc-x509-store" ,ghc-x509-store)
2206 ("ghc-x509-system" ,ghc-x509-system)
2207 ("ghc-x509-validation" ,ghc-x509-validation)))
2208 (home-page "https://github.com/vincenthz/hs-connection")
2209 (synopsis "Simple and easy network connections API")
2210 (description
2211 "This package provides a simple network library for all your connection
2212needs. It provides a very simple API to create sockets to a destination with
2213the choice of SSL/TLS, and SOCKS.")
2214 (license license:bsd-3)))
2215
2216(define-public ghc-constraints
2217 (package
2218 (name "ghc-constraints")
2219 (version "0.10.1")
2220 (source
2221 (origin
2222 (method url-fetch)
2223 (uri (string-append
2224 "https://hackage.haskell.org/package/constraints/constraints-"
2225 version ".tar.gz"))
2226 (sha256
2227 (base32
2228 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2229 (build-system haskell-build-system)
2230 (inputs
2231 `(("ghc-hashable" ,ghc-hashable)
2232 ("ghc-semigroups" ,ghc-semigroups)
2233 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2234 (native-inputs
2235 `(("ghc-hspec" ,ghc-hspec)
2236 ("hspec-discover" ,hspec-discover)))
2237 (home-page "https://github.com/ekmett/constraints/")
2238 (synopsis "Constraint manipulation")
2239 (description
2240 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2241They stopped crashing the compiler in GHC 7.6. This package provides
2242a vocabulary for working with them.")
2243 (license license:bsd-3)))
2244
2245(define-public ghc-contravariant
2246 (package
2247 (name "ghc-contravariant")
e7b35ff0 2248 (version "1.5.2")
dddbc90c
RV
2249 (source
2250 (origin
2251 (method url-fetch)
2252 (uri (string-append
2253 "https://hackage.haskell.org/package/contravariant/contravariant-"
2254 version
2255 ".tar.gz"))
2256 (sha256
2257 (base32
e7b35ff0 2258 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2259 (build-system haskell-build-system)
2260 (inputs
2261 `(("ghc-void" ,ghc-void)
2262 ("ghc-transformers-compat" ,ghc-transformers-compat)
2263 ("ghc-statevar" ,ghc-statevar)
2264 ("ghc-semigroups" ,ghc-semigroups)))
2265 (home-page
2266 "https://github.com/ekmett/contravariant/")
2267 (synopsis "Contravariant functors")
2268 (description "Contravariant functors for Haskell.")
2269 (license license:bsd-3)))
2270
2271(define-public ghc-contravariant-extras
2272 (package
2273 (name "ghc-contravariant-extras")
2274 (version "0.3.4")
2275 (source
2276 (origin
2277 (method url-fetch)
2278 (uri (string-append "https://hackage.haskell.org/package/"
2279 "contravariant-extras-" version "/"
2280 "contravariant-extras-" version ".tar.gz"))
2281 (sha256
2282 (base32
2283 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2284 (build-system haskell-build-system)
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
2577(define-public ghc-descriptive
2578 (package
2579 (name "ghc-descriptive")
2580 (version "0.9.5")
2581 (source
2582 (origin
2583 (method url-fetch)
2584 (uri (string-append
2585 "https://hackage.haskell.org/package/descriptive/descriptive-"
2586 version
2587 ".tar.gz"))
2588 (sha256
2589 (base32
2590 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2591 (build-system haskell-build-system)
2592 (inputs
2593 `(("ghc-aeson" ,ghc-aeson)
2594 ("ghc-bifunctors" ,ghc-bifunctors)
2595 ("ghc-scientific" ,ghc-scientific)
2596 ("ghc-vector" ,ghc-vector)))
2597 (native-inputs
2598 `(("ghc-hunit" ,ghc-hunit)
2599 ("ghc-hspec" ,ghc-hspec)))
2600 (home-page
2601 "https://github.com/chrisdone/descriptive")
2602 (synopsis
2603 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2604 (description
2605 "This package provides datatypes and functions for creating consumers
2606and parsers with useful semantics.")
2607 (license license:bsd-3)))
2608
2609(define-public ghc-diff
2610 (package
2611 (name "ghc-diff")
2612 (version "0.3.4")
2613 (source (origin
2614 (method url-fetch)
2615 (uri (string-append "https://hackage.haskell.org/package/"
2616 "Diff/Diff-" version ".tar.gz"))
2617 (sha256
2618 (base32
2619 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
2620 (build-system haskell-build-system)
2621 (native-inputs
2622 `(("ghc-quickcheck" ,ghc-quickcheck)
2623 ("ghc-test-framework" ,ghc-test-framework)
2624 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2625 (home-page "https://hub.darcs.net/sterlingclover/Diff")
2626 (synopsis "O(ND) diff algorithm in Haskell")
2627 (description
2628 "This package provides an implementation of the standard diff algorithm,
2629and utilities for pretty printing.")
2630 (license license:bsd-3)))
2631
2632(define-public ghc-disk-free-space
2633 (package
2634 (name "ghc-disk-free-space")
2635 (version "0.1.0.1")
2636 (source
2637 (origin
2638 (method url-fetch)
2639 (uri (string-append "https://hackage.haskell.org/package/"
2640 "disk-free-space/disk-free-space-"
2641 version ".tar.gz"))
2642 (sha256
2643 (base32
2644 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
2645 (build-system haskell-build-system)
2646 (home-page "https://github.com/redneb/disk-free-space")
2647 (synopsis "Retrieve information about disk space usage")
2648 (description "A cross-platform library for retrieving information about
2649disk space usage.")
2650 (license license:bsd-3)))
2651
2652(define-public ghc-distributive
2653 (package
2654 (name "ghc-distributive")
e4c92f28 2655 (version "0.6.1")
dddbc90c
RV
2656 (source
2657 (origin
2658 (method url-fetch)
2659 (uri (string-append
2660 "https://hackage.haskell.org/package/distributive/distributive-"
2661 version
2662 ".tar.gz"))
2663 (sha256
2664 (base32
e4c92f28 2665 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 2666 (build-system haskell-build-system)
dddbc90c
RV
2667 (inputs
2668 `(("ghc-tagged" ,ghc-tagged)
2669 ("ghc-base-orphans" ,ghc-base-orphans)
2670 ("ghc-transformers-compat" ,ghc-transformers-compat)
2671 ("ghc-semigroups" ,ghc-semigroups)
2672 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2673 (native-inputs
2674 `(("cabal-doctest" ,cabal-doctest)
2675 ("ghc-doctest" ,ghc-doctest)
2676 ("ghc-hspec" ,ghc-hspec)
2677 ("hspec-discover" ,hspec-discover)))
2678 (home-page "https://github.com/ekmett/distributive/")
2679 (synopsis "Distributive functors for Haskell")
2680 (description "This package provides distributive functors for Haskell.
2681Dual to @code{Traversable}.")
2682 (license license:bsd-3)))
2683
2684(define-public ghc-dlist
2685 (package
2686 (name "ghc-dlist")
197ddf33 2687 (version "0.8.0.7")
dddbc90c
RV
2688 (source
2689 (origin
2690 (method url-fetch)
2691 (uri (string-append
2692 "https://hackage.haskell.org/package/dlist/dlist-"
2693 version
2694 ".tar.gz"))
2695 (sha256
197ddf33 2696 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
2697 (build-system haskell-build-system)
2698 (inputs
2699 `(("ghc-quickcheck" ,ghc-quickcheck)))
2700 (home-page "https://github.com/spl/dlist")
2701 (synopsis "Difference lists")
2702 (description
2703 "Difference lists are a list-like type supporting O(1) append. This is
2704particularly useful for efficient logging and pretty printing (e.g. with the
2705Writer monad), where list append quickly becomes too expensive.")
2706 (license license:bsd-3)))
2707
2708(define-public ghc-doctemplates
2709 (package
2710 (name "ghc-doctemplates")
2711 (version "0.2.2.1")
2712 (source
2713 (origin
2714 (method url-fetch)
2715 (uri (string-append "https://hackage.haskell.org/package/"
2716 "doctemplates/doctemplates-"
2717 version ".tar.gz"))
2718 (sha256
2719 (base32
2720 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
2721 (build-system haskell-build-system)
2722 (inputs
2723 `(("ghc-aeson" ,ghc-aeson)
2724 ("ghc-blaze-markup" ,ghc-blaze-markup)
2725 ("ghc-blaze-html" ,ghc-blaze-html)
2726 ("ghc-vector" ,ghc-vector)
2727 ("ghc-unordered-containers" ,ghc-unordered-containers)
2728 ("ghc-scientific" ,ghc-scientific)))
2729 (native-inputs
2730 `(("ghc-hspec" ,ghc-hspec)))
2731 (home-page "https://github.com/jgm/doctemplates#readme")
2732 (synopsis "Pandoc-style document templates")
2733 (description
2734 "This package provides a simple text templating system used by pandoc.")
2735 (license license:bsd-3)))
2736
2737(define-public ghc-doctest
2738 (package
2739 (name "ghc-doctest")
19c14a0f 2740 (version "0.16.2")
dddbc90c
RV
2741 (source
2742 (origin
2743 (method url-fetch)
2744 (uri (string-append
2745 "https://hackage.haskell.org/package/doctest/doctest-"
2746 version
2747 ".tar.gz"))
2748 (sha256
2749 (base32
19c14a0f 2750 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
2751 (build-system haskell-build-system)
2752 (arguments `(#:tests? #f)) ; FIXME: missing test framework
2753 (inputs
2754 `(("ghc-syb" ,ghc-syb)
2755 ("ghc-paths" ,ghc-paths)
2756 ("ghc-base-compat" ,ghc-base-compat)
2757 ("ghc-code-page" ,ghc-code-page)
2758 ("ghc-hunit" ,ghc-hunit)
2759 ("ghc-hspec" ,ghc-hspec)
2760 ("ghc-quickcheck" ,ghc-quickcheck)
2761 ("ghc-stringbuilder" ,ghc-stringbuilder)
2762 ("ghc-silently" ,ghc-silently)
2763 ("ghc-setenv" ,ghc-setenv)))
2764 (home-page
2765 "https://github.com/sol/doctest#readme")
2766 (synopsis "Test interactive Haskell examples")
2767 (description "The doctest program checks examples in source code comments.
2768It is modeled after doctest for Python, see
2769@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
2770 (license license:expat)))
2771
2772(define-public ghc-double-conversion
2773 (package
2774 (name "ghc-double-conversion")
2775 (version "2.0.2.0")
2776 (source
2777 (origin
2778 (method url-fetch)
2779 (uri (string-append "https://hackage.haskell.org/package/"
2780 "double-conversion/double-conversion-"
2781 version ".tar.gz"))
2782 (sha256
2783 (base32
2784 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
2785 (build-system haskell-build-system)
2786 (native-inputs
2787 `(("ghc-hunit" ,ghc-hunit)
2788 ("ghc-test-framework" ,ghc-test-framework)
2789 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2790 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2791 (home-page "https://github.com/bos/double-conversion")
2792 (synopsis "Fast conversion between double precision floating point and text")
2793 (description
2794 "This package provides a library that performs fast, accurate conversion
2795between double precision floating point and text.")
2796 (license license:bsd-3)))
2797
2798(define-public ghc-easy-file
2799 (package
2800 (name "ghc-easy-file")
2801 (version "0.2.2")
2802 (source
2803 (origin
2804 (method url-fetch)
2805 (uri (string-append
2806 "https://hackage.haskell.org/package/easy-file/easy-file-"
2807 version
2808 ".tar.gz"))
2809 (sha256
2810 (base32
2811 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
2812 (build-system haskell-build-system)
2813 (home-page
2814 "https://github.com/kazu-yamamoto/easy-file")
2815 (synopsis "File handling library for Haskell")
2816 (description "This library provides file handling utilities for Haskell.")
2817 (license license:bsd-3)))
2818
2819(define-public ghc-easyplot
2820 (package
2821 (name "ghc-easyplot")
2822 (version "1.0")
2823 (source
2824 (origin
2825 (method url-fetch)
2826 (uri (string-append
2827 "https://hackage.haskell.org/package/easyplot/easyplot-"
2828 version ".tar.gz"))
2829 (sha256
2830 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
2831 (build-system haskell-build-system)
2832 (propagated-inputs `(("gnuplot" ,gnuplot)))
2833 (arguments
2834 `(#:phases (modify-phases %standard-phases
2835 (add-after 'unpack 'fix-setup-suffix
2836 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
2837 (home-page "https://hub.darcs.net/scravy/easyplot")
2838 (synopsis "Haskell plotting library based on gnuplot")
2839 (description "This package provides a plotting library for
2840Haskell, using gnuplot for rendering.")
2841 (license license:expat)))
2842
2843(define-public ghc-echo
2844 (package
2845 (name "ghc-echo")
2846 (version "0.1.3")
2847 (source
2848 (origin
2849 (method url-fetch)
2850 (uri (string-append
2851 "https://hackage.haskell.org/package/echo/echo-"
2852 version ".tar.gz"))
2853 (sha256
2854 (base32
2855 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
2856 (build-system haskell-build-system)
2857 (arguments
2858 `(#:cabal-revision
2859 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
2860 (home-page "https://github.com/RyanGlScott/echo")
2861 (synopsis "Echo terminal input portably")
2862 (description "The @code{base} library exposes the @code{hGetEcho} and
2863@code{hSetEcho} functions for querying and setting echo status, but
2864unfortunately, neither function works with MinTTY consoles on Windows.
2865This library provides an alternative interface which works with both
2866MinTTY and other consoles.")
2867 (license license:bsd-3)))
2868
2869(define-public ghc-edisonapi
2870 (package
2871 (name "ghc-edisonapi")
2872 (version "1.3.1")
2873 (source
2874 (origin
2875 (method url-fetch)
2876 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
2877 "/EdisonAPI-" version ".tar.gz"))
2878 (sha256
2879 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
2880 (build-system haskell-build-system)
2881 (home-page "http://rwd.rdockins.name/edison/home/")
2882 (synopsis "Library of efficient, purely-functional data structures (API)")
2883 (description
2884 "Edison is a library of purely functional data structures written by
2885Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
2886value EDiSon (Efficient Data Structures). Edison provides several families of
2887abstractions, each with multiple implementations. The main abstractions
2888provided by Edison are: Sequences such as stacks, queues, and dequeues;
2889Collections such as sets, bags and heaps; and Associative Collections such as
2890finite maps and priority queues where the priority and element are distinct.")
2891 (license license:expat)))
2892
2893(define-public ghc-edisoncore
2894 (package
2895 (name "ghc-edisoncore")
2896 (version "1.3.2.1")
2897 (source
2898 (origin
2899 (method url-fetch)
2900 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
2901 "/EdisonCore-" version ".tar.gz"))
2902 (sha256
2903 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
2904 (build-system haskell-build-system)
2905 (inputs
2906 `(("ghc-quickcheck" ,ghc-quickcheck)
2907 ("ghc-edisonapi" ,ghc-edisonapi)))
2908 (home-page "http://rwd.rdockins.name/edison/home/")
2909 (synopsis "Library of efficient, purely-functional data structures")
2910 (description
2911 "This package provides the core Edison data structure implementations,
2912including multiple sequence, set, bag, and finite map concrete implementations
2913with various performance characteristics.")
2914 (license license:expat)))
2915
2916(define-public ghc-edit-distance
2917 (package
2918 (name "ghc-edit-distance")
2919 (version "0.2.2.1")
2920 (source
2921 (origin
2922 (method url-fetch)
2923 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
2924 "/edit-distance-" version ".tar.gz"))
2925 (sha256
2926 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
2927 (build-system haskell-build-system)
2928 (arguments
2929 `(#:phases
2930 (modify-phases %standard-phases
2931 (add-before 'configure 'update-constraints
2932 (lambda _
2933 (substitute* "edit-distance.cabal"
2934 (("QuickCheck >= 2\\.4 && <2\\.9")
2935 "QuickCheck >= 2.4 && < 2.12")))))))
2936 (inputs
2937 `(("ghc-random" ,ghc-random)
2938 ("ghc-test-framework" ,ghc-test-framework)
2939 ("ghc-quickcheck" ,ghc-quickcheck)
2940 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2941 (home-page "https://github.com/phadej/edit-distance")
2942 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
2943 (description
2944 "This package provides optimized functions to determine the edit
2945distances for fuzzy matching, including Levenshtein and restricted
2946Damerau-Levenshtein algorithms.")
2947 (license license:bsd-3)))
2948
2949(define-public ghc-either
2950 (package
2951 (name "ghc-either")
2952 (version "5.0.1")
2953 (source
2954 (origin
2955 (method url-fetch)
2956 (uri (string-append "https://hackage.haskell.org/package/"
2957 "either-" version "/"
2958 "either-" version ".tar.gz"))
2959 (sha256
2960 (base32
2961 "064hjfld7dkzs78sy30k5qkiva3hx24rax6dvzz5ygr2c0zypdkc"))))
2962 (build-system haskell-build-system)
2963 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
2964 ("ghc-exceptions" ,ghc-exceptions)
2965 ("ghc-free" ,ghc-free)
2966 ("ghc-monad-control" ,ghc-monad-control)
2967 ("ghc-manodrandom" ,ghc-monadrandom)
2968 ("ghc-mmorph" ,ghc-mmorph)
2969 ("ghc-profunctors" ,ghc-profunctors)
2970 ("ghc-semigroups" ,ghc-semigroups)
2971 ("ghc-semigroupoids" ,ghc-semigroupoids)
2972 ("ghc-transformers-base" ,ghc-transformers-base)))
2973 (native-inputs
2974 `(("ghc-quickcheck" ,ghc-quickcheck)
2975 ("ghc-test-framework" ,ghc-test-framework)
2976 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2977 (home-page "https://github.com/ekmett/either")
2978 (synopsis "Provides an either monad transformer for Haskell")
2979 (description "This Haskell package provides an either monad transformer.")
2980 (license license:bsd-3)))
2981
2982(define-public ghc-email-validate
2983 (package
2984 (name "ghc-email-validate")
2985 (version "2.3.2.6")
2986 (source
2987 (origin
2988 (method url-fetch)
2989 (uri (string-append
2990 "https://hackage.haskell.org/package/"
2991 "email-validate/email-validate-"
2992 version
2993 ".tar.gz"))
2994 (sha256
2995 (base32
2996 "0chgylvc8xmhp933rdbmpg5sv4y7yg2h6kbf0ip1dzmbd5p55pa5"))))
2997 (build-system haskell-build-system)
2998 (inputs
2999 `(("ghc-attoparsec" ,ghc-attoparsec)
3000 ("ghc-hspec" ,ghc-hspec)
3001 ("ghc-quickcheck" ,ghc-quickcheck)
3002 ("ghc-doctest" ,ghc-doctest)))
3003 (home-page
3004 "https://github.com/Porges/email-validate-hs")
3005 (synopsis "Email address validator for Haskell")
3006 (description
3007 "This Haskell package provides a validator that can validate an email
3008address string against RFC 5322.")
3009 (license license:bsd-3)))
3010
3011(define-public ghc-enclosed-exceptions
3012 (package
3013 (name "ghc-enclosed-exceptions")
3014 (version "1.0.3")
3015 (source (origin
3016 (method url-fetch)
3017 (uri (string-append "https://hackage.haskell.org/package/"
3018 "enclosed-exceptions/enclosed-exceptions-"
3019 version ".tar.gz"))
3020 (sha256
3021 (base32
3022 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3023 (build-system haskell-build-system)
3024 ;; FIXME: one of the tests blocks forever:
3025 ;; "thread blocked indefinitely in an MVar operation"
3026 (arguments '(#:tests? #f))
3027 (inputs
3028 `(("ghc-lifted-base" ,ghc-lifted-base)
3029 ("ghc-monad-control" ,ghc-monad-control)
3030 ("ghc-async" ,ghc-async)
3031 ("ghc-transformers-base" ,ghc-transformers-base)))
3032 (native-inputs
3033 `(("ghc-hspec" ,ghc-hspec)
3034 ("ghc-quickcheck" ,ghc-quickcheck)))
3035 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3036 (synopsis "Catch all exceptions from within an enclosed computation")
3037 (description
3038 "This library implements a technique to catch all exceptions raised
3039within an enclosed computation, while remaining responsive to (external)
3040asynchronous exceptions.")
3041 (license license:expat)))
3042
3043(define-public ghc-equivalence
3044 (package
3045 (name "ghc-equivalence")
3046 (version "0.3.2")
3047 (source
3048 (origin
3049 (method url-fetch)
3050 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3051 "/equivalence-" version ".tar.gz"))
3052 (sha256
3053 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
3054 (build-system haskell-build-system)
3055 (inputs
3056 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3057 ("ghc-transformers-compat" ,ghc-transformers-compat)
3058 ("ghc-quickcheck" ,ghc-quickcheck)
3059 ("ghc-test-framework" ,ghc-test-framework)
3060 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3061 (home-page "https://github.com/pa-ba/equivalence")
3062 (synopsis "Maintaining an equivalence relation implemented as union-find")
3063 (description
3064 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3065Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
306622(2), 1975) in order to maintain an equivalence relation. This
3067implementation is a port of the @code{union-find} package using the @code{ST}
3068monad transformer (instead of the IO monad).")
3069 (license license:bsd-3)))
3070
3071(define-public ghc-erf
3072 (package
3073 (name "ghc-erf")
3074 (version "2.0.0.0")
3075 (source
3076 (origin
3077 (method url-fetch)
3078 (uri (string-append "https://hackage.haskell.org/package/"
3079 "erf-" version "/"
3080 "erf-" version ".tar.gz"))
3081 (sha256
3082 (base32
3083 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3084 (build-system haskell-build-system)
3085 (home-page "https://hackage.haskell.org/package/erf")
3086 (synopsis "The error function, erf, and related functions for Haskell")
3087 (description "This Haskell library provides a type class for the
3088error function, erf, and related functions. Instances for Float and
3089Double.")
3090 (license license:bsd-3)))
3091
3092(define-public ghc-errorcall-eq-instance
3093 (package
3094 (name "ghc-errorcall-eq-instance")
3095 (version "0.3.0")
3096 (source
3097 (origin
3098 (method url-fetch)
3099 (uri (string-append "https://hackage.haskell.org/package/"
3100 "errorcall-eq-instance/errorcall-eq-instance-"
3101 version ".tar.gz"))
3102 (sha256
3103 (base32
3104 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3105 (build-system haskell-build-system)
3106 (inputs
3107 `(("ghc-base-orphans" ,ghc-base-orphans)))
3108 (native-inputs
3109 `(("ghc-quickcheck" ,ghc-quickcheck)
3110 ("ghc-hspec" ,ghc-hspec)
3111 ("hspec-discover" ,hspec-discover)))
3112 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3113 (synopsis "Orphan Eq instance for ErrorCall")
3114 (description
3115 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3116This package provides an orphan instance.")
3117 (license license:expat)))
3118
3119(define-public ghc-errors
3120 (package
3121 (name "ghc-errors")
3122 (version "2.3.0")
3123 (source
3124 (origin
3125 (method url-fetch)
3126 (uri (string-append "https://hackage.haskell.org/package/"
3127 "errors-" version "/"
3128 "errors-" version ".tar.gz"))
3129 (sha256
3130 (base32
3131 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3132 (build-system haskell-build-system)
3133 (inputs
3134 `(("ghc-exceptions" ,ghc-exceptions)
3135 ("ghc-transformers-compat" ,ghc-transformers-compat)
3136 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3137 ("ghc-safe" ,ghc-safe)))
3138 (home-page "https://github.com/gabriel439/haskell-errors-library")
3139 (synopsis "Error handling library for Haskell")
3140 (description "This library encourages an error-handling style that
3141directly uses the type system, rather than out-of-band exceptions.")
3142 (license license:bsd-3)))
3143
3144(define-public ghc-esqueleto
3145 (let ((version "2.5.3")
3146 (revision "1")
3147 (commit "b81e0d951e510ebffca03c5a58658ad884cc6fbd"))
3148 (package
3149 (name "ghc-esqueleto")
3150 (version (git-version version revision commit))
3151 (source
3152 (origin
3153 (method git-fetch)
3154 (uri (git-reference
3155 (url "https://github.com/bitemyapp/esqueleto")
3156 (commit commit)))
3157 (file-name (git-file-name name version))
3158 (sha256
3159 (base32
3160 "0lz1qxms7cfg5p3j37inlych0r2fwhm8xbarcys3df9m7jy9nixa"))))
3161 (build-system haskell-build-system)
3162 (arguments
3163 `(#:haddock? #f ; Haddock reports an internal error.
3164 #:phases
3165 (modify-phases %standard-phases
3166 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3167 ;; SQLite backends. Since we only have Haskell packages for
3168 ;; SQLite, we remove the other two test suites. FIXME: Add the
3169 ;; other backends and run all three test suites.
3170 (add-before 'configure 'remove-non-sqlite-test-suites
3171 (lambda _
3172 (use-modules (ice-9 rdelim))
3173 (with-atomic-file-replacement "esqueleto.cabal"
3174 (lambda (in out)
3175 (let loop ((line (read-line in 'concat)) (deleting? #f))
3176 (cond
3177 ((eof-object? line) #t)
3178 ((string-every char-set:whitespace line)
3179 (unless deleting? (display line out))
3180 (loop (read-line in 'concat) #f))
3181 ((member line '("test-suite mysql\n"
3182 "test-suite postgresql\n"))
3183 (loop (read-line in 'concat) #t))
3184 (else
3185 (unless deleting? (display line out))
3186 (loop (read-line in 'concat) deleting?)))))))))))
3187 (inputs
3188 `(("ghc-blaze-html" ,ghc-blaze-html)
3189 ("ghc-conduit" ,ghc-conduit)
3190 ("ghc-monad-logger" ,ghc-monad-logger)
3191 ("ghc-persistent" ,ghc-persistent)
3192 ("ghc-resourcet" ,ghc-resourcet)
3193 ("ghc-tagged" ,ghc-tagged)
3194 ("ghc-unliftio" ,ghc-unliftio)
3195 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3196 (native-inputs
3197 `(("ghc-hspec" ,ghc-hspec)
3198 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3199 ("ghc-persistent-template" ,ghc-persistent-template)))
3200 (home-page "https://github.com/bitemyapp/esqueleto")
3201 (synopsis "Type-safe embedded domain specific language for SQL queries")
3202 (description "This library provides a type-safe embedded domain specific
3203language (EDSL) for SQL queries that works with SQL backends as provided by
3204@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3205to learn new concepts, just new syntax, and it's fairly easy to predict the
3206generated SQL and optimize it for your backend.")
3207 (license license:bsd-3))))
3208
3209(define-public ghc-exactprint
3210 (package
3211 (name "ghc-exactprint")
3212 (version "0.5.6.1")
3213 (source
3214 (origin
3215 (method url-fetch)
3216 (uri (string-append
3217 "https://hackage.haskell.org/package/"
3218 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3219 (sha256
3220 (base32
3221 "141k6qiys0m0r4br7ikp4i546vs3xcil9cwglzcdfcbnb5nj1z87"))))
3222 (build-system haskell-build-system)
3223 (inputs
3224 `(("ghc-paths" ,ghc-paths)
3225 ("ghc-syb" ,ghc-syb)
3226 ("ghc-free" ,ghc-free)))
3227 (native-inputs
3228 `(("ghc-hunit" ,ghc-hunit)
3229 ("ghc-diff" ,ghc-diff)
3230 ("ghc-silently" ,ghc-silently)
3231 ("ghc-filemanip" ,ghc-filemanip)))
3232 (home-page
3233 "http://hackage.haskell.org/package/ghc-exactprint")
3234 (synopsis "ExactPrint for GHC")
3235 (description
3236 "Using the API Annotations available from GHC 7.10.2, this library
3237provides a means to round-trip any code that can be compiled by GHC, currently
3238excluding @file{.lhs} files.")
3239 (license license:bsd-3)))
3240
3241(define-public ghc-exceptions
3242 (package
3243 (name "ghc-exceptions")
46d3e65b 3244 (version "0.10.3")
dddbc90c
RV
3245 (source
3246 (origin
3247 (method url-fetch)
3248 (uri (string-append
3249 "https://hackage.haskell.org/package/exceptions/exceptions-"
3250 version
3251 ".tar.gz"))
3252 (sha256
3253 (base32
46d3e65b 3254 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3255 (build-system haskell-build-system)
3256 (native-inputs
3257 `(("ghc-quickcheck" ,ghc-quickcheck)
3258 ("ghc-test-framework" ,ghc-test-framework)
3259 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3260 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3261 (inputs
3262 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3263 (home-page "https://github.com/ekmett/exceptions/")
3264 (synopsis "Extensible optionally-pure exceptions")
3265 (description "This library provides extensible optionally-pure exceptions
3266for Haskell.")
3267 (license license:bsd-3)))
3268
3269(define-public ghc-executable-path
3270 (package
3271 (name "ghc-executable-path")
3272 (version "0.0.3.1")
3273 (source (origin
3274 (method url-fetch)
3275 (uri (string-append "https://hackage.haskell.org/package/"
3276 "executable-path/executable-path-"
3277 version ".tar.gz"))
3278 (sha256
3279 (base32
3280 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3281 (build-system haskell-build-system)
3282 (home-page "https://hackage.haskell.org/package/executable-path")
3283 (synopsis "Find out the full path of the executable")
3284 (description
3285 "The documentation of @code{System.Environment.getProgName} says that
3286\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3287instead, for maximum portability, we just return the leafname of the program
3288as invoked.\" This library tries to provide the missing path.")
3289 (license license:public-domain)))
3290
3291(define-public ghc-extensible-exceptions
3292 (package
3293 (name "ghc-extensible-exceptions")
3294 (version "0.1.1.4")
3295 (source
3296 (origin
3297 (method url-fetch)
3298 (uri (string-append "https://hackage.haskell.org/package/"
3299 "extensible-exceptions/extensible-exceptions-"
3300 version ".tar.gz"))
3301 (sha256
3302 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3303 (build-system haskell-build-system)
3304 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3305 (synopsis "Extensible exceptions for Haskell")
3306 (description
3307 "This package provides extensible exceptions for both new and old
3308versions of GHC (i.e., < 6.10).")
3309 (license license:bsd-3)))
3310
3311(define-public ghc-extra
3312 (package
3313 (name "ghc-extra")
10650c44 3314 (version "1.6.18")
dddbc90c
RV
3315 (source
3316 (origin
3317 (method url-fetch)
3318 (uri (string-append
3319 "https://hackage.haskell.org/package/extra/extra-"
3320 version
3321 ".tar.gz"))
3322 (sha256
3323 (base32
10650c44 3324 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
dddbc90c
RV
3325 (build-system haskell-build-system)
3326 (inputs
3327 `(("ghc-clock" ,ghc-clock)
10650c44 3328 ("ghc-semigroups" ,ghc-semigroups)
dddbc90c
RV
3329 ("ghc-quickcheck" ,ghc-quickcheck)))
3330 (home-page "https://github.com/ndmitchell/extra")
3331 (synopsis "Extra Haskell functions")
3332 (description "This library provides extra functions for the standard
3333Haskell libraries. Most functions are simple additions, filling out missing
3334functionality. A few functions are available in later versions of GHC, but
3335this package makes them available back to GHC 7.2.")
3336 (license license:bsd-3)))
3337
3338(define-public ghc-fail
3339 (package
3340 (name "ghc-fail")
3341 (version "4.9.0.0")
3342 (source
3343 (origin
3344 (method url-fetch)
3345 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3346 version ".tar.gz"))
3347 (sha256
3348 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3349 (build-system haskell-build-system)
3350 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3351 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3352 (synopsis "Forward-compatible MonadFail class")
3353 (description
3354 "This package contains the @code{Control.Monad.Fail} module providing the
3355@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3356class that became available in
3357@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3358older @code{base} package versions. This package turns into an empty package
3359when used with GHC versions which already provide the
3360@code{Control.Monad.Fail} module.")
3361 (license license:bsd-3)))
3362
3363(define-public ghc-fast-logger
3364 (package
3365 (name "ghc-fast-logger")
d443a52a 3366 (version "2.4.17")
dddbc90c
RV
3367 (source
3368 (origin
3369 (method url-fetch)
3370 (uri (string-append
3371 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3372 version
3373 ".tar.gz"))
3374 (sha256
3375 (base32
d443a52a 3376 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
3377 (build-system haskell-build-system)
3378 (inputs
3379 `(("ghc-auto-update" ,ghc-auto-update)
3380 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
3381 ("ghc-unix-time" ,ghc-unix-time)
3382 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
3383 (native-inputs
3384 `(("hspec-discover" ,hspec-discover)
3385 ("ghc-hspec" ,ghc-hspec)))
3386 (home-page "https://hackage.haskell.org/package/fast-logger")
3387 (synopsis "Fast logging system")
3388 (description "This library provides a fast logging system for Haskell.")
3389 (license license:bsd-3)))
3390
3391(define-public ghc-feed
3392 (package
3393 (name "ghc-feed")
3394 (version "1.0.0.0")
3395 (source
3396 (origin
3397 (method url-fetch)
3398 (uri (string-append "https://hackage.haskell.org/package/"
3399 "feed/feed-" version ".tar.gz"))
3400 (sha256
3401 (base32
3402 "05rgg7x1984mgfhkmz792xj8lhwjgznixhygzr8blf517lns2nck"))))
3403 (build-system haskell-build-system)
3404 (arguments
3405 `(#:cabal-revision
3406 ("4" "0baavcavm3ywykcr9cm07aqr7sna98jba2n68lyn3kany8ri214d")))
3407 (inputs
3408 `(("ghc-base-compat" ,ghc-base-compat)
3409 ("ghc-old-locale" ,ghc-old-locale)
3410 ("ghc-old-time" ,ghc-old-time)
3411 ("ghc-safe" ,ghc-safe)
3412 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3413 ("ghc-utf8-string" ,ghc-utf8-string)
3414 ("ghc-xml-conduit" ,ghc-xml-conduit)
3415 ("ghc-xml-types" ,ghc-xml-types)))
3416 (native-inputs
3417 `(("ghc-hunit" ,ghc-hunit)
3418 ("ghc-test-framework" ,ghc-test-framework)
3419 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3420 (home-page "https://github.com/bergmark/feed")
3421 (synopsis "Haskell package for handling various syndication formats")
3422 (description "This Haskell package includes tools for generating and
3423consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3424 (license license:bsd-3)))
3425
3426(define-public ghc-fgl
3427 (package
3428 (name "ghc-fgl")
17482b26 3429 (version "5.7.0.1")
dddbc90c
RV
3430 (outputs '("out" "doc"))
3431 (source
3432 (origin
3433 (method url-fetch)
3434 (uri (string-append
3435 "https://hackage.haskell.org/package/fgl/fgl-"
3436 version
3437 ".tar.gz"))
3438 (sha256
3439 (base32
17482b26 3440 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
3441 (build-system haskell-build-system)
3442 (arguments
3443 `(#:phases
3444 (modify-phases %standard-phases
3445 (add-before 'configure 'update-constraints
3446 (lambda _
3447 (substitute* "fgl.cabal"
17482b26
TS
3448 (("QuickCheck >= 2\\.8 && < 2\\.13")
3449 "QuickCheck >= 2.8 && < 2.14")
3450 (("hspec >= 2\\.1 && < 2\\.7")
3451 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3452 (inputs
3453 `(("ghc-hspec" ,ghc-hspec)
3454 ("ghc-quickcheck" ,ghc-quickcheck)))
3455 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3456 (synopsis
3457 "Martin Erwig's Functional Graph Library")
3458 (description "The functional graph library, FGL, is a collection of type
3459and function definitions to address graph problems. The basis of the library
3460is an inductive definition of graphs in the style of algebraic data types that
3461encourages inductive, recursive definitions of graph algorithms.")
3462 (license license:bsd-3)))
3463
3464(define-public ghc-fgl-arbitrary
3465 (package
3466 (name "ghc-fgl-arbitrary")
3467 (version "0.2.0.3")
3468 (source
3469 (origin
3470 (method url-fetch)
3471 (uri (string-append
3472 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3473 version ".tar.gz"))
3474 (sha256
3475 (base32
3476 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3477 (build-system haskell-build-system)
3478 (arguments
3479 `(#:phases
3480 (modify-phases %standard-phases
3481 (add-before 'configure 'update-constraints
3482 (lambda _
3483 (substitute* "fgl-arbitrary.cabal"
3484 (("QuickCheck >= 2\\.3 && < 2\\.10")
3485 "QuickCheck >= 2.3 && < 2.12")
3486 (("hspec >= 2\\.1 && < 2\\.5")
3487 "hspec >= 2.1 && < 2.6")))))))
3488 (inputs
3489 `(("ghc-fgl" ,ghc-fgl)
3490 ("ghc-quickcheck" ,ghc-quickcheck)
3491 ("ghc-hspec" ,ghc-hspec)))
3492 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3493 (synopsis "QuickCheck support for fgl")
3494 (description
3495 "Provides Arbitrary instances for fgl graphs to avoid adding a
3496QuickCheck dependency for fgl whilst still making the instances
3497available to others. Also available are non-fgl-specific functions
3498for generating graph-like data structures.")
3499 (license license:bsd-3)))
3500
3501(define-public ghc-file-embed
3502 (package
3503 (name "ghc-file-embed")
b5920d50 3504 (version "0.0.11")
dddbc90c
RV
3505 (source
3506 (origin
3507 (method url-fetch)
3508 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3509 "file-embed-" version ".tar.gz"))
3510 (sha256
3511 (base32
b5920d50 3512 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
3513 (build-system haskell-build-system)
3514 (home-page "https://github.com/snoyberg/file-embed")
3515 (synopsis "Use Template Haskell to embed file contents directly")
3516 (description
3517 "This package allows you to use Template Haskell to read a file or all
3518the files in a directory, and turn them into @code{(path, bytestring)} pairs
3519embedded in your Haskell code.")
3520 (license license:bsd-3)))
3521
3522(define-public ghc-filemanip
3523 (package
3524 (name "ghc-filemanip")
3525 (version "0.3.6.3")
3526 (source (origin
3527 (method url-fetch)
3528 (uri (string-append "https://hackage.haskell.org/package/"
3529 "filemanip/filemanip-" version ".tar.gz"))
3530 (sha256
3531 (base32
3532 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3533 (build-system haskell-build-system)
3534 (inputs
3535 `(("ghc-unix-compat" ,ghc-unix-compat)))
3536 (home-page "https://github.com/bos/filemanip")
3537 (synopsis "File and directory manipulation for Haskell")
3538 (description
3539 "This package provides a Haskell library for working with files and
3540directories. It includes code for pattern matching, finding files, modifying
3541file contents, and more.")
3542 (license license:bsd-3)))
3543
3544(define-public ghc-findbin
3545 (package
3546 (name "ghc-findbin")
3547 (version "0.0.5")
3548 (source
3549 (origin
3550 (method url-fetch)
3551 (uri (string-append
3552 "https://hackage.haskell.org/package/FindBin/FindBin-"
3553 version ".tar.gz"))
3554 (sha256
3555 (base32
3556 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3557 (build-system haskell-build-system)
3558 (home-page "https://github.com/audreyt/findbin")
3559 (synopsis "Get the absolute path of the running program")
3560 (description
3561 "This module locates the full directory of the running program, to allow
3562the use of paths relative to it. FindBin supports invocation of Haskell
3563programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3564an executable.")
3565 (license license:bsd-3)))
3566
3567(define-public ghc-fingertree
3568 (package
3569 (name "ghc-fingertree")
aac14fdc 3570 (version "0.1.4.2")
dddbc90c
RV
3571 (source
3572 (origin
3573 (method url-fetch)
3574 (uri (string-append
3575 "https://hackage.haskell.org/package/fingertree/fingertree-"
3576 version ".tar.gz"))
3577 (sha256
3578 (base32
aac14fdc 3579 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
3580 (build-system haskell-build-system)
3581 (native-inputs
3582 `(("ghc-hunit" ,ghc-hunit)
3583 ("ghc-quickcheck" ,ghc-quickcheck)
3584 ("ghc-test-framework" ,ghc-test-framework)
3585 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3586 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3587 (home-page "https://hackage.haskell.org/package/fingertree")
3588 (synopsis "Generic finger-tree structure")
3589 (description "This library provides finger trees, a general sequence
3590representation with arbitrary annotations, for use as a base for
3591implementations of various collection types. It includes examples, as
3592described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3593simple general-purpose data structure\".")
3594 (license license:bsd-3)))
3595
3596(define-public ghc-fixed
3597 (package
3598 (name "ghc-fixed")
099dda5b 3599 (version "0.3")
dddbc90c
RV
3600 (source
3601 (origin
3602 (method url-fetch)
3603 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
3604 version ".tar.gz"))
3605 (sha256
3606 (base32
099dda5b 3607 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
3608 (build-system haskell-build-system)
3609 (home-page "https://github.com/ekmett/fixed")
3610 (synopsis "Signed 15.16 precision fixed point arithmetic")
3611 (description
3612 "This package provides functions for signed 15.16 precision fixed point
3613arithmetic.")
3614 (license license:bsd-3)))
3615
f169f713
JS
3616(define-public ghc-fmlist
3617 (package
3618 (name "ghc-fmlist")
fe9b83a6 3619 (version "0.9.3")
f169f713
JS
3620 (source
3621 (origin
3622 (method url-fetch)
3623 (uri
3624 (string-append
3625 "https://hackage.haskell.org/package/fmlist/fmlist-"
3626 version ".tar.gz"))
3627 (sha256
3628 (base32
fe9b83a6 3629 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
3630 (build-system haskell-build-system)
3631 (home-page "https://github.com/sjoerdvisscher/fmlist")
3632 (synopsis "FoldMap lists")
3633 (description "FoldMap lists are lists represented by their
3634@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
3635append, just like DLists, but other operations might have favorable
3636performance characteristics as well. These wild claims are still
3637completely unverified though.")
3638 (license license:bsd-3)))
3639
dddbc90c
RV
3640(define-public ghc-foldl
3641 (package
3642 (name "ghc-foldl")
3643 (version "1.4.3")
3644 (source
3645 (origin
3646 (method url-fetch)
3647 (uri (string-append "https://hackage.haskell.org/package/"
3648 "foldl-" version "/"
3649 "foldl-" version ".tar.gz"))
3650 (sha256
3651 (base32
3652 "13n0ca3hw5jzqf6rxsdbhbwkn61a9zlm13f0f205s60j3sc72jzk"))))
3653 (build-system haskell-build-system)
3654 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3655 ("ghc-primitive" ,ghc-primitive)
3656 ("ghc-vector" ,ghc-vector)
3657 ("ghc-unordered-containers" ,ghc-unordered-containers)
3658 ("ghc-hashable" ,ghc-hashable)
3659 ("ghc-contravariant" ,ghc-contravariant)
3660 ("ghc-semigroups" ,ghc-semigroups)
3661 ("ghc-profunctors" ,ghc-profunctors)
3662 ("ghc-semigroupoids" ,ghc-semigroupoids)
3663 ("ghc-comonad" ,ghc-comonad)
3664 ("ghc-vector-builder" ,ghc-vector-builder)))
3665 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
3666 (synopsis "Composable, streaming, and efficient left folds for Haskell")
3667 (description "This Haskell library provides strict left folds that stream
3668in constant memory, and you can combine folds using @code{Applicative} style
3669to derive new folds. Derived folds still traverse the container just once
3670and are often as efficient as hand-written folds.")
3671 (license license:bsd-3)))
3672
3673(define-public ghc-foundation
3674 (package
3675 (name "ghc-foundation")
0a702df9 3676 (version "0.0.25")
dddbc90c
RV
3677 (source
3678 (origin
3679 (method url-fetch)
3680 (uri (string-append "https://hackage.haskell.org/package/"
3681 "foundation/foundation-" version ".tar.gz"))
3682 (sha256
3683 (base32
0a702df9 3684 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c
RV
3685 (build-system haskell-build-system)
3686 (inputs `(("ghc-basement" ,ghc-basement)))
3687 (home-page "https://github.com/haskell-foundation/foundation")
3688 (synopsis "Alternative prelude with batteries and no dependencies")
3689 (description
3690 "This package provides a custom prelude with no dependencies apart from
3691the base package.
3692
3693Foundation has the following goals:
3694
3695@enumerate
3696@item provide a base like sets of modules that provide a consistent set of
3697 features and bugfixes across multiple versions of GHC (unlike base).
3698@item provide a better and more efficient prelude than base's prelude.
3699@item be self-sufficient: no external dependencies apart from base;
3700@item provide better data-types: packed unicode string by default, arrays;
3701@item Numerical classes that better represent mathematical things (no more
3702 all-in-one @code{Num});
3703@item I/O system with less lazy IO.
3704@end enumerate\n")
3705 (license license:bsd-3)))
3706
3707(define-public ghc-free
3708 (package
3709 (name "ghc-free")
3710 (version "5.0.2")
3711 (source
3712 (origin
3713 (method url-fetch)
3714 (uri (string-append
3715 "https://hackage.haskell.org/package/free/free-"
3716 version
3717 ".tar.gz"))
3718 (sha256
3719 (base32
3720 "15m3n9vhz7z3kzv1w3wlfa3x8jp4cbrkwmrcjr7jlx39iqffn1gg"))))
3721 (build-system haskell-build-system)
3722 (inputs
3723 `(("ghc-prelude-extras" ,ghc-prelude-extras)
3724 ("ghc-profunctors" ,ghc-profunctors)
3725 ("ghc-exceptions" ,ghc-exceptions)
3726 ("ghc-bifunctors" ,ghc-bifunctors)
3727 ("ghc-comonad" ,ghc-comonad)
3728 ("ghc-distributive" ,ghc-distributive)
3729 ("ghc-semigroupoids" ,ghc-semigroupoids)
3730 ("ghc-semigroups" ,ghc-semigroups)
3731 ("ghc-transformers-base" ,ghc-transformers-base)
3732 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3733 (home-page "https://github.com/ekmett/free/")
3734 (synopsis "Unrestricted monads for Haskell")
3735 (description "This library provides free monads, which are useful for many
3736tree-like structures and domain specific languages. If @code{f} is a
3737@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
3738whose nodes are labeled with the constructors of @code{f}. The word \"free\"
3739is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
3740f} makes no constraining assumptions beyond those given by @code{f} and the
3741definition of @code{Monad}.")
3742 (license license:bsd-3)))
3743
3744(define-public ghc-fsnotify
3745 (package
3746 (name "ghc-fsnotify")
3747 (version "0.3.0.1")
3748 (source (origin
3749 (method url-fetch)
3750 (uri (string-append
3751 "https://hackage.haskell.org/package/fsnotify/"
3752 "fsnotify-" version ".tar.gz"))
3753 (sha256
3754 (base32
3755 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
3756 (build-system haskell-build-system)
3757 (inputs
3758 `(("ghc-async" ,ghc-async)
3759 ("ghc-unix-compat" ,ghc-unix-compat)
3760 ("ghc-hinotify" ,ghc-hinotify)
3761 ("ghc-tasty" ,ghc-tasty)
3762 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3763 ("ghc-random" ,ghc-random)
3764 ("ghc-shelly" ,ghc-shelly)
3765 ("ghc-temporary" ,ghc-temporary)))
3766 (home-page "https://github.com/haskell-fswatch/hfsnotify")
3767 (synopsis "Cross platform library for file change notification.")
3768 (description "Cross platform library for file creation, modification, and
3769deletion notification. This library builds upon existing libraries for platform
3770specific Windows, Mac, and Linux file system event notification.")
3771 (license license:bsd-3)))
3772
3773(define-public ghc-generic-deriving
3774 (package
3775 (name "ghc-generic-deriving")
55c1e6be 3776 (version "1.12.4")
dddbc90c
RV
3777 (source
3778 (origin
3779 (method url-fetch)
3780 (uri (string-append
3781 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
3782 version
3783 ".tar.gz"))
3784 (sha256
3785 (base32
55c1e6be 3786 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
3787 (build-system haskell-build-system)
3788 (inputs
3789 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
3790 (native-inputs
3791 `(("ghc-hspec" ,ghc-hspec)
3792 ("hspec-discover" ,hspec-discover)))
3793 (home-page "https://hackage.haskell.org/package/generic-deriving")
3794 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3795 (description "This package provides functionality for generalising the
3796deriving mechanism in Haskell to arbitrary classes.")
3797 (license license:bsd-3)))
3798
3799(define-public ghc-generics-sop
3800 (package
3801 (name "ghc-generics-sop")
3ed40e10 3802 (version "0.4.0.1")
dddbc90c
RV
3803 (source
3804 (origin
3805 (method url-fetch)
3806 (uri (string-append "https://hackage.haskell.org/package/"
3807 "generics-sop-" version "/"
3808 "generics-sop-" version ".tar.gz"))
3809 (sha256
3810 (base32
3ed40e10 3811 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 3812 (build-system haskell-build-system)
3ed40e10
TS
3813 (inputs
3814 `(("ghc-sop-core" ,ghc-sop-core)
3815 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
3816 (home-page "https://github.com/well-typed/generics-sop")
3817 (synopsis "Generic Programming using True Sums of Products for Haskell")
3818 (description "This Haskell package supports the definition of generic
3819functions. Datatypes are viewed in a uniform, structured way: the choice
3820between constructors is represented using an n-ary sum, and the arguments of
3821each constructor are represented using an n-ary product.")
3822 (license license:bsd-3)))
3823
3824(define-public ghc-geniplate-mirror
3825 (package
3826 (name "ghc-geniplate-mirror")
3827 (version "0.7.6")
3828 (source
3829 (origin
3830 (method url-fetch)
3831 (uri (string-append "https://hackage.haskell.org/package"
3832 "/geniplate-mirror"
3833 "/geniplate-mirror-" version ".tar.gz"))
3834 (sha256
3835 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
3836 (build-system haskell-build-system)
3837 (home-page "https://github.com/danr/geniplate")
3838 (synopsis "Use Template Haskell to generate Uniplate-like functions")
3839 (description
3840 "Use Template Haskell to generate Uniplate-like functions. This is a
3841maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
3842geniplate} package, written by Lennart Augustsson.")
3843 (license license:bsd-3)))
3844
3845(define-public ghc-genvalidity
3846 (package
3847 (name "ghc-genvalidity")
920f44a1 3848 (version "0.8.0.0")
dddbc90c
RV
3849 (source
3850 (origin
3851 (method url-fetch)
3852 (uri (string-append
3853 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
3854 version
3855 ".tar.gz"))
3856 (sha256
3857 (base32
920f44a1 3858 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
3859 (build-system haskell-build-system)
3860 (inputs
3861 `(("ghc-quickcheck" ,ghc-quickcheck)
3862 ("ghc-validity" ,ghc-validity)))
3863 (native-inputs
3864 `(("ghc-hspec" ,ghc-hspec)
3865 ("hspec-discover" ,hspec-discover)
3866 ("ghc-hspec-core" ,ghc-hspec-core)))
3867 (home-page
3868 "https://github.com/NorfairKing/validity")
3869 (synopsis
3870 "Testing utilities for the @code{validity} library")
3871 (description
3872 "This package provides testing utilities that are useful in conjunction
3873with the @code{Validity} typeclass.")
3874 (license license:expat)))
3875
3876(define-public ghc-genvalidity-property
3877 (package
3878 (name "ghc-genvalidity-property")
e4ede35b 3879 (version "0.4.0.0")
dddbc90c
RV
3880 (source
3881 (origin
3882 (method url-fetch)
3883 (uri (string-append
3884 "https://hackage.haskell.org/package/"
3885 "genvalidity-property/genvalidity-property-"
3886 version
3887 ".tar.gz"))
3888 (sha256
3889 (base32
e4ede35b 3890 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
3891 (build-system haskell-build-system)
3892 (inputs
3893 `(("ghc-quickcheck" ,ghc-quickcheck)
3894 ("ghc-genvalidity" ,ghc-genvalidity)
3895 ("ghc-hspec" ,ghc-hspec)
3896 ("hspec-discover" ,hspec-discover)
3897 ("ghc-validity" ,ghc-validity)))
3898 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
3899 (home-page
3900 "https://github.com/NorfairKing/validity")
3901 (synopsis
3902 "Standard properties for functions on @code{Validity} types")
3903 (description
3904 "This package supplements the @code{Validity} typeclass with standard
3905properties for functions operating on them.")
3906 (license license:expat)))
3907
3908(define-public ghc-gitrev
3909 (package
3910 (name "ghc-gitrev")
3911 (version "1.3.1")
3912 (source
3913 (origin
3914 (method url-fetch)
3915 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
3916 version ".tar.gz"))
3917 (sha256
3918 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
3919 (build-system haskell-build-system)
3920 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
3921 (home-page "https://github.com/acfoltzer/gitrev")
3922 (synopsis "Compile git revision info into Haskell projects")
3923 (description
3924 "This package provides some handy Template Haskell splices for including
3925the current git hash and branch in the code of your project. This is useful
3926for including in panic messages, @command{--version} output, or diagnostic
3927info for more informative bug reports.")
3928 (license license:bsd-3)))
3929
3930(define-public ghc-glob
3931 (package
3932 (name "ghc-glob")
b900f486 3933 (version "0.10.0")
dddbc90c
RV
3934 (source
3935 (origin
3936 (method url-fetch)
3937 (uri (string-append "https://hackage.haskell.org/package/"
3938 "Glob-" version "/"
3939 "Glob-" version ".tar.gz"))
3940 (sha256
3941 (base32
b900f486 3942 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
3943 (build-system haskell-build-system)
3944 (inputs
3945 `(("ghc-dlist" ,ghc-dlist)
3946 ("ghc-semigroups" ,ghc-semigroups)
3947 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3948 (native-inputs
3949 `(("ghc-hunit" ,ghc-hunit)
3950 ("ghc-quickcheck" ,ghc-quickcheck)
3951 ("ghc-test-framework" ,ghc-test-framework)
3952 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3953 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3954 (home-page "http://iki.fi/matti.niemenmaa/glob/")
3955 (synopsis "Haskell library matching glob patterns against file paths")
3956 (description "This package provides a Haskell library for @dfn{globbing}:
3957matching patterns against file paths.")
3958 (license license:bsd-3)))
3959
3960(define-public ghc-gluraw
3961 (package
3962 (name "ghc-gluraw")
3963 (version "2.0.0.4")
3964 (source
3965 (origin
3966 (method url-fetch)
3967 (uri (string-append
3968 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
3969 version
3970 ".tar.gz"))
3971 (sha256
3972 (base32
3973 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
3974 (build-system haskell-build-system)
3975 (inputs
3976 `(("ghc-openglraw" ,ghc-openglraw)))
3977 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3978 (synopsis "Raw Haskell bindings GLU")
3979 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
3980utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
3981basis for a nicer interface.")
3982 (license license:bsd-3)))
3983
3984(define-public ghc-glut
3985 (package
3986 (name "ghc-glut")
3987 (version "2.7.0.14")
3988 (source
3989 (origin
3990 (method url-fetch)
3991 (uri (string-append
3992 "https://hackage.haskell.org/package/GLUT/GLUT-"
3993 version
3994 ".tar.gz"))
3995 (sha256
3996 (base32
3997 "01i162fly4q1751fp60lgkzlb8kr0qqbvmxj74zc6skb19qggy2w"))))
3998 (build-system haskell-build-system)
3999 (inputs
4000 `(("ghc-statevar" ,ghc-statevar)
4001 ("ghc-opengl" ,ghc-opengl)
4002 ("ghc-openglraw" ,ghc-openglraw)
4003 ("freeglut" ,freeglut)))
4004 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4005 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4006 (description "This library provides Haskell bindings for the OpenGL
4007Utility Toolkit, a window system-independent toolkit for writing OpenGL
4008programs.")
4009 (license license:bsd-3)))
4010
4011(define-public ghc-gnuplot
4012 (package
4013 (name "ghc-gnuplot")
d34860c7 4014 (version "0.5.6")
dddbc90c
RV
4015 (source
4016 (origin
4017 (method url-fetch)
4018 (uri (string-append
4019 "mirror://hackage/package/gnuplot/gnuplot-"
4020 version ".tar.gz"))
4021 (sha256
d34860c7 4022 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4023 (build-system haskell-build-system)
4024 (inputs
4025 `(("ghc-temporary" ,ghc-temporary)
4026 ("ghc-utility-ht" ,ghc-utility-ht)
4027 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4028 ("ghc-data-accessor" ,ghc-data-accessor)
4029 ("ghc-semigroups" ,ghc-semigroups)
4030 ("gnuplot" ,gnuplot)))
4031 (arguments
4032 `(#:phases
4033 (modify-phases %standard-phases
4034 (add-before 'configure 'fix-path-to-gnuplot
4035 (lambda* (#:key inputs #:allow-other-keys)
4036 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4037 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4038 (("(gnuplotName = ).*$" all cmd)
4039 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4040 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4041 (synopsis "2D and 3D plots using gnuplot")
4042 (description "This package provides a Haskell module for creating 2D and
40433D plots using gnuplot.")
4044 (license license:bsd-3)))
4045
4046(define-public ghc-graphviz
4047 (package
4048 (name "ghc-graphviz")
4049 (version "2999.20.0.2")
4050 (source (origin
4051 (method url-fetch)
4052 (uri (string-append "https://hackage.haskell.org/package/"
4053 "graphviz/graphviz-" version ".tar.gz"))
4054 (sha256
4055 (base32
4056 "0kj7ap0gnliviq2p8lscw1m06capnsa90vpvcys24nqy5nw2wrp7"))))
4057 (build-system haskell-build-system)
4058 (inputs
4059 `(("ghc-quickcheck" ,ghc-quickcheck)
4060 ("ghc-colour" ,ghc-colour)
4061 ("ghc-dlist" ,ghc-dlist)
4062 ("ghc-fgl" ,ghc-fgl)
4063 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4064 ("ghc-polyparse" ,ghc-polyparse)
4065 ("ghc-temporary" ,ghc-temporary)
4066 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4067 (native-inputs
4068 `(("ghc-hspec" ,ghc-hspec)
4069 ("graphviz" ,graphviz)
4070 ("hspec-discover" ,hspec-discover)))
4071 (home-page "https://hackage.haskell.org/package/graphviz")
4072 (synopsis "Bindings to Graphviz for graph visualisation")
4073 (description
4074 "This library provides bindings for the Dot language used by
4075the @uref{https://graphviz.org/, Graphviz} suite of programs for
4076visualising graphs, as well as functions to call those programs.
4077Main features of the graphviz library include:
4078
4079@enumerate
4080@item Almost complete coverage of all Graphviz attributes and syntax
4081@item Support for specifying clusters
4082@item The ability to use a custom node type
4083@item Functions for running a Graphviz layout tool with all specified output types
4084@item Generate and parse Dot code with two options: strict and liberal
4085@item Functions to convert FGL graphs and other graph-like data structures
4086@item Round-trip support for passing an FGL graph through Graphviz to augment node
4087and edge labels with positional information, etc.
4088@end enumerate\n")
4089 (license license:bsd-3)))
4090
4091(define-public ghc-gtk2hs-buildtools
4092 (package
4093 (name "ghc-gtk2hs-buildtools")
4094 (version "0.13.4.0")
4095 (source
4096 (origin
4097 (method url-fetch)
4098 (uri (string-append "https://hackage.haskell.org/package/"
4099 "gtk2hs-buildtools/gtk2hs-buildtools-"
4100 version ".tar.gz"))
4101 (sha256
4102 (base32
4103 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
4104 (build-system haskell-build-system)
4105 (inputs
4106 `(("ghc-random" ,ghc-random)
4107 ("ghc-hashtables" ,ghc-hashtables)))
4108 (native-inputs
4109 `(("ghc-alex" ,ghc-alex)
4110 ("ghc-happy" ,ghc-happy)))
4111 (home-page "http://projects.haskell.org/gtk2hs/")
4112 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4113 (description
4114 "This package provides a set of helper programs necessary to build the
4115Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4116that is used to generate FFI declarations, a tool to build a type hierarchy
4117that mirrors the C type hierarchy of GObjects found in glib, and a generator
4118for signal declarations that are used to call back from C to Haskell. These
4119tools are not needed to actually run Gtk2Hs programs.")
4120 (license license:gpl2)))
4121
4122(define-public ghc-hackage-security
4123 (package
4124 (name "ghc-hackage-security")
4125 (version "0.5.3.0")
4126 (source
4127 (origin
4128 (method url-fetch)
4129 (uri (string-append "https://hackage.haskell.org/package/"
4130 "hackage-security/hackage-security-"
4131 version ".tar.gz"))
4132 (sha256
4133 (base32
4134 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4135 (build-system haskell-build-system)
4136 (arguments
4137 `(#:tests? #f)) ; Tests fail because of framework updates.
4138 (inputs
4139 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4140 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4141 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4142 ("ghc-ed25519" ,ghc-ed25519)
4143 ("ghc-network" ,ghc-network)
4144 ("ghc-network-uri" ,ghc-network-uri)
4145 ("ghc-tar" ,ghc-tar)
4146 ("ghc-zlib" ,ghc-zlib)))
4147 (native-inputs
4148 `(("ghc-network-uri" ,ghc-network-uri)
4149 ("ghc-quickcheck" ,ghc-quickcheck)
4150 ("ghc-tar" ,ghc-tar)
4151 ("ghc-tasty" ,ghc-tasty)
4152 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4153 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4154 ("ghc-temporary" ,ghc-temporary)
4155 ("ghc-zlib" ,ghc-zlib)))
4156 (home-page "https://github.com/haskell/hackage-security")
4157 (synopsis "Hackage security library")
4158 (description "This Hackage security library provides both server and
4159client utilities for securing @uref{http://hackage.haskell.org/, the
4160Hackage package server}. It is based on
4161@uref{http://theupdateframework.com/, The Update Framework}, a set of
4162recommendations developed by security researchers at various universities
4163in the US as well as developers on the @uref{https://www.torproject.org/,
4164Tor project}.")
4165 (license license:bsd-3)))
4166
4167(define-public ghc-haddock
4168 (package
4169 (name "ghc-haddock")
4170 (version "2.19.0.1")
4171 (source
4172 (origin
4173 (method url-fetch)
4174 (uri (string-append
4175 "https://hackage.haskell.org/package/haddock/haddock-"
4176 version
4177 ".tar.gz"))
4178 (sha256
4179 (base32
4180 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4181 (build-system haskell-build-system)
4182 (arguments
4183 `(#:phases
4184 (modify-phases %standard-phases
4185 ;; There are four test suites that require the ghc-haddock-test
4186 ;; package, which no longer builds with GHC 8.4.3. This phase
4187 ;; removes these four test suites from the Cabal file, so that we
4188 ;; do not need ghc-haddock-test as an input.
4189 (add-before 'configure 'remove-haddock-test-test-suites
4190 (lambda _
4191 (use-modules (ice-9 rdelim))
4192 (with-atomic-file-replacement "haddock.cabal"
4193 (lambda (in out)
4194 (let loop ((line (read-line in 'concat)) (deleting? #f))
4195 (cond
4196 ((eof-object? line) #t)
4197 ((string-every char-set:whitespace line)
4198 (unless deleting? (display line out))
4199 (loop (read-line in 'concat) #f))
4200 ((member line '("test-suite html-test\n"
4201 "test-suite hypsrc-test\n"
4202 "test-suite latex-test\n"
4203 "test-suite hoogle-test\n"))
4204 (loop (read-line in 'concat) #t))
4205 (else
4206 (unless deleting? (display line out))
4207 (loop (read-line in 'concat) deleting?)))))))))))
4208 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4209 (native-inputs
4210 `(("ghc-hspec" ,ghc-hspec)))
4211 (home-page "https://www.haskell.org/haddock/")
4212 (synopsis
4213 "Documentation-generation tool for Haskell libraries")
4214 (description
4215 "Haddock is a documentation-generation tool for Haskell libraries.")
4216 (license license:bsd-3)))
4217
4218(define-public ghc-haddock-api
4219 (package
4220 (name "ghc-haddock-api")
4221 (version "2.19.0.1")
4222 (source
4223 (origin
4224 (method url-fetch)
4225 (uri (string-append
4226 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4227 version
4228 ".tar.gz"))
4229 (sha256
4230 (base32
4231 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4232 (build-system haskell-build-system)
4233 (arguments
4234 `(#:phases
4235 (modify-phases %standard-phases
4236 (add-before 'configure 'update-constraints
4237 (lambda _
4238 (substitute* "haddock-api.cabal"
4239 (("Cabal \\^>= 2\\.0\\.0")
4240 "Cabal ^>= 2.2.0")
4241 (("hspec \\^>= 2\\.4\\.4")
4242 "hspec >= 2.4.4 && < 2.6")))))))
4243 (inputs
4244 `(("ghc-paths" ,ghc-paths)
4245 ("ghc-haddock-library" ,ghc-haddock-library)))
4246 (native-inputs
4247 `(("ghc-quickcheck" ,ghc-quickcheck)
4248 ("ghc-hspec" ,ghc-hspec)
4249 ("hspec-discover" ,hspec-discover)))
4250 (home-page "https://www.haskell.org/haddock/")
4251 (synopsis "API for documentation-generation tool Haddock")
4252 (description "This package provides an API to Haddock, the
4253documentation-generation tool for Haskell libraries.")
4254 (license license:bsd-3)))
4255
4256(define-public ghc-haddock-library
4257 (package
4258 (name "ghc-haddock-library")
4259 (version "1.5.0.1")
4260 (source
4261 (origin
4262 (method url-fetch)
4263 (uri (string-append
4264 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4265 version
4266 ".tar.gz"))
4267 (sha256
4268 (base32
4269 "1cmbg8l5xrwpliclwy3l057raypjqy0hsg1h1743ahaj8gq10b7z"))
4270 (patches (search-patches
4271 "ghc-haddock-library-unbundle.patch"))
4272 (modules '((guix build utils)))
4273 (snippet '(begin
4274 (delete-file-recursively "vendor")
4275 #t))))
4276 (build-system haskell-build-system)
4277 (arguments
4278 `(#:phases
4279 (modify-phases %standard-phases
4280 (add-before 'configure 'relax-test-suite-dependencies
4281 (lambda _
4282 (substitute* "haddock-library.cabal"
4283 (("base-compat\\s*\\^>= 0\\.9\\.3") "base-compat")
4284 (("hspec\\s*\\^>= 2\\.4\\.4") "hspec"))))
4285 ;; The release tarball does not contain the "fixtures/examples"
4286 ;; directory, which is required for testing. In the upstream
4287 ;; repository, the directory exists and is populated. Here, we
4288 ;; create an empty directory to placate the tests.
4289 (add-before 'check 'add-examples-directory
4290 (lambda _
4291 (mkdir "fixtures/examples")
4292 #t)))))
4293 (native-inputs
4294 `(("ghc-base-compat" ,ghc-base-compat)
4295 ("ghc-hspec" ,ghc-hspec)
4296 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4297 ("ghc-quickcheck" ,ghc-quickcheck)
4298 ("ghc-tree-diff" ,ghc-tree-diff)
4299 ("hspec-discover" ,hspec-discover)))
4300 (home-page "https://www.haskell.org/haddock/")
4301 (synopsis "Library exposing some functionality of Haddock")
4302 (description
4303 "Haddock is a documentation-generation tool for Haskell libraries. These
4304modules expose some functionality of it without pulling in the GHC dependency.
4305Please note that the API is likely to change so specify upper bounds in your
4306project if you can't release often. For interacting with Haddock itself, see
4307the ‘haddock’ package.")
4308 (license license:bsd-3)))
4309
4310(define-public ghc-half
4311 (package
4312 (name "ghc-half")
4313 (version "0.3")
4314 (source
4315 (origin
4316 (method url-fetch)
4317 (uri (string-append
4318 "https://hackage.haskell.org/package/half/half-"
4319 version ".tar.gz"))
4320 (sha256
4321 (base32
4322 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4323 (build-system haskell-build-system)
4324 (native-inputs
4325 `(("ghc-hspec" ,ghc-hspec)
4326 ("ghc-quickcheck" ,ghc-quickcheck)))
4327 (home-page "https://github.com/ekmett/half")
4328 (synopsis "Half-precision floating-point computations")
4329 (description "This library provides a half-precision floating-point
4330computation library for Haskell.")
4331 (license license:bsd-3)))
4332
4333(define-public ghc-happy
4334 (package
4335 (name "ghc-happy")
90e7b0e4 4336 (version "1.19.12")
dddbc90c
RV
4337 (source
4338 (origin
4339 (method url-fetch)
4340 (uri (string-append
4341 "https://hackage.haskell.org/package/happy/happy-"
4342 version
4343 ".tar.gz"))
4344 (sha256
4345 (base32
90e7b0e4 4346 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4347 (build-system haskell-build-system)
4348 (arguments
4349 `(#:phases
4350 (modify-phases %standard-phases
4351 (add-after 'unpack 'skip-test-issue93
4352 (lambda _
4353 ;; Tests run out of memory on a system with 2GB of available RAM,
4354 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4355 (substitute* "tests/Makefile"
4356 ((" issue93.y ") " "))
4357 #t)))))
4358 (home-page "https://hackage.haskell.org/package/happy")
4359 (synopsis "Parser generator for Haskell")
4360 (description "Happy is a parser generator for Haskell. Given a grammar
4361specification in BNF, Happy generates Haskell code to parse the grammar.
4362Happy works in a similar way to the yacc tool for C.")
4363 (license license:bsd-3)))
4364
4365(define-public ghc-hashable
4366 (package
4367 (name "ghc-hashable")
4368 (version "1.2.7.0")
4369 (outputs '("out" "doc"))
4370 (source
4371 (origin
4372 (method url-fetch)
4373 (uri (string-append
4374 "https://hackage.haskell.org/package/hashable/hashable-"
4375 version
4376 ".tar.gz"))
4377 (sha256
4378 (base32
4379 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4380 (build-system haskell-build-system)
65a16a45
TS
4381 (arguments
4382 `(#:cabal-revision
4383 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
4384 (inputs
4385 `(("ghc-random" ,ghc-random)))
4386 (native-inputs
4387 `(("ghc-test-framework" ,ghc-test-framework)
4388 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4389 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4390 ("ghc-hunit" ,ghc-hunit)
4391 ("ghc-quickcheck" ,ghc-quickcheck)))
4392 (home-page "https://github.com/tibbe/hashable")
4393 (synopsis "Class for types that can be converted to a hash value")
4394 (description
4395 "This package defines a class, @code{Hashable}, for types that can be
4396converted to a hash value. This class exists for the benefit of hashing-based
4397data structures. The package provides instances for basic types and a way to
4398combine hash values.")
4399 (license license:bsd-3)))
4400
4401(define-public ghc-hashable-bootstrap
4402 (package
4403 (inherit ghc-hashable)
4404 (name "ghc-hashable-bootstrap")
65a16a45
TS
4405 (arguments
4406 `(#:tests? #f
4407 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
4408 (native-inputs '())
4409 (properties '((hidden? #t)))))
4410
4411(define-public ghc-hashable-time
4412 (package
4413 (name "ghc-hashable-time")
f5051e31 4414 (version "0.2.0.2")
dddbc90c
RV
4415 (source
4416 (origin
4417 (method url-fetch)
4418 (uri (string-append
4419 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4420 version
4421 ".tar.gz"))
4422 (sha256
4423 (base32
f5051e31 4424 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
4425 (build-system haskell-build-system)
4426 (arguments
4427 `(#:cabal-revision
f5051e31 4428 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c
RV
4429 (inputs `(("ghc-hashable" ,ghc-hashable)))
4430 (home-page "http://hackage.haskell.org/package/hashable-time")
4431 (synopsis "Hashable instances for Data.Time")
4432 (description
4433 "This package provides @code{Hashable} instances for types in
4434@code{Data.Time}.")
4435 (license license:bsd-3)))
4436
4437(define-public ghc-hashtables
4438 (package
4439 (name "ghc-hashtables")
19edf0d0 4440 (version "1.2.3.4")
dddbc90c
RV
4441 (source
4442 (origin
4443 (method url-fetch)
4444 (uri (string-append
4445 "https://hackage.haskell.org/package/hashtables/hashtables-"
4446 version ".tar.gz"))
4447 (sha256
19edf0d0 4448 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
4449 (build-system haskell-build-system)
4450 (inputs
4451 `(("ghc-hashable" ,ghc-hashable)
4452 ("ghc-primitive" ,ghc-primitive)
4453 ("ghc-vector" ,ghc-vector)))
4454 (home-page "https://github.com/gregorycollins/hashtables")
4455 (synopsis "Haskell Mutable hash tables in the ST monad")
4456 (description "This package provides a Haskell library including a
4457couple of different implementations of mutable hash tables in the ST
4458monad, as well as a typeclass abstracting their common operations, and
4459a set of wrappers to use the hash tables in the IO monad.")
4460 (license license:bsd-3)))
4461
4462(define-public ghc-haskell-lexer
4463 (package
4464 (name "ghc-haskell-lexer")
4465 (version "1.0.2")
4466 (source
4467 (origin
4468 (method url-fetch)
4469 (uri (string-append
4470 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4471 version ".tar.gz"))
4472 (sha256
4473 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4474 (build-system haskell-build-system)
4475 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4476 (synopsis "Fully compliant Haskell 98 lexer")
4477 (description
4478 "This package provides a fully compliant Haskell 98 lexer.")
4479 (license license:bsd-3)))
4480
4481(define-public ghc-haskell-src
4482 (package
4483 (name "ghc-haskell-src")
4484 (version "1.0.3.0")
4485 (source
4486 (origin
4487 (method url-fetch)
4488 (uri (string-append
4489 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4490 version
4491 ".tar.gz"))
4492 (sha256
4493 (base32
4494 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4495 (build-system haskell-build-system)
4496 (inputs
4497 `(("ghc-happy" ,ghc-happy)
4498 ("ghc-syb" ,ghc-syb)))
4499 (home-page
4500 "https://hackage.haskell.org/package/haskell-src")
4501 (synopsis
4502 "Support for manipulating Haskell source code")
4503 (description
4504 "The @code{haskell-src} package provides support for manipulating Haskell
4505source code. The package provides a lexer, parser and pretty-printer, and a
4506definition of a Haskell abstract syntax tree (AST). Common uses of this
4507package are to parse or generate Haskell 98 code.")
4508 (license license:bsd-3)))
4509
4510(define-public ghc-haskell-src-exts
4511 (package
4512 (name "ghc-haskell-src-exts")
4513 (version "1.20.2")
4514 (source
4515 (origin
4516 (method url-fetch)
4517 (uri (string-append
4518 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4519 version
4520 ".tar.gz"))
4521 (sha256
4522 (base32
4523 "1sm3z4v1p5yffg01ldgavz71s3bvfhjfa13k428rk14bpkl8crlz"))))
4524 (build-system haskell-build-system)
4525 (inputs
4526 `(("cpphs" ,cpphs)
4527 ("ghc-happy" ,ghc-happy)
4528 ("ghc-pretty-show" ,ghc-pretty-show)))
4529 (native-inputs
4530 `(("ghc-smallcheck" ,ghc-smallcheck)
4531 ("ghc-tasty" ,ghc-tasty)
4532 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4533 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4534 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4535 (synopsis "Library for manipulating Haskell source")
4536 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4537extension of the standard @code{haskell-src} package, and handles most
4538registered syntactic extensions to Haskell. All extensions implemented in GHC
4539are supported. Apart from these standard extensions, it also handles regular
4540patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4541 (license license:bsd-3)))
4542
4543(define-public ghc-haskell-src-exts-util
4544 (package
4545 (name "ghc-haskell-src-exts-util")
4546 (version "0.2.3")
4547 (source
4548 (origin
4549 (method url-fetch)
4550 (uri (string-append "https://hackage.haskell.org/package/"
4551 "haskell-src-exts-util/haskell-src-exts-util-"
4552 version ".tar.gz"))
4553 (sha256
4554 (base32
4555 "1803718paq89f8pdck4mb88hv2k1ah9lxzq0lgjgwi9n88ryycz8"))))
4556 (build-system haskell-build-system)
4557 (inputs
4558 `(("ghc-data-default" ,ghc-data-default)
4559 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4560 ("ghc-semigroups" ,ghc-semigroups)
4561 ("ghc-uniplate" ,ghc-uniplate)))
4562 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4563 (synopsis "Helper functions for working with haskell-src-exts trees")
4564 (description
4565 "This package provides helper functions for working with
4566@code{haskell-src-exts} trees.")
4567 (license license:bsd-3)))
4568
4569(define-public ghc-haskell-src-meta
4570 (package
4571 (name "ghc-haskell-src-meta")
4572 (version "0.8.0.3")
4573 (source (origin
4574 (method url-fetch)
4575 (uri (string-append "https://hackage.haskell.org/package/"
4576 "haskell-src-meta/haskell-src-meta-"
4577 version ".tar.gz"))
4578 (sha256
4579 (base32
4580 "08jq156zv4m0fjq6712n99c1jwxnpa6kj6sq8ch0r1l0a1ay6ww4"))))
4581 (build-system haskell-build-system)
4582 (inputs
4583 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4584 ("ghc-syb" ,ghc-syb)
4585 ("ghc-th-orphans" ,ghc-th-orphans)))
4586 (native-inputs
4587 `(("ghc-hunit" ,ghc-hunit)
4588 ("ghc-test-framework" ,ghc-test-framework)
4589 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4590 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4591 (synopsis "Parse source to template-haskell abstract syntax")
4592 (description
4593 "This package provides tools to parse Haskell sources to the
4594template-haskell abstract syntax.")
4595 (license license:bsd-3)))
4596
4597(define-public ghc-hasktags
4598 (package
4599 (name "ghc-hasktags")
4600 (version "0.71.2")
4601 (source
4602 (origin
4603 (method url-fetch)
4604 (uri (string-append
4605 "https://hackage.haskell.org/package/hasktags/hasktags-"
4606 version
4607 ".tar.gz"))
4608 (sha256
4609 (base32
4610 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4611 (build-system haskell-build-system)
4612 (inputs
4613 `(("ghc-system-filepath" ,ghc-system-filepath)
4614 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4615 (native-inputs
4616 `(("ghc-json" ,ghc-json)
4617 ("ghc-utf8-string" ,ghc-utf8-string)
4618 ("ghc-microlens-platform" ,ghc-microlens-platform)
4619 ("ghc-hunit" ,ghc-hunit)))
4620 (home-page "http://github.com/MarcWeber/hasktags")
4621 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4622 (description
4623 "This package provides a means of generating tag files for Emacs and
4624Vim.")
4625 (license license:bsd-3)))
4626
4627(define-public ghc-hex
4628 (package
4629 (name "ghc-hex")
4630 (version "0.1.2")
4631 (source
4632 (origin
4633 (method url-fetch)
4634 (uri (string-append "https://hackage.haskell.org/package/"
4635 "hex-" version "/"
4636 "hex-" version ".tar.gz"))
4637 (sha256
4638 (base32
4639 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4640 (build-system haskell-build-system)
4641 (home-page "https://hackage.haskell.org/package/hex")
4642 (synopsis "Convert strings into hexadecimal and back")
4643 (description "This package provides conversion functions between
4644bytestrings and their hexademical representation.")
4645 (license license:bsd-3)))
4646
4647(define-public ghc-highlighting-kate
4648 (package
4649 (name "ghc-highlighting-kate")
4650 (version "0.6.4")
4651 (source (origin
4652 (method url-fetch)
4653 (uri (string-append "https://hackage.haskell.org/package/"
4654 "highlighting-kate/highlighting-kate-"
4655 version ".tar.gz"))
4656 (sha256
4657 (base32
4658 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4659 (build-system haskell-build-system)
4660 (inputs
4661 `(("ghc-diff" ,ghc-diff)
4662 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4663 (native-inputs
4664 `(("ghc-blaze-html" ,ghc-blaze-html)
4665 ("ghc-utf8-string" ,ghc-utf8-string)))
4666 (home-page "https://github.com/jgm/highlighting-kate")
4667 (synopsis "Syntax highlighting library")
4668 (description
4669 "Highlighting-kate is a syntax highlighting library with support for
4670nearly one hundred languages. The syntax parsers are automatically generated
4671from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4672supported by Kate can be added. An (optional) command-line program is
4673provided, along with a utility for generating new parsers from Kate XML syntax
4674descriptions.")
4675 (license license:gpl2+)))
4676
4677(define-public ghc-hindent
4678 (package
4679 (name "ghc-hindent")
4680 (version "5.3.0")
4681 (source
4682 (origin
4683 (method url-fetch)
4684 (uri (string-append
4685 "https://hackage.haskell.org/package/hindent/hindent-"
4686 version
4687 ".tar.gz"))
4688 (sha256
4689 (base32
4690 "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg"))))
4691 (build-system haskell-build-system)
4692 (arguments
4693 `(#:modules ((guix build haskell-build-system)
4694 (guix build utils)
4695 (guix build emacs-utils))
4696 #:imported-modules (,@%haskell-build-system-modules
4697 (guix build emacs-utils))
4698 #:phases
4699 (modify-phases %standard-phases
4700 (add-after 'install 'emacs-install
4701 (lambda* (#:key inputs outputs #:allow-other-keys)
4702 (let* ((out (assoc-ref outputs "out"))
4703 (elisp-file "elisp/hindent.el")
4704 (dest (string-append out "/share/emacs/site-lisp"
4705 "/guix.d/hindent-" ,version))
4706 (emacs (string-append (assoc-ref inputs "emacs")
4707 "/bin/emacs")))
4708 (make-file-writable elisp-file)
4709 (emacs-substitute-variables elisp-file
4710 ("hindent-process-path"
4711 (string-append out "/bin/hindent")))
4712 (install-file elisp-file dest)
4713 (emacs-generate-autoloads "hindent" dest)))))))
4714 (inputs
4715 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4716 ("ghc-monad-loops" ,ghc-monad-loops)
4717 ("ghc-utf8-string" ,ghc-utf8-string)
4718 ("ghc-exceptions" ,ghc-exceptions)
4719 ("ghc-yaml" ,ghc-yaml)
4720 ("ghc-unix-compat" ,ghc-unix-compat)
4721 ("ghc-path" ,ghc-path)
4722 ("ghc-path-io" ,ghc-path-io)
4723 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4724 (native-inputs
4725 `(("ghc-hspec" ,ghc-hspec)
4726 ("ghc-diff" ,ghc-diff)
4727 ("emacs" ,emacs-minimal)))
4728 (home-page
4729 "https://github.com/commercialhaskell/hindent")
4730 (synopsis "Extensible Haskell pretty printer")
4731 (description
4732 "This package provides automatic formatting for Haskell files. Both a
4733library and an executable.")
4734 (license license:bsd-3)))
4735
4736(define-public ghc-hinotify
4737 (package
4738 (name "ghc-hinotify")
c2342abb 4739 (version "0.4")
dddbc90c
RV
4740 (source (origin
4741 (method url-fetch)
4742 (uri (string-append
4743 "https://hackage.haskell.org/package/hinotify/"
4744 "hinotify-" version ".tar.gz"))
4745 (sha256
4746 (base32
c2342abb 4747 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
4748 (build-system haskell-build-system)
4749 (inputs
4750 `(("ghc-async" ,ghc-async)))
4751 (home-page "https://github.com/kolmodin/hinotify.git")
4752 (synopsis "Haskell binding to inotify")
4753 (description "This library provides a wrapper to the Linux kernel's inotify
4754feature, allowing applications to subscribe to notifications when a file is
4755accessed or modified.")
4756 (license license:bsd-3)))
4757
4758(define-public ghc-hmatrix
4759 (package
4760 (name "ghc-hmatrix")
65e29ed1 4761 (version "0.20.0.0")
dddbc90c
RV
4762 (source
4763 (origin
4764 (method url-fetch)
4765 (uri (string-append
4766 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
4767 version ".tar.gz"))
4768 (sha256
65e29ed1 4769 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
4770 (build-system haskell-build-system)
4771 (inputs
4772 `(("ghc-random" ,ghc-random)
4773 ("ghc-split" ,ghc-split)
4774 ("ghc-storable-complex" ,ghc-storable-complex)
4775 ("ghc-semigroups" ,ghc-semigroups)
4776 ("ghc-vector" ,ghc-vector)
4777 ;;("openblas" ,openblas)
4778 ("lapack" ,lapack)))
4779 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
4780 ;; disables inclusion of the LAPACK functions.
4781 ;; (arguments `(#:configure-flags '("--flags=openblas")))
4782 (home-page "https://github.com/albertoruiz/hmatrix")
4783 (synopsis "Haskell numeric linear algebra library")
4784 (description "The HMatrix package provices a Haskell library for
4785dealing with linear systems, matrix decompositions, and other
4786numerical computations based on BLAS and LAPACK.")
4787 (license license:bsd-3)))
4788
4789(define-public ghc-hmatrix-gsl
4790 (package
4791 (name "ghc-hmatrix-gsl")
4792 (version "0.19.0.1")
4793 (source
4794 (origin
4795 (method url-fetch)
4796 (uri (string-append
4797 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
4798 version ".tar.gz"))
4799 (sha256
4800 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
4801 (build-system haskell-build-system)
4802 (inputs
4803 `(("ghc-hmatrix" ,ghc-hmatrix)
4804 ("ghc-vector" ,ghc-vector)
4805 ("ghc-random" ,ghc-random)
4806 ("gsl" ,gsl)))
4807 (native-inputs `(("pkg-config" ,pkg-config)))
4808 (home-page "https://github.com/albertoruiz/hmatrix")
4809 (synopsis "Haskell GSL binding")
4810 (description "This Haskell library provides a purely functional
4811interface to selected numerical computations, internally implemented
4812using GSL.")
4813 (license license:gpl3+)))
4814
4815(define-public ghc-hmatrix-gsl-stats
4816 (package
4817 (name "ghc-hmatrix-gsl-stats")
e9b359f5 4818 (version "0.4.1.8")
dddbc90c
RV
4819 (source
4820 (origin
4821 (method url-fetch)
4822 (uri
4823 (string-append
4824 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4825 version ".tar.gz"))
4826 (sha256
e9b359f5 4827 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
4828 (build-system haskell-build-system)
4829 (inputs
4830 `(("ghc-vector" ,ghc-vector)
4831 ("ghc-storable-complex" ,ghc-storable-complex)
4832 ("ghc-hmatrix" ,ghc-hmatrix)
4833 ("gsl" ,gsl)))
4834 (native-inputs `(("pkg-config" ,pkg-config)))
4835 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
4836 (synopsis "GSL Statistics interface for Haskell")
4837 (description "This Haskell library provides a purely functional
4838interface for statistics based on hmatrix and GSL.")
4839 (license license:bsd-3)))
4840
4841(define-public ghc-hmatrix-special
4842 (package
4843 (name "ghc-hmatrix-special")
4844 (version "0.19.0.0")
4845 (source
4846 (origin
4847 (method url-fetch)
4848 (uri
4849 (string-append
4850 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
4851 version ".tar.gz"))
4852 (sha256
4853 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
4854 (build-system haskell-build-system)
4855 (inputs
4856 `(("ghc-hmatrix" ,ghc-hmatrix)
4857 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
4858 (home-page "https://github.com/albertoruiz/hmatrix")
4859 (synopsis "Haskell interface to GSL special functions")
4860 (description "This library provides an interface to GSL special
4861functions for Haskell.")
4862 (license license:gpl3+)))
4863
4864(define-public ghc-hostname
4865 (package
4866 (name "ghc-hostname")
4867 (version "1.0")
4868 (source
4869 (origin
4870 (method url-fetch)
4871 (uri (string-append "https://hackage.haskell.org/package/hostname/"
4872 "hostname-" version ".tar.gz"))
4873 (sha256
4874 (base32
4875 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
4876 (build-system haskell-build-system)
4877 (home-page "https://hackage.haskell.org/package/hostname")
4878 (synopsis "Hostname in Haskell")
4879 (description "Network.HostName is a simple package providing a means to
4880determine the hostname.")
4881 (license license:bsd-3)))
4882
4883(define-public ghc-hourglass
4884 (package
4885 (name "ghc-hourglass")
4886 (version "0.2.12")
4887 (source (origin
4888 (method url-fetch)
4889 (uri (string-append "https://hackage.haskell.org/package/"
4890 "hourglass/hourglass-" version ".tar.gz"))
4891 (sha256
4892 (base32
4893 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
4894 (build-system haskell-build-system)
4895 (inputs
4896 `(("ghc-old-locale" ,ghc-old-locale)))
4897 (native-inputs
4898 `(("ghc-tasty" ,ghc-tasty)
4899 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4900 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4901 (home-page "https://github.com/vincenthz/hs-hourglass")
4902 (synopsis "Simple time-related library for Haskell")
4903 (description
4904 "This is a simple time library providing a simple but powerful and
4905performant API. The backbone of the library are the @code{Timeable} and
4906@code{Time} type classes. Each @code{Timeable} instances can be converted to
4907a type that has a @code{Time} instances, and thus are different
4908representations of current time.")
4909 (license license:bsd-3)))
4910
4911(define-public ghc-hpack
4912 (package
4913 (name "ghc-hpack")
4914 (version "0.28.2")
4915 (source
4916 (origin
4917 (method url-fetch)
4918 (uri (string-append "https://hackage.haskell.org/package/hpack/"
4919 "hpack-" version ".tar.gz"))
4920 (sha256
4921 (base32
4922 "18w0h76jdp3mk9vin8da9iz3cwhcxmw787xy8wlh8bxcpcr16q5r"))))
4923 (build-system haskell-build-system)
4924 (inputs
4925 `(("ghc-aeson" ,ghc-aeson)
4926 ("ghc-bifunctors" ,ghc-bifunctors)
4927 ("ghc-cryptonite" ,ghc-cryptonite)
4928 ("ghc-glob" ,ghc-glob)
4929 ("ghc-http-client" ,ghc-http-client)
4930 ("ghc-http-client-tls" ,ghc-http-client-tls)
4931 ("ghc-http-types" ,ghc-http-types)
4932 ("ghc-scientific" ,ghc-scientific)
4933 ("ghc-unordered-containers" ,ghc-unordered-containers)
4934 ("ghc-vector" ,ghc-vector)
4935 ("ghc-yaml" ,ghc-yaml)))
4936 (native-inputs
4937 `(("ghc-hspec" ,ghc-hspec)
4938 ("ghc-hunit" ,ghc-hunit)
4939 ("ghc-interpolate" ,ghc-interpolate)
4940 ("ghc-mockery" ,ghc-mockery)
4941 ("ghc-quickcheck" ,ghc-quickcheck)
4942 ("ghc-temporary" ,ghc-temporary)
4943 ("hspec-discover" ,hspec-discover)))
4944 (home-page "https://github.com/sol/hpack")
4945 (synopsis "Tools for an alternative Haskell package format")
4946 (description
4947 "Hpack is a format for Haskell packages. It is an alternative to the
4948Cabal package format and follows different design principles. Hpack packages
4949are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
4950@code{stack} support @code{package.yaml} natively. For other build tools the
4951@code{hpack} executable can be used to generate a @code{.cabal} file from
4952@code{package.yaml}.")
4953 (license license:expat)))
4954
4955(define-public ghc-hs-bibutils
4956 (package
4957 (name "ghc-hs-bibutils")
ebcb4f23 4958 (version "6.7.0.0")
dddbc90c
RV
4959 (source
4960 (origin
4961 (method url-fetch)
4962 (uri (string-append
4963 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
4964 version ".tar.gz"))
4965 (sha256
4966 (base32
ebcb4f23 4967 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
4968 (build-system haskell-build-system)
4969 (inputs `(("ghc-syb" ,ghc-syb)))
4970 (home-page "https://hackage.haskell.org/package/hs-bibutils")
4971 (synopsis "Haskell bindings to bibutils")
4972 (description
4973 "This package provides Haskell bindings to @code{bibutils}, a library
4974that interconverts between various bibliography formats using a common
4975MODS-format XML intermediate.")
4976 (license license:gpl2+)))
4977
4978(define-public ghc-hslogger
4979 (package
4980 (name "ghc-hslogger")
4981 (version "1.2.10")
4982 (source
4983 (origin
4984 (method url-fetch)
4985 (uri (string-append "https://hackage.haskell.org/package/"
4986 "hslogger-" version "/" "hslogger-"
4987 version ".tar.gz"))
4988 (sha256 (base32
4989 "0as5gvlh6pi2gflakp695qnlizyyp059dqrhvjl4gjxalja6xjnp"))))
4990 (build-system haskell-build-system)
4991 (inputs
4992 `(("ghc-network" ,ghc-network)
4993 ("ghc-old-locale" ,ghc-old-locale)))
4994 (native-inputs
4995 `(("ghc-hunit" ,ghc-hunit)))
4996 (home-page "https://software.complete.org/hslogger")
4997 (synopsis "Logging framework for Haskell, similar to Python's logging module")
4998 (description "Hslogger lets each log message have a priority and source be
4999associated with it. The programmer can then define global handlers that route
5000or filter messages based on the priority and source. It also has a syslog
5001handler built in.")
5002 (license license:bsd-3)))
5003
5004(define-public ghc-hslua
5005 (package
5006 (name "ghc-hslua")
5007 (version "0.9.5.2")
5008 (source (origin
5009 (method url-fetch)
5010 (uri (string-append "https://hackage.haskell.org/package/"
5011 "hslua/hslua-" version ".tar.gz"))
5012 (sha256
5013 (base32
5014 "1rdvv01p214zfjh6fcqjjgqwi8y42wad6cqzhlcv5gvclzw2ck8f"))))
5015 (build-system haskell-build-system)
5016 (arguments
5017 `(#:configure-flags '("-fsystem-lua")))
5018 (inputs
5019 `(("lua" ,lua)
5020 ("ghc-exceptions" ,ghc-exceptions)
5021 ("ghc-fail" ,ghc-fail)))
5022 (native-inputs
5023 `(("ghc-tasty" ,ghc-tasty)
5024 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5025 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5026 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5027 ("ghc-quickcheck" ,ghc-quickcheck)
5028 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5029 (home-page "https://hackage.haskell.org/package/hslua")
5030 (synopsis "Lua language interpreter embedding in Haskell")
5031 (description
5032 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5033described in @url{https://www.lua.org/}.")
5034 (license license:expat)))
5035
5036(define-public ghc-hslua-module-text
5037 (package
5038 (name "ghc-hslua-module-text")
5039 (version "0.1.2.1")
5040 (source
5041 (origin
5042 (method url-fetch)
5043 (uri (string-append "https://hackage.haskell.org/package/"
5044 "hslua-module-text/hslua-module-text-"
5045 version ".tar.gz"))
5046 (sha256
5047 (base32
5048 "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf"))))
5049 (build-system haskell-build-system)
5050 (arguments
5051 `(#:cabal-revision
5052 ("1" "0vajlsd7y6pwa08635q0cx8z5c1c55bk7fvavw7g2vmyvxqjzx6n")))
5053 (inputs
5054 `(("ghc-hslua" ,ghc-hslua)))
5055 (native-inputs
5056 `(("ghc-tasty" ,ghc-tasty)
5057 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5058 (home-page "https://github.com/hslua/hslua-module-text")
5059 (synopsis "Lua module for text")
5060 (description
5061 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5062for Haskell. The functions provided by this module are @code{upper},
5063@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5064 (license license:expat)))
5065
5066(define-public ghc-http-api-data
5067 (package
5068 (name "ghc-http-api-data")
5069 (version "0.3.8.1")
5070 (source
5071 (origin
5072 (method url-fetch)
5073 (uri (string-append "https://hackage.haskell.org/package/"
5074 "http-api-data-" version "/"
5075 "http-api-data-" version ".tar.gz"))
5076 (sha256
5077 (base32
5078 "1cq6459b8wz6nvkvpi89dg189n5q2xdq4rdq435hf150555vmskf"))))
5079 (build-system haskell-build-system)
5080 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9
5081 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5082 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
5083 ("ghc-hashable" ,ghc-hashable)
5084 ("ghc-http-types" ,ghc-http-types)
5085 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
5086 ("ghc-unordered-containers" ,ghc-unordered-containers)
5087 ("ghc-uri-bytestring" ,ghc-uri-bytestring)
5088 ("ghc-uuid-types" ,ghc-uuid-types)))
5089 (home-page "https://github.com/fizruk/http-api-data")
5090 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5091query parameters")
5092 (description "This Haskell package defines typeclasses used for converting
5093Haskell data types to and from HTTP API data.")
5094 (license license:bsd-3)))
5095
5096(define-public ghc-ieee754
5097 (package
5098 (name "ghc-ieee754")
5099 (version "0.8.0")
5100 (source (origin
5101 (method url-fetch)
5102 (uri (string-append
5103 "https://hackage.haskell.org/package/ieee754/"
5104 "ieee754-" version ".tar.gz"))
5105 (sha256
5106 (base32
5107 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5108 (build-system haskell-build-system)
5109 (home-page "https://github.com/patperry/hs-ieee754")
5110 (synopsis "Utilities for dealing with IEEE floating point numbers")
5111 (description "Utilities for dealing with IEEE floating point numbers,
5112ported from the Tango math library; approximate and exact equality comparisons
5113for general types.")
5114 (license license:bsd-3)))
5115
5116(define-public ghc-ifelse
5117 (package
5118 (name "ghc-ifelse")
5119 (version "0.85")
5120 (source
5121 (origin
5122 (method url-fetch)
5123 (uri (string-append "https://hackage.haskell.org/package/"
5124 "IfElse/IfElse-" version ".tar.gz"))
5125 (sha256
5126 (base32
5127 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5128 (build-system haskell-build-system)
5129 (home-page "http://hackage.haskell.org/package/IfElse")
5130 (synopsis "Monadic control flow with anaphoric variants")
5131 (description "This library provides functions for control flow inside of
5132monads with anaphoric variants on @code{if} and @code{when} and a C-like
5133@code{switch} function.")
5134 (license license:bsd-3)))
5135
5136(define-public ghc-indents
5137 (package
5138 (name "ghc-indents")
d66473fb 5139 (version "0.5.0.1")
dddbc90c
RV
5140 (source (origin
5141 (method url-fetch)
5142 (uri (string-append
5143 "https://hackage.haskell.org/package/indents/indents-"
5144 version ".tar.gz"))
5145 (sha256
5146 (base32
d66473fb 5147 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5148 (build-system haskell-build-system)
5149 ;; This package needs an older version of tasty.
5150 (arguments '(#:tests? #f))
5151 (inputs
5152 `(("ghc-concatenative" ,ghc-concatenative)))
5153 (native-inputs
5154 `(("ghc-tasty" ,ghc-tasty)
5155 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5156 (home-page "http://patch-tag.com/r/salazar/indents")
5157 (synopsis "Indentation sensitive parser-combinators for parsec")
5158 (description
5159 "This library provides functions for use in parsing indentation sensitive
5160contexts. It parses blocks of lines all indented to the same level as well as
5161lines continued at an indented level below.")
5162 (license license:bsd-3)))
5163
5164(define-public ghc-inline-c
5165 (package
5166 (name "ghc-inline-c")
5167 (version "0.6.1.0")
5168 (source
5169 (origin
5170 (method url-fetch)
5171 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5172 "inline-c-" version ".tar.gz"))
5173 (sha256
5174 (base32
5175 "0vbfrsqsi7mdziqsnj68bsqlwbqxxhvrmy9rv6w8z18d1m8w3n6h"))))
5176 (build-system haskell-build-system)
5177 (inputs
5178 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5179 ("ghc-cryptohash" ,ghc-cryptohash)
5180 ("ghc-hashable" ,ghc-hashable)
5181 ("ghc-parsers" ,ghc-parsers)
5182 ("ghc-unordered-containers" ,ghc-unordered-containers)
5183 ("ghc-vector" ,ghc-vector)))
5184 (native-inputs
5185 `(("ghc-quickcheck" ,ghc-quickcheck)
5186 ("ghc-hspec" ,ghc-hspec)
5187 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5188 ("ghc-regex-posix" ,ghc-regex-posix)))
5189 (home-page "http://hackage.haskell.org/package/inline-c")
5190 (synopsis "Write Haskell source files including C code inline")
5191 (description
5192 "inline-c lets you seamlessly call C libraries and embed high-performance
5193inline C code in Haskell modules. Haskell and C can be freely intermixed in
5194the same source file, and data passed to and from code in either language with
5195minimal overhead. No FFI required.")
5196 (license license:expat)))
5197
5198(define-public ghc-inline-c-cpp
5199 (package
5200 (name "ghc-inline-c-cpp")
5201 (version "0.2.2.1")
5202 (source
5203 (origin
5204 (method url-fetch)
5205 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5206 "inline-c-cpp-" version ".tar.gz"))
5207 (sha256
5208 (base32
5209 "1rk7fmpkmxw9hhwr8df29kadnf0ybnwj64ggdbnsdrpfyhnkisci"))))
5210 (build-system haskell-build-system)
5211 (inputs
5212 `(("ghc-inline-c" ,ghc-inline-c)
5213 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5214 (native-inputs
5215 `(("ghc-hspec" ,ghc-hspec)))
5216 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5217 (synopsis "Lets you embed C++ code into Haskell")
5218 (description
5219 "This package provides utilities to inline C++ code into Haskell using
5220@code{inline-c}.")
5221 (license license:expat)))
5222
5223(define-public ghc-integer-logarithms
5224 (package
5225 (name "ghc-integer-logarithms")
86a704db 5226 (version "1.0.3")
dddbc90c
RV
5227 (source
5228 (origin
5229 (method url-fetch)
5230 (uri (string-append "https://hackage.haskell.org/package/"
5231 "integer-logarithms/integer-logarithms-"
5232 version ".tar.gz"))
5233 (sha256
5234 (base32
86a704db 5235 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5236 (build-system haskell-build-system)
5237 (arguments
5238 `(#:phases
5239 (modify-phases %standard-phases
5240 (add-before 'configure 'update-constraints
5241 (lambda _
5242 (substitute* "integer-logarithms.cabal"
5243 (("tasty >= 0\\.10 && < 1\\.1")
5244 "tasty >= 0.10 && < 1.2")))))))
5245 (native-inputs
5246 `(("ghc-quickcheck" ,ghc-quickcheck)
5247 ("ghc-smallcheck" ,ghc-smallcheck)
5248 ("ghc-tasty" ,ghc-tasty)
5249 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5250 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5251 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5252 (home-page "https://github.com/Bodigrim/integer-logarithms")
5253 (synopsis "Integer logarithms")
5254 (description
5255 "This package provides the following modules:
5256@code{Math.NumberTheory.Logarithms} and
5257@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5258@code{GHC.Integer.Logarithms.Compat} and
5259@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5260in migrated modules.")
5261 (license license:expat)))
5262
5263(define-public ghc-integer-logarithms-bootstrap
5264 (package
5265 (inherit ghc-integer-logarithms)
5266 (name "ghc-integer-logarithms-bootstrap")
5267 (arguments `(#:tests? #f))
5268 (native-inputs '())
799d8d3c 5269 (properties '((hidden? #t)))))
dddbc90c
RV
5270
5271(define-public ghc-interpolate
5272 (package
5273 (name "ghc-interpolate")
5274 (version "0.2.0")
5275 (source
5276 (origin
5277 (method url-fetch)
5278 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5279 "interpolate-" version ".tar.gz"))
5280 (sha256
5281 (base32
5282 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5283 (build-system haskell-build-system)
5284 (inputs
5285 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5286 (native-inputs
5287 `(("ghc-base-compat" ,ghc-base-compat)
5288 ("ghc-hspec" ,ghc-hspec)
5289 ("ghc-quickcheck" ,ghc-quickcheck)
5290 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5291 ("hspec-discover" ,hspec-discover)))
5292 (home-page "https://github.com/sol/interpolate")
5293 (synopsis "String interpolation library")
5294 (description "This package provides a string interpolation library for
5295Haskell.")
5296 (license license:expat)))
5297
5298(define-public ghc-intervalmap
5299 (package
5300 (name "ghc-intervalmap")
e4946e32 5301 (version "0.6.1.1")
dddbc90c
RV
5302 (source
5303 (origin
5304 (method url-fetch)
5305 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5306 "IntervalMap-" version ".tar.gz"))
5307 (sha256
5308 (base32
e4946e32 5309 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
5310 (build-system haskell-build-system)
5311 (native-inputs
5312 `(("ghc-quickcheck" ,ghc-quickcheck)))
5313 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5314 (synopsis "Containers for intervals, with efficient search")
5315 (description
5316 "This package provides ordered containers of intervals, with efficient
5317search for all keys containing a point or overlapping an interval. See the
5318example code on the home page for a quick introduction.")
5319 (license license:bsd-3)))
5320
5321(define-public ghc-invariant
5322 (package
5323 (name "ghc-invariant")
5324 (version "0.5.1")
5325 (source
5326 (origin
5327 (method url-fetch)
5328 (uri (string-append
5329 "https://hackage.haskell.org/package/invariant/invariant-"
5330 version ".tar.gz"))
5331 (sha256
5332 (base32
5333 "0aqj7z55632qdg45074kgn9qfdxzb0a2f8lgjzr0l0i4mm2rr37b"))))
5334 (build-system haskell-build-system)
5335 (inputs
5336 `(("ghc-bifunctors" ,ghc-bifunctors)
5337 ("ghc-comonad" ,ghc-comonad)
5338 ("ghc-contravariant" ,ghc-contravariant)
5339 ("ghc-profunctors" ,ghc-profunctors)
5340 ("ghc-semigroups" ,ghc-semigroups)
5341 ("ghc-statevar" ,ghc-statevar)
5342 ("ghc-tagged" ,ghc-tagged)
5343 ("ghc-th-abstraction" ,ghc-th-abstraction)
5344 ("ghc-transformers-compat" ,ghc-transformers-compat)
5345 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5346 (native-inputs
5347 `(("ghc-hspec" ,ghc-hspec)
5348 ("ghc-quickcheck" ,ghc-quickcheck)
5349 ("hspec-discover" ,hspec-discover)))
5350 (home-page "https://github.com/nfrisby/invariant-functors")
5351 (synopsis "Haskell98 invariant functors")
5352 (description "Haskell98 invariant functors (also known as exponential
5353functors). For more information, see Edward Kmett's article
5354@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5355 (license license:bsd-2)))
5356
5357(define-public ghc-io-streams
5358 (package
5359 (name "ghc-io-streams")
5360 (version "1.5.0.1")
5361 (source
5362 (origin
5363 (method url-fetch)
5364 (uri (string-append "https://hackage.haskell.org/package/"
5365 "io-streams/io-streams-" version ".tar.gz"))
5366 (sha256
5367 (base32
5368 "12rcdg2d70644bvn838fxcjkssqj8pssnx5y657si5rijcbkgjsx"))))
5369 (build-system haskell-build-system)
5370 (inputs
5371 `(("ghc-attoparsec" ,ghc-attoparsec)
5372 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5373 ("ghc-network" ,ghc-network)
5374 ("ghc-primitive" ,ghc-primitive)
5375 ("ghc-vector" ,ghc-vector)
5376 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5377 (native-inputs
5378 `(("ghc-hunit" ,ghc-hunit)
5379 ("ghc-quickcheck" ,ghc-quickcheck)
5380 ("ghc-test-framework" ,ghc-test-framework)
5381 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5382 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5383 ("ghc-zlib" ,ghc-zlib)))
5384 (arguments
5385 `(#:cabal-revision
5386 ("2" "1mcab95d6hm098myh9gp7sh10srigjphgvm8s9pfs7jg5hzghy14")))
5387 (home-page "http://hackage.haskell.org/package/io-streams")
5388 (synopsis "Simple and composable stream I/O")
5389 (description "This library contains simple and easy-to-use
5390primitives for I/O using streams.")
5391 (license license:bsd-3)))
5392
5393(define-public ghc-io-streams-haproxy
5394 (package
5395 (name "ghc-io-streams-haproxy")
5396 (version "1.0.0.2")
5397 (source
5398 (origin
5399 (method url-fetch)
5400 (uri (string-append "https://hackage.haskell.org/package/"
5401 "io-streams-haproxy/io-streams-haproxy-"
5402 version ".tar.gz"))
5403 (sha256
5404 (base32
5405 "11nh9q158mgnvvb23s5ffg87lkhl5smk039yl43jghxmb214z0bp"))))
5406 (build-system haskell-build-system)
5407 (inputs
5408 `(("ghc-attoparsec" ,ghc-attoparsec)
5409 ("ghc-io-streams" ,ghc-io-streams)
5410 ("ghc-network" ,ghc-network)))
5411 (native-inputs
5412 `(("ghc-hunit" ,ghc-hunit)
5413 ("ghc-test-framework" ,ghc-test-framework)
5414 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5415 (arguments
5416 `(#:cabal-revision
5417 ("4" "06c51a057n5bc9xfbp2m4jz5ds4z1xvmsx5mppch6qfwbz7x5i9l")))
5418 (home-page "http://snapframework.com/")
5419 (synopsis "HAProxy protocol 1.5 support for io-streams")
5420 (description "HAProxy protocol version 1.5 support
5421(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5422for applications using io-streams. The proxy protocol allows information
5423about a networked peer (like remote address and port) to be propagated
5424through a forwarding proxy that is configured to speak this protocol.")
5425 (license license:bsd-3)))
5426
5427(define-public ghc-iproute
5428 (package
5429 (name "ghc-iproute")
5430 (version "1.7.5")
5431 (source
5432 (origin
5433 (method url-fetch)
5434 (uri (string-append
5435 "https://hackage.haskell.org/package/iproute/iproute-"
5436 version
5437 ".tar.gz"))
5438 (sha256
5439 (base32
5440 "1vw1nm3s8vz1hqnjnqd3wh5rr4q3m2r4izn5ynhf93h9185qwqzd"))))
5441 (build-system haskell-build-system)
5442 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5443 ; exported by ghc-byteorder. Doctest issue.
5444 (inputs
5445 `(("ghc-appar" ,ghc-appar)
5446 ("ghc-byteorder" ,ghc-byteorder)
5447 ("ghc-network" ,ghc-network)
5448 ("ghc-safe" ,ghc-safe)))
5449 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5450 (synopsis "IP routing table")
5451 (description "IP Routing Table is a tree of IP ranges to search one of
5452them on the longest match base. It is a kind of TRIE with one way branching
5453removed. Both IPv4 and IPv6 are supported.")
5454 (license license:bsd-3)))
5455
5456(define-public ghc-iwlib
5457 (package
5458 (name "ghc-iwlib")
5459 (version "0.1.0")
5460 (source
5461 (origin
5462 (method url-fetch)
5463 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5464 version ".tar.gz"))
5465 (sha256
5466 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5467 (build-system haskell-build-system)
5468 (inputs
5469 `(("wireless-tools" ,wireless-tools)))
5470 (home-page "https://github.com/jaor/iwlib")
5471 (synopsis "Haskell binding to the iw wireless networking library")
5472 (description
5473 "IWlib is a thin Haskell binding to the iw C library. It provides
5474information about the current wireless network connections, and adapters on
5475supported systems.")
5476 (license license:bsd-3)))
5477
5478(define-public ghc-json
5479 (package
5480 (name "ghc-json")
0ad3d574 5481 (version "0.9.3")
dddbc90c
RV
5482 (source
5483 (origin
5484 (method url-fetch)
5485 (uri (string-append "https://hackage.haskell.org/package/json/"
5486 "json-" version ".tar.gz"))
5487 (sha256
5488 (base32
0ad3d574 5489 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
5490 (build-system haskell-build-system)
5491 (inputs
5492 `(("ghc-syb" ,ghc-syb)))
5493 (home-page "https://hackage.haskell.org/package/json")
5494 (synopsis "Serializes Haskell data to and from JSON")
5495 (description "This package provides a parser and pretty printer for
5496converting between Haskell values and JSON.
5497JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5498 (license license:bsd-3)))
5499
5500(define-public ghc-juicypixels
5501 (package
5502 (name "ghc-juicypixels")
b50b6004 5503 (version "3.3.4")
dddbc90c
RV
5504 (source (origin
5505 (method url-fetch)
5506 (uri (string-append "https://hackage.haskell.org/package/"
5507 "JuicyPixels/JuicyPixels-"
5508 version ".tar.gz"))
5509 (sha256
5510 (base32
b50b6004 5511 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
5512 (build-system haskell-build-system)
5513 (inputs
5514 `(("ghc-zlib" ,ghc-zlib)
5515 ("ghc-vector" ,ghc-vector)
5516 ("ghc-primitive" ,ghc-primitive)
5517 ("ghc-mmap" ,ghc-mmap)))
5518 (home-page "https://github.com/Twinside/Juicy.Pixels")
5519 (synopsis "Picture loading and serialization library")
5520 (description
5521 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5522TIFF and GIF formats.")
5523 (license license:bsd-3)))
5524
5525(define-public ghc-kan-extensions
5526 (package
5527 (name "ghc-kan-extensions")
5528 (version "5.2")
5529 (source
5530 (origin
5531 (method url-fetch)
5532 (uri (string-append
5533 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5534 version
5535 ".tar.gz"))
5536 (sha256
5537 (base32
5538 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5539 (build-system haskell-build-system)
5540 (inputs
5541 `(("ghc-adjunctions" ,ghc-adjunctions)
5542 ("ghc-comonad" ,ghc-comonad)
5543 ("ghc-contravariant" ,ghc-contravariant)
5544 ("ghc-distributive" ,ghc-distributive)
5545 ("ghc-free" ,ghc-free)
5546 ("ghc-invariant" ,ghc-invariant)
5547 ("ghc-semigroupoids" ,ghc-semigroupoids)
5548 ("ghc-tagged" ,ghc-tagged)
5549 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5550 (home-page "https://github.com/ekmett/kan-extensions/")
5551 (synopsis "Kan extensions library")
5552 (description "This library provides Kan extensions, Kan lifts, various
5553forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5554 (license license:bsd-3)))
5555
5556(define-public ghc-language-c
5557 (package
5558 (name "ghc-language-c")
4e1cf651 5559 (version "0.8.3")
dddbc90c
RV
5560 (source
5561 (origin
5562 (method url-fetch)
5563 (uri (string-append "https://hackage.haskell.org/package/"
5564 "language-c/language-c-" version ".tar.gz"))
5565 (sha256
5566 (base32
4e1cf651 5567 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
5568 (build-system haskell-build-system)
5569 (inputs `(("ghc-syb" ,ghc-syb)))
5570 (native-inputs
5571 `(("ghc-happy" ,ghc-happy)
5572 ("ghc-alex" ,ghc-alex)))
5573 (home-page "https://visq.github.io/language-c/")
5574 (synopsis "Analysis and generation of C code")
5575 (description
5576 "Language C is a Haskell library for the analysis and generation of C code.
5577It features a complete, well-tested parser and pretty printer for all of C99
5578and a large set of GNU extensions.")
5579 (license license:bsd-3)))
5580
5581(define-public ghc-language-glsl
5582 (package
5583 (name "ghc-language-glsl")
5584 (version "0.3.0")
5585 (source
5586 (origin
5587 (method url-fetch)
5588 (uri (string-append "https://hackage.haskell.org/package/"
5589 "language-glsl/language-glsl-" version ".tar.gz"))
5590 (sha256
5591 (base32
5592 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
5593 (build-system haskell-build-system)
5594 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
5595 (arguments
5596 `(#:tests? #f
5597 #:cabal-revision
5598 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
5599 (home-page "http://hackage.haskell.org/package/language-glsl")
5600 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
5601 (description "This package is a Haskell library for the
5602representation, parsing, and pretty-printing of GLSL 1.50 code.")
5603 (license license:bsd-3)))
5604
5605(define-public ghc-language-haskell-extract
5606 (package
5607 (name "ghc-language-haskell-extract")
5608 (version "0.2.4")
5609 (source
5610 (origin
5611 (method url-fetch)
5612 (uri (string-append "https://hackage.haskell.org/package/"
5613 "language-haskell-extract-" version "/"
5614 "language-haskell-extract-" version ".tar.gz"))
5615 (sha256
5616 (base32
5617 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
5618 (build-system haskell-build-system)
5619 (inputs
5620 `(("ghc-regex-posix" ,ghc-regex-posix)))
5621 (home-page "https://github.com/finnsson/template-helper")
5622 (synopsis "Haskell module to automatically extract functions from
5623the local code")
5624 (description "This package contains helper functions on top of
5625Template Haskell.
5626
5627For example, @code{functionExtractor} extracts all functions after a
5628regexp-pattern, which can be useful if you wish to extract all functions
5629beginning with @code{test} (for a test framework) or all functions beginning
5630with @code{wc} (for a web service).")
5631 (license license:bsd-3)))
5632
5633(define-public ghc-lens
5634 (package
5635 (name "ghc-lens")
5636 (version "4.16.1")
5637 (source
5638 (origin
5639 (method url-fetch)
5640 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5641 version ".tar.gz"))
5642 (sha256
5643 (base32
5644 "1im4drhbydbawd6i0jsrzpqihnmx4ywpkg7yg94ddwsw3mxwkgpm"))))
5645 (build-system haskell-build-system)
5646 (arguments
5647 `(#:cabal-revision
5648 ("2" "11h83lj5mba4grhz1qx3irz10ysm9c3k7k6i6xv2cr60q8xin3ri")))
5649 (inputs
5650 `(("ghc-base-orphans" ,ghc-base-orphans)
5651 ("ghc-bifunctors" ,ghc-bifunctors)
5652 ("ghc-distributive" ,ghc-distributive)
5653 ("ghc-exceptions" ,ghc-exceptions)
5654 ("ghc-free" ,ghc-free)
5655 ("ghc-kan-extensions" ,ghc-kan-extensions)
5656 ("ghc-parallel" ,ghc-parallel)
5657 ("ghc-reflection" ,ghc-reflection)
5658 ("ghc-semigroupoids" ,ghc-semigroupoids)
5659 ("ghc-vector" ,ghc-vector)
5660 ("ghc-call-stack" ,ghc-call-stack)
5661 ("ghc-comonad" ,ghc-comonad)
5662 ("ghc-contravariant" ,ghc-contravariant)
5663 ("ghc-hashable" ,ghc-hashable)
5664 ("ghc-profunctors" ,ghc-profunctors)
5665 ("ghc-semigroups" ,ghc-semigroups)
5666 ("ghc-tagged" ,ghc-tagged)
5667 ("ghc-transformers-compat" ,ghc-transformers-compat)
5668 ("ghc-unordered-containers" ,ghc-unordered-containers)
5669 ("ghc-void" ,ghc-void)
5670 ("ghc-generic-deriving" ,ghc-generic-deriving)
5671 ("ghc-nats" ,ghc-nats)
5672 ("ghc-simple-reflect" ,ghc-simple-reflect)
5673 ("hlint" ,hlint)))
5674 (native-inputs
5675 `(("cabal-doctest" ,cabal-doctest)
5676 ("ghc-doctest" ,ghc-doctest)
5677 ("ghc-hunit" ,ghc-hunit)
5678 ("ghc-test-framework" ,ghc-test-framework)
5679 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5680 ("ghc-test-framework-th" ,ghc-test-framework-th)
5681 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5682 ("ghc-quickcheck" ,ghc-quickcheck)))
5683 (home-page "https://github.com/ekmett/lens/")
5684 (synopsis "Lenses, Folds and Traversals")
5685 (description "This library provides @code{Control.Lens}. The combinators
5686in @code{Control.Lens} provide a highly generic toolbox for composing families
5687of getters, folds, isomorphisms, traversals, setters and lenses and their
5688indexed variants.")
5689 (license license:bsd-3)))
5690
5691(define-public ghc-libffi
5692 (package
5693 (name "ghc-libffi")
5694 (version "0.1")
5695 (source
5696 (origin
5697 (method url-fetch)
5698 (uri (string-append "https://hackage.haskell.org/package/"
5699 "libffi/libffi-" version ".tar.gz"))
5700 (sha256
5701 (base32
5702 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
5703 (build-system haskell-build-system)
5704 (native-inputs `(("pkg-config" ,pkg-config)))
5705 (inputs `(("libffi" ,libffi)))
5706 (home-page "http://hackage.haskell.org/package/libffi")
5707 (synopsis "Haskell binding to libffi")
5708 (description
5709 "A binding to libffi, allowing C functions of types only known at runtime
5710to be called from Haskell.")
5711 (license license:bsd-3)))
5712
5713(define-public ghc-libmpd
5714 (package
5715 (name "ghc-libmpd")
5716 (version "0.9.0.9")
5717 (source
5718 (origin
5719 (method url-fetch)
5720 (uri (string-append
5721 "mirror://hackage/package/libmpd/libmpd-"
5722 version
5723 ".tar.gz"))
5724 (sha256
5725 (base32
5726 "1931m23iqb4wddpdidm4ph746zpaw41kkjzmb074j7yyfpk7x1jv"))))
5727 (build-system haskell-build-system)
5728 ;; Tests fail on i686.
5729 ;; See https://github.com/vimus/libmpd-haskell/issues/112
5730 (arguments `(#:tests? #f))
5731 (inputs
5732 `(("ghc-attoparsec" ,ghc-attoparsec)
5733 ("ghc-old-locale" ,ghc-old-locale)
5734 ("ghc-data-default-class" ,ghc-data-default-class)
5735 ("ghc-network" ,ghc-network)
5736 ("ghc-utf8-string" ,ghc-utf8-string)))
5737 (native-inputs
5738 `(("ghc-quickcheck" ,ghc-quickcheck)
5739 ("ghc-hspec" ,ghc-hspec)
5740 ("hspec-discover" ,hspec-discover)))
5741 (home-page "https://github.com/vimus/libmpd-haskell")
5742 (synopsis "Haskell client library for the Music Player Daemon")
5743 (description "This package provides a pure Haskell client library for the
5744Music Player Daemon.")
5745 (license license:expat)))
5746
5747(define-public ghc-libxml
5748 (package
5749 (name "ghc-libxml")
5750 (version "0.1.1")
5751 (source
5752 (origin
5753 (method url-fetch)
5754 (uri (string-append "https://hackage.haskell.org/package/libxml/"
5755 "libxml-" version ".tar.gz"))
5756 (sha256
5757 (base32
5758 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
5759 (build-system haskell-build-system)
5760 (inputs
5761 `(("libxml2" ,libxml2)))
5762 (arguments
5763 `(#:configure-flags
5764 `(,(string-append "--extra-include-dirs="
5765 (assoc-ref %build-inputs "libxml2")
5766 "/include/libxml2"))))
5767 (home-page "https://hackage.haskell.org/package/libxml")
5768 (synopsis "Haskell bindings to libxml2")
5769 (description
5770 "This library provides minimal Haskell binding to libxml2.")
5771 (license license:bsd-3)))
5772
5773(define-public ghc-lifted-async
5774 (package
5775 (name "ghc-lifted-async")
5776 (version "0.10.0.2")
5777 (source
5778 (origin
5779 (method url-fetch)
5780 (uri (string-append
5781 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
5782 version ".tar.gz"))
5783 (sha256
5784 (base32
5785 "1073r512c1x2m1v0jar9bwqg656slg7jd1jhsyj6m8awgx1l1mwf"))))
5786 (build-system haskell-build-system)
5787 (inputs
5788 `(("ghc-async" ,ghc-async)
5789 ("ghc-lifted-base" ,ghc-lifted-base)
5790 ("ghc-transformers-base" ,ghc-transformers-base)
5791 ("ghc-monad-control" ,ghc-monad-control)
5792 ("ghc-constraints" ,ghc-constraints)
5793 ("ghc-hunit" ,ghc-hunit)
5794 ("ghc-tasty" ,ghc-tasty)
5795 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5796 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5797 ("ghc-tasty-th" ,ghc-tasty-th)))
5798 (home-page "https://github.com/maoe/lifted-async")
5799 (synopsis "Run lifted IO operations asynchronously and wait for their results")
5800 (description
5801 "This package provides IO operations from @code{async} package lifted to any
5802instance of @code{MonadBase} or @code{MonadBaseControl}.")
5803 (license license:bsd-3)))
5804
5805(define-public ghc-lifted-base
5806 (package
5807 (name "ghc-lifted-base")
5808 (version "0.2.3.12")
5809 (source
5810 (origin
5811 (method url-fetch)
5812 (uri (string-append
5813 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
5814 version
5815 ".tar.gz"))
5816 (sha256
5817 (base32
5818 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
5819 (build-system haskell-build-system)
5820 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
5821 (inputs
5822 `(("ghc-transformers-base" ,ghc-transformers-base)
5823 ("ghc-monad-control" ,ghc-monad-control)
5824 ("ghc-transformers-compat" ,ghc-transformers-compat)
5825 ("ghc-hunit" ,ghc-hunit)))
5826 (home-page "https://github.com/basvandijk/lifted-base")
5827 (synopsis "Lifted IO operations from the base library")
5828 (description "Lifted-base exports IO operations from the @code{base}
5829library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5830Note that not all modules from @code{base} are converted yet. The package
5831includes a copy of the @code{monad-peel} test suite written by Anders
5832Kaseorg.")
5833 (license license:bsd-3)))
5834
5835(define-public ghc-linear
5836 (package
5837 (name "ghc-linear")
5838 (version "1.20.8")
5839 (source
5840 (origin
5841 (method url-fetch)
5842 (uri (string-append "https://hackage.haskell.org/package/linear/"
5843 "linear-" version ".tar.gz"))
5844 (sha256
5845 (base32
5846 "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"))))
5847 (build-system haskell-build-system)
5848 (inputs
5849 `(("ghc-adjunctions" ,ghc-adjunctions)
5850 ("ghc-base-orphans" ,ghc-base-orphans)
5851 ("ghc-bytes" ,ghc-bytes)
5852 ("ghc-cereal" ,ghc-cereal)
5853 ("ghc-distributive" ,ghc-distributive)
5854 ("ghc-hashable" ,ghc-hashable)
5855 ("ghc-lens" ,ghc-lens)
5856 ("ghc-reflection" ,ghc-reflection)
5857 ("ghc-semigroups" ,ghc-semigroups)
5858 ("ghc-semigroupoids" ,ghc-semigroupoids)
5859 ("ghc-tagged" ,ghc-tagged)
5860 ("ghc-transformers-compat" ,ghc-transformers-compat)
5861 ("ghc-unordered-containers" ,ghc-unordered-containers)
5862 ("ghc-vector" ,ghc-vector)
5863 ("ghc-void" ,ghc-void)))
5864 (native-inputs
5865 `(("cabal-doctest" ,cabal-doctest)
5866 ("ghc-doctest" ,ghc-doctest)
5867 ("ghc-simple-reflect" ,ghc-simple-reflect)
5868 ("ghc-test-framework" ,ghc-test-framework)
5869 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5870 ("ghc-hunit" ,ghc-hunit)))
5871 (home-page "http://github.com/ekmett/linear/")
5872 (synopsis "Linear algebra library for Haskell")
5873 (description
5874 "This package provides types and combinators for linear algebra on free
5875vector spaces.")
5876 (license license:bsd-3)))
1307e4c7
JS
5877
5878(define-public ghc-listlike
5879 (package
5880 (name "ghc-listlike")
5881 (version "4.6.2")
5882 (source
5883 (origin
5884 (method url-fetch)
5885 (uri
5886 (string-append
5887 "https://hackage.haskell.org/package/ListLike/ListLike-"
5888 version ".tar.gz"))
5889 (sha256
5890 (base32
5891 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
5892 (build-system haskell-build-system)
5893 (inputs
5894 `(("ghc-vector" ,ghc-vector)
5895 ("ghc-dlist" ,ghc-dlist)
5896 ("ghc-fmlist" ,ghc-fmlist)
5897 ("ghc-hunit" ,ghc-hunit)
5898 ("ghc-quickcheck" ,ghc-quickcheck)
5899 ("ghc-random" ,ghc-random)
5900 ("ghc-utf8-string" ,ghc-utf8-string)))
5901 (home-page "https://github.com/JohnLato/listlike")
5902 (synopsis "Generic support for list-like structures")
5903 (description "The ListLike module provides a common interface to the
5904various Haskell types that are list-like. Predefined interfaces include
5905standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
5906Custom types can easily be made ListLike instances as well.
5907
5908ListLike also provides for String-like types, such as String and
5909ByteString, for types that support input and output, and for types that
5910can handle infinite lists.")
5911 (license license:bsd-3)))
dddbc90c
RV
5912
5913(define-public ghc-logging-facade
5914 (package
5915 (name "ghc-logging-facade")
5916 (version "0.3.0")
5917 (source (origin
5918 (method url-fetch)
5919 (uri (string-append "https://hackage.haskell.org/package/"
5920 "logging-facade/logging-facade-"
5921 version ".tar.gz"))
5922 (sha256
5923 (base32
5924 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
5925 (build-system haskell-build-system)
5926 (native-inputs
5927 `(("ghc-hspec" ,ghc-hspec)
5928 ("hspec-discover" ,hspec-discover)))
5929 (home-page "https://hackage.haskell.org/package/logging-facade")
5930 (synopsis "Simple logging abstraction that allows multiple back-ends")
5931 (description
5932 "This package provides a simple logging abstraction that allows multiple
5933back-ends.")
5934 (license license:expat)))
5935
5936(define-public ghc-logict
5937 (package
5938 (name "ghc-logict")
79d9326f 5939 (version "0.7.0.2")
dddbc90c
RV
5940 (source
5941 (origin
5942 (method url-fetch)
5943 (uri (string-append
5944 "https://hackage.haskell.org/package/logict/logict-"
5945 version
5946 ".tar.gz"))
5947 (sha256
5948 (base32
79d9326f 5949 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 5950 (build-system haskell-build-system)
79d9326f
TS
5951 (native-inputs
5952 `(("ghc-tasty" ,ghc-tasty)
5953 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5954 (home-page "http://code.haskell.org/~dolio/")
5955 (synopsis "Backtracking logic-programming monad")
5956 (description "This library provides a continuation-based, backtracking,
5957logic programming monad. An adaptation of the two-continuation implementation
5958found in the paper \"Backtracking, Interleaving, and Terminating Monad
5959Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
5960online}.")
5961 (license license:bsd-3)))
5962
5963(define-public ghc-lzma
5964 (package
5965 (name "ghc-lzma")
5966 (version "0.0.0.3")
5967 (source
5968 (origin
5969 (method url-fetch)
5970 (uri (string-append "https://hackage.haskell.org/package/lzma/"
5971 "lzma-" version ".tar.gz"))
5972 (sha256
5973 (base32
5974 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
5975 (build-system haskell-build-system)
5976 (arguments
5977 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
5978 #:cabal-revision
5979 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
5980 (native-inputs
5981 `(("ghc-hunit" ,ghc-hunit)
5982 ("ghc-quickcheck" ,ghc-quickcheck)
5983 ("ghc-tasty" ,ghc-tasty)
5984 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5985 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
5986 (home-page "https://github.com/hvr/lzma")
5987 (synopsis "LZMA/XZ compression and decompression")
5988 (description
5989 "This package provides a pure interface for compressing and
5990decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
5991monadic incremental interface is provided as well.")
5992 (license license:bsd-3)))
5993
5994(define-public ghc-lzma-conduit
5995 (package
5996 (name "ghc-lzma-conduit")
5997 (version "1.2.1")
5998 (source
5999 (origin
6000 (method url-fetch)
6001 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6002 "lzma-conduit-" version ".tar.gz"))
6003 (sha256
6004 (base32
6005 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6006 (build-system haskell-build-system)
6007 (inputs
6008 `(("ghc-conduit" ,ghc-conduit)
6009 ("ghc-lzma" ,ghc-lzma)
6010 ("ghc-resourcet" ,ghc-resourcet)))
6011 (native-inputs
6012 `(("ghc-base-compat" ,ghc-base-compat)
6013 ("ghc-test-framework" ,ghc-test-framework)
6014 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6015 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6016 ("ghc-hunit" ,ghc-hunit)
6017 ("ghc-quickcheck" ,ghc-quickcheck)))
6018 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6019 (synopsis "Conduit interface for lzma/xz compression")
6020 (description
6021 "This package provides a @code{Conduit} interface for the LZMA
6022compression algorithm used in the @code{.xz} file format.")
6023 (license license:bsd-3)))
6024
e405912c
KM
6025(define-public ghc-magic
6026 (package
6027 (name "ghc-magic")
6028 (version "1.1")
6029 (source
6030 (origin
6031 (method url-fetch)
6032 (uri (string-append
6033 "https://hackage.haskell.org/package/magic/magic-"
6034 version ".tar.gz"))
6035 (sha256
6036 (base32
6037 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6038 (build-system haskell-build-system)
6039 (home-page "http://hackage.haskell.org/package/magic")
6040 (synopsis "Interface to C file/magic library")
6041 (description
6042 "This package provides a full-featured binding to the C libmagic library.
6043With it, you can determine the type of a file by examining its contents rather
6044than its name.")
6045 (license license:bsd-3)))
6046
dddbc90c
RV
6047(define-public ghc-markdown-unlit
6048 (package
6049 (name "ghc-markdown-unlit")
6050 (version "0.5.0")
6051 (source (origin
6052 (method url-fetch)
6053 (uri (string-append
6054 "mirror://hackage/package/markdown-unlit/"
6055 "markdown-unlit-" version ".tar.gz"))
6056 (sha256
6057 (base32
6058 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6059 (build-system haskell-build-system)
6060 (inputs
6061 `(("ghc-base-compat" ,ghc-base-compat)
6062 ("ghc-hspec" ,ghc-hspec)
6063 ("ghc-quickcheck" ,ghc-quickcheck)
6064 ("ghc-silently" ,ghc-silently)
6065 ("ghc-stringbuilder" ,ghc-stringbuilder)
6066 ("ghc-temporary" ,ghc-temporary)
6067 ("hspec-discover" ,hspec-discover)))
6068 (home-page "https://github.com/sol/markdown-unlit#readme")
6069 (synopsis "Literate Haskell support for Markdown")
6070 (description "This package allows you to have a README.md that at the
6071same time is a literate Haskell program.")
6072 (license license:expat)))
6073
6074(define-public ghc-math-functions
6075 (package
6076 (name "ghc-math-functions")
b45de2bf 6077 (version "0.3.3.0")
dddbc90c
RV
6078 (source
6079 (origin
6080 (method url-fetch)
6081 (uri (string-append "https://hackage.haskell.org/package/"
6082 "math-functions-" version "/"
6083 "math-functions-" version ".tar.gz"))
6084 (sha256
6085 (base32
b45de2bf 6086 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6087 (build-system haskell-build-system)
6088 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6089 (inputs
b45de2bf
TS
6090 `(("ghc-data-default-class" ,ghc-data-default-class)
6091 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6092 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6093 (native-inputs
6094 `(("ghc-hunit" ,ghc-hunit)
6095 ("ghc-quickcheck" ,ghc-quickcheck)
6096 ("ghc-erf" ,ghc-erf)
6097 ("ghc-test-framework" ,ghc-test-framework)
6098 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6099 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6100 (home-page "https://github.com/bos/math-functions")
6101 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6102 (description "This Haskell library provides implementations of
6103special mathematical functions and Chebyshev polynomials. These
6104functions are often useful in statistical and numerical computing.")
6105 (license license:bsd-3)))
6106
6107(define-public ghc-megaparsec
6108 (package
6109 (name "ghc-megaparsec")
6110 (version "6.5.0")
6111 (source
6112 (origin
6113 (method url-fetch)
6114 (uri (string-append "https://hackage.haskell.org/package/"
6115 "megaparsec/megaparsec-"
6116 version ".tar.gz"))
6117 (sha256
6118 (base32
6119 "12iggy7qpf8x93jm64zf0g215xwy779bqyfyjk2bhmxqqr1yzgdy"))))
6120 (build-system haskell-build-system)
6121 (arguments
6122 `(#:cabal-revision
6123 ("4" "0ij3asi5vwlhbgwsy6nhli9a0qb7926mg809fsgyl1rnhs9fvpx1")))
6124 (inputs
6125 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6126 ("ghc-parser-combinators" ,ghc-parser-combinators)
6127 ("ghc-scientific" ,ghc-scientific)))
6128 (native-inputs
6129 `(("ghc-quickcheck" ,ghc-quickcheck)
6130 ("ghc-hspec" ,ghc-hspec)
6131 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6132 ("hspec-discover" ,hspec-discover)))
6133 (home-page "https://github.com/mrkkrp/megaparsec")
6134 (synopsis "Monadic parser combinators")
6135 (description
6136 "This is an industrial-strength monadic parser combinator library.
6137Megaparsec is a feature-rich package that strikes a nice balance between
6138speed, flexibility, and quality of parse errors.")
6139 (license license:bsd-2)))
6140
4780db2c
EB
6141;;; Idris 1.3.2 requires 'megaparse>=7.0.4' but we'd like to keep the public
6142;;; package at the current Stackage LTS version:
6143(define-public ghc-megaparsec-7
6144 (hidden-package
6145 (package
6146 (inherit ghc-megaparsec)
6147 (version "7.0.5")
6148 (source
6149 (origin
6150 (method url-fetch)
6151 (uri (string-append "https://hackage.haskell.org/package/megaparsec/"
6152 "megaparsec-" version ".tar.gz"))
6153 (sha256
6154 (base32
6155 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
6156 (arguments (strip-keyword-arguments (list #:cabal-revision)
6157 (package-arguments ghc-megaparsec))))))
6158
dddbc90c
RV
6159(define-public ghc-memory
6160 (package
6161 (name "ghc-memory")
d2c7d336 6162 (version "0.14.18")
dddbc90c
RV
6163 (source (origin
6164 (method url-fetch)
6165 (uri (string-append "https://hackage.haskell.org/package/"
6166 "memory/memory-" version ".tar.gz"))
6167 (sha256
6168 (base32
d2c7d336 6169 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
6170 (build-system haskell-build-system)
6171 (inputs
6172 `(("ghc-basement" ,ghc-basement)
6173 ("ghc-foundation" ,ghc-foundation)))
6174 (native-inputs
6175 `(("ghc-tasty" ,ghc-tasty)
6176 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6177 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6178 (home-page "https://github.com/vincenthz/hs-memory")
6179 (synopsis "Memory abstractions for Haskell")
6180 (description
6181 "This package provides memory abstractions, such as chunk of memory,
6182polymorphic byte array management and manipulation functions. It contains a
6183polymorphic byte array abstraction and functions similar to strict ByteString,
6184different type of byte array abstraction, raw memory IO operations (memory
6185set, memory copy, ..) and more")
6186 (license license:bsd-3)))
6187
6188(define-public ghc-memotrie
6189 (package
6190 (name "ghc-memotrie")
6191 (version "0.6.9")
6192 (source
6193 (origin
6194 (method url-fetch)
6195 (uri (string-append
6196 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6197 version
6198 ".tar.gz"))
6199 (sha256
6200 (base32
6201 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6202 (build-system haskell-build-system)
6203 (inputs
6204 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6205 (home-page "https://github.com/conal/MemoTrie")
6206 (synopsis "Trie-based memo functions")
6207 (description "This package provides a functional library for creating
6208efficient memo functions using tries.")
6209 (license license:bsd-3)))
6210
6211(define-public ghc-microlens
6212 (package
6213 (name "ghc-microlens")
82478c58 6214 (version "0.4.10")
dddbc90c
RV
6215 (source
6216 (origin
6217 (method url-fetch)
6218 (uri (string-append "https://hackage.haskell.org/package/"
6219 "microlens-" version "/"
6220 "microlens-" version ".tar.gz"))
6221 (sha256
6222 (base32
82478c58 6223 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
6224 (build-system haskell-build-system)
6225 (home-page
6226 "https://github.com/aelve/microlens")
6227 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6228 (description "This Haskell package provides a lens library, just like
6229@code{ghc-lens}, but smaller. It provides essential lenses and
6230traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6231nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6232combinators (like @code{failing} and @code{singular}), but everything else is
6233stripped. As the result, this package has no dependencies.")
6234 (license license:bsd-3)))
6235
6236(define-public ghc-microlens-ghc
6237 (package
6238 (name "ghc-microlens-ghc")
027beb55 6239 (version "0.4.10")
dddbc90c
RV
6240 (source
6241 (origin
6242 (method url-fetch)
6243 (uri (string-append
6244 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6245 version
6246 ".tar.gz"))
6247 (sha256
6248 (base32
027beb55 6249 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
6250 (build-system haskell-build-system)
6251 (inputs `(("ghc-microlens" ,ghc-microlens)))
6252 (home-page "https://github.com/monadfix/microlens")
6253 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6254 (description "This library provides everything that @code{microlens}
6255provides plus instances to make @code{each}, @code{at}, and @code{ix}
6256usable with arrays, @code{ByteString}, and containers. This package is
6257a part of the @uref{http://hackage.haskell.org/package/microlens,
6258microlens} family; see the readme
6259@uref{https://github.com/aelve/microlens#readme, on Github}.")
6260 (license license:bsd-3)))
6261
6262(define-public ghc-microlens-mtl
6263 (package
6264 (name "ghc-microlens-mtl")
6265 (version "0.1.11.1")
6266 (source
6267 (origin
6268 (method url-fetch)
6269 (uri (string-append
6270 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6271 version
6272 ".tar.gz"))
6273 (sha256
6274 (base32
6275 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6276 (build-system haskell-build-system)
6277 (inputs
6278 `(("ghc-microlens" ,ghc-microlens)
6279 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6280 (home-page "https://github.com/monadfix/microlens")
6281 (synopsis
6282 "@code{microlens} support for Reader/Writer/State from mtl")
6283 (description
6284 "This package contains functions (like @code{view} or @code{+=}) which
6285work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6286mtl package. This package is a part of the
6287@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6288readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6289 (license license:bsd-3)))
6290
6291(define-public ghc-microlens-platform
6292 (package
6293 (name "ghc-microlens-platform")
85decc1f 6294 (version "0.3.11")
dddbc90c
RV
6295 (source
6296 (origin
6297 (method url-fetch)
6298 (uri (string-append
6299 "https://hackage.haskell.org/package/"
6300 "microlens-platform/microlens-platform-" version ".tar.gz"))
6301 (sha256
6302 (base32
85decc1f 6303 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
6304 (build-system haskell-build-system)
6305 (inputs
6306 `(("ghc-hashable" ,ghc-hashable)
6307 ("ghc-microlens" ,ghc-microlens)
6308 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6309 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6310 ("ghc-microlens-th" ,ghc-microlens-th)
6311 ("ghc-unordered-containers" ,ghc-unordered-containers)
6312 ("ghc-vector" ,ghc-vector)))
6313 (home-page "https://github.com/monadfix/microlens")
6314 (synopsis "Feature-complete microlens")
6315 (description
6316 "This package exports a module which is the recommended starting point
6317for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6318you aren't trying to keep your dependencies minimal. By importing
6319@code{Lens.Micro.Platform} you get all functions and instances from
6320@uref{http://hackage.haskell.org/package/microlens, microlens},
6321@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6322@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6323@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6324well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6325minor and major versions of @code{microlens-platform} are incremented whenever
6326the minor and major versions of any other @code{microlens} package are
6327incremented, so you can depend on the exact version of
6328@code{microlens-platform} without specifying the version of @code{microlens}
6329you need. This package is a part of the
6330@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6331readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6332 (license license:bsd-3)))
6333
6334(define-public ghc-microlens-th
6335 (package
6336 (name "ghc-microlens-th")
7ae52867 6337 (version "0.4.2.3")
dddbc90c
RV
6338 (source
6339 (origin
6340 (method url-fetch)
6341 (uri (string-append "https://hackage.haskell.org/package/"
6342 "microlens-th-" version "/"
6343 "microlens-th-" version ".tar.gz"))
6344 (sha256
6345 (base32
7ae52867 6346 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 6347 (build-system haskell-build-system)
7ae52867
TS
6348 (arguments
6349 `(#:cabal-revision
6350 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
6351 (inputs `(("ghc-microlens" ,ghc-microlens)
6352 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6353 (home-page
6354 "https://github.com/aelve/microlens")
6355 (synopsis "Automatic generation of record lenses for
6356@code{ghc-microlens}")
6357 (description "This Haskell package lets you automatically generate lenses
6358for data types; code was extracted from the lens package, and therefore
6359generated lenses are fully compatible with ones generated by lens (and can be
6360used both from lens and microlens).")
6361 (license license:bsd-3)))
6362
6363(define-public ghc-missingh
6364 (package
6365 (name "ghc-missingh")
6366 (version "1.4.0.1")
6367 (source
6368 (origin
6369 (method url-fetch)
6370 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6371 "MissingH-" version ".tar.gz"))
6372 (sha256
6373 (base32
6374 "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"))))
6375 (build-system haskell-build-system)
6376 ;; Tests require the unmaintained testpack package, which depends on the
6377 ;; outdated QuickCheck version 2.7, which can no longer be built with
6378 ;; recent versions of GHC and Haskell libraries.
6379 (arguments '(#:tests? #f))
6380 (inputs
6381 `(("ghc-network" ,ghc-network)
6382 ("ghc-hunit" ,ghc-hunit)
6383 ("ghc-regex-compat" ,ghc-regex-compat)
6384 ("ghc-hslogger" ,ghc-hslogger)
6385 ("ghc-random" ,ghc-random)
6386 ("ghc-old-time" ,ghc-old-time)
6387 ("ghc-old-locale" ,ghc-old-locale)))
6388 (native-inputs
6389 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6390 ("ghc-quickcheck" ,ghc-quickcheck)
6391 ("ghc-hunit" ,ghc-hunit)))
6392 (home-page "http://software.complete.org/missingh")
6393 (synopsis "Large utility library")
6394 (description
6395 "MissingH is a library of all sorts of utility functions for Haskell
6396programmers. It is written in pure Haskell and thus should be extremely
6397portable and easy to use.")
6398 (license license:bsd-3)))
6399
6400(define-public ghc-mmap
6401 (package
6402 (name "ghc-mmap")
6403 (version "0.5.9")
6404 (source (origin
6405 (method url-fetch)
6406 (uri (string-append "https://hackage.haskell.org/package/"
6407 "mmap/mmap-" version ".tar.gz"))
6408 (sha256
6409 (base32
6410 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6411 (build-system haskell-build-system)
6412 (home-page "https://hackage.haskell.org/package/mmap")
6413 (synopsis "Memory mapped files for Haskell")
6414 (description
6415 "This library provides a wrapper to @code{mmap}, allowing files or
6416devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6417@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6418do on-demand loading.")
6419 (license license:bsd-3)))
6420
6421(define-public ghc-mmorph
6422 (package
6423 (name "ghc-mmorph")
e0389704 6424 (version "1.1.3")
dddbc90c
RV
6425 (source
6426 (origin
6427 (method url-fetch)
6428 (uri (string-append
6429 "https://hackage.haskell.org/package/mmorph/mmorph-"
6430 version
6431 ".tar.gz"))
6432 (sha256
6433 (base32
e0389704 6434 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
6435 (build-system haskell-build-system)
6436 (inputs
6437 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6438 (home-page "https://hackage.haskell.org/package/mmorph")
6439 (synopsis "Monad morphisms")
6440 (description
6441 "This library provides monad morphism utilities, most commonly used for
6442manipulating monad transformer stacks.")
6443 (license license:bsd-3)))
6444
6445(define-public ghc-mockery
6446 (package
6447 (name "ghc-mockery")
6448 (version "0.3.5")
6449 (source (origin
6450 (method url-fetch)
6451 (uri (string-append "https://hackage.haskell.org/package/"
6452 "mockery/mockery-" version ".tar.gz"))
6453 (sha256
6454 (base32
6455 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6456 (build-system haskell-build-system)
6457 (inputs
6458 `(("ghc-temporary" ,ghc-temporary)
6459 ("ghc-logging-facade" ,ghc-logging-facade)
6460 ("ghc-base-compat" ,ghc-base-compat)))
6461 (native-inputs
6462 `(("ghc-hspec" ,ghc-hspec)
6463 ("hspec-discover" ,hspec-discover)))
6464 (home-page "https://hackage.haskell.org/package/mockery")
6465 (synopsis "Support functions for automated testing")
6466 (description
6467 "The mockery package provides support functions for automated testing.")
6468 (license license:expat)))
6469
6470(define-public ghc-monad-control
6471 (package
6472 (name "ghc-monad-control")
6473 (version "1.0.2.3")
6474 (source
6475 (origin
6476 (method url-fetch)
6477 (uri (string-append
6478 "https://hackage.haskell.org/package/monad-control"
6479 "/monad-control-" version ".tar.gz"))
6480 (sha256
6481 (base32
6482 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6483 (build-system haskell-build-system)
6484 (inputs
6485 `(("ghc-transformers-base" ,ghc-transformers-base)
6486 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6487 (home-page "https://github.com/basvandijk/monad-control")
6488 (synopsis "Monad transformers to lift control operations like exception
6489catching")
6490 (description "This package defines the type class @code{MonadBaseControl},
6491a subset of @code{MonadBase} into which generic control operations such as
6492@code{catch} can be lifted from @code{IO} or any other base monad.")
6493 (license license:bsd-3)))
6494
6495(define-public ghc-monad-logger
6496 (package
6497 (name "ghc-monad-logger")
6498 (version "0.3.29")
6499 (source
6500 (origin
6501 (method url-fetch)
6502 (uri (string-append "https://hackage.haskell.org/package/"
6503 "monad-logger-" version "/"
6504 "monad-logger-" version ".tar.gz"))
6505 (sha256
6506 (base32
6507 "1z516s4pa9n94zf0l45mylssg07xr1d1m6zrz900p0iv3vfd07mv"))))
6508 (build-system haskell-build-system)
6509 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6510 ("ghc-stm-chans" ,ghc-stm-chans)
6511 ("ghc-lifted-base" ,ghc-lifted-base)
6512 ("ghc-resourcet" ,ghc-resourcet)
6513 ("ghc-conduit" ,ghc-conduit)
6514 ("ghc-conduit-extra" ,ghc-conduit-extra)
6515 ("ghc-fast-logger" ,ghc-fast-logger)
6516 ("ghc-transformers-base" ,ghc-transformers-base)
6517 ("ghc-monad-control" ,ghc-monad-control)
6518 ("ghc-monad-loops" ,ghc-monad-loops)
6519 ("ghc-blaze-builder" ,ghc-blaze-builder)
6520 ("ghc-exceptions" ,ghc-exceptions)))
6521 (home-page "https://github.com/kazu-yamamoto/logger")
6522 (synopsis "Provides a class of monads which can log messages for Haskell")
6523 (description "This Haskell package uses a monad transformer approach
6524for logging.
6525
6526This package provides Template Haskell functions for determining source
6527code locations of messages.")
6528 (license license:expat)))
6529
6530(define-public ghc-monad-loops
6531 (package
6532 (name "ghc-monad-loops")
6533 (version "0.4.3")
6534 (source
6535 (origin
6536 (method url-fetch)
6537 (uri (string-append "https://hackage.haskell.org/package/"
6538 "monad-loops-" version "/"
6539 "monad-loops-" version ".tar.gz"))
6540 (sha256
6541 (base32
6542 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6543 (build-system haskell-build-system)
6544 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6545 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6546 (home-page "https://github.com/mokus0/monad-loops")
6547 (synopsis "Monadic loops for Haskell")
6548 (description "This Haskell package provides some useful control
6549operators for looping.")
6550 (license license:public-domain)))
6551
6552(define-public ghc-monad-par
6553 (package
6554 (name "ghc-monad-par")
6555 (version "0.3.4.8")
6556 (source
6557 (origin
6558 (method url-fetch)
6559 (uri (string-append "https://hackage.haskell.org/package/"
6560 "monad-par-" version "/"
6561 "monad-par-" version ".tar.gz"))
6562 (sha256
6563 (base32
6564 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6565 (build-system haskell-build-system)
6566 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6567 ("ghc-abstract-deque" ,ghc-abstract-deque)
6568 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6569 ("ghc-mwc-random" ,ghc-mwc-random)
6570 ("ghc-parallel" ,ghc-parallel)))
6571 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6572 ("ghc-hunit" ,ghc-hunit)
6573 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6574 ("ghc-test-framework-quickcheck2"
6575 ,ghc-test-framework-quickcheck2)
6576 ("ghc-test-framework" ,ghc-test-framework)
6577 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6578 (home-page "https://github.com/simonmar/monad-par")
6579 (synopsis "Haskell library for parallel programming based on a monad")
6580 (description "The @code{Par} monad offers an API for parallel
6581programming. The library works for parallelising both pure and @code{IO}
6582computations, although only the pure version is deterministic. The default
6583implementation provides a work-stealing scheduler and supports forking tasks
6584that are much lighter weight than IO-threads.")
6585 (license license:bsd-3)))
6586
6587(define-public ghc-monad-par-extras
6588 (package
6589 (name "ghc-monad-par-extras")
6590 (version "0.3.3")
6591 (source
6592 (origin
6593 (method url-fetch)
6594 (uri (string-append "https://hackage.haskell.org/package/"
6595 "monad-par-extras-" version "/"
6596 "monad-par-extras-" version ".tar.gz"))
6597 (sha256
6598 (base32
6599 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6600 (build-system haskell-build-system)
6601 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6602 ("ghc-cereal" ,ghc-cereal)
6603 ("ghc-random" ,ghc-random)))
6604 (home-page "https://github.com/simonmar/monad-par")
6605 (synopsis "Combinators and extra features for Par monads for Haskell")
6606 (description "This Haskell package provides additional data structures,
6607and other added capabilities layered on top of the @code{Par} monad.")
6608 (license license:bsd-3)))
6609
6610(define-public ghc-monadplus
6611 (package
6612 (name "ghc-monadplus")
6613 (version "1.4.2")
6614 (source
6615 (origin
6616 (method url-fetch)
6617 (uri (string-append "https://hackage.haskell.org/package/monadplus"
6618 "/monadplus-" version ".tar.gz"))
6619 (sha256
6620 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
6621 (build-system haskell-build-system)
6622 (home-page "https://hackage.haskell.org/package/monadplus")
6623 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
6624 (description
6625 "This package generalizes many common stream operations such as
6626@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
6627arbitrary @code{MonadPlus} instances.")
6628 (license license:bsd-3)))
6629
6630(define-public ghc-monadrandom
6631 (package
6632 (name "ghc-monadrandom")
6633 (version "0.5.1.1")
6634 (source
6635 (origin
6636 (method url-fetch)
6637 (uri (string-append "https://hackage.haskell.org/package/"
6638 "MonadRandom-" version "/"
6639 "MonadRandom-" version ".tar.gz"))
6640 (sha256
6641 (base32
6642 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
6643 (build-system haskell-build-system)
6644 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6645 ("ghc-primitive" ,ghc-primitive)
6646 ("ghc-fail" ,ghc-fail)
6647 ("ghc-random" ,ghc-random)))
6648 (home-page "https://github.com/byorgey/MonadRandom")
6649 (synopsis "Random-number generation monad for Haskell")
6650 (description "This Haskell package provides support for computations
6651which consume random values.")
6652 (license license:bsd-3)))
6653
6654(define-public ghc-monads-tf
6655 (package
6656 (name "ghc-monads-tf")
6657 (version "0.1.0.3")
6658 (source
6659 (origin
6660 (method url-fetch)
6661 (uri (string-append
6662 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
6663 version ".tar.gz"))
6664 (sha256
6665 (base32
6666 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
6667 (build-system haskell-build-system)
6668 (home-page "https://hackage.haskell.org/package/monads-tf")
6669 (synopsis "Monad classes, using type families")
6670 (description
6671 "Monad classes using type families, with instances for various monad transformers,
6672inspired by the paper 'Functional Programming with Overloading and Higher-Order
6673Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
6674the @code{mtl-tf} package.")
6675 (license license:bsd-3)))
6676
6677(define-public ghc-mono-traversable
6678 (package
6679 (name "ghc-mono-traversable")
6680 (version "1.0.9.0")
6681 (source
6682 (origin
6683 (method url-fetch)
6684 (uri (string-append "https://hackage.haskell.org/package/"
6685 "mono-traversable-" version "/"
6686 "mono-traversable-" version ".tar.gz"))
6687 (sha256
6688 (base32
6689 "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
6690 (build-system haskell-build-system)
6691 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
6692 ("ghc-hashable" ,ghc-hashable)
6693 ("ghc-vector" ,ghc-vector)
6694 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
6695 ("ghc-split" ,ghc-split)))
6696 (native-inputs `(("ghc-hspec" ,ghc-hspec)
6697 ("ghc-hunit" ,ghc-hunit)
6698 ("ghc-quickcheck" ,ghc-quickcheck)
6699 ("ghc-semigroups" ,ghc-semigroups)
6700 ("ghc-foldl" ,ghc-foldl)))
6701 (home-page "https://github.com/snoyberg/mono-traversable")
6702 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
6703containers")
6704 (description "This Haskell package provides Monomorphic variants of the
6705Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
6706basic typeclasses, you understand mono-traversable. In addition to what
6707you are used to, it adds on an IsSequence typeclass and has code for marking
6708data structures as non-empty.")
6709 (license license:expat)))
6710
6711(define-public ghc-murmur-hash
6712 (package
6713 (name "ghc-murmur-hash")
6714 (version "0.1.0.9")
6715 (source
6716 (origin
6717 (method url-fetch)
6718 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
6719 "/murmur-hash-" version ".tar.gz"))
6720 (sha256
6721 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
6722 (build-system haskell-build-system)
6723 (home-page "https://github.com/nominolo/murmur-hash")
6724 (synopsis "MurmurHash2 implementation for Haskell")
6725 (description
6726 "This package provides an implementation of MurmurHash2, a good, fast,
6727general-purpose, non-cryptographic hashing function. See
6728@url{https://sites.google.com/site/murmurhash/} for details. This
6729implementation is pure Haskell, so it might be a bit slower than a C FFI
6730binding.")
6731 (license license:bsd-3)))
6732
6733(define-public ghc-mwc-random
6734 (package
6735 (name "ghc-mwc-random")
33268e2c 6736 (version "0.14.0.0")
dddbc90c
RV
6737 (source
6738 (origin
6739 (method url-fetch)
6740 (uri (string-append "https://hackage.haskell.org/package/"
6741 "mwc-random-" version "/"
6742 "mwc-random-" version ".tar.gz"))
6743 (sha256
6744 (base32
33268e2c 6745 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
6746 (build-system haskell-build-system)
6747 (inputs
6748 `(("ghc-primitive" ,ghc-primitive)
6749 ("ghc-vector" ,ghc-vector)
6750 ("ghc-math-functions" ,ghc-math-functions)))
6751 (arguments
6752 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
6753 (native-inputs
6754 `(("ghc-hunit" ,ghc-hunit)
6755 ("ghc-quickcheck" ,ghc-quickcheck)
6756 ("ghc-test-framework" ,ghc-test-framework)
6757 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6758 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6759 (home-page "https://github.com/bos/mwc-random")
6760 (synopsis "Random number generation library for Haskell")
6761 (description "This Haskell package contains code for generating
6762high quality random numbers that follow either a uniform or normal
6763distribution. The generated numbers are suitable for use in
6764statistical applications.
6765
6766The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
6767multiply-with-carry generator, which has a period of 2^{8222} and
6768fares well in tests of randomness. It is also extremely fast,
6769between 2 and 3 times faster than the Mersenne Twister.")
6770 (license license:bsd-3)))
6771
6772(define-public ghc-nats
6773 (package
6774 (name "ghc-nats")
6775 (version "1.1.2")
6776 (source
6777 (origin
6778 (method url-fetch)
6779 (uri (string-append
6780 "https://hackage.haskell.org/package/nats/nats-"
6781 version
6782 ".tar.gz"))
6783 (sha256
6784 (base32
6785 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
6786 (build-system haskell-build-system)
6787 (arguments `(#:haddock? #f))
6788 (inputs
6789 `(("ghc-hashable" ,ghc-hashable)))
6790 (home-page "https://hackage.haskell.org/package/nats")
6791 (synopsis "Natural numbers")
6792 (description "This library provides the natural numbers for Haskell.")
6793 (license license:bsd-3)))
6794
6795(define-public ghc-nats-bootstrap
6796 (package
6797 (inherit ghc-nats)
6798 (name "ghc-nats-bootstrap")
6799 (inputs
6800 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
6801 (properties '((hidden? #t)))))
6802
52915062
EF
6803(define-public ghc-ncurses
6804 (package
6805 (name "ghc-ncurses")
6806 (version "0.2.16")
6807 (source
6808 (origin
6809 (method url-fetch)
6810 (uri (string-append
6811 "https://hackage.haskell.org/package/ncurses/ncurses-"
6812 version ".tar.gz"))
6813 (sha256
6814 (base32
6815 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
6816 (build-system haskell-build-system)
6817 (arguments
6818 '(#:phases
6819 (modify-phases %standard-phases
6820 (add-before 'build 'fix-includes
6821 (lambda _
6822 (substitute* '("cbits/hsncurses-shim.h"
6823 "lib/UI/NCurses.chs"
6824 "lib/UI/NCurses/Enums.chs"
6825 "lib/UI/NCurses/Panel.chs")
6826 (("<ncursesw/") "<"))
6827 #t)))
6828 #:cabal-revision
6829 ("1"
6830 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
6831 (inputs `(("ncurses" ,ncurses)))
6832 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
6833 (home-page "https://john-millikin.com/software/haskell-ncurses/")
6834 (synopsis "Modernised bindings to GNU ncurses")
6835 (description "GNU ncurses is a library for creating command-line application
6836with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
6837ncurses.")
6838 (license license:gpl3)))
6839
dddbc90c
RV
6840(define-public ghc-network
6841 (package
6842 (name "ghc-network")
6843 (version "2.6.3.6")
6844 (outputs '("out" "doc"))
6845 (source
6846 (origin
6847 (method url-fetch)
6848 (uri (string-append
6849 "https://hackage.haskell.org/package/network/network-"
6850 version
6851 ".tar.gz"))
6852 (sha256
6853 (base32
6854 "198mam7ahny48p9fajznbqq16a8ya2gw0xm3gnm1si1rmc4hdplv"))))
6855 (build-system haskell-build-system)
6856 ;; The regression tests depend on an unpublished module.
6857 (arguments `(#:tests? #f))
6858 (native-inputs
6859 `(("ghc-hunit" ,ghc-hunit)
6860 ("ghc-doctest" ,ghc-doctest)
6861 ("ghc-test-framework" ,ghc-test-framework)
6862 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6863 (home-page "https://github.com/haskell/network")
6864 (synopsis "Low-level networking interface")
6865 (description
6866 "This package provides a low-level networking interface.")
6867 (license license:bsd-3)))
4780db2c
EB
6868
6869;;; Until we update our default GHC to >=8.6 we cannot update our ghc-network
6870;;; package, since the 'cabal-install' package that supports the current
6871;;; 'Cabal' module requires 'network==2.6.*'. Here we provide an updated
6872;;; version to be used for our idris package.
6873(define-public ghc-network-2.8
6874 (hidden-package
6875 (package
6876 (inherit ghc-network)
6877 (version "2.8.0.1")
6878 (source
6879 (origin
6880 (method url-fetch)
6881 (uri (string-append "https://hackage.haskell.org/package/network/"
6882 "network-" version ".tar.gz"))
6883 (sha256
6884 (base32
6885 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1")))))))
dddbc90c
RV
6886
6887(define-public ghc-network-info
6888 (package
6889 (name "ghc-network-info")
6890 (version "0.2.0.10")
6891 (source
6892 (origin
6893 (method url-fetch)
6894 (uri (string-append "https://hackage.haskell.org/package/"
6895 "network-info-" version "/"
6896 "network-info-" version ".tar.gz"))
6897 (sha256
6898 (base32
6899 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
6900 (build-system haskell-build-system)
6901 (home-page "https://github.com/jystic/network-info")
6902 (synopsis "Access the local computer's basic network configuration")
6903 (description "This Haskell library provides simple read-only access to the
6904local computer's networking configuration. It is currently capable of
6905getting a list of all the network interfaces and their respective
6906IPv4, IPv6 and MAC addresses.")
6907 (license license:bsd-3)))
6908
6909(define-public ghc-network-uri
6910 (package
6911 (name "ghc-network-uri")
6912 (version "2.6.1.0")
6913 (outputs '("out" "doc"))
6914 (source
6915 (origin
6916 (method url-fetch)
6917 (uri (string-append
6918 "https://hackage.haskell.org/package/network-uri/network-uri-"
6919 version
6920 ".tar.gz"))
6921 (sha256
6922 (base32
6923 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
6924 (build-system haskell-build-system)
6925 (arguments
6926 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
6927 (inputs
6928 `(("ghc-network" ,ghc-network)))
6929 (native-inputs
6930 `(("ghc-hunit" ,ghc-hunit)))
6931 (home-page
6932 "https://github.com/haskell/network-uri")
6933 (synopsis "Library for URI manipulation")
6934 (description "This package provides an URI manipulation interface. In
6935@code{network-2.6} the @code{Network.URI} module was split off from the
6936@code{network} package into this package.")
6937 (license license:bsd-3)))
6938
6939(define-public ghc-newtype-generics
6940 (package
6941 (name "ghc-newtype-generics")
c07e16dd 6942 (version "0.5.4")
dddbc90c
RV
6943 (source
6944 (origin
6945 (method url-fetch)
6946 (uri (string-append "https://hackage.haskell.org/package/"
6947 "newtype-generics/newtype-generics-"
6948 version ".tar.gz"))
6949 (sha256
6950 (base32
c07e16dd 6951 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
6952 (build-system haskell-build-system)
6953 (native-inputs
6954 `(("ghc-hspec" ,ghc-hspec)
6955 ("hspec-discover" ,hspec-discover)))
6956 (home-page "http://github.com/sjakobi/newtype-generics")
6957 (synopsis "Typeclass and set of functions for working with newtypes")
6958 (description "The @code{Newtype} typeclass represents the packing and
6959unpacking of a newtype, and allows you to operate under that newtype with
6960functions such as @code{ala}. Generics support was added in version 0.4,
6961making this package a full replacement for the original newtype package,
6962and an alternative to newtype-th.")
6963 (license license:bsd-3)))
6964
6b652f5a
JS
6965(define-public ghc-non-negative
6966 (package
6967 (name "ghc-non-negative")
6968 (version "0.1.2")
6969 (source
6970 (origin
6971 (method url-fetch)
6972 (uri
6973 (string-append
6974 "https://hackage.haskell.org/package/non-negative/non-negative-"
6975 version ".tar.gz"))
6976 (sha256
6977 (base32
6978 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
6979 (build-system haskell-build-system)
6980 (inputs
6981 `(("ghc-semigroups" ,ghc-semigroups)
6982 ("ghc-utility-ht" ,ghc-utility-ht)
6983 ("ghc-quickcheck" ,ghc-quickcheck)))
6984 (home-page "https://hackage.haskell.org/package/non-negative")
6985 (synopsis "Non-negative numbers class")
6986 (description "This library provides a class for non-negative numbers,
6987a wrapper which can turn any ordered numeric type into a member of that
6988class, and a lazy number type for non-negative numbers (a generalization
6989of Peano numbers).")
6990 (license license:gpl3+)))
6991
dddbc90c
RV
6992(define-public ghc-objectname
6993 (package
6994 (name "ghc-objectname")
6995 (version "1.1.0.1")
6996 (source
6997 (origin
6998 (method url-fetch)
6999 (uri (string-append
7000 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
7001 version
7002 ".tar.gz"))
7003 (sha256
7004 (base32
7005 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
7006 (build-system haskell-build-system)
7007 (home-page "https://hackage.haskell.org/package/ObjectName")
7008 (synopsis "Helper library for Haskell OpenGL")
7009 (description "This tiny package contains the class ObjectName, which
7010corresponds to the general notion of explicitly handled identifiers for API
7011objects, e.g. a texture object name in OpenGL or a buffer object name in
7012OpenAL.")
7013 (license license:bsd-3)))
7014
7015(define-public ghc-old-locale
7016 (package
7017 (name "ghc-old-locale")
7018 (version "1.0.0.7")
7019 (source
7020 (origin
7021 (method url-fetch)
7022 (uri (string-append
7023 "https://hackage.haskell.org/package/old-locale/old-locale-"
7024 version
7025 ".tar.gz"))
7026 (sha256
7027 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7028 (build-system haskell-build-system)
7029 (arguments
7030 `(#:cabal-revision
7031 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7032 (home-page "https://hackage.haskell.org/package/old-locale")
7033 (synopsis "Adapt to locale conventions")
7034 (description
7035 "This package provides the ability to adapt to locale conventions such as
7036date and time formats.")
7037 (license license:bsd-3)))
7038
7039(define-public ghc-old-time
7040 (package
7041 (name "ghc-old-time")
7042 (version "1.1.0.3")
7043 (source
7044 (origin
7045 (method url-fetch)
7046 (uri (string-append
7047 "https://hackage.haskell.org/package/old-time/old-time-"
7048 version
7049 ".tar.gz"))
7050 (sha256
7051 (base32
7052 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7053 (build-system haskell-build-system)
7054 (arguments
7055 `(#:cabal-revision
7056 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7057 (inputs
7058 `(("ghc-old-locale" ,ghc-old-locale)))
7059 (home-page "https://hackage.haskell.org/package/old-time")
7060 (synopsis "Time compatibility library for Haskell")
7061 (description "Old-time is a package for backwards compatibility with the
7062old @code{time} library. For new projects, the newer
7063@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7064 (license license:bsd-3)))
7065
7066(define-public ghc-opengl
7067 (package
7068 (name "ghc-opengl")
7069 (version "3.0.2.2")
7070 (source
7071 (origin
7072 (method url-fetch)
7073 (uri (string-append
7074 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7075 version
7076 ".tar.gz"))
7077 (sha256
7078 (base32
7079 "19vxwvx2n8zq2klj176l25n2b64ybp0b8mhm4p46gvpcivz41fjc"))))
7080 (build-system haskell-build-system)
7081 (inputs
7082 `(("ghc-objectname" ,ghc-objectname)
7083 ("ghc-gluraw" ,ghc-gluraw)
7084 ("ghc-statevar" ,ghc-statevar)
7085 ("ghc-openglraw" ,ghc-openglraw)))
7086 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7087 (synopsis "Haskell bindings for the OpenGL graphics system")
7088 (description "This package provides Haskell bindings for the OpenGL
7089graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7090version 1.3).")
7091 (license license:bsd-3)))
7092
7093(define-public ghc-openglraw
7094 (package
7095 (name "ghc-openglraw")
15ebc815 7096 (version "3.3.3.0")
dddbc90c
RV
7097 (source
7098 (origin
7099 (method url-fetch)
7100 (uri (string-append
7101 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7102 version
7103 ".tar.gz"))
7104 (sha256
7105 (base32
15ebc815 7106 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
7107 (build-system haskell-build-system)
7108 (inputs
7109 `(("ghc-half" ,ghc-half)
7110 ("ghc-fixed" ,ghc-fixed)
7111 ("glu" ,glu)))
7112 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7113 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7114 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7115graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7116of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7117offers access to all necessary functions, tokens and types plus a general
7118facility for loading extension entries. The module hierarchy closely mirrors
7119the naming structure of the OpenGL extensions, making it easy to find the
7120right module to import. All API entries are loaded dynamically, so no special
7121C header files are needed for building this package. If an API entry is not
7122found at runtime, a userError is thrown.")
7123 (license license:bsd-3)))
7124
7125(define-public ghc-operational
7126 (package
7127 (name "ghc-operational")
7128 (version "0.2.3.5")
7129 (source
7130 (origin
7131 (method url-fetch)
7132 (uri (string-append "https://hackage.haskell.org/package/operational/"
7133 "operational-" version ".tar.gz"))
7134 (sha256
7135 (base32
7136 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7137 (build-system haskell-build-system)
7138 (inputs
7139 `(("ghc-random" ,ghc-random)))
7140 (home-page "http://wiki.haskell.org/Operational")
7141 (synopsis "Implementation of difficult monads made easy with operational semantics")
7142 (description
7143 "This library makes it easy to implement monads with tricky control
7144flow. This is useful for: writing web applications in a sequential style,
7145programming games with a uniform interface for human and AI players and easy
7146replay capababilities, implementing fast parser monads, designing monadic
7147DSLs, etc.")
7148 (license license:bsd-3)))
7149
7150(define-public ghc-options
7151 (package
7152 (name "ghc-options")
7153 (version "1.2.1.1")
7154 (source
7155 (origin
7156 (method url-fetch)
7157 (uri (string-append
7158 "https://hackage.haskell.org/package/options/options-"
7159 version ".tar.gz"))
7160 (sha256
7161 (base32
7162 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7163 (build-system haskell-build-system)
7164 (inputs
7165 `(("ghc-monads-tf" ,ghc-monads-tf)
7166 ("ghc-chell" ,ghc-chell)
7167 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7168 (home-page "https://john-millikin.com/software/haskell-options/")
7169 (synopsis "Powerful and easy-to-use command-line option parser")
7170 (description
7171 "The @code{options} package lets library and application developers
7172easily work with command-line options.")
7173 (license license:expat)))
7174
7175;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7176(define ghc-options-bootstrap
7177 (package
7178 (name "ghc-options-bootstrap")
7179 (version "1.2.1.1")
7180 (source
7181 (origin
7182 (method url-fetch)
7183 (uri (string-append
7184 "https://hackage.haskell.org/package/options/options-"
7185 version ".tar.gz"))
7186 (sha256
7187 (base32
7188 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7189 (build-system haskell-build-system)
7190 (arguments
7191 `(#:tests? #f))
7192 (inputs
7193 `(("ghc-monads-tf" ,ghc-monads-tf)))
7194 (home-page "https://john-millikin.com/software/haskell-options/")
7195 (synopsis "Powerful and easy-to-use command-line option parser")
7196 (description
7197 "The @code{options} package lets library and application developers
7198easily work with command-line options.")
7199 (license license:expat)))
7200
7201
7202(define-public ghc-optparse-applicative
7203 (package
7204 (name "ghc-optparse-applicative")
74bf6965 7205 (version "0.14.3.0")
dddbc90c
RV
7206 (source
7207 (origin
7208 (method url-fetch)
7209 (uri (string-append
7210 "https://hackage.haskell.org/package/optparse-applicative"
7211 "/optparse-applicative-" version ".tar.gz"))
7212 (sha256
7213 (base32
74bf6965 7214 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 7215 (build-system haskell-build-system)
74bf6965
TS
7216 (arguments
7217 `(#:cabal-revision
7218 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
7219 (inputs
7220 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7221 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7222 (native-inputs
7223 `(("ghc-quickcheck" ,ghc-quickcheck)))
7224 (home-page "https://github.com/pcapriotti/optparse-applicative")
7225 (synopsis "Utilities and combinators for parsing command line options")
7226 (description "This package provides utilities and combinators for parsing
7227command line options in Haskell.")
7228 (license license:bsd-3)))
7229
7230(define-public ghc-pandoc
7231 (package
7232 (name "ghc-pandoc")
7233 (version "2.2.1")
7234 (source
7235 (origin
7236 (method url-fetch)
7237 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7238 version ".tar.gz"))
7239 (sha256
7240 (base32
7241 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
7242 (build-system haskell-build-system)
7243 (arguments
7244 `(#:phases
7245 (modify-phases %standard-phases
7246 (add-before 'configure 'update-constraints
7247 (lambda _
7248 (substitute* "pandoc.cabal"
7249 (("tasty >= 0\\.11 && < 1\\.1")
7250 "tasty >= 0.11 && < 1.1.1"))))
7251 (add-before 'configure 'patch-tests
7252 (lambda _
7253 ;; These tests fail benignly and have been adjusted upstream:
7254 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
7255 (substitute* "test/Tests/Old.hs"
7256 (("lhsWriterTests \"html\"") "[]")))))))
7257 (inputs
7258 `(("ghc-aeson" ,ghc-aeson)
7259 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7260 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7261 ("ghc-blaze-html" ,ghc-blaze-html)
7262 ("ghc-blaze-markup" ,ghc-blaze-markup)
7263 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7264 ("ghc-data-default" ,ghc-data-default)
7265 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7266 ("ghc-diff" ,ghc-diff)
7267 ("ghc-doctemplates" ,ghc-doctemplates)
7268 ("ghc-executable-path" ,ghc-executable-path)
7269 ("ghc-glob" ,ghc-glob)
7270 ("ghc-haddock-library" ,ghc-haddock-library)
7271 ("ghc-hslua" ,ghc-hslua)
7272 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7273 ("ghc-http" ,ghc-http)
7274 ("ghc-http-client" ,ghc-http-client)
7275 ("ghc-http-client-tls" ,ghc-http-client-tls)
7276 ("ghc-http-types" ,ghc-http-types)
7277 ("ghc-juicypixels" ,ghc-juicypixels)
7278 ("ghc-network" ,ghc-network)
7279 ("ghc-network-uri" ,ghc-network-uri)
7280 ("ghc-old-locale" ,ghc-old-locale)
7281 ("ghc-pandoc-types" ,ghc-pandoc-types)
7282 ("ghc-random" ,ghc-random)
7283 ("ghc-scientific" ,ghc-scientific)
7284 ("ghc-sha" ,ghc-sha)
7285 ("ghc-skylighting" ,ghc-skylighting)
7286 ("ghc-split" ,ghc-split)
7287 ("ghc-syb" ,ghc-syb)
7288 ("ghc-tagsoup" ,ghc-tagsoup)
7289 ("ghc-temporary" ,ghc-temporary)
7290 ("ghc-texmath" ,ghc-texmath)
7291 ("ghc-unordered-containers" ,ghc-unordered-containers)
7292 ("ghc-vector" ,ghc-vector)
7293 ("ghc-xml" ,ghc-xml)
7294 ("ghc-yaml" ,ghc-yaml)
7295 ("ghc-zip-archive" ,ghc-zip-archive)
7296 ("ghc-zlib" ,ghc-zlib)))
7297 (native-inputs
7298 `(("ghc-tasty" ,ghc-tasty)
7299 ("ghc-tasty-golden" ,ghc-tasty-golden)
7300 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7301 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7302 ("ghc-quickcheck" ,ghc-quickcheck)
7303 ("ghc-hunit" ,ghc-hunit)))
7304 (home-page "https://pandoc.org")
7305 (synopsis "Conversion between markup formats")
7306 (description
7307 "Pandoc is a Haskell library for converting from one markup format to
7308another, and a command-line tool that uses this library. It can read and
7309write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7310LaTeX, DocBook, and many more.
7311
7312Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7313definition lists, tables, and other features. A compatibility mode is
7314provided for those who need a drop-in replacement for Markdown.pl.")
7315 (license license:gpl2+)))
7316
7317(define-public ghc-pandoc-citeproc
7318 (package
7319 (name "ghc-pandoc-citeproc")
7320 (version "0.14.3.1")
7321 (source
7322 (origin
7323 (method url-fetch)
7324 (uri (string-append "https://hackage.haskell.org/package/"
7325 "pandoc-citeproc/pandoc-citeproc-"
7326 version ".tar.gz"))
7327 (sha256
7328 (base32
7329 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7330 (build-system haskell-build-system)
7331 (arguments
7332 `(#:phases
7333 (modify-phases %standard-phases
7334 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7335 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7336 (add-before 'configure 'patch-tests
7337 (lambda _
7338 (substitute* "tests/test-pandoc-citeproc.hs"
7339 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7340 "let allTests = citeprocTests"))))
7341 ;; Tests need to be run after installation.
7342 (delete 'check)
7343 (add-after 'install 'post-install-check
7344 (assoc-ref %standard-phases 'check)))))
7345 (inputs
7346 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7347 ("ghc-pandoc" ,ghc-pandoc)
7348 ("ghc-tagsoup" ,ghc-tagsoup)
7349 ("ghc-aeson" ,ghc-aeson)
7350 ("ghc-vector" ,ghc-vector)
7351 ("ghc-xml-conduit" ,ghc-xml-conduit)
7352 ("ghc-unordered-containers" ,ghc-unordered-containers)
7353 ("ghc-data-default" ,ghc-data-default)
7354 ("ghc-setenv" ,ghc-setenv)
7355 ("ghc-split" ,ghc-split)
7356 ("ghc-yaml" ,ghc-yaml)
7357 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7358 ("ghc-rfc5051" ,ghc-rfc5051)
7359 ("ghc-syb" ,ghc-syb)
7360 ("ghc-old-locale" ,ghc-old-locale)
7361 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7362 ("ghc-attoparsec" ,ghc-attoparsec)
7363 ("ghc-temporary" ,ghc-temporary)))
7364 (home-page "https://github.com/jgm/pandoc-citeproc")
7365 (synopsis "Library for using pandoc with citeproc")
7366 (description
7367 "The @code{pandoc-citeproc} library exports functions for using the
7368citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7369rendering bibliographic reference citations into a variety of styles using a
7370macro language called @dfn{Citation Style Language} (CSL). This package also
7371contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7372and also has a mode for converting bibliographic databases a YAML format
7373suitable for inclusion in pandoc YAML metadata.")
7374 (license license:bsd-3)))
7375
7376(define-public ghc-pandoc-types
7377 (package
7378 (name "ghc-pandoc-types")
7379 (version "1.17.5.1")
7380 (source (origin
7381 (method url-fetch)
7382 (uri (string-append "https://hackage.haskell.org/package/"
7383 "pandoc-types/pandoc-types-"
7384 version ".tar.gz"))
7385 (sha256
7386 (base32
7387 "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
7388 (build-system haskell-build-system)
7389 (inputs
7390 `(("ghc-syb" ,ghc-syb)
7391 ("ghc-aeson" ,ghc-aeson)
7392 ("ghc-string-qq" ,ghc-string-qq)))
7393 (native-inputs
7394 `(("ghc-quickcheck" ,ghc-quickcheck)
7395 ("ghc-test-framework" ,ghc-test-framework)
7396 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7397 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7398 ("ghc-hunit" ,ghc-hunit)))
7399 (home-page "http://johnmacfarlane.net/pandoc")
7400 (synopsis "Types for representing a structured document")
7401 (description
7402 "This module defines the @code{Pandoc} data structure, which is used by
7403pandoc to represent structured documents. It also provides functions for
7404building up, manipulating and serialising @code{Pandoc} structures.")
7405 (license license:bsd-3)))
7406
7407(define-public ghc-parallel
7408 (package
7409 (name "ghc-parallel")
7410 (version "3.2.2.0")
7411 (outputs '("out" "doc"))
7412 (source
7413 (origin
7414 (method url-fetch)
7415 (uri (string-append
7416 "https://hackage.haskell.org/package/parallel/parallel-"
7417 version
7418 ".tar.gz"))
7419 (sha256
7420 (base32
7421 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7422 (build-system haskell-build-system)
7423 (home-page "https://hackage.haskell.org/package/parallel")
7424 (synopsis "Parallel programming library")
7425 (description
7426 "This package provides a library for parallel programming.")
7427 (license license:bsd-3)))
7428
7429(define-public ghc-parsec-numbers
7430 (package
7431 (name "ghc-parsec-numbers")
7432 (version "0.1.0")
7433 (source
7434 (origin
7435 (method url-fetch)
7436 (uri (string-append "https://hackage.haskell.org/package/"
7437 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7438 (sha256
7439 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7440 (build-system haskell-build-system)
7441 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7442 (synopsis "Utilities for parsing numbers from strings")
7443 (description
7444 "This package provides the number parsers without the need to use a large
7445(and unportable) token parser.")
7446 (license license:bsd-3)))
7447
7448(define-public ghc-parser-combinators
7449 (package
7450 (name "ghc-parser-combinators")
2f173160 7451 (version "1.1.0")
dddbc90c
RV
7452 (source
7453 (origin
7454 (method url-fetch)
7455 (uri (string-append "https://hackage.haskell.org/package/"
7456 "parser-combinators/parser-combinators-"
7457 version ".tar.gz"))
7458 (sha256
7459 (base32
2f173160 7460 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
7461 (build-system haskell-build-system)
7462 (home-page "https://github.com/mrkkrp/parser-combinators")
7463 (synopsis "Commonly useful parser combinators")
7464 (description
7465 "This is a lightweight package providing commonly useful parser
7466combinators.")
7467 (license license:bsd-3)))
7468
7469(define-public ghc-parsers
7470 (package
7471 (name "ghc-parsers")
7472 (version "0.12.9")
7473 (source
7474 (origin
7475 (method url-fetch)
7476 (uri (string-append
7477 "https://hackage.haskell.org/package/parsers/parsers-"
7478 version
7479 ".tar.gz"))
7480 (sha256
7481 (base32
7482 "1r05sc1mcglk8w596kq9a1brfn9c2vll8lq16j07ln0vsz4jzrc1"))))
7483 (build-system haskell-build-system)
7484 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7485 ; -package attoparsec-0.13.0.1"
7486 (inputs
7487 `(("ghc-base-orphans" ,ghc-base-orphans)
7488 ("ghc-attoparsec" ,ghc-attoparsec)
7489 ("ghc-scientific" ,ghc-scientific)
7490 ("ghc-charset" ,ghc-charset)
7491 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7492 (home-page "https://github.com/ekmett/parsers/")
7493 (synopsis "Parsing combinators")
7494 (description "This library provides convenient combinators for working
7495with and building parsing combinator libraries. Given a few simple instances,
7496you get access to a large number of canned definitions. Instances exist for
7497the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7498@code{Text.Read}.")
7499 (license license:bsd-3)))
7500
7501(define-public ghc-path
7502 (package
7503 (name "ghc-path")
7504 (version "0.6.1")
7505 (source
7506 (origin
7507 (method url-fetch)
7508 (uri (string-append
7509 "https://hackage.haskell.org/package/path/path-"
7510 version
7511 ".tar.gz"))
7512 (sha256
7513 (base32
7514 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7515 (build-system haskell-build-system)
7516 (arguments
7517 ;; TODO: There are some Windows-related tests and modules that need to be
7518 ;; danced around.
7519 `(#:tests? #f
7520 #:cabal-revision
7521 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7522 (inputs
7523 `(("ghc-aeson" ,ghc-aeson)
7524 ("ghc-exceptions" ,ghc-exceptions)
7525 ("ghc-hashable" ,ghc-hashable)))
7526 (native-inputs
7527 `(("ghc-hspec" ,ghc-hspec)
7528 ("ghc-quickcheck" ,ghc-quickcheck)
7529 ("ghc-genvalidity" ,ghc-genvalidity)
7530 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7531 ("ghc-hspec" ,ghc-hspec)
7532 ("ghc-validity" ,ghc-validity)))
7533 (home-page
7534 "http://hackage.haskell.org/package/path")
7535 (synopsis "Support for well-typed paths")
7536 (description "This package introduces a type for paths upholding useful
7537invariants.")
7538 (license license:bsd-3)))
7539
7540(define-public ghc-path-io
7541 (package
7542 (name "ghc-path-io")
7543 (version "1.3.3")
7544 (source
7545 (origin
7546 (method url-fetch)
7547 (uri (string-append
7548 "https://hackage.haskell.org/package/path-io/path-io-"
7549 version
7550 ".tar.gz"))
7551 (sha256
7552 (base32
7553 "1g9m3qliqjk1img894wsb89diym5zrq51qkkrwhz4sbm9a8hbv1a"))))
7554 (build-system haskell-build-system)
7555 (inputs
7556 `(("ghc-dlist" ,ghc-dlist)
7557 ("ghc-exceptions" ,ghc-exceptions)
7558 ("ghc-path" ,ghc-path)
7559 ("ghc-transformers-base" ,ghc-transformers-base)
7560 ("ghc-unix-compat" ,ghc-unix-compat)
7561 ("ghc-temporary" ,ghc-temporary)))
7562 (native-inputs
7563 `(("ghc-hspec" ,ghc-hspec)))
7564 (arguments
7565 `(#:cabal-revision
7566 ("3" "1h9hsibbflkxpjl2fqamqiv3x3gasf51apnmklrs9l9x8r32hzcc")))
7567 (home-page
7568 "https://github.com/mrkkrp/path-io")
7569 (synopsis "Functions for manipulating well-typed paths")
7570 (description "This package provides an interface to the @code{directory}
7571package for users of @code{path}. It also implements some missing stuff like
7572recursive scanning and copying of directories, working with temporary
7573files/directories, and more.")
7574 (license license:bsd-3)))
7575
7576(define-public ghc-paths
7577 (package
7578 (name "ghc-paths")
9a8adeb1 7579 (version "0.1.0.12")
dddbc90c
RV
7580 (outputs '("out" "doc"))
7581 (source
7582 (origin
7583 (method url-fetch)
7584 (uri (string-append
7585 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7586 version
7587 ".tar.gz"))
7588 (sha256
7589 (base32
9a8adeb1 7590 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
7591 (build-system haskell-build-system)
7592 (home-page "https://github.com/simonmar/ghc-paths")
7593 (synopsis
7594 "Knowledge of GHC's installation directories")
7595 (description
7596 "Knowledge of GHC's installation directories.")
7597 (license license:bsd-3)))
7598
7599(define-public ghc-patience
7600 (package
7601 (name "ghc-patience")
7602 (version "0.1.1")
7603 (source
7604 (origin
7605 (method url-fetch)
7606 (uri (string-append
7607 "https://hackage.haskell.org/package/patience/patience-"
7608 version ".tar.gz"))
7609 (sha256
7610 (base32
7611 "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"))))
7612 (build-system haskell-build-system)
7613 (home-page "https://hackage.haskell.org/package/patience")
7614 (synopsis "Patience diff and longest increasing subsequence")
7615 (description
7616 "This library implements the 'patience diff' algorithm, as well as the
7617patience algorithm for the longest increasing subsequence problem.
7618Patience diff computes the difference between two lists, for example the lines
7619of two versions of a source file. It provides a good balance between
7620performance, nice output for humans, and simplicity of implementation.")
7621 (license license:bsd-3)))
7622
7623(define-public ghc-pcre-light
7624 (package
7625 (name "ghc-pcre-light")
7626 (version "0.4.0.4")
7627 (source
7628 (origin
7629 (method url-fetch)
7630 (uri (string-append
7631 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7632 version
7633 ".tar.gz"))
7634 (sha256
7635 (base32
7636 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7637 (build-system haskell-build-system)
7638 (inputs
7639 `(("pcre" ,pcre)))
7640 (native-inputs
7641 `(("pkg-config" ,pkg-config)))
7642 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7643 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7644 (description "This package provides a small, efficient, and portable regex
7645library for Perl 5 compatible regular expressions. The PCRE library is a set
7646of functions that implement regular expression pattern matching using the same
7647syntax and semantics as Perl 5.")
7648 (license license:bsd-3)))
7649
7650(define-public ghc-persistent
7651 (package
7652 (name "ghc-persistent")
7653 (version "2.8.2")
7654 (source
7655 (origin
7656 (method url-fetch)
7657 (uri (string-append "https://hackage.haskell.org/package/"
7658 "persistent-" version "/"
7659 "persistent-" version ".tar.gz"))
7660 (sha256
7661 (base32
7662 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
7663 (build-system haskell-build-system)
7664 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7665 ("ghc-conduit" ,ghc-conduit)
7666 ("ghc-resourcet" ,ghc-resourcet)
7667 ("ghc-exceptions" ,ghc-exceptions)
7668 ("ghc-monad-control" ,ghc-monad-control)
7669 ("ghc-lifted-base" ,ghc-lifted-base)
7670 ("ghc-resource-pool" ,ghc-resource-pool)
7671 ("ghc-path-pieces" ,ghc-path-pieces)
7672 ("ghc-http-api-data" ,ghc-http-api-data)
7673 ("ghc-aeson" ,ghc-aeson)
7674 ("ghc-monad-logger" ,ghc-monad-logger)
7675 ("ghc-transformers-base" ,ghc-transformers-base)
7676 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7677 ("ghc-unordered-containers" ,ghc-unordered-containers)
7678 ("ghc-vector" ,ghc-vector)
7679 ("ghc-attoparsec" ,ghc-attoparsec)
7680 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7681 ("ghc-blaze-html" ,ghc-blaze-html)
7682 ("ghc-blaze-markup" ,ghc-blaze-markup)
7683 ("ghc-silently" ,ghc-silently)
7684 ("ghc-fast-logger" ,ghc-fast-logger)
7685 ("ghc-scientific" ,ghc-scientific)
7686 ("ghc-tagged" ,ghc-tagged)
7687 ("ghc-void" ,ghc-void)))
7688 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7689 (home-page "https://www.yesodweb.com/book/persistent")
7690 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7691 (description "This Haskell package allows Haskell programs to access data
7692storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7693way.")
7694 (license license:expat)))
7695
7696(define-public ghc-persistent-sqlite
7697 (package
7698 (name "ghc-persistent-sqlite")
7699 (version "2.8.2")
7700 (source
7701 (origin
7702 (method url-fetch)
7703 (uri (string-append "https://hackage.haskell.org/package/"
7704 "persistent-sqlite-" version "/"
7705 "persistent-sqlite-" version ".tar.gz"))
7706 (sha256
7707 (base32
7708 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7709 (build-system haskell-build-system)
7710 (inputs `(("ghc-persistent" ,ghc-persistent)
7711 ("ghc-unliftio-core" ,ghc-unliftio-core)
7712 ("ghc-aeson" ,ghc-aeson)
7713 ("ghc-conduit" ,ghc-conduit)
7714 ("ghc-monad-logger" ,ghc-monad-logger)
7715 ("ghc-microlens-th" ,ghc-microlens-th)
7716 ("ghc-resourcet" ,ghc-resourcet)
7717 ("ghc-old-locale" ,ghc-old-locale)
7718 ("ghc-resource-pool" ,ghc-resource-pool)
7719 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7720 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7721 ("ghc-persistent-template" ,ghc-persistent-template)
7722 ("ghc-temporary" ,ghc-temporary)))
7723 (home-page
7724 "https://www.yesodweb.com/book/persistent")
7725 (synopsis "Backend for the persistent library using sqlite3")
7726 (description "This Haskell package includes a thin sqlite3 wrapper based
7727on the direct-sqlite package, as well as the entire C library, so there are no
7728system dependencies.")
7729 (license license:expat)))
7730
7731(define-public ghc-persistent-template
7732 (package
7733 (name "ghc-persistent-template")
7734 (version "2.5.4")
7735 (source
7736 (origin
7737 (method url-fetch)
7738 (uri (string-append "https://hackage.haskell.org/package/"
7739 "persistent-template-" version "/"
7740 "persistent-template-" version ".tar.gz"))
7741 (sha256
7742 (base32
7743 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7744 (build-system haskell-build-system)
7745 (arguments
7746 `(#:cabal-revision
7747 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7748 (inputs `(("ghc-persistent" ,ghc-persistent)
7749 ("ghc-monad-control" ,ghc-monad-control)
7750 ("ghc-aeson" ,ghc-aeson)
7751 ("ghc-aeson-compat" ,ghc-aeson-compat)
7752 ("ghc-monad-logger" ,ghc-monad-logger)
7753 ("ghc-unordered-containers" ,ghc-unordered-containers)
7754 ("ghc-tagged" ,ghc-tagged)
7755 ("ghc-path-pieces" ,ghc-path-pieces)
7756 ("ghc-http-api-data" ,ghc-http-api-data)))
7757 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7758 ("ghc-quickcheck" ,ghc-quickcheck)))
7759 (home-page "https://www.yesodweb.com/book/persistent")
7760 (synopsis "Type-safe, non-relational, multi-backend persistence")
7761 (description "This Haskell package provides interfaces and helper
7762functions for the ghc-persistent package.")
7763 (license license:expat)))
7764
7765(define-public ghc-polyparse
7766 (package
7767 (name "ghc-polyparse")
9822b9ca 7768 (version "1.12.1")
dddbc90c
RV
7769 (source
7770 (origin
7771 (method url-fetch)
7772 (uri (string-append
7773 "https://hackage.haskell.org/package/polyparse/polyparse-"
7774 version
7775 ".tar.gz"))
7776 (sha256
7777 (base32
9822b9ca 7778 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
7779 (build-system haskell-build-system)
7780 (home-page
7781 "http://code.haskell.org/~malcolm/polyparse/")
7782 (synopsis
7783 "Alternative parser combinator libraries")
7784 (description
7785 "This package provides a variety of alternative parser combinator
7786libraries, including the original HuttonMeijer set. The Poly sets have
7787features like good error reporting, arbitrary token type, running state, lazy
7788parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7789standard Read class, for better deserialisation of Haskell values from
7790Strings.")
7791 (license license:lgpl2.1)))
7792
7793(define-public ghc-pqueue
7794 (package
7795 (name "ghc-pqueue")
142415b0 7796 (version "1.4.1.2")
dddbc90c
RV
7797 (source
7798 (origin
7799 (method url-fetch)
7800 (uri (string-append "https://hackage.haskell.org/package/"
7801 "pqueue/pqueue-" version ".tar.gz"))
7802 (sha256
7803 (base32
142415b0 7804 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
7805 (build-system haskell-build-system)
7806 (native-inputs
7807 `(("ghc-quickcheck" ,ghc-quickcheck)))
7808 (home-page "https://hackage.haskell.org/package/pqueue")
7809 (synopsis "Reliable, persistent, fast priority queues")
7810 (description
7811 "This package provides a fast, reliable priority queue implementation
7812based on a binomial heap.")
7813 (license license:bsd-3)))
7814
7815(define-public ghc-prelude-extras
7816 (package
7817 (name "ghc-prelude-extras")
7818 (version "0.4.0.3")
7819 (source
7820 (origin
7821 (method url-fetch)
7822 (uri (string-append
7823 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7824 version
7825 ".tar.gz"))
7826 (sha256
7827 (base32
7828 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7829 (build-system haskell-build-system)
7830 (home-page "https://github.com/ekmett/prelude-extras")
7831 (synopsis "Higher order versions of Prelude classes")
7832 (description "This library provides higher order versions of
7833@code{Prelude} classes to ease programming with polymorphic recursion and
7834reduce @code{UndecidableInstances}.")
7835 (license license:bsd-3)))
7836
7837(define-public ghc-prettyclass
7838 (package
7839 (name "ghc-prettyclass")
7840 (version "1.0.0.0")
7841 (source
7842 (origin
7843 (method url-fetch)
7844 (uri (string-append "https://hackage.haskell.org/package/"
7845 "prettyclass/prettyclass-" version ".tar.gz"))
7846 (sha256
7847 (base32
7848 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7849 (build-system haskell-build-system)
7850 (home-page "http://hackage.haskell.org/package/prettyclass")
7851 (synopsis "Pretty printing class similar to Show")
7852 (description "This package provides a pretty printing class similar
7853to @code{Show}, based on the HughesPJ pretty printing library. It
7854provides the pretty printing class and instances for the Prelude
7855types.")
7856 (license license:bsd-3)))
7857
7858(define-public ghc-pretty-hex
7859 (package
7860 (name "ghc-pretty-hex")
7861 (version "1.0")
7862 (source
7863 (origin
7864 (method url-fetch)
7865 (uri (string-append "https://hackage.haskell.org/package/"
7866 "pretty-hex-" version "/"
7867 "pretty-hex-" version ".tar.gz"))
7868 (sha256
7869 (base32
7870 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7871 (build-system haskell-build-system)
7872 (home-page "https://github.com/GaloisInc/hexdump")
7873 (synopsis "Haskell library for hex dumps of ByteStrings")
7874 (description "This Haskell library generates pretty hex dumps of
7875ByteStrings in the style of other common *nix hex dump tools.")
7876 (license license:bsd-3)))
7877
7878(define-public ghc-pretty-show
7879 (package
7880 (name "ghc-pretty-show")
7683a084 7881 (version "1.9.5")
dddbc90c
RV
7882 (source
7883 (origin
7884 (method url-fetch)
7885 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
7886 "pretty-show-" version ".tar.gz"))
7887 (sha256
7888 (base32
7683a084 7889 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
7890 (build-system haskell-build-system)
7891 (inputs
7892 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
7893 ("ghc-happy" ,ghc-happy)))
7894 (home-page "http://wiki.github.com/yav/pretty-show")
7895 (synopsis "Tools for working with derived `Show` instances")
7896 (description
7897 "This package provides a library and an executable for working with
7898derived @code{Show} instances. By using the library, derived @code{Show}
7899instances can be parsed into a generic data structure. The @code{ppsh} tool
7900uses the library to produce human-readable versions of @code{Show} instances,
7901which can be quite handy for debugging Haskell programs. We can also render
7902complex generic values into an interactive Html page, for easier
7903examination.")
7904 (license license:expat)))
7905
7906(define-public ghc-primitive
7907 (package
7908 (name "ghc-primitive")
7909 (version "0.6.4.0")
7910 (outputs '("out" "doc"))
7911 (source
7912 (origin
7913 (method url-fetch)
7914 (uri (string-append
7915 "https://hackage.haskell.org/package/primitive/primitive-"
7916 version
7917 ".tar.gz"))
7918 (sha256
7919 (base32
7920 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
7921 (build-system haskell-build-system)
6cf0daa4
TS
7922 (arguments
7923 `(#:cabal-revision
7924 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
7925 (home-page
7926 "https://github.com/haskell/primitive")
7927 (synopsis "Primitive memory-related operations")
7928 (description
7929 "This package provides various primitive memory-related operations.")
7930 (license license:bsd-3)))
7931
21f5b9a9
JS
7932(define-public ghc-process-extras
7933 (package
7934 (name "ghc-process-extras")
7935 (version "0.7.4")
7936 (source
7937 (origin
7938 (method url-fetch)
7939 (uri
7940 (string-append
7941 "https://hackage.haskell.org/package/process-extras/"
7942 "process-extras-" version ".tar.gz"))
7943 (sha256
7944 (base32
7945 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
7946 (build-system haskell-build-system)
7947 (inputs
7948 `(("ghc-data-default" ,ghc-data-default)
7949 ("ghc-generic-deriving" ,ghc-generic-deriving)
7950 ("ghc-hunit" ,ghc-hunit)
7951 ("ghc-listlike" ,ghc-listlike)))
7952 (home-page "https://github.com/seereason/process-extras")
7953 (synopsis "Extra tools for managing processes")
f74b6983 7954 (description "This package extends
21f5b9a9
JS
7955@url{http://hackage.haskell.org/package/process}. It allows you to read
7956process input and output as ByteStrings or Text, or write your own
7957ProcessOutput instance. It also provides lazy process input and output,
7958and a ProcessMaker class for more flexibility in the process creation
7959API.")
7960 (license license:expat)))
7961
dddbc90c
RV
7962(define-public ghc-profunctors
7963 (package
7964 (name "ghc-profunctors")
7965 (version "5.2.2")
7966 (source
7967 (origin
7968 (method url-fetch)
7969 (uri (string-append
7970 "https://hackage.haskell.org/package/profunctors/profunctors-"
7971 version
7972 ".tar.gz"))
7973 (sha256
7974 (base32
7975 "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9"))))
7976 (build-system haskell-build-system)
7977 (arguments
7978 `(#:cabal-revision
7979 ("2" "1ywlg9z8nlhd2avgb8c6gbkv8zyk7hvc25926bafyg0m0k8y1amq")))
7980 (inputs
7981 `(("ghc-base-orphans" ,ghc-base-orphans)
7982 ("ghc-bifunctors" ,ghc-bifunctors)
7983 ("ghc-comonad" ,ghc-comonad)
7984 ("ghc-contravariant" ,ghc-contravariant)
7985 ("ghc-distributive" ,ghc-distributive)
7986 ("ghc-semigroups" ,ghc-semigroups)
7987 ("ghc-tagged" ,ghc-tagged)))
7988 (home-page "https://github.com/ekmett/profunctors/")
7989 (synopsis "Profunctors for Haskell")
7990 (description "This library provides profunctors for Haskell.")
7991 (license license:bsd-3)))
7992
7993(define-public ghc-psqueues
7994 (package
7995 (name "ghc-psqueues")
5d133942 7996 (version "0.2.7.2")
dddbc90c
RV
7997 (source
7998 (origin
7999 (method url-fetch)
8000 (uri (string-append "https://hackage.haskell.org/package/"
8001 "psqueues-" version "/"
8002 "psqueues-" version ".tar.gz"))
8003 (sha256
8004 (base32
5d133942 8005 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
8006 (build-system haskell-build-system)
8007 (inputs
8008 `(("ghc-hashable" ,ghc-hashable)))
8009 (native-inputs
8010 `(("ghc-hunit" ,ghc-hunit)
8011 ("ghc-quickcheck" ,ghc-quickcheck)
8012 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
8013 ("ghc-tasty" ,ghc-tasty)
8014 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8015 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
8016 (home-page "https://github.com/jaspervdj/psqueues")
8017 (synopsis "Pure priority search queues")
8018 (description "The psqueues package provides
8019@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
8020three different flavors:
8021
8022@itemize
8023@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8024fast insertion, deletion and lookup. This implementation is based on Ralf
8025Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8026Implementation Technique for Priority Search Queues}.
8027
8028Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
8029PSQueue} library, although it is considerably faster and provides a slightly
8030different API.
8031
8032@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8033key type to @code{Int} and uses a
8034@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8035with an additional min-heap property.
8036
8037@item @code{HashPSQ k p v} is a fairly straightforward extension
8038of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8039@code{IntPSQ}. If there are any hash collisions, it uses an
8040@code{OrdPSQ} to resolve those. The performance of this implementation
8041is comparable to that of @code{IntPSQ}, but it is more widely
8042applicable since the keys are not restricted to @code{Int},
8043but rather to any @code{Hashable} datatype.
8044@end itemize
8045
8046Each of the three implementations provides the same API, so they can
8047be used interchangeably.
8048
8049Typical applications of Priority Search Queues include:
8050
8051@itemize
8052@item Caches, and more specifically LRU Caches;
8053@item Schedulers;
8054@item Pathfinding algorithms, such as Dijkstra's and A*.
8055@end itemize")
8056 (license license:bsd-3)))
8057
8058(define-public ghc-random
8059 (package
8060 (name "ghc-random")
8061 (version "1.1")
8062 (outputs '("out" "doc"))
8063 (source
8064 (origin
8065 (method url-fetch)
8066 (uri (string-append
8067 "https://hackage.haskell.org/package/random/random-"
8068 version
8069 ".tar.gz"))
8070 (sha256
8071 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8072 (build-system haskell-build-system)
8073 (home-page "https://hackage.haskell.org/package/random")
8074 (synopsis "Random number library")
8075 (description "This package provides a basic random number generation
8076library, including the ability to split random number generators.")
8077 (license license:bsd-3)))
8078
8079(define-public ghc-raw-strings-qq
8080 (package
8081 (name "ghc-raw-strings-qq")
8082 (version "1.1")
8083 (source
8084 (origin
8085 (method url-fetch)
8086 (uri (string-append "https://hackage.haskell.org/package/"
8087 "raw-strings-qq/raw-strings-qq-"
8088 version ".tar.gz"))
8089 (sha256
8090 (base32
8091 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8092 (build-system haskell-build-system)
8093 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8094 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8095 (synopsis "Raw string literals for Haskell")
8096 (description
8097 "This package provides a quasiquoter for raw string literals, i.e. string
8098literals that don't recognise the standard escape sequences. Basically, they
8099make your code more readable by freeing you from the responsibility to escape
8100backslashes. They are useful when working with regular expressions,
8101DOS/Windows paths and markup languages (such as XML).")
8102 (license license:bsd-3)))
8103
8104(define-public ghc-readable
8105 (package
8106 (name "ghc-readable")
8107 (version "0.3.1")
8108 (source
8109 (origin
8110 (method url-fetch)
8111 (uri (string-append "https://hackage.haskell.org/package/"
8112 "readable/readable-" version ".tar.gz"))
8113 (sha256
8114 (base32
8115 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8116 (build-system haskell-build-system)
8117 (home-page "https://github.com/mightybyte/readable")
8118 (synopsis "Type class for reading from Text and ByteString")
8119 (description "This package provides a @code{Readable} type class for
8120reading data types from @code{ByteString} and @code{Text}. It also
8121includes efficient implementations for common data types.")
8122 (license license:bsd-3)))
8123
8124(define-public ghc-rebase
8125 (package
8126 (name "ghc-rebase")
8127 (version "1.2.4")
8128 (source
8129 (origin
8130 (method url-fetch)
8131 (uri (string-append "https://hackage.haskell.org/package/"
8132 "rebase-" version "/"
8133 "rebase-" version ".tar.gz"))
8134 (sha256
8135 (base32
8136 "1gah2qwfpzwamnikbc5h4nv6dgvv9h16di9ka7946za3nibyasya"))))
8137 (build-system haskell-build-system)
8138 (inputs `(("ghc-hashable" ,ghc-hashable)
8139 ("ghc-vector" ,ghc-vector)
8140 ("ghc-unordered-containers" ,ghc-unordered-containers)
8141 ("ghc-scientific" ,ghc-scientific)
8142 ("ghc-uuid" ,ghc-uuid)
8143 ("ghc-dlist" ,ghc-dlist)
8144 ("ghc-void" ,ghc-void)
8145 ("ghc-bifunctors" ,ghc-bifunctors)
8146 ("ghc-profunctors" ,ghc-profunctors)
8147 ("ghc-contravariant" ,ghc-contravariant)
8148 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8149 ("ghc-semigroups" ,ghc-semigroups)
8150 ("ghc-either" ,ghc-either)
8151 ("ghc-fail" ,ghc-fail)
8152 ("ghc-base-prelude" ,ghc-base-prelude)))
8153 (home-page "https://github.com/nikita-volkov/rebase")
8154 (synopsis "Progressive alternative to the base package
8155for Haskell")
8156 (description "This Haskell package is intended for those who are
8157tired of keeping long lists of dependencies to the same essential libraries
8158in each package as well as the endless imports of the same APIs all over again.
8159
8160It also supports the modern tendencies in the language.
8161
8162To solve those problems this package does the following:
8163
8164@itemize
8165@item Reexport the original APIs under the @code{Rebase} namespace.
8166
8167@item Export all the possible non-conflicting symbols from the
8168@code{Rebase.Prelude} module.
8169
8170@item Give priority to the modern practices in the conflicting cases.
8171@end itemize
8172
8173The policy behind the package is only to reexport the non-ambiguous and
8174non-controversial APIs, which the community has obviously settled on.
8175The package is intended to rapidly evolve with the contribution from
8176the community, with the missing features being added with pull-requests.")
8177 (license license:expat)))
8178
8179(define-public ghc-reducers
8180 (package
8181 (name "ghc-reducers")
8182 (version "3.12.3")
8183 (source
8184 (origin
8185 (method url-fetch)
8186 (uri (string-append
8187 "https://hackage.haskell.org/package/reducers/reducers-"
8188 version
8189 ".tar.gz"))
8190 (sha256
8191 (base32
8192 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8193 (build-system haskell-build-system)
8194 (inputs
8195 `(("ghc-fingertree" ,ghc-fingertree)
8196 ("ghc-hashable" ,ghc-hashable)
8197 ("ghc-unordered-containers" ,ghc-unordered-containers)
8198 ("ghc-semigroupoids" ,ghc-semigroupoids)
8199 ("ghc-semigroups" ,ghc-semigroups)))
8200 (home-page "https://github.com/ekmett/reducers/")
8201 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8202 (description "This library provides various semigroups, specialized
8203containers and a general map/reduce framework for Haskell.")
8204 (license license:bsd-3)))
8205
8206(define-public ghc-refact
8207 (package
8208 (name "ghc-refact")
8209 (version "0.3.0.2")
8210 (source
8211 (origin
8212 (method url-fetch)
8213 (uri (string-append "https://hackage.haskell.org/package/"
8214 "refact/refact-"
8215 version ".tar.gz"))
8216 (sha256
8217 (base32
8218 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8219 (build-system haskell-build-system)
8220 (home-page "http://hackage.haskell.org/package/refact")
8221 (synopsis "Specify refactorings to perform with apply-refact")
8222 (description
8223 "This library provides a datatype which can be interpreted by
8224@code{apply-refact}. It exists as a separate library so that applications can
8225specify refactorings without depending on GHC.")
8226 (license license:bsd-3)))
8227
8228(define-public ghc-reflection
8229 (package
8230 (name "ghc-reflection")
d215f1cc 8231 (version "2.1.5")
dddbc90c
RV
8232 (source
8233 (origin
8234 (method url-fetch)
8235 (uri (string-append
8236 "https://hackage.haskell.org/package/reflection/reflection-"
8237 version
8238 ".tar.gz"))
8239 (sha256
8240 (base32
d215f1cc 8241 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
8242 (build-system haskell-build-system)
8243 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
8244 (native-inputs
8245 `(("ghc-hspec" ,ghc-hspec)
8246 ("ghc-quickcheck" ,ghc-quickcheck)
8247 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
8248 (home-page "https://github.com/ekmett/reflection")
8249 (synopsis "Reify arbitrary terms into types that can be reflected back
8250into terms")
8251 (description "This package addresses the 'configuration problem' which is
8252propagating configurations that are available at run-time, allowing multiple
8253configurations to coexist without resorting to mutable global variables or
8254@code{System.IO.Unsafe.unsafePerformIO}.")
8255 (license license:bsd-3)))
8256
8257(define-public ghc-regex
8258 (package
8259 (name "ghc-regex")
b9a5e634 8260 (version "1.0.2.0")
dddbc90c
RV
8261 (source
8262 (origin
8263 (method url-fetch)
8264 (uri (string-append "https://hackage.haskell.org/package/regex/"
8265 "regex-" version ".tar.gz"))
8266 (sha256
8267 (base32
b9a5e634 8268 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
8269 (build-system haskell-build-system)
8270 (arguments
8271 `(#:phases
8272 (modify-phases %standard-phases
8273 (add-after 'unpack 'relax-dependencies
8274 (lambda _
8275 (substitute* "regex.cabal"
8276 (("base-compat.*>=.*0.6.*")
8277 "base-compat >= 0.6\n")
8278 (("template-haskell.*>=.*2.7.*")
8279 "template-haskell >= 2.7\n"))
8280 #t)))))
8281 (inputs
8282 `(("ghc-base-compat" ,ghc-base-compat)
8283 ("ghc-hashable" ,ghc-hashable)
8284 ("ghc-regex-base" ,ghc-regex-base)
8285 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8286 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8287 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8288 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8289 ("ghc-unordered-containers" ,ghc-unordered-containers)
8290 ("ghc-utf8-string" ,ghc-utf8-string)))
8291 (home-page "http://regex.uk")
8292 (synopsis "Toolkit for regex-base")
8293 (description
8294 "This package provides a regular expression toolkit for @code{regex-base}
8295with compile-time checking of regular expression syntax, data types for
8296matches and captures, a text replacement toolkit, portable options, high-level
8297AWK-like tools for building text processing apps, regular expression macros
8298with parsers and test bench, comprehensive documentation, tutorials and
8299copious examples.")
8300 (license license:bsd-3)))
8301
8302(define-public ghc-regex-applicative
8303 (package
8304 (name "ghc-regex-applicative")
30f60e42 8305 (version "0.3.3.1")
dddbc90c
RV
8306 (source
8307 (origin
8308 (method url-fetch)
8309 (uri (string-append
8310 "https://hackage.haskell.org/package/regex-applicative/"
8311 "regex-applicative-" version ".tar.gz"))
8312 (sha256
8313 (base32
30f60e42 8314 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
8315 (build-system haskell-build-system)
8316 (inputs
8317 `(("ghc-smallcheck" ,ghc-smallcheck)
8318 ("ghc-tasty" ,ghc-tasty)
8319 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8320 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8321 (home-page "https://github.com/feuerbach/regex-applicative")
8322 (synopsis "Regex-based parsing with applicative interface")
8323 (description
8324 "@code{regex-applicative} is a Haskell library for parsing using
8325regular expressions. Parsers can be built using Applicative interface.")
8326 (license license:expat)))
8327
8328(define-public ghc-regex-base
8329 (package
8330 (name "ghc-regex-base")
8331 (version "0.93.2")
8332 (source
8333 (origin
8334 (method url-fetch)
8335 (uri (string-append
8336 "https://hackage.haskell.org/package/regex-base/regex-base-"
8337 version
8338 ".tar.gz"))
8339 (sha256
8340 (base32
8341 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8342 (build-system haskell-build-system)
8343 (home-page
8344 "https://sourceforge.net/projects/lazy-regex")
8345 (synopsis "Replaces/Enhances Text.Regex")
8346 (description "@code{Text.Regex.Base} provides the interface API for
8347regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8348 (license license:bsd-3)))
8349
8350(define-public ghc-regex-compat
8351 (package
8352 (name "ghc-regex-compat")
8353 (version "0.95.1")
8354 (source
8355 (origin
8356 (method url-fetch)
8357 (uri (string-append
8358 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8359 version
8360 ".tar.gz"))
8361 (sha256
8362 (base32
8363 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8364 (build-system haskell-build-system)
8365 (inputs
8366 `(("ghc-regex-base" ,ghc-regex-base)
8367 ("ghc-regex-posix" ,ghc-regex-posix)))
8368 (home-page "https://sourceforge.net/projects/lazy-regex")
8369 (synopsis "Replaces/Enhances Text.Regex")
8370 (description "This library provides one module layer over
8371@code{regex-posix} to replace @code{Text.Regex}.")
8372 (license license:bsd-3)))
8373
8374(define-public ghc-regex-compat-tdfa
8375 (package
8376 (name "ghc-regex-compat-tdfa")
8377 (version "0.95.1.4")
8378 (source
8379 (origin
8380 (method url-fetch)
8381 (uri (string-append
8382 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8383 version ".tar.gz"))
8384 (sha256
8385 (base32
8386 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8387 (build-system haskell-build-system)
8388 (inputs
8389 `(("ghc-regex-base" ,ghc-regex-base)
8390 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8391 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8392 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8393 (description
8394 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8395@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8396This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8397this problem.")
8398 (license license:bsd-3)))
8399
8400(define-public ghc-regex-pcre-builtin
8401 (package
8402 (name "ghc-regex-pcre-builtin")
ee946143 8403 (version "0.94.5.8.8.35")
dddbc90c
RV
8404 (source (origin
8405 (method url-fetch)
8406 (uri (string-append "https://hackage.haskell.org/package/"
8407 "regex-pcre-builtin/regex-pcre-builtin-"
8408 version ".tar.gz"))
8409 (sha256
8410 (base32
ee946143 8411 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
8412 (build-system haskell-build-system)
8413 (inputs
8414 `(("ghc-regex-base" ,ghc-regex-base)))
8415 (home-page "https://hackage.haskell.org/package/regex-pcre")
8416 (synopsis "Enhancement of the builtin Text.Regex library")
8417 (description
8418 "This package is an enhancement of the @code{Text.Regex} library,
8419providing the PCRE backend to accompany regex-base, with bundled code from
8420@url{https://www.pcre.org}.")
8421 (license license:bsd-3)))
8422
8423(define-public ghc-regex-posix
8424 (package
8425 (name "ghc-regex-posix")
8426 (version "0.95.2")
8427 (source
8428 (origin
8429 (method url-fetch)
8430 (uri (string-append
8431 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8432 version
8433 ".tar.gz"))
8434 (sha256
8435 (base32
8436 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8437 (build-system haskell-build-system)
8438 (inputs
8439 `(("ghc-regex-base" ,ghc-regex-base)))
8440 (home-page "https://sourceforge.net/projects/lazy-regex")
8441 (synopsis "POSIX regular expressions for Haskell")
8442 (description "This library provides the POSIX regex backend used by the
8443Haskell library @code{regex-base}.")
8444 (license license:bsd-3)))
8445
8446(define-public ghc-regex-tdfa
8447 (package
8448 (name "ghc-regex-tdfa")
ce684db0 8449 (version "1.2.3.2")
dddbc90c
RV
8450 (source
8451 (origin
8452 (method url-fetch)
8453 (uri (string-append
8454 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8455 version ".tar.gz"))
8456 (sha256
8457 (base32
ce684db0 8458 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
8459 (build-system haskell-build-system)
8460 (inputs
8461 `(("ghc-regex-base" ,ghc-regex-base)))
8462 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8463 (synopsis "POSIX extended regular expressions in Haskell.")
8464 (description
8465 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8466extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8467inspired by libtre.")
8468 (license license:bsd-3)))
8469
8470(define-public ghc-regex-tdfa-text
8471 (package
8472 (name "ghc-regex-tdfa-text")
8473 (version "1.0.0.3")
8474 (source
8475 (origin
8476 (method url-fetch)
8477 (uri (string-append
8478 "https://hackage.haskell.org/package/regex-tdfa-text/"
8479 "regex-tdfa-text-" version ".tar.gz"))
8480 (sha256
8481 (base32
8482 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8483 (build-system haskell-build-system)
8484 (inputs
8485 `(("ghc-regex-base" ,ghc-regex-base)
8486 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8487 (home-page
8488 "http://hackage.haskell.org/package/regex-tdfa-text")
8489 (synopsis "Text interface for regex-tdfa")
8490 (description
8491 "This provides an extra text interface for regex-tdfa.")
8492 (license license:bsd-3)))
8493
8494(define-public ghc-rerebase
8495 (package
8496 (name "ghc-rerebase")
8497 (version "1.2.2")
8498 (source
8499 (origin
8500 (method url-fetch)
8501 (uri (string-append
8502 "https://hackage.haskell.org/package/rerebase/rerebase-"
8503 version ".tar.gz"))
8504 (sha256
8505 (base32
8506 "11v6rmz7ql2rdx6mhb3lsal952lwihclfhh0m7fcnii5br0906ks"))))
8507 (build-system haskell-build-system)
8508 (inputs
8509 `(("ghc-rebase" ,ghc-rebase)))
8510 (home-page "https://github.com/nikita-volkov/rerebase")
8511 (synopsis "Reexports from ``base'' with many other standard libraries")
8512 (description "A rich drop-in replacement for @code{base}. For details and
8513documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8514the project's home page}.")
8515 (license license:expat)))
8516
8517(define-public ghc-resolv
8518 (package
8519 (name "ghc-resolv")
8520 (version "0.1.1.1")
8521 (source
8522 (origin
8523 (method url-fetch)
8524 (uri (string-append
8525 "https://hackage.haskell.org/package/resolv/resolv-"
8526 version ".tar.gz"))
8527 (sha256
8528 (base32
8529 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
8530 (build-system haskell-build-system)
8531 (arguments
8532 `(#:cabal-revision
8533 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
8534 #:tests? #f)) ; The required test frameworks are too old.
8535 (inputs
8536 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8537 (home-page "https://github.com/haskell/hackage-security")
8538 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8539 (description "This package implements an API for accessing the
8540@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8541resolver service via the standard @code{libresolv} system library (whose
8542API is often available directly via the standard @code{libc} C library) on
8543Unix systems.")
8544 (license license:gpl3)))
8545
8546(define-public ghc-resource-pool
8547 (package
8548 (name "ghc-resource-pool")
8549 (version "0.2.3.2")
8550 (source
8551 (origin
8552 (method url-fetch)
8553 (uri (string-append "https://hackage.haskell.org/package/"
8554 "resource-pool-" version "/"
8555 "resource-pool-" version ".tar.gz"))
8556 (sha256
8557 (base32
8558 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8559 (build-system haskell-build-system)
8560 (inputs `(("ghc-hashable" ,ghc-hashable)
8561 ("ghc-monad-control" ,ghc-monad-control)
8562 ("ghc-transformers-base" ,ghc-transformers-base)
8563 ("ghc-vector" ,ghc-vector)))
8564 (home-page "https://github.com/bos/pool")
8565 (synopsis "Striped resource pooling implementation in Haskell")
8566 (description "This Haskell package provides striped pooling abstraction
8567for managing flexibly-sized collections of resources such as database
8568connections.")
8569 (license license:bsd-3)))
8570
8571(define-public ghc-resourcet
8572 (package
8573 (name "ghc-resourcet")
9ac341ac 8574 (version "1.2.2")
dddbc90c
RV
8575 (source
8576 (origin
8577 (method url-fetch)
8578 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8579 "resourcet-" version ".tar.gz"))
8580 (sha256
8581 (base32
9ac341ac 8582 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
8583 (build-system haskell-build-system)
8584 (inputs
8585 `(("ghc-transformers-base" ,ghc-transformers-base)
8586 ("ghc-monad-control" ,ghc-monad-control)
8587 ("ghc-transformers-compat" ,ghc-transformers-compat)
8588 ("ghc-mmorph" ,ghc-mmorph)
8589 ("ghc-exceptions" ,ghc-exceptions)
8590 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8591 (native-inputs
8592 `(("ghc-lifted-base" ,ghc-lifted-base)
8593 ("ghc-hspec" ,ghc-hspec)))
8594 (home-page "https://github.com/snoyberg/conduit")
8595 (synopsis "Deterministic allocation and freeing of scarce resources")
8596 (description "ResourceT is a monad transformer which creates a region of
8597code where you can safely allocate resources.")
8598 (license license:bsd-3)))
8599
8600(define-public ghc-rfc5051
8601 (package
8602 (name "ghc-rfc5051")
ec42ab7c 8603 (version "0.1.0.4")
dddbc90c
RV
8604 (source
8605 (origin
8606 (method url-fetch)
8607 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8608 "rfc5051-" version ".tar.gz"))
8609 (sha256
8610 (base32
ec42ab7c 8611 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
8612 (build-system haskell-build-system)
8613 (home-page "https://hackage.haskell.org/package/rfc5051")
8614 (synopsis "Simple unicode collation as per RFC5051")
8615 (description
8616 "This library implements @code{unicode-casemap}, the simple, non
8617locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8618unicode collation can be done using @code{text-icu}, but that is a big
8619dependency that depends on a large C library, and @code{rfc5051} might be
8620better for some purposes.")
8621 (license license:bsd-3)))
8622
8623(define-public ghc-rio
8624 (package
8625 (name "ghc-rio")
8626 (version "0.1.5.0")
8627 (source
8628 (origin
8629 (method url-fetch)
8630 (uri (string-append
8631 "https://hackage.haskell.org/package/rio/rio-"
8632 version ".tar.gz"))
8633 (sha256
8634 (base32
8635 "064h8a4hp53a479d3ak0vmqbx8hi0cpg7zn4wp23rjy26dka8p7g"))))
8636 (build-system haskell-build-system)
8637 (inputs
8638 `(("ghc-exceptions" ,ghc-exceptions)
8639 ("ghc-hashable" ,ghc-hashable)
8640 ("ghc-microlens" ,ghc-microlens)
8641 ("ghc-primitive" ,ghc-primitive)
8642 ("ghc-typed-process" ,ghc-typed-process)
8643 ("ghc-unliftio" ,ghc-unliftio)
8644 ("ghc-unordered-containers" ,ghc-unordered-containers)
8645 ("ghc-vector" ,ghc-vector)))
8646 (native-inputs
8647 `(("ghc-hspec" ,ghc-hspec)
8648 ("hspec-discover" ,hspec-discover)))
8649 (home-page "https://github.com/commercialhaskell/rio#readme")
8650 (synopsis "A standard library for Haskell")
8651 (description "This package works as a prelude replacement for Haskell,
8652providing more functionality and types out of the box than the standard
8653prelude (such as common data types like @code{ByteString} and
8654@code{Text}), as well as removing common ``gotchas'', like partial
8655functions and lazy I/O. The guiding principle here is:
8656@itemize
8657@item If something is safe to use in general and has no expected naming
8658conflicts, expose it.
8659@item If something should not always be used, or has naming conflicts,
8660expose it from another module in the hierarchy.
8661@end itemize")
8662 (license license:expat)))
8663
8664(define-public ghc-safe
8665 (package
8666 (name "ghc-safe")
8667 (version "0.3.17")
8668 (source
8669 (origin
8670 (method url-fetch)
8671 (uri (string-append
8672 "https://hackage.haskell.org/package/safe/safe-"
8673 version
8674 ".tar.gz"))
8675 (sha256
8676 (base32
8677 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8678 (build-system haskell-build-system)
8679 (native-inputs
8680 `(("ghc-quickcheck" ,ghc-quickcheck)))
8681 (home-page "https://github.com/ndmitchell/safe#readme")
8682 (synopsis "Library of safe (exception free) functions")
8683 (description "This library provides wrappers around @code{Prelude} and
8684@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8685exceptions.")
8686 (license license:bsd-3)))
8687
8688(define-public ghc-safe-exceptions
8689 (package
8690 (name "ghc-safe-exceptions")
8691 (version "0.1.7.0")
8692 (source
8693 (origin
8694 (method url-fetch)
8695 (uri (string-append "https://hackage.haskell.org/package/"
8696 "safe-exceptions/safe-exceptions-"
8697 version ".tar.gz"))
8698 (sha256
8699 (base32
8700 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8701 (build-system haskell-build-system)
8702 (arguments
8703 '(#:cabal-revision
8704 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8705 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8706 (native-inputs
8707 `(("ghc-hspec" ,ghc-hspec)
8708 ("ghc-void" ,ghc-void)
8709 ("hspec-discover" ,hspec-discover)))
8710 (home-page "https://github.com/fpco/safe-exceptions")
8711 (synopsis "Safe, consistent, and easy exception handling")
8712 (description "Runtime exceptions - as exposed in @code{base} by the
8713@code{Control.Exception} module - have long been an intimidating part of the
8714Haskell ecosystem. This package is intended to overcome this. It provides a
8715safe and simple API on top of the existing exception handling machinery. The
8716API is equivalent to the underlying implementation in terms of power but
8717encourages best practices to minimize the chances of getting the exception
8718handling wrong.")
8719 (license license:expat)))
8720
8721(define-public ghc-safeio
8722 (package
8723 (name "ghc-safeio")
8724 (version "0.0.5.0")
8725 (source
8726 (origin
8727 (method url-fetch)
8728 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8729 "safeio-" version ".tar.gz"))
8730 (sha256
8731 (base32
8732 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8733 (build-system haskell-build-system)
8734 (inputs
8735 `(("ghc-conduit" ,ghc-conduit)
8736 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8737 ("ghc-exceptions" ,ghc-exceptions)
8738 ("ghc-resourcet" ,ghc-resourcet)))
8739 (native-inputs
8740 `(("ghc-hunit" ,ghc-hunit)
8741 ("ghc-test-framework" ,ghc-test-framework)
8742 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8743 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8744 (home-page "https://github.com/luispedro/safeio")
8745 (synopsis "Write output to disk atomically")
8746 (description
8747 "This package implements utilities to perform atomic output so as to
8748avoid the problem of partial intermediate files.")
8749 (license license:expat)))
8750
8751(define-public ghc-safesemaphore
8752 (package
8753 (name "ghc-safesemaphore")
8754 (version "0.10.1")
8755 (source
8756 (origin
8757 (method url-fetch)
8758 (uri (string-append "https://hackage.haskell.org/package/"
8759 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8760 (sha256
8761 (base32
8762 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8763 (build-system haskell-build-system)
8764 (native-inputs
8765 `(("ghc-hunit" ,ghc-hunit)))
8766 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8767 (synopsis "Exception safe semaphores")
8768 (description "This library provides exception safe semaphores that can be
8769used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8770are not exception safe and can be broken by @code{killThread}.")
8771 (license license:bsd-3)))
8772
8773(define-public ghc-sandi
8774 (package
8775 (name "ghc-sandi")
8776 (version "0.4.2")
8777 (source
8778 (origin
8779 (method url-fetch)
8780 (uri (string-append
8781 "https://hackage.haskell.org/package/sandi/sandi-"
8782 version ".tar.gz"))
8783 (sha256
8784 (base32
8785 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8786 (build-system haskell-build-system)
8787 (inputs
8788 `(("ghc-stringsearch" ,ghc-stringsearch)
8789 ("ghc-conduit" ,ghc-conduit)
8790 ("ghc-exceptions" ,ghc-exceptions)
8791 ("ghc-hunit" ,ghc-hunit)
8792 ("ghc-tasty" ,ghc-tasty)
8793 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8794 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8795 ("ghc-tasty-th" ,ghc-tasty-th)))
8796 (home-page "https://hackage.haskell.org/package/sandi")
8797 (synopsis "Data encoding library")
8798 (description "Reasonably fast data encoding library.")
8799 (license license:bsd-3)))
8800
8801(define-public ghc-scientific
8802 (package
8803 (name "ghc-scientific")
8804 (version "0.3.6.2")
8805 (source
8806 (origin
8807 (method url-fetch)
8808 (uri (string-append
8809 "https://hackage.haskell.org/package/scientific/scientific-"
8810 version
8811 ".tar.gz"))
8812 (sha256
8813 (base32
8814 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8815 (build-system haskell-build-system)
8816 (inputs
8817 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8818 ("ghc-hashable" ,ghc-hashable)
8819 ("ghc-primitive" ,ghc-primitive)))
8820 (native-inputs
8821 `(("ghc-tasty" ,ghc-tasty)
8822 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8823 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8824 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8825 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8826 ("ghc-smallcheck" ,ghc-smallcheck)
8827 ("ghc-quickcheck" ,ghc-quickcheck)))
8828 (home-page "https://github.com/basvandijk/scientific")
8829 (synopsis "Numbers represented using scientific notation")
8830 (description "This package provides @code{Data.Scientific}, which provides
8831the number type @code{Scientific}. Scientific numbers are arbitrary precision
8832and space efficient. They are represented using
8833@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
8834notation}.")
8835 (license license:bsd-3)))
8836
8837(define-public ghc-scientific-bootstrap
8838 (package
8839 (inherit ghc-scientific)
8840 (name "ghc-scientific-bootstrap")
8841 (arguments `(#:tests? #f))
8842 (inputs
8843 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
8844 ("ghc-hashable" ,ghc-hashable)
8845 ("ghc-primitive" ,ghc-primitive)))
8846 (native-inputs '())
799d8d3c 8847 (properties '((hidden? #t)))))
dddbc90c
RV
8848
8849(define-public ghc-sdl
8850 (package
8851 (name "ghc-sdl")
8852 (version "0.6.7.0")
8853 (source
8854 (origin
8855 (method url-fetch)
8856 (uri (string-append
8857 "https://hackage.haskell.org/package/SDL/SDL-"
8858 version
8859 ".tar.gz"))
8860 (sha256
8861 (base32
8862 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
8863 (build-system haskell-build-system)
8864 (inputs
8865 `(("sdl" ,sdl)))
8866 (home-page "https://hackage.haskell.org/package/SDL")
8867 (synopsis "LibSDL for Haskell")
8868 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
8869multimedia library designed to provide low level access to audio, keyboard,
8870mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
8871by MPEG playback software, emulators, and many popular games, including the
8872award winning Linux port of \"Civilization: Call To Power.\"")
8873 (license license:bsd-3)))
8874
1874cdc1
RV
8875(define-public ghc-sdl2
8876 (package
8877 (name "ghc-sdl2")
8878 (version "2.4.1.0")
8879 (source
8880 (origin
8881 (method url-fetch)
8882 (uri (string-append "https://hackage.haskell.org/package/"
8883 "sdl2/sdl2-" version ".tar.gz"))
8884 (sha256
8885 (base32
8886 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
8887 (build-system haskell-build-system)
8888 (arguments '(#:tests? #f)) ; tests require graphical environment
8889 (inputs
8890 `(("ghc-exceptions" ,ghc-exceptions)
8891 ("ghc-linear" ,ghc-linear)
8892 ("ghc-statevar" ,ghc-statevar)
8893 ("ghc-vector" ,ghc-vector)
8894 ("sdl2" ,sdl2)))
8895 (native-inputs
8896 `(("ghc-weigh" ,ghc-weigh)
8897 ("pkg-config" ,pkg-config)))
8898 (home-page "http://hackage.haskell.org/package/sdl2")
8899 (synopsis "High- and low-level bindings to the SDL library")
8900 (description
8901 "This package contains bindings to the SDL 2 library, in both high- and
8902low-level forms. The @code{SDL} namespace contains high-level bindings, where
8903enumerations are split into sum types, and we perform automatic
8904error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
8905translation of the C API into Haskell FFI calls. As such, this does not
8906contain sum types nor error checking. Thus this namespace is suitable for
8907building your own abstraction over SDL, but is not recommended for day-to-day
8908programming.")
8909 (license license:bsd-3)))
8910
8911(define-public ghc-sdl2-image
8912 (package
8913 (name "ghc-sdl2-image")
8914 (version "2.0.0")
8915 (source
8916 (origin
8917 (method url-fetch)
8918 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
8919 "sdl2-image-" version ".tar.gz"))
8920 (sha256
8921 (base32
8922 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
8923 (build-system haskell-build-system)
8924 (inputs
8925 `(("ghc-sdl2" ,ghc-sdl2)
8926 ("sdl2-image" ,sdl2-image)))
8927 (native-inputs
8928 `(("pkg-config" ,pkg-config)))
8929 (home-page "http://hackage.haskell.org/package/sdl2-image")
8930 (synopsis "Bindings to SDL2_image")
8931 (description "This package provides Haskell bindings to
8932@code{SDL2_image}.")
8933 (license license:expat)))
8934
8935(define-public ghc-sdl2-mixer
8936 (package
8937 (name "ghc-sdl2-mixer")
8938 (version "1.1.0")
8939 (source
8940 (origin
8941 (method url-fetch)
8942 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
8943 "sdl2-mixer-" version ".tar.gz"))
8944 (sha256
8945 (base32
8946 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
8947 (build-system haskell-build-system)
8948 (inputs
8949 `(("ghc-data-default-class" ,ghc-data-default-class)
8950 ("ghc-lifted-base" ,ghc-lifted-base)
8951 ("ghc-monad-control" ,ghc-monad-control)
8952 ("ghc-sdl2" ,ghc-sdl2)
8953 ("ghc-vector" ,ghc-vector)
8954 ("sdl2-mixer" ,sdl2-mixer)))
8955 (native-inputs
8956 `(("pkg-config" ,pkg-config)))
8957 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
8958 (synopsis "Bindings to SDL2 mixer")
8959 (description "This package provides Haskell bindings to
8960@code{SDL2_mixer}.")
8961 (license license:bsd-3)))
8962
dddbc90c
RV
8963(define-public ghc-sdl-image
8964 (package
8965 (name "ghc-sdl-image")
8966 (version "0.6.2.0")
8967 (source
8968 (origin
8969 (method url-fetch)
8970 (uri (string-append
8971 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
8972 version
8973 ".tar.gz"))
8974 (sha256
8975 (base32
8976 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
8977 (build-system haskell-build-system)
8978 (arguments
8979 `(#:configure-flags
8980 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
8981 (sdl-image-include (string-append sdl-image "/include/SDL")))
8982 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
8983 (inputs
8984 `(("ghc-sdl" ,ghc-sdl)
8985 ("sdl-image" ,sdl-image)))
8986 (home-page "https://hackage.haskell.org/package/SDL-image")
8987 (synopsis "Haskell bindings to libSDL_image")
8988 (description "SDL_image is an image file loading library. It loads images
8989as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
8990PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
8991 (license license:bsd-3)))
8992
8993(define-public ghc-sdl-mixer
8994 (package
8995 (name "ghc-sdl-mixer")
8996 (version "0.6.3.0")
8997 (source
8998 (origin
8999 (method url-fetch)
9000 (uri (string-append
9001 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
9002 version
9003 ".tar.gz"))
9004 (sha256
9005 (base32
9006 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
9007 (build-system haskell-build-system)
9008 (arguments
9009 `(#:configure-flags
9010 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
9011 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
9012 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
9013 (inputs
9014 `(("ghc-sdl" ,ghc-sdl)
9015 ("sdl-mixer" ,sdl-mixer)))
9016 (home-page "https://hackage.haskell.org/package/SDL-mixer")
9017 (synopsis "Haskell bindings to libSDL_mixer")
9018 (description "SDL_mixer is a sample multi-channel audio mixer library. It
9019supports any number of simultaneously playing channels of 16 bit stereo audio,
9020plus a single channel of music, mixed by the popular MikMod MOD, Timidity
9021MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
9022 (license license:bsd-3)))
9023
9024(define-public ghc-securemem
9025 (package
9026 (name "ghc-securemem")
9027 (version "0.1.10")
9028 (source
9029 (origin
9030 (method url-fetch)
9031 (uri (string-append "https://hackage.haskell.org/package/"
9032 "securemem-" version "/"
9033 "securemem-" version ".tar.gz"))
9034 (sha256
9035 (base32
9036 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
9037 (build-system haskell-build-system)
9038 (inputs `(("ghc-byteable" ,ghc-byteable)
9039 ("ghc-memory" ,ghc-memory)))
9040 (home-page "https://github.com/vincenthz/hs-securemem")
9041 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9042Haskell")
9043 (description "SecureMem is similar to ByteString, except that it provides
9044a memory chunk that will be auto-scrubbed after it run out of scope.")
9045 (license license:bsd-3)))
9046
9047(define-public ghc-semigroupoids
9048 (package
9049 (name "ghc-semigroupoids")
9050 (version "5.2.2")
9051 (source
9052 (origin
9053 (method url-fetch)
9054 (uri (string-append
9055 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9056 version
9057 ".tar.gz"))
9058 (sha256
9059 (base32
9060 "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
9061 (build-system haskell-build-system)
9062 (arguments
9063 `(#:cabal-revision
9064 ("4" "0pqfrxzypjq6z8lgdkzq4vhcyqkpk5326hny0r6snpc3gm78r4ij")))
9065 (inputs
9066 `(("ghc-base-orphans" ,ghc-base-orphans)
9067 ("ghc-transformers-compat" ,ghc-transformers-compat)
9068 ("ghc-bifunctors" ,ghc-bifunctors)
9069 ("ghc-comonad" ,ghc-comonad)
9070 ("ghc-contravariant" ,ghc-contravariant)
9071 ("ghc-distributive" ,ghc-distributive)
9072 ("ghc-hashable" ,ghc-hashable)
9073 ("ghc-semigroups" ,ghc-semigroups)
9074 ("ghc-tagged" ,ghc-tagged)
9075 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9076 (native-inputs
9077 `(("cabal-doctest" ,cabal-doctest)
9078 ("ghc-doctest" ,ghc-doctest)))
9079 (home-page "https://github.com/ekmett/semigroupoids")
9080 (synopsis "Semigroupoids operations for Haskell")
9081 (description "This library provides a wide array of (semi)groupoids and
9082operations for working with them. A @code{Semigroupoid} is a @code{Category}
9083without the requirement of identity arrows for every object in the category.
9084A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9085Finally, to work with these weaker structures it is beneficial to have
9086containers that can provide stronger guarantees about their contents, so
9087versions of @code{Traversable} and @code{Foldable} that can be folded with
9088just a @code{Semigroup} are added.")
9089 (license license:bsd-3)))
9090
9091(define-public ghc-semigroups
9092 (package
9093 (name "ghc-semigroups")
9094 (version "0.18.5")
9095 (source
9096 (origin
9097 (method url-fetch)
9098 (uri (string-append
9099 "https://hackage.haskell.org/package/semigroups/semigroups-"
9100 version
9101 ".tar.gz"))
9102 (sha256
9103 (base32
9104 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9105 (build-system haskell-build-system)
9106 (inputs
9107 `(("ghc-nats" ,ghc-nats)
9108 ("ghc-tagged" ,ghc-tagged)
9109 ("ghc-unordered-containers" ,ghc-unordered-containers)
9110 ("ghc-hashable" ,ghc-hashable)))
9111 (home-page "https://github.com/ekmett/semigroups/")
9112 (synopsis "Semigroup operations for Haskell")
9113 (description "This package provides semigroups for Haskell. In
9114mathematics, a semigroup is an algebraic structure consisting of a set
9115together with an associative binary operation. A semigroup generalizes a
9116monoid in that there might not exist an identity element. It
9117also (originally) generalized a group (a monoid with all inverses) to a type
9118where every element did not have to have an inverse, thus the name
9119semigroup.")
9120 (license license:bsd-3)))
9121
9122(define-public ghc-semigroups-bootstrap
9123 (package
9124 (inherit ghc-semigroups)
9125 (name "ghc-semigroups-bootstrap")
9126 (inputs
9127 `(("ghc-nats" ,ghc-nats-bootstrap)
9128 ("ghc-tagged" ,ghc-tagged)
9129 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9130 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9131 (properties '((hidden? #t)))))
dddbc90c
RV
9132
9133(define-public ghc-setenv
9134 (package
9135 (name "ghc-setenv")
9136 (version "0.1.1.3")
9137 (source
9138 (origin
9139 (method url-fetch)
9140 (uri (string-append
9141 "https://hackage.haskell.org/package/setenv/setenv-"
9142 version
9143 ".tar.gz"))
9144 (sha256
9145 (base32
9146 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9147 (build-system haskell-build-system)
9148 (home-page "https://hackage.haskell.org/package/setenv")
9149 (synopsis "Library for setting environment variables")
9150 (description "This package provides a Haskell library for setting
9151environment variables.")
9152 (license license:expat)))
9153
9154(define-public ghc-setlocale
9155 (package
9156 (name "ghc-setlocale")
9d7cfc9b 9157 (version "1.0.0.9")
dddbc90c
RV
9158 (source (origin
9159 (method url-fetch)
9160 (uri (string-append
9161 "https://hackage.haskell.org/package/setlocale-"
9162 version "/setlocale-" version ".tar.gz"))
9163 (sha256
9164 (base32
9d7cfc9b 9165 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
9166 (build-system haskell-build-system)
9167 (home-page "https://hackage.haskell.org/package/setlocale")
9168 (synopsis "Haskell bindings to setlocale")
9169 (description "This package provides Haskell bindings to the
9170@code{setlocale} C function.")
9171 (license license:bsd-3)))
9172
9173(define-public ghc-shakespeare
9174 (package
9175 (name "ghc-shakespeare")
9176 (version "2.0.15")
9177 (source
9178 (origin
9179 (method url-fetch)
9180 (uri (string-append "https://hackage.haskell.org/package/"
9181 "shakespeare-" version "/"
9182 "shakespeare-" version ".tar.gz"))
9183 (sha256
9184 (base32
9185 "1vk4b19zvwy4mpwaq9z3l3kfmz75gfyf7alhh0y112gspgpccm23"))))
9186 (build-system haskell-build-system)
9187 (inputs `(("ghc-aeson" ,ghc-aeson)
9188 ("ghc-blaze-markup" ,ghc-blaze-markup)
9189 ("ghc-blaze-html" ,ghc-blaze-html)
9190 ("ghc-exceptions" ,ghc-exceptions)
9191 ("ghc-vector" ,ghc-vector)
9192 ("ghc-unordered-containers" ,ghc-unordered-containers)
9193 ("ghc-scientific" ,ghc-scientific)))
9194 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9195 ("ghc-hunit" ,ghc-hunit)
9196 ("hspec-discover" ,hspec-discover)))
9197 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9198 (synopsis "Family of type-safe template languages for Haskell")
9199 (description "This Haskell package provides a family of type-safe
9200templates with simple variable interpolation. Shakespeare templates can
9201be used inline with a quasi-quoter or in an external file and it
9202interpolates variables according to the type being inserted.")
9203 (license license:expat)))
9204
9205(define-public ghc-shelly
9206 (package
9207 (name "ghc-shelly")
9208 (version "1.8.1")
9209 (source
9210 (origin
9211 (method url-fetch)
9212 (uri (string-append
9213 "https://hackage.haskell.org/package/shelly/shelly-"
9214 version ".tar.gz"))
9215 (sha256
9216 (base32
9217 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9218 (build-system haskell-build-system)
9219 (inputs
9220 `(("ghc-unix-compat" ,ghc-unix-compat)
9221 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9222 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9223 ("ghc-monad-control" ,ghc-monad-control)
9224 ("ghc-lifted-base" ,ghc-lifted-base)
9225 ("ghc-lifted-async" ,ghc-lifted-async)
9226 ("ghc-exceptions" ,ghc-exceptions)
9227 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9228 ("ghc-async" ,ghc-async)
9229 ("ghc-transformers-base" ,ghc-transformers-base)
9230 ("ghc-hunit" ,ghc-hunit)
9231 ("ghc-hspec" ,ghc-hspec)
9232 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9233 (home-page "https://github.com/yesodweb/Shelly.hs")
9234 (synopsis "Shell-like (systems) programming in Haskell")
9235 (description
9236 "Shelly provides convenient systems programming in Haskell, similar in
9237spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9238 (license license:bsd-3)))
9239
9240(define-public ghc-silently
9241 (package
9242 (name "ghc-silently")
544bb369 9243 (version "1.2.5.1")
dddbc90c
RV
9244 (source
9245 (origin
9246 (method url-fetch)
9247 (uri (string-append
9248 "https://hackage.haskell.org/package/silently/silently-"
9249 version
9250 ".tar.gz"))
9251 (sha256
9252 (base32
544bb369 9253 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
9254 (build-system haskell-build-system)
9255 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9256 ;; (inputs
9257 ;; `(("ghc-temporary" ,ghc-temporary)))
9258 (home-page "https://github.com/hspec/silently")
9259 (synopsis "Prevent writing to stdout")
9260 (description "This package provides functions to prevent or capture
9261writing to stdout and other handles.")
9262 (license license:bsd-3)))
9263
9264(define-public ghc-simple-reflect
9265 (package
9266 (name "ghc-simple-reflect")
9267 (version "0.3.3")
9268 (source
9269 (origin
9270 (method url-fetch)
9271 (uri (string-append
9272 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9273 version
9274 ".tar.gz"))
9275 (sha256
9276 (base32
9277 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9278 (build-system haskell-build-system)
9279 (home-page
9280 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9281 (synopsis
9282 "Simple reflection of expressions containing variables")
9283 (description
9284 "This package allows simple reflection of expressions containing
9285variables. Reflection here means that a Haskell expression is turned into a
9286string. The primary aim of this package is teaching and understanding; there
9287are no options for manipulating the reflected expressions beyond showing
9288them.")
9289 (license license:bsd-3)))
9290
9291(define-public ghc-simple-sendfile
9292 (package
9293 (name "ghc-simple-sendfile")
9294 (version "0.2.27")
9295 (source
9296 (origin
9297 (method url-fetch)
9298 (uri (string-append "https://hackage.haskell.org/package/"
9299 "simple-sendfile-" version "/"
9300 "simple-sendfile-" version ".tar.gz"))
9301 (sha256
9302 (base32
9303 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
9304 (build-system haskell-build-system)
9305 (inputs
9306 `(("ghc-conduit" ,ghc-conduit)
9307 ("ghc-conduit-extra" ,ghc-conduit-extra)
9308 ("ghc-network" ,ghc-network)
9309 ("ghc-resourcet" ,ghc-resourcet)))
9310 (native-inputs
9311 `(("ghc-hspec" ,ghc-hspec)
9312 ("hspec-discover" ,hspec-discover)))
9313 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9314 (synopsis "Cross platform library for the sendfile system call")
9315 (description "This library tries to call minimum system calls which
9316are the bottleneck of web servers.")
9317 (license license:bsd-3)))
9318
9319(define-public ghc-skylighting-core
9320 (package
9321 (name "ghc-skylighting-core")
9322 (version "0.7.2")
9323 (source (origin
9324 (method url-fetch)
9325 (uri (string-append "https://hackage.haskell.org/package/"
9326 "skylighting-core/skylighting-core-"
9327 version ".tar.gz"))
9328 (sha256
9329 (base32
9330 "066fwmwsd7xcvwlinfk2izlzq0xp8697i6lnbgsbl71jdybyackq"))))
9331 (build-system haskell-build-system)
9332 (inputs
9333 `(("ghc-aeson" ,ghc-aeson)
9334 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9335 ("ghc-attoparsec" ,ghc-attoparsec)
9336 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9337 ("ghc-blaze-html" ,ghc-blaze-html)
9338 ("ghc-case-insensitive" ,ghc-case-insensitive)
9339 ("ghc-colour" ,ghc-colour)
9340 ("ghc-hxt" ,ghc-hxt)
9341 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9342 ("ghc-safe" ,ghc-safe)
9343 ("ghc-utf8-string" ,ghc-utf8-string)))
9344 (native-inputs
9345 `(("ghc-diff" ,ghc-diff)
9346 ("ghc-hunit" ,ghc-hunit)
9347 ("ghc-pretty-show" ,ghc-pretty-show)
9348 ("ghc-quickcheck" ,ghc-quickcheck)
9349 ("ghc-tasty" ,ghc-tasty)
9350 ("ghc-tasty-golden" ,ghc-tasty-golden)
9351 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9352 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9353 (home-page "https://github.com/jgm/skylighting")
9354 (synopsis "Syntax highlighting library")
9355 (description "Skylighting is a syntax highlighting library with support
9356for over one hundred languages. It derives its tokenizers from XML syntax
9357definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9358supported by that framework can be added. An optional command-line program is
9359provided. Skylighting is intended to be the successor to highlighting-kate.")
9360 (license license:gpl2)))
9361
9362(define-public ghc-skylighting
9363 (package
9364 (inherit ghc-skylighting-core)
9365 (name "ghc-skylighting")
9366 (version "0.7.2")
9367 (source (origin
9368 (method url-fetch)
9369 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9370 version "/skylighting-" version ".tar.gz"))
9371 (sha256
9372 (base32
9373 "1rh3z1a7a4clvksdw1qlpmhxqkfahwypi70k91whgfamzsqpxdch"))))
9374 (inputs
9375 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9376 ,@(package-inputs ghc-skylighting-core)))))
9377
9378(define-public ghc-smallcheck
9379 (package
9380 (name "ghc-smallcheck")
9381 (version "1.1.5")
9382 (source
9383 (origin
9384 (method url-fetch)
9385 (uri (string-append
9386 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9387 version
9388 ".tar.gz"))
9389 (sha256
9390 (base32
9391 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9392 (build-system haskell-build-system)
9393 (inputs
9394 `(("ghc-logict" ,ghc-logict)))
9395 (home-page
9396 "https://github.com/feuerbach/smallcheck")
9397 (synopsis "Property-based testing library")
9398 (description "SmallCheck is a testing library that allows to verify
9399properties for all test cases up to some depth. The test cases are generated
9400automatically by SmallCheck.")
9401 (license license:bsd-3)))
9402
9403(define-public ghc-socks
9404 (package
9405 (name "ghc-socks")
9406 (version "0.5.6")
9407 (source (origin
9408 (method url-fetch)
9409 (uri (string-append "https://hackage.haskell.org/package/"
9410 "socks/socks-" version ".tar.gz"))
9411 (sha256
9412 (base32
9413 "0f44qy74i0n6ll3jym0a2ipafkpw1h67amcpqmj8iq95h21wsqzs"))))
9414 (build-system haskell-build-system)
9415 (inputs
9416 `(("ghc-cereal" ,ghc-cereal)
9417 ("ghc-network" ,ghc-network)))
9418 (home-page "https://github.com/vincenthz/hs-socks")
9419 (synopsis "SOCKS proxy (version 5) implementation")
9420 (description
9421 "This library provides a SOCKS proxy (version 5) implementation.")
9422 (license license:bsd-3)))
9423
081d85d6
TS
9424(define-public ghc-sop-core
9425 (package
9426 (name "ghc-sop-core")
9427 (version "0.4.0.0")
9428 (source
9429 (origin
9430 (method url-fetch)
9431 (uri (string-append "https://hackage.haskell.org/package/"
9432 "sop-core/sop-core-" version ".tar.gz"))
9433 (sha256
9434 (base32
9435 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
9436 (build-system haskell-build-system)
9437 (home-page "http://hackage.haskell.org/package/sop-core")
9438 (synopsis "True Sums of Products")
9439 (description "This package provides an implementation of
9440@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
9441is the main module of this library and contains more detailed
9442documentation. The main use case of this package is to serve as the
9443core of @url{https://hackage.haskell.org/package/generics-sop,
9444generics-sop}.")
9445 (license license:bsd-3)))
9446
dddbc90c
RV
9447(define-public ghc-split
9448 (package
9449 (name "ghc-split")
9450 (version "0.2.3.3")
9451 (outputs '("out" "doc"))
9452 (source
9453 (origin
9454 (method url-fetch)
9455 (uri (string-append
9456 "https://hackage.haskell.org/package/split/split-"
9457 version
9458 ".tar.gz"))
9459 (sha256
9460 (base32
9461 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9462 (build-system haskell-build-system)
9bbc21a7
TS
9463 (arguments
9464 `(#:cabal-revision
9465 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
9466 (native-inputs
9467 `(("ghc-quickcheck" ,ghc-quickcheck)))
9468 (home-page "https://hackage.haskell.org/package/split")
9469 (synopsis "Combinator library for splitting lists")
9470 (description "This package provides a collection of Haskell functions for
9471splitting lists into parts, akin to the @code{split} function found in several
9472mainstream languages.")
9473 (license license:bsd-3)))
9474
7799d17f 9475(define-public ghc-splitmix
49367c92 9476 (package
7799d17f 9477 (name "ghc-splitmix")
49367c92
TS
9478 (version "0.0.3")
9479 (source
9480 (origin
9481 (method url-fetch)
9482 (uri (string-append "https://hackage.haskell.org/package/"
9483 "splitmix/splitmix-" version ".tar.gz"))
9484 (sha256
9485 (base32
9486 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 9487 (build-system haskell-build-system)
49367c92
TS
9488 (inputs
9489 `(("ghc-random" ,ghc-random)))
7799d17f
TS
9490 (native-inputs
9491 `(("ghc-hunit" ,ghc-hunit)
9492 ("ghc-async" ,ghc-async)
9493 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
9494 ("ghc-tf-random" ,ghc-tf-random)
9495 ("ghc-vector" ,ghc-vector)))
49367c92
TS
9496 (home-page "http://hackage.haskell.org/package/splitmix")
9497 (synopsis "Fast and splittable pseudorandom number generator")
9498 (description "This package provides a Pure Haskell implementation of the
9499SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
9500pseudorandom number generator that is quite fast: 9 64-bit
9501arithmetic/logical operations per 64 bits generated. SplitMix is tested
9502with two standard statistical test suites (DieHarder and TestU01, this
9503implementation only using the former) and it appears to be adequate for
9504\"everyday\" use, such as Monte Carlo algorithms and randomized data
9505structures where speed is important. In particular, it @strong{should not
9506be used for cryptographic or security applications}, because generated
9507sequences of pseudorandom values are too predictable (the mixing functions
9508are easily inverted, and two successive outputs suffice to reconstruct the
9509internal state).")
9510 (license license:bsd-3)))
9511
7799d17f
TS
9512(define-public ghc-splitmix-bootstrap
9513 (package
9514 (inherit ghc-splitmix)
9515 (name "ghc-splitmix-bootstrap")
9516 (arguments `(#:tests? #f))
9517 (native-inputs '())
9518 (properties '((hidden? #t)))))
9519
dddbc90c
RV
9520(define-public ghc-statevar
9521 (package
9522 (name "ghc-statevar")
19419709 9523 (version "1.2")
dddbc90c
RV
9524 (source
9525 (origin
9526 (method url-fetch)
9527 (uri (string-append
9528 "https://hackage.haskell.org/package/StateVar/StateVar-"
9529 version
9530 ".tar.gz"))
9531 (sha256
9532 (base32
19419709 9533 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
9534 (build-system haskell-build-system)
9535 (home-page "https://hackage.haskell.org/package/StateVar")
9536 (synopsis "State variables for Haskell")
9537 (description "This package provides state variables, which are references
9538in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9539 (license license:bsd-3)))
9540
9541(define-public ghc-statistics
9542 (package
9543 (name "ghc-statistics")
9544 (version "0.14.0.2")
9545 (source
9546 (origin
9547 (method url-fetch)
9548 (uri (string-append "https://hackage.haskell.org/package/"
9549 "statistics-" version "/"
9550 "statistics-" version ".tar.gz"))
9551 (sha256
9552 (base32
9553 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
9554 (build-system haskell-build-system)
9555 (arguments
9556 '(#:cabal-revision
9557 ("2" "1bx70yqkn62ii17fjv3pig4hklrzkqd09zj67zzjiyjzmn04fir3")
9558 ;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
9559 #:tests? #f))
9560 (inputs
9561 `(("ghc-aeson" ,ghc-aeson)
9562 ("ghc-base-orphans" ,ghc-base-orphans)
9563 ("ghc-erf" ,ghc-erf)
9564 ("ghc-math-functions" ,ghc-math-functions)
9565 ("ghc-monad-par" ,ghc-monad-par)
9566 ("ghc-mwc-random" ,ghc-mwc-random)
9567 ("ghc-primitive" ,ghc-primitive)
9568 ("ghc-vector" ,ghc-vector)
9569 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9570 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9571 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9572 (native-inputs
9573 `(("ghc-hunit" ,ghc-hunit)
9574 ("ghc-quickcheck" ,ghc-quickcheck)
9575 ("ghc-ieee754" ,ghc-ieee754)
9576 ("ghc-test-framework" ,ghc-test-framework)
9577 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9578 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9579 (home-page "https://github.com/bos/mwc-random")
9580 (synopsis "Haskell library of statistical types, data, and functions")
9581 (description "This library provides a number of common functions
9582and types useful in statistics. We focus on high performance, numerical
9583robustness, and use of good algorithms. Where possible, we provide references
9584to the statistical literature.
9585
9586The library's facilities can be divided into four broad categories:
9587
9588@itemize
9589@item Working with widely used discrete and continuous probability
9590distributions. (There are dozens of exotic distributions in use; we focus
9591on the most common.)
9592
9593@item Computing with sample data: quantile estimation, kernel density
9594estimation, histograms, bootstrap methods, significance testing,
9595and regression and autocorrelation analysis.
9596
9597@item Random variate generation under several different distributions.
9598
9599@item Common statistical tests for significant differences between samples.
9600@end itemize")
9601 (license license:bsd-2)))
9602
9603(define-public ghc-stm-chans
9604 (package
9605 (name "ghc-stm-chans")
9606 (version "3.0.0.4")
9607 (source
9608 (origin
9609 (method url-fetch)
9610 (uri (string-append "https://hackage.haskell.org/package/"
9611 "stm-chans-" version "/"
9612 "stm-chans-" version ".tar.gz"))
9613 (sha256
9614 (base32
9615 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9616 (build-system haskell-build-system)
9617 (home-page "https://hackage.haskell.org/package/stm-chans")
9618 (synopsis "Additional types of channels for ghc-stm")
9619 (description "This Haskell package offers a collection of channel types,
9620similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9621features.")
9622 (license license:bsd-3)))
9623
9624(define-public ghc-stm-conduit
9625 (package
9626 (name "ghc-stm-conduit")
9627 (version "4.0.0")
9628 (source
9629 (origin
9630 (method url-fetch)
9631 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9632 "stm-conduit-" version ".tar.gz"))
9633 (sha256
9634 (base32
9635 "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
9636 (build-system haskell-build-system)
9637 (inputs
9638 `(("ghc-stm-chans" ,ghc-stm-chans)
9639 ("ghc-cereal" ,ghc-cereal)
9640 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9641 ("ghc-conduit" ,ghc-conduit)
9642 ("ghc-conduit-extra" ,ghc-conduit-extra)
9643 ("ghc-exceptions" ,ghc-exceptions)
9644 ("ghc-resourcet" ,ghc-resourcet)
9645 ("ghc-async" ,ghc-async)
9646 ("ghc-monad-loops" ,ghc-monad-loops)
9647 ("ghc-unliftio" ,ghc-unliftio)))
9648 (native-inputs
9649 `(("ghc-doctest" ,ghc-doctest)
9650 ("ghc-quickcheck" ,ghc-quickcheck)
9651 ("ghc-hunit" ,ghc-hunit)
9652 ("ghc-test-framework" ,ghc-test-framework)
9653 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9654 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9655 (home-page "https://github.com/cgaebel/stm-conduit")
9656 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9657 (description
9658 "This package provides two simple conduit wrappers around STM channels: a
9659source and a sink.")
9660 (license license:bsd-3)))
9661
9662(define-public ghc-stmonadtrans
9663 (package
9664 (name "ghc-stmonadtrans")
9665 (version "0.4.3")
9666 (source
9667 (origin
9668 (method url-fetch)
9669 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9670 "/STMonadTrans-" version ".tar.gz"))
9671 (sha256
9672 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9673 (build-system haskell-build-system)
9674 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9675 (synopsis "Monad transformer version of the ST monad")
9676 (description
9677 "This package provides a monad transformer version of the @code{ST} monad
9678for strict state threads.")
9679 (license license:bsd-3)))
9680
9681(define-public ghc-storable-complex
9682 (package
9683 (name "ghc-storable-complex")
4a35e3c3 9684 (version "0.2.3.0")
dddbc90c
RV
9685 (source
9686 (origin
9687 (method url-fetch)
9688 (uri (string-append
9689 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9690 version ".tar.gz"))
9691 (sha256
4a35e3c3 9692 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 9693 (build-system haskell-build-system)
4a35e3c3
TS
9694 (inputs
9695 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
9696 (home-page "https://github.com/cartazio/storable-complex")
9697 (synopsis "Haskell Storable instance for Complex")
9698 (description "This package provides a Haskell library including a
9699Storable instance for Complex which is binary compatible with C99, C++
9700and Fortran complex data types.")
9701 (license license:bsd-3)))
9702
ad80074a
JS
9703(define-public ghc-storable-record
9704 (package
9705 (name "ghc-storable-record")
9706 (version "0.0.4")
9707 (source
9708 (origin
9709 (method url-fetch)
9710 (uri
9711 (string-append
9712 "https://hackage.haskell.org/package/storable-record/"
9713 "storable-record-" version ".tar.gz"))
9714 (sha256
9715 (base32
9716 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
9717 (build-system haskell-build-system)
9718 (inputs
9719 `(("ghc-semigroups" ,ghc-semigroups)
9720 ("ghc-utility-ht" ,ghc-utility-ht)
9721 ("ghc-storablevector" ,ghc-storablevector)
9722 ("ghc-timeit" ,ghc-timeit)))
9723 (home-page "https://hackage.haskell.org/package/storable-record")
9724 (synopsis "Elegant definition of Storable instances for records")
9725 (description "With this package you can build a Storable instance of
9726a record type from Storable instances of its elements in an elegant way.
9727It does not do any magic, just a bit arithmetic to compute the right
9728offsets, that would be otherwise done manually or by a preprocessor like
9729C2HS. There is no guarantee that the generated memory layout is
9730compatible with that of a corresponding C struct. However, the module
9731generates the smallest layout that is possible with respect to the
9732alignment of the record elements.")
9733 (license license:bsd-3)))
9734
55f4c653
JS
9735(define-public ghc-storable-tuple
9736 (package
9737 (name "ghc-storable-tuple")
9738 (version "0.0.3.3")
9739 (source
9740 (origin
9741 (method url-fetch)
9742 (uri
9743 (string-append
9744 "https://hackage.haskell.org/package/storable-tuple/"
9745 "storable-tuple-" version ".tar.gz"))
9746 (sha256
9747 (base32
9748 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
9749 (build-system haskell-build-system)
9750 (inputs
9751 `(("ghc-storable-record" ,ghc-storable-record)
9752 ("ghc-utility-ht" ,ghc-utility-ht)
9753 ("ghc-base-orphans" ,ghc-base-orphans)))
9754 (home-page "https://hackage.haskell.org/package/storable-tuple")
9755 (synopsis "Storable instance for pairs and triples")
9756 (description "This package provides a Storable instance for pairs
9757and triples which should be binary compatible with C99 and C++. The
9758only purpose of this package is to provide a standard location for this
9759instance so that other packages needing this instance can play nicely
9760together.")
9761 (license license:bsd-3)))
9762
bc06ca45
JS
9763(define-public ghc-storablevector
9764 (package
9765 (name "ghc-storablevector")
9766 (version "0.2.13")
9767 (source
9768 (origin
9769 (method url-fetch)
9770 (uri
9771 (string-append
9772 "https://hackage.haskell.org/package/storablevector/storablevector-"
9773 version ".tar.gz"))
9774 (sha256
9775 (base32
9776 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
9777 (build-system haskell-build-system)
9778 (inputs
9779 `(("ghc-non-negative" ,ghc-non-negative)
9780 ("ghc-utility-ht" ,ghc-utility-ht)
9781 ("ghc-semigroups" ,ghc-semigroups)
9782 ("ghc-unsafe" ,ghc-unsafe)
9783 ("ghc-quickcheck" ,ghc-quickcheck)
9784 ("ghc-syb" ,ghc-syb)))
9785 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
9786 (synopsis "Fast, packed, strict storable arrays with a list interface")
9787 (description "This library provides fast, packed, strict storable
9788arrays with a list interface, a chunky lazy list interface with variable
9789chunk size and an interface for write access via the ST monad. This is
9790much like bytestring and binary but can be used for every
9791@code{Foreign.Storable.Storable} type. See also
9792@url{http://hackage.haskell.org/package/vector}, a library with a
9793similar intention.
9794
9795This library does not do advanced fusion optimization, since especially
9796for lazy vectors this would either be incorrect or not applicable. See
9797@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
9798a library that provides fusion with lazy lists.")
9799 (license license:bsd-3)))
9800
dddbc90c
RV
9801(define-public ghc-streaming-commons
9802 (package
9803 (name "ghc-streaming-commons")
9804 (version "0.2.1.1")
9805 (source
9806 (origin
9807 (method url-fetch)
9808 (uri (string-append "https://hackage.haskell.org/package/"
9809 "streaming-commons/streaming-commons-"
9810 version ".tar.gz"))
9811 (sha256
9812 (base32
9813 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9814 (build-system haskell-build-system)
9815 (inputs
9816 `(("ghc-async" ,ghc-async)
9817 ("ghc-blaze-builder" ,ghc-blaze-builder)
9818 ("ghc-network" ,ghc-network)
9819 ("ghc-random" ,ghc-random)
9820 ("ghc-zlib" ,ghc-zlib)))
9821 (native-inputs
9822 `(("ghc-quickcheck" ,ghc-quickcheck)
9823 ("ghc-hspec" ,ghc-hspec)
9824 ("hspec-discover" ,hspec-discover)))
9825 (home-page "https://hackage.haskell.org/package/streaming-commons")
9826 (synopsis "Conduit and pipes needed by some streaming data libraries")
9827 (description "This package provides low-dependency functionality commonly
9828needed by various Haskell streaming data libraries, such as @code{conduit} and
9829@code{pipe}s.")
9830 (license license:expat)))
9831
9832(define-public ghc-strict
9833 (package
9834 (name "ghc-strict")
9835 (version "0.3.2")
9836 (source
9837 (origin
9838 (method url-fetch)
9839 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
9840 version ".tar.gz"))
9841 (sha256
9842 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
9843 (build-system haskell-build-system)
9844 (home-page "https://hackage.haskell.org/package/strict")
9845 (synopsis "Strict data types and String IO")
9846 (description
9847 "This package provides strict versions of some standard Haskell data
9848types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
9849IO operations.")
9850 (license license:bsd-3)))
9851
9852(define-public ghc-stringbuilder
9853 (package
9854 (name "ghc-stringbuilder")
9855 (version "0.5.1")
9856 (source
9857 (origin
9858 (method url-fetch)
9859 (uri (string-append
9860 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
9861 version
9862 ".tar.gz"))
9863 (sha256
9864 (base32
9865 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
9866 (build-system haskell-build-system)
9867 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
9868 ; enabled
9869 (home-page "https://hackage.haskell.org/package/stringbuilder")
9870 (synopsis "Writer monad for multi-line string literals")
9871 (description "This package provides a writer monad for multi-line string
9872literals.")
9873 (license license:expat)))
9874
9875(define-public ghc-string-qq
9876 (package
9877 (name "ghc-string-qq")
4d6fddc3 9878 (version "0.0.4")
dddbc90c
RV
9879 (source
9880 (origin
9881 (method url-fetch)
9882 (uri (string-append
9883 "https://hackage.haskell.org/package/string-qq/string-qq-"
9884 version
9885 ".tar.gz"))
9886 (sha256
9887 (base32
4d6fddc3 9888 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 9889 (build-system haskell-build-system)
4d6fddc3
TS
9890 (native-inputs
9891 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
9892 (home-page "http://hackage.haskell.org/package/string-qq")
9893 (synopsis
9894 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
9895 (description
9896 "This package provides a quasiquoter for non-interpolated strings, texts
9897and bytestrings.")
9898 (license license:public-domain)))
9899
9900(define-public ghc-stringsearch
9901 (package
9902 (name "ghc-stringsearch")
9903 (version "0.3.6.6")
9904 (source
9905 (origin
9906 (method url-fetch)
9907 (uri (string-append
9908 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
9909 version
9910 ".tar.gz"))
9911 (sha256
9912 (base32
9913 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
9914 (build-system haskell-build-system)
9915 (home-page "https://bitbucket.org/dafis/stringsearch")
9916 (synopsis "Fast searching, splitting and replacing of ByteStrings")
9917 (description "This package provides several functions to quickly search
9918for substrings in strict or lazy @code{ByteStrings}. It also provides
9919functions for breaking or splitting on substrings and replacing all
9920occurrences of a substring (the first in case of overlaps) with another.")
9921 (license license:bsd-3)))
9922
9923(define-public ghc-stylish-haskell
9924 (package
9925 (name "ghc-stylish-haskell")
9926 (version "0.9.2.1")
9927 (source
9928 (origin
9929 (method url-fetch)
9930 (uri (string-append
9931 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
9932 version
9933 ".tar.gz"))
9934 (sha256
9935 (base32
9936 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
9937 (build-system haskell-build-system)
9938 (inputs
9939 `(("ghc-aeson" ,ghc-aeson)
9940 ("ghc-file-embed" ,ghc-file-embed)
9941 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
9942 ("ghc-semigroups" ,ghc-semigroups)
9943 ("ghc-syb" ,ghc-syb)
9944 ("ghc-yaml" ,ghc-yaml)
9945 ("ghc-strict" ,ghc-strict)
9946 ("ghc-optparse-applicative"
9947 ,ghc-optparse-applicative)))
9948 (native-inputs
9949 `(("ghc-hunit" ,ghc-hunit)
9950 ("ghc-test-framework" ,ghc-test-framework)
9951 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
9952 (home-page "https://github.com/jaspervdj/stylish-haskell")
9953 (synopsis "Haskell code prettifier")
9954 (description "Stylish-haskell is a Haskell code prettifier. The goal is
9955not to format all of the code in a file, to avoid \"getting in the way\".
9956However, this tool can e.g. clean up import statements and help doing various
9957tasks that get tedious very quickly. It can
9958@itemize
9959@item
9960Align and sort @code{import} statements
9961@item
9962Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
9963pragmas
9964@item
9965Remove trailing whitespaces
9966@item
9967Align branches in @code{case} and fields in records
9968@item
9969Convert line endings (customisable)
9970@item
9971Replace tabs by four spaces (turned off by default)
9972@item
9973Replace some ASCII sequences by their Unicode equivalent (turned off by
9974default)
9975@end itemize")
9976 (license license:bsd-3)))
9977
9978(define-public ghc-syb
9979 (package
9980 (name "ghc-syb")
07d65eef 9981 (version "0.7.1")
dddbc90c
RV
9982 (outputs '("out" "doc"))
9983 (source
9984 (origin
9985 (method url-fetch)
9986 (uri (string-append
9987 "https://hackage.haskell.org/package/syb/syb-"
9988 version
9989 ".tar.gz"))
9990 (sha256
9991 (base32
07d65eef 9992 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
9993 (build-system haskell-build-system)
9994 (inputs
9995 `(("ghc-hunit" ,ghc-hunit)))
9996 (home-page
9997 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
9998 (synopsis "Scrap Your Boilerplate")
9999 (description "This package contains the generics system described in the
10000/Scrap Your Boilerplate/ papers (see
10001@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
10002defines the @code{Data} class of types permitting folding and unfolding of
10003constructor applications, instances of this class for primitive types, and a
10004variety of traversals.")
10005 (license license:bsd-3)))
10006
10007(define-public ghc-system-fileio
10008 (package
10009 (name "ghc-system-fileio")
10010 (version "0.3.16.3")
10011 (source
10012 (origin
10013 (method url-fetch)
10014 (uri (string-append
10015 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10016 version ".tar.gz"))
10017 (sha256
10018 (base32
10019 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10020 (build-system haskell-build-system)
10021 (inputs
10022 `(("ghc-system-filepath" ,ghc-system-filepath)
10023 ("ghc-chell" ,ghc-chell)
10024 ("ghc-temporary" ,ghc-temporary)))
10025 (home-page "https://github.com/fpco/haskell-filesystem")
10026 (synopsis "Consistent file system interaction across GHC versions")
10027 (description
10028 "This is a small wrapper around the directory, unix, and Win32 packages,
10029for use with system-filepath. It provides a consistent API to the various
10030versions of these packages distributed with different versions of GHC.
10031In particular, this library supports working with POSIX files that have paths
10032which can't be decoded in the current locale encoding.")
10033 (license license:expat)))
10034
10035;; See ghc-system-filepath-bootstrap. In addition this package depends on
10036;; ghc-system-filepath.
10037(define ghc-system-fileio-bootstrap
10038 (package
10039 (name "ghc-system-fileio-bootstrap")
10040 (version "0.3.16.3")
10041 (source
10042 (origin
10043 (method url-fetch)
10044 (uri (string-append
10045 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10046 version ".tar.gz"))
10047 (sha256
10048 (base32
10049 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10050 (build-system haskell-build-system)
10051 (arguments
10052 `(#:tests? #f))
10053 (inputs
10054 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10055 ("ghc-temporary" ,ghc-temporary)))
10056 (home-page "https://github.com/fpco/haskell-filesystem")
10057 (synopsis "Consistent file system interaction across GHC versions")
10058 (description
10059 "This is a small wrapper around the directory, unix, and Win32 packages,
10060for use with system-filepath. It provides a consistent API to the various
10061versions of these packages distributed with different versions of GHC.
10062In particular, this library supports working with POSIX files that have paths
10063which can't be decoded in the current locale encoding.")
10064 (license license:expat)))
10065
10066
10067(define-public ghc-system-filepath
10068 (package
10069 (name "ghc-system-filepath")
10070 (version "0.4.14")
10071 (source
10072 (origin
10073 (method url-fetch)
10074 (uri (string-append
10075 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10076 version ".tar.gz"))
10077 (sha256
10078 (base32
10079 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10080 (build-system haskell-build-system)
10081 ;; FIXME: One of the tests fails:
10082 ;; [ FAIL ] tests.validity.posix
10083 ;; note: seed=7310214548328823169
10084 ;; *** Failed! Falsifiable (after 24 tests):
10085 ;; 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"
10086 (arguments `(#:tests? #f))
10087 (inputs
10088 `(("ghc-chell" ,ghc-chell)
10089 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
10090 ("ghc-quickcheck" ,ghc-quickcheck)))
10091 (home-page "https://github.com/fpco/haskell-filesystem")
10092 (synopsis "High-level, byte-based file and directory path manipulations")
10093 (description
10094 "Provides a FilePath datatype and utility functions for operating on it.
10095Unlike the filepath package, this package does not simply reuse String,
10096increasing type safety.")
10097 (license license:expat)))
10098
10099;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
10100;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
10101;; which depends on ghc-chell and ghc-chell-quickcheck.
10102;; Therefore we bootstrap it with tests disabled.
10103(define ghc-system-filepath-bootstrap
10104 (package
10105 (name "ghc-system-filepath-bootstrap")
10106 (version "0.4.14")
10107 (source
10108 (origin
10109 (method url-fetch)
10110 (uri (string-append
10111 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10112 version ".tar.gz"))
10113 (sha256
10114 (base32
10115 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10116 (build-system haskell-build-system)
10117 (arguments
10118 `(#:tests? #f))
10119 (inputs
10120 `(("ghc-quickcheck" ,ghc-quickcheck)))
10121 (home-page "https://github.com/fpco/haskell-filesystem")
10122 (synopsis "High-level, byte-based file and directory path manipulations")
10123 (description
10124 "Provides a FilePath datatype and utility functions for operating on it.
10125Unlike the filepath package, this package does not simply reuse String,
10126increasing type safety.")
10127 (license license:expat)))
10128
10129
10130(define-public ghc-tagged
10131 (package
10132 (name "ghc-tagged")
f0f3756a 10133 (version "0.8.6")
dddbc90c
RV
10134 (source
10135 (origin
10136 (method url-fetch)
10137 (uri (string-append
10138 "https://hackage.haskell.org/package/tagged/tagged-"
10139 version
10140 ".tar.gz"))
10141 (sha256
10142 (base32
f0f3756a 10143 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
10144 (build-system haskell-build-system)
10145 (arguments
10146 `(#:cabal-revision
f0f3756a 10147 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
10148 (inputs
10149 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10150 (home-page "https://hackage.haskell.org/package/tagged")
10151 (synopsis "Haskell phantom types to avoid passing dummy arguments")
10152 (description "This library provides phantom types for Haskell 98, to avoid
10153having to unsafely pass dummy arguments.")
10154 (license license:bsd-3)))
10155
10156(define-public ghc-tar
10157 (package
10158 (name "ghc-tar")
ec83929f 10159 (version "0.5.1.1")
dddbc90c
RV
10160 (source
10161 (origin
10162 (method url-fetch)
10163 (uri (string-append
10164 "https://hackage.haskell.org/package/tar/tar-"
10165 version ".tar.gz"))
10166 (sha256
10167 (base32
ec83929f 10168 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
10169 (build-system haskell-build-system)
10170 ;; FIXME: 2/24 tests fail.
10171 (arguments `(#:tests? #f))
10172 (inputs
10173 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10174 ("ghc-quickcheck" ,ghc-quickcheck)
10175 ("ghc-tasty" ,ghc-tasty)
10176 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10177 (home-page "https://hackage.haskell.org/package/tar")
10178 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10179 (description
10180 "This library is for working with \\\"@.tar@\\\" archive files.
10181It can read and write a range of common variations of the tar archive format
10182including V7, POSIX USTAR and GNU formats. It provides support for packing and
10183unpacking portable archives. This makes it suitable for distribution but not
10184backup because details like file ownership and exact permissions are not
10185preserved. It also provides features for random access to archive content using
10186an index.")
10187 (license license:bsd-3)))
10188
10189(define-public ghc-temporary
10190 (package
10191 (name "ghc-temporary")
10192 (version "1.3")
10193 (source
10194 (origin
10195 (method url-fetch)
10196 (uri (string-append
10197 "https://hackage.haskell.org/package/temporary/temporary-"
10198 version
10199 ".tar.gz"))
10200 (sha256
10201 (base32
10202 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10203 (build-system haskell-build-system)
10204 (inputs
10205 `(("ghc-exceptions" ,ghc-exceptions)
10206 ("ghc-random" ,ghc-random)))
10207 (native-inputs
10208 `(("ghc-base-compat" ,ghc-base-compat)
10209 ("ghc-tasty" ,ghc-tasty)
10210 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10211 (home-page "https://www.github.com/batterseapower/temporary")
10212 (synopsis "Temporary file and directory support")
10213 (description "The functions for creating temporary files and directories
10214in the Haskelll base library are quite limited. This library just repackages
10215the Cabal implementations of its own temporary file and folder functions so
10216that you can use them without linking against Cabal or depending on it being
10217installed.")
10218 (license license:bsd-3)))
10219
10220(define-public ghc-temporary-rc
10221 (package
10222 (name "ghc-temporary-rc")
10223 (version "1.2.0.3")
10224 (source
10225 (origin
10226 (method url-fetch)
10227 (uri (string-append
10228 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10229 version
10230 ".tar.gz"))
10231 (sha256
10232 (base32
10233 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10234 (build-system haskell-build-system)
10235 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10236 (home-page
10237 "https://www.github.com/feuerbach/temporary")
10238 (synopsis
10239 "Portable temporary file and directory support")
10240 (description
10241 "The functions for creating temporary files and directories in the base
10242library are quite limited. The unixutils package contains some good ones, but
10243they aren't portable to Windows. This library just repackages the Cabal
10244implementations of its own temporary file and folder functions so that you can
10245use them without linking against Cabal or depending on it being installed.
10246This is a better maintained fork of the \"temporary\" package.")
10247 (license license:bsd-3)))
10248
10249(define-public ghc-terminal-size
10250 (package
10251 (name "ghc-terminal-size")
10252 (version "0.3.2.1")
10253 (source (origin
10254 (method url-fetch)
10255 (uri (string-append
10256 "https://hackage.haskell.org/package/terminal-size/"
10257 "terminal-size-" version ".tar.gz"))
10258 (sha256
10259 (base32
10260 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10261 (build-system haskell-build-system)
10262 (home-page "https://hackage.haskell.org/package/terminal-size")
10263 (synopsis "Get terminal window height and width")
10264 (description "Get terminal window height and width without ncurses
10265dependency.")
10266 (license license:bsd-3)))
10267
10268(define-public ghc-texmath
10269 (package
10270 (name "ghc-texmath")
10271 (version "0.11.0.1")
10272 (source (origin
10273 (method url-fetch)
10274 (uri (string-append "https://hackage.haskell.org/package/"
10275 "texmath/texmath-" version ".tar.gz"))
10276 (sha256
10277 (base32
10278 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
10279 (build-system haskell-build-system)
10280 (inputs
10281 `(("ghc-syb" ,ghc-syb)
10282 ("ghc-network-uri" ,ghc-network-uri)
10283 ("ghc-split" ,ghc-split)
10284 ("ghc-temporary" ,ghc-temporary)
10285 ("ghc-utf8-string" ,ghc-utf8-string)
10286 ("ghc-xml" ,ghc-xml)
10287 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10288 (home-page "https://github.com/jgm/texmath")
10289 (synopsis "Conversion between formats used to represent mathematics")
10290 (description
10291 "The texmath library provides functions to read and write TeX math,
10292presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10293Office). Support is also included for converting math formats to pandoc's
10294native format (allowing conversion, via pandoc, to a variety of different
10295markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10296it can parse and apply LaTeX macros.")
10297 (license license:gpl2+)))
10298
10299(define-public ghc-text-binary
10300 (package
10301 (name "ghc-text-binary")
10302 (version "0.2.1.1")
10303 (source
10304 (origin
10305 (method url-fetch)
10306 (uri (string-append "https://hackage.haskell.org/package/"
10307 "text-binary/text-binary-"
10308 version ".tar.gz"))
10309 (sha256
10310 (base32
10311 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10312 (build-system haskell-build-system)
10313 (home-page "https://github.com/kawu/text-binary")
10314 (synopsis "Binary instances for text types")
10315 (description
10316 "This package provides a compatibility layer providing @code{Binary}
10317instances for strict and lazy text types for versions older than 1.2.1 of the
10318text package.")
10319 (license license:bsd-2)))
10320
10321(define-public ghc-tf-random
10322 (package
10323 (name "ghc-tf-random")
10324 (version "0.5")
10325 (outputs '("out" "doc"))
10326 (source
10327 (origin
10328 (method url-fetch)
10329 (uri (string-append
10330 "https://hackage.haskell.org/package/tf-random/tf-random-"
10331 version
10332 ".tar.gz"))
10333 (sha256
10334 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10335 (build-system haskell-build-system)
10336 (inputs
10337 `(("ghc-primitive" ,ghc-primitive)
10338 ("ghc-random" ,ghc-random)))
10339 (home-page "https://hackage.haskell.org/package/tf-random")
10340 (synopsis "High-quality splittable pseudorandom number generator")
10341 (description "This package contains an implementation of a high-quality
10342splittable pseudorandom number generator. The generator is based on a
10343cryptographic hash function built on top of the ThreeFish block cipher. See
10344the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10345Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10346 (license license:bsd-3)))
10347
10348(define-public ghc-th-abstraction
10349 (package
10350 (name "ghc-th-abstraction")
1188eabb 10351 (version "0.3.1.0")
dddbc90c
RV
10352 (source
10353 (origin
10354 (method url-fetch)
10355 (uri (string-append "https://hackage.haskell.org/package/"
10356 "th-abstraction/th-abstraction-"
10357 version ".tar.gz"))
10358 (sha256
10359 (base32
1188eabb 10360 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
10361 (build-system haskell-build-system)
10362 (home-page "https://github.com/glguy/th-abstraction")
10363 (synopsis "Nicer interface for reified information about data types")
10364 (description
10365 "This package normalizes variations in the interface for inspecting
10366datatype information via Template Haskell so that packages and support a
10367single, easier to use informational datatype while supporting many versions of
10368Template Haskell.")
10369 (license license:isc)))
10370
10371(define-public ghc-th-expand-syns
10372 (package
10373 (name "ghc-th-expand-syns")
8c766600 10374 (version "0.4.5.0")
dddbc90c
RV
10375 (source (origin
10376 (method url-fetch)
10377 (uri (string-append "https://hackage.haskell.org/package/"
10378 "th-expand-syns/th-expand-syns-"
10379 version ".tar.gz"))
10380 (sha256
10381 (base32
8c766600 10382 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
10383 (build-system haskell-build-system)
10384 (inputs
10385 `(("ghc-syb" ,ghc-syb)))
10386 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10387 (synopsis "Expands type synonyms in Template Haskell ASTs")
10388 (description
10389 "This package enables users to expand type synonyms in Template Haskell
10390@dfn{abstract syntax trees} (ASTs).")
10391 (license license:bsd-3)))
10392
10393(define-public ghc-th-lift
10394 (package
10395 (name "ghc-th-lift")
bd76b20a 10396 (version "0.8.0.1")
dddbc90c
RV
10397 (source (origin
10398 (method url-fetch)
10399 (uri (string-append "https://hackage.haskell.org/package/"
10400 "th-lift/th-lift-" version ".tar.gz"))
10401 (sha256
10402 (base32
bd76b20a 10403 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
10404 (build-system haskell-build-system)
10405 (inputs
10406 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10407 (home-page "https://github.com/mboes/th-lift")
10408 (synopsis "Derive Template Haskell's Lift class for datatypes")
10409 (description
10410 "This is a Haskell library to derive Template Haskell's Lift class for
10411datatypes.")
10412 (license license:bsd-3)))
10413
10414(define-public ghc-th-lift-instances
10415 (package
10416 (name "ghc-th-lift-instances")
d3db399e 10417 (version "0.1.14")
dddbc90c
RV
10418 (source
10419 (origin
10420 (method url-fetch)
10421 (uri (string-append "https://hackage.haskell.org/package/"
10422 "th-lift-instances/th-lift-instances-"
10423 version ".tar.gz"))
10424 (sha256
10425 (base32
d3db399e 10426 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
10427 (build-system haskell-build-system)
10428 (inputs
10429 `(("ghc-th-lift" ,ghc-th-lift)
10430 ("ghc-vector" ,ghc-vector)
10431 ("ghc-quickcheck" ,ghc-quickcheck)))
10432 (home-page "https://github.com/bennofs/th-lift-instances/")
10433 (synopsis "Lift instances for template-haskell for common data types.")
10434 (description "Most data types in the Haskell platform do not have Lift
10435instances. This package provides orphan instances for @code{containers},
10436@code{text}, @code{bytestring} and @code{vector}.")
10437 (license license:bsd-3)))
10438
10439(define-public ghc-th-orphans
10440 (package
10441 (name "ghc-th-orphans")
882b23e2 10442 (version "0.13.9")
dddbc90c
RV
10443 (source (origin
10444 (method url-fetch)
10445 (uri (string-append "https://hackage.haskell.org/package/"
10446 "th-orphans/th-orphans-" version ".tar.gz"))
10447 (sha256
10448 (base32
882b23e2 10449 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
10450 (build-system haskell-build-system)
10451 (inputs
10452 `(("ghc-th-lift" ,ghc-th-lift)
10453 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10454 ("ghc-th-reify-many" ,ghc-th-reify-many)
10455 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10456 (native-inputs
10457 `(("ghc-hspec" ,ghc-hspec)))
10458 (home-page "https://hackage.haskell.org/package/th-orphans")
10459 (synopsis "Orphan instances for TH datatypes")
10460 (description
10461 "This package provides orphan instances for Template Haskell datatypes. In particular,
10462instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10463and @code{Eq} instances. These instances used to live in the haskell-src-meta
10464package, and that's where the version number started.")
10465 (license license:bsd-3)))
10466
10467(define-public ghc-threads
10468 (package
10469 (name "ghc-threads")
10470 (version "0.5.1.6")
10471 (source
10472 (origin
10473 (method url-fetch)
10474 (uri (string-append "https://hackage.haskell.org/package/"
10475 "threads/threads-" version ".tar.gz"))
10476 (sha256
10477 (base32
10478 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10479 (build-system haskell-build-system)
10480 (native-inputs
10481 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10482 ("ghc-hunit" ,ghc-hunit)
10483 ("ghc-test-framework" ,ghc-test-framework)
10484 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10485 (home-page "https://github.com/basvandijk/threads")
10486 (synopsis "Fork threads and wait for their result")
10487 (description "This package provides functions to fork threads and
10488wait for their result, whether it's an exception or a normal value.
10489Besides waiting for the termination of a single thread this package also
10490provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10491package is similar to the @code{threadmanager}, @code{async} and
10492@code{spawn} packages. The advantages of this package are:
10493
dddbc90c
RV
10494@itemize
10495@item Simpler API.
10496@item More efficient in both space and time.
10497@item No space-leak when forking a large number of threads.
10498@item Correct handling of asynchronous exceptions.
10499@item GHC specific functionality like @code{forkOn} and
10500@code{forkIOWithUnmask}.
10501@end itemize")
10502 (license license:bsd-3)))
10503
10504(define-public ghc-th-reify-many
10505 (package
10506 (name "ghc-th-reify-many")
32d4a6ae 10507 (version "0.1.9")
dddbc90c
RV
10508 (source (origin
10509 (method url-fetch)
10510 (uri (string-append "https://hackage.haskell.org/package/"
10511 "th-reify-many/th-reify-many-"
10512 version ".tar.gz"))
10513 (sha256
10514 (base32
32d4a6ae 10515 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
10516 (build-system haskell-build-system)
10517 (inputs
10518 `(("ghc-safe" ,ghc-safe)
10519 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10520 (home-page "https://github.com/mgsloan/th-reify-many")
10521 (synopsis "Recurseively reify template haskell datatype info")
10522 (description
10523 "th-reify-many provides functions for recursively reifying top level
10524declarations. The main intended use case is for enumerating the names of
10525datatypes reachable from an initial datatype, and passing these names to some
10526function which generates instances.")
10527 (license license:bsd-3)))
10528
10529(define-public ghc-time-locale-compat
10530 (package
10531 (name "ghc-time-locale-compat")
10532 (version "0.1.1.5")
10533 (source
10534 (origin
10535 (method url-fetch)
10536 (uri (string-append "https://hackage.haskell.org/package/"
10537 "time-locale-compat/time-locale-compat-"
10538 version ".tar.gz"))
10539 (sha256
10540 (base32
10541 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10542 (build-system haskell-build-system)
10543 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10544 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10545 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10546 (description "This package contains a wrapped name module for
10547@code{TimeLocale}.")
10548 (license license:bsd-3)))
10549
7bbfa392
JS
10550(define-public ghc-timeit
10551 (package
10552 (name "ghc-timeit")
10553 (version "2.0")
10554 (source
10555 (origin
10556 (method url-fetch)
10557 (uri
10558 (string-append
10559 "https://hackage.haskell.org/package/timeit/timeit-"
10560 version ".tar.gz"))
10561 (sha256
10562 (base32
10563 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
10564 (build-system haskell-build-system)
10565 (home-page "https://github.com/merijn/timeit")
10566 (synopsis "Time monadic computations with an IO base")
10567 (description "This package provides a simple wrapper to show the
10568used CPU time of monadic computation with an IO base.")
10569 (license license:bsd-3)))
10570
dddbc90c
RV
10571(define-public ghc-tldr
10572 (package
10573 (name "ghc-tldr")
10574 (version "0.4.0.1")
10575 (source
10576 (origin
10577 (method url-fetch)
10578 (uri (string-append
10579 "https://hackage.haskell.org/package/tldr/tldr-"
10580 version
10581 ".tar.gz"))
10582 (sha256
10583 (base32
10584 "0nc581y9jjzwd8l88g48c72mla7k6q1w102akl7gl5jsk9ljamd3"))))
10585 (build-system haskell-build-system)
10586 (inputs
10587 `(("ghc-cmark" ,ghc-cmark)
10588 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10589 ("ghc-typed-process" ,ghc-typed-process)
10590 ("ghc-semigroups" ,ghc-semigroups)))
10591 (native-inputs
10592 `(("ghc-tasty" ,ghc-tasty)
10593 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10594 (home-page "https://github.com/psibi/tldr-hs#readme")
10595 (synopsis "Haskell tldr client")
10596 (description "This package provides the @command{tldr} command and a
10597Haskell client library allowing users to update and view @code{tldr} pages
10598from a shell. The @code{tldr} pages are a community effort to simplify the
10599man pages with practical examples.")
10600 (license license:bsd-3)))
10601
10602(define-public ghc-transformers-base
10603 (package
10604 (name "ghc-transformers-base")
10605 (version "0.4.5.2")
10606 (source
10607 (origin
10608 (method url-fetch)
10609 (uri (string-append
10610 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10611 version
10612 ".tar.gz"))
10613 (sha256
10614 (base32
10615 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10616 (build-system haskell-build-system)
10617 (inputs
10618 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10619 (home-page
10620 "https://hackage.haskell.org/package/transformers-compat")
10621 (synopsis
10622 "Backported transformer library")
10623 (description
10624 "Backported versions of types that were added to transformers in
10625transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10626compatibility to run on old versions of the platform.")
10627 (license license:bsd-3)))
10628
10629(define-public ghc-transformers-compat
10630 (package
10631 (name "ghc-transformers-compat")
1c9c4d58 10632 (version "0.6.5")
dddbc90c
RV
10633 (source
10634 (origin
10635 (method url-fetch)
10636 (uri (string-append
10637 "https://hackage.haskell.org/package/transformers-compat"
10638 "/transformers-compat-" version ".tar.gz"))
10639 (sha256
10640 (base32
1c9c4d58 10641 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
10642 (build-system haskell-build-system)
10643 (home-page "https://github.com/ekmett/transformers-compat/")
10644 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10645 (description "This package includes backported versions of types that were
10646added to transformers in transformers 0.3 and 0.4 for users who need strict
10647transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10648but also need those types.")
10649 (license license:bsd-3)))
10650
10651(define-public ghc-tree-diff
10652 (package
10653 (name "ghc-tree-diff")
10654 (version "0.0.1")
10655 (source
10656 (origin
10657 (method url-fetch)
10658 (uri (string-append
10659 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10660 version
10661 ".tar.gz"))
10662 (sha256
10663 (base32
10664 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10665 (build-system haskell-build-system)
10666 (arguments
10667 `(#:cabal-revision
10668 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10669 #:phases
10670 (modify-phases %standard-phases
10671 (add-before 'configure 'update-constraints
10672 (lambda _
10673 (substitute* "tree-diff.cabal"
10674 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10675 "trifecta >=1.7.1.1 && <=2")))))))
10676 (inputs
10677 `(("ghc-aeson" ,ghc-aeson)
10678 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10679 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10680 ("ghc-base-compat" ,ghc-base-compat)
10681 ("ghc-generics-sop" ,ghc-generics-sop)
10682 ("ghc-hashable" ,ghc-hashable)
10683 ("ghc-memotrie" ,ghc-memotrie)
10684 ("ghc-parsers" ,ghc-parsers)
10685 ("ghc-quickcheck" ,ghc-quickcheck)
10686 ("ghc-scientific" ,ghc-scientific)
10687 ("ghc-tagged" ,ghc-tagged)
10688 ("ghc-unordered-containers" ,ghc-unordered-containers)
10689 ("ghc-uuid-types" ,ghc-uuid-types)
10690 ("ghc-vector" ,ghc-vector)))
10691 (native-inputs
10692 `(("ghc-base-compat" ,ghc-base-compat)
10693 ("ghc-quickcheck" ,ghc-quickcheck)
10694 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10695 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10696 ("ghc-trifecta" ,ghc-trifecta)
10697 ("ghc-tasty" ,ghc-tasty)
10698 ("ghc-tasty-golden" ,ghc-tasty-golden)
10699 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10700 (home-page "https://github.com/phadej/tree-diff")
10701 (synopsis "Compute difference between (expression) trees")
10702 (description "This Haskell library provides a function for computing
10703the difference between (expression) trees. It also provides a way to
10704compute the difference between arbitrary abstract datatypes (ADTs) using
10705@code{Generics}-derivable helpers.")
10706 (license license:bsd-3)))
10707
10708(define-public ghc-trifecta
10709 (package
10710 (name "ghc-trifecta")
10711 (version "2")
10712 (source (origin
10713 (method url-fetch)
10714 (uri (string-append
10715 "https://hackage.haskell.org/package/trifecta/"
10716 "trifecta-" version ".tar.gz"))
10717 (sha256
10718 (base32
10719 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10720 (build-system haskell-build-system)
10721 (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
10722 (inputs
10723 `(("ghc-reducers" ,ghc-reducers)
10724 ("ghc-semigroups" ,ghc-semigroups)
10725 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10726 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10727 ("ghc-blaze-builder" ,ghc-blaze-builder)
10728 ("ghc-blaze-html" ,ghc-blaze-html)
10729 ("ghc-blaze-markup" ,ghc-blaze-markup)
10730 ("ghc-charset" ,ghc-charset)
10731 ("ghc-comonad" ,ghc-comonad)
10732 ("ghc-fingertree" ,ghc-fingertree)
10733 ("ghc-hashable" ,ghc-hashable)
10734 ("ghc-lens" ,ghc-lens)
10735 ("ghc-parsers" ,ghc-parsers)
10736 ("ghc-profunctors" ,ghc-profunctors)
10737 ("ghc-unordered-containers" ,ghc-unordered-containers)
10738 ("ghc-utf8-string" ,ghc-utf8-string)))
10739 (native-inputs
10740 `(("cabal-doctest" ,cabal-doctest)
10741 ("ghc-doctest" ,ghc-doctest)
10742 ("ghc-quickcheck" ,ghc-quickcheck)))
10743 (home-page "https://github.com/ekmett/trifecta/")
10744 (synopsis "Parser combinator library with convenient diagnostics")
10745 (description "Trifecta is a modern parser combinator library for Haskell,
10746with slicing and Clang-style colored diagnostics.")
10747 (license license:bsd-3)))
10748
10749(define-public ghc-tuple-th
10750 (package
10751 (name "ghc-tuple-th")
10752 (version "0.2.5")
10753 (source
10754 (origin
10755 (method url-fetch)
10756 (uri (string-append "https://hackage.haskell.org/package/"
10757 "tuple-th-" version "/"
10758 "tuple-th-" version ".tar.gz"))
10759 (sha256
10760 (base32
10761 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10762 (build-system haskell-build-system)
10763 (home-page "https://github.com/DanielSchuessler/tuple-th")
10764 (synopsis "Generate utility functions for tuples of statically known size
10765for Haskell")
10766 (description "This Haskell package contains Template Haskell functions for
10767generating functions similar to those in @code{Data.List} for tuples of
10768statically known size.")
10769 (license license:bsd-3)))
10770
10771(define-public ghc-typed-process
10772 (package
10773 (name "ghc-typed-process")
10774 (version "0.2.3.0")
10775 (source
10776 (origin
10777 (method url-fetch)
10778 (uri (string-append "https://hackage.haskell.org/package/"
10779 "typed-process/typed-process-"
10780 version ".tar.gz"))
10781 (sha256
10782 (base32
10783 "0j36vrc9w841m5qbwqra1lwiznx31xfnhin1sm8x2c2739csbpn0"))))
10784 (build-system haskell-build-system)
10785 (inputs
10786 `(("ghc-async" ,ghc-async)))
10787 (native-inputs
10788 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10789 ("ghc-hspec" ,ghc-hspec)
10790 ("hspec-discover" ,hspec-discover)
10791 ("ghc-temporary" ,ghc-temporary)))
10792 (home-page "https://haskell-lang.org/library/typed-process")
10793 (synopsis "Run external processes with strong typing of streams")
10794 (description
10795 "This library provides the ability to launch and interact with external
10796processes. It wraps around the @code{process} library, and intends to improve
10797upon it.")
10798 (license license:expat)))
10799
d392f803
AG
10800(define-public ghc-unagi-chan
10801 (package
10802 (name "ghc-unagi-chan")
10803 (version "0.4.1.2")
10804 (source
10805 (origin
10806 (method url-fetch)
10807 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
10808 "/unagi-chan-" version ".tar.gz"))
10809 (sha256
10810 (base32
10811 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
10812 (build-system haskell-build-system)
10813 (inputs
10814 `(("ghc-atomic-primops" ,ghc-atomic-primops)
10815 ("ghc-primitive" ,ghc-primitive)))
10816 (arguments
10817 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
10818 #:cabal-revision
10819 ("1"
10820 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
10821 (home-page "http://hackage.haskell.org/package/unagi-chan")
10822 (synopsis "Fast concurrent queues with a Chan-like API, and more")
10823 (description
10824 "This library provides implementations of concurrent FIFO queues (for
10825both general boxed and primitive unboxed values) that are fast, perform well
10826under contention, and offer a Chan-like interface. The library may be of
10827limited usefulness outside of x86 architectures where the fetch-and-add
10828instruction is not available.")
10829 (license license:bsd-3)))
10830
dddbc90c
RV
10831(define-public ghc-unbounded-delays
10832 (package
10833 (name "ghc-unbounded-delays")
10834 (version "0.1.1.0")
10835 (source
10836 (origin
10837 (method url-fetch)
10838 (uri (string-append
10839 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
10840 version
10841 ".tar.gz"))
10842 (sha256
10843 (base32
10844 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
10845 (build-system haskell-build-system)
10846 (home-page "https://github.com/basvandijk/unbounded-delays")
10847 (synopsis "Unbounded thread delays and timeouts")
10848 (description "The @code{threadDelay} and @code{timeout} functions from the
10849Haskell base library use the bounded @code{Int} type for specifying the delay
10850or timeout period. This package provides alternative functions which use the
10851unbounded @code{Integer} type.")
10852 (license license:bsd-3)))
10853
10854(define-public ghc-unexceptionalio
10855 (package
10856 (name "ghc-unexceptionalio")
10857 (version "0.4.0")
10858 (source
10859 (origin
10860 (method url-fetch)
10861 (uri (string-append "https://hackage.haskell.org/package/"
10862 "unexceptionalio-" version "/" "unexceptionalio-"
10863 version ".tar.gz"))
10864 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
10865 (build-system haskell-build-system)
10866 (home-page "https://github.com/singpolyma/unexceptionalio")
10867 (synopsis "IO without any non-error, synchronous exceptions")
10868 (description "When you've caught all the exceptions that can be
10869handled safely, this is what you're left with.")
10870 (license license:isc)))
10871
10872(define-public ghc-union-find
10873 (package
10874 (name "ghc-union-find")
10875 (version "0.2")
10876 (source (origin
10877 (method url-fetch)
10878 (uri (string-append
10879 "https://hackage.haskell.org/package/union-find/union-find-"
10880 version ".tar.gz"))
10881 (sha256
10882 (base32
10883 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
10884 (build-system haskell-build-system)
10885 (home-page "https://github.com/nominolo/union-find")
10886 (synopsis "Efficient union and equivalence testing of sets")
10887 (description
10888 "The Union/Find algorithm implements these operations in (effectively)
10889constant-time:
10890@enumerate
10891@item Check whether two elements are in the same equivalence class.
10892@item Create a union of two equivalence classes.
10893@item Look up the descriptor of the equivalence class.
10894@end enumerate\n")
10895 (license license:bsd-3)))
10896
10897(define-public ghc-uniplate
10898 (package
10899 (name "ghc-uniplate")
10900 (version "1.6.12")
10901 (source
10902 (origin
10903 (method url-fetch)
10904 (uri (string-append
10905 "https://hackage.haskell.org/package/uniplate/uniplate-"
10906 version
10907 ".tar.gz"))
10908 (sha256
10909 (base32
10910 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
10911 (build-system haskell-build-system)
10912 (inputs
10913 `(("ghc-syb" ,ghc-syb)
10914 ("ghc-hashable" ,ghc-hashable)
10915 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10916 (home-page "http://community.haskell.org/~ndm/uniplate/")
10917 (synopsis "Simple, concise and fast generic operations")
10918 (description "Uniplate is a library for writing simple and concise generic
10919operations. Uniplate has similar goals to the original Scrap Your Boilerplate
10920work, but is substantially simpler and faster.")
10921 (license license:bsd-3)))
10922
10923(define-public ghc-unix-compat
10924 (package
10925 (name "ghc-unix-compat")
bc82e9f5 10926 (version "0.5.2")
dddbc90c
RV
10927 (source
10928 (origin
10929 (method url-fetch)
10930 (uri (string-append
10931 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
10932 version
10933 ".tar.gz"))
10934 (sha256
10935 (base32
bc82e9f5 10936 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
10937 (build-system haskell-build-system)
10938 (home-page
10939 "https://github.com/jystic/unix-compat")
10940 (synopsis "Portable POSIX-compatibility layer")
10941 (description
10942 "This package provides portable implementations of parts of the unix
10943package. This package re-exports the unix package when available. When it
10944isn't available, portable implementations are used.")
10945 (license license:bsd-3)))
10946
10947(define-public ghc-unix-time
10948 (package
10949 (name "ghc-unix-time")
fad9cff2 10950 (version "0.4.7")
dddbc90c
RV
10951 (source
10952 (origin
10953 (method url-fetch)
10954 (uri (string-append
10955 "https://hackage.haskell.org/package/unix-time/unix-time-"
10956 version
10957 ".tar.gz"))
10958 (sha256
10959 (base32
fad9cff2 10960 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
10961 (build-system haskell-build-system)
10962 (arguments
10963 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
10964 ; is weird, that should be provided by GHC 7.10.2.
10965 (inputs
10966 `(("ghc-old-time" ,ghc-old-time)
10967 ("ghc-old-locale" ,ghc-old-locale)))
10968 (home-page "https://hackage.haskell.org/package/unix-time")
10969 (synopsis "Unix time parser/formatter and utilities")
10970 (description "This library provides fast parsing and formatting utilities
10971for Unix time in Haskell.")
10972 (license license:bsd-3)))
10973
10974(define-public ghc-unliftio
10975 (package
10976 (name "ghc-unliftio")
a4084db1 10977 (version "0.2.12")
dddbc90c
RV
10978 (source
10979 (origin
10980 (method url-fetch)
10981 (uri (string-append
10982 "https://hackage.haskell.org/package/unliftio/unliftio-"
10983 version
10984 ".tar.gz"))
10985 (sha256
10986 (base32
a4084db1 10987 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
10988 (build-system haskell-build-system)
10989 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
10990 (inputs
10991 `(("ghc-async" ,ghc-async)
10992 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10993 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
10994 (home-page "https://github.com/fpco/unliftio")
10995 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
10996IO (batteries included)")
10997 (description "This Haskell package provides the core @code{MonadUnliftIO}
10998typeclass, a number of common instances, and a collection of common functions
10999working with it.")
11000 (license license:expat)))
11001
11002(define-public ghc-unliftio-core
11003 (package
11004 (name "ghc-unliftio-core")
2ae42618 11005 (version "0.1.2.0")
dddbc90c
RV
11006 (source
11007 (origin
11008 (method url-fetch)
11009 (uri (string-append "https://hackage.haskell.org/package/"
11010 "unliftio-core-" version "/"
11011 "unliftio-core-" version ".tar.gz"))
11012 (sha256
11013 (base32
2ae42618 11014 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
11015 (build-system haskell-build-system)
11016 (arguments
11017 `(#:cabal-revision
2ae42618 11018 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
11019 (home-page
11020 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
11021 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
11022 (description "This Haskell package provides the core @code{MonadUnliftIO}
11023typeclass, instances for base and transformers, and basic utility
11024functions.")
11025 (license license:expat)))
11026
11027(define-public ghc-unordered-containers
11028 (package
11029 (name "ghc-unordered-containers")
ca01f8d3 11030 (version "0.2.10.0")
dddbc90c
RV
11031 (outputs '("out" "doc"))
11032 (source
11033 (origin
11034 (method url-fetch)
11035 (uri (string-append
11036 "https://hackage.haskell.org/package/unordered-containers"
11037 "/unordered-containers-" version ".tar.gz"))
11038 (sha256
11039 (base32
ca01f8d3 11040 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
11041 (build-system haskell-build-system)
11042 (inputs
11043 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
11044 ("ghc-hunit" ,ghc-hunit)
11045 ("ghc-quickcheck" ,ghc-quickcheck)
11046 ("ghc-test-framework" ,ghc-test-framework)
11047 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11048 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11049 ("ghc-hashable" ,ghc-hashable)))
11050 (home-page
11051 "https://github.com/tibbe/unordered-containers")
11052 (synopsis
11053 "Efficient hashing-based container types")
11054 (description
11055 "Efficient hashing-based container types. The containers have been
11056optimized for performance critical use, both in terms of large data quantities
11057and high speed.")
11058 (license license:bsd-3)))
11059
11060(define-public ghc-unordered-containers-bootstrap
11061 (package
11062 (inherit ghc-unordered-containers)
11063 (name "ghc-unordered-containers-bootstrap")
11064 (arguments `(#:tests? #f))
11065 (inputs
11066 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11067 (properties '((hidden? #t)))))
dddbc90c 11068
a52f4c57
JS
11069(define-public ghc-unsafe
11070 (package
11071 (name "ghc-unsafe")
11072 (version "0.0")
11073 (source
11074 (origin
11075 (method url-fetch)
11076 (uri
11077 (string-append
11078 "https://hackage.haskell.org/package/unsafe/unsafe-"
11079 version ".tar.gz"))
11080 (sha256
11081 (base32
11082 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
11083 (build-system haskell-build-system)
11084 (home-page "https://hackage.haskell.org/package/unsafe")
11085 (synopsis "Unified interface to unsafe functions")
11086 (description "Safe Haskell introduced the notion of safe and unsafe
11087modules. In order to make as many as possible modules ``safe'', the
11088well-known unsafe functions were moved to distinguished modules. This
11089makes it hard to write packages that work with both old and new versions
11090of GHC. This package provides a single module System.Unsafe that
11091exports the unsafe functions from the base package. It provides them in
11092a style ready for qualification, that is, you should import them by
11093@code{import qualified System.Unsafe as Unsafe}.")
11094 (license license:bsd-3)))
11095
dddbc90c
RV
11096(define-public ghc-uri-bytestring
11097 (package
11098 (name "ghc-uri-bytestring")
11099 (version "0.3.2.0")
11100 (source
11101 (origin
11102 (method url-fetch)
11103 (uri (string-append "https://hackage.haskell.org/package/"
11104 "uri-bytestring-" version "/"
11105 "uri-bytestring-" version ".tar.gz"))
11106 (sha256
11107 (base32
11108 "1q04j5ybvk37zk2m0bkjwyhblz0ymdj0cn4rvsvdca1ikn5xdv5c"))))
11109 (build-system haskell-build-system)
11110 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11111 ("ghc-fail" ,ghc-fail)
11112 ("ghc-blaze-builder" ,ghc-blaze-builder)
11113 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
11114 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11115 ("ghc-hunit" ,ghc-hunit)
11116 ("ghc-quickcheck" ,ghc-quickcheck)
11117 ("ghc-tasty" ,ghc-tasty)
11118 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11119 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11120 ("ghc-base-compat" ,ghc-base-compat)
11121 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11122 ("ghc-semigroups" ,ghc-semigroups)
11123 ("ghc-generics-sop" ,ghc-generics-sop)))
11124 (home-page "https://github.com/Soostone/uri-bytestring")
11125 (synopsis "Haskell URI parsing as ByteStrings")
11126 (description "This Haskell package aims to be an RFC3986 compliant URI
11127parser that uses ByteStrings for parsing and representing the URI data.")
11128 (license license:bsd-3)))
11129
11130(define-public ghc-utf8-string
11131 (package
11132 (name "ghc-utf8-string")
11133 (version "1.0.1.1")
11134 (source
11135 (origin
11136 (method url-fetch)
11137 (uri (string-append
11138 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
11139 version
11140 ".tar.gz"))
11141 (sha256
11142 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
11143 (build-system haskell-build-system)
11144 (arguments
11145 `(#:cabal-revision
11146 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
11147 (home-page "https://github.com/glguy/utf8-string/")
11148 (synopsis "Support for reading and writing UTF8 Strings")
11149 (description
11150 "A UTF8 layer for Strings. The utf8-string package provides operations
11151for encoding UTF8 strings to Word8 lists and back, and for reading and writing
11152UTF8 without truncation.")
11153 (license license:bsd-3)))
11154
11155(define-public ghc-utility-ht
11156 (package
11157 (name "ghc-utility-ht")
11158 (version "0.0.14")
11159 (home-page "https://hackage.haskell.org/package/utility-ht")
11160 (source
11161 (origin
11162 (method url-fetch)
11163 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
11164 (sha256
11165 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
11166 (build-system haskell-build-system)
11167 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
11168 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
11169 (description "This package includes Hakell modules providing various
11170helper functions for Lists, Maybes, Tuples, Functions.")
11171 (license license:bsd-3)))
11172
11173(define-public ghc-uuid
11174 (package
11175 (name "ghc-uuid")
11176 (version "1.3.13")
11177 (source
11178 (origin
11179 (method url-fetch)
11180 (uri (string-append "https://hackage.haskell.org/package/"
11181 "uuid-" version "/"
11182 "uuid-" version ".tar.gz"))
11183 (sha256
11184 (base32
11185 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
11186 (build-system haskell-build-system)
11187 (arguments
11188 `(#:cabal-revision
11189 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
11190 #:phases
11191 (modify-phases %standard-phases
11192 (add-before 'configure 'strip-test-framework-constraints
11193 (lambda _
11194 (substitute* "uuid.cabal"
11195 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
11196 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
11197 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11198 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11199 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11200 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
11201 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
11202 ("ghc-entropy" ,ghc-entropy)
11203 ("ghc-network-info" ,ghc-network-info)
11204 ("ghc-random" ,ghc-random)
11205 ("ghc-uuid-types" ,ghc-uuid-types)))
11206 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11207 ("ghc-quickcheck" ,ghc-quickcheck)
11208 ("ghc-tasty" ,ghc-tasty)
11209 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11210 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11211 (home-page "https://github.com/hvr/uuid")
11212 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
11213 (description "This Haskell library provides utilities creating, comparing,
11214parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
11215 (license license:bsd-3)))
11216
11217(define-public ghc-uuid-types
11218 (package
11219 (name "ghc-uuid-types")
11220 (version "1.0.3")
11221 (source
11222 (origin
11223 (method url-fetch)
11224 (uri (string-append "https://hackage.haskell.org/package/"
11225 "uuid-types-" version "/"
11226 "uuid-types-" version ".tar.gz"))
11227 (sha256
11228 (base32
11229 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
11230 (build-system haskell-build-system)
11231 (arguments
11232 `(#:phases
11233 (modify-phases %standard-phases
11234 (add-before 'configure 'strip-test-framework-constraints
11235 (lambda _
11236 (substitute* "uuid-types.cabal"
11237 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
11238 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
11239 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11240 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11241 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11242 (inputs `(("ghc-hashable" ,ghc-hashable)
11243 ("ghc-random" ,ghc-random)))
11244 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11245 ("ghc-quickcheck" ,ghc-quickcheck)
11246 ("ghc-tasty" ,ghc-tasty)
11247 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11248 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11249 (home-page "https://github.com/hvr/uuid")
11250 (synopsis "Haskell type definitions for UUIDs")
11251 (description "This Haskell library contains type definitions for
11252@dfn{Universally Unique Identifiers} or
11253@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
11254functions.")
11255 (license license:bsd-3)))
11256
11257(define-public ghc-validation
11258 (package
11259 (name "ghc-validation")
11260 (version "1")
11261 (source
11262 (origin
11263 (method url-fetch)
11264 (uri (string-append
11265 "mirror://hackage/package/validation/validation-"
11266 version
11267 ".tar.gz"))
11268 (sha256
11269 (base32
11270 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
11271 (build-system haskell-build-system)
11272 (arguments
11273 `(#:cabal-revision
11274 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
11275 (inputs
11276 `(("ghc-semigroups" ,ghc-semigroups)
11277 ("ghc-semigroupoids" ,ghc-semigroupoids)
11278 ("ghc-bifunctors" ,ghc-bifunctors)
11279 ("ghc-lens" ,ghc-lens)))
11280 (native-inputs
11281 `(("ghc-hedgehog" ,ghc-hedgehog)
11282 ("ghc-hunit" ,ghc-hunit)))
11283 (home-page "https://github.com/qfpl/validation")
11284 (synopsis
11285 "Data-type like Either but with an accumulating Applicative")
11286 (description
11287 "A data-type like Either but with differing properties and type-class
11288instances.
11289
11290Library support is provided for this different representation, including
11291@code{lens}-related functions for converting between each and abstracting over
11292their similarities.
11293
11294The @code{Validation} data type is isomorphic to @code{Either}, but has an
11295instance of @code{Applicative} that accumulates on the error side. That is to
11296say, if two (or more) errors are encountered, they are appended using a
11297@{Semigroup} operation.
11298
11299As a consequence of this @code{Applicative} instance, there is no
11300corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11301example of, \"An applicative functor that is not a monad.\"")
11302 (license license:bsd-3)))
11303
11304(define-public ghc-validity
11305 (package
11306 (name "ghc-validity")
3f1ba75d 11307 (version "0.9.0.2")
dddbc90c
RV
11308 (source
11309 (origin
11310 (method url-fetch)
11311 (uri (string-append
11312 "https://hackage.haskell.org/package/validity/validity-"
11313 version
11314 ".tar.gz"))
11315 (sha256
11316 (base32
3f1ba75d 11317 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
11318 (build-system haskell-build-system)
11319 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11320 ("hspec-discover" ,hspec-discover)))
11321 (home-page
11322 "https://github.com/NorfairKing/validity")
11323 (synopsis "Validity typeclass")
11324 (description
11325 "Values of custom types usually have invariants imposed upon them. This
11326package provides the @code{Validity} type class, which makes these invariants
11327explicit by providing a function to check whether the invariants hold.")
11328 (license license:expat)))
11329
11330(define-public ghc-vault
11331 (package
11332 (name "ghc-vault")
11333 (version "0.3.1.2")
11334 (source
11335 (origin
11336 (method url-fetch)
11337 (uri (string-append
11338 "https://hackage.haskell.org/package/vault/vault-"
11339 version
11340 ".tar.gz"))
11341 (sha256
11342 (base32
11343 "072mbrihsdsb8c6xvg6lvk0rqjgvxvi8qkg4n6wwym5hq0pfa04y"))))
11344 (build-system haskell-build-system)
11345 (inputs
11346 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11347 ("ghc-hashable" ,ghc-hashable)
11348 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11349 (home-page
11350 "https://github.com/HeinrichApfelmus/vault")
11351 (synopsis "Persistent store for arbitrary values")
11352 (description "This package provides vaults for Haskell. A vault is a
11353persistent store for values of arbitrary types. It's like having first-class
11354access to the storage space behind @code{IORefs}. The data structure is
11355analogous to a bank vault, where you can access different bank boxes with
11356different keys; hence the name. Also provided is a @code{locker} type,
11357representing a store for a single element.")
11358 (license license:bsd-3)))
11359
11360(define-public ghc-vector
11361 (package
11362 (name "ghc-vector")
3ad67f6b 11363 (version "0.12.0.3")
dddbc90c
RV
11364 (outputs '("out" "doc"))
11365 (source
11366 (origin
11367 (method url-fetch)
11368 (uri (string-append
11369 "https://hackage.haskell.org/package/vector/vector-"
11370 version
11371 ".tar.gz"))
11372 (sha256
11373 (base32
3ad67f6b 11374 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
11375 (build-system haskell-build-system)
11376 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11377 ;; disabled for now.
11378 (arguments
3ad67f6b 11379 `(#:tests? #f))
dddbc90c
RV
11380 (inputs
11381 `(("ghc-primitive" ,ghc-primitive)
11382 ("ghc-random" ,ghc-random)
11383 ("ghc-quickcheck" ,ghc-quickcheck)
11384 ;; ("ghc-hunit" ,ghc-hunit)
11385 ;; ("ghc-test-framework" ,ghc-test-framework)
11386 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11387 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11388 ))
11389 (home-page "https://github.com/haskell/vector")
11390 (synopsis "Efficient Arrays")
11391 (description "This library provides an efficient implementation of
11392Int-indexed arrays (both mutable and immutable), with a powerful loop
11393optimisation framework.")
11394 (license license:bsd-3)))
11395
11396(define-public ghc-vector-algorithms
11397 (package
11398 (name "ghc-vector-algorithms")
e71f316f 11399 (version "0.8.0.1")
dddbc90c
RV
11400 (source
11401 (origin
11402 (method url-fetch)
11403 (uri (string-append "https://hackage.haskell.org/package/"
11404 "vector-algorithms-" version "/"
11405 "vector-algorithms-" version ".tar.gz"))
11406 (sha256
11407 (base32
e71f316f 11408 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
11409 (build-system haskell-build-system)
11410 (inputs
11411 `(("ghc-vector" ,ghc-vector)))
11412 (native-inputs
11413 `(("ghc-quickcheck" ,ghc-quickcheck)))
11414 (home-page "https://github.com/bos/math-functions")
11415 (synopsis "Algorithms for vector arrays in Haskell")
11416 (description "This Haskell library algorithms for vector arrays.")
11417 (license license:bsd-3)))
11418
11419(define-public ghc-vector-binary-instances
11420 (package
11421 (name "ghc-vector-binary-instances")
ca0701ef 11422 (version "0.2.5.1")
dddbc90c
RV
11423 (source
11424 (origin
11425 (method url-fetch)
11426 (uri (string-append
11427 "https://hackage.haskell.org/package/"
11428 "vector-binary-instances/vector-binary-instances-"
11429 version ".tar.gz"))
11430 (sha256
11431 (base32
ca0701ef 11432 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 11433 (build-system haskell-build-system)
dddbc90c
RV
11434 (inputs
11435 `(("ghc-vector" ,ghc-vector)))
11436 (native-inputs
11437 `(("ghc-tasty" ,ghc-tasty)
11438 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11439 (home-page "https://github.com/bos/vector-binary-instances")
11440 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11441 (description "This library provides instances of @code{Binary} for the
11442types defined in the @code{vector} package, making it easy to serialize
11443vectors to and from disk. We use the generic interface to vectors, so all
11444vector types are supported. Specific instances are provided for unboxed,
11445boxed and storable vectors.")
11446 (license license:bsd-3)))
11447
11448(define-public ghc-vector-builder
11449 (package
11450 (name "ghc-vector-builder")
11451 (version "0.3.6")
11452 (source
11453 (origin
11454 (method url-fetch)
11455 (uri (string-append "https://hackage.haskell.org/package/"
11456 "vector-builder-" version "/"
11457 "vector-builder-" version ".tar.gz"))
11458 (sha256
11459 (base32
11460 "06d2pa1fb3ydrl7l6rjazqyxv5i73v65x2f5fp0ypjxfbm6jsmn8"))))
11461 (build-system haskell-build-system)
11462 (inputs `(("ghc-vector" ,ghc-vector)
11463 ("ghc-semigroups" ,ghc-semigroups)
11464 ("ghc-base-prelude" ,ghc-base-prelude)))
11465 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11466 ("ghc-tasty" ,ghc-tasty)
11467 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11468 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11469 ("ghc-hunit" ,ghc-hunit)
11470 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11471 ("ghc-rerebase" ,ghc-rerebase)))
11472 (home-page "https://github.com/nikita-volkov/vector-builder")
11473 (synopsis "Vector builder for Haskell")
11474 (description "This Haskell package provides an API for constructing vectors.
11475It provides the composable @code{Builder} abstraction, which has instances of the
11476@code{Monoid} and @code{Semigroup} classes.
11477
11478You would first use the @code{Builder} abstraction to specify the structure of
11479the vector; then you can execute the builder to actually produce the
11480vector. ")
11481 (license license:expat)))
11482
11483(define-public ghc-vector-th-unbox
11484 (package
11485 (name "ghc-vector-th-unbox")
63056e61 11486 (version "0.2.1.7")
dddbc90c
RV
11487 (source
11488 (origin
11489 (method url-fetch)
11490 (uri (string-append "https://hackage.haskell.org/package/"
11491 "vector-th-unbox-" version "/"
11492 "vector-th-unbox-" version ".tar.gz"))
11493 (sha256
11494 (base32
63056e61 11495 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
11496 (build-system haskell-build-system)
11497 (inputs
11498 `(("ghc-vector" ,ghc-vector)
11499 ("ghc-data-default" ,ghc-data-default)))
11500 (home-page "https://github.com/liyang/vector-th-unbox")
11501 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
11502 (description "This Haskell library provides a Template Haskell
11503deriver for unboxed vectors, given a pair of coercion functions to
11504and from some existing type with an Unbox instance.")
11505 (license license:bsd-3)))
11506
11507(define-public ghc-void
11508 (package
11509 (name "ghc-void")
51889121 11510 (version "0.7.3")
dddbc90c
RV
11511 (source
11512 (origin
11513 (method url-fetch)
11514 (uri (string-append
11515 "https://hackage.haskell.org/package/void/void-"
11516 version
11517 ".tar.gz"))
11518 (sha256
11519 (base32
51889121 11520 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
11521 (build-system haskell-build-system)
11522 (inputs
11523 `(("ghc-semigroups" ,ghc-semigroups)
11524 ("ghc-hashable" ,ghc-hashable)))
11525 (home-page "https://github.com/ekmett/void")
11526 (synopsis
11527 "Logically uninhabited data type")
11528 (description
11529 "A Haskell 98 logically uninhabited data type, used to indicate that a
11530given term should not exist.")
11531 (license license:bsd-3)))
11532
11533(define-public ghc-wave
11534 (package
11535 (name "ghc-wave")
11536 (version "0.1.5")
11537 (source (origin
11538 (method url-fetch)
11539 (uri (string-append
11540 "https://hackage.haskell.org/package/wave/wave-"
11541 version
11542 ".tar.gz"))
11543 (sha256
11544 (base32
11545 "03zycmwrchhqvi37fdvlzz2d1vl4hy0i8xyys1zznw38qfq0h2i5"))))
11546 (build-system haskell-build-system)
11547 (arguments
11548 '(#:phases
11549 (modify-phases %standard-phases
11550 (add-before 'configure 'update-constraints
11551 (lambda _
11552 (substitute* "wave.cabal"
11553 (("temporary.* < 1\\.3")
11554 "temporary >= 1.1 && < 1.4")))))))
11555 (inputs
11556 `(("ghc-cereal" ,ghc-cereal)
11557 ("ghc-data-default-class"
11558 ,ghc-data-default-class)
11559 ("ghc-quickcheck" ,ghc-quickcheck)
11560 ("ghc-temporary" ,ghc-temporary)))
11561 (native-inputs
11562 `(("hspec-discover" ,hspec-discover)
11563 ("ghc-hspec" ,ghc-hspec)))
11564 (home-page "https://github.com/mrkkrp/wave")
11565 (synopsis "Work with WAVE and RF64 files in Haskell")
11566 (description "This package allows you to work with WAVE and RF64
11567files in Haskell.")
11568 (license license:bsd-3)))
11569
11570(define-public ghc-wcwidth
11571 (package
11572 (name "ghc-wcwidth")
11573 (version "0.0.2")
11574 (source
11575 (origin
11576 (method url-fetch)
11577 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11578 version ".tar.gz"))
11579 (sha256
11580 (base32
11581 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11582 (build-system haskell-build-system)
11583 (inputs
11584 `(("ghc-setlocale" ,ghc-setlocale)
11585 ("ghc-utf8-string" ,ghc-utf8-string)
11586 ("ghc-attoparsec" ,ghc-attoparsec)))
11587 (home-page "https://github.com/solidsnack/wcwidth/")
11588 (synopsis "Haskell bindings to wcwidth")
11589 (description "This package provides Haskell bindings to your system's
11590native wcwidth and a command line tool to examine the widths assigned by it.
11591The command line tool can compile a width table to Haskell code that assigns
11592widths to the Char type.")
11593 (license license:bsd-3)))
11594
11595(define-public ghc-wcwidth-bootstrap
11596 (package
11597 (inherit ghc-wcwidth)
11598 (name "ghc-wcwidth-bootstrap")
11599 (inputs
11600 `(("ghc-setlocale" ,ghc-setlocale)
11601 ("ghc-utf8-string" ,ghc-utf8-string)
11602 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 11603 (properties '((hidden? #t)))))
dddbc90c
RV
11604
11605(define-public ghc-weigh
11606 (package
11607 (name "ghc-weigh")
11608 (version "0.0.12")
11609 (source
11610 (origin
11611 (method url-fetch)
11612 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11613 "weigh-" version ".tar.gz"))
11614 (sha256
11615 (base32
11616 "0zw2a997gxgdzqmd7j730kxgynzmjvvlkw84dajmfzf1v9pbij7x"))))
11617 (build-system haskell-build-system)
11618 (inputs
11619 `(("ghc-split" ,ghc-split)
11620 ("ghc-temporary" ,ghc-temporary)))
11621 (home-page "https://github.com/fpco/weigh#readme")
11622 (synopsis "Measure allocations of a Haskell functions/values")
11623 (description "This package provides tools to measure the memory usage of a
11624Haskell value or function.")
11625 (license license:bsd-3)))
11626
11627(define-public ghc-wl-pprint
11628 (package
11629 (name "ghc-wl-pprint")
11630 (version "1.2.1")
11631 (source (origin
11632 (method url-fetch)
11633 (uri (string-append
11634 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11635 version ".tar.gz"))
11636 (sha256
11637 (base32
11638 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11639 (build-system haskell-build-system)
11640 (home-page "https://hackage.haskell.org/package/wl-pprint")
11641 (synopsis "Wadler/Leijen pretty printer")
11642 (description
11643 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11644Printer}. This version allows the library user to declare overlapping
11645instances of the @code{Pretty} class.")
11646 (license license:bsd-3)))
11647
11648(define-public ghc-wl-pprint-annotated
11649 (package
11650 (name "ghc-wl-pprint-annotated")
11651 (version "0.1.0.1")
11652 (source
11653 (origin
11654 (method url-fetch)
11655 (uri (string-append
11656 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11657 version
11658 ".tar.gz"))
11659 (sha256
11660 (base32
11661 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11662 (build-system haskell-build-system)
11663 (native-inputs
11664 `(("ghc-tasty" ,ghc-tasty)
11665 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11666 (home-page
11667 "https://github.com/minad/wl-pprint-annotated#readme")
11668 (synopsis
11669 "Wadler/Leijen pretty printer with annotation support")
11670 (description
11671 "Annotations are useful for coloring. This is a limited version of
11672@code{wl-pprint-extras} without support for point effects and without the free
11673monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11674Compared to @code{annotated-wl-pprint} this library provides a slightly
11675modernized interface.")
11676 (license license:bsd-3)))
11677
11678(define-public ghc-wl-pprint-text
11679 (package
11680 (name "ghc-wl-pprint-text")
11681 (version "1.2.0.0")
11682 (source
11683 (origin
11684 (method url-fetch)
11685 (uri (string-append
11686 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11687 version ".tar.gz"))
11688 (sha256
11689 (base32
11690 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11691 (build-system haskell-build-system)
11692 (inputs
11693 `(("ghc-base-compat" ,ghc-base-compat)))
11694 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11695 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11696 (description
11697 "A clone of wl-pprint for use with the text library.")
11698 (license license:bsd-3)))
11699
11700(define-public ghc-word8
11701 (package
11702 (name "ghc-word8")
11703 (version "0.1.3")
11704 (source
11705 (origin
11706 (method url-fetch)
11707 (uri (string-append
11708 "https://hackage.haskell.org/package/word8/word8-"
11709 version
11710 ".tar.gz"))
11711 (sha256
11712 (base32
11713 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11714 (build-system haskell-build-system)
11715 (native-inputs
11716 `(("ghc-hspec" ,ghc-hspec)
11717 ("hspec-discover" ,hspec-discover)))
11718 (home-page "https://hackage.haskell.org/package/word8")
11719 (synopsis "Word8 library for Haskell")
11720 (description "Word8 library to be used with @code{Data.ByteString}.")
11721 (license license:bsd-3)))
11722
11723(define-public ghc-x11
11724 (package
11725 (name "ghc-x11")
6c4581a3 11726 (version "1.9.1")
dddbc90c
RV
11727 (source
11728 (origin
11729 (method url-fetch)
11730 (uri (string-append "https://hackage.haskell.org/package/X11/"
11731 "X11-" version ".tar.gz"))
11732 (sha256
6c4581a3 11733 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
11734 (build-system haskell-build-system)
11735 (inputs
11736 `(("libx11" ,libx11)
11737 ("libxrandr" ,libxrandr)
11738 ("libxinerama" ,libxinerama)
11739 ("libxscrnsaver" ,libxscrnsaver)
11740 ("ghc-data-default" ,ghc-data-default)))
11741 (home-page "https://github.com/haskell-pkg-janitors/X11")
11742 (synopsis "Bindings to the X11 graphics library")
11743 (description
11744 "This package provides Haskell bindings to the X11 graphics library. The
11745bindings are a direct translation of the C bindings.")
11746 (license license:bsd-3)))
11747
11748(define-public ghc-x11-xft
11749 (package
11750 (name "ghc-x11-xft")
11751 (version "0.3.1")
11752 (source
11753 (origin
11754 (method url-fetch)
11755 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11756 "X11-xft-" version ".tar.gz"))
11757 (sha256
11758 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11759 (inputs
11760 `(("ghc-x11" ,ghc-x11)
11761 ("ghc-utf8-string" ,ghc-utf8-string)
11762 ("libx11" ,libx11)
11763 ("libxft" ,libxft)
11764 ("xorgproto" ,xorgproto)))
11765 (native-inputs
11766 `(("pkg-config" ,pkg-config)))
11767 (build-system haskell-build-system)
11768 (home-page "https://hackage.haskell.org/package/X11-xft")
11769 (synopsis "Bindings to Xft")
11770 (description
11771 "Bindings to the Xft, X Free Type interface library, and some Xrender
11772parts.")
11773 (license license:lgpl2.1)))
11774
11775(define-public ghc-xdg-basedir
11776 (package
11777 (name "ghc-xdg-basedir")
11778 (version "0.2.2")
11779 (source
11780 (origin
11781 (method url-fetch)
11782 (uri (string-append
11783 "https://hackage.haskell.org/package/xdg-basedir/"
11784 "xdg-basedir-" version ".tar.gz"))
11785 (sha256
11786 (base32
11787 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
11788 (build-system haskell-build-system)
11789 (home-page "http://github.com/willdonnelly/xdg-basedir")
11790 (synopsis "XDG Base Directory library for Haskell")
11791 (description "This package provides a library implementing the XDG Base Directory spec.")
11792 (license license:bsd-3)))
11793
11794(define-public ghc-xml
11795 (package
11796 (name "ghc-xml")
11797 (version "1.3.14")
11798 (source
11799 (origin
11800 (method url-fetch)
11801 (uri (string-append
11802 "https://hackage.haskell.org/package/xml/xml-"
11803 version
11804 ".tar.gz"))
11805 (sha256
11806 (base32
11807 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
11808 (build-system haskell-build-system)
11809 (home-page "http://code.galois.com")
11810 (synopsis "Simple XML library for Haskell")
11811 (description "This package provides a simple XML library for Haskell.")
11812 (license license:bsd-3)))
11813
11814(define-public ghc-xml-conduit
11815 (package
11816 (name "ghc-xml-conduit")
11817 (version "1.8.0.1")
11818 (source
11819 (origin
11820 (method url-fetch)
11821 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
11822 "xml-conduit-" version ".tar.gz"))
11823 (sha256
11824 (base32
11825 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
11826 (build-system haskell-build-system)
11827 (inputs
11828 `(("ghc-conduit" ,ghc-conduit)
11829 ("ghc-conduit-extra" ,ghc-conduit-extra)
11830 ("ghc-doctest" ,ghc-doctest)
11831 ("ghc-resourcet" ,ghc-resourcet)
11832 ("ghc-xml-types" ,ghc-xml-types)
11833 ("ghc-attoparsec" ,ghc-attoparsec)
11834 ("ghc-data-default-class" ,ghc-data-default-class)
11835 ("ghc-blaze-markup" ,ghc-blaze-markup)
11836 ("ghc-blaze-html" ,ghc-blaze-html)
11837 ("ghc-monad-control" ,ghc-monad-control)
11838 ("ghc-hspec" ,ghc-hspec)
11839 ("ghc-hunit" ,ghc-hunit)))
11840 (home-page "https://github.com/snoyberg/xml")
11841 (synopsis "Utilities for dealing with XML with the conduit package")
11842 (description
11843 "This package provides pure-Haskell utilities for dealing with XML with
11844the @code{conduit} package.")
11845 (license license:expat)))
11846
11847(define-public ghc-xml-types
11848 (package
11849 (name "ghc-xml-types")
11850 (version "0.3.6")
11851 (source
11852 (origin
11853 (method url-fetch)
11854 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
11855 "xml-types-" version ".tar.gz"))
11856 (sha256
11857 (base32
11858 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
11859 (build-system haskell-build-system)
11860 (home-page "https://john-millikin.com/software/haskell-xml/")
11861 (synopsis "Basic types for representing XML")
11862 (description "This package provides basic types for representing XML
11863documents.")
11864 (license license:expat)))
11865
11866(define-public ghc-yaml
11867 (package
11868 (name "ghc-yaml")
11869 (version "0.8.32")
11870 (source (origin
11871 (method url-fetch)
11872 (uri (string-append "https://hackage.haskell.org/package/"
11873 "yaml/yaml-" version ".tar.gz"))
11874 (sha256
11875 (base32
11876 "0cbsyh4ilvjzq1q7pxls43k6pdqxg1l85xzibcwpbvmlvrizh86w"))))
11877 (build-system haskell-build-system)
11878 ;; The tests are broken on i686. They are fixed in 0.10.3.0.
11879 ;; See https://github.com/snoyberg/yaml/issues/158
11880 (arguments `(#:tests? #f))
11881 (inputs
11882 `(("ghc-conduit" ,ghc-conduit)
11883 ("ghc-resourcet" ,ghc-resourcet)
11884 ("ghc-aeson" ,ghc-aeson)
11885 ("ghc-unordered-containers" ,ghc-unordered-containers)
11886 ("ghc-vector" ,ghc-vector)
11887 ("ghc-attoparsec" ,ghc-attoparsec)
11888 ("ghc-scientific" ,ghc-scientific)
11889 ("ghc-semigroups" ,ghc-semigroups)
11890 ("ghc-temporary" ,ghc-temporary)
11891 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11892 ("ghc-base-compat" ,ghc-base-compat)))
11893 (native-inputs
11894 `(("ghc-hspec" ,ghc-hspec)
11895 ("ghc-hunit" ,ghc-hunit)
11896 ("hspec-discover" ,hspec-discover)
11897 ("ghc-mockery" ,ghc-mockery)))
11898 (home-page "https://github.com/snoyberg/yaml/")
11899 (synopsis "Parsing and rendering YAML documents")
11900 (description
11901 "This package provides a library to parse and render YAML documents.")
11902 (license license:bsd-3)))
11903
11904(define-public ghc-zip-archive
11905 (package
11906 (name "ghc-zip-archive")
11907 (version "0.3.3")
11908 (source
11909 (origin
11910 (method url-fetch)
11911 (uri (string-append
11912 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
11913 version
11914 ".tar.gz"))
11915 (sha256
11916 (base32
11917 "0kf8xyac168bng8a0za2jwrbss7a4ralvci9g54hnvl0gkkxx2lq"))))
11918 (build-system haskell-build-system)
11919 (inputs
11920 `(("ghc-digest" ,ghc-digest)
11921 ("ghc-temporary" ,ghc-temporary)
11922 ("ghc-zlib" ,ghc-zlib)))
11923 (native-inputs
11924 `(("ghc-hunit" ,ghc-hunit)
11925 ("unzip" ,unzip)))
11926 (home-page "https://hackage.haskell.org/package/zip-archive")
11927 (synopsis "Zip archive library for Haskell")
11928 (description "The zip-archive library provides functions for creating,
11929modifying, and extracting files from zip archives in Haskell.")
11930 (license license:bsd-3)))
11931
11932(define-public ghc-zlib
11933 (package
11934 (name "ghc-zlib")
bf12089a 11935 (version "0.6.2.1")
dddbc90c
RV
11936 (outputs '("out" "doc"))
11937 (source
11938 (origin
11939 (method url-fetch)
11940 (uri (string-append
11941 "https://hackage.haskell.org/package/zlib/zlib-"
11942 version
11943 ".tar.gz"))
11944 (sha256
11945 (base32
bf12089a 11946 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
11947 (build-system haskell-build-system)
11948 (arguments
11949 `(#:phases
11950 (modify-phases %standard-phases
11951 (add-before 'configure 'strip-test-framework-constraints
11952 (lambda _
11953 (substitute* "zlib.cabal"
11954 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
11955 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
11956 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11957 (inputs `(("zlib" ,zlib)))
11958 (native-inputs
11959 `(("ghc-quickcheck" ,ghc-quickcheck)
11960 ("ghc-tasty" ,ghc-tasty)
11961 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11962 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11963 (home-page "https://hackage.haskell.org/package/zlib")
11964 (synopsis
11965 "Compression and decompression in the gzip and zlib formats")
11966 (description
11967 "This package provides a pure interface for compressing and decompressing
11968streams of data represented as lazy @code{ByteString}s. It uses the zlib C
11969library so it has high performance. It supports the @code{zlib}, @code{gzip}
11970and @code{raw} compression formats. It provides a convenient high level API
11971suitable for most tasks and for the few cases where more control is needed it
11972provides access to the full zlib feature set.")
bbf8bf31 11973 (license license:bsd-3)))
14e41996
RV
11974
11975(define-public ghc-zlib-bindings
11976 (package
11977 (name "ghc-zlib-bindings")
11978 (version "0.1.1.5")
11979 (source
11980 (origin
11981 (method url-fetch)
11982 (uri (string-append "https://hackage.haskell.org/package/"
11983 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
11984 (sha256
11985 (base32
11986 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
11987 (build-system haskell-build-system)
11988 (inputs
11989 `(("ghc-zlib" ,ghc-zlib)))
11990 (native-inputs
11991 `(("ghc-hspec" ,ghc-hspec)
11992 ("ghc-quickcheck" ,ghc-quickcheck)))
11993 (arguments
11994 `(#:cabal-revision
11995 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
11996 (home-page "https://github.com/snapframework/zlib-bindings")
11997 (synopsis "Low-level bindings to the @code{zlib} package")
11998 (description "This package provides low-level bindings to the
11999@code{zlib} package.")
12000 (license license:bsd-3)))