gnu: ghc-typed-process: Update to 0.2.6.0.
[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 410 (name "ghc-atomic-write")
c09d1e62 411 (version "0.2.0.6")
79fcc5e5
RV
412 (source
413 (origin
414 (method url-fetch)
dddbc90c
RV
415 (uri (string-append
416 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
417 version
418 ".tar.gz"))
79fcc5e5
RV
419 (sha256
420 (base32
c09d1e62 421 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
422 (build-system haskell-build-system)
423 (inputs
424 `(("ghc-temporary" ,ghc-temporary)
425 ("ghc-unix-compat" ,ghc-unix-compat)))
426 (native-inputs
427 `(("ghc-temporary" ,ghc-temporary)
428 ("ghc-unix-compat" ,ghc-unix-compat)
429 ("ghc-hspec" ,ghc-hspec)
430 ("hspec-discover" ,hspec-discover)))
431 (home-page "https://github.com/stackbuilders/atomic-write")
432 (synopsis "Atomically write to a file")
433 (description
434 "Atomically write to a file on POSIX-compliant systems while preserving
435permissions. @code{mv} is an atomic operation. This makes it simple to write
436to a file atomically just by using the @code{mv} operation. However, this
437will destroy the permissions on the original file. This library preserves
438permissions while atomically writing to a file.")
439 (license license:expat)))
440
441(define-public ghc-attoparsec
442 (package
443 (name "ghc-attoparsec")
511c3204 444 (version "0.13.2.3")
dddbc90c
RV
445 (source
446 (origin
447 (method url-fetch)
448 (uri (string-append
449 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
450 version
451 ".tar.gz"))
452 (sha256
453 (base32
511c3204 454 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 455 (build-system haskell-build-system)
79fcc5e5 456 (arguments
dddbc90c
RV
457 `(#:phases
458 (modify-phases %standard-phases
459 (add-after 'unpack 'patch-for-newer-quickcheck
460 (lambda _
461 (substitute* "attoparsec.cabal"
462 (("QuickCheck >= 2\\.7 && < 2\\.10")
463 "QuickCheck >= 2.7 && < 2.12"))
464 ;; This test fails because of the newer QuickCheck:
465 ;; <https://github.com/bos/attoparsec/issues/134>.
466 (substitute* "tests/QC/ByteString.hs"
467 ((", testProperty \"satisfyWith\" satisfyWith")
468 "")))))))
469 (inputs
470 `(("ghc-scientific" ,ghc-scientific)))
471 (native-inputs
472 `(("ghc-tasty" ,ghc-tasty)
473 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
474 ("ghc-quickcheck" ,ghc-quickcheck)
475 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
476 ("ghc-vector" ,ghc-vector)))
477 (home-page "https://github.com/bos/attoparsec")
478 (synopsis "Fast combinator parsing for bytestrings and text")
479 (description "This library provides a fast parser combinator library,
480aimed particularly at dealing efficiently with network protocols and
481complicated text/binary file formats.")
79fcc5e5
RV
482 (license license:bsd-3)))
483
dddbc90c 484(define-public ghc-attoparsec-bootstrap
6b34d01c 485 (package
dddbc90c
RV
486 (inherit ghc-attoparsec)
487 (name "ghc-attoparsec-bootstrap")
488 (arguments `(#:tests? #f))
489 (inputs
490 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
491 (native-inputs '())
799d8d3c 492 (properties '((hidden? #t)))))
dddbc90c
RV
493
494(define-public ghc-attoparsec-iso8601
495 (package
496 (name "ghc-attoparsec-iso8601")
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")
4a0ffae5 3485 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 3486 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 3487 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
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")
c264bd42 4049 (version "2999.20.0.3")
dddbc90c
RV
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
c264bd42 4056 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4057 (build-system haskell-build-system)
c264bd42
TS
4058 (arguments
4059 `(#:phases
4060 (modify-phases %standard-phases
4061 (add-before 'configure 'update-constraints
4062 (lambda _
4063 (substitute* "graphviz.cabal"
4064 (("QuickCheck >= 2\\.3 && < 2\\.13")
4065 "QuickCheck >= 2.3 && < 2.14")
4066 (("hspec >= 2\\.1 && < 2\\.7")
4067 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4068 (inputs
4069 `(("ghc-quickcheck" ,ghc-quickcheck)
4070 ("ghc-colour" ,ghc-colour)
4071 ("ghc-dlist" ,ghc-dlist)
4072 ("ghc-fgl" ,ghc-fgl)
4073 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4074 ("ghc-polyparse" ,ghc-polyparse)
4075 ("ghc-temporary" ,ghc-temporary)
4076 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4077 (native-inputs
4078 `(("ghc-hspec" ,ghc-hspec)
4079 ("graphviz" ,graphviz)
4080 ("hspec-discover" ,hspec-discover)))
4081 (home-page "https://hackage.haskell.org/package/graphviz")
4082 (synopsis "Bindings to Graphviz for graph visualisation")
4083 (description
4084 "This library provides bindings for the Dot language used by
4085the @uref{https://graphviz.org/, Graphviz} suite of programs for
4086visualising graphs, as well as functions to call those programs.
4087Main features of the graphviz library include:
4088
4089@enumerate
4090@item Almost complete coverage of all Graphviz attributes and syntax
4091@item Support for specifying clusters
4092@item The ability to use a custom node type
4093@item Functions for running a Graphviz layout tool with all specified output types
4094@item Generate and parse Dot code with two options: strict and liberal
4095@item Functions to convert FGL graphs and other graph-like data structures
4096@item Round-trip support for passing an FGL graph through Graphviz to augment node
4097and edge labels with positional information, etc.
4098@end enumerate\n")
4099 (license license:bsd-3)))
4100
4101(define-public ghc-gtk2hs-buildtools
4102 (package
4103 (name "ghc-gtk2hs-buildtools")
4104 (version "0.13.4.0")
4105 (source
4106 (origin
4107 (method url-fetch)
4108 (uri (string-append "https://hackage.haskell.org/package/"
4109 "gtk2hs-buildtools/gtk2hs-buildtools-"
4110 version ".tar.gz"))
4111 (sha256
4112 (base32
4113 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
4114 (build-system haskell-build-system)
4115 (inputs
4116 `(("ghc-random" ,ghc-random)
4117 ("ghc-hashtables" ,ghc-hashtables)))
4118 (native-inputs
4119 `(("ghc-alex" ,ghc-alex)
4120 ("ghc-happy" ,ghc-happy)))
4121 (home-page "http://projects.haskell.org/gtk2hs/")
4122 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4123 (description
4124 "This package provides a set of helper programs necessary to build the
4125Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4126that is used to generate FFI declarations, a tool to build a type hierarchy
4127that mirrors the C type hierarchy of GObjects found in glib, and a generator
4128for signal declarations that are used to call back from C to Haskell. These
4129tools are not needed to actually run Gtk2Hs programs.")
4130 (license license:gpl2)))
4131
4132(define-public ghc-hackage-security
4133 (package
4134 (name "ghc-hackage-security")
4135 (version "0.5.3.0")
4136 (source
4137 (origin
4138 (method url-fetch)
4139 (uri (string-append "https://hackage.haskell.org/package/"
4140 "hackage-security/hackage-security-"
4141 version ".tar.gz"))
4142 (sha256
4143 (base32
4144 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4145 (build-system haskell-build-system)
4146 (arguments
4147 `(#:tests? #f)) ; Tests fail because of framework updates.
4148 (inputs
4149 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4150 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4151 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4152 ("ghc-ed25519" ,ghc-ed25519)
4153 ("ghc-network" ,ghc-network)
4154 ("ghc-network-uri" ,ghc-network-uri)
4155 ("ghc-tar" ,ghc-tar)
4156 ("ghc-zlib" ,ghc-zlib)))
4157 (native-inputs
4158 `(("ghc-network-uri" ,ghc-network-uri)
4159 ("ghc-quickcheck" ,ghc-quickcheck)
4160 ("ghc-tar" ,ghc-tar)
4161 ("ghc-tasty" ,ghc-tasty)
4162 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4163 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4164 ("ghc-temporary" ,ghc-temporary)
4165 ("ghc-zlib" ,ghc-zlib)))
4166 (home-page "https://github.com/haskell/hackage-security")
4167 (synopsis "Hackage security library")
4168 (description "This Hackage security library provides both server and
4169client utilities for securing @uref{http://hackage.haskell.org/, the
4170Hackage package server}. It is based on
4171@uref{http://theupdateframework.com/, The Update Framework}, a set of
4172recommendations developed by security researchers at various universities
4173in the US as well as developers on the @uref{https://www.torproject.org/,
4174Tor project}.")
4175 (license license:bsd-3)))
4176
4177(define-public ghc-haddock
4178 (package
4179 (name "ghc-haddock")
4180 (version "2.19.0.1")
4181 (source
4182 (origin
4183 (method url-fetch)
4184 (uri (string-append
4185 "https://hackage.haskell.org/package/haddock/haddock-"
4186 version
4187 ".tar.gz"))
4188 (sha256
4189 (base32
4190 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4191 (build-system haskell-build-system)
4192 (arguments
4193 `(#:phases
4194 (modify-phases %standard-phases
4195 ;; There are four test suites that require the ghc-haddock-test
4196 ;; package, which no longer builds with GHC 8.4.3. This phase
4197 ;; removes these four test suites from the Cabal file, so that we
4198 ;; do not need ghc-haddock-test as an input.
4199 (add-before 'configure 'remove-haddock-test-test-suites
4200 (lambda _
4201 (use-modules (ice-9 rdelim))
4202 (with-atomic-file-replacement "haddock.cabal"
4203 (lambda (in out)
4204 (let loop ((line (read-line in 'concat)) (deleting? #f))
4205 (cond
4206 ((eof-object? line) #t)
4207 ((string-every char-set:whitespace line)
4208 (unless deleting? (display line out))
4209 (loop (read-line in 'concat) #f))
4210 ((member line '("test-suite html-test\n"
4211 "test-suite hypsrc-test\n"
4212 "test-suite latex-test\n"
4213 "test-suite hoogle-test\n"))
4214 (loop (read-line in 'concat) #t))
4215 (else
4216 (unless deleting? (display line out))
4217 (loop (read-line in 'concat) deleting?)))))))))))
4218 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4219 (native-inputs
4220 `(("ghc-hspec" ,ghc-hspec)))
4221 (home-page "https://www.haskell.org/haddock/")
4222 (synopsis
4223 "Documentation-generation tool for Haskell libraries")
4224 (description
4225 "Haddock is a documentation-generation tool for Haskell libraries.")
4226 (license license:bsd-3)))
4227
4228(define-public ghc-haddock-api
4229 (package
4230 (name "ghc-haddock-api")
4231 (version "2.19.0.1")
4232 (source
4233 (origin
4234 (method url-fetch)
4235 (uri (string-append
4236 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4237 version
4238 ".tar.gz"))
4239 (sha256
4240 (base32
4241 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4242 (build-system haskell-build-system)
4243 (arguments
4244 `(#:phases
4245 (modify-phases %standard-phases
4246 (add-before 'configure 'update-constraints
4247 (lambda _
4248 (substitute* "haddock-api.cabal"
4249 (("Cabal \\^>= 2\\.0\\.0")
4250 "Cabal ^>= 2.2.0")
4251 (("hspec \\^>= 2\\.4\\.4")
4252 "hspec >= 2.4.4 && < 2.6")))))))
4253 (inputs
4254 `(("ghc-paths" ,ghc-paths)
4255 ("ghc-haddock-library" ,ghc-haddock-library)))
4256 (native-inputs
4257 `(("ghc-quickcheck" ,ghc-quickcheck)
4258 ("ghc-hspec" ,ghc-hspec)
4259 ("hspec-discover" ,hspec-discover)))
4260 (home-page "https://www.haskell.org/haddock/")
4261 (synopsis "API for documentation-generation tool Haddock")
4262 (description "This package provides an API to Haddock, the
4263documentation-generation tool for Haskell libraries.")
4264 (license license:bsd-3)))
4265
4266(define-public ghc-haddock-library
4267 (package
4268 (name "ghc-haddock-library")
4269 (version "1.5.0.1")
4270 (source
4271 (origin
4272 (method url-fetch)
4273 (uri (string-append
4274 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4275 version
4276 ".tar.gz"))
4277 (sha256
4278 (base32
4279 "1cmbg8l5xrwpliclwy3l057raypjqy0hsg1h1743ahaj8gq10b7z"))
4280 (patches (search-patches
4281 "ghc-haddock-library-unbundle.patch"))
4282 (modules '((guix build utils)))
4283 (snippet '(begin
4284 (delete-file-recursively "vendor")
4285 #t))))
4286 (build-system haskell-build-system)
4287 (arguments
4288 `(#:phases
4289 (modify-phases %standard-phases
4290 (add-before 'configure 'relax-test-suite-dependencies
4291 (lambda _
4292 (substitute* "haddock-library.cabal"
4293 (("base-compat\\s*\\^>= 0\\.9\\.3") "base-compat")
4294 (("hspec\\s*\\^>= 2\\.4\\.4") "hspec"))))
4295 ;; The release tarball does not contain the "fixtures/examples"
4296 ;; directory, which is required for testing. In the upstream
4297 ;; repository, the directory exists and is populated. Here, we
4298 ;; create an empty directory to placate the tests.
4299 (add-before 'check 'add-examples-directory
4300 (lambda _
4301 (mkdir "fixtures/examples")
4302 #t)))))
4303 (native-inputs
4304 `(("ghc-base-compat" ,ghc-base-compat)
4305 ("ghc-hspec" ,ghc-hspec)
4306 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4307 ("ghc-quickcheck" ,ghc-quickcheck)
4308 ("ghc-tree-diff" ,ghc-tree-diff)
4309 ("hspec-discover" ,hspec-discover)))
4310 (home-page "https://www.haskell.org/haddock/")
4311 (synopsis "Library exposing some functionality of Haddock")
4312 (description
4313 "Haddock is a documentation-generation tool for Haskell libraries. These
4314modules expose some functionality of it without pulling in the GHC dependency.
4315Please note that the API is likely to change so specify upper bounds in your
4316project if you can't release often. For interacting with Haddock itself, see
4317the ‘haddock’ package.")
4318 (license license:bsd-3)))
4319
4320(define-public ghc-half
4321 (package
4322 (name "ghc-half")
4323 (version "0.3")
4324 (source
4325 (origin
4326 (method url-fetch)
4327 (uri (string-append
4328 "https://hackage.haskell.org/package/half/half-"
4329 version ".tar.gz"))
4330 (sha256
4331 (base32
4332 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4333 (build-system haskell-build-system)
4334 (native-inputs
4335 `(("ghc-hspec" ,ghc-hspec)
4336 ("ghc-quickcheck" ,ghc-quickcheck)))
4337 (home-page "https://github.com/ekmett/half")
4338 (synopsis "Half-precision floating-point computations")
4339 (description "This library provides a half-precision floating-point
4340computation library for Haskell.")
4341 (license license:bsd-3)))
4342
4343(define-public ghc-happy
4344 (package
4345 (name "ghc-happy")
90e7b0e4 4346 (version "1.19.12")
dddbc90c
RV
4347 (source
4348 (origin
4349 (method url-fetch)
4350 (uri (string-append
4351 "https://hackage.haskell.org/package/happy/happy-"
4352 version
4353 ".tar.gz"))
4354 (sha256
4355 (base32
90e7b0e4 4356 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4357 (build-system haskell-build-system)
4358 (arguments
4359 `(#:phases
4360 (modify-phases %standard-phases
4361 (add-after 'unpack 'skip-test-issue93
4362 (lambda _
4363 ;; Tests run out of memory on a system with 2GB of available RAM,
4364 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4365 (substitute* "tests/Makefile"
4366 ((" issue93.y ") " "))
4367 #t)))))
4368 (home-page "https://hackage.haskell.org/package/happy")
4369 (synopsis "Parser generator for Haskell")
4370 (description "Happy is a parser generator for Haskell. Given a grammar
4371specification in BNF, Happy generates Haskell code to parse the grammar.
4372Happy works in a similar way to the yacc tool for C.")
4373 (license license:bsd-3)))
4374
4375(define-public ghc-hashable
4376 (package
4377 (name "ghc-hashable")
4378 (version "1.2.7.0")
4379 (outputs '("out" "doc"))
4380 (source
4381 (origin
4382 (method url-fetch)
4383 (uri (string-append
4384 "https://hackage.haskell.org/package/hashable/hashable-"
4385 version
4386 ".tar.gz"))
4387 (sha256
4388 (base32
4389 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4390 (build-system haskell-build-system)
65a16a45
TS
4391 (arguments
4392 `(#:cabal-revision
4393 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
4394 (inputs
4395 `(("ghc-random" ,ghc-random)))
4396 (native-inputs
4397 `(("ghc-test-framework" ,ghc-test-framework)
4398 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4399 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4400 ("ghc-hunit" ,ghc-hunit)
4401 ("ghc-quickcheck" ,ghc-quickcheck)))
4402 (home-page "https://github.com/tibbe/hashable")
4403 (synopsis "Class for types that can be converted to a hash value")
4404 (description
4405 "This package defines a class, @code{Hashable}, for types that can be
4406converted to a hash value. This class exists for the benefit of hashing-based
4407data structures. The package provides instances for basic types and a way to
4408combine hash values.")
4409 (license license:bsd-3)))
4410
4411(define-public ghc-hashable-bootstrap
4412 (package
4413 (inherit ghc-hashable)
4414 (name "ghc-hashable-bootstrap")
65a16a45
TS
4415 (arguments
4416 `(#:tests? #f
4417 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
4418 (native-inputs '())
4419 (properties '((hidden? #t)))))
4420
4421(define-public ghc-hashable-time
4422 (package
4423 (name "ghc-hashable-time")
f5051e31 4424 (version "0.2.0.2")
dddbc90c
RV
4425 (source
4426 (origin
4427 (method url-fetch)
4428 (uri (string-append
4429 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4430 version
4431 ".tar.gz"))
4432 (sha256
4433 (base32
f5051e31 4434 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
4435 (build-system haskell-build-system)
4436 (arguments
4437 `(#:cabal-revision
f5051e31 4438 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c
RV
4439 (inputs `(("ghc-hashable" ,ghc-hashable)))
4440 (home-page "http://hackage.haskell.org/package/hashable-time")
4441 (synopsis "Hashable instances for Data.Time")
4442 (description
4443 "This package provides @code{Hashable} instances for types in
4444@code{Data.Time}.")
4445 (license license:bsd-3)))
4446
4447(define-public ghc-hashtables
4448 (package
4449 (name "ghc-hashtables")
19edf0d0 4450 (version "1.2.3.4")
dddbc90c
RV
4451 (source
4452 (origin
4453 (method url-fetch)
4454 (uri (string-append
4455 "https://hackage.haskell.org/package/hashtables/hashtables-"
4456 version ".tar.gz"))
4457 (sha256
19edf0d0 4458 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
4459 (build-system haskell-build-system)
4460 (inputs
4461 `(("ghc-hashable" ,ghc-hashable)
4462 ("ghc-primitive" ,ghc-primitive)
4463 ("ghc-vector" ,ghc-vector)))
4464 (home-page "https://github.com/gregorycollins/hashtables")
4465 (synopsis "Haskell Mutable hash tables in the ST monad")
4466 (description "This package provides a Haskell library including a
4467couple of different implementations of mutable hash tables in the ST
4468monad, as well as a typeclass abstracting their common operations, and
4469a set of wrappers to use the hash tables in the IO monad.")
4470 (license license:bsd-3)))
4471
4472(define-public ghc-haskell-lexer
4473 (package
4474 (name "ghc-haskell-lexer")
4475 (version "1.0.2")
4476 (source
4477 (origin
4478 (method url-fetch)
4479 (uri (string-append
4480 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4481 version ".tar.gz"))
4482 (sha256
4483 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4484 (build-system haskell-build-system)
4485 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4486 (synopsis "Fully compliant Haskell 98 lexer")
4487 (description
4488 "This package provides a fully compliant Haskell 98 lexer.")
4489 (license license:bsd-3)))
4490
4491(define-public ghc-haskell-src
4492 (package
4493 (name "ghc-haskell-src")
4494 (version "1.0.3.0")
4495 (source
4496 (origin
4497 (method url-fetch)
4498 (uri (string-append
4499 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4500 version
4501 ".tar.gz"))
4502 (sha256
4503 (base32
4504 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4505 (build-system haskell-build-system)
4506 (inputs
4507 `(("ghc-happy" ,ghc-happy)
4508 ("ghc-syb" ,ghc-syb)))
4509 (home-page
4510 "https://hackage.haskell.org/package/haskell-src")
4511 (synopsis
4512 "Support for manipulating Haskell source code")
4513 (description
4514 "The @code{haskell-src} package provides support for manipulating Haskell
4515source code. The package provides a lexer, parser and pretty-printer, and a
4516definition of a Haskell abstract syntax tree (AST). Common uses of this
4517package are to parse or generate Haskell 98 code.")
4518 (license license:bsd-3)))
4519
4520(define-public ghc-haskell-src-exts
4521 (package
4522 (name "ghc-haskell-src-exts")
4523 (version "1.20.2")
4524 (source
4525 (origin
4526 (method url-fetch)
4527 (uri (string-append
4528 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4529 version
4530 ".tar.gz"))
4531 (sha256
4532 (base32
4533 "1sm3z4v1p5yffg01ldgavz71s3bvfhjfa13k428rk14bpkl8crlz"))))
4534 (build-system haskell-build-system)
4535 (inputs
4536 `(("cpphs" ,cpphs)
4537 ("ghc-happy" ,ghc-happy)
4538 ("ghc-pretty-show" ,ghc-pretty-show)))
4539 (native-inputs
4540 `(("ghc-smallcheck" ,ghc-smallcheck)
4541 ("ghc-tasty" ,ghc-tasty)
4542 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4543 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4544 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4545 (synopsis "Library for manipulating Haskell source")
4546 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4547extension of the standard @code{haskell-src} package, and handles most
4548registered syntactic extensions to Haskell. All extensions implemented in GHC
4549are supported. Apart from these standard extensions, it also handles regular
4550patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4551 (license license:bsd-3)))
4552
4553(define-public ghc-haskell-src-exts-util
4554 (package
4555 (name "ghc-haskell-src-exts-util")
4556 (version "0.2.3")
4557 (source
4558 (origin
4559 (method url-fetch)
4560 (uri (string-append "https://hackage.haskell.org/package/"
4561 "haskell-src-exts-util/haskell-src-exts-util-"
4562 version ".tar.gz"))
4563 (sha256
4564 (base32
4565 "1803718paq89f8pdck4mb88hv2k1ah9lxzq0lgjgwi9n88ryycz8"))))
4566 (build-system haskell-build-system)
4567 (inputs
4568 `(("ghc-data-default" ,ghc-data-default)
4569 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4570 ("ghc-semigroups" ,ghc-semigroups)
4571 ("ghc-uniplate" ,ghc-uniplate)))
4572 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4573 (synopsis "Helper functions for working with haskell-src-exts trees")
4574 (description
4575 "This package provides helper functions for working with
4576@code{haskell-src-exts} trees.")
4577 (license license:bsd-3)))
4578
4579(define-public ghc-haskell-src-meta
4580 (package
4581 (name "ghc-haskell-src-meta")
4582 (version "0.8.0.3")
4583 (source (origin
4584 (method url-fetch)
4585 (uri (string-append "https://hackage.haskell.org/package/"
4586 "haskell-src-meta/haskell-src-meta-"
4587 version ".tar.gz"))
4588 (sha256
4589 (base32
4590 "08jq156zv4m0fjq6712n99c1jwxnpa6kj6sq8ch0r1l0a1ay6ww4"))))
4591 (build-system haskell-build-system)
4592 (inputs
4593 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4594 ("ghc-syb" ,ghc-syb)
4595 ("ghc-th-orphans" ,ghc-th-orphans)))
4596 (native-inputs
4597 `(("ghc-hunit" ,ghc-hunit)
4598 ("ghc-test-framework" ,ghc-test-framework)
4599 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4600 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4601 (synopsis "Parse source to template-haskell abstract syntax")
4602 (description
4603 "This package provides tools to parse Haskell sources to the
4604template-haskell abstract syntax.")
4605 (license license:bsd-3)))
4606
4607(define-public ghc-hasktags
4608 (package
4609 (name "ghc-hasktags")
4610 (version "0.71.2")
4611 (source
4612 (origin
4613 (method url-fetch)
4614 (uri (string-append
4615 "https://hackage.haskell.org/package/hasktags/hasktags-"
4616 version
4617 ".tar.gz"))
4618 (sha256
4619 (base32
4620 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4621 (build-system haskell-build-system)
4622 (inputs
4623 `(("ghc-system-filepath" ,ghc-system-filepath)
4624 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4625 (native-inputs
4626 `(("ghc-json" ,ghc-json)
4627 ("ghc-utf8-string" ,ghc-utf8-string)
4628 ("ghc-microlens-platform" ,ghc-microlens-platform)
4629 ("ghc-hunit" ,ghc-hunit)))
4630 (home-page "http://github.com/MarcWeber/hasktags")
4631 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4632 (description
4633 "This package provides a means of generating tag files for Emacs and
4634Vim.")
4635 (license license:bsd-3)))
4636
4637(define-public ghc-hex
4638 (package
4639 (name "ghc-hex")
4640 (version "0.1.2")
4641 (source
4642 (origin
4643 (method url-fetch)
4644 (uri (string-append "https://hackage.haskell.org/package/"
4645 "hex-" version "/"
4646 "hex-" version ".tar.gz"))
4647 (sha256
4648 (base32
4649 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4650 (build-system haskell-build-system)
4651 (home-page "https://hackage.haskell.org/package/hex")
4652 (synopsis "Convert strings into hexadecimal and back")
4653 (description "This package provides conversion functions between
4654bytestrings and their hexademical representation.")
4655 (license license:bsd-3)))
4656
4657(define-public ghc-highlighting-kate
4658 (package
4659 (name "ghc-highlighting-kate")
4660 (version "0.6.4")
4661 (source (origin
4662 (method url-fetch)
4663 (uri (string-append "https://hackage.haskell.org/package/"
4664 "highlighting-kate/highlighting-kate-"
4665 version ".tar.gz"))
4666 (sha256
4667 (base32
4668 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4669 (build-system haskell-build-system)
4670 (inputs
4671 `(("ghc-diff" ,ghc-diff)
4672 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4673 (native-inputs
4674 `(("ghc-blaze-html" ,ghc-blaze-html)
4675 ("ghc-utf8-string" ,ghc-utf8-string)))
4676 (home-page "https://github.com/jgm/highlighting-kate")
4677 (synopsis "Syntax highlighting library")
4678 (description
4679 "Highlighting-kate is a syntax highlighting library with support for
4680nearly one hundred languages. The syntax parsers are automatically generated
4681from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4682supported by Kate can be added. An (optional) command-line program is
4683provided, along with a utility for generating new parsers from Kate XML syntax
4684descriptions.")
4685 (license license:gpl2+)))
4686
4687(define-public ghc-hindent
4688 (package
4689 (name "ghc-hindent")
4690 (version "5.3.0")
4691 (source
4692 (origin
4693 (method url-fetch)
4694 (uri (string-append
4695 "https://hackage.haskell.org/package/hindent/hindent-"
4696 version
4697 ".tar.gz"))
4698 (sha256
4699 (base32
4700 "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg"))))
4701 (build-system haskell-build-system)
4702 (arguments
4703 `(#:modules ((guix build haskell-build-system)
4704 (guix build utils)
4705 (guix build emacs-utils))
4706 #:imported-modules (,@%haskell-build-system-modules
4707 (guix build emacs-utils))
4708 #:phases
4709 (modify-phases %standard-phases
4710 (add-after 'install 'emacs-install
4711 (lambda* (#:key inputs outputs #:allow-other-keys)
4712 (let* ((out (assoc-ref outputs "out"))
4713 (elisp-file "elisp/hindent.el")
4714 (dest (string-append out "/share/emacs/site-lisp"
4715 "/guix.d/hindent-" ,version))
4716 (emacs (string-append (assoc-ref inputs "emacs")
4717 "/bin/emacs")))
4718 (make-file-writable elisp-file)
4719 (emacs-substitute-variables elisp-file
4720 ("hindent-process-path"
4721 (string-append out "/bin/hindent")))
4722 (install-file elisp-file dest)
4723 (emacs-generate-autoloads "hindent" dest)))))))
4724 (inputs
4725 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4726 ("ghc-monad-loops" ,ghc-monad-loops)
4727 ("ghc-utf8-string" ,ghc-utf8-string)
4728 ("ghc-exceptions" ,ghc-exceptions)
4729 ("ghc-yaml" ,ghc-yaml)
4730 ("ghc-unix-compat" ,ghc-unix-compat)
4731 ("ghc-path" ,ghc-path)
4732 ("ghc-path-io" ,ghc-path-io)
4733 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4734 (native-inputs
4735 `(("ghc-hspec" ,ghc-hspec)
4736 ("ghc-diff" ,ghc-diff)
4737 ("emacs" ,emacs-minimal)))
4738 (home-page
4739 "https://github.com/commercialhaskell/hindent")
4740 (synopsis "Extensible Haskell pretty printer")
4741 (description
4742 "This package provides automatic formatting for Haskell files. Both a
4743library and an executable.")
4744 (license license:bsd-3)))
4745
4746(define-public ghc-hinotify
4747 (package
4748 (name "ghc-hinotify")
c2342abb 4749 (version "0.4")
dddbc90c
RV
4750 (source (origin
4751 (method url-fetch)
4752 (uri (string-append
4753 "https://hackage.haskell.org/package/hinotify/"
4754 "hinotify-" version ".tar.gz"))
4755 (sha256
4756 (base32
c2342abb 4757 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
4758 (build-system haskell-build-system)
4759 (inputs
4760 `(("ghc-async" ,ghc-async)))
4761 (home-page "https://github.com/kolmodin/hinotify.git")
4762 (synopsis "Haskell binding to inotify")
4763 (description "This library provides a wrapper to the Linux kernel's inotify
4764feature, allowing applications to subscribe to notifications when a file is
4765accessed or modified.")
4766 (license license:bsd-3)))
4767
4768(define-public ghc-hmatrix
4769 (package
4770 (name "ghc-hmatrix")
65e29ed1 4771 (version "0.20.0.0")
dddbc90c
RV
4772 (source
4773 (origin
4774 (method url-fetch)
4775 (uri (string-append
4776 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
4777 version ".tar.gz"))
4778 (sha256
65e29ed1 4779 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
4780 (build-system haskell-build-system)
4781 (inputs
4782 `(("ghc-random" ,ghc-random)
4783 ("ghc-split" ,ghc-split)
4784 ("ghc-storable-complex" ,ghc-storable-complex)
4785 ("ghc-semigroups" ,ghc-semigroups)
4786 ("ghc-vector" ,ghc-vector)
4787 ;;("openblas" ,openblas)
4788 ("lapack" ,lapack)))
4789 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
4790 ;; disables inclusion of the LAPACK functions.
4791 ;; (arguments `(#:configure-flags '("--flags=openblas")))
4792 (home-page "https://github.com/albertoruiz/hmatrix")
4793 (synopsis "Haskell numeric linear algebra library")
4794 (description "The HMatrix package provices a Haskell library for
4795dealing with linear systems, matrix decompositions, and other
4796numerical computations based on BLAS and LAPACK.")
4797 (license license:bsd-3)))
4798
4799(define-public ghc-hmatrix-gsl
4800 (package
4801 (name "ghc-hmatrix-gsl")
4802 (version "0.19.0.1")
4803 (source
4804 (origin
4805 (method url-fetch)
4806 (uri (string-append
4807 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
4808 version ".tar.gz"))
4809 (sha256
4810 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
4811 (build-system haskell-build-system)
4812 (inputs
4813 `(("ghc-hmatrix" ,ghc-hmatrix)
4814 ("ghc-vector" ,ghc-vector)
4815 ("ghc-random" ,ghc-random)
4816 ("gsl" ,gsl)))
4817 (native-inputs `(("pkg-config" ,pkg-config)))
4818 (home-page "https://github.com/albertoruiz/hmatrix")
4819 (synopsis "Haskell GSL binding")
4820 (description "This Haskell library provides a purely functional
4821interface to selected numerical computations, internally implemented
4822using GSL.")
4823 (license license:gpl3+)))
4824
4825(define-public ghc-hmatrix-gsl-stats
4826 (package
4827 (name "ghc-hmatrix-gsl-stats")
e9b359f5 4828 (version "0.4.1.8")
dddbc90c
RV
4829 (source
4830 (origin
4831 (method url-fetch)
4832 (uri
4833 (string-append
4834 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4835 version ".tar.gz"))
4836 (sha256
e9b359f5 4837 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
4838 (build-system haskell-build-system)
4839 (inputs
4840 `(("ghc-vector" ,ghc-vector)
4841 ("ghc-storable-complex" ,ghc-storable-complex)
4842 ("ghc-hmatrix" ,ghc-hmatrix)
4843 ("gsl" ,gsl)))
4844 (native-inputs `(("pkg-config" ,pkg-config)))
4845 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
4846 (synopsis "GSL Statistics interface for Haskell")
4847 (description "This Haskell library provides a purely functional
4848interface for statistics based on hmatrix and GSL.")
4849 (license license:bsd-3)))
4850
4851(define-public ghc-hmatrix-special
4852 (package
4853 (name "ghc-hmatrix-special")
4854 (version "0.19.0.0")
4855 (source
4856 (origin
4857 (method url-fetch)
4858 (uri
4859 (string-append
4860 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
4861 version ".tar.gz"))
4862 (sha256
4863 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
4864 (build-system haskell-build-system)
4865 (inputs
4866 `(("ghc-hmatrix" ,ghc-hmatrix)
4867 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
4868 (home-page "https://github.com/albertoruiz/hmatrix")
4869 (synopsis "Haskell interface to GSL special functions")
4870 (description "This library provides an interface to GSL special
4871functions for Haskell.")
4872 (license license:gpl3+)))
4873
4874(define-public ghc-hostname
4875 (package
4876 (name "ghc-hostname")
4877 (version "1.0")
4878 (source
4879 (origin
4880 (method url-fetch)
4881 (uri (string-append "https://hackage.haskell.org/package/hostname/"
4882 "hostname-" version ".tar.gz"))
4883 (sha256
4884 (base32
4885 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
4886 (build-system haskell-build-system)
4887 (home-page "https://hackage.haskell.org/package/hostname")
4888 (synopsis "Hostname in Haskell")
4889 (description "Network.HostName is a simple package providing a means to
4890determine the hostname.")
4891 (license license:bsd-3)))
4892
4893(define-public ghc-hourglass
4894 (package
4895 (name "ghc-hourglass")
4896 (version "0.2.12")
4897 (source (origin
4898 (method url-fetch)
4899 (uri (string-append "https://hackage.haskell.org/package/"
4900 "hourglass/hourglass-" version ".tar.gz"))
4901 (sha256
4902 (base32
4903 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
4904 (build-system haskell-build-system)
4905 (inputs
4906 `(("ghc-old-locale" ,ghc-old-locale)))
4907 (native-inputs
4908 `(("ghc-tasty" ,ghc-tasty)
4909 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4910 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4911 (home-page "https://github.com/vincenthz/hs-hourglass")
4912 (synopsis "Simple time-related library for Haskell")
4913 (description
4914 "This is a simple time library providing a simple but powerful and
4915performant API. The backbone of the library are the @code{Timeable} and
4916@code{Time} type classes. Each @code{Timeable} instances can be converted to
4917a type that has a @code{Time} instances, and thus are different
4918representations of current time.")
4919 (license license:bsd-3)))
4920
4921(define-public ghc-hpack
4922 (package
4923 (name "ghc-hpack")
4924 (version "0.28.2")
4925 (source
4926 (origin
4927 (method url-fetch)
4928 (uri (string-append "https://hackage.haskell.org/package/hpack/"
4929 "hpack-" version ".tar.gz"))
4930 (sha256
4931 (base32
4932 "18w0h76jdp3mk9vin8da9iz3cwhcxmw787xy8wlh8bxcpcr16q5r"))))
4933 (build-system haskell-build-system)
4934 (inputs
4935 `(("ghc-aeson" ,ghc-aeson)
4936 ("ghc-bifunctors" ,ghc-bifunctors)
4937 ("ghc-cryptonite" ,ghc-cryptonite)
4938 ("ghc-glob" ,ghc-glob)
4939 ("ghc-http-client" ,ghc-http-client)
4940 ("ghc-http-client-tls" ,ghc-http-client-tls)
4941 ("ghc-http-types" ,ghc-http-types)
4942 ("ghc-scientific" ,ghc-scientific)
4943 ("ghc-unordered-containers" ,ghc-unordered-containers)
4944 ("ghc-vector" ,ghc-vector)
4945 ("ghc-yaml" ,ghc-yaml)))
4946 (native-inputs
4947 `(("ghc-hspec" ,ghc-hspec)
4948 ("ghc-hunit" ,ghc-hunit)
4949 ("ghc-interpolate" ,ghc-interpolate)
4950 ("ghc-mockery" ,ghc-mockery)
4951 ("ghc-quickcheck" ,ghc-quickcheck)
4952 ("ghc-temporary" ,ghc-temporary)
4953 ("hspec-discover" ,hspec-discover)))
4954 (home-page "https://github.com/sol/hpack")
4955 (synopsis "Tools for an alternative Haskell package format")
4956 (description
4957 "Hpack is a format for Haskell packages. It is an alternative to the
4958Cabal package format and follows different design principles. Hpack packages
4959are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
4960@code{stack} support @code{package.yaml} natively. For other build tools the
4961@code{hpack} executable can be used to generate a @code{.cabal} file from
4962@code{package.yaml}.")
4963 (license license:expat)))
4964
4965(define-public ghc-hs-bibutils
4966 (package
4967 (name "ghc-hs-bibutils")
ebcb4f23 4968 (version "6.7.0.0")
dddbc90c
RV
4969 (source
4970 (origin
4971 (method url-fetch)
4972 (uri (string-append
4973 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
4974 version ".tar.gz"))
4975 (sha256
4976 (base32
ebcb4f23 4977 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
4978 (build-system haskell-build-system)
4979 (inputs `(("ghc-syb" ,ghc-syb)))
4980 (home-page "https://hackage.haskell.org/package/hs-bibutils")
4981 (synopsis "Haskell bindings to bibutils")
4982 (description
4983 "This package provides Haskell bindings to @code{bibutils}, a library
4984that interconverts between various bibliography formats using a common
4985MODS-format XML intermediate.")
4986 (license license:gpl2+)))
4987
4988(define-public ghc-hslogger
4989 (package
4990 (name "ghc-hslogger")
4991 (version "1.2.10")
4992 (source
4993 (origin
4994 (method url-fetch)
4995 (uri (string-append "https://hackage.haskell.org/package/"
4996 "hslogger-" version "/" "hslogger-"
4997 version ".tar.gz"))
4998 (sha256 (base32
4999 "0as5gvlh6pi2gflakp695qnlizyyp059dqrhvjl4gjxalja6xjnp"))))
5000 (build-system haskell-build-system)
5001 (inputs
5002 `(("ghc-network" ,ghc-network)
5003 ("ghc-old-locale" ,ghc-old-locale)))
5004 (native-inputs
5005 `(("ghc-hunit" ,ghc-hunit)))
5006 (home-page "https://software.complete.org/hslogger")
5007 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5008 (description "Hslogger lets each log message have a priority and source be
5009associated with it. The programmer can then define global handlers that route
5010or filter messages based on the priority and source. It also has a syslog
5011handler built in.")
5012 (license license:bsd-3)))
5013
5014(define-public ghc-hslua
5015 (package
5016 (name "ghc-hslua")
5017 (version "0.9.5.2")
5018 (source (origin
5019 (method url-fetch)
5020 (uri (string-append "https://hackage.haskell.org/package/"
5021 "hslua/hslua-" version ".tar.gz"))
5022 (sha256
5023 (base32
5024 "1rdvv01p214zfjh6fcqjjgqwi8y42wad6cqzhlcv5gvclzw2ck8f"))))
5025 (build-system haskell-build-system)
5026 (arguments
5027 `(#:configure-flags '("-fsystem-lua")))
5028 (inputs
5029 `(("lua" ,lua)
5030 ("ghc-exceptions" ,ghc-exceptions)
5031 ("ghc-fail" ,ghc-fail)))
5032 (native-inputs
5033 `(("ghc-tasty" ,ghc-tasty)
5034 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5035 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5036 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5037 ("ghc-quickcheck" ,ghc-quickcheck)
5038 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5039 (home-page "https://hackage.haskell.org/package/hslua")
5040 (synopsis "Lua language interpreter embedding in Haskell")
5041 (description
5042 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5043described in @url{https://www.lua.org/}.")
5044 (license license:expat)))
5045
5046(define-public ghc-hslua-module-text
5047 (package
5048 (name "ghc-hslua-module-text")
5049 (version "0.1.2.1")
5050 (source
5051 (origin
5052 (method url-fetch)
5053 (uri (string-append "https://hackage.haskell.org/package/"
5054 "hslua-module-text/hslua-module-text-"
5055 version ".tar.gz"))
5056 (sha256
5057 (base32
5058 "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf"))))
5059 (build-system haskell-build-system)
5060 (arguments
5061 `(#:cabal-revision
5062 ("1" "0vajlsd7y6pwa08635q0cx8z5c1c55bk7fvavw7g2vmyvxqjzx6n")))
5063 (inputs
5064 `(("ghc-hslua" ,ghc-hslua)))
5065 (native-inputs
5066 `(("ghc-tasty" ,ghc-tasty)
5067 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5068 (home-page "https://github.com/hslua/hslua-module-text")
5069 (synopsis "Lua module for text")
5070 (description
5071 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5072for Haskell. The functions provided by this module are @code{upper},
5073@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5074 (license license:expat)))
5075
5076(define-public ghc-http-api-data
5077 (package
5078 (name "ghc-http-api-data")
5079 (version "0.3.8.1")
5080 (source
5081 (origin
5082 (method url-fetch)
5083 (uri (string-append "https://hackage.haskell.org/package/"
5084 "http-api-data-" version "/"
5085 "http-api-data-" version ".tar.gz"))
5086 (sha256
5087 (base32
5088 "1cq6459b8wz6nvkvpi89dg189n5q2xdq4rdq435hf150555vmskf"))))
5089 (build-system haskell-build-system)
5090 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9
5091 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5092 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
5093 ("ghc-hashable" ,ghc-hashable)
5094 ("ghc-http-types" ,ghc-http-types)
5095 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
5096 ("ghc-unordered-containers" ,ghc-unordered-containers)
5097 ("ghc-uri-bytestring" ,ghc-uri-bytestring)
5098 ("ghc-uuid-types" ,ghc-uuid-types)))
5099 (home-page "https://github.com/fizruk/http-api-data")
5100 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5101query parameters")
5102 (description "This Haskell package defines typeclasses used for converting
5103Haskell data types to and from HTTP API data.")
5104 (license license:bsd-3)))
5105
5106(define-public ghc-ieee754
5107 (package
5108 (name "ghc-ieee754")
5109 (version "0.8.0")
5110 (source (origin
5111 (method url-fetch)
5112 (uri (string-append
5113 "https://hackage.haskell.org/package/ieee754/"
5114 "ieee754-" version ".tar.gz"))
5115 (sha256
5116 (base32
5117 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5118 (build-system haskell-build-system)
5119 (home-page "https://github.com/patperry/hs-ieee754")
5120 (synopsis "Utilities for dealing with IEEE floating point numbers")
5121 (description "Utilities for dealing with IEEE floating point numbers,
5122ported from the Tango math library; approximate and exact equality comparisons
5123for general types.")
5124 (license license:bsd-3)))
5125
5126(define-public ghc-ifelse
5127 (package
5128 (name "ghc-ifelse")
5129 (version "0.85")
5130 (source
5131 (origin
5132 (method url-fetch)
5133 (uri (string-append "https://hackage.haskell.org/package/"
5134 "IfElse/IfElse-" version ".tar.gz"))
5135 (sha256
5136 (base32
5137 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5138 (build-system haskell-build-system)
5139 (home-page "http://hackage.haskell.org/package/IfElse")
5140 (synopsis "Monadic control flow with anaphoric variants")
5141 (description "This library provides functions for control flow inside of
5142monads with anaphoric variants on @code{if} and @code{when} and a C-like
5143@code{switch} function.")
5144 (license license:bsd-3)))
5145
5146(define-public ghc-indents
5147 (package
5148 (name "ghc-indents")
d66473fb 5149 (version "0.5.0.1")
dddbc90c
RV
5150 (source (origin
5151 (method url-fetch)
5152 (uri (string-append
5153 "https://hackage.haskell.org/package/indents/indents-"
5154 version ".tar.gz"))
5155 (sha256
5156 (base32
d66473fb 5157 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5158 (build-system haskell-build-system)
5159 ;; This package needs an older version of tasty.
5160 (arguments '(#:tests? #f))
5161 (inputs
5162 `(("ghc-concatenative" ,ghc-concatenative)))
5163 (native-inputs
5164 `(("ghc-tasty" ,ghc-tasty)
5165 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5166 (home-page "http://patch-tag.com/r/salazar/indents")
5167 (synopsis "Indentation sensitive parser-combinators for parsec")
5168 (description
5169 "This library provides functions for use in parsing indentation sensitive
5170contexts. It parses blocks of lines all indented to the same level as well as
5171lines continued at an indented level below.")
5172 (license license:bsd-3)))
5173
5174(define-public ghc-inline-c
5175 (package
5176 (name "ghc-inline-c")
5177 (version "0.6.1.0")
5178 (source
5179 (origin
5180 (method url-fetch)
5181 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5182 "inline-c-" version ".tar.gz"))
5183 (sha256
5184 (base32
5185 "0vbfrsqsi7mdziqsnj68bsqlwbqxxhvrmy9rv6w8z18d1m8w3n6h"))))
5186 (build-system haskell-build-system)
5187 (inputs
5188 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5189 ("ghc-cryptohash" ,ghc-cryptohash)
5190 ("ghc-hashable" ,ghc-hashable)
5191 ("ghc-parsers" ,ghc-parsers)
5192 ("ghc-unordered-containers" ,ghc-unordered-containers)
5193 ("ghc-vector" ,ghc-vector)))
5194 (native-inputs
5195 `(("ghc-quickcheck" ,ghc-quickcheck)
5196 ("ghc-hspec" ,ghc-hspec)
5197 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5198 ("ghc-regex-posix" ,ghc-regex-posix)))
5199 (home-page "http://hackage.haskell.org/package/inline-c")
5200 (synopsis "Write Haskell source files including C code inline")
5201 (description
5202 "inline-c lets you seamlessly call C libraries and embed high-performance
5203inline C code in Haskell modules. Haskell and C can be freely intermixed in
5204the same source file, and data passed to and from code in either language with
5205minimal overhead. No FFI required.")
5206 (license license:expat)))
5207
5208(define-public ghc-inline-c-cpp
5209 (package
5210 (name "ghc-inline-c-cpp")
5211 (version "0.2.2.1")
5212 (source
5213 (origin
5214 (method url-fetch)
5215 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5216 "inline-c-cpp-" version ".tar.gz"))
5217 (sha256
5218 (base32
5219 "1rk7fmpkmxw9hhwr8df29kadnf0ybnwj64ggdbnsdrpfyhnkisci"))))
5220 (build-system haskell-build-system)
5221 (inputs
5222 `(("ghc-inline-c" ,ghc-inline-c)
5223 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5224 (native-inputs
5225 `(("ghc-hspec" ,ghc-hspec)))
5226 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5227 (synopsis "Lets you embed C++ code into Haskell")
5228 (description
5229 "This package provides utilities to inline C++ code into Haskell using
5230@code{inline-c}.")
5231 (license license:expat)))
5232
5233(define-public ghc-integer-logarithms
5234 (package
5235 (name "ghc-integer-logarithms")
86a704db 5236 (version "1.0.3")
dddbc90c
RV
5237 (source
5238 (origin
5239 (method url-fetch)
5240 (uri (string-append "https://hackage.haskell.org/package/"
5241 "integer-logarithms/integer-logarithms-"
5242 version ".tar.gz"))
5243 (sha256
5244 (base32
86a704db 5245 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5246 (build-system haskell-build-system)
5247 (arguments
5248 `(#:phases
5249 (modify-phases %standard-phases
5250 (add-before 'configure 'update-constraints
5251 (lambda _
5252 (substitute* "integer-logarithms.cabal"
5253 (("tasty >= 0\\.10 && < 1\\.1")
5254 "tasty >= 0.10 && < 1.2")))))))
5255 (native-inputs
5256 `(("ghc-quickcheck" ,ghc-quickcheck)
5257 ("ghc-smallcheck" ,ghc-smallcheck)
5258 ("ghc-tasty" ,ghc-tasty)
5259 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5260 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5261 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5262 (home-page "https://github.com/Bodigrim/integer-logarithms")
5263 (synopsis "Integer logarithms")
5264 (description
5265 "This package provides the following modules:
5266@code{Math.NumberTheory.Logarithms} and
5267@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5268@code{GHC.Integer.Logarithms.Compat} and
5269@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5270in migrated modules.")
5271 (license license:expat)))
5272
5273(define-public ghc-integer-logarithms-bootstrap
5274 (package
5275 (inherit ghc-integer-logarithms)
5276 (name "ghc-integer-logarithms-bootstrap")
5277 (arguments `(#:tests? #f))
5278 (native-inputs '())
799d8d3c 5279 (properties '((hidden? #t)))))
dddbc90c
RV
5280
5281(define-public ghc-interpolate
5282 (package
5283 (name "ghc-interpolate")
5284 (version "0.2.0")
5285 (source
5286 (origin
5287 (method url-fetch)
5288 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5289 "interpolate-" version ".tar.gz"))
5290 (sha256
5291 (base32
5292 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5293 (build-system haskell-build-system)
5294 (inputs
5295 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5296 (native-inputs
5297 `(("ghc-base-compat" ,ghc-base-compat)
5298 ("ghc-hspec" ,ghc-hspec)
5299 ("ghc-quickcheck" ,ghc-quickcheck)
5300 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5301 ("hspec-discover" ,hspec-discover)))
5302 (home-page "https://github.com/sol/interpolate")
5303 (synopsis "String interpolation library")
5304 (description "This package provides a string interpolation library for
5305Haskell.")
5306 (license license:expat)))
5307
5308(define-public ghc-intervalmap
5309 (package
5310 (name "ghc-intervalmap")
e4946e32 5311 (version "0.6.1.1")
dddbc90c
RV
5312 (source
5313 (origin
5314 (method url-fetch)
5315 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5316 "IntervalMap-" version ".tar.gz"))
5317 (sha256
5318 (base32
e4946e32 5319 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
5320 (build-system haskell-build-system)
5321 (native-inputs
5322 `(("ghc-quickcheck" ,ghc-quickcheck)))
5323 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5324 (synopsis "Containers for intervals, with efficient search")
5325 (description
5326 "This package provides ordered containers of intervals, with efficient
5327search for all keys containing a point or overlapping an interval. See the
5328example code on the home page for a quick introduction.")
5329 (license license:bsd-3)))
5330
5331(define-public ghc-invariant
5332 (package
5333 (name "ghc-invariant")
5334 (version "0.5.1")
5335 (source
5336 (origin
5337 (method url-fetch)
5338 (uri (string-append
5339 "https://hackage.haskell.org/package/invariant/invariant-"
5340 version ".tar.gz"))
5341 (sha256
5342 (base32
5343 "0aqj7z55632qdg45074kgn9qfdxzb0a2f8lgjzr0l0i4mm2rr37b"))))
5344 (build-system haskell-build-system)
5345 (inputs
5346 `(("ghc-bifunctors" ,ghc-bifunctors)
5347 ("ghc-comonad" ,ghc-comonad)
5348 ("ghc-contravariant" ,ghc-contravariant)
5349 ("ghc-profunctors" ,ghc-profunctors)
5350 ("ghc-semigroups" ,ghc-semigroups)
5351 ("ghc-statevar" ,ghc-statevar)
5352 ("ghc-tagged" ,ghc-tagged)
5353 ("ghc-th-abstraction" ,ghc-th-abstraction)
5354 ("ghc-transformers-compat" ,ghc-transformers-compat)
5355 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5356 (native-inputs
5357 `(("ghc-hspec" ,ghc-hspec)
5358 ("ghc-quickcheck" ,ghc-quickcheck)
5359 ("hspec-discover" ,hspec-discover)))
5360 (home-page "https://github.com/nfrisby/invariant-functors")
5361 (synopsis "Haskell98 invariant functors")
5362 (description "Haskell98 invariant functors (also known as exponential
5363functors). For more information, see Edward Kmett's article
5364@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5365 (license license:bsd-2)))
5366
5367(define-public ghc-io-streams
5368 (package
5369 (name "ghc-io-streams")
5370 (version "1.5.0.1")
5371 (source
5372 (origin
5373 (method url-fetch)
5374 (uri (string-append "https://hackage.haskell.org/package/"
5375 "io-streams/io-streams-" version ".tar.gz"))
5376 (sha256
5377 (base32
5378 "12rcdg2d70644bvn838fxcjkssqj8pssnx5y657si5rijcbkgjsx"))))
5379 (build-system haskell-build-system)
5380 (inputs
5381 `(("ghc-attoparsec" ,ghc-attoparsec)
5382 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5383 ("ghc-network" ,ghc-network)
5384 ("ghc-primitive" ,ghc-primitive)
5385 ("ghc-vector" ,ghc-vector)
5386 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5387 (native-inputs
5388 `(("ghc-hunit" ,ghc-hunit)
5389 ("ghc-quickcheck" ,ghc-quickcheck)
5390 ("ghc-test-framework" ,ghc-test-framework)
5391 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5392 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5393 ("ghc-zlib" ,ghc-zlib)))
5394 (arguments
5395 `(#:cabal-revision
5396 ("2" "1mcab95d6hm098myh9gp7sh10srigjphgvm8s9pfs7jg5hzghy14")))
5397 (home-page "http://hackage.haskell.org/package/io-streams")
5398 (synopsis "Simple and composable stream I/O")
5399 (description "This library contains simple and easy-to-use
5400primitives for I/O using streams.")
5401 (license license:bsd-3)))
5402
5403(define-public ghc-io-streams-haproxy
5404 (package
5405 (name "ghc-io-streams-haproxy")
5406 (version "1.0.0.2")
5407 (source
5408 (origin
5409 (method url-fetch)
5410 (uri (string-append "https://hackage.haskell.org/package/"
5411 "io-streams-haproxy/io-streams-haproxy-"
5412 version ".tar.gz"))
5413 (sha256
5414 (base32
5415 "11nh9q158mgnvvb23s5ffg87lkhl5smk039yl43jghxmb214z0bp"))))
5416 (build-system haskell-build-system)
5417 (inputs
5418 `(("ghc-attoparsec" ,ghc-attoparsec)
5419 ("ghc-io-streams" ,ghc-io-streams)
5420 ("ghc-network" ,ghc-network)))
5421 (native-inputs
5422 `(("ghc-hunit" ,ghc-hunit)
5423 ("ghc-test-framework" ,ghc-test-framework)
5424 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5425 (arguments
5426 `(#:cabal-revision
5427 ("4" "06c51a057n5bc9xfbp2m4jz5ds4z1xvmsx5mppch6qfwbz7x5i9l")))
5428 (home-page "http://snapframework.com/")
5429 (synopsis "HAProxy protocol 1.5 support for io-streams")
5430 (description "HAProxy protocol version 1.5 support
5431(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5432for applications using io-streams. The proxy protocol allows information
5433about a networked peer (like remote address and port) to be propagated
5434through a forwarding proxy that is configured to speak this protocol.")
5435 (license license:bsd-3)))
5436
5437(define-public ghc-iproute
5438 (package
5439 (name "ghc-iproute")
5440 (version "1.7.5")
5441 (source
5442 (origin
5443 (method url-fetch)
5444 (uri (string-append
5445 "https://hackage.haskell.org/package/iproute/iproute-"
5446 version
5447 ".tar.gz"))
5448 (sha256
5449 (base32
5450 "1vw1nm3s8vz1hqnjnqd3wh5rr4q3m2r4izn5ynhf93h9185qwqzd"))))
5451 (build-system haskell-build-system)
5452 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5453 ; exported by ghc-byteorder. Doctest issue.
5454 (inputs
5455 `(("ghc-appar" ,ghc-appar)
5456 ("ghc-byteorder" ,ghc-byteorder)
5457 ("ghc-network" ,ghc-network)
5458 ("ghc-safe" ,ghc-safe)))
5459 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5460 (synopsis "IP routing table")
5461 (description "IP Routing Table is a tree of IP ranges to search one of
5462them on the longest match base. It is a kind of TRIE with one way branching
5463removed. Both IPv4 and IPv6 are supported.")
5464 (license license:bsd-3)))
5465
5466(define-public ghc-iwlib
5467 (package
5468 (name "ghc-iwlib")
5469 (version "0.1.0")
5470 (source
5471 (origin
5472 (method url-fetch)
5473 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5474 version ".tar.gz"))
5475 (sha256
5476 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5477 (build-system haskell-build-system)
5478 (inputs
5479 `(("wireless-tools" ,wireless-tools)))
5480 (home-page "https://github.com/jaor/iwlib")
5481 (synopsis "Haskell binding to the iw wireless networking library")
5482 (description
5483 "IWlib is a thin Haskell binding to the iw C library. It provides
5484information about the current wireless network connections, and adapters on
5485supported systems.")
5486 (license license:bsd-3)))
5487
5488(define-public ghc-json
5489 (package
5490 (name "ghc-json")
0ad3d574 5491 (version "0.9.3")
dddbc90c
RV
5492 (source
5493 (origin
5494 (method url-fetch)
5495 (uri (string-append "https://hackage.haskell.org/package/json/"
5496 "json-" version ".tar.gz"))
5497 (sha256
5498 (base32
0ad3d574 5499 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
5500 (build-system haskell-build-system)
5501 (inputs
5502 `(("ghc-syb" ,ghc-syb)))
5503 (home-page "https://hackage.haskell.org/package/json")
5504 (synopsis "Serializes Haskell data to and from JSON")
5505 (description "This package provides a parser and pretty printer for
5506converting between Haskell values and JSON.
5507JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5508 (license license:bsd-3)))
5509
5510(define-public ghc-juicypixels
5511 (package
5512 (name "ghc-juicypixels")
b50b6004 5513 (version "3.3.4")
dddbc90c
RV
5514 (source (origin
5515 (method url-fetch)
5516 (uri (string-append "https://hackage.haskell.org/package/"
5517 "JuicyPixels/JuicyPixels-"
5518 version ".tar.gz"))
5519 (sha256
5520 (base32
b50b6004 5521 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
5522 (build-system haskell-build-system)
5523 (inputs
5524 `(("ghc-zlib" ,ghc-zlib)
5525 ("ghc-vector" ,ghc-vector)
5526 ("ghc-primitive" ,ghc-primitive)
5527 ("ghc-mmap" ,ghc-mmap)))
5528 (home-page "https://github.com/Twinside/Juicy.Pixels")
5529 (synopsis "Picture loading and serialization library")
5530 (description
5531 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5532TIFF and GIF formats.")
5533 (license license:bsd-3)))
5534
5535(define-public ghc-kan-extensions
5536 (package
5537 (name "ghc-kan-extensions")
5538 (version "5.2")
5539 (source
5540 (origin
5541 (method url-fetch)
5542 (uri (string-append
5543 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5544 version
5545 ".tar.gz"))
5546 (sha256
5547 (base32
5548 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5549 (build-system haskell-build-system)
5550 (inputs
5551 `(("ghc-adjunctions" ,ghc-adjunctions)
5552 ("ghc-comonad" ,ghc-comonad)
5553 ("ghc-contravariant" ,ghc-contravariant)
5554 ("ghc-distributive" ,ghc-distributive)
5555 ("ghc-free" ,ghc-free)
5556 ("ghc-invariant" ,ghc-invariant)
5557 ("ghc-semigroupoids" ,ghc-semigroupoids)
5558 ("ghc-tagged" ,ghc-tagged)
5559 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5560 (home-page "https://github.com/ekmett/kan-extensions/")
5561 (synopsis "Kan extensions library")
5562 (description "This library provides Kan extensions, Kan lifts, various
5563forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5564 (license license:bsd-3)))
5565
5566(define-public ghc-language-c
5567 (package
5568 (name "ghc-language-c")
4e1cf651 5569 (version "0.8.3")
dddbc90c
RV
5570 (source
5571 (origin
5572 (method url-fetch)
5573 (uri (string-append "https://hackage.haskell.org/package/"
5574 "language-c/language-c-" version ".tar.gz"))
5575 (sha256
5576 (base32
4e1cf651 5577 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
5578 (build-system haskell-build-system)
5579 (inputs `(("ghc-syb" ,ghc-syb)))
5580 (native-inputs
5581 `(("ghc-happy" ,ghc-happy)
5582 ("ghc-alex" ,ghc-alex)))
5583 (home-page "https://visq.github.io/language-c/")
5584 (synopsis "Analysis and generation of C code")
5585 (description
5586 "Language C is a Haskell library for the analysis and generation of C code.
5587It features a complete, well-tested parser and pretty printer for all of C99
5588and a large set of GNU extensions.")
5589 (license license:bsd-3)))
5590
5591(define-public ghc-language-glsl
5592 (package
5593 (name "ghc-language-glsl")
5594 (version "0.3.0")
5595 (source
5596 (origin
5597 (method url-fetch)
5598 (uri (string-append "https://hackage.haskell.org/package/"
5599 "language-glsl/language-glsl-" version ".tar.gz"))
5600 (sha256
5601 (base32
5602 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
5603 (build-system haskell-build-system)
5604 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
5605 (arguments
5606 `(#:tests? #f
5607 #:cabal-revision
5608 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
5609 (home-page "http://hackage.haskell.org/package/language-glsl")
5610 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
5611 (description "This package is a Haskell library for the
5612representation, parsing, and pretty-printing of GLSL 1.50 code.")
5613 (license license:bsd-3)))
5614
5615(define-public ghc-language-haskell-extract
5616 (package
5617 (name "ghc-language-haskell-extract")
5618 (version "0.2.4")
5619 (source
5620 (origin
5621 (method url-fetch)
5622 (uri (string-append "https://hackage.haskell.org/package/"
5623 "language-haskell-extract-" version "/"
5624 "language-haskell-extract-" version ".tar.gz"))
5625 (sha256
5626 (base32
5627 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
5628 (build-system haskell-build-system)
5629 (inputs
5630 `(("ghc-regex-posix" ,ghc-regex-posix)))
5631 (home-page "https://github.com/finnsson/template-helper")
5632 (synopsis "Haskell module to automatically extract functions from
5633the local code")
5634 (description "This package contains helper functions on top of
5635Template Haskell.
5636
5637For example, @code{functionExtractor} extracts all functions after a
5638regexp-pattern, which can be useful if you wish to extract all functions
5639beginning with @code{test} (for a test framework) or all functions beginning
5640with @code{wc} (for a web service).")
5641 (license license:bsd-3)))
5642
5643(define-public ghc-lens
5644 (package
5645 (name "ghc-lens")
5646 (version "4.16.1")
5647 (source
5648 (origin
5649 (method url-fetch)
5650 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5651 version ".tar.gz"))
5652 (sha256
5653 (base32
5654 "1im4drhbydbawd6i0jsrzpqihnmx4ywpkg7yg94ddwsw3mxwkgpm"))))
5655 (build-system haskell-build-system)
5656 (arguments
5657 `(#:cabal-revision
5658 ("2" "11h83lj5mba4grhz1qx3irz10ysm9c3k7k6i6xv2cr60q8xin3ri")))
5659 (inputs
5660 `(("ghc-base-orphans" ,ghc-base-orphans)
5661 ("ghc-bifunctors" ,ghc-bifunctors)
5662 ("ghc-distributive" ,ghc-distributive)
5663 ("ghc-exceptions" ,ghc-exceptions)
5664 ("ghc-free" ,ghc-free)
5665 ("ghc-kan-extensions" ,ghc-kan-extensions)
5666 ("ghc-parallel" ,ghc-parallel)
5667 ("ghc-reflection" ,ghc-reflection)
5668 ("ghc-semigroupoids" ,ghc-semigroupoids)
5669 ("ghc-vector" ,ghc-vector)
5670 ("ghc-call-stack" ,ghc-call-stack)
5671 ("ghc-comonad" ,ghc-comonad)
5672 ("ghc-contravariant" ,ghc-contravariant)
5673 ("ghc-hashable" ,ghc-hashable)
5674 ("ghc-profunctors" ,ghc-profunctors)
5675 ("ghc-semigroups" ,ghc-semigroups)
5676 ("ghc-tagged" ,ghc-tagged)
5677 ("ghc-transformers-compat" ,ghc-transformers-compat)
5678 ("ghc-unordered-containers" ,ghc-unordered-containers)
5679 ("ghc-void" ,ghc-void)
5680 ("ghc-generic-deriving" ,ghc-generic-deriving)
5681 ("ghc-nats" ,ghc-nats)
5682 ("ghc-simple-reflect" ,ghc-simple-reflect)
5683 ("hlint" ,hlint)))
5684 (native-inputs
5685 `(("cabal-doctest" ,cabal-doctest)
5686 ("ghc-doctest" ,ghc-doctest)
5687 ("ghc-hunit" ,ghc-hunit)
5688 ("ghc-test-framework" ,ghc-test-framework)
5689 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5690 ("ghc-test-framework-th" ,ghc-test-framework-th)
5691 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5692 ("ghc-quickcheck" ,ghc-quickcheck)))
5693 (home-page "https://github.com/ekmett/lens/")
5694 (synopsis "Lenses, Folds and Traversals")
5695 (description "This library provides @code{Control.Lens}. The combinators
5696in @code{Control.Lens} provide a highly generic toolbox for composing families
5697of getters, folds, isomorphisms, traversals, setters and lenses and their
5698indexed variants.")
5699 (license license:bsd-3)))
5700
5701(define-public ghc-libffi
5702 (package
5703 (name "ghc-libffi")
5704 (version "0.1")
5705 (source
5706 (origin
5707 (method url-fetch)
5708 (uri (string-append "https://hackage.haskell.org/package/"
5709 "libffi/libffi-" version ".tar.gz"))
5710 (sha256
5711 (base32
5712 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
5713 (build-system haskell-build-system)
5714 (native-inputs `(("pkg-config" ,pkg-config)))
5715 (inputs `(("libffi" ,libffi)))
5716 (home-page "http://hackage.haskell.org/package/libffi")
5717 (synopsis "Haskell binding to libffi")
5718 (description
5719 "A binding to libffi, allowing C functions of types only known at runtime
5720to be called from Haskell.")
5721 (license license:bsd-3)))
5722
5723(define-public ghc-libmpd
5724 (package
5725 (name "ghc-libmpd")
5726 (version "0.9.0.9")
5727 (source
5728 (origin
5729 (method url-fetch)
5730 (uri (string-append
5731 "mirror://hackage/package/libmpd/libmpd-"
5732 version
5733 ".tar.gz"))
5734 (sha256
5735 (base32
5736 "1931m23iqb4wddpdidm4ph746zpaw41kkjzmb074j7yyfpk7x1jv"))))
5737 (build-system haskell-build-system)
5738 ;; Tests fail on i686.
5739 ;; See https://github.com/vimus/libmpd-haskell/issues/112
5740 (arguments `(#:tests? #f))
5741 (inputs
5742 `(("ghc-attoparsec" ,ghc-attoparsec)
5743 ("ghc-old-locale" ,ghc-old-locale)
5744 ("ghc-data-default-class" ,ghc-data-default-class)
5745 ("ghc-network" ,ghc-network)
5746 ("ghc-utf8-string" ,ghc-utf8-string)))
5747 (native-inputs
5748 `(("ghc-quickcheck" ,ghc-quickcheck)
5749 ("ghc-hspec" ,ghc-hspec)
5750 ("hspec-discover" ,hspec-discover)))
5751 (home-page "https://github.com/vimus/libmpd-haskell")
5752 (synopsis "Haskell client library for the Music Player Daemon")
5753 (description "This package provides a pure Haskell client library for the
5754Music Player Daemon.")
5755 (license license:expat)))
5756
5757(define-public ghc-libxml
5758 (package
5759 (name "ghc-libxml")
5760 (version "0.1.1")
5761 (source
5762 (origin
5763 (method url-fetch)
5764 (uri (string-append "https://hackage.haskell.org/package/libxml/"
5765 "libxml-" version ".tar.gz"))
5766 (sha256
5767 (base32
5768 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
5769 (build-system haskell-build-system)
5770 (inputs
5771 `(("libxml2" ,libxml2)))
5772 (arguments
5773 `(#:configure-flags
5774 `(,(string-append "--extra-include-dirs="
5775 (assoc-ref %build-inputs "libxml2")
5776 "/include/libxml2"))))
5777 (home-page "https://hackage.haskell.org/package/libxml")
5778 (synopsis "Haskell bindings to libxml2")
5779 (description
5780 "This library provides minimal Haskell binding to libxml2.")
5781 (license license:bsd-3)))
5782
5783(define-public ghc-lifted-async
5784 (package
5785 (name "ghc-lifted-async")
5786 (version "0.10.0.2")
5787 (source
5788 (origin
5789 (method url-fetch)
5790 (uri (string-append
5791 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
5792 version ".tar.gz"))
5793 (sha256
5794 (base32
5795 "1073r512c1x2m1v0jar9bwqg656slg7jd1jhsyj6m8awgx1l1mwf"))))
5796 (build-system haskell-build-system)
5797 (inputs
5798 `(("ghc-async" ,ghc-async)
5799 ("ghc-lifted-base" ,ghc-lifted-base)
5800 ("ghc-transformers-base" ,ghc-transformers-base)
5801 ("ghc-monad-control" ,ghc-monad-control)
5802 ("ghc-constraints" ,ghc-constraints)
5803 ("ghc-hunit" ,ghc-hunit)
5804 ("ghc-tasty" ,ghc-tasty)
5805 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5806 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5807 ("ghc-tasty-th" ,ghc-tasty-th)))
5808 (home-page "https://github.com/maoe/lifted-async")
5809 (synopsis "Run lifted IO operations asynchronously and wait for their results")
5810 (description
5811 "This package provides IO operations from @code{async} package lifted to any
5812instance of @code{MonadBase} or @code{MonadBaseControl}.")
5813 (license license:bsd-3)))
5814
5815(define-public ghc-lifted-base
5816 (package
5817 (name "ghc-lifted-base")
5818 (version "0.2.3.12")
5819 (source
5820 (origin
5821 (method url-fetch)
5822 (uri (string-append
5823 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
5824 version
5825 ".tar.gz"))
5826 (sha256
5827 (base32
5828 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
5829 (build-system haskell-build-system)
5830 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
5831 (inputs
5832 `(("ghc-transformers-base" ,ghc-transformers-base)
5833 ("ghc-monad-control" ,ghc-monad-control)
5834 ("ghc-transformers-compat" ,ghc-transformers-compat)
5835 ("ghc-hunit" ,ghc-hunit)))
5836 (home-page "https://github.com/basvandijk/lifted-base")
5837 (synopsis "Lifted IO operations from the base library")
5838 (description "Lifted-base exports IO operations from the @code{base}
5839library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5840Note that not all modules from @code{base} are converted yet. The package
5841includes a copy of the @code{monad-peel} test suite written by Anders
5842Kaseorg.")
5843 (license license:bsd-3)))
5844
5845(define-public ghc-linear
5846 (package
5847 (name "ghc-linear")
5848 (version "1.20.8")
5849 (source
5850 (origin
5851 (method url-fetch)
5852 (uri (string-append "https://hackage.haskell.org/package/linear/"
5853 "linear-" version ".tar.gz"))
5854 (sha256
5855 (base32
5856 "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"))))
5857 (build-system haskell-build-system)
5858 (inputs
5859 `(("ghc-adjunctions" ,ghc-adjunctions)
5860 ("ghc-base-orphans" ,ghc-base-orphans)
5861 ("ghc-bytes" ,ghc-bytes)
5862 ("ghc-cereal" ,ghc-cereal)
5863 ("ghc-distributive" ,ghc-distributive)
5864 ("ghc-hashable" ,ghc-hashable)
5865 ("ghc-lens" ,ghc-lens)
5866 ("ghc-reflection" ,ghc-reflection)
5867 ("ghc-semigroups" ,ghc-semigroups)
5868 ("ghc-semigroupoids" ,ghc-semigroupoids)
5869 ("ghc-tagged" ,ghc-tagged)
5870 ("ghc-transformers-compat" ,ghc-transformers-compat)
5871 ("ghc-unordered-containers" ,ghc-unordered-containers)
5872 ("ghc-vector" ,ghc-vector)
5873 ("ghc-void" ,ghc-void)))
5874 (native-inputs
5875 `(("cabal-doctest" ,cabal-doctest)
5876 ("ghc-doctest" ,ghc-doctest)
5877 ("ghc-simple-reflect" ,ghc-simple-reflect)
5878 ("ghc-test-framework" ,ghc-test-framework)
5879 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5880 ("ghc-hunit" ,ghc-hunit)))
5881 (home-page "http://github.com/ekmett/linear/")
5882 (synopsis "Linear algebra library for Haskell")
5883 (description
5884 "This package provides types and combinators for linear algebra on free
5885vector spaces.")
5886 (license license:bsd-3)))
1307e4c7
JS
5887
5888(define-public ghc-listlike
5889 (package
5890 (name "ghc-listlike")
5891 (version "4.6.2")
5892 (source
5893 (origin
5894 (method url-fetch)
5895 (uri
5896 (string-append
5897 "https://hackage.haskell.org/package/ListLike/ListLike-"
5898 version ".tar.gz"))
5899 (sha256
5900 (base32
5901 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
5902 (build-system haskell-build-system)
5903 (inputs
5904 `(("ghc-vector" ,ghc-vector)
5905 ("ghc-dlist" ,ghc-dlist)
5906 ("ghc-fmlist" ,ghc-fmlist)
5907 ("ghc-hunit" ,ghc-hunit)
5908 ("ghc-quickcheck" ,ghc-quickcheck)
5909 ("ghc-random" ,ghc-random)
5910 ("ghc-utf8-string" ,ghc-utf8-string)))
5911 (home-page "https://github.com/JohnLato/listlike")
5912 (synopsis "Generic support for list-like structures")
5913 (description "The ListLike module provides a common interface to the
5914various Haskell types that are list-like. Predefined interfaces include
5915standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
5916Custom types can easily be made ListLike instances as well.
5917
5918ListLike also provides for String-like types, such as String and
5919ByteString, for types that support input and output, and for types that
5920can handle infinite lists.")
5921 (license license:bsd-3)))
dddbc90c
RV
5922
5923(define-public ghc-logging-facade
5924 (package
5925 (name "ghc-logging-facade")
5926 (version "0.3.0")
5927 (source (origin
5928 (method url-fetch)
5929 (uri (string-append "https://hackage.haskell.org/package/"
5930 "logging-facade/logging-facade-"
5931 version ".tar.gz"))
5932 (sha256
5933 (base32
5934 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
5935 (build-system haskell-build-system)
5936 (native-inputs
5937 `(("ghc-hspec" ,ghc-hspec)
5938 ("hspec-discover" ,hspec-discover)))
5939 (home-page "https://hackage.haskell.org/package/logging-facade")
5940 (synopsis "Simple logging abstraction that allows multiple back-ends")
5941 (description
5942 "This package provides a simple logging abstraction that allows multiple
5943back-ends.")
5944 (license license:expat)))
5945
5946(define-public ghc-logict
5947 (package
5948 (name "ghc-logict")
79d9326f 5949 (version "0.7.0.2")
dddbc90c
RV
5950 (source
5951 (origin
5952 (method url-fetch)
5953 (uri (string-append
5954 "https://hackage.haskell.org/package/logict/logict-"
5955 version
5956 ".tar.gz"))
5957 (sha256
5958 (base32
79d9326f 5959 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 5960 (build-system haskell-build-system)
79d9326f
TS
5961 (native-inputs
5962 `(("ghc-tasty" ,ghc-tasty)
5963 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5964 (home-page "http://code.haskell.org/~dolio/")
5965 (synopsis "Backtracking logic-programming monad")
5966 (description "This library provides a continuation-based, backtracking,
5967logic programming monad. An adaptation of the two-continuation implementation
5968found in the paper \"Backtracking, Interleaving, and Terminating Monad
5969Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
5970online}.")
5971 (license license:bsd-3)))
5972
5973(define-public ghc-lzma
5974 (package
5975 (name "ghc-lzma")
5976 (version "0.0.0.3")
5977 (source
5978 (origin
5979 (method url-fetch)
5980 (uri (string-append "https://hackage.haskell.org/package/lzma/"
5981 "lzma-" version ".tar.gz"))
5982 (sha256
5983 (base32
5984 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
5985 (build-system haskell-build-system)
5986 (arguments
5987 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
5988 #:cabal-revision
5989 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
5990 (native-inputs
5991 `(("ghc-hunit" ,ghc-hunit)
5992 ("ghc-quickcheck" ,ghc-quickcheck)
5993 ("ghc-tasty" ,ghc-tasty)
5994 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5995 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
5996 (home-page "https://github.com/hvr/lzma")
5997 (synopsis "LZMA/XZ compression and decompression")
5998 (description
5999 "This package provides a pure interface for compressing and
6000decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6001monadic incremental interface is provided as well.")
6002 (license license:bsd-3)))
6003
6004(define-public ghc-lzma-conduit
6005 (package
6006 (name "ghc-lzma-conduit")
6007 (version "1.2.1")
6008 (source
6009 (origin
6010 (method url-fetch)
6011 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6012 "lzma-conduit-" version ".tar.gz"))
6013 (sha256
6014 (base32
6015 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6016 (build-system haskell-build-system)
6017 (inputs
6018 `(("ghc-conduit" ,ghc-conduit)
6019 ("ghc-lzma" ,ghc-lzma)
6020 ("ghc-resourcet" ,ghc-resourcet)))
6021 (native-inputs
6022 `(("ghc-base-compat" ,ghc-base-compat)
6023 ("ghc-test-framework" ,ghc-test-framework)
6024 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6025 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6026 ("ghc-hunit" ,ghc-hunit)
6027 ("ghc-quickcheck" ,ghc-quickcheck)))
6028 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6029 (synopsis "Conduit interface for lzma/xz compression")
6030 (description
6031 "This package provides a @code{Conduit} interface for the LZMA
6032compression algorithm used in the @code{.xz} file format.")
6033 (license license:bsd-3)))
6034
e405912c
KM
6035(define-public ghc-magic
6036 (package
6037 (name "ghc-magic")
6038 (version "1.1")
6039 (source
6040 (origin
6041 (method url-fetch)
6042 (uri (string-append
6043 "https://hackage.haskell.org/package/magic/magic-"
6044 version ".tar.gz"))
6045 (sha256
6046 (base32
6047 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6048 (build-system haskell-build-system)
6049 (home-page "http://hackage.haskell.org/package/magic")
6050 (synopsis "Interface to C file/magic library")
6051 (description
6052 "This package provides a full-featured binding to the C libmagic library.
6053With it, you can determine the type of a file by examining its contents rather
6054than its name.")
6055 (license license:bsd-3)))
6056
dddbc90c
RV
6057(define-public ghc-markdown-unlit
6058 (package
6059 (name "ghc-markdown-unlit")
6060 (version "0.5.0")
6061 (source (origin
6062 (method url-fetch)
6063 (uri (string-append
6064 "mirror://hackage/package/markdown-unlit/"
6065 "markdown-unlit-" version ".tar.gz"))
6066 (sha256
6067 (base32
6068 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6069 (build-system haskell-build-system)
6070 (inputs
6071 `(("ghc-base-compat" ,ghc-base-compat)
6072 ("ghc-hspec" ,ghc-hspec)
6073 ("ghc-quickcheck" ,ghc-quickcheck)
6074 ("ghc-silently" ,ghc-silently)
6075 ("ghc-stringbuilder" ,ghc-stringbuilder)
6076 ("ghc-temporary" ,ghc-temporary)
6077 ("hspec-discover" ,hspec-discover)))
6078 (home-page "https://github.com/sol/markdown-unlit#readme")
6079 (synopsis "Literate Haskell support for Markdown")
6080 (description "This package allows you to have a README.md that at the
6081same time is a literate Haskell program.")
6082 (license license:expat)))
6083
6084(define-public ghc-math-functions
6085 (package
6086 (name "ghc-math-functions")
b45de2bf 6087 (version "0.3.3.0")
dddbc90c
RV
6088 (source
6089 (origin
6090 (method url-fetch)
6091 (uri (string-append "https://hackage.haskell.org/package/"
6092 "math-functions-" version "/"
6093 "math-functions-" version ".tar.gz"))
6094 (sha256
6095 (base32
b45de2bf 6096 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6097 (build-system haskell-build-system)
6098 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6099 (inputs
b45de2bf
TS
6100 `(("ghc-data-default-class" ,ghc-data-default-class)
6101 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6102 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6103 (native-inputs
6104 `(("ghc-hunit" ,ghc-hunit)
6105 ("ghc-quickcheck" ,ghc-quickcheck)
6106 ("ghc-erf" ,ghc-erf)
6107 ("ghc-test-framework" ,ghc-test-framework)
6108 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6109 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6110 (home-page "https://github.com/bos/math-functions")
6111 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6112 (description "This Haskell library provides implementations of
6113special mathematical functions and Chebyshev polynomials. These
6114functions are often useful in statistical and numerical computing.")
6115 (license license:bsd-3)))
6116
6117(define-public ghc-megaparsec
6118 (package
6119 (name "ghc-megaparsec")
6120 (version "6.5.0")
6121 (source
6122 (origin
6123 (method url-fetch)
6124 (uri (string-append "https://hackage.haskell.org/package/"
6125 "megaparsec/megaparsec-"
6126 version ".tar.gz"))
6127 (sha256
6128 (base32
6129 "12iggy7qpf8x93jm64zf0g215xwy779bqyfyjk2bhmxqqr1yzgdy"))))
6130 (build-system haskell-build-system)
6131 (arguments
6132 `(#:cabal-revision
6133 ("4" "0ij3asi5vwlhbgwsy6nhli9a0qb7926mg809fsgyl1rnhs9fvpx1")))
6134 (inputs
6135 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6136 ("ghc-parser-combinators" ,ghc-parser-combinators)
6137 ("ghc-scientific" ,ghc-scientific)))
6138 (native-inputs
6139 `(("ghc-quickcheck" ,ghc-quickcheck)
6140 ("ghc-hspec" ,ghc-hspec)
6141 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6142 ("hspec-discover" ,hspec-discover)))
6143 (home-page "https://github.com/mrkkrp/megaparsec")
6144 (synopsis "Monadic parser combinators")
6145 (description
6146 "This is an industrial-strength monadic parser combinator library.
6147Megaparsec is a feature-rich package that strikes a nice balance between
6148speed, flexibility, and quality of parse errors.")
6149 (license license:bsd-2)))
6150
4780db2c
EB
6151;;; Idris 1.3.2 requires 'megaparse>=7.0.4' but we'd like to keep the public
6152;;; package at the current Stackage LTS version:
6153(define-public ghc-megaparsec-7
6154 (hidden-package
6155 (package
6156 (inherit ghc-megaparsec)
6157 (version "7.0.5")
6158 (source
6159 (origin
6160 (method url-fetch)
6161 (uri (string-append "https://hackage.haskell.org/package/megaparsec/"
6162 "megaparsec-" version ".tar.gz"))
6163 (sha256
6164 (base32
6165 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
6166 (arguments (strip-keyword-arguments (list #:cabal-revision)
6167 (package-arguments ghc-megaparsec))))))
6168
dddbc90c
RV
6169(define-public ghc-memory
6170 (package
6171 (name "ghc-memory")
d2c7d336 6172 (version "0.14.18")
dddbc90c
RV
6173 (source (origin
6174 (method url-fetch)
6175 (uri (string-append "https://hackage.haskell.org/package/"
6176 "memory/memory-" version ".tar.gz"))
6177 (sha256
6178 (base32
d2c7d336 6179 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
6180 (build-system haskell-build-system)
6181 (inputs
6182 `(("ghc-basement" ,ghc-basement)
6183 ("ghc-foundation" ,ghc-foundation)))
6184 (native-inputs
6185 `(("ghc-tasty" ,ghc-tasty)
6186 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6187 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6188 (home-page "https://github.com/vincenthz/hs-memory")
6189 (synopsis "Memory abstractions for Haskell")
6190 (description
6191 "This package provides memory abstractions, such as chunk of memory,
6192polymorphic byte array management and manipulation functions. It contains a
6193polymorphic byte array abstraction and functions similar to strict ByteString,
6194different type of byte array abstraction, raw memory IO operations (memory
6195set, memory copy, ..) and more")
6196 (license license:bsd-3)))
6197
6198(define-public ghc-memotrie
6199 (package
6200 (name "ghc-memotrie")
6201 (version "0.6.9")
6202 (source
6203 (origin
6204 (method url-fetch)
6205 (uri (string-append
6206 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6207 version
6208 ".tar.gz"))
6209 (sha256
6210 (base32
6211 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6212 (build-system haskell-build-system)
6213 (inputs
6214 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6215 (home-page "https://github.com/conal/MemoTrie")
6216 (synopsis "Trie-based memo functions")
6217 (description "This package provides a functional library for creating
6218efficient memo functions using tries.")
6219 (license license:bsd-3)))
6220
6221(define-public ghc-microlens
6222 (package
6223 (name "ghc-microlens")
82478c58 6224 (version "0.4.10")
dddbc90c
RV
6225 (source
6226 (origin
6227 (method url-fetch)
6228 (uri (string-append "https://hackage.haskell.org/package/"
6229 "microlens-" version "/"
6230 "microlens-" version ".tar.gz"))
6231 (sha256
6232 (base32
82478c58 6233 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
6234 (build-system haskell-build-system)
6235 (home-page
6236 "https://github.com/aelve/microlens")
6237 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6238 (description "This Haskell package provides a lens library, just like
6239@code{ghc-lens}, but smaller. It provides essential lenses and
6240traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6241nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6242combinators (like @code{failing} and @code{singular}), but everything else is
6243stripped. As the result, this package has no dependencies.")
6244 (license license:bsd-3)))
6245
6246(define-public ghc-microlens-ghc
6247 (package
6248 (name "ghc-microlens-ghc")
027beb55 6249 (version "0.4.10")
dddbc90c
RV
6250 (source
6251 (origin
6252 (method url-fetch)
6253 (uri (string-append
6254 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6255 version
6256 ".tar.gz"))
6257 (sha256
6258 (base32
027beb55 6259 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
6260 (build-system haskell-build-system)
6261 (inputs `(("ghc-microlens" ,ghc-microlens)))
6262 (home-page "https://github.com/monadfix/microlens")
6263 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6264 (description "This library provides everything that @code{microlens}
6265provides plus instances to make @code{each}, @code{at}, and @code{ix}
6266usable with arrays, @code{ByteString}, and containers. This package is
6267a part of the @uref{http://hackage.haskell.org/package/microlens,
6268microlens} family; see the readme
6269@uref{https://github.com/aelve/microlens#readme, on Github}.")
6270 (license license:bsd-3)))
6271
6272(define-public ghc-microlens-mtl
6273 (package
6274 (name "ghc-microlens-mtl")
6275 (version "0.1.11.1")
6276 (source
6277 (origin
6278 (method url-fetch)
6279 (uri (string-append
6280 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6281 version
6282 ".tar.gz"))
6283 (sha256
6284 (base32
6285 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6286 (build-system haskell-build-system)
6287 (inputs
6288 `(("ghc-microlens" ,ghc-microlens)
6289 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6290 (home-page "https://github.com/monadfix/microlens")
6291 (synopsis
6292 "@code{microlens} support for Reader/Writer/State from mtl")
6293 (description
6294 "This package contains functions (like @code{view} or @code{+=}) which
6295work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6296mtl package. This package is a part of the
6297@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6298readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6299 (license license:bsd-3)))
6300
6301(define-public ghc-microlens-platform
6302 (package
6303 (name "ghc-microlens-platform")
85decc1f 6304 (version "0.3.11")
dddbc90c
RV
6305 (source
6306 (origin
6307 (method url-fetch)
6308 (uri (string-append
6309 "https://hackage.haskell.org/package/"
6310 "microlens-platform/microlens-platform-" version ".tar.gz"))
6311 (sha256
6312 (base32
85decc1f 6313 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
6314 (build-system haskell-build-system)
6315 (inputs
6316 `(("ghc-hashable" ,ghc-hashable)
6317 ("ghc-microlens" ,ghc-microlens)
6318 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6319 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6320 ("ghc-microlens-th" ,ghc-microlens-th)
6321 ("ghc-unordered-containers" ,ghc-unordered-containers)
6322 ("ghc-vector" ,ghc-vector)))
6323 (home-page "https://github.com/monadfix/microlens")
6324 (synopsis "Feature-complete microlens")
6325 (description
6326 "This package exports a module which is the recommended starting point
6327for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6328you aren't trying to keep your dependencies minimal. By importing
6329@code{Lens.Micro.Platform} you get all functions and instances from
6330@uref{http://hackage.haskell.org/package/microlens, microlens},
6331@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6332@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6333@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6334well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6335minor and major versions of @code{microlens-platform} are incremented whenever
6336the minor and major versions of any other @code{microlens} package are
6337incremented, so you can depend on the exact version of
6338@code{microlens-platform} without specifying the version of @code{microlens}
6339you need. This package is a part of the
6340@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6341readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6342 (license license:bsd-3)))
6343
6344(define-public ghc-microlens-th
6345 (package
6346 (name "ghc-microlens-th")
7ae52867 6347 (version "0.4.2.3")
dddbc90c
RV
6348 (source
6349 (origin
6350 (method url-fetch)
6351 (uri (string-append "https://hackage.haskell.org/package/"
6352 "microlens-th-" version "/"
6353 "microlens-th-" version ".tar.gz"))
6354 (sha256
6355 (base32
7ae52867 6356 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 6357 (build-system haskell-build-system)
7ae52867
TS
6358 (arguments
6359 `(#:cabal-revision
6360 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
6361 (inputs `(("ghc-microlens" ,ghc-microlens)
6362 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6363 (home-page
6364 "https://github.com/aelve/microlens")
6365 (synopsis "Automatic generation of record lenses for
6366@code{ghc-microlens}")
6367 (description "This Haskell package lets you automatically generate lenses
6368for data types; code was extracted from the lens package, and therefore
6369generated lenses are fully compatible with ones generated by lens (and can be
6370used both from lens and microlens).")
6371 (license license:bsd-3)))
6372
6373(define-public ghc-missingh
6374 (package
6375 (name "ghc-missingh")
6376 (version "1.4.0.1")
6377 (source
6378 (origin
6379 (method url-fetch)
6380 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6381 "MissingH-" version ".tar.gz"))
6382 (sha256
6383 (base32
6384 "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"))))
6385 (build-system haskell-build-system)
6386 ;; Tests require the unmaintained testpack package, which depends on the
6387 ;; outdated QuickCheck version 2.7, which can no longer be built with
6388 ;; recent versions of GHC and Haskell libraries.
6389 (arguments '(#:tests? #f))
6390 (inputs
6391 `(("ghc-network" ,ghc-network)
6392 ("ghc-hunit" ,ghc-hunit)
6393 ("ghc-regex-compat" ,ghc-regex-compat)
6394 ("ghc-hslogger" ,ghc-hslogger)
6395 ("ghc-random" ,ghc-random)
6396 ("ghc-old-time" ,ghc-old-time)
6397 ("ghc-old-locale" ,ghc-old-locale)))
6398 (native-inputs
6399 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6400 ("ghc-quickcheck" ,ghc-quickcheck)
6401 ("ghc-hunit" ,ghc-hunit)))
6402 (home-page "http://software.complete.org/missingh")
6403 (synopsis "Large utility library")
6404 (description
6405 "MissingH is a library of all sorts of utility functions for Haskell
6406programmers. It is written in pure Haskell and thus should be extremely
6407portable and easy to use.")
6408 (license license:bsd-3)))
6409
6410(define-public ghc-mmap
6411 (package
6412 (name "ghc-mmap")
6413 (version "0.5.9")
6414 (source (origin
6415 (method url-fetch)
6416 (uri (string-append "https://hackage.haskell.org/package/"
6417 "mmap/mmap-" version ".tar.gz"))
6418 (sha256
6419 (base32
6420 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6421 (build-system haskell-build-system)
6422 (home-page "https://hackage.haskell.org/package/mmap")
6423 (synopsis "Memory mapped files for Haskell")
6424 (description
6425 "This library provides a wrapper to @code{mmap}, allowing files or
6426devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6427@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6428do on-demand loading.")
6429 (license license:bsd-3)))
6430
6431(define-public ghc-mmorph
6432 (package
6433 (name "ghc-mmorph")
e0389704 6434 (version "1.1.3")
dddbc90c
RV
6435 (source
6436 (origin
6437 (method url-fetch)
6438 (uri (string-append
6439 "https://hackage.haskell.org/package/mmorph/mmorph-"
6440 version
6441 ".tar.gz"))
6442 (sha256
6443 (base32
e0389704 6444 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
6445 (build-system haskell-build-system)
6446 (inputs
6447 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6448 (home-page "https://hackage.haskell.org/package/mmorph")
6449 (synopsis "Monad morphisms")
6450 (description
6451 "This library provides monad morphism utilities, most commonly used for
6452manipulating monad transformer stacks.")
6453 (license license:bsd-3)))
6454
6455(define-public ghc-mockery
6456 (package
6457 (name "ghc-mockery")
6458 (version "0.3.5")
6459 (source (origin
6460 (method url-fetch)
6461 (uri (string-append "https://hackage.haskell.org/package/"
6462 "mockery/mockery-" version ".tar.gz"))
6463 (sha256
6464 (base32
6465 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6466 (build-system haskell-build-system)
6467 (inputs
6468 `(("ghc-temporary" ,ghc-temporary)
6469 ("ghc-logging-facade" ,ghc-logging-facade)
6470 ("ghc-base-compat" ,ghc-base-compat)))
6471 (native-inputs
6472 `(("ghc-hspec" ,ghc-hspec)
6473 ("hspec-discover" ,hspec-discover)))
6474 (home-page "https://hackage.haskell.org/package/mockery")
6475 (synopsis "Support functions for automated testing")
6476 (description
6477 "The mockery package provides support functions for automated testing.")
6478 (license license:expat)))
6479
6480(define-public ghc-monad-control
6481 (package
6482 (name "ghc-monad-control")
6483 (version "1.0.2.3")
6484 (source
6485 (origin
6486 (method url-fetch)
6487 (uri (string-append
6488 "https://hackage.haskell.org/package/monad-control"
6489 "/monad-control-" version ".tar.gz"))
6490 (sha256
6491 (base32
6492 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6493 (build-system haskell-build-system)
6494 (inputs
6495 `(("ghc-transformers-base" ,ghc-transformers-base)
6496 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6497 (home-page "https://github.com/basvandijk/monad-control")
6498 (synopsis "Monad transformers to lift control operations like exception
6499catching")
6500 (description "This package defines the type class @code{MonadBaseControl},
6501a subset of @code{MonadBase} into which generic control operations such as
6502@code{catch} can be lifted from @code{IO} or any other base monad.")
6503 (license license:bsd-3)))
6504
6505(define-public ghc-monad-logger
6506 (package
6507 (name "ghc-monad-logger")
6508 (version "0.3.29")
6509 (source
6510 (origin
6511 (method url-fetch)
6512 (uri (string-append "https://hackage.haskell.org/package/"
6513 "monad-logger-" version "/"
6514 "monad-logger-" version ".tar.gz"))
6515 (sha256
6516 (base32
6517 "1z516s4pa9n94zf0l45mylssg07xr1d1m6zrz900p0iv3vfd07mv"))))
6518 (build-system haskell-build-system)
6519 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6520 ("ghc-stm-chans" ,ghc-stm-chans)
6521 ("ghc-lifted-base" ,ghc-lifted-base)
6522 ("ghc-resourcet" ,ghc-resourcet)
6523 ("ghc-conduit" ,ghc-conduit)
6524 ("ghc-conduit-extra" ,ghc-conduit-extra)
6525 ("ghc-fast-logger" ,ghc-fast-logger)
6526 ("ghc-transformers-base" ,ghc-transformers-base)
6527 ("ghc-monad-control" ,ghc-monad-control)
6528 ("ghc-monad-loops" ,ghc-monad-loops)
6529 ("ghc-blaze-builder" ,ghc-blaze-builder)
6530 ("ghc-exceptions" ,ghc-exceptions)))
6531 (home-page "https://github.com/kazu-yamamoto/logger")
6532 (synopsis "Provides a class of monads which can log messages for Haskell")
6533 (description "This Haskell package uses a monad transformer approach
6534for logging.
6535
6536This package provides Template Haskell functions for determining source
6537code locations of messages.")
6538 (license license:expat)))
6539
6540(define-public ghc-monad-loops
6541 (package
6542 (name "ghc-monad-loops")
6543 (version "0.4.3")
6544 (source
6545 (origin
6546 (method url-fetch)
6547 (uri (string-append "https://hackage.haskell.org/package/"
6548 "monad-loops-" version "/"
6549 "monad-loops-" version ".tar.gz"))
6550 (sha256
6551 (base32
6552 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6553 (build-system haskell-build-system)
6554 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6555 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6556 (home-page "https://github.com/mokus0/monad-loops")
6557 (synopsis "Monadic loops for Haskell")
6558 (description "This Haskell package provides some useful control
6559operators for looping.")
6560 (license license:public-domain)))
6561
6562(define-public ghc-monad-par
6563 (package
6564 (name "ghc-monad-par")
6565 (version "0.3.4.8")
6566 (source
6567 (origin
6568 (method url-fetch)
6569 (uri (string-append "https://hackage.haskell.org/package/"
6570 "monad-par-" version "/"
6571 "monad-par-" version ".tar.gz"))
6572 (sha256
6573 (base32
6574 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6575 (build-system haskell-build-system)
6576 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6577 ("ghc-abstract-deque" ,ghc-abstract-deque)
6578 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6579 ("ghc-mwc-random" ,ghc-mwc-random)
6580 ("ghc-parallel" ,ghc-parallel)))
6581 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6582 ("ghc-hunit" ,ghc-hunit)
6583 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6584 ("ghc-test-framework-quickcheck2"
6585 ,ghc-test-framework-quickcheck2)
6586 ("ghc-test-framework" ,ghc-test-framework)
6587 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6588 (home-page "https://github.com/simonmar/monad-par")
6589 (synopsis "Haskell library for parallel programming based on a monad")
6590 (description "The @code{Par} monad offers an API for parallel
6591programming. The library works for parallelising both pure and @code{IO}
6592computations, although only the pure version is deterministic. The default
6593implementation provides a work-stealing scheduler and supports forking tasks
6594that are much lighter weight than IO-threads.")
6595 (license license:bsd-3)))
6596
6597(define-public ghc-monad-par-extras
6598 (package
6599 (name "ghc-monad-par-extras")
6600 (version "0.3.3")
6601 (source
6602 (origin
6603 (method url-fetch)
6604 (uri (string-append "https://hackage.haskell.org/package/"
6605 "monad-par-extras-" version "/"
6606 "monad-par-extras-" version ".tar.gz"))
6607 (sha256
6608 (base32
6609 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6610 (build-system haskell-build-system)
6611 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6612 ("ghc-cereal" ,ghc-cereal)
6613 ("ghc-random" ,ghc-random)))
6614 (home-page "https://github.com/simonmar/monad-par")
6615 (synopsis "Combinators and extra features for Par monads for Haskell")
6616 (description "This Haskell package provides additional data structures,
6617and other added capabilities layered on top of the @code{Par} monad.")
6618 (license license:bsd-3)))
6619
6620(define-public ghc-monadplus
6621 (package
6622 (name "ghc-monadplus")
6623 (version "1.4.2")
6624 (source
6625 (origin
6626 (method url-fetch)
6627 (uri (string-append "https://hackage.haskell.org/package/monadplus"
6628 "/monadplus-" version ".tar.gz"))
6629 (sha256
6630 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
6631 (build-system haskell-build-system)
6632 (home-page "https://hackage.haskell.org/package/monadplus")
6633 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
6634 (description
6635 "This package generalizes many common stream operations such as
6636@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
6637arbitrary @code{MonadPlus} instances.")
6638 (license license:bsd-3)))
6639
6640(define-public ghc-monadrandom
6641 (package
6642 (name "ghc-monadrandom")
6643 (version "0.5.1.1")
6644 (source
6645 (origin
6646 (method url-fetch)
6647 (uri (string-append "https://hackage.haskell.org/package/"
6648 "MonadRandom-" version "/"
6649 "MonadRandom-" version ".tar.gz"))
6650 (sha256
6651 (base32
6652 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
6653 (build-system haskell-build-system)
6654 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6655 ("ghc-primitive" ,ghc-primitive)
6656 ("ghc-fail" ,ghc-fail)
6657 ("ghc-random" ,ghc-random)))
6658 (home-page "https://github.com/byorgey/MonadRandom")
6659 (synopsis "Random-number generation monad for Haskell")
6660 (description "This Haskell package provides support for computations
6661which consume random values.")
6662 (license license:bsd-3)))
6663
6664(define-public ghc-monads-tf
6665 (package
6666 (name "ghc-monads-tf")
6667 (version "0.1.0.3")
6668 (source
6669 (origin
6670 (method url-fetch)
6671 (uri (string-append
6672 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
6673 version ".tar.gz"))
6674 (sha256
6675 (base32
6676 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
6677 (build-system haskell-build-system)
6678 (home-page "https://hackage.haskell.org/package/monads-tf")
6679 (synopsis "Monad classes, using type families")
6680 (description
6681 "Monad classes using type families, with instances for various monad transformers,
6682inspired by the paper 'Functional Programming with Overloading and Higher-Order
6683Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
6684the @code{mtl-tf} package.")
6685 (license license:bsd-3)))
6686
6687(define-public ghc-mono-traversable
6688 (package
6689 (name "ghc-mono-traversable")
6690 (version "1.0.9.0")
6691 (source
6692 (origin
6693 (method url-fetch)
6694 (uri (string-append "https://hackage.haskell.org/package/"
6695 "mono-traversable-" version "/"
6696 "mono-traversable-" version ".tar.gz"))
6697 (sha256
6698 (base32
6699 "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
6700 (build-system haskell-build-system)
6701 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
6702 ("ghc-hashable" ,ghc-hashable)
6703 ("ghc-vector" ,ghc-vector)
6704 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
6705 ("ghc-split" ,ghc-split)))
6706 (native-inputs `(("ghc-hspec" ,ghc-hspec)
6707 ("ghc-hunit" ,ghc-hunit)
6708 ("ghc-quickcheck" ,ghc-quickcheck)
6709 ("ghc-semigroups" ,ghc-semigroups)
6710 ("ghc-foldl" ,ghc-foldl)))
6711 (home-page "https://github.com/snoyberg/mono-traversable")
6712 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
6713containers")
6714 (description "This Haskell package provides Monomorphic variants of the
6715Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
6716basic typeclasses, you understand mono-traversable. In addition to what
6717you are used to, it adds on an IsSequence typeclass and has code for marking
6718data structures as non-empty.")
6719 (license license:expat)))
6720
6721(define-public ghc-murmur-hash
6722 (package
6723 (name "ghc-murmur-hash")
6724 (version "0.1.0.9")
6725 (source
6726 (origin
6727 (method url-fetch)
6728 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
6729 "/murmur-hash-" version ".tar.gz"))
6730 (sha256
6731 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
6732 (build-system haskell-build-system)
6733 (home-page "https://github.com/nominolo/murmur-hash")
6734 (synopsis "MurmurHash2 implementation for Haskell")
6735 (description
6736 "This package provides an implementation of MurmurHash2, a good, fast,
6737general-purpose, non-cryptographic hashing function. See
6738@url{https://sites.google.com/site/murmurhash/} for details. This
6739implementation is pure Haskell, so it might be a bit slower than a C FFI
6740binding.")
6741 (license license:bsd-3)))
6742
6743(define-public ghc-mwc-random
6744 (package
6745 (name "ghc-mwc-random")
33268e2c 6746 (version "0.14.0.0")
dddbc90c
RV
6747 (source
6748 (origin
6749 (method url-fetch)
6750 (uri (string-append "https://hackage.haskell.org/package/"
6751 "mwc-random-" version "/"
6752 "mwc-random-" version ".tar.gz"))
6753 (sha256
6754 (base32
33268e2c 6755 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
6756 (build-system haskell-build-system)
6757 (inputs
6758 `(("ghc-primitive" ,ghc-primitive)
6759 ("ghc-vector" ,ghc-vector)
6760 ("ghc-math-functions" ,ghc-math-functions)))
6761 (arguments
6762 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
6763 (native-inputs
6764 `(("ghc-hunit" ,ghc-hunit)
6765 ("ghc-quickcheck" ,ghc-quickcheck)
6766 ("ghc-test-framework" ,ghc-test-framework)
6767 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6768 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6769 (home-page "https://github.com/bos/mwc-random")
6770 (synopsis "Random number generation library for Haskell")
6771 (description "This Haskell package contains code for generating
6772high quality random numbers that follow either a uniform or normal
6773distribution. The generated numbers are suitable for use in
6774statistical applications.
6775
6776The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
6777multiply-with-carry generator, which has a period of 2^{8222} and
6778fares well in tests of randomness. It is also extremely fast,
6779between 2 and 3 times faster than the Mersenne Twister.")
6780 (license license:bsd-3)))
6781
6782(define-public ghc-nats
6783 (package
6784 (name "ghc-nats")
6785 (version "1.1.2")
6786 (source
6787 (origin
6788 (method url-fetch)
6789 (uri (string-append
6790 "https://hackage.haskell.org/package/nats/nats-"
6791 version
6792 ".tar.gz"))
6793 (sha256
6794 (base32
6795 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
6796 (build-system haskell-build-system)
6797 (arguments `(#:haddock? #f))
6798 (inputs
6799 `(("ghc-hashable" ,ghc-hashable)))
6800 (home-page "https://hackage.haskell.org/package/nats")
6801 (synopsis "Natural numbers")
6802 (description "This library provides the natural numbers for Haskell.")
6803 (license license:bsd-3)))
6804
6805(define-public ghc-nats-bootstrap
6806 (package
6807 (inherit ghc-nats)
6808 (name "ghc-nats-bootstrap")
6809 (inputs
6810 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
6811 (properties '((hidden? #t)))))
6812
52915062
EF
6813(define-public ghc-ncurses
6814 (package
6815 (name "ghc-ncurses")
6816 (version "0.2.16")
6817 (source
6818 (origin
6819 (method url-fetch)
6820 (uri (string-append
6821 "https://hackage.haskell.org/package/ncurses/ncurses-"
6822 version ".tar.gz"))
6823 (sha256
6824 (base32
6825 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
6826 (build-system haskell-build-system)
6827 (arguments
6828 '(#:phases
6829 (modify-phases %standard-phases
6830 (add-before 'build 'fix-includes
6831 (lambda _
6832 (substitute* '("cbits/hsncurses-shim.h"
6833 "lib/UI/NCurses.chs"
6834 "lib/UI/NCurses/Enums.chs"
6835 "lib/UI/NCurses/Panel.chs")
6836 (("<ncursesw/") "<"))
6837 #t)))
6838 #:cabal-revision
6839 ("1"
6840 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
6841 (inputs `(("ncurses" ,ncurses)))
6842 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
6843 (home-page "https://john-millikin.com/software/haskell-ncurses/")
6844 (synopsis "Modernised bindings to GNU ncurses")
6845 (description "GNU ncurses is a library for creating command-line application
6846with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
6847ncurses.")
6848 (license license:gpl3)))
6849
dddbc90c
RV
6850(define-public ghc-network
6851 (package
6852 (name "ghc-network")
d4473202 6853 (version "2.8.0.1")
dddbc90c
RV
6854 (outputs '("out" "doc"))
6855 (source
6856 (origin
6857 (method url-fetch)
6858 (uri (string-append
6859 "https://hackage.haskell.org/package/network/network-"
6860 version
6861 ".tar.gz"))
6862 (sha256
6863 (base32
d4473202 6864 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
6865 (build-system haskell-build-system)
6866 ;; The regression tests depend on an unpublished module.
6867 (arguments `(#:tests? #f))
6868 (native-inputs
6869 `(("ghc-hunit" ,ghc-hunit)
6870 ("ghc-doctest" ,ghc-doctest)
6871 ("ghc-test-framework" ,ghc-test-framework)
6872 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6873 (home-page "https://github.com/haskell/network")
6874 (synopsis "Low-level networking interface")
6875 (description
6876 "This package provides a low-level networking interface.")
6877 (license license:bsd-3)))
4780db2c 6878
dddbc90c
RV
6879(define-public ghc-network-info
6880 (package
6881 (name "ghc-network-info")
6882 (version "0.2.0.10")
6883 (source
6884 (origin
6885 (method url-fetch)
6886 (uri (string-append "https://hackage.haskell.org/package/"
6887 "network-info-" version "/"
6888 "network-info-" version ".tar.gz"))
6889 (sha256
6890 (base32
6891 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
6892 (build-system haskell-build-system)
6893 (home-page "https://github.com/jystic/network-info")
6894 (synopsis "Access the local computer's basic network configuration")
6895 (description "This Haskell library provides simple read-only access to the
6896local computer's networking configuration. It is currently capable of
6897getting a list of all the network interfaces and their respective
6898IPv4, IPv6 and MAC addresses.")
6899 (license license:bsd-3)))
6900
6901(define-public ghc-network-uri
6902 (package
6903 (name "ghc-network-uri")
6904 (version "2.6.1.0")
6905 (outputs '("out" "doc"))
6906 (source
6907 (origin
6908 (method url-fetch)
6909 (uri (string-append
6910 "https://hackage.haskell.org/package/network-uri/network-uri-"
6911 version
6912 ".tar.gz"))
6913 (sha256
6914 (base32
6915 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
6916 (build-system haskell-build-system)
6917 (arguments
6918 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
6919 (inputs
6920 `(("ghc-network" ,ghc-network)))
6921 (native-inputs
6922 `(("ghc-hunit" ,ghc-hunit)))
6923 (home-page
6924 "https://github.com/haskell/network-uri")
6925 (synopsis "Library for URI manipulation")
6926 (description "This package provides an URI manipulation interface. In
6927@code{network-2.6} the @code{Network.URI} module was split off from the
6928@code{network} package into this package.")
6929 (license license:bsd-3)))
6930
6931(define-public ghc-newtype-generics
6932 (package
6933 (name "ghc-newtype-generics")
c07e16dd 6934 (version "0.5.4")
dddbc90c
RV
6935 (source
6936 (origin
6937 (method url-fetch)
6938 (uri (string-append "https://hackage.haskell.org/package/"
6939 "newtype-generics/newtype-generics-"
6940 version ".tar.gz"))
6941 (sha256
6942 (base32
c07e16dd 6943 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
6944 (build-system haskell-build-system)
6945 (native-inputs
6946 `(("ghc-hspec" ,ghc-hspec)
6947 ("hspec-discover" ,hspec-discover)))
6948 (home-page "http://github.com/sjakobi/newtype-generics")
6949 (synopsis "Typeclass and set of functions for working with newtypes")
6950 (description "The @code{Newtype} typeclass represents the packing and
6951unpacking of a newtype, and allows you to operate under that newtype with
6952functions such as @code{ala}. Generics support was added in version 0.4,
6953making this package a full replacement for the original newtype package,
6954and an alternative to newtype-th.")
6955 (license license:bsd-3)))
6956
6b652f5a
JS
6957(define-public ghc-non-negative
6958 (package
6959 (name "ghc-non-negative")
6960 (version "0.1.2")
6961 (source
6962 (origin
6963 (method url-fetch)
6964 (uri
6965 (string-append
6966 "https://hackage.haskell.org/package/non-negative/non-negative-"
6967 version ".tar.gz"))
6968 (sha256
6969 (base32
6970 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
6971 (build-system haskell-build-system)
6972 (inputs
6973 `(("ghc-semigroups" ,ghc-semigroups)
6974 ("ghc-utility-ht" ,ghc-utility-ht)
6975 ("ghc-quickcheck" ,ghc-quickcheck)))
6976 (home-page "https://hackage.haskell.org/package/non-negative")
6977 (synopsis "Non-negative numbers class")
6978 (description "This library provides a class for non-negative numbers,
6979a wrapper which can turn any ordered numeric type into a member of that
6980class, and a lazy number type for non-negative numbers (a generalization
6981of Peano numbers).")
6982 (license license:gpl3+)))
6983
dddbc90c
RV
6984(define-public ghc-objectname
6985 (package
6986 (name "ghc-objectname")
6987 (version "1.1.0.1")
6988 (source
6989 (origin
6990 (method url-fetch)
6991 (uri (string-append
6992 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
6993 version
6994 ".tar.gz"))
6995 (sha256
6996 (base32
6997 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
6998 (build-system haskell-build-system)
6999 (home-page "https://hackage.haskell.org/package/ObjectName")
7000 (synopsis "Helper library for Haskell OpenGL")
7001 (description "This tiny package contains the class ObjectName, which
7002corresponds to the general notion of explicitly handled identifiers for API
7003objects, e.g. a texture object name in OpenGL or a buffer object name in
7004OpenAL.")
7005 (license license:bsd-3)))
7006
7007(define-public ghc-old-locale
7008 (package
7009 (name "ghc-old-locale")
7010 (version "1.0.0.7")
7011 (source
7012 (origin
7013 (method url-fetch)
7014 (uri (string-append
7015 "https://hackage.haskell.org/package/old-locale/old-locale-"
7016 version
7017 ".tar.gz"))
7018 (sha256
7019 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7020 (build-system haskell-build-system)
7021 (arguments
7022 `(#:cabal-revision
7023 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7024 (home-page "https://hackage.haskell.org/package/old-locale")
7025 (synopsis "Adapt to locale conventions")
7026 (description
7027 "This package provides the ability to adapt to locale conventions such as
7028date and time formats.")
7029 (license license:bsd-3)))
7030
7031(define-public ghc-old-time
7032 (package
7033 (name "ghc-old-time")
7034 (version "1.1.0.3")
7035 (source
7036 (origin
7037 (method url-fetch)
7038 (uri (string-append
7039 "https://hackage.haskell.org/package/old-time/old-time-"
7040 version
7041 ".tar.gz"))
7042 (sha256
7043 (base32
7044 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7045 (build-system haskell-build-system)
7046 (arguments
7047 `(#:cabal-revision
7048 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7049 (inputs
7050 `(("ghc-old-locale" ,ghc-old-locale)))
7051 (home-page "https://hackage.haskell.org/package/old-time")
7052 (synopsis "Time compatibility library for Haskell")
7053 (description "Old-time is a package for backwards compatibility with the
7054old @code{time} library. For new projects, the newer
7055@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7056 (license license:bsd-3)))
7057
7058(define-public ghc-opengl
7059 (package
7060 (name "ghc-opengl")
7061 (version "3.0.2.2")
7062 (source
7063 (origin
7064 (method url-fetch)
7065 (uri (string-append
7066 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7067 version
7068 ".tar.gz"))
7069 (sha256
7070 (base32
7071 "19vxwvx2n8zq2klj176l25n2b64ybp0b8mhm4p46gvpcivz41fjc"))))
7072 (build-system haskell-build-system)
7073 (inputs
7074 `(("ghc-objectname" ,ghc-objectname)
7075 ("ghc-gluraw" ,ghc-gluraw)
7076 ("ghc-statevar" ,ghc-statevar)
7077 ("ghc-openglraw" ,ghc-openglraw)))
7078 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7079 (synopsis "Haskell bindings for the OpenGL graphics system")
7080 (description "This package provides Haskell bindings for the OpenGL
7081graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7082version 1.3).")
7083 (license license:bsd-3)))
7084
7085(define-public ghc-openglraw
7086 (package
7087 (name "ghc-openglraw")
15ebc815 7088 (version "3.3.3.0")
dddbc90c
RV
7089 (source
7090 (origin
7091 (method url-fetch)
7092 (uri (string-append
7093 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7094 version
7095 ".tar.gz"))
7096 (sha256
7097 (base32
15ebc815 7098 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
7099 (build-system haskell-build-system)
7100 (inputs
7101 `(("ghc-half" ,ghc-half)
7102 ("ghc-fixed" ,ghc-fixed)
7103 ("glu" ,glu)))
7104 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7105 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7106 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7107graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7108of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7109offers access to all necessary functions, tokens and types plus a general
7110facility for loading extension entries. The module hierarchy closely mirrors
7111the naming structure of the OpenGL extensions, making it easy to find the
7112right module to import. All API entries are loaded dynamically, so no special
7113C header files are needed for building this package. If an API entry is not
7114found at runtime, a userError is thrown.")
7115 (license license:bsd-3)))
7116
7117(define-public ghc-operational
7118 (package
7119 (name "ghc-operational")
7120 (version "0.2.3.5")
7121 (source
7122 (origin
7123 (method url-fetch)
7124 (uri (string-append "https://hackage.haskell.org/package/operational/"
7125 "operational-" version ".tar.gz"))
7126 (sha256
7127 (base32
7128 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7129 (build-system haskell-build-system)
7130 (inputs
7131 `(("ghc-random" ,ghc-random)))
7132 (home-page "http://wiki.haskell.org/Operational")
7133 (synopsis "Implementation of difficult monads made easy with operational semantics")
7134 (description
7135 "This library makes it easy to implement monads with tricky control
7136flow. This is useful for: writing web applications in a sequential style,
7137programming games with a uniform interface for human and AI players and easy
7138replay capababilities, implementing fast parser monads, designing monadic
7139DSLs, etc.")
7140 (license license:bsd-3)))
7141
7142(define-public ghc-options
7143 (package
7144 (name "ghc-options")
7145 (version "1.2.1.1")
7146 (source
7147 (origin
7148 (method url-fetch)
7149 (uri (string-append
7150 "https://hackage.haskell.org/package/options/options-"
7151 version ".tar.gz"))
7152 (sha256
7153 (base32
7154 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7155 (build-system haskell-build-system)
7156 (inputs
7157 `(("ghc-monads-tf" ,ghc-monads-tf)
7158 ("ghc-chell" ,ghc-chell)
7159 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7160 (home-page "https://john-millikin.com/software/haskell-options/")
7161 (synopsis "Powerful and easy-to-use command-line option parser")
7162 (description
7163 "The @code{options} package lets library and application developers
7164easily work with command-line options.")
7165 (license license:expat)))
7166
7167;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7168(define ghc-options-bootstrap
7169 (package
7170 (name "ghc-options-bootstrap")
7171 (version "1.2.1.1")
7172 (source
7173 (origin
7174 (method url-fetch)
7175 (uri (string-append
7176 "https://hackage.haskell.org/package/options/options-"
7177 version ".tar.gz"))
7178 (sha256
7179 (base32
7180 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7181 (build-system haskell-build-system)
7182 (arguments
7183 `(#:tests? #f))
7184 (inputs
7185 `(("ghc-monads-tf" ,ghc-monads-tf)))
7186 (home-page "https://john-millikin.com/software/haskell-options/")
7187 (synopsis "Powerful and easy-to-use command-line option parser")
7188 (description
7189 "The @code{options} package lets library and application developers
7190easily work with command-line options.")
7191 (license license:expat)))
7192
7193
7194(define-public ghc-optparse-applicative
7195 (package
7196 (name "ghc-optparse-applicative")
74bf6965 7197 (version "0.14.3.0")
dddbc90c
RV
7198 (source
7199 (origin
7200 (method url-fetch)
7201 (uri (string-append
7202 "https://hackage.haskell.org/package/optparse-applicative"
7203 "/optparse-applicative-" version ".tar.gz"))
7204 (sha256
7205 (base32
74bf6965 7206 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 7207 (build-system haskell-build-system)
74bf6965
TS
7208 (arguments
7209 `(#:cabal-revision
7210 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
7211 (inputs
7212 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7213 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7214 (native-inputs
7215 `(("ghc-quickcheck" ,ghc-quickcheck)))
7216 (home-page "https://github.com/pcapriotti/optparse-applicative")
7217 (synopsis "Utilities and combinators for parsing command line options")
7218 (description "This package provides utilities and combinators for parsing
7219command line options in Haskell.")
7220 (license license:bsd-3)))
7221
7222(define-public ghc-pandoc
7223 (package
7224 (name "ghc-pandoc")
7225 (version "2.2.1")
7226 (source
7227 (origin
7228 (method url-fetch)
7229 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7230 version ".tar.gz"))
7231 (sha256
7232 (base32
7233 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
7234 (build-system haskell-build-system)
7235 (arguments
7236 `(#:phases
7237 (modify-phases %standard-phases
7238 (add-before 'configure 'update-constraints
7239 (lambda _
7240 (substitute* "pandoc.cabal"
7241 (("tasty >= 0\\.11 && < 1\\.1")
7242 "tasty >= 0.11 && < 1.1.1"))))
7243 (add-before 'configure 'patch-tests
7244 (lambda _
7245 ;; These tests fail benignly and have been adjusted upstream:
7246 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
7247 (substitute* "test/Tests/Old.hs"
7248 (("lhsWriterTests \"html\"") "[]")))))))
7249 (inputs
7250 `(("ghc-aeson" ,ghc-aeson)
7251 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7252 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7253 ("ghc-blaze-html" ,ghc-blaze-html)
7254 ("ghc-blaze-markup" ,ghc-blaze-markup)
7255 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7256 ("ghc-data-default" ,ghc-data-default)
7257 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7258 ("ghc-diff" ,ghc-diff)
7259 ("ghc-doctemplates" ,ghc-doctemplates)
7260 ("ghc-executable-path" ,ghc-executable-path)
7261 ("ghc-glob" ,ghc-glob)
7262 ("ghc-haddock-library" ,ghc-haddock-library)
7263 ("ghc-hslua" ,ghc-hslua)
7264 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7265 ("ghc-http" ,ghc-http)
7266 ("ghc-http-client" ,ghc-http-client)
7267 ("ghc-http-client-tls" ,ghc-http-client-tls)
7268 ("ghc-http-types" ,ghc-http-types)
7269 ("ghc-juicypixels" ,ghc-juicypixels)
7270 ("ghc-network" ,ghc-network)
7271 ("ghc-network-uri" ,ghc-network-uri)
7272 ("ghc-old-locale" ,ghc-old-locale)
7273 ("ghc-pandoc-types" ,ghc-pandoc-types)
7274 ("ghc-random" ,ghc-random)
7275 ("ghc-scientific" ,ghc-scientific)
7276 ("ghc-sha" ,ghc-sha)
7277 ("ghc-skylighting" ,ghc-skylighting)
7278 ("ghc-split" ,ghc-split)
7279 ("ghc-syb" ,ghc-syb)
7280 ("ghc-tagsoup" ,ghc-tagsoup)
7281 ("ghc-temporary" ,ghc-temporary)
7282 ("ghc-texmath" ,ghc-texmath)
7283 ("ghc-unordered-containers" ,ghc-unordered-containers)
7284 ("ghc-vector" ,ghc-vector)
7285 ("ghc-xml" ,ghc-xml)
7286 ("ghc-yaml" ,ghc-yaml)
7287 ("ghc-zip-archive" ,ghc-zip-archive)
7288 ("ghc-zlib" ,ghc-zlib)))
7289 (native-inputs
7290 `(("ghc-tasty" ,ghc-tasty)
7291 ("ghc-tasty-golden" ,ghc-tasty-golden)
7292 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7293 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7294 ("ghc-quickcheck" ,ghc-quickcheck)
7295 ("ghc-hunit" ,ghc-hunit)))
7296 (home-page "https://pandoc.org")
7297 (synopsis "Conversion between markup formats")
7298 (description
7299 "Pandoc is a Haskell library for converting from one markup format to
7300another, and a command-line tool that uses this library. It can read and
7301write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7302LaTeX, DocBook, and many more.
7303
7304Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7305definition lists, tables, and other features. A compatibility mode is
7306provided for those who need a drop-in replacement for Markdown.pl.")
7307 (license license:gpl2+)))
7308
7309(define-public ghc-pandoc-citeproc
7310 (package
7311 (name "ghc-pandoc-citeproc")
7312 (version "0.14.3.1")
7313 (source
7314 (origin
7315 (method url-fetch)
7316 (uri (string-append "https://hackage.haskell.org/package/"
7317 "pandoc-citeproc/pandoc-citeproc-"
7318 version ".tar.gz"))
7319 (sha256
7320 (base32
7321 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7322 (build-system haskell-build-system)
7323 (arguments
7324 `(#:phases
7325 (modify-phases %standard-phases
7326 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7327 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7328 (add-before 'configure 'patch-tests
7329 (lambda _
7330 (substitute* "tests/test-pandoc-citeproc.hs"
7331 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7332 "let allTests = citeprocTests"))))
7333 ;; Tests need to be run after installation.
7334 (delete 'check)
7335 (add-after 'install 'post-install-check
7336 (assoc-ref %standard-phases 'check)))))
7337 (inputs
7338 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7339 ("ghc-pandoc" ,ghc-pandoc)
7340 ("ghc-tagsoup" ,ghc-tagsoup)
7341 ("ghc-aeson" ,ghc-aeson)
7342 ("ghc-vector" ,ghc-vector)
7343 ("ghc-xml-conduit" ,ghc-xml-conduit)
7344 ("ghc-unordered-containers" ,ghc-unordered-containers)
7345 ("ghc-data-default" ,ghc-data-default)
7346 ("ghc-setenv" ,ghc-setenv)
7347 ("ghc-split" ,ghc-split)
7348 ("ghc-yaml" ,ghc-yaml)
7349 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7350 ("ghc-rfc5051" ,ghc-rfc5051)
7351 ("ghc-syb" ,ghc-syb)
7352 ("ghc-old-locale" ,ghc-old-locale)
7353 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7354 ("ghc-attoparsec" ,ghc-attoparsec)
7355 ("ghc-temporary" ,ghc-temporary)))
7356 (home-page "https://github.com/jgm/pandoc-citeproc")
7357 (synopsis "Library for using pandoc with citeproc")
7358 (description
7359 "The @code{pandoc-citeproc} library exports functions for using the
7360citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7361rendering bibliographic reference citations into a variety of styles using a
7362macro language called @dfn{Citation Style Language} (CSL). This package also
7363contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7364and also has a mode for converting bibliographic databases a YAML format
7365suitable for inclusion in pandoc YAML metadata.")
7366 (license license:bsd-3)))
7367
7368(define-public ghc-pandoc-types
7369 (package
7370 (name "ghc-pandoc-types")
7371 (version "1.17.5.1")
7372 (source (origin
7373 (method url-fetch)
7374 (uri (string-append "https://hackage.haskell.org/package/"
7375 "pandoc-types/pandoc-types-"
7376 version ".tar.gz"))
7377 (sha256
7378 (base32
7379 "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
7380 (build-system haskell-build-system)
7381 (inputs
7382 `(("ghc-syb" ,ghc-syb)
7383 ("ghc-aeson" ,ghc-aeson)
7384 ("ghc-string-qq" ,ghc-string-qq)))
7385 (native-inputs
7386 `(("ghc-quickcheck" ,ghc-quickcheck)
7387 ("ghc-test-framework" ,ghc-test-framework)
7388 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7389 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7390 ("ghc-hunit" ,ghc-hunit)))
7391 (home-page "http://johnmacfarlane.net/pandoc")
7392 (synopsis "Types for representing a structured document")
7393 (description
7394 "This module defines the @code{Pandoc} data structure, which is used by
7395pandoc to represent structured documents. It also provides functions for
7396building up, manipulating and serialising @code{Pandoc} structures.")
7397 (license license:bsd-3)))
7398
7399(define-public ghc-parallel
7400 (package
7401 (name "ghc-parallel")
7402 (version "3.2.2.0")
7403 (outputs '("out" "doc"))
7404 (source
7405 (origin
7406 (method url-fetch)
7407 (uri (string-append
7408 "https://hackage.haskell.org/package/parallel/parallel-"
7409 version
7410 ".tar.gz"))
7411 (sha256
7412 (base32
7413 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7414 (build-system haskell-build-system)
7415 (home-page "https://hackage.haskell.org/package/parallel")
7416 (synopsis "Parallel programming library")
7417 (description
7418 "This package provides a library for parallel programming.")
7419 (license license:bsd-3)))
7420
7421(define-public ghc-parsec-numbers
7422 (package
7423 (name "ghc-parsec-numbers")
7424 (version "0.1.0")
7425 (source
7426 (origin
7427 (method url-fetch)
7428 (uri (string-append "https://hackage.haskell.org/package/"
7429 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7430 (sha256
7431 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7432 (build-system haskell-build-system)
7433 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7434 (synopsis "Utilities for parsing numbers from strings")
7435 (description
7436 "This package provides the number parsers without the need to use a large
7437(and unportable) token parser.")
7438 (license license:bsd-3)))
7439
7440(define-public ghc-parser-combinators
7441 (package
7442 (name "ghc-parser-combinators")
2f173160 7443 (version "1.1.0")
dddbc90c
RV
7444 (source
7445 (origin
7446 (method url-fetch)
7447 (uri (string-append "https://hackage.haskell.org/package/"
7448 "parser-combinators/parser-combinators-"
7449 version ".tar.gz"))
7450 (sha256
7451 (base32
2f173160 7452 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
7453 (build-system haskell-build-system)
7454 (home-page "https://github.com/mrkkrp/parser-combinators")
7455 (synopsis "Commonly useful parser combinators")
7456 (description
7457 "This is a lightweight package providing commonly useful parser
7458combinators.")
7459 (license license:bsd-3)))
7460
7461(define-public ghc-parsers
7462 (package
7463 (name "ghc-parsers")
7464 (version "0.12.9")
7465 (source
7466 (origin
7467 (method url-fetch)
7468 (uri (string-append
7469 "https://hackage.haskell.org/package/parsers/parsers-"
7470 version
7471 ".tar.gz"))
7472 (sha256
7473 (base32
7474 "1r05sc1mcglk8w596kq9a1brfn9c2vll8lq16j07ln0vsz4jzrc1"))))
7475 (build-system haskell-build-system)
7476 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7477 ; -package attoparsec-0.13.0.1"
7478 (inputs
7479 `(("ghc-base-orphans" ,ghc-base-orphans)
7480 ("ghc-attoparsec" ,ghc-attoparsec)
7481 ("ghc-scientific" ,ghc-scientific)
7482 ("ghc-charset" ,ghc-charset)
7483 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7484 (home-page "https://github.com/ekmett/parsers/")
7485 (synopsis "Parsing combinators")
7486 (description "This library provides convenient combinators for working
7487with and building parsing combinator libraries. Given a few simple instances,
7488you get access to a large number of canned definitions. Instances exist for
7489the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7490@code{Text.Read}.")
7491 (license license:bsd-3)))
7492
7493(define-public ghc-path
7494 (package
7495 (name "ghc-path")
7496 (version "0.6.1")
7497 (source
7498 (origin
7499 (method url-fetch)
7500 (uri (string-append
7501 "https://hackage.haskell.org/package/path/path-"
7502 version
7503 ".tar.gz"))
7504 (sha256
7505 (base32
7506 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7507 (build-system haskell-build-system)
7508 (arguments
7509 ;; TODO: There are some Windows-related tests and modules that need to be
7510 ;; danced around.
7511 `(#:tests? #f
7512 #:cabal-revision
7513 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7514 (inputs
7515 `(("ghc-aeson" ,ghc-aeson)
7516 ("ghc-exceptions" ,ghc-exceptions)
7517 ("ghc-hashable" ,ghc-hashable)))
7518 (native-inputs
7519 `(("ghc-hspec" ,ghc-hspec)
7520 ("ghc-quickcheck" ,ghc-quickcheck)
7521 ("ghc-genvalidity" ,ghc-genvalidity)
7522 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7523 ("ghc-hspec" ,ghc-hspec)
7524 ("ghc-validity" ,ghc-validity)))
7525 (home-page
7526 "http://hackage.haskell.org/package/path")
7527 (synopsis "Support for well-typed paths")
7528 (description "This package introduces a type for paths upholding useful
7529invariants.")
7530 (license license:bsd-3)))
7531
7532(define-public ghc-path-io
7533 (package
7534 (name "ghc-path-io")
7535 (version "1.3.3")
7536 (source
7537 (origin
7538 (method url-fetch)
7539 (uri (string-append
7540 "https://hackage.haskell.org/package/path-io/path-io-"
7541 version
7542 ".tar.gz"))
7543 (sha256
7544 (base32
7545 "1g9m3qliqjk1img894wsb89diym5zrq51qkkrwhz4sbm9a8hbv1a"))))
7546 (build-system haskell-build-system)
7547 (inputs
7548 `(("ghc-dlist" ,ghc-dlist)
7549 ("ghc-exceptions" ,ghc-exceptions)
7550 ("ghc-path" ,ghc-path)
7551 ("ghc-transformers-base" ,ghc-transformers-base)
7552 ("ghc-unix-compat" ,ghc-unix-compat)
7553 ("ghc-temporary" ,ghc-temporary)))
7554 (native-inputs
7555 `(("ghc-hspec" ,ghc-hspec)))
7556 (arguments
7557 `(#:cabal-revision
7558 ("3" "1h9hsibbflkxpjl2fqamqiv3x3gasf51apnmklrs9l9x8r32hzcc")))
7559 (home-page
7560 "https://github.com/mrkkrp/path-io")
7561 (synopsis "Functions for manipulating well-typed paths")
7562 (description "This package provides an interface to the @code{directory}
7563package for users of @code{path}. It also implements some missing stuff like
7564recursive scanning and copying of directories, working with temporary
7565files/directories, and more.")
7566 (license license:bsd-3)))
7567
7568(define-public ghc-paths
7569 (package
7570 (name "ghc-paths")
9a8adeb1 7571 (version "0.1.0.12")
dddbc90c
RV
7572 (outputs '("out" "doc"))
7573 (source
7574 (origin
7575 (method url-fetch)
7576 (uri (string-append
7577 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7578 version
7579 ".tar.gz"))
7580 (sha256
7581 (base32
9a8adeb1 7582 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
7583 (build-system haskell-build-system)
7584 (home-page "https://github.com/simonmar/ghc-paths")
7585 (synopsis
7586 "Knowledge of GHC's installation directories")
7587 (description
7588 "Knowledge of GHC's installation directories.")
7589 (license license:bsd-3)))
7590
7591(define-public ghc-patience
7592 (package
7593 (name "ghc-patience")
7594 (version "0.1.1")
7595 (source
7596 (origin
7597 (method url-fetch)
7598 (uri (string-append
7599 "https://hackage.haskell.org/package/patience/patience-"
7600 version ".tar.gz"))
7601 (sha256
7602 (base32
7603 "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"))))
7604 (build-system haskell-build-system)
7605 (home-page "https://hackage.haskell.org/package/patience")
7606 (synopsis "Patience diff and longest increasing subsequence")
7607 (description
7608 "This library implements the 'patience diff' algorithm, as well as the
7609patience algorithm for the longest increasing subsequence problem.
7610Patience diff computes the difference between two lists, for example the lines
7611of two versions of a source file. It provides a good balance between
7612performance, nice output for humans, and simplicity of implementation.")
7613 (license license:bsd-3)))
7614
7615(define-public ghc-pcre-light
7616 (package
7617 (name "ghc-pcre-light")
7618 (version "0.4.0.4")
7619 (source
7620 (origin
7621 (method url-fetch)
7622 (uri (string-append
7623 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7624 version
7625 ".tar.gz"))
7626 (sha256
7627 (base32
7628 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7629 (build-system haskell-build-system)
7630 (inputs
7631 `(("pcre" ,pcre)))
7632 (native-inputs
7633 `(("pkg-config" ,pkg-config)))
7634 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7635 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7636 (description "This package provides a small, efficient, and portable regex
7637library for Perl 5 compatible regular expressions. The PCRE library is a set
7638of functions that implement regular expression pattern matching using the same
7639syntax and semantics as Perl 5.")
7640 (license license:bsd-3)))
7641
7642(define-public ghc-persistent
7643 (package
7644 (name "ghc-persistent")
7645 (version "2.8.2")
7646 (source
7647 (origin
7648 (method url-fetch)
7649 (uri (string-append "https://hackage.haskell.org/package/"
7650 "persistent-" version "/"
7651 "persistent-" version ".tar.gz"))
7652 (sha256
7653 (base32
7654 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
7655 (build-system haskell-build-system)
7656 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7657 ("ghc-conduit" ,ghc-conduit)
7658 ("ghc-resourcet" ,ghc-resourcet)
7659 ("ghc-exceptions" ,ghc-exceptions)
7660 ("ghc-monad-control" ,ghc-monad-control)
7661 ("ghc-lifted-base" ,ghc-lifted-base)
7662 ("ghc-resource-pool" ,ghc-resource-pool)
7663 ("ghc-path-pieces" ,ghc-path-pieces)
7664 ("ghc-http-api-data" ,ghc-http-api-data)
7665 ("ghc-aeson" ,ghc-aeson)
7666 ("ghc-monad-logger" ,ghc-monad-logger)
7667 ("ghc-transformers-base" ,ghc-transformers-base)
7668 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7669 ("ghc-unordered-containers" ,ghc-unordered-containers)
7670 ("ghc-vector" ,ghc-vector)
7671 ("ghc-attoparsec" ,ghc-attoparsec)
7672 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7673 ("ghc-blaze-html" ,ghc-blaze-html)
7674 ("ghc-blaze-markup" ,ghc-blaze-markup)
7675 ("ghc-silently" ,ghc-silently)
7676 ("ghc-fast-logger" ,ghc-fast-logger)
7677 ("ghc-scientific" ,ghc-scientific)
7678 ("ghc-tagged" ,ghc-tagged)
7679 ("ghc-void" ,ghc-void)))
7680 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7681 (home-page "https://www.yesodweb.com/book/persistent")
7682 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7683 (description "This Haskell package allows Haskell programs to access data
7684storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7685way.")
7686 (license license:expat)))
7687
7688(define-public ghc-persistent-sqlite
7689 (package
7690 (name "ghc-persistent-sqlite")
7691 (version "2.8.2")
7692 (source
7693 (origin
7694 (method url-fetch)
7695 (uri (string-append "https://hackage.haskell.org/package/"
7696 "persistent-sqlite-" version "/"
7697 "persistent-sqlite-" version ".tar.gz"))
7698 (sha256
7699 (base32
7700 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7701 (build-system haskell-build-system)
7702 (inputs `(("ghc-persistent" ,ghc-persistent)
7703 ("ghc-unliftio-core" ,ghc-unliftio-core)
7704 ("ghc-aeson" ,ghc-aeson)
7705 ("ghc-conduit" ,ghc-conduit)
7706 ("ghc-monad-logger" ,ghc-monad-logger)
7707 ("ghc-microlens-th" ,ghc-microlens-th)
7708 ("ghc-resourcet" ,ghc-resourcet)
7709 ("ghc-old-locale" ,ghc-old-locale)
7710 ("ghc-resource-pool" ,ghc-resource-pool)
7711 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7712 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7713 ("ghc-persistent-template" ,ghc-persistent-template)
7714 ("ghc-temporary" ,ghc-temporary)))
7715 (home-page
7716 "https://www.yesodweb.com/book/persistent")
7717 (synopsis "Backend for the persistent library using sqlite3")
7718 (description "This Haskell package includes a thin sqlite3 wrapper based
7719on the direct-sqlite package, as well as the entire C library, so there are no
7720system dependencies.")
7721 (license license:expat)))
7722
7723(define-public ghc-persistent-template
7724 (package
7725 (name "ghc-persistent-template")
7726 (version "2.5.4")
7727 (source
7728 (origin
7729 (method url-fetch)
7730 (uri (string-append "https://hackage.haskell.org/package/"
7731 "persistent-template-" version "/"
7732 "persistent-template-" version ".tar.gz"))
7733 (sha256
7734 (base32
7735 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7736 (build-system haskell-build-system)
7737 (arguments
7738 `(#:cabal-revision
7739 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7740 (inputs `(("ghc-persistent" ,ghc-persistent)
7741 ("ghc-monad-control" ,ghc-monad-control)
7742 ("ghc-aeson" ,ghc-aeson)
7743 ("ghc-aeson-compat" ,ghc-aeson-compat)
7744 ("ghc-monad-logger" ,ghc-monad-logger)
7745 ("ghc-unordered-containers" ,ghc-unordered-containers)
7746 ("ghc-tagged" ,ghc-tagged)
7747 ("ghc-path-pieces" ,ghc-path-pieces)
7748 ("ghc-http-api-data" ,ghc-http-api-data)))
7749 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7750 ("ghc-quickcheck" ,ghc-quickcheck)))
7751 (home-page "https://www.yesodweb.com/book/persistent")
7752 (synopsis "Type-safe, non-relational, multi-backend persistence")
7753 (description "This Haskell package provides interfaces and helper
7754functions for the ghc-persistent package.")
7755 (license license:expat)))
7756
7757(define-public ghc-polyparse
7758 (package
7759 (name "ghc-polyparse")
9822b9ca 7760 (version "1.12.1")
dddbc90c
RV
7761 (source
7762 (origin
7763 (method url-fetch)
7764 (uri (string-append
7765 "https://hackage.haskell.org/package/polyparse/polyparse-"
7766 version
7767 ".tar.gz"))
7768 (sha256
7769 (base32
9822b9ca 7770 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
7771 (build-system haskell-build-system)
7772 (home-page
7773 "http://code.haskell.org/~malcolm/polyparse/")
7774 (synopsis
7775 "Alternative parser combinator libraries")
7776 (description
7777 "This package provides a variety of alternative parser combinator
7778libraries, including the original HuttonMeijer set. The Poly sets have
7779features like good error reporting, arbitrary token type, running state, lazy
7780parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7781standard Read class, for better deserialisation of Haskell values from
7782Strings.")
7783 (license license:lgpl2.1)))
7784
7785(define-public ghc-pqueue
7786 (package
7787 (name "ghc-pqueue")
142415b0 7788 (version "1.4.1.2")
dddbc90c
RV
7789 (source
7790 (origin
7791 (method url-fetch)
7792 (uri (string-append "https://hackage.haskell.org/package/"
7793 "pqueue/pqueue-" version ".tar.gz"))
7794 (sha256
7795 (base32
142415b0 7796 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
7797 (build-system haskell-build-system)
7798 (native-inputs
7799 `(("ghc-quickcheck" ,ghc-quickcheck)))
7800 (home-page "https://hackage.haskell.org/package/pqueue")
7801 (synopsis "Reliable, persistent, fast priority queues")
7802 (description
7803 "This package provides a fast, reliable priority queue implementation
7804based on a binomial heap.")
7805 (license license:bsd-3)))
7806
7807(define-public ghc-prelude-extras
7808 (package
7809 (name "ghc-prelude-extras")
7810 (version "0.4.0.3")
7811 (source
7812 (origin
7813 (method url-fetch)
7814 (uri (string-append
7815 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7816 version
7817 ".tar.gz"))
7818 (sha256
7819 (base32
7820 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7821 (build-system haskell-build-system)
7822 (home-page "https://github.com/ekmett/prelude-extras")
7823 (synopsis "Higher order versions of Prelude classes")
7824 (description "This library provides higher order versions of
7825@code{Prelude} classes to ease programming with polymorphic recursion and
7826reduce @code{UndecidableInstances}.")
7827 (license license:bsd-3)))
7828
7829(define-public ghc-prettyclass
7830 (package
7831 (name "ghc-prettyclass")
7832 (version "1.0.0.0")
7833 (source
7834 (origin
7835 (method url-fetch)
7836 (uri (string-append "https://hackage.haskell.org/package/"
7837 "prettyclass/prettyclass-" version ".tar.gz"))
7838 (sha256
7839 (base32
7840 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7841 (build-system haskell-build-system)
7842 (home-page "http://hackage.haskell.org/package/prettyclass")
7843 (synopsis "Pretty printing class similar to Show")
7844 (description "This package provides a pretty printing class similar
7845to @code{Show}, based on the HughesPJ pretty printing library. It
7846provides the pretty printing class and instances for the Prelude
7847types.")
7848 (license license:bsd-3)))
7849
7850(define-public ghc-pretty-hex
7851 (package
7852 (name "ghc-pretty-hex")
7853 (version "1.0")
7854 (source
7855 (origin
7856 (method url-fetch)
7857 (uri (string-append "https://hackage.haskell.org/package/"
7858 "pretty-hex-" version "/"
7859 "pretty-hex-" version ".tar.gz"))
7860 (sha256
7861 (base32
7862 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7863 (build-system haskell-build-system)
7864 (home-page "https://github.com/GaloisInc/hexdump")
7865 (synopsis "Haskell library for hex dumps of ByteStrings")
7866 (description "This Haskell library generates pretty hex dumps of
7867ByteStrings in the style of other common *nix hex dump tools.")
7868 (license license:bsd-3)))
7869
7870(define-public ghc-pretty-show
7871 (package
7872 (name "ghc-pretty-show")
7683a084 7873 (version "1.9.5")
dddbc90c
RV
7874 (source
7875 (origin
7876 (method url-fetch)
7877 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
7878 "pretty-show-" version ".tar.gz"))
7879 (sha256
7880 (base32
7683a084 7881 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
7882 (build-system haskell-build-system)
7883 (inputs
7884 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
7885 ("ghc-happy" ,ghc-happy)))
7886 (home-page "http://wiki.github.com/yav/pretty-show")
7887 (synopsis "Tools for working with derived `Show` instances")
7888 (description
7889 "This package provides a library and an executable for working with
7890derived @code{Show} instances. By using the library, derived @code{Show}
7891instances can be parsed into a generic data structure. The @code{ppsh} tool
7892uses the library to produce human-readable versions of @code{Show} instances,
7893which can be quite handy for debugging Haskell programs. We can also render
7894complex generic values into an interactive Html page, for easier
7895examination.")
7896 (license license:expat)))
7897
7898(define-public ghc-primitive
7899 (package
7900 (name "ghc-primitive")
7901 (version "0.6.4.0")
7902 (outputs '("out" "doc"))
7903 (source
7904 (origin
7905 (method url-fetch)
7906 (uri (string-append
7907 "https://hackage.haskell.org/package/primitive/primitive-"
7908 version
7909 ".tar.gz"))
7910 (sha256
7911 (base32
7912 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
7913 (build-system haskell-build-system)
6cf0daa4
TS
7914 (arguments
7915 `(#:cabal-revision
7916 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
7917 (home-page
7918 "https://github.com/haskell/primitive")
7919 (synopsis "Primitive memory-related operations")
7920 (description
7921 "This package provides various primitive memory-related operations.")
7922 (license license:bsd-3)))
7923
21f5b9a9
JS
7924(define-public ghc-process-extras
7925 (package
7926 (name "ghc-process-extras")
7927 (version "0.7.4")
7928 (source
7929 (origin
7930 (method url-fetch)
7931 (uri
7932 (string-append
7933 "https://hackage.haskell.org/package/process-extras/"
7934 "process-extras-" version ".tar.gz"))
7935 (sha256
7936 (base32
7937 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
7938 (build-system haskell-build-system)
7939 (inputs
7940 `(("ghc-data-default" ,ghc-data-default)
7941 ("ghc-generic-deriving" ,ghc-generic-deriving)
7942 ("ghc-hunit" ,ghc-hunit)
7943 ("ghc-listlike" ,ghc-listlike)))
7944 (home-page "https://github.com/seereason/process-extras")
7945 (synopsis "Extra tools for managing processes")
f74b6983 7946 (description "This package extends
21f5b9a9
JS
7947@url{http://hackage.haskell.org/package/process}. It allows you to read
7948process input and output as ByteStrings or Text, or write your own
7949ProcessOutput instance. It also provides lazy process input and output,
7950and a ProcessMaker class for more flexibility in the process creation
7951API.")
7952 (license license:expat)))
7953
dddbc90c
RV
7954(define-public ghc-profunctors
7955 (package
7956 (name "ghc-profunctors")
7957 (version "5.2.2")
7958 (source
7959 (origin
7960 (method url-fetch)
7961 (uri (string-append
7962 "https://hackage.haskell.org/package/profunctors/profunctors-"
7963 version
7964 ".tar.gz"))
7965 (sha256
7966 (base32
7967 "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9"))))
7968 (build-system haskell-build-system)
7969 (arguments
7970 `(#:cabal-revision
7971 ("2" "1ywlg9z8nlhd2avgb8c6gbkv8zyk7hvc25926bafyg0m0k8y1amq")))
7972 (inputs
7973 `(("ghc-base-orphans" ,ghc-base-orphans)
7974 ("ghc-bifunctors" ,ghc-bifunctors)
7975 ("ghc-comonad" ,ghc-comonad)
7976 ("ghc-contravariant" ,ghc-contravariant)
7977 ("ghc-distributive" ,ghc-distributive)
7978 ("ghc-semigroups" ,ghc-semigroups)
7979 ("ghc-tagged" ,ghc-tagged)))
7980 (home-page "https://github.com/ekmett/profunctors/")
7981 (synopsis "Profunctors for Haskell")
7982 (description "This library provides profunctors for Haskell.")
7983 (license license:bsd-3)))
7984
7985(define-public ghc-psqueues
7986 (package
7987 (name "ghc-psqueues")
5d133942 7988 (version "0.2.7.2")
dddbc90c
RV
7989 (source
7990 (origin
7991 (method url-fetch)
7992 (uri (string-append "https://hackage.haskell.org/package/"
7993 "psqueues-" version "/"
7994 "psqueues-" version ".tar.gz"))
7995 (sha256
7996 (base32
5d133942 7997 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
7998 (build-system haskell-build-system)
7999 (inputs
8000 `(("ghc-hashable" ,ghc-hashable)))
8001 (native-inputs
8002 `(("ghc-hunit" ,ghc-hunit)
8003 ("ghc-quickcheck" ,ghc-quickcheck)
8004 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
8005 ("ghc-tasty" ,ghc-tasty)
8006 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8007 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
8008 (home-page "https://github.com/jaspervdj/psqueues")
8009 (synopsis "Pure priority search queues")
8010 (description "The psqueues package provides
8011@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
8012three different flavors:
8013
8014@itemize
8015@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8016fast insertion, deletion and lookup. This implementation is based on Ralf
8017Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8018Implementation Technique for Priority Search Queues}.
8019
8020Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
8021PSQueue} library, although it is considerably faster and provides a slightly
8022different API.
8023
8024@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8025key type to @code{Int} and uses a
8026@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8027with an additional min-heap property.
8028
8029@item @code{HashPSQ k p v} is a fairly straightforward extension
8030of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8031@code{IntPSQ}. If there are any hash collisions, it uses an
8032@code{OrdPSQ} to resolve those. The performance of this implementation
8033is comparable to that of @code{IntPSQ}, but it is more widely
8034applicable since the keys are not restricted to @code{Int},
8035but rather to any @code{Hashable} datatype.
8036@end itemize
8037
8038Each of the three implementations provides the same API, so they can
8039be used interchangeably.
8040
8041Typical applications of Priority Search Queues include:
8042
8043@itemize
8044@item Caches, and more specifically LRU Caches;
8045@item Schedulers;
8046@item Pathfinding algorithms, such as Dijkstra's and A*.
8047@end itemize")
8048 (license license:bsd-3)))
8049
8050(define-public ghc-random
8051 (package
8052 (name "ghc-random")
8053 (version "1.1")
8054 (outputs '("out" "doc"))
8055 (source
8056 (origin
8057 (method url-fetch)
8058 (uri (string-append
8059 "https://hackage.haskell.org/package/random/random-"
8060 version
8061 ".tar.gz"))
8062 (sha256
8063 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8064 (build-system haskell-build-system)
8065 (home-page "https://hackage.haskell.org/package/random")
8066 (synopsis "Random number library")
8067 (description "This package provides a basic random number generation
8068library, including the ability to split random number generators.")
8069 (license license:bsd-3)))
8070
8071(define-public ghc-raw-strings-qq
8072 (package
8073 (name "ghc-raw-strings-qq")
8074 (version "1.1")
8075 (source
8076 (origin
8077 (method url-fetch)
8078 (uri (string-append "https://hackage.haskell.org/package/"
8079 "raw-strings-qq/raw-strings-qq-"
8080 version ".tar.gz"))
8081 (sha256
8082 (base32
8083 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8084 (build-system haskell-build-system)
8085 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8086 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8087 (synopsis "Raw string literals for Haskell")
8088 (description
8089 "This package provides a quasiquoter for raw string literals, i.e. string
8090literals that don't recognise the standard escape sequences. Basically, they
8091make your code more readable by freeing you from the responsibility to escape
8092backslashes. They are useful when working with regular expressions,
8093DOS/Windows paths and markup languages (such as XML).")
8094 (license license:bsd-3)))
8095
8096(define-public ghc-readable
8097 (package
8098 (name "ghc-readable")
8099 (version "0.3.1")
8100 (source
8101 (origin
8102 (method url-fetch)
8103 (uri (string-append "https://hackage.haskell.org/package/"
8104 "readable/readable-" version ".tar.gz"))
8105 (sha256
8106 (base32
8107 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8108 (build-system haskell-build-system)
8109 (home-page "https://github.com/mightybyte/readable")
8110 (synopsis "Type class for reading from Text and ByteString")
8111 (description "This package provides a @code{Readable} type class for
8112reading data types from @code{ByteString} and @code{Text}. It also
8113includes efficient implementations for common data types.")
8114 (license license:bsd-3)))
8115
8116(define-public ghc-rebase
8117 (package
8118 (name "ghc-rebase")
8119 (version "1.2.4")
8120 (source
8121 (origin
8122 (method url-fetch)
8123 (uri (string-append "https://hackage.haskell.org/package/"
8124 "rebase-" version "/"
8125 "rebase-" version ".tar.gz"))
8126 (sha256
8127 (base32
8128 "1gah2qwfpzwamnikbc5h4nv6dgvv9h16di9ka7946za3nibyasya"))))
8129 (build-system haskell-build-system)
8130 (inputs `(("ghc-hashable" ,ghc-hashable)
8131 ("ghc-vector" ,ghc-vector)
8132 ("ghc-unordered-containers" ,ghc-unordered-containers)
8133 ("ghc-scientific" ,ghc-scientific)
8134 ("ghc-uuid" ,ghc-uuid)
8135 ("ghc-dlist" ,ghc-dlist)
8136 ("ghc-void" ,ghc-void)
8137 ("ghc-bifunctors" ,ghc-bifunctors)
8138 ("ghc-profunctors" ,ghc-profunctors)
8139 ("ghc-contravariant" ,ghc-contravariant)
8140 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8141 ("ghc-semigroups" ,ghc-semigroups)
8142 ("ghc-either" ,ghc-either)
8143 ("ghc-fail" ,ghc-fail)
8144 ("ghc-base-prelude" ,ghc-base-prelude)))
8145 (home-page "https://github.com/nikita-volkov/rebase")
8146 (synopsis "Progressive alternative to the base package
8147for Haskell")
8148 (description "This Haskell package is intended for those who are
8149tired of keeping long lists of dependencies to the same essential libraries
8150in each package as well as the endless imports of the same APIs all over again.
8151
8152It also supports the modern tendencies in the language.
8153
8154To solve those problems this package does the following:
8155
8156@itemize
8157@item Reexport the original APIs under the @code{Rebase} namespace.
8158
8159@item Export all the possible non-conflicting symbols from the
8160@code{Rebase.Prelude} module.
8161
8162@item Give priority to the modern practices in the conflicting cases.
8163@end itemize
8164
8165The policy behind the package is only to reexport the non-ambiguous and
8166non-controversial APIs, which the community has obviously settled on.
8167The package is intended to rapidly evolve with the contribution from
8168the community, with the missing features being added with pull-requests.")
8169 (license license:expat)))
8170
8171(define-public ghc-reducers
8172 (package
8173 (name "ghc-reducers")
8174 (version "3.12.3")
8175 (source
8176 (origin
8177 (method url-fetch)
8178 (uri (string-append
8179 "https://hackage.haskell.org/package/reducers/reducers-"
8180 version
8181 ".tar.gz"))
8182 (sha256
8183 (base32
8184 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8185 (build-system haskell-build-system)
8186 (inputs
8187 `(("ghc-fingertree" ,ghc-fingertree)
8188 ("ghc-hashable" ,ghc-hashable)
8189 ("ghc-unordered-containers" ,ghc-unordered-containers)
8190 ("ghc-semigroupoids" ,ghc-semigroupoids)
8191 ("ghc-semigroups" ,ghc-semigroups)))
8192 (home-page "https://github.com/ekmett/reducers/")
8193 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8194 (description "This library provides various semigroups, specialized
8195containers and a general map/reduce framework for Haskell.")
8196 (license license:bsd-3)))
8197
8198(define-public ghc-refact
8199 (package
8200 (name "ghc-refact")
8201 (version "0.3.0.2")
8202 (source
8203 (origin
8204 (method url-fetch)
8205 (uri (string-append "https://hackage.haskell.org/package/"
8206 "refact/refact-"
8207 version ".tar.gz"))
8208 (sha256
8209 (base32
8210 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8211 (build-system haskell-build-system)
8212 (home-page "http://hackage.haskell.org/package/refact")
8213 (synopsis "Specify refactorings to perform with apply-refact")
8214 (description
8215 "This library provides a datatype which can be interpreted by
8216@code{apply-refact}. It exists as a separate library so that applications can
8217specify refactorings without depending on GHC.")
8218 (license license:bsd-3)))
8219
8220(define-public ghc-reflection
8221 (package
8222 (name "ghc-reflection")
d215f1cc 8223 (version "2.1.5")
dddbc90c
RV
8224 (source
8225 (origin
8226 (method url-fetch)
8227 (uri (string-append
8228 "https://hackage.haskell.org/package/reflection/reflection-"
8229 version
8230 ".tar.gz"))
8231 (sha256
8232 (base32
d215f1cc 8233 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
8234 (build-system haskell-build-system)
8235 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
8236 (native-inputs
8237 `(("ghc-hspec" ,ghc-hspec)
8238 ("ghc-quickcheck" ,ghc-quickcheck)
8239 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
8240 (home-page "https://github.com/ekmett/reflection")
8241 (synopsis "Reify arbitrary terms into types that can be reflected back
8242into terms")
8243 (description "This package addresses the 'configuration problem' which is
8244propagating configurations that are available at run-time, allowing multiple
8245configurations to coexist without resorting to mutable global variables or
8246@code{System.IO.Unsafe.unsafePerformIO}.")
8247 (license license:bsd-3)))
8248
8249(define-public ghc-regex
8250 (package
8251 (name "ghc-regex")
b9a5e634 8252 (version "1.0.2.0")
dddbc90c
RV
8253 (source
8254 (origin
8255 (method url-fetch)
8256 (uri (string-append "https://hackage.haskell.org/package/regex/"
8257 "regex-" version ".tar.gz"))
8258 (sha256
8259 (base32
b9a5e634 8260 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
8261 (build-system haskell-build-system)
8262 (arguments
8263 `(#:phases
8264 (modify-phases %standard-phases
8265 (add-after 'unpack 'relax-dependencies
8266 (lambda _
8267 (substitute* "regex.cabal"
8268 (("base-compat.*>=.*0.6.*")
8269 "base-compat >= 0.6\n")
8270 (("template-haskell.*>=.*2.7.*")
8271 "template-haskell >= 2.7\n"))
8272 #t)))))
8273 (inputs
8274 `(("ghc-base-compat" ,ghc-base-compat)
8275 ("ghc-hashable" ,ghc-hashable)
8276 ("ghc-regex-base" ,ghc-regex-base)
8277 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8278 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8279 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8280 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8281 ("ghc-unordered-containers" ,ghc-unordered-containers)
8282 ("ghc-utf8-string" ,ghc-utf8-string)))
8283 (home-page "http://regex.uk")
8284 (synopsis "Toolkit for regex-base")
8285 (description
8286 "This package provides a regular expression toolkit for @code{regex-base}
8287with compile-time checking of regular expression syntax, data types for
8288matches and captures, a text replacement toolkit, portable options, high-level
8289AWK-like tools for building text processing apps, regular expression macros
8290with parsers and test bench, comprehensive documentation, tutorials and
8291copious examples.")
8292 (license license:bsd-3)))
8293
8294(define-public ghc-regex-applicative
8295 (package
8296 (name "ghc-regex-applicative")
30f60e42 8297 (version "0.3.3.1")
dddbc90c
RV
8298 (source
8299 (origin
8300 (method url-fetch)
8301 (uri (string-append
8302 "https://hackage.haskell.org/package/regex-applicative/"
8303 "regex-applicative-" version ".tar.gz"))
8304 (sha256
8305 (base32
30f60e42 8306 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
8307 (build-system haskell-build-system)
8308 (inputs
8309 `(("ghc-smallcheck" ,ghc-smallcheck)
8310 ("ghc-tasty" ,ghc-tasty)
8311 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8312 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8313 (home-page "https://github.com/feuerbach/regex-applicative")
8314 (synopsis "Regex-based parsing with applicative interface")
8315 (description
8316 "@code{regex-applicative} is a Haskell library for parsing using
8317regular expressions. Parsers can be built using Applicative interface.")
8318 (license license:expat)))
8319
8320(define-public ghc-regex-base
8321 (package
8322 (name "ghc-regex-base")
8323 (version "0.93.2")
8324 (source
8325 (origin
8326 (method url-fetch)
8327 (uri (string-append
8328 "https://hackage.haskell.org/package/regex-base/regex-base-"
8329 version
8330 ".tar.gz"))
8331 (sha256
8332 (base32
8333 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8334 (build-system haskell-build-system)
8335 (home-page
8336 "https://sourceforge.net/projects/lazy-regex")
8337 (synopsis "Replaces/Enhances Text.Regex")
8338 (description "@code{Text.Regex.Base} provides the interface API for
8339regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8340 (license license:bsd-3)))
8341
8342(define-public ghc-regex-compat
8343 (package
8344 (name "ghc-regex-compat")
8345 (version "0.95.1")
8346 (source
8347 (origin
8348 (method url-fetch)
8349 (uri (string-append
8350 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8351 version
8352 ".tar.gz"))
8353 (sha256
8354 (base32
8355 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8356 (build-system haskell-build-system)
8357 (inputs
8358 `(("ghc-regex-base" ,ghc-regex-base)
8359 ("ghc-regex-posix" ,ghc-regex-posix)))
8360 (home-page "https://sourceforge.net/projects/lazy-regex")
8361 (synopsis "Replaces/Enhances Text.Regex")
8362 (description "This library provides one module layer over
8363@code{regex-posix} to replace @code{Text.Regex}.")
8364 (license license:bsd-3)))
8365
8366(define-public ghc-regex-compat-tdfa
8367 (package
8368 (name "ghc-regex-compat-tdfa")
8369 (version "0.95.1.4")
8370 (source
8371 (origin
8372 (method url-fetch)
8373 (uri (string-append
8374 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8375 version ".tar.gz"))
8376 (sha256
8377 (base32
8378 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8379 (build-system haskell-build-system)
8380 (inputs
8381 `(("ghc-regex-base" ,ghc-regex-base)
8382 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8383 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8384 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8385 (description
8386 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8387@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8388This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8389this problem.")
8390 (license license:bsd-3)))
8391
8392(define-public ghc-regex-pcre-builtin
8393 (package
8394 (name "ghc-regex-pcre-builtin")
ee946143 8395 (version "0.94.5.8.8.35")
dddbc90c
RV
8396 (source (origin
8397 (method url-fetch)
8398 (uri (string-append "https://hackage.haskell.org/package/"
8399 "regex-pcre-builtin/regex-pcre-builtin-"
8400 version ".tar.gz"))
8401 (sha256
8402 (base32
ee946143 8403 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
8404 (build-system haskell-build-system)
8405 (inputs
8406 `(("ghc-regex-base" ,ghc-regex-base)))
8407 (home-page "https://hackage.haskell.org/package/regex-pcre")
8408 (synopsis "Enhancement of the builtin Text.Regex library")
8409 (description
8410 "This package is an enhancement of the @code{Text.Regex} library,
8411providing the PCRE backend to accompany regex-base, with bundled code from
8412@url{https://www.pcre.org}.")
8413 (license license:bsd-3)))
8414
8415(define-public ghc-regex-posix
8416 (package
8417 (name "ghc-regex-posix")
8418 (version "0.95.2")
8419 (source
8420 (origin
8421 (method url-fetch)
8422 (uri (string-append
8423 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8424 version
8425 ".tar.gz"))
8426 (sha256
8427 (base32
8428 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8429 (build-system haskell-build-system)
8430 (inputs
8431 `(("ghc-regex-base" ,ghc-regex-base)))
8432 (home-page "https://sourceforge.net/projects/lazy-regex")
8433 (synopsis "POSIX regular expressions for Haskell")
8434 (description "This library provides the POSIX regex backend used by the
8435Haskell library @code{regex-base}.")
8436 (license license:bsd-3)))
8437
8438(define-public ghc-regex-tdfa
8439 (package
8440 (name "ghc-regex-tdfa")
ce684db0 8441 (version "1.2.3.2")
dddbc90c
RV
8442 (source
8443 (origin
8444 (method url-fetch)
8445 (uri (string-append
8446 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8447 version ".tar.gz"))
8448 (sha256
8449 (base32
ce684db0 8450 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
8451 (build-system haskell-build-system)
8452 (inputs
8453 `(("ghc-regex-base" ,ghc-regex-base)))
8454 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8455 (synopsis "POSIX extended regular expressions in Haskell.")
8456 (description
8457 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8458extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8459inspired by libtre.")
8460 (license license:bsd-3)))
8461
8462(define-public ghc-regex-tdfa-text
8463 (package
8464 (name "ghc-regex-tdfa-text")
8465 (version "1.0.0.3")
8466 (source
8467 (origin
8468 (method url-fetch)
8469 (uri (string-append
8470 "https://hackage.haskell.org/package/regex-tdfa-text/"
8471 "regex-tdfa-text-" version ".tar.gz"))
8472 (sha256
8473 (base32
8474 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8475 (build-system haskell-build-system)
8476 (inputs
8477 `(("ghc-regex-base" ,ghc-regex-base)
8478 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8479 (home-page
8480 "http://hackage.haskell.org/package/regex-tdfa-text")
8481 (synopsis "Text interface for regex-tdfa")
8482 (description
8483 "This provides an extra text interface for regex-tdfa.")
8484 (license license:bsd-3)))
8485
8486(define-public ghc-rerebase
8487 (package
8488 (name "ghc-rerebase")
8489 (version "1.2.2")
8490 (source
8491 (origin
8492 (method url-fetch)
8493 (uri (string-append
8494 "https://hackage.haskell.org/package/rerebase/rerebase-"
8495 version ".tar.gz"))
8496 (sha256
8497 (base32
8498 "11v6rmz7ql2rdx6mhb3lsal952lwihclfhh0m7fcnii5br0906ks"))))
8499 (build-system haskell-build-system)
8500 (inputs
8501 `(("ghc-rebase" ,ghc-rebase)))
8502 (home-page "https://github.com/nikita-volkov/rerebase")
8503 (synopsis "Reexports from ``base'' with many other standard libraries")
8504 (description "A rich drop-in replacement for @code{base}. For details and
8505documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8506the project's home page}.")
8507 (license license:expat)))
8508
8509(define-public ghc-resolv
8510 (package
8511 (name "ghc-resolv")
8512 (version "0.1.1.1")
8513 (source
8514 (origin
8515 (method url-fetch)
8516 (uri (string-append
8517 "https://hackage.haskell.org/package/resolv/resolv-"
8518 version ".tar.gz"))
8519 (sha256
8520 (base32
8521 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
8522 (build-system haskell-build-system)
8523 (arguments
8524 `(#:cabal-revision
8525 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
8526 #:tests? #f)) ; The required test frameworks are too old.
8527 (inputs
8528 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8529 (home-page "https://github.com/haskell/hackage-security")
8530 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8531 (description "This package implements an API for accessing the
8532@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8533resolver service via the standard @code{libresolv} system library (whose
8534API is often available directly via the standard @code{libc} C library) on
8535Unix systems.")
8536 (license license:gpl3)))
8537
8538(define-public ghc-resource-pool
8539 (package
8540 (name "ghc-resource-pool")
8541 (version "0.2.3.2")
8542 (source
8543 (origin
8544 (method url-fetch)
8545 (uri (string-append "https://hackage.haskell.org/package/"
8546 "resource-pool-" version "/"
8547 "resource-pool-" version ".tar.gz"))
8548 (sha256
8549 (base32
8550 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8551 (build-system haskell-build-system)
8552 (inputs `(("ghc-hashable" ,ghc-hashable)
8553 ("ghc-monad-control" ,ghc-monad-control)
8554 ("ghc-transformers-base" ,ghc-transformers-base)
8555 ("ghc-vector" ,ghc-vector)))
8556 (home-page "https://github.com/bos/pool")
8557 (synopsis "Striped resource pooling implementation in Haskell")
8558 (description "This Haskell package provides striped pooling abstraction
8559for managing flexibly-sized collections of resources such as database
8560connections.")
8561 (license license:bsd-3)))
8562
8563(define-public ghc-resourcet
8564 (package
8565 (name "ghc-resourcet")
9ac341ac 8566 (version "1.2.2")
dddbc90c
RV
8567 (source
8568 (origin
8569 (method url-fetch)
8570 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8571 "resourcet-" version ".tar.gz"))
8572 (sha256
8573 (base32
9ac341ac 8574 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
8575 (build-system haskell-build-system)
8576 (inputs
8577 `(("ghc-transformers-base" ,ghc-transformers-base)
8578 ("ghc-monad-control" ,ghc-monad-control)
8579 ("ghc-transformers-compat" ,ghc-transformers-compat)
8580 ("ghc-mmorph" ,ghc-mmorph)
8581 ("ghc-exceptions" ,ghc-exceptions)
8582 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8583 (native-inputs
8584 `(("ghc-lifted-base" ,ghc-lifted-base)
8585 ("ghc-hspec" ,ghc-hspec)))
8586 (home-page "https://github.com/snoyberg/conduit")
8587 (synopsis "Deterministic allocation and freeing of scarce resources")
8588 (description "ResourceT is a monad transformer which creates a region of
8589code where you can safely allocate resources.")
8590 (license license:bsd-3)))
8591
8592(define-public ghc-rfc5051
8593 (package
8594 (name "ghc-rfc5051")
ec42ab7c 8595 (version "0.1.0.4")
dddbc90c
RV
8596 (source
8597 (origin
8598 (method url-fetch)
8599 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8600 "rfc5051-" version ".tar.gz"))
8601 (sha256
8602 (base32
ec42ab7c 8603 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
8604 (build-system haskell-build-system)
8605 (home-page "https://hackage.haskell.org/package/rfc5051")
8606 (synopsis "Simple unicode collation as per RFC5051")
8607 (description
8608 "This library implements @code{unicode-casemap}, the simple, non
8609locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8610unicode collation can be done using @code{text-icu}, but that is a big
8611dependency that depends on a large C library, and @code{rfc5051} might be
8612better for some purposes.")
8613 (license license:bsd-3)))
8614
8615(define-public ghc-rio
8616 (package
8617 (name "ghc-rio")
8618 (version "0.1.5.0")
8619 (source
8620 (origin
8621 (method url-fetch)
8622 (uri (string-append
8623 "https://hackage.haskell.org/package/rio/rio-"
8624 version ".tar.gz"))
8625 (sha256
8626 (base32
8627 "064h8a4hp53a479d3ak0vmqbx8hi0cpg7zn4wp23rjy26dka8p7g"))))
8628 (build-system haskell-build-system)
8629 (inputs
8630 `(("ghc-exceptions" ,ghc-exceptions)
8631 ("ghc-hashable" ,ghc-hashable)
8632 ("ghc-microlens" ,ghc-microlens)
8633 ("ghc-primitive" ,ghc-primitive)
8634 ("ghc-typed-process" ,ghc-typed-process)
8635 ("ghc-unliftio" ,ghc-unliftio)
8636 ("ghc-unordered-containers" ,ghc-unordered-containers)
8637 ("ghc-vector" ,ghc-vector)))
8638 (native-inputs
8639 `(("ghc-hspec" ,ghc-hspec)
8640 ("hspec-discover" ,hspec-discover)))
8641 (home-page "https://github.com/commercialhaskell/rio#readme")
8642 (synopsis "A standard library for Haskell")
8643 (description "This package works as a prelude replacement for Haskell,
8644providing more functionality and types out of the box than the standard
8645prelude (such as common data types like @code{ByteString} and
8646@code{Text}), as well as removing common ``gotchas'', like partial
8647functions and lazy I/O. The guiding principle here is:
8648@itemize
8649@item If something is safe to use in general and has no expected naming
8650conflicts, expose it.
8651@item If something should not always be used, or has naming conflicts,
8652expose it from another module in the hierarchy.
8653@end itemize")
8654 (license license:expat)))
8655
8656(define-public ghc-safe
8657 (package
8658 (name "ghc-safe")
8659 (version "0.3.17")
8660 (source
8661 (origin
8662 (method url-fetch)
8663 (uri (string-append
8664 "https://hackage.haskell.org/package/safe/safe-"
8665 version
8666 ".tar.gz"))
8667 (sha256
8668 (base32
8669 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8670 (build-system haskell-build-system)
8671 (native-inputs
8672 `(("ghc-quickcheck" ,ghc-quickcheck)))
8673 (home-page "https://github.com/ndmitchell/safe#readme")
8674 (synopsis "Library of safe (exception free) functions")
8675 (description "This library provides wrappers around @code{Prelude} and
8676@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8677exceptions.")
8678 (license license:bsd-3)))
8679
8680(define-public ghc-safe-exceptions
8681 (package
8682 (name "ghc-safe-exceptions")
8683 (version "0.1.7.0")
8684 (source
8685 (origin
8686 (method url-fetch)
8687 (uri (string-append "https://hackage.haskell.org/package/"
8688 "safe-exceptions/safe-exceptions-"
8689 version ".tar.gz"))
8690 (sha256
8691 (base32
8692 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8693 (build-system haskell-build-system)
8694 (arguments
8695 '(#:cabal-revision
8696 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8697 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8698 (native-inputs
8699 `(("ghc-hspec" ,ghc-hspec)
8700 ("ghc-void" ,ghc-void)
8701 ("hspec-discover" ,hspec-discover)))
8702 (home-page "https://github.com/fpco/safe-exceptions")
8703 (synopsis "Safe, consistent, and easy exception handling")
8704 (description "Runtime exceptions - as exposed in @code{base} by the
8705@code{Control.Exception} module - have long been an intimidating part of the
8706Haskell ecosystem. This package is intended to overcome this. It provides a
8707safe and simple API on top of the existing exception handling machinery. The
8708API is equivalent to the underlying implementation in terms of power but
8709encourages best practices to minimize the chances of getting the exception
8710handling wrong.")
8711 (license license:expat)))
8712
8713(define-public ghc-safeio
8714 (package
8715 (name "ghc-safeio")
8716 (version "0.0.5.0")
8717 (source
8718 (origin
8719 (method url-fetch)
8720 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8721 "safeio-" version ".tar.gz"))
8722 (sha256
8723 (base32
8724 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8725 (build-system haskell-build-system)
8726 (inputs
8727 `(("ghc-conduit" ,ghc-conduit)
8728 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8729 ("ghc-exceptions" ,ghc-exceptions)
8730 ("ghc-resourcet" ,ghc-resourcet)))
8731 (native-inputs
8732 `(("ghc-hunit" ,ghc-hunit)
8733 ("ghc-test-framework" ,ghc-test-framework)
8734 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8735 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8736 (home-page "https://github.com/luispedro/safeio")
8737 (synopsis "Write output to disk atomically")
8738 (description
8739 "This package implements utilities to perform atomic output so as to
8740avoid the problem of partial intermediate files.")
8741 (license license:expat)))
8742
8743(define-public ghc-safesemaphore
8744 (package
8745 (name "ghc-safesemaphore")
8746 (version "0.10.1")
8747 (source
8748 (origin
8749 (method url-fetch)
8750 (uri (string-append "https://hackage.haskell.org/package/"
8751 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8752 (sha256
8753 (base32
8754 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8755 (build-system haskell-build-system)
8756 (native-inputs
8757 `(("ghc-hunit" ,ghc-hunit)))
8758 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8759 (synopsis "Exception safe semaphores")
8760 (description "This library provides exception safe semaphores that can be
8761used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8762are not exception safe and can be broken by @code{killThread}.")
8763 (license license:bsd-3)))
8764
8765(define-public ghc-sandi
8766 (package
8767 (name "ghc-sandi")
8768 (version "0.4.2")
8769 (source
8770 (origin
8771 (method url-fetch)
8772 (uri (string-append
8773 "https://hackage.haskell.org/package/sandi/sandi-"
8774 version ".tar.gz"))
8775 (sha256
8776 (base32
8777 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8778 (build-system haskell-build-system)
8779 (inputs
8780 `(("ghc-stringsearch" ,ghc-stringsearch)
8781 ("ghc-conduit" ,ghc-conduit)
8782 ("ghc-exceptions" ,ghc-exceptions)
8783 ("ghc-hunit" ,ghc-hunit)
8784 ("ghc-tasty" ,ghc-tasty)
8785 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8786 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8787 ("ghc-tasty-th" ,ghc-tasty-th)))
8788 (home-page "https://hackage.haskell.org/package/sandi")
8789 (synopsis "Data encoding library")
8790 (description "Reasonably fast data encoding library.")
8791 (license license:bsd-3)))
8792
8793(define-public ghc-scientific
8794 (package
8795 (name "ghc-scientific")
8796 (version "0.3.6.2")
8797 (source
8798 (origin
8799 (method url-fetch)
8800 (uri (string-append
8801 "https://hackage.haskell.org/package/scientific/scientific-"
8802 version
8803 ".tar.gz"))
8804 (sha256
8805 (base32
8806 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8807 (build-system haskell-build-system)
8808 (inputs
8809 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8810 ("ghc-hashable" ,ghc-hashable)
8811 ("ghc-primitive" ,ghc-primitive)))
8812 (native-inputs
8813 `(("ghc-tasty" ,ghc-tasty)
8814 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8815 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8816 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8817 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8818 ("ghc-smallcheck" ,ghc-smallcheck)
8819 ("ghc-quickcheck" ,ghc-quickcheck)))
8820 (home-page "https://github.com/basvandijk/scientific")
8821 (synopsis "Numbers represented using scientific notation")
8822 (description "This package provides @code{Data.Scientific}, which provides
8823the number type @code{Scientific}. Scientific numbers are arbitrary precision
8824and space efficient. They are represented using
8825@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
8826notation}.")
8827 (license license:bsd-3)))
8828
8829(define-public ghc-scientific-bootstrap
8830 (package
8831 (inherit ghc-scientific)
8832 (name "ghc-scientific-bootstrap")
8833 (arguments `(#:tests? #f))
8834 (inputs
8835 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
8836 ("ghc-hashable" ,ghc-hashable)
8837 ("ghc-primitive" ,ghc-primitive)))
8838 (native-inputs '())
799d8d3c 8839 (properties '((hidden? #t)))))
dddbc90c
RV
8840
8841(define-public ghc-sdl
8842 (package
8843 (name "ghc-sdl")
8844 (version "0.6.7.0")
8845 (source
8846 (origin
8847 (method url-fetch)
8848 (uri (string-append
8849 "https://hackage.haskell.org/package/SDL/SDL-"
8850 version
8851 ".tar.gz"))
8852 (sha256
8853 (base32
8854 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
8855 (build-system haskell-build-system)
8856 (inputs
8857 `(("sdl" ,sdl)))
8858 (home-page "https://hackage.haskell.org/package/SDL")
8859 (synopsis "LibSDL for Haskell")
8860 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
8861multimedia library designed to provide low level access to audio, keyboard,
8862mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
8863by MPEG playback software, emulators, and many popular games, including the
8864award winning Linux port of \"Civilization: Call To Power.\"")
8865 (license license:bsd-3)))
8866
1874cdc1
RV
8867(define-public ghc-sdl2
8868 (package
8869 (name "ghc-sdl2")
8870 (version "2.4.1.0")
8871 (source
8872 (origin
8873 (method url-fetch)
8874 (uri (string-append "https://hackage.haskell.org/package/"
8875 "sdl2/sdl2-" version ".tar.gz"))
8876 (sha256
8877 (base32
8878 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
8879 (build-system haskell-build-system)
8880 (arguments '(#:tests? #f)) ; tests require graphical environment
8881 (inputs
8882 `(("ghc-exceptions" ,ghc-exceptions)
8883 ("ghc-linear" ,ghc-linear)
8884 ("ghc-statevar" ,ghc-statevar)
8885 ("ghc-vector" ,ghc-vector)
8886 ("sdl2" ,sdl2)))
8887 (native-inputs
8888 `(("ghc-weigh" ,ghc-weigh)
8889 ("pkg-config" ,pkg-config)))
8890 (home-page "http://hackage.haskell.org/package/sdl2")
8891 (synopsis "High- and low-level bindings to the SDL library")
8892 (description
8893 "This package contains bindings to the SDL 2 library, in both high- and
8894low-level forms. The @code{SDL} namespace contains high-level bindings, where
8895enumerations are split into sum types, and we perform automatic
8896error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
8897translation of the C API into Haskell FFI calls. As such, this does not
8898contain sum types nor error checking. Thus this namespace is suitable for
8899building your own abstraction over SDL, but is not recommended for day-to-day
8900programming.")
8901 (license license:bsd-3)))
8902
8903(define-public ghc-sdl2-image
8904 (package
8905 (name "ghc-sdl2-image")
8906 (version "2.0.0")
8907 (source
8908 (origin
8909 (method url-fetch)
8910 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
8911 "sdl2-image-" version ".tar.gz"))
8912 (sha256
8913 (base32
8914 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
8915 (build-system haskell-build-system)
8916 (inputs
8917 `(("ghc-sdl2" ,ghc-sdl2)
8918 ("sdl2-image" ,sdl2-image)))
8919 (native-inputs
8920 `(("pkg-config" ,pkg-config)))
8921 (home-page "http://hackage.haskell.org/package/sdl2-image")
8922 (synopsis "Bindings to SDL2_image")
8923 (description "This package provides Haskell bindings to
8924@code{SDL2_image}.")
8925 (license license:expat)))
8926
8927(define-public ghc-sdl2-mixer
8928 (package
8929 (name "ghc-sdl2-mixer")
8930 (version "1.1.0")
8931 (source
8932 (origin
8933 (method url-fetch)
8934 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
8935 "sdl2-mixer-" version ".tar.gz"))
8936 (sha256
8937 (base32
8938 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
8939 (build-system haskell-build-system)
8940 (inputs
8941 `(("ghc-data-default-class" ,ghc-data-default-class)
8942 ("ghc-lifted-base" ,ghc-lifted-base)
8943 ("ghc-monad-control" ,ghc-monad-control)
8944 ("ghc-sdl2" ,ghc-sdl2)
8945 ("ghc-vector" ,ghc-vector)
8946 ("sdl2-mixer" ,sdl2-mixer)))
8947 (native-inputs
8948 `(("pkg-config" ,pkg-config)))
8949 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
8950 (synopsis "Bindings to SDL2 mixer")
8951 (description "This package provides Haskell bindings to
8952@code{SDL2_mixer}.")
8953 (license license:bsd-3)))
8954
dddbc90c
RV
8955(define-public ghc-sdl-image
8956 (package
8957 (name "ghc-sdl-image")
8958 (version "0.6.2.0")
8959 (source
8960 (origin
8961 (method url-fetch)
8962 (uri (string-append
8963 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
8964 version
8965 ".tar.gz"))
8966 (sha256
8967 (base32
8968 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
8969 (build-system haskell-build-system)
8970 (arguments
8971 `(#:configure-flags
8972 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
8973 (sdl-image-include (string-append sdl-image "/include/SDL")))
8974 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
8975 (inputs
8976 `(("ghc-sdl" ,ghc-sdl)
8977 ("sdl-image" ,sdl-image)))
8978 (home-page "https://hackage.haskell.org/package/SDL-image")
8979 (synopsis "Haskell bindings to libSDL_image")
8980 (description "SDL_image is an image file loading library. It loads images
8981as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
8982PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
8983 (license license:bsd-3)))
8984
8985(define-public ghc-sdl-mixer
8986 (package
8987 (name "ghc-sdl-mixer")
8988 (version "0.6.3.0")
8989 (source
8990 (origin
8991 (method url-fetch)
8992 (uri (string-append
8993 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
8994 version
8995 ".tar.gz"))
8996 (sha256
8997 (base32
8998 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
8999 (build-system haskell-build-system)
9000 (arguments
9001 `(#:configure-flags
9002 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
9003 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
9004 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
9005 (inputs
9006 `(("ghc-sdl" ,ghc-sdl)
9007 ("sdl-mixer" ,sdl-mixer)))
9008 (home-page "https://hackage.haskell.org/package/SDL-mixer")
9009 (synopsis "Haskell bindings to libSDL_mixer")
9010 (description "SDL_mixer is a sample multi-channel audio mixer library. It
9011supports any number of simultaneously playing channels of 16 bit stereo audio,
9012plus a single channel of music, mixed by the popular MikMod MOD, Timidity
9013MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
9014 (license license:bsd-3)))
9015
9016(define-public ghc-securemem
9017 (package
9018 (name "ghc-securemem")
9019 (version "0.1.10")
9020 (source
9021 (origin
9022 (method url-fetch)
9023 (uri (string-append "https://hackage.haskell.org/package/"
9024 "securemem-" version "/"
9025 "securemem-" version ".tar.gz"))
9026 (sha256
9027 (base32
9028 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
9029 (build-system haskell-build-system)
9030 (inputs `(("ghc-byteable" ,ghc-byteable)
9031 ("ghc-memory" ,ghc-memory)))
9032 (home-page "https://github.com/vincenthz/hs-securemem")
9033 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9034Haskell")
9035 (description "SecureMem is similar to ByteString, except that it provides
9036a memory chunk that will be auto-scrubbed after it run out of scope.")
9037 (license license:bsd-3)))
9038
9039(define-public ghc-semigroupoids
9040 (package
9041 (name "ghc-semigroupoids")
9042 (version "5.2.2")
9043 (source
9044 (origin
9045 (method url-fetch)
9046 (uri (string-append
9047 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9048 version
9049 ".tar.gz"))
9050 (sha256
9051 (base32
9052 "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
9053 (build-system haskell-build-system)
9054 (arguments
9055 `(#:cabal-revision
9056 ("4" "0pqfrxzypjq6z8lgdkzq4vhcyqkpk5326hny0r6snpc3gm78r4ij")))
9057 (inputs
9058 `(("ghc-base-orphans" ,ghc-base-orphans)
9059 ("ghc-transformers-compat" ,ghc-transformers-compat)
9060 ("ghc-bifunctors" ,ghc-bifunctors)
9061 ("ghc-comonad" ,ghc-comonad)
9062 ("ghc-contravariant" ,ghc-contravariant)
9063 ("ghc-distributive" ,ghc-distributive)
9064 ("ghc-hashable" ,ghc-hashable)
9065 ("ghc-semigroups" ,ghc-semigroups)
9066 ("ghc-tagged" ,ghc-tagged)
9067 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9068 (native-inputs
9069 `(("cabal-doctest" ,cabal-doctest)
9070 ("ghc-doctest" ,ghc-doctest)))
9071 (home-page "https://github.com/ekmett/semigroupoids")
9072 (synopsis "Semigroupoids operations for Haskell")
9073 (description "This library provides a wide array of (semi)groupoids and
9074operations for working with them. A @code{Semigroupoid} is a @code{Category}
9075without the requirement of identity arrows for every object in the category.
9076A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9077Finally, to work with these weaker structures it is beneficial to have
9078containers that can provide stronger guarantees about their contents, so
9079versions of @code{Traversable} and @code{Foldable} that can be folded with
9080just a @code{Semigroup} are added.")
9081 (license license:bsd-3)))
9082
9083(define-public ghc-semigroups
9084 (package
9085 (name "ghc-semigroups")
9086 (version "0.18.5")
9087 (source
9088 (origin
9089 (method url-fetch)
9090 (uri (string-append
9091 "https://hackage.haskell.org/package/semigroups/semigroups-"
9092 version
9093 ".tar.gz"))
9094 (sha256
9095 (base32
9096 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9097 (build-system haskell-build-system)
9098 (inputs
9099 `(("ghc-nats" ,ghc-nats)
9100 ("ghc-tagged" ,ghc-tagged)
9101 ("ghc-unordered-containers" ,ghc-unordered-containers)
9102 ("ghc-hashable" ,ghc-hashable)))
9103 (home-page "https://github.com/ekmett/semigroups/")
9104 (synopsis "Semigroup operations for Haskell")
9105 (description "This package provides semigroups for Haskell. In
9106mathematics, a semigroup is an algebraic structure consisting of a set
9107together with an associative binary operation. A semigroup generalizes a
9108monoid in that there might not exist an identity element. It
9109also (originally) generalized a group (a monoid with all inverses) to a type
9110where every element did not have to have an inverse, thus the name
9111semigroup.")
9112 (license license:bsd-3)))
9113
9114(define-public ghc-semigroups-bootstrap
9115 (package
9116 (inherit ghc-semigroups)
9117 (name "ghc-semigroups-bootstrap")
9118 (inputs
9119 `(("ghc-nats" ,ghc-nats-bootstrap)
9120 ("ghc-tagged" ,ghc-tagged)
9121 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9122 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9123 (properties '((hidden? #t)))))
dddbc90c
RV
9124
9125(define-public ghc-setenv
9126 (package
9127 (name "ghc-setenv")
9128 (version "0.1.1.3")
9129 (source
9130 (origin
9131 (method url-fetch)
9132 (uri (string-append
9133 "https://hackage.haskell.org/package/setenv/setenv-"
9134 version
9135 ".tar.gz"))
9136 (sha256
9137 (base32
9138 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9139 (build-system haskell-build-system)
9140 (home-page "https://hackage.haskell.org/package/setenv")
9141 (synopsis "Library for setting environment variables")
9142 (description "This package provides a Haskell library for setting
9143environment variables.")
9144 (license license:expat)))
9145
9146(define-public ghc-setlocale
9147 (package
9148 (name "ghc-setlocale")
9d7cfc9b 9149 (version "1.0.0.9")
dddbc90c
RV
9150 (source (origin
9151 (method url-fetch)
9152 (uri (string-append
9153 "https://hackage.haskell.org/package/setlocale-"
9154 version "/setlocale-" version ".tar.gz"))
9155 (sha256
9156 (base32
9d7cfc9b 9157 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
9158 (build-system haskell-build-system)
9159 (home-page "https://hackage.haskell.org/package/setlocale")
9160 (synopsis "Haskell bindings to setlocale")
9161 (description "This package provides Haskell bindings to the
9162@code{setlocale} C function.")
9163 (license license:bsd-3)))
9164
9165(define-public ghc-shakespeare
9166 (package
9167 (name "ghc-shakespeare")
9168 (version "2.0.15")
9169 (source
9170 (origin
9171 (method url-fetch)
9172 (uri (string-append "https://hackage.haskell.org/package/"
9173 "shakespeare-" version "/"
9174 "shakespeare-" version ".tar.gz"))
9175 (sha256
9176 (base32
9177 "1vk4b19zvwy4mpwaq9z3l3kfmz75gfyf7alhh0y112gspgpccm23"))))
9178 (build-system haskell-build-system)
9179 (inputs `(("ghc-aeson" ,ghc-aeson)
9180 ("ghc-blaze-markup" ,ghc-blaze-markup)
9181 ("ghc-blaze-html" ,ghc-blaze-html)
9182 ("ghc-exceptions" ,ghc-exceptions)
9183 ("ghc-vector" ,ghc-vector)
9184 ("ghc-unordered-containers" ,ghc-unordered-containers)
9185 ("ghc-scientific" ,ghc-scientific)))
9186 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9187 ("ghc-hunit" ,ghc-hunit)
9188 ("hspec-discover" ,hspec-discover)))
9189 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9190 (synopsis "Family of type-safe template languages for Haskell")
9191 (description "This Haskell package provides a family of type-safe
9192templates with simple variable interpolation. Shakespeare templates can
9193be used inline with a quasi-quoter or in an external file and it
9194interpolates variables according to the type being inserted.")
9195 (license license:expat)))
9196
9197(define-public ghc-shelly
9198 (package
9199 (name "ghc-shelly")
9200 (version "1.8.1")
9201 (source
9202 (origin
9203 (method url-fetch)
9204 (uri (string-append
9205 "https://hackage.haskell.org/package/shelly/shelly-"
9206 version ".tar.gz"))
9207 (sha256
9208 (base32
9209 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9210 (build-system haskell-build-system)
9211 (inputs
9212 `(("ghc-unix-compat" ,ghc-unix-compat)
9213 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9214 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9215 ("ghc-monad-control" ,ghc-monad-control)
9216 ("ghc-lifted-base" ,ghc-lifted-base)
9217 ("ghc-lifted-async" ,ghc-lifted-async)
9218 ("ghc-exceptions" ,ghc-exceptions)
9219 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9220 ("ghc-async" ,ghc-async)
9221 ("ghc-transformers-base" ,ghc-transformers-base)
9222 ("ghc-hunit" ,ghc-hunit)
9223 ("ghc-hspec" ,ghc-hspec)
9224 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9225 (home-page "https://github.com/yesodweb/Shelly.hs")
9226 (synopsis "Shell-like (systems) programming in Haskell")
9227 (description
9228 "Shelly provides convenient systems programming in Haskell, similar in
9229spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9230 (license license:bsd-3)))
9231
9232(define-public ghc-silently
9233 (package
9234 (name "ghc-silently")
544bb369 9235 (version "1.2.5.1")
dddbc90c
RV
9236 (source
9237 (origin
9238 (method url-fetch)
9239 (uri (string-append
9240 "https://hackage.haskell.org/package/silently/silently-"
9241 version
9242 ".tar.gz"))
9243 (sha256
9244 (base32
544bb369 9245 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
9246 (build-system haskell-build-system)
9247 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9248 ;; (inputs
9249 ;; `(("ghc-temporary" ,ghc-temporary)))
9250 (home-page "https://github.com/hspec/silently")
9251 (synopsis "Prevent writing to stdout")
9252 (description "This package provides functions to prevent or capture
9253writing to stdout and other handles.")
9254 (license license:bsd-3)))
9255
9256(define-public ghc-simple-reflect
9257 (package
9258 (name "ghc-simple-reflect")
9259 (version "0.3.3")
9260 (source
9261 (origin
9262 (method url-fetch)
9263 (uri (string-append
9264 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9265 version
9266 ".tar.gz"))
9267 (sha256
9268 (base32
9269 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9270 (build-system haskell-build-system)
9271 (home-page
9272 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9273 (synopsis
9274 "Simple reflection of expressions containing variables")
9275 (description
9276 "This package allows simple reflection of expressions containing
9277variables. Reflection here means that a Haskell expression is turned into a
9278string. The primary aim of this package is teaching and understanding; there
9279are no options for manipulating the reflected expressions beyond showing
9280them.")
9281 (license license:bsd-3)))
9282
9283(define-public ghc-simple-sendfile
9284 (package
9285 (name "ghc-simple-sendfile")
9286 (version "0.2.27")
9287 (source
9288 (origin
9289 (method url-fetch)
9290 (uri (string-append "https://hackage.haskell.org/package/"
9291 "simple-sendfile-" version "/"
9292 "simple-sendfile-" version ".tar.gz"))
9293 (sha256
9294 (base32
9295 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
9296 (build-system haskell-build-system)
9297 (inputs
9298 `(("ghc-conduit" ,ghc-conduit)
9299 ("ghc-conduit-extra" ,ghc-conduit-extra)
9300 ("ghc-network" ,ghc-network)
9301 ("ghc-resourcet" ,ghc-resourcet)))
9302 (native-inputs
9303 `(("ghc-hspec" ,ghc-hspec)
9304 ("hspec-discover" ,hspec-discover)))
9305 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9306 (synopsis "Cross platform library for the sendfile system call")
9307 (description "This library tries to call minimum system calls which
9308are the bottleneck of web servers.")
9309 (license license:bsd-3)))
9310
9311(define-public ghc-skylighting-core
9312 (package
9313 (name "ghc-skylighting-core")
9314 (version "0.7.2")
9315 (source (origin
9316 (method url-fetch)
9317 (uri (string-append "https://hackage.haskell.org/package/"
9318 "skylighting-core/skylighting-core-"
9319 version ".tar.gz"))
9320 (sha256
9321 (base32
9322 "066fwmwsd7xcvwlinfk2izlzq0xp8697i6lnbgsbl71jdybyackq"))))
9323 (build-system haskell-build-system)
9324 (inputs
9325 `(("ghc-aeson" ,ghc-aeson)
9326 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9327 ("ghc-attoparsec" ,ghc-attoparsec)
9328 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9329 ("ghc-blaze-html" ,ghc-blaze-html)
9330 ("ghc-case-insensitive" ,ghc-case-insensitive)
9331 ("ghc-colour" ,ghc-colour)
9332 ("ghc-hxt" ,ghc-hxt)
9333 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9334 ("ghc-safe" ,ghc-safe)
9335 ("ghc-utf8-string" ,ghc-utf8-string)))
9336 (native-inputs
9337 `(("ghc-diff" ,ghc-diff)
9338 ("ghc-hunit" ,ghc-hunit)
9339 ("ghc-pretty-show" ,ghc-pretty-show)
9340 ("ghc-quickcheck" ,ghc-quickcheck)
9341 ("ghc-tasty" ,ghc-tasty)
9342 ("ghc-tasty-golden" ,ghc-tasty-golden)
9343 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9344 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9345 (home-page "https://github.com/jgm/skylighting")
9346 (synopsis "Syntax highlighting library")
9347 (description "Skylighting is a syntax highlighting library with support
9348for over one hundred languages. It derives its tokenizers from XML syntax
9349definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9350supported by that framework can be added. An optional command-line program is
9351provided. Skylighting is intended to be the successor to highlighting-kate.")
9352 (license license:gpl2)))
9353
9354(define-public ghc-skylighting
9355 (package
9356 (inherit ghc-skylighting-core)
9357 (name "ghc-skylighting")
9358 (version "0.7.2")
9359 (source (origin
9360 (method url-fetch)
9361 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9362 version "/skylighting-" version ".tar.gz"))
9363 (sha256
9364 (base32
9365 "1rh3z1a7a4clvksdw1qlpmhxqkfahwypi70k91whgfamzsqpxdch"))))
9366 (inputs
9367 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9368 ,@(package-inputs ghc-skylighting-core)))))
9369
9370(define-public ghc-smallcheck
9371 (package
9372 (name "ghc-smallcheck")
9373 (version "1.1.5")
9374 (source
9375 (origin
9376 (method url-fetch)
9377 (uri (string-append
9378 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9379 version
9380 ".tar.gz"))
9381 (sha256
9382 (base32
9383 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9384 (build-system haskell-build-system)
9385 (inputs
9386 `(("ghc-logict" ,ghc-logict)))
9387 (home-page
9388 "https://github.com/feuerbach/smallcheck")
9389 (synopsis "Property-based testing library")
9390 (description "SmallCheck is a testing library that allows to verify
9391properties for all test cases up to some depth. The test cases are generated
9392automatically by SmallCheck.")
9393 (license license:bsd-3)))
9394
9395(define-public ghc-socks
9396 (package
9397 (name "ghc-socks")
9398 (version "0.5.6")
9399 (source (origin
9400 (method url-fetch)
9401 (uri (string-append "https://hackage.haskell.org/package/"
9402 "socks/socks-" version ".tar.gz"))
9403 (sha256
9404 (base32
9405 "0f44qy74i0n6ll3jym0a2ipafkpw1h67amcpqmj8iq95h21wsqzs"))))
9406 (build-system haskell-build-system)
9407 (inputs
9408 `(("ghc-cereal" ,ghc-cereal)
9409 ("ghc-network" ,ghc-network)))
9410 (home-page "https://github.com/vincenthz/hs-socks")
9411 (synopsis "SOCKS proxy (version 5) implementation")
9412 (description
9413 "This library provides a SOCKS proxy (version 5) implementation.")
9414 (license license:bsd-3)))
9415
081d85d6
TS
9416(define-public ghc-sop-core
9417 (package
9418 (name "ghc-sop-core")
9419 (version "0.4.0.0")
9420 (source
9421 (origin
9422 (method url-fetch)
9423 (uri (string-append "https://hackage.haskell.org/package/"
9424 "sop-core/sop-core-" version ".tar.gz"))
9425 (sha256
9426 (base32
9427 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
9428 (build-system haskell-build-system)
9429 (home-page "http://hackage.haskell.org/package/sop-core")
9430 (synopsis "True Sums of Products")
9431 (description "This package provides an implementation of
9432@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
9433is the main module of this library and contains more detailed
9434documentation. The main use case of this package is to serve as the
9435core of @url{https://hackage.haskell.org/package/generics-sop,
9436generics-sop}.")
9437 (license license:bsd-3)))
9438
dddbc90c
RV
9439(define-public ghc-split
9440 (package
9441 (name "ghc-split")
9442 (version "0.2.3.3")
9443 (outputs '("out" "doc"))
9444 (source
9445 (origin
9446 (method url-fetch)
9447 (uri (string-append
9448 "https://hackage.haskell.org/package/split/split-"
9449 version
9450 ".tar.gz"))
9451 (sha256
9452 (base32
9453 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9454 (build-system haskell-build-system)
9bbc21a7
TS
9455 (arguments
9456 `(#:cabal-revision
9457 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
9458 (native-inputs
9459 `(("ghc-quickcheck" ,ghc-quickcheck)))
9460 (home-page "https://hackage.haskell.org/package/split")
9461 (synopsis "Combinator library for splitting lists")
9462 (description "This package provides a collection of Haskell functions for
9463splitting lists into parts, akin to the @code{split} function found in several
9464mainstream languages.")
9465 (license license:bsd-3)))
9466
7799d17f 9467(define-public ghc-splitmix
49367c92 9468 (package
7799d17f 9469 (name "ghc-splitmix")
49367c92
TS
9470 (version "0.0.3")
9471 (source
9472 (origin
9473 (method url-fetch)
9474 (uri (string-append "https://hackage.haskell.org/package/"
9475 "splitmix/splitmix-" version ".tar.gz"))
9476 (sha256
9477 (base32
9478 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 9479 (build-system haskell-build-system)
49367c92
TS
9480 (inputs
9481 `(("ghc-random" ,ghc-random)))
7799d17f
TS
9482 (native-inputs
9483 `(("ghc-hunit" ,ghc-hunit)
9484 ("ghc-async" ,ghc-async)
9485 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
9486 ("ghc-tf-random" ,ghc-tf-random)
9487 ("ghc-vector" ,ghc-vector)))
49367c92
TS
9488 (home-page "http://hackage.haskell.org/package/splitmix")
9489 (synopsis "Fast and splittable pseudorandom number generator")
9490 (description "This package provides a Pure Haskell implementation of the
9491SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
9492pseudorandom number generator that is quite fast: 9 64-bit
9493arithmetic/logical operations per 64 bits generated. SplitMix is tested
9494with two standard statistical test suites (DieHarder and TestU01, this
9495implementation only using the former) and it appears to be adequate for
9496\"everyday\" use, such as Monte Carlo algorithms and randomized data
9497structures where speed is important. In particular, it @strong{should not
9498be used for cryptographic or security applications}, because generated
9499sequences of pseudorandom values are too predictable (the mixing functions
9500are easily inverted, and two successive outputs suffice to reconstruct the
9501internal state).")
9502 (license license:bsd-3)))
9503
7799d17f
TS
9504(define-public ghc-splitmix-bootstrap
9505 (package
9506 (inherit ghc-splitmix)
9507 (name "ghc-splitmix-bootstrap")
9508 (arguments `(#:tests? #f))
9509 (native-inputs '())
9510 (properties '((hidden? #t)))))
9511
dddbc90c
RV
9512(define-public ghc-statevar
9513 (package
9514 (name "ghc-statevar")
19419709 9515 (version "1.2")
dddbc90c
RV
9516 (source
9517 (origin
9518 (method url-fetch)
9519 (uri (string-append
9520 "https://hackage.haskell.org/package/StateVar/StateVar-"
9521 version
9522 ".tar.gz"))
9523 (sha256
9524 (base32
19419709 9525 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
9526 (build-system haskell-build-system)
9527 (home-page "https://hackage.haskell.org/package/StateVar")
9528 (synopsis "State variables for Haskell")
9529 (description "This package provides state variables, which are references
9530in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9531 (license license:bsd-3)))
9532
9533(define-public ghc-statistics
9534 (package
9535 (name "ghc-statistics")
9536 (version "0.14.0.2")
9537 (source
9538 (origin
9539 (method url-fetch)
9540 (uri (string-append "https://hackage.haskell.org/package/"
9541 "statistics-" version "/"
9542 "statistics-" version ".tar.gz"))
9543 (sha256
9544 (base32
9545 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
9546 (build-system haskell-build-system)
9547 (arguments
9548 '(#:cabal-revision
9549 ("2" "1bx70yqkn62ii17fjv3pig4hklrzkqd09zj67zzjiyjzmn04fir3")
9550 ;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
9551 #:tests? #f))
9552 (inputs
9553 `(("ghc-aeson" ,ghc-aeson)
9554 ("ghc-base-orphans" ,ghc-base-orphans)
9555 ("ghc-erf" ,ghc-erf)
9556 ("ghc-math-functions" ,ghc-math-functions)
9557 ("ghc-monad-par" ,ghc-monad-par)
9558 ("ghc-mwc-random" ,ghc-mwc-random)
9559 ("ghc-primitive" ,ghc-primitive)
9560 ("ghc-vector" ,ghc-vector)
9561 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9562 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9563 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9564 (native-inputs
9565 `(("ghc-hunit" ,ghc-hunit)
9566 ("ghc-quickcheck" ,ghc-quickcheck)
9567 ("ghc-ieee754" ,ghc-ieee754)
9568 ("ghc-test-framework" ,ghc-test-framework)
9569 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9570 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9571 (home-page "https://github.com/bos/mwc-random")
9572 (synopsis "Haskell library of statistical types, data, and functions")
9573 (description "This library provides a number of common functions
9574and types useful in statistics. We focus on high performance, numerical
9575robustness, and use of good algorithms. Where possible, we provide references
9576to the statistical literature.
9577
9578The library's facilities can be divided into four broad categories:
9579
9580@itemize
9581@item Working with widely used discrete and continuous probability
9582distributions. (There are dozens of exotic distributions in use; we focus
9583on the most common.)
9584
9585@item Computing with sample data: quantile estimation, kernel density
9586estimation, histograms, bootstrap methods, significance testing,
9587and regression and autocorrelation analysis.
9588
9589@item Random variate generation under several different distributions.
9590
9591@item Common statistical tests for significant differences between samples.
9592@end itemize")
9593 (license license:bsd-2)))
9594
9595(define-public ghc-stm-chans
9596 (package
9597 (name "ghc-stm-chans")
9598 (version "3.0.0.4")
9599 (source
9600 (origin
9601 (method url-fetch)
9602 (uri (string-append "https://hackage.haskell.org/package/"
9603 "stm-chans-" version "/"
9604 "stm-chans-" version ".tar.gz"))
9605 (sha256
9606 (base32
9607 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9608 (build-system haskell-build-system)
9609 (home-page "https://hackage.haskell.org/package/stm-chans")
9610 (synopsis "Additional types of channels for ghc-stm")
9611 (description "This Haskell package offers a collection of channel types,
9612similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9613features.")
9614 (license license:bsd-3)))
9615
9616(define-public ghc-stm-conduit
9617 (package
9618 (name "ghc-stm-conduit")
9619 (version "4.0.0")
9620 (source
9621 (origin
9622 (method url-fetch)
9623 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9624 "stm-conduit-" version ".tar.gz"))
9625 (sha256
9626 (base32
9627 "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
9628 (build-system haskell-build-system)
9629 (inputs
9630 `(("ghc-stm-chans" ,ghc-stm-chans)
9631 ("ghc-cereal" ,ghc-cereal)
9632 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9633 ("ghc-conduit" ,ghc-conduit)
9634 ("ghc-conduit-extra" ,ghc-conduit-extra)
9635 ("ghc-exceptions" ,ghc-exceptions)
9636 ("ghc-resourcet" ,ghc-resourcet)
9637 ("ghc-async" ,ghc-async)
9638 ("ghc-monad-loops" ,ghc-monad-loops)
9639 ("ghc-unliftio" ,ghc-unliftio)))
9640 (native-inputs
9641 `(("ghc-doctest" ,ghc-doctest)
9642 ("ghc-quickcheck" ,ghc-quickcheck)
9643 ("ghc-hunit" ,ghc-hunit)
9644 ("ghc-test-framework" ,ghc-test-framework)
9645 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9646 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9647 (home-page "https://github.com/cgaebel/stm-conduit")
9648 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9649 (description
9650 "This package provides two simple conduit wrappers around STM channels: a
9651source and a sink.")
9652 (license license:bsd-3)))
9653
9654(define-public ghc-stmonadtrans
9655 (package
9656 (name "ghc-stmonadtrans")
9657 (version "0.4.3")
9658 (source
9659 (origin
9660 (method url-fetch)
9661 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9662 "/STMonadTrans-" version ".tar.gz"))
9663 (sha256
9664 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9665 (build-system haskell-build-system)
9666 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9667 (synopsis "Monad transformer version of the ST monad")
9668 (description
9669 "This package provides a monad transformer version of the @code{ST} monad
9670for strict state threads.")
9671 (license license:bsd-3)))
9672
9673(define-public ghc-storable-complex
9674 (package
9675 (name "ghc-storable-complex")
4a35e3c3 9676 (version "0.2.3.0")
dddbc90c
RV
9677 (source
9678 (origin
9679 (method url-fetch)
9680 (uri (string-append
9681 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9682 version ".tar.gz"))
9683 (sha256
4a35e3c3 9684 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 9685 (build-system haskell-build-system)
4a35e3c3
TS
9686 (inputs
9687 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
9688 (home-page "https://github.com/cartazio/storable-complex")
9689 (synopsis "Haskell Storable instance for Complex")
9690 (description "This package provides a Haskell library including a
9691Storable instance for Complex which is binary compatible with C99, C++
9692and Fortran complex data types.")
9693 (license license:bsd-3)))
9694
ad80074a
JS
9695(define-public ghc-storable-record
9696 (package
9697 (name "ghc-storable-record")
9698 (version "0.0.4")
9699 (source
9700 (origin
9701 (method url-fetch)
9702 (uri
9703 (string-append
9704 "https://hackage.haskell.org/package/storable-record/"
9705 "storable-record-" version ".tar.gz"))
9706 (sha256
9707 (base32
9708 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
9709 (build-system haskell-build-system)
9710 (inputs
9711 `(("ghc-semigroups" ,ghc-semigroups)
9712 ("ghc-utility-ht" ,ghc-utility-ht)
9713 ("ghc-storablevector" ,ghc-storablevector)
9714 ("ghc-timeit" ,ghc-timeit)))
9715 (home-page "https://hackage.haskell.org/package/storable-record")
9716 (synopsis "Elegant definition of Storable instances for records")
9717 (description "With this package you can build a Storable instance of
9718a record type from Storable instances of its elements in an elegant way.
9719It does not do any magic, just a bit arithmetic to compute the right
9720offsets, that would be otherwise done manually or by a preprocessor like
9721C2HS. There is no guarantee that the generated memory layout is
9722compatible with that of a corresponding C struct. However, the module
9723generates the smallest layout that is possible with respect to the
9724alignment of the record elements.")
9725 (license license:bsd-3)))
9726
55f4c653
JS
9727(define-public ghc-storable-tuple
9728 (package
9729 (name "ghc-storable-tuple")
9730 (version "0.0.3.3")
9731 (source
9732 (origin
9733 (method url-fetch)
9734 (uri
9735 (string-append
9736 "https://hackage.haskell.org/package/storable-tuple/"
9737 "storable-tuple-" version ".tar.gz"))
9738 (sha256
9739 (base32
9740 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
9741 (build-system haskell-build-system)
9742 (inputs
9743 `(("ghc-storable-record" ,ghc-storable-record)
9744 ("ghc-utility-ht" ,ghc-utility-ht)
9745 ("ghc-base-orphans" ,ghc-base-orphans)))
9746 (home-page "https://hackage.haskell.org/package/storable-tuple")
9747 (synopsis "Storable instance for pairs and triples")
9748 (description "This package provides a Storable instance for pairs
9749and triples which should be binary compatible with C99 and C++. The
9750only purpose of this package is to provide a standard location for this
9751instance so that other packages needing this instance can play nicely
9752together.")
9753 (license license:bsd-3)))
9754
bc06ca45
JS
9755(define-public ghc-storablevector
9756 (package
9757 (name "ghc-storablevector")
9758 (version "0.2.13")
9759 (source
9760 (origin
9761 (method url-fetch)
9762 (uri
9763 (string-append
9764 "https://hackage.haskell.org/package/storablevector/storablevector-"
9765 version ".tar.gz"))
9766 (sha256
9767 (base32
9768 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
9769 (build-system haskell-build-system)
9770 (inputs
9771 `(("ghc-non-negative" ,ghc-non-negative)
9772 ("ghc-utility-ht" ,ghc-utility-ht)
9773 ("ghc-semigroups" ,ghc-semigroups)
9774 ("ghc-unsafe" ,ghc-unsafe)
9775 ("ghc-quickcheck" ,ghc-quickcheck)
9776 ("ghc-syb" ,ghc-syb)))
9777 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
9778 (synopsis "Fast, packed, strict storable arrays with a list interface")
9779 (description "This library provides fast, packed, strict storable
9780arrays with a list interface, a chunky lazy list interface with variable
9781chunk size and an interface for write access via the ST monad. This is
9782much like bytestring and binary but can be used for every
9783@code{Foreign.Storable.Storable} type. See also
9784@url{http://hackage.haskell.org/package/vector}, a library with a
9785similar intention.
9786
9787This library does not do advanced fusion optimization, since especially
9788for lazy vectors this would either be incorrect or not applicable. See
9789@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
9790a library that provides fusion with lazy lists.")
9791 (license license:bsd-3)))
9792
dddbc90c
RV
9793(define-public ghc-streaming-commons
9794 (package
9795 (name "ghc-streaming-commons")
9796 (version "0.2.1.1")
9797 (source
9798 (origin
9799 (method url-fetch)
9800 (uri (string-append "https://hackage.haskell.org/package/"
9801 "streaming-commons/streaming-commons-"
9802 version ".tar.gz"))
9803 (sha256
9804 (base32
9805 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9806 (build-system haskell-build-system)
9807 (inputs
9808 `(("ghc-async" ,ghc-async)
9809 ("ghc-blaze-builder" ,ghc-blaze-builder)
9810 ("ghc-network" ,ghc-network)
9811 ("ghc-random" ,ghc-random)
9812 ("ghc-zlib" ,ghc-zlib)))
9813 (native-inputs
9814 `(("ghc-quickcheck" ,ghc-quickcheck)
9815 ("ghc-hspec" ,ghc-hspec)
9816 ("hspec-discover" ,hspec-discover)))
9817 (home-page "https://hackage.haskell.org/package/streaming-commons")
9818 (synopsis "Conduit and pipes needed by some streaming data libraries")
9819 (description "This package provides low-dependency functionality commonly
9820needed by various Haskell streaming data libraries, such as @code{conduit} and
9821@code{pipe}s.")
9822 (license license:expat)))
9823
9824(define-public ghc-strict
9825 (package
9826 (name "ghc-strict")
9827 (version "0.3.2")
9828 (source
9829 (origin
9830 (method url-fetch)
9831 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
9832 version ".tar.gz"))
9833 (sha256
9834 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
9835 (build-system haskell-build-system)
9836 (home-page "https://hackage.haskell.org/package/strict")
9837 (synopsis "Strict data types and String IO")
9838 (description
9839 "This package provides strict versions of some standard Haskell data
9840types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
9841IO operations.")
9842 (license license:bsd-3)))
9843
9844(define-public ghc-stringbuilder
9845 (package
9846 (name "ghc-stringbuilder")
9847 (version "0.5.1")
9848 (source
9849 (origin
9850 (method url-fetch)
9851 (uri (string-append
9852 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
9853 version
9854 ".tar.gz"))
9855 (sha256
9856 (base32
9857 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
9858 (build-system haskell-build-system)
9859 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
9860 ; enabled
9861 (home-page "https://hackage.haskell.org/package/stringbuilder")
9862 (synopsis "Writer monad for multi-line string literals")
9863 (description "This package provides a writer monad for multi-line string
9864literals.")
9865 (license license:expat)))
9866
9867(define-public ghc-string-qq
9868 (package
9869 (name "ghc-string-qq")
4d6fddc3 9870 (version "0.0.4")
dddbc90c
RV
9871 (source
9872 (origin
9873 (method url-fetch)
9874 (uri (string-append
9875 "https://hackage.haskell.org/package/string-qq/string-qq-"
9876 version
9877 ".tar.gz"))
9878 (sha256
9879 (base32
4d6fddc3 9880 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 9881 (build-system haskell-build-system)
4d6fddc3
TS
9882 (native-inputs
9883 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
9884 (home-page "http://hackage.haskell.org/package/string-qq")
9885 (synopsis
9886 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
9887 (description
9888 "This package provides a quasiquoter for non-interpolated strings, texts
9889and bytestrings.")
9890 (license license:public-domain)))
9891
9892(define-public ghc-stringsearch
9893 (package
9894 (name "ghc-stringsearch")
9895 (version "0.3.6.6")
9896 (source
9897 (origin
9898 (method url-fetch)
9899 (uri (string-append
9900 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
9901 version
9902 ".tar.gz"))
9903 (sha256
9904 (base32
9905 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
9906 (build-system haskell-build-system)
9907 (home-page "https://bitbucket.org/dafis/stringsearch")
9908 (synopsis "Fast searching, splitting and replacing of ByteStrings")
9909 (description "This package provides several functions to quickly search
9910for substrings in strict or lazy @code{ByteStrings}. It also provides
9911functions for breaking or splitting on substrings and replacing all
9912occurrences of a substring (the first in case of overlaps) with another.")
9913 (license license:bsd-3)))
9914
9915(define-public ghc-stylish-haskell
9916 (package
9917 (name "ghc-stylish-haskell")
9918 (version "0.9.2.1")
9919 (source
9920 (origin
9921 (method url-fetch)
9922 (uri (string-append
9923 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
9924 version
9925 ".tar.gz"))
9926 (sha256
9927 (base32
9928 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
9929 (build-system haskell-build-system)
9930 (inputs
9931 `(("ghc-aeson" ,ghc-aeson)
9932 ("ghc-file-embed" ,ghc-file-embed)
9933 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
9934 ("ghc-semigroups" ,ghc-semigroups)
9935 ("ghc-syb" ,ghc-syb)
9936 ("ghc-yaml" ,ghc-yaml)
9937 ("ghc-strict" ,ghc-strict)
9938 ("ghc-optparse-applicative"
9939 ,ghc-optparse-applicative)))
9940 (native-inputs
9941 `(("ghc-hunit" ,ghc-hunit)
9942 ("ghc-test-framework" ,ghc-test-framework)
9943 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
9944 (home-page "https://github.com/jaspervdj/stylish-haskell")
9945 (synopsis "Haskell code prettifier")
9946 (description "Stylish-haskell is a Haskell code prettifier. The goal is
9947not to format all of the code in a file, to avoid \"getting in the way\".
9948However, this tool can e.g. clean up import statements and help doing various
9949tasks that get tedious very quickly. It can
9950@itemize
9951@item
9952Align and sort @code{import} statements
9953@item
9954Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
9955pragmas
9956@item
9957Remove trailing whitespaces
9958@item
9959Align branches in @code{case} and fields in records
9960@item
9961Convert line endings (customisable)
9962@item
9963Replace tabs by four spaces (turned off by default)
9964@item
9965Replace some ASCII sequences by their Unicode equivalent (turned off by
9966default)
9967@end itemize")
9968 (license license:bsd-3)))
9969
9970(define-public ghc-syb
9971 (package
9972 (name "ghc-syb")
07d65eef 9973 (version "0.7.1")
dddbc90c
RV
9974 (outputs '("out" "doc"))
9975 (source
9976 (origin
9977 (method url-fetch)
9978 (uri (string-append
9979 "https://hackage.haskell.org/package/syb/syb-"
9980 version
9981 ".tar.gz"))
9982 (sha256
9983 (base32
07d65eef 9984 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
9985 (build-system haskell-build-system)
9986 (inputs
9987 `(("ghc-hunit" ,ghc-hunit)))
9988 (home-page
9989 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
9990 (synopsis "Scrap Your Boilerplate")
9991 (description "This package contains the generics system described in the
9992/Scrap Your Boilerplate/ papers (see
9993@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
9994defines the @code{Data} class of types permitting folding and unfolding of
9995constructor applications, instances of this class for primitive types, and a
9996variety of traversals.")
9997 (license license:bsd-3)))
9998
9999(define-public ghc-system-fileio
10000 (package
10001 (name "ghc-system-fileio")
10002 (version "0.3.16.3")
10003 (source
10004 (origin
10005 (method url-fetch)
10006 (uri (string-append
10007 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10008 version ".tar.gz"))
10009 (sha256
10010 (base32
10011 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10012 (build-system haskell-build-system)
10013 (inputs
10014 `(("ghc-system-filepath" ,ghc-system-filepath)
10015 ("ghc-chell" ,ghc-chell)
10016 ("ghc-temporary" ,ghc-temporary)))
10017 (home-page "https://github.com/fpco/haskell-filesystem")
10018 (synopsis "Consistent file system interaction across GHC versions")
10019 (description
10020 "This is a small wrapper around the directory, unix, and Win32 packages,
10021for use with system-filepath. It provides a consistent API to the various
10022versions of these packages distributed with different versions of GHC.
10023In particular, this library supports working with POSIX files that have paths
10024which can't be decoded in the current locale encoding.")
10025 (license license:expat)))
10026
10027;; See ghc-system-filepath-bootstrap. In addition this package depends on
10028;; ghc-system-filepath.
10029(define ghc-system-fileio-bootstrap
10030 (package
10031 (name "ghc-system-fileio-bootstrap")
10032 (version "0.3.16.3")
10033 (source
10034 (origin
10035 (method url-fetch)
10036 (uri (string-append
10037 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10038 version ".tar.gz"))
10039 (sha256
10040 (base32
10041 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10042 (build-system haskell-build-system)
10043 (arguments
10044 `(#:tests? #f))
10045 (inputs
10046 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10047 ("ghc-temporary" ,ghc-temporary)))
10048 (home-page "https://github.com/fpco/haskell-filesystem")
10049 (synopsis "Consistent file system interaction across GHC versions")
10050 (description
10051 "This is a small wrapper around the directory, unix, and Win32 packages,
10052for use with system-filepath. It provides a consistent API to the various
10053versions of these packages distributed with different versions of GHC.
10054In particular, this library supports working with POSIX files that have paths
10055which can't be decoded in the current locale encoding.")
10056 (license license:expat)))
10057
10058
10059(define-public ghc-system-filepath
10060 (package
10061 (name "ghc-system-filepath")
10062 (version "0.4.14")
10063 (source
10064 (origin
10065 (method url-fetch)
10066 (uri (string-append
10067 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10068 version ".tar.gz"))
10069 (sha256
10070 (base32
10071 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10072 (build-system haskell-build-system)
10073 ;; FIXME: One of the tests fails:
10074 ;; [ FAIL ] tests.validity.posix
10075 ;; note: seed=7310214548328823169
10076 ;; *** Failed! Falsifiable (after 24 tests):
10077 ;; 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"
10078 (arguments `(#:tests? #f))
10079 (inputs
10080 `(("ghc-chell" ,ghc-chell)
10081 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
10082 ("ghc-quickcheck" ,ghc-quickcheck)))
10083 (home-page "https://github.com/fpco/haskell-filesystem")
10084 (synopsis "High-level, byte-based file and directory path manipulations")
10085 (description
10086 "Provides a FilePath datatype and utility functions for operating on it.
10087Unlike the filepath package, this package does not simply reuse String,
10088increasing type safety.")
10089 (license license:expat)))
10090
10091;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
10092;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
10093;; which depends on ghc-chell and ghc-chell-quickcheck.
10094;; Therefore we bootstrap it with tests disabled.
10095(define ghc-system-filepath-bootstrap
10096 (package
10097 (name "ghc-system-filepath-bootstrap")
10098 (version "0.4.14")
10099 (source
10100 (origin
10101 (method url-fetch)
10102 (uri (string-append
10103 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10104 version ".tar.gz"))
10105 (sha256
10106 (base32
10107 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10108 (build-system haskell-build-system)
10109 (arguments
10110 `(#:tests? #f))
10111 (inputs
10112 `(("ghc-quickcheck" ,ghc-quickcheck)))
10113 (home-page "https://github.com/fpco/haskell-filesystem")
10114 (synopsis "High-level, byte-based file and directory path manipulations")
10115 (description
10116 "Provides a FilePath datatype and utility functions for operating on it.
10117Unlike the filepath package, this package does not simply reuse String,
10118increasing type safety.")
10119 (license license:expat)))
10120
10121
10122(define-public ghc-tagged
10123 (package
10124 (name "ghc-tagged")
f0f3756a 10125 (version "0.8.6")
dddbc90c
RV
10126 (source
10127 (origin
10128 (method url-fetch)
10129 (uri (string-append
10130 "https://hackage.haskell.org/package/tagged/tagged-"
10131 version
10132 ".tar.gz"))
10133 (sha256
10134 (base32
f0f3756a 10135 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
10136 (build-system haskell-build-system)
10137 (arguments
10138 `(#:cabal-revision
f0f3756a 10139 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
10140 (inputs
10141 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10142 (home-page "https://hackage.haskell.org/package/tagged")
10143 (synopsis "Haskell phantom types to avoid passing dummy arguments")
10144 (description "This library provides phantom types for Haskell 98, to avoid
10145having to unsafely pass dummy arguments.")
10146 (license license:bsd-3)))
10147
10148(define-public ghc-tar
10149 (package
10150 (name "ghc-tar")
ec83929f 10151 (version "0.5.1.1")
dddbc90c
RV
10152 (source
10153 (origin
10154 (method url-fetch)
10155 (uri (string-append
10156 "https://hackage.haskell.org/package/tar/tar-"
10157 version ".tar.gz"))
10158 (sha256
10159 (base32
ec83929f 10160 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
10161 (build-system haskell-build-system)
10162 ;; FIXME: 2/24 tests fail.
10163 (arguments `(#:tests? #f))
10164 (inputs
10165 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10166 ("ghc-quickcheck" ,ghc-quickcheck)
10167 ("ghc-tasty" ,ghc-tasty)
10168 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10169 (home-page "https://hackage.haskell.org/package/tar")
10170 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10171 (description
10172 "This library is for working with \\\"@.tar@\\\" archive files.
10173It can read and write a range of common variations of the tar archive format
10174including V7, POSIX USTAR and GNU formats. It provides support for packing and
10175unpacking portable archives. This makes it suitable for distribution but not
10176backup because details like file ownership and exact permissions are not
10177preserved. It also provides features for random access to archive content using
10178an index.")
10179 (license license:bsd-3)))
10180
10181(define-public ghc-temporary
10182 (package
10183 (name "ghc-temporary")
10184 (version "1.3")
10185 (source
10186 (origin
10187 (method url-fetch)
10188 (uri (string-append
10189 "https://hackage.haskell.org/package/temporary/temporary-"
10190 version
10191 ".tar.gz"))
10192 (sha256
10193 (base32
10194 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10195 (build-system haskell-build-system)
10196 (inputs
10197 `(("ghc-exceptions" ,ghc-exceptions)
10198 ("ghc-random" ,ghc-random)))
10199 (native-inputs
10200 `(("ghc-base-compat" ,ghc-base-compat)
10201 ("ghc-tasty" ,ghc-tasty)
10202 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10203 (home-page "https://www.github.com/batterseapower/temporary")
10204 (synopsis "Temporary file and directory support")
10205 (description "The functions for creating temporary files and directories
10206in the Haskelll base library are quite limited. This library just repackages
10207the Cabal implementations of its own temporary file and folder functions so
10208that you can use them without linking against Cabal or depending on it being
10209installed.")
10210 (license license:bsd-3)))
10211
10212(define-public ghc-temporary-rc
10213 (package
10214 (name "ghc-temporary-rc")
10215 (version "1.2.0.3")
10216 (source
10217 (origin
10218 (method url-fetch)
10219 (uri (string-append
10220 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10221 version
10222 ".tar.gz"))
10223 (sha256
10224 (base32
10225 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10226 (build-system haskell-build-system)
10227 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10228 (home-page
10229 "https://www.github.com/feuerbach/temporary")
10230 (synopsis
10231 "Portable temporary file and directory support")
10232 (description
10233 "The functions for creating temporary files and directories in the base
10234library are quite limited. The unixutils package contains some good ones, but
10235they aren't portable to Windows. This library just repackages the Cabal
10236implementations of its own temporary file and folder functions so that you can
10237use them without linking against Cabal or depending on it being installed.
10238This is a better maintained fork of the \"temporary\" package.")
10239 (license license:bsd-3)))
10240
10241(define-public ghc-terminal-size
10242 (package
10243 (name "ghc-terminal-size")
10244 (version "0.3.2.1")
10245 (source (origin
10246 (method url-fetch)
10247 (uri (string-append
10248 "https://hackage.haskell.org/package/terminal-size/"
10249 "terminal-size-" version ".tar.gz"))
10250 (sha256
10251 (base32
10252 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10253 (build-system haskell-build-system)
10254 (home-page "https://hackage.haskell.org/package/terminal-size")
10255 (synopsis "Get terminal window height and width")
10256 (description "Get terminal window height and width without ncurses
10257dependency.")
10258 (license license:bsd-3)))
10259
10260(define-public ghc-texmath
10261 (package
10262 (name "ghc-texmath")
10263 (version "0.11.0.1")
10264 (source (origin
10265 (method url-fetch)
10266 (uri (string-append "https://hackage.haskell.org/package/"
10267 "texmath/texmath-" version ".tar.gz"))
10268 (sha256
10269 (base32
10270 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
10271 (build-system haskell-build-system)
10272 (inputs
10273 `(("ghc-syb" ,ghc-syb)
10274 ("ghc-network-uri" ,ghc-network-uri)
10275 ("ghc-split" ,ghc-split)
10276 ("ghc-temporary" ,ghc-temporary)
10277 ("ghc-utf8-string" ,ghc-utf8-string)
10278 ("ghc-xml" ,ghc-xml)
10279 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10280 (home-page "https://github.com/jgm/texmath")
10281 (synopsis "Conversion between formats used to represent mathematics")
10282 (description
10283 "The texmath library provides functions to read and write TeX math,
10284presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10285Office). Support is also included for converting math formats to pandoc's
10286native format (allowing conversion, via pandoc, to a variety of different
10287markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10288it can parse and apply LaTeX macros.")
10289 (license license:gpl2+)))
10290
10291(define-public ghc-text-binary
10292 (package
10293 (name "ghc-text-binary")
10294 (version "0.2.1.1")
10295 (source
10296 (origin
10297 (method url-fetch)
10298 (uri (string-append "https://hackage.haskell.org/package/"
10299 "text-binary/text-binary-"
10300 version ".tar.gz"))
10301 (sha256
10302 (base32
10303 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10304 (build-system haskell-build-system)
10305 (home-page "https://github.com/kawu/text-binary")
10306 (synopsis "Binary instances for text types")
10307 (description
10308 "This package provides a compatibility layer providing @code{Binary}
10309instances for strict and lazy text types for versions older than 1.2.1 of the
10310text package.")
10311 (license license:bsd-2)))
10312
10313(define-public ghc-tf-random
10314 (package
10315 (name "ghc-tf-random")
10316 (version "0.5")
10317 (outputs '("out" "doc"))
10318 (source
10319 (origin
10320 (method url-fetch)
10321 (uri (string-append
10322 "https://hackage.haskell.org/package/tf-random/tf-random-"
10323 version
10324 ".tar.gz"))
10325 (sha256
10326 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10327 (build-system haskell-build-system)
10328 (inputs
10329 `(("ghc-primitive" ,ghc-primitive)
10330 ("ghc-random" ,ghc-random)))
10331 (home-page "https://hackage.haskell.org/package/tf-random")
10332 (synopsis "High-quality splittable pseudorandom number generator")
10333 (description "This package contains an implementation of a high-quality
10334splittable pseudorandom number generator. The generator is based on a
10335cryptographic hash function built on top of the ThreeFish block cipher. See
10336the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10337Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10338 (license license:bsd-3)))
10339
10340(define-public ghc-th-abstraction
10341 (package
10342 (name "ghc-th-abstraction")
1188eabb 10343 (version "0.3.1.0")
dddbc90c
RV
10344 (source
10345 (origin
10346 (method url-fetch)
10347 (uri (string-append "https://hackage.haskell.org/package/"
10348 "th-abstraction/th-abstraction-"
10349 version ".tar.gz"))
10350 (sha256
10351 (base32
1188eabb 10352 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
10353 (build-system haskell-build-system)
10354 (home-page "https://github.com/glguy/th-abstraction")
10355 (synopsis "Nicer interface for reified information about data types")
10356 (description
10357 "This package normalizes variations in the interface for inspecting
10358datatype information via Template Haskell so that packages and support a
10359single, easier to use informational datatype while supporting many versions of
10360Template Haskell.")
10361 (license license:isc)))
10362
10363(define-public ghc-th-expand-syns
10364 (package
10365 (name "ghc-th-expand-syns")
8c766600 10366 (version "0.4.5.0")
dddbc90c
RV
10367 (source (origin
10368 (method url-fetch)
10369 (uri (string-append "https://hackage.haskell.org/package/"
10370 "th-expand-syns/th-expand-syns-"
10371 version ".tar.gz"))
10372 (sha256
10373 (base32
8c766600 10374 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
10375 (build-system haskell-build-system)
10376 (inputs
10377 `(("ghc-syb" ,ghc-syb)))
10378 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10379 (synopsis "Expands type synonyms in Template Haskell ASTs")
10380 (description
10381 "This package enables users to expand type synonyms in Template Haskell
10382@dfn{abstract syntax trees} (ASTs).")
10383 (license license:bsd-3)))
10384
10385(define-public ghc-th-lift
10386 (package
10387 (name "ghc-th-lift")
bd76b20a 10388 (version "0.8.0.1")
dddbc90c
RV
10389 (source (origin
10390 (method url-fetch)
10391 (uri (string-append "https://hackage.haskell.org/package/"
10392 "th-lift/th-lift-" version ".tar.gz"))
10393 (sha256
10394 (base32
bd76b20a 10395 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
10396 (build-system haskell-build-system)
10397 (inputs
10398 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10399 (home-page "https://github.com/mboes/th-lift")
10400 (synopsis "Derive Template Haskell's Lift class for datatypes")
10401 (description
10402 "This is a Haskell library to derive Template Haskell's Lift class for
10403datatypes.")
10404 (license license:bsd-3)))
10405
10406(define-public ghc-th-lift-instances
10407 (package
10408 (name "ghc-th-lift-instances")
d3db399e 10409 (version "0.1.14")
dddbc90c
RV
10410 (source
10411 (origin
10412 (method url-fetch)
10413 (uri (string-append "https://hackage.haskell.org/package/"
10414 "th-lift-instances/th-lift-instances-"
10415 version ".tar.gz"))
10416 (sha256
10417 (base32
d3db399e 10418 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
10419 (build-system haskell-build-system)
10420 (inputs
10421 `(("ghc-th-lift" ,ghc-th-lift)
10422 ("ghc-vector" ,ghc-vector)
10423 ("ghc-quickcheck" ,ghc-quickcheck)))
10424 (home-page "https://github.com/bennofs/th-lift-instances/")
10425 (synopsis "Lift instances for template-haskell for common data types.")
10426 (description "Most data types in the Haskell platform do not have Lift
10427instances. This package provides orphan instances for @code{containers},
10428@code{text}, @code{bytestring} and @code{vector}.")
10429 (license license:bsd-3)))
10430
10431(define-public ghc-th-orphans
10432 (package
10433 (name "ghc-th-orphans")
882b23e2 10434 (version "0.13.9")
dddbc90c
RV
10435 (source (origin
10436 (method url-fetch)
10437 (uri (string-append "https://hackage.haskell.org/package/"
10438 "th-orphans/th-orphans-" version ".tar.gz"))
10439 (sha256
10440 (base32
882b23e2 10441 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
10442 (build-system haskell-build-system)
10443 (inputs
10444 `(("ghc-th-lift" ,ghc-th-lift)
10445 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10446 ("ghc-th-reify-many" ,ghc-th-reify-many)
10447 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10448 (native-inputs
10449 `(("ghc-hspec" ,ghc-hspec)))
10450 (home-page "https://hackage.haskell.org/package/th-orphans")
10451 (synopsis "Orphan instances for TH datatypes")
10452 (description
10453 "This package provides orphan instances for Template Haskell datatypes. In particular,
10454instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10455and @code{Eq} instances. These instances used to live in the haskell-src-meta
10456package, and that's where the version number started.")
10457 (license license:bsd-3)))
10458
10459(define-public ghc-threads
10460 (package
10461 (name "ghc-threads")
10462 (version "0.5.1.6")
10463 (source
10464 (origin
10465 (method url-fetch)
10466 (uri (string-append "https://hackage.haskell.org/package/"
10467 "threads/threads-" version ".tar.gz"))
10468 (sha256
10469 (base32
10470 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10471 (build-system haskell-build-system)
10472 (native-inputs
10473 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10474 ("ghc-hunit" ,ghc-hunit)
10475 ("ghc-test-framework" ,ghc-test-framework)
10476 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10477 (home-page "https://github.com/basvandijk/threads")
10478 (synopsis "Fork threads and wait for their result")
10479 (description "This package provides functions to fork threads and
10480wait for their result, whether it's an exception or a normal value.
10481Besides waiting for the termination of a single thread this package also
10482provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10483package is similar to the @code{threadmanager}, @code{async} and
10484@code{spawn} packages. The advantages of this package are:
10485
dddbc90c
RV
10486@itemize
10487@item Simpler API.
10488@item More efficient in both space and time.
10489@item No space-leak when forking a large number of threads.
10490@item Correct handling of asynchronous exceptions.
10491@item GHC specific functionality like @code{forkOn} and
10492@code{forkIOWithUnmask}.
10493@end itemize")
10494 (license license:bsd-3)))
10495
10496(define-public ghc-th-reify-many
10497 (package
10498 (name "ghc-th-reify-many")
32d4a6ae 10499 (version "0.1.9")
dddbc90c
RV
10500 (source (origin
10501 (method url-fetch)
10502 (uri (string-append "https://hackage.haskell.org/package/"
10503 "th-reify-many/th-reify-many-"
10504 version ".tar.gz"))
10505 (sha256
10506 (base32
32d4a6ae 10507 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
10508 (build-system haskell-build-system)
10509 (inputs
10510 `(("ghc-safe" ,ghc-safe)
10511 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10512 (home-page "https://github.com/mgsloan/th-reify-many")
10513 (synopsis "Recurseively reify template haskell datatype info")
10514 (description
10515 "th-reify-many provides functions for recursively reifying top level
10516declarations. The main intended use case is for enumerating the names of
10517datatypes reachable from an initial datatype, and passing these names to some
10518function which generates instances.")
10519 (license license:bsd-3)))
10520
10521(define-public ghc-time-locale-compat
10522 (package
10523 (name "ghc-time-locale-compat")
10524 (version "0.1.1.5")
10525 (source
10526 (origin
10527 (method url-fetch)
10528 (uri (string-append "https://hackage.haskell.org/package/"
10529 "time-locale-compat/time-locale-compat-"
10530 version ".tar.gz"))
10531 (sha256
10532 (base32
10533 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10534 (build-system haskell-build-system)
10535 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10536 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10537 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10538 (description "This package contains a wrapped name module for
10539@code{TimeLocale}.")
10540 (license license:bsd-3)))
10541
7bbfa392
JS
10542(define-public ghc-timeit
10543 (package
10544 (name "ghc-timeit")
10545 (version "2.0")
10546 (source
10547 (origin
10548 (method url-fetch)
10549 (uri
10550 (string-append
10551 "https://hackage.haskell.org/package/timeit/timeit-"
10552 version ".tar.gz"))
10553 (sha256
10554 (base32
10555 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
10556 (build-system haskell-build-system)
10557 (home-page "https://github.com/merijn/timeit")
10558 (synopsis "Time monadic computations with an IO base")
10559 (description "This package provides a simple wrapper to show the
10560used CPU time of monadic computation with an IO base.")
10561 (license license:bsd-3)))
10562
dddbc90c
RV
10563(define-public ghc-tldr
10564 (package
10565 (name "ghc-tldr")
10566 (version "0.4.0.1")
10567 (source
10568 (origin
10569 (method url-fetch)
10570 (uri (string-append
10571 "https://hackage.haskell.org/package/tldr/tldr-"
10572 version
10573 ".tar.gz"))
10574 (sha256
10575 (base32
10576 "0nc581y9jjzwd8l88g48c72mla7k6q1w102akl7gl5jsk9ljamd3"))))
10577 (build-system haskell-build-system)
10578 (inputs
10579 `(("ghc-cmark" ,ghc-cmark)
10580 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10581 ("ghc-typed-process" ,ghc-typed-process)
10582 ("ghc-semigroups" ,ghc-semigroups)))
10583 (native-inputs
10584 `(("ghc-tasty" ,ghc-tasty)
10585 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10586 (home-page "https://github.com/psibi/tldr-hs#readme")
10587 (synopsis "Haskell tldr client")
10588 (description "This package provides the @command{tldr} command and a
10589Haskell client library allowing users to update and view @code{tldr} pages
10590from a shell. The @code{tldr} pages are a community effort to simplify the
10591man pages with practical examples.")
10592 (license license:bsd-3)))
10593
10594(define-public ghc-transformers-base
10595 (package
10596 (name "ghc-transformers-base")
10597 (version "0.4.5.2")
10598 (source
10599 (origin
10600 (method url-fetch)
10601 (uri (string-append
10602 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10603 version
10604 ".tar.gz"))
10605 (sha256
10606 (base32
10607 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10608 (build-system haskell-build-system)
10609 (inputs
10610 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10611 (home-page
10612 "https://hackage.haskell.org/package/transformers-compat")
10613 (synopsis
10614 "Backported transformer library")
10615 (description
10616 "Backported versions of types that were added to transformers in
10617transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10618compatibility to run on old versions of the platform.")
10619 (license license:bsd-3)))
10620
10621(define-public ghc-transformers-compat
10622 (package
10623 (name "ghc-transformers-compat")
1c9c4d58 10624 (version "0.6.5")
dddbc90c
RV
10625 (source
10626 (origin
10627 (method url-fetch)
10628 (uri (string-append
10629 "https://hackage.haskell.org/package/transformers-compat"
10630 "/transformers-compat-" version ".tar.gz"))
10631 (sha256
10632 (base32
1c9c4d58 10633 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
10634 (build-system haskell-build-system)
10635 (home-page "https://github.com/ekmett/transformers-compat/")
10636 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10637 (description "This package includes backported versions of types that were
10638added to transformers in transformers 0.3 and 0.4 for users who need strict
10639transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10640but also need those types.")
10641 (license license:bsd-3)))
10642
10643(define-public ghc-tree-diff
10644 (package
10645 (name "ghc-tree-diff")
10646 (version "0.0.1")
10647 (source
10648 (origin
10649 (method url-fetch)
10650 (uri (string-append
10651 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10652 version
10653 ".tar.gz"))
10654 (sha256
10655 (base32
10656 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10657 (build-system haskell-build-system)
10658 (arguments
10659 `(#:cabal-revision
10660 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10661 #:phases
10662 (modify-phases %standard-phases
10663 (add-before 'configure 'update-constraints
10664 (lambda _
10665 (substitute* "tree-diff.cabal"
10666 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10667 "trifecta >=1.7.1.1 && <=2")))))))
10668 (inputs
10669 `(("ghc-aeson" ,ghc-aeson)
10670 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10671 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10672 ("ghc-base-compat" ,ghc-base-compat)
10673 ("ghc-generics-sop" ,ghc-generics-sop)
10674 ("ghc-hashable" ,ghc-hashable)
10675 ("ghc-memotrie" ,ghc-memotrie)
10676 ("ghc-parsers" ,ghc-parsers)
10677 ("ghc-quickcheck" ,ghc-quickcheck)
10678 ("ghc-scientific" ,ghc-scientific)
10679 ("ghc-tagged" ,ghc-tagged)
10680 ("ghc-unordered-containers" ,ghc-unordered-containers)
10681 ("ghc-uuid-types" ,ghc-uuid-types)
10682 ("ghc-vector" ,ghc-vector)))
10683 (native-inputs
10684 `(("ghc-base-compat" ,ghc-base-compat)
10685 ("ghc-quickcheck" ,ghc-quickcheck)
10686 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10687 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10688 ("ghc-trifecta" ,ghc-trifecta)
10689 ("ghc-tasty" ,ghc-tasty)
10690 ("ghc-tasty-golden" ,ghc-tasty-golden)
10691 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10692 (home-page "https://github.com/phadej/tree-diff")
10693 (synopsis "Compute difference between (expression) trees")
10694 (description "This Haskell library provides a function for computing
10695the difference between (expression) trees. It also provides a way to
10696compute the difference between arbitrary abstract datatypes (ADTs) using
10697@code{Generics}-derivable helpers.")
10698 (license license:bsd-3)))
10699
10700(define-public ghc-trifecta
10701 (package
10702 (name "ghc-trifecta")
10703 (version "2")
10704 (source (origin
10705 (method url-fetch)
10706 (uri (string-append
10707 "https://hackage.haskell.org/package/trifecta/"
10708 "trifecta-" version ".tar.gz"))
10709 (sha256
10710 (base32
10711 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10712 (build-system haskell-build-system)
10713 (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
10714 (inputs
10715 `(("ghc-reducers" ,ghc-reducers)
10716 ("ghc-semigroups" ,ghc-semigroups)
10717 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10718 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10719 ("ghc-blaze-builder" ,ghc-blaze-builder)
10720 ("ghc-blaze-html" ,ghc-blaze-html)
10721 ("ghc-blaze-markup" ,ghc-blaze-markup)
10722 ("ghc-charset" ,ghc-charset)
10723 ("ghc-comonad" ,ghc-comonad)
10724 ("ghc-fingertree" ,ghc-fingertree)
10725 ("ghc-hashable" ,ghc-hashable)
10726 ("ghc-lens" ,ghc-lens)
10727 ("ghc-parsers" ,ghc-parsers)
10728 ("ghc-profunctors" ,ghc-profunctors)
10729 ("ghc-unordered-containers" ,ghc-unordered-containers)
10730 ("ghc-utf8-string" ,ghc-utf8-string)))
10731 (native-inputs
10732 `(("cabal-doctest" ,cabal-doctest)
10733 ("ghc-doctest" ,ghc-doctest)
10734 ("ghc-quickcheck" ,ghc-quickcheck)))
10735 (home-page "https://github.com/ekmett/trifecta/")
10736 (synopsis "Parser combinator library with convenient diagnostics")
10737 (description "Trifecta is a modern parser combinator library for Haskell,
10738with slicing and Clang-style colored diagnostics.")
10739 (license license:bsd-3)))
10740
10741(define-public ghc-tuple-th
10742 (package
10743 (name "ghc-tuple-th")
10744 (version "0.2.5")
10745 (source
10746 (origin
10747 (method url-fetch)
10748 (uri (string-append "https://hackage.haskell.org/package/"
10749 "tuple-th-" version "/"
10750 "tuple-th-" version ".tar.gz"))
10751 (sha256
10752 (base32
10753 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10754 (build-system haskell-build-system)
10755 (home-page "https://github.com/DanielSchuessler/tuple-th")
10756 (synopsis "Generate utility functions for tuples of statically known size
10757for Haskell")
10758 (description "This Haskell package contains Template Haskell functions for
10759generating functions similar to those in @code{Data.List} for tuples of
10760statically known size.")
10761 (license license:bsd-3)))
10762
10763(define-public ghc-typed-process
10764 (package
10765 (name "ghc-typed-process")
72fb84a5 10766 (version "0.2.6.0")
dddbc90c
RV
10767 (source
10768 (origin
10769 (method url-fetch)
10770 (uri (string-append "https://hackage.haskell.org/package/"
10771 "typed-process/typed-process-"
10772 version ".tar.gz"))
10773 (sha256
10774 (base32
72fb84a5 10775 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
10776 (build-system haskell-build-system)
10777 (inputs
72fb84a5
TS
10778 `(("ghc-async" ,ghc-async)
10779 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
10780 (native-inputs
10781 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10782 ("ghc-hspec" ,ghc-hspec)
10783 ("hspec-discover" ,hspec-discover)
10784 ("ghc-temporary" ,ghc-temporary)))
10785 (home-page "https://haskell-lang.org/library/typed-process")
10786 (synopsis "Run external processes with strong typing of streams")
10787 (description
10788 "This library provides the ability to launch and interact with external
10789processes. It wraps around the @code{process} library, and intends to improve
10790upon it.")
10791 (license license:expat)))
10792
d392f803
AG
10793(define-public ghc-unagi-chan
10794 (package
10795 (name "ghc-unagi-chan")
10796 (version "0.4.1.2")
10797 (source
10798 (origin
10799 (method url-fetch)
10800 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
10801 "/unagi-chan-" version ".tar.gz"))
10802 (sha256
10803 (base32
10804 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
10805 (build-system haskell-build-system)
10806 (inputs
10807 `(("ghc-atomic-primops" ,ghc-atomic-primops)
10808 ("ghc-primitive" ,ghc-primitive)))
10809 (arguments
10810 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
10811 #:cabal-revision
10812 ("1"
10813 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
10814 (home-page "http://hackage.haskell.org/package/unagi-chan")
10815 (synopsis "Fast concurrent queues with a Chan-like API, and more")
10816 (description
10817 "This library provides implementations of concurrent FIFO queues (for
10818both general boxed and primitive unboxed values) that are fast, perform well
10819under contention, and offer a Chan-like interface. The library may be of
10820limited usefulness outside of x86 architectures where the fetch-and-add
10821instruction is not available.")
10822 (license license:bsd-3)))
10823
dddbc90c
RV
10824(define-public ghc-unbounded-delays
10825 (package
10826 (name "ghc-unbounded-delays")
10827 (version "0.1.1.0")
10828 (source
10829 (origin
10830 (method url-fetch)
10831 (uri (string-append
10832 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
10833 version
10834 ".tar.gz"))
10835 (sha256
10836 (base32
10837 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
10838 (build-system haskell-build-system)
10839 (home-page "https://github.com/basvandijk/unbounded-delays")
10840 (synopsis "Unbounded thread delays and timeouts")
10841 (description "The @code{threadDelay} and @code{timeout} functions from the
10842Haskell base library use the bounded @code{Int} type for specifying the delay
10843or timeout period. This package provides alternative functions which use the
10844unbounded @code{Integer} type.")
10845 (license license:bsd-3)))
10846
10847(define-public ghc-unexceptionalio
10848 (package
10849 (name "ghc-unexceptionalio")
10850 (version "0.4.0")
10851 (source
10852 (origin
10853 (method url-fetch)
10854 (uri (string-append "https://hackage.haskell.org/package/"
10855 "unexceptionalio-" version "/" "unexceptionalio-"
10856 version ".tar.gz"))
10857 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
10858 (build-system haskell-build-system)
10859 (home-page "https://github.com/singpolyma/unexceptionalio")
10860 (synopsis "IO without any non-error, synchronous exceptions")
10861 (description "When you've caught all the exceptions that can be
10862handled safely, this is what you're left with.")
10863 (license license:isc)))
10864
10865(define-public ghc-union-find
10866 (package
10867 (name "ghc-union-find")
10868 (version "0.2")
10869 (source (origin
10870 (method url-fetch)
10871 (uri (string-append
10872 "https://hackage.haskell.org/package/union-find/union-find-"
10873 version ".tar.gz"))
10874 (sha256
10875 (base32
10876 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
10877 (build-system haskell-build-system)
10878 (home-page "https://github.com/nominolo/union-find")
10879 (synopsis "Efficient union and equivalence testing of sets")
10880 (description
10881 "The Union/Find algorithm implements these operations in (effectively)
10882constant-time:
10883@enumerate
10884@item Check whether two elements are in the same equivalence class.
10885@item Create a union of two equivalence classes.
10886@item Look up the descriptor of the equivalence class.
10887@end enumerate\n")
10888 (license license:bsd-3)))
10889
10890(define-public ghc-uniplate
10891 (package
10892 (name "ghc-uniplate")
10893 (version "1.6.12")
10894 (source
10895 (origin
10896 (method url-fetch)
10897 (uri (string-append
10898 "https://hackage.haskell.org/package/uniplate/uniplate-"
10899 version
10900 ".tar.gz"))
10901 (sha256
10902 (base32
10903 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
10904 (build-system haskell-build-system)
10905 (inputs
10906 `(("ghc-syb" ,ghc-syb)
10907 ("ghc-hashable" ,ghc-hashable)
10908 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10909 (home-page "http://community.haskell.org/~ndm/uniplate/")
10910 (synopsis "Simple, concise and fast generic operations")
10911 (description "Uniplate is a library for writing simple and concise generic
10912operations. Uniplate has similar goals to the original Scrap Your Boilerplate
10913work, but is substantially simpler and faster.")
10914 (license license:bsd-3)))
10915
10916(define-public ghc-unix-compat
10917 (package
10918 (name "ghc-unix-compat")
bc82e9f5 10919 (version "0.5.2")
dddbc90c
RV
10920 (source
10921 (origin
10922 (method url-fetch)
10923 (uri (string-append
10924 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
10925 version
10926 ".tar.gz"))
10927 (sha256
10928 (base32
bc82e9f5 10929 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
10930 (build-system haskell-build-system)
10931 (home-page
10932 "https://github.com/jystic/unix-compat")
10933 (synopsis "Portable POSIX-compatibility layer")
10934 (description
10935 "This package provides portable implementations of parts of the unix
10936package. This package re-exports the unix package when available. When it
10937isn't available, portable implementations are used.")
10938 (license license:bsd-3)))
10939
10940(define-public ghc-unix-time
10941 (package
10942 (name "ghc-unix-time")
fad9cff2 10943 (version "0.4.7")
dddbc90c
RV
10944 (source
10945 (origin
10946 (method url-fetch)
10947 (uri (string-append
10948 "https://hackage.haskell.org/package/unix-time/unix-time-"
10949 version
10950 ".tar.gz"))
10951 (sha256
10952 (base32
fad9cff2 10953 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
10954 (build-system haskell-build-system)
10955 (arguments
10956 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
10957 ; is weird, that should be provided by GHC 7.10.2.
10958 (inputs
10959 `(("ghc-old-time" ,ghc-old-time)
10960 ("ghc-old-locale" ,ghc-old-locale)))
10961 (home-page "https://hackage.haskell.org/package/unix-time")
10962 (synopsis "Unix time parser/formatter and utilities")
10963 (description "This library provides fast parsing and formatting utilities
10964for Unix time in Haskell.")
10965 (license license:bsd-3)))
10966
10967(define-public ghc-unliftio
10968 (package
10969 (name "ghc-unliftio")
a4084db1 10970 (version "0.2.12")
dddbc90c
RV
10971 (source
10972 (origin
10973 (method url-fetch)
10974 (uri (string-append
10975 "https://hackage.haskell.org/package/unliftio/unliftio-"
10976 version
10977 ".tar.gz"))
10978 (sha256
10979 (base32
a4084db1 10980 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
10981 (build-system haskell-build-system)
10982 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
10983 (inputs
10984 `(("ghc-async" ,ghc-async)
10985 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10986 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
10987 (home-page "https://github.com/fpco/unliftio")
10988 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
10989IO (batteries included)")
10990 (description "This Haskell package provides the core @code{MonadUnliftIO}
10991typeclass, a number of common instances, and a collection of common functions
10992working with it.")
10993 (license license:expat)))
10994
10995(define-public ghc-unliftio-core
10996 (package
10997 (name "ghc-unliftio-core")
2ae42618 10998 (version "0.1.2.0")
dddbc90c
RV
10999 (source
11000 (origin
11001 (method url-fetch)
11002 (uri (string-append "https://hackage.haskell.org/package/"
11003 "unliftio-core-" version "/"
11004 "unliftio-core-" version ".tar.gz"))
11005 (sha256
11006 (base32
2ae42618 11007 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
11008 (build-system haskell-build-system)
11009 (arguments
11010 `(#:cabal-revision
2ae42618 11011 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
11012 (home-page
11013 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
11014 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
11015 (description "This Haskell package provides the core @code{MonadUnliftIO}
11016typeclass, instances for base and transformers, and basic utility
11017functions.")
11018 (license license:expat)))
11019
11020(define-public ghc-unordered-containers
11021 (package
11022 (name "ghc-unordered-containers")
ca01f8d3 11023 (version "0.2.10.0")
dddbc90c
RV
11024 (outputs '("out" "doc"))
11025 (source
11026 (origin
11027 (method url-fetch)
11028 (uri (string-append
11029 "https://hackage.haskell.org/package/unordered-containers"
11030 "/unordered-containers-" version ".tar.gz"))
11031 (sha256
11032 (base32
ca01f8d3 11033 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
11034 (build-system haskell-build-system)
11035 (inputs
11036 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
11037 ("ghc-hunit" ,ghc-hunit)
11038 ("ghc-quickcheck" ,ghc-quickcheck)
11039 ("ghc-test-framework" ,ghc-test-framework)
11040 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11041 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11042 ("ghc-hashable" ,ghc-hashable)))
11043 (home-page
11044 "https://github.com/tibbe/unordered-containers")
11045 (synopsis
11046 "Efficient hashing-based container types")
11047 (description
11048 "Efficient hashing-based container types. The containers have been
11049optimized for performance critical use, both in terms of large data quantities
11050and high speed.")
11051 (license license:bsd-3)))
11052
11053(define-public ghc-unordered-containers-bootstrap
11054 (package
11055 (inherit ghc-unordered-containers)
11056 (name "ghc-unordered-containers-bootstrap")
11057 (arguments `(#:tests? #f))
11058 (inputs
11059 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11060 (properties '((hidden? #t)))))
dddbc90c 11061
a52f4c57
JS
11062(define-public ghc-unsafe
11063 (package
11064 (name "ghc-unsafe")
11065 (version "0.0")
11066 (source
11067 (origin
11068 (method url-fetch)
11069 (uri
11070 (string-append
11071 "https://hackage.haskell.org/package/unsafe/unsafe-"
11072 version ".tar.gz"))
11073 (sha256
11074 (base32
11075 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
11076 (build-system haskell-build-system)
11077 (home-page "https://hackage.haskell.org/package/unsafe")
11078 (synopsis "Unified interface to unsafe functions")
11079 (description "Safe Haskell introduced the notion of safe and unsafe
11080modules. In order to make as many as possible modules ``safe'', the
11081well-known unsafe functions were moved to distinguished modules. This
11082makes it hard to write packages that work with both old and new versions
11083of GHC. This package provides a single module System.Unsafe that
11084exports the unsafe functions from the base package. It provides them in
11085a style ready for qualification, that is, you should import them by
11086@code{import qualified System.Unsafe as Unsafe}.")
11087 (license license:bsd-3)))
11088
dddbc90c
RV
11089(define-public ghc-uri-bytestring
11090 (package
11091 (name "ghc-uri-bytestring")
11092 (version "0.3.2.0")
11093 (source
11094 (origin
11095 (method url-fetch)
11096 (uri (string-append "https://hackage.haskell.org/package/"
11097 "uri-bytestring-" version "/"
11098 "uri-bytestring-" version ".tar.gz"))
11099 (sha256
11100 (base32
11101 "1q04j5ybvk37zk2m0bkjwyhblz0ymdj0cn4rvsvdca1ikn5xdv5c"))))
11102 (build-system haskell-build-system)
11103 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11104 ("ghc-fail" ,ghc-fail)
11105 ("ghc-blaze-builder" ,ghc-blaze-builder)
11106 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
11107 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11108 ("ghc-hunit" ,ghc-hunit)
11109 ("ghc-quickcheck" ,ghc-quickcheck)
11110 ("ghc-tasty" ,ghc-tasty)
11111 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11112 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11113 ("ghc-base-compat" ,ghc-base-compat)
11114 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11115 ("ghc-semigroups" ,ghc-semigroups)
11116 ("ghc-generics-sop" ,ghc-generics-sop)))
11117 (home-page "https://github.com/Soostone/uri-bytestring")
11118 (synopsis "Haskell URI parsing as ByteStrings")
11119 (description "This Haskell package aims to be an RFC3986 compliant URI
11120parser that uses ByteStrings for parsing and representing the URI data.")
11121 (license license:bsd-3)))
11122
11123(define-public ghc-utf8-string
11124 (package
11125 (name "ghc-utf8-string")
11126 (version "1.0.1.1")
11127 (source
11128 (origin
11129 (method url-fetch)
11130 (uri (string-append
11131 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
11132 version
11133 ".tar.gz"))
11134 (sha256
11135 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
11136 (build-system haskell-build-system)
11137 (arguments
11138 `(#:cabal-revision
11139 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
11140 (home-page "https://github.com/glguy/utf8-string/")
11141 (synopsis "Support for reading and writing UTF8 Strings")
11142 (description
11143 "A UTF8 layer for Strings. The utf8-string package provides operations
11144for encoding UTF8 strings to Word8 lists and back, and for reading and writing
11145UTF8 without truncation.")
11146 (license license:bsd-3)))
11147
11148(define-public ghc-utility-ht
11149 (package
11150 (name "ghc-utility-ht")
11151 (version "0.0.14")
11152 (home-page "https://hackage.haskell.org/package/utility-ht")
11153 (source
11154 (origin
11155 (method url-fetch)
11156 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
11157 (sha256
11158 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
11159 (build-system haskell-build-system)
11160 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
11161 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
11162 (description "This package includes Hakell modules providing various
11163helper functions for Lists, Maybes, Tuples, Functions.")
11164 (license license:bsd-3)))
11165
11166(define-public ghc-uuid
11167 (package
11168 (name "ghc-uuid")
11169 (version "1.3.13")
11170 (source
11171 (origin
11172 (method url-fetch)
11173 (uri (string-append "https://hackage.haskell.org/package/"
11174 "uuid-" version "/"
11175 "uuid-" version ".tar.gz"))
11176 (sha256
11177 (base32
11178 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
11179 (build-system haskell-build-system)
11180 (arguments
11181 `(#:cabal-revision
11182 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
11183 #:phases
11184 (modify-phases %standard-phases
11185 (add-before 'configure 'strip-test-framework-constraints
11186 (lambda _
11187 (substitute* "uuid.cabal"
11188 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
11189 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
11190 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11191 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11192 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11193 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
11194 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
11195 ("ghc-entropy" ,ghc-entropy)
11196 ("ghc-network-info" ,ghc-network-info)
11197 ("ghc-random" ,ghc-random)
11198 ("ghc-uuid-types" ,ghc-uuid-types)))
11199 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11200 ("ghc-quickcheck" ,ghc-quickcheck)
11201 ("ghc-tasty" ,ghc-tasty)
11202 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11203 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11204 (home-page "https://github.com/hvr/uuid")
11205 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
11206 (description "This Haskell library provides utilities creating, comparing,
11207parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
11208 (license license:bsd-3)))
11209
11210(define-public ghc-uuid-types
11211 (package
11212 (name "ghc-uuid-types")
11213 (version "1.0.3")
11214 (source
11215 (origin
11216 (method url-fetch)
11217 (uri (string-append "https://hackage.haskell.org/package/"
11218 "uuid-types-" version "/"
11219 "uuid-types-" version ".tar.gz"))
11220 (sha256
11221 (base32
11222 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
11223 (build-system haskell-build-system)
11224 (arguments
11225 `(#:phases
11226 (modify-phases %standard-phases
11227 (add-before 'configure 'strip-test-framework-constraints
11228 (lambda _
11229 (substitute* "uuid-types.cabal"
11230 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
11231 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
11232 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11233 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11234 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11235 (inputs `(("ghc-hashable" ,ghc-hashable)
11236 ("ghc-random" ,ghc-random)))
11237 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11238 ("ghc-quickcheck" ,ghc-quickcheck)
11239 ("ghc-tasty" ,ghc-tasty)
11240 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11241 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11242 (home-page "https://github.com/hvr/uuid")
11243 (synopsis "Haskell type definitions for UUIDs")
11244 (description "This Haskell library contains type definitions for
11245@dfn{Universally Unique Identifiers} or
11246@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
11247functions.")
11248 (license license:bsd-3)))
11249
11250(define-public ghc-validation
11251 (package
11252 (name "ghc-validation")
11253 (version "1")
11254 (source
11255 (origin
11256 (method url-fetch)
11257 (uri (string-append
11258 "mirror://hackage/package/validation/validation-"
11259 version
11260 ".tar.gz"))
11261 (sha256
11262 (base32
11263 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
11264 (build-system haskell-build-system)
11265 (arguments
11266 `(#:cabal-revision
11267 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
11268 (inputs
11269 `(("ghc-semigroups" ,ghc-semigroups)
11270 ("ghc-semigroupoids" ,ghc-semigroupoids)
11271 ("ghc-bifunctors" ,ghc-bifunctors)
11272 ("ghc-lens" ,ghc-lens)))
11273 (native-inputs
11274 `(("ghc-hedgehog" ,ghc-hedgehog)
11275 ("ghc-hunit" ,ghc-hunit)))
11276 (home-page "https://github.com/qfpl/validation")
11277 (synopsis
11278 "Data-type like Either but with an accumulating Applicative")
11279 (description
11280 "A data-type like Either but with differing properties and type-class
11281instances.
11282
11283Library support is provided for this different representation, including
11284@code{lens}-related functions for converting between each and abstracting over
11285their similarities.
11286
11287The @code{Validation} data type is isomorphic to @code{Either}, but has an
11288instance of @code{Applicative} that accumulates on the error side. That is to
11289say, if two (or more) errors are encountered, they are appended using a
11290@{Semigroup} operation.
11291
11292As a consequence of this @code{Applicative} instance, there is no
11293corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11294example of, \"An applicative functor that is not a monad.\"")
11295 (license license:bsd-3)))
11296
11297(define-public ghc-validity
11298 (package
11299 (name "ghc-validity")
3f1ba75d 11300 (version "0.9.0.2")
dddbc90c
RV
11301 (source
11302 (origin
11303 (method url-fetch)
11304 (uri (string-append
11305 "https://hackage.haskell.org/package/validity/validity-"
11306 version
11307 ".tar.gz"))
11308 (sha256
11309 (base32
3f1ba75d 11310 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
11311 (build-system haskell-build-system)
11312 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11313 ("hspec-discover" ,hspec-discover)))
11314 (home-page
11315 "https://github.com/NorfairKing/validity")
11316 (synopsis "Validity typeclass")
11317 (description
11318 "Values of custom types usually have invariants imposed upon them. This
11319package provides the @code{Validity} type class, which makes these invariants
11320explicit by providing a function to check whether the invariants hold.")
11321 (license license:expat)))
11322
11323(define-public ghc-vault
11324 (package
11325 (name "ghc-vault")
11326 (version "0.3.1.2")
11327 (source
11328 (origin
11329 (method url-fetch)
11330 (uri (string-append
11331 "https://hackage.haskell.org/package/vault/vault-"
11332 version
11333 ".tar.gz"))
11334 (sha256
11335 (base32
11336 "072mbrihsdsb8c6xvg6lvk0rqjgvxvi8qkg4n6wwym5hq0pfa04y"))))
11337 (build-system haskell-build-system)
11338 (inputs
11339 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11340 ("ghc-hashable" ,ghc-hashable)
11341 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11342 (home-page
11343 "https://github.com/HeinrichApfelmus/vault")
11344 (synopsis "Persistent store for arbitrary values")
11345 (description "This package provides vaults for Haskell. A vault is a
11346persistent store for values of arbitrary types. It's like having first-class
11347access to the storage space behind @code{IORefs}. The data structure is
11348analogous to a bank vault, where you can access different bank boxes with
11349different keys; hence the name. Also provided is a @code{locker} type,
11350representing a store for a single element.")
11351 (license license:bsd-3)))
11352
11353(define-public ghc-vector
11354 (package
11355 (name "ghc-vector")
3ad67f6b 11356 (version "0.12.0.3")
dddbc90c
RV
11357 (outputs '("out" "doc"))
11358 (source
11359 (origin
11360 (method url-fetch)
11361 (uri (string-append
11362 "https://hackage.haskell.org/package/vector/vector-"
11363 version
11364 ".tar.gz"))
11365 (sha256
11366 (base32
3ad67f6b 11367 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
11368 (build-system haskell-build-system)
11369 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11370 ;; disabled for now.
11371 (arguments
3ad67f6b 11372 `(#:tests? #f))
dddbc90c
RV
11373 (inputs
11374 `(("ghc-primitive" ,ghc-primitive)
11375 ("ghc-random" ,ghc-random)
11376 ("ghc-quickcheck" ,ghc-quickcheck)
11377 ;; ("ghc-hunit" ,ghc-hunit)
11378 ;; ("ghc-test-framework" ,ghc-test-framework)
11379 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11380 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11381 ))
11382 (home-page "https://github.com/haskell/vector")
11383 (synopsis "Efficient Arrays")
11384 (description "This library provides an efficient implementation of
11385Int-indexed arrays (both mutable and immutable), with a powerful loop
11386optimisation framework.")
11387 (license license:bsd-3)))
11388
11389(define-public ghc-vector-algorithms
11390 (package
11391 (name "ghc-vector-algorithms")
e71f316f 11392 (version "0.8.0.1")
dddbc90c
RV
11393 (source
11394 (origin
11395 (method url-fetch)
11396 (uri (string-append "https://hackage.haskell.org/package/"
11397 "vector-algorithms-" version "/"
11398 "vector-algorithms-" version ".tar.gz"))
11399 (sha256
11400 (base32
e71f316f 11401 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
11402 (build-system haskell-build-system)
11403 (inputs
11404 `(("ghc-vector" ,ghc-vector)))
11405 (native-inputs
11406 `(("ghc-quickcheck" ,ghc-quickcheck)))
11407 (home-page "https://github.com/bos/math-functions")
11408 (synopsis "Algorithms for vector arrays in Haskell")
11409 (description "This Haskell library algorithms for vector arrays.")
11410 (license license:bsd-3)))
11411
11412(define-public ghc-vector-binary-instances
11413 (package
11414 (name "ghc-vector-binary-instances")
ca0701ef 11415 (version "0.2.5.1")
dddbc90c
RV
11416 (source
11417 (origin
11418 (method url-fetch)
11419 (uri (string-append
11420 "https://hackage.haskell.org/package/"
11421 "vector-binary-instances/vector-binary-instances-"
11422 version ".tar.gz"))
11423 (sha256
11424 (base32
ca0701ef 11425 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 11426 (build-system haskell-build-system)
dddbc90c
RV
11427 (inputs
11428 `(("ghc-vector" ,ghc-vector)))
11429 (native-inputs
11430 `(("ghc-tasty" ,ghc-tasty)
11431 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11432 (home-page "https://github.com/bos/vector-binary-instances")
11433 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11434 (description "This library provides instances of @code{Binary} for the
11435types defined in the @code{vector} package, making it easy to serialize
11436vectors to and from disk. We use the generic interface to vectors, so all
11437vector types are supported. Specific instances are provided for unboxed,
11438boxed and storable vectors.")
11439 (license license:bsd-3)))
11440
11441(define-public ghc-vector-builder
11442 (package
11443 (name "ghc-vector-builder")
11444 (version "0.3.6")
11445 (source
11446 (origin
11447 (method url-fetch)
11448 (uri (string-append "https://hackage.haskell.org/package/"
11449 "vector-builder-" version "/"
11450 "vector-builder-" version ".tar.gz"))
11451 (sha256
11452 (base32
11453 "06d2pa1fb3ydrl7l6rjazqyxv5i73v65x2f5fp0ypjxfbm6jsmn8"))))
11454 (build-system haskell-build-system)
11455 (inputs `(("ghc-vector" ,ghc-vector)
11456 ("ghc-semigroups" ,ghc-semigroups)
11457 ("ghc-base-prelude" ,ghc-base-prelude)))
11458 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11459 ("ghc-tasty" ,ghc-tasty)
11460 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11461 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11462 ("ghc-hunit" ,ghc-hunit)
11463 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11464 ("ghc-rerebase" ,ghc-rerebase)))
11465 (home-page "https://github.com/nikita-volkov/vector-builder")
11466 (synopsis "Vector builder for Haskell")
11467 (description "This Haskell package provides an API for constructing vectors.
11468It provides the composable @code{Builder} abstraction, which has instances of the
11469@code{Monoid} and @code{Semigroup} classes.
11470
11471You would first use the @code{Builder} abstraction to specify the structure of
11472the vector; then you can execute the builder to actually produce the
11473vector. ")
11474 (license license:expat)))
11475
11476(define-public ghc-vector-th-unbox
11477 (package
11478 (name "ghc-vector-th-unbox")
63056e61 11479 (version "0.2.1.7")
dddbc90c
RV
11480 (source
11481 (origin
11482 (method url-fetch)
11483 (uri (string-append "https://hackage.haskell.org/package/"
11484 "vector-th-unbox-" version "/"
11485 "vector-th-unbox-" version ".tar.gz"))
11486 (sha256
11487 (base32
63056e61 11488 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
11489 (build-system haskell-build-system)
11490 (inputs
11491 `(("ghc-vector" ,ghc-vector)
11492 ("ghc-data-default" ,ghc-data-default)))
11493 (home-page "https://github.com/liyang/vector-th-unbox")
11494 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
11495 (description "This Haskell library provides a Template Haskell
11496deriver for unboxed vectors, given a pair of coercion functions to
11497and from some existing type with an Unbox instance.")
11498 (license license:bsd-3)))
11499
11500(define-public ghc-void
11501 (package
11502 (name "ghc-void")
51889121 11503 (version "0.7.3")
dddbc90c
RV
11504 (source
11505 (origin
11506 (method url-fetch)
11507 (uri (string-append
11508 "https://hackage.haskell.org/package/void/void-"
11509 version
11510 ".tar.gz"))
11511 (sha256
11512 (base32
51889121 11513 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
11514 (build-system haskell-build-system)
11515 (inputs
11516 `(("ghc-semigroups" ,ghc-semigroups)
11517 ("ghc-hashable" ,ghc-hashable)))
11518 (home-page "https://github.com/ekmett/void")
11519 (synopsis
11520 "Logically uninhabited data type")
11521 (description
11522 "A Haskell 98 logically uninhabited data type, used to indicate that a
11523given term should not exist.")
11524 (license license:bsd-3)))
11525
11526(define-public ghc-wave
11527 (package
11528 (name "ghc-wave")
1631a0f7 11529 (version "0.2.0")
dddbc90c
RV
11530 (source (origin
11531 (method url-fetch)
11532 (uri (string-append
11533 "https://hackage.haskell.org/package/wave/wave-"
11534 version
11535 ".tar.gz"))
11536 (sha256
11537 (base32
1631a0f7 11538 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
11539 (build-system haskell-build-system)
11540 (arguments
11541 '(#:phases
11542 (modify-phases %standard-phases
11543 (add-before 'configure 'update-constraints
11544 (lambda _
11545 (substitute* "wave.cabal"
11546 (("temporary.* < 1\\.3")
11547 "temporary >= 1.1 && < 1.4")))))))
11548 (inputs
11549 `(("ghc-cereal" ,ghc-cereal)
11550 ("ghc-data-default-class"
11551 ,ghc-data-default-class)
11552 ("ghc-quickcheck" ,ghc-quickcheck)
11553 ("ghc-temporary" ,ghc-temporary)))
11554 (native-inputs
11555 `(("hspec-discover" ,hspec-discover)
11556 ("ghc-hspec" ,ghc-hspec)))
11557 (home-page "https://github.com/mrkkrp/wave")
11558 (synopsis "Work with WAVE and RF64 files in Haskell")
11559 (description "This package allows you to work with WAVE and RF64
11560files in Haskell.")
11561 (license license:bsd-3)))
11562
11563(define-public ghc-wcwidth
11564 (package
11565 (name "ghc-wcwidth")
11566 (version "0.0.2")
11567 (source
11568 (origin
11569 (method url-fetch)
11570 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11571 version ".tar.gz"))
11572 (sha256
11573 (base32
11574 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11575 (build-system haskell-build-system)
11576 (inputs
11577 `(("ghc-setlocale" ,ghc-setlocale)
11578 ("ghc-utf8-string" ,ghc-utf8-string)
11579 ("ghc-attoparsec" ,ghc-attoparsec)))
11580 (home-page "https://github.com/solidsnack/wcwidth/")
11581 (synopsis "Haskell bindings to wcwidth")
11582 (description "This package provides Haskell bindings to your system's
11583native wcwidth and a command line tool to examine the widths assigned by it.
11584The command line tool can compile a width table to Haskell code that assigns
11585widths to the Char type.")
11586 (license license:bsd-3)))
11587
11588(define-public ghc-wcwidth-bootstrap
11589 (package
11590 (inherit ghc-wcwidth)
11591 (name "ghc-wcwidth-bootstrap")
11592 (inputs
11593 `(("ghc-setlocale" ,ghc-setlocale)
11594 ("ghc-utf8-string" ,ghc-utf8-string)
11595 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 11596 (properties '((hidden? #t)))))
dddbc90c
RV
11597
11598(define-public ghc-weigh
11599 (package
11600 (name "ghc-weigh")
b6d9777f 11601 (version "0.0.14")
dddbc90c
RV
11602 (source
11603 (origin
11604 (method url-fetch)
11605 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11606 "weigh-" version ".tar.gz"))
11607 (sha256
11608 (base32
b6d9777f 11609 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
11610 (build-system haskell-build-system)
11611 (inputs
11612 `(("ghc-split" ,ghc-split)
11613 ("ghc-temporary" ,ghc-temporary)))
11614 (home-page "https://github.com/fpco/weigh#readme")
11615 (synopsis "Measure allocations of a Haskell functions/values")
11616 (description "This package provides tools to measure the memory usage of a
11617Haskell value or function.")
11618 (license license:bsd-3)))
11619
11620(define-public ghc-wl-pprint
11621 (package
11622 (name "ghc-wl-pprint")
11623 (version "1.2.1")
11624 (source (origin
11625 (method url-fetch)
11626 (uri (string-append
11627 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11628 version ".tar.gz"))
11629 (sha256
11630 (base32
11631 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11632 (build-system haskell-build-system)
11633 (home-page "https://hackage.haskell.org/package/wl-pprint")
11634 (synopsis "Wadler/Leijen pretty printer")
11635 (description
11636 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11637Printer}. This version allows the library user to declare overlapping
11638instances of the @code{Pretty} class.")
11639 (license license:bsd-3)))
11640
11641(define-public ghc-wl-pprint-annotated
11642 (package
11643 (name "ghc-wl-pprint-annotated")
11644 (version "0.1.0.1")
11645 (source
11646 (origin
11647 (method url-fetch)
11648 (uri (string-append
11649 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11650 version
11651 ".tar.gz"))
11652 (sha256
11653 (base32
11654 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11655 (build-system haskell-build-system)
11656 (native-inputs
11657 `(("ghc-tasty" ,ghc-tasty)
11658 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11659 (home-page
11660 "https://github.com/minad/wl-pprint-annotated#readme")
11661 (synopsis
11662 "Wadler/Leijen pretty printer with annotation support")
11663 (description
11664 "Annotations are useful for coloring. This is a limited version of
11665@code{wl-pprint-extras} without support for point effects and without the free
11666monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11667Compared to @code{annotated-wl-pprint} this library provides a slightly
11668modernized interface.")
11669 (license license:bsd-3)))
11670
11671(define-public ghc-wl-pprint-text
11672 (package
11673 (name "ghc-wl-pprint-text")
11674 (version "1.2.0.0")
11675 (source
11676 (origin
11677 (method url-fetch)
11678 (uri (string-append
11679 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11680 version ".tar.gz"))
11681 (sha256
11682 (base32
11683 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11684 (build-system haskell-build-system)
11685 (inputs
11686 `(("ghc-base-compat" ,ghc-base-compat)))
11687 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11688 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11689 (description
11690 "A clone of wl-pprint for use with the text library.")
11691 (license license:bsd-3)))
11692
11693(define-public ghc-word8
11694 (package
11695 (name "ghc-word8")
11696 (version "0.1.3")
11697 (source
11698 (origin
11699 (method url-fetch)
11700 (uri (string-append
11701 "https://hackage.haskell.org/package/word8/word8-"
11702 version
11703 ".tar.gz"))
11704 (sha256
11705 (base32
11706 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11707 (build-system haskell-build-system)
11708 (native-inputs
11709 `(("ghc-hspec" ,ghc-hspec)
11710 ("hspec-discover" ,hspec-discover)))
11711 (home-page "https://hackage.haskell.org/package/word8")
11712 (synopsis "Word8 library for Haskell")
11713 (description "Word8 library to be used with @code{Data.ByteString}.")
11714 (license license:bsd-3)))
11715
11716(define-public ghc-x11
11717 (package
11718 (name "ghc-x11")
6c4581a3 11719 (version "1.9.1")
dddbc90c
RV
11720 (source
11721 (origin
11722 (method url-fetch)
11723 (uri (string-append "https://hackage.haskell.org/package/X11/"
11724 "X11-" version ".tar.gz"))
11725 (sha256
6c4581a3 11726 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
11727 (build-system haskell-build-system)
11728 (inputs
11729 `(("libx11" ,libx11)
11730 ("libxrandr" ,libxrandr)
11731 ("libxinerama" ,libxinerama)
11732 ("libxscrnsaver" ,libxscrnsaver)
11733 ("ghc-data-default" ,ghc-data-default)))
11734 (home-page "https://github.com/haskell-pkg-janitors/X11")
11735 (synopsis "Bindings to the X11 graphics library")
11736 (description
11737 "This package provides Haskell bindings to the X11 graphics library. The
11738bindings are a direct translation of the C bindings.")
11739 (license license:bsd-3)))
11740
11741(define-public ghc-x11-xft
11742 (package
11743 (name "ghc-x11-xft")
11744 (version "0.3.1")
11745 (source
11746 (origin
11747 (method url-fetch)
11748 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11749 "X11-xft-" version ".tar.gz"))
11750 (sha256
11751 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11752 (inputs
11753 `(("ghc-x11" ,ghc-x11)
11754 ("ghc-utf8-string" ,ghc-utf8-string)
11755 ("libx11" ,libx11)
11756 ("libxft" ,libxft)
11757 ("xorgproto" ,xorgproto)))
11758 (native-inputs
11759 `(("pkg-config" ,pkg-config)))
11760 (build-system haskell-build-system)
11761 (home-page "https://hackage.haskell.org/package/X11-xft")
11762 (synopsis "Bindings to Xft")
11763 (description
11764 "Bindings to the Xft, X Free Type interface library, and some Xrender
11765parts.")
11766 (license license:lgpl2.1)))
11767
11768(define-public ghc-xdg-basedir
11769 (package
11770 (name "ghc-xdg-basedir")
11771 (version "0.2.2")
11772 (source
11773 (origin
11774 (method url-fetch)
11775 (uri (string-append
11776 "https://hackage.haskell.org/package/xdg-basedir/"
11777 "xdg-basedir-" version ".tar.gz"))
11778 (sha256
11779 (base32
11780 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
11781 (build-system haskell-build-system)
11782 (home-page "http://github.com/willdonnelly/xdg-basedir")
11783 (synopsis "XDG Base Directory library for Haskell")
11784 (description "This package provides a library implementing the XDG Base Directory spec.")
11785 (license license:bsd-3)))
11786
11787(define-public ghc-xml
11788 (package
11789 (name "ghc-xml")
11790 (version "1.3.14")
11791 (source
11792 (origin
11793 (method url-fetch)
11794 (uri (string-append
11795 "https://hackage.haskell.org/package/xml/xml-"
11796 version
11797 ".tar.gz"))
11798 (sha256
11799 (base32
11800 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
11801 (build-system haskell-build-system)
11802 (home-page "http://code.galois.com")
11803 (synopsis "Simple XML library for Haskell")
11804 (description "This package provides a simple XML library for Haskell.")
11805 (license license:bsd-3)))
11806
11807(define-public ghc-xml-conduit
11808 (package
11809 (name "ghc-xml-conduit")
11810 (version "1.8.0.1")
11811 (source
11812 (origin
11813 (method url-fetch)
11814 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
11815 "xml-conduit-" version ".tar.gz"))
11816 (sha256
11817 (base32
11818 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
11819 (build-system haskell-build-system)
11820 (inputs
11821 `(("ghc-conduit" ,ghc-conduit)
11822 ("ghc-conduit-extra" ,ghc-conduit-extra)
11823 ("ghc-doctest" ,ghc-doctest)
11824 ("ghc-resourcet" ,ghc-resourcet)
11825 ("ghc-xml-types" ,ghc-xml-types)
11826 ("ghc-attoparsec" ,ghc-attoparsec)
11827 ("ghc-data-default-class" ,ghc-data-default-class)
11828 ("ghc-blaze-markup" ,ghc-blaze-markup)
11829 ("ghc-blaze-html" ,ghc-blaze-html)
11830 ("ghc-monad-control" ,ghc-monad-control)
11831 ("ghc-hspec" ,ghc-hspec)
11832 ("ghc-hunit" ,ghc-hunit)))
11833 (home-page "https://github.com/snoyberg/xml")
11834 (synopsis "Utilities for dealing with XML with the conduit package")
11835 (description
11836 "This package provides pure-Haskell utilities for dealing with XML with
11837the @code{conduit} package.")
11838 (license license:expat)))
11839
11840(define-public ghc-xml-types
11841 (package
11842 (name "ghc-xml-types")
11843 (version "0.3.6")
11844 (source
11845 (origin
11846 (method url-fetch)
11847 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
11848 "xml-types-" version ".tar.gz"))
11849 (sha256
11850 (base32
11851 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
11852 (build-system haskell-build-system)
11853 (home-page "https://john-millikin.com/software/haskell-xml/")
11854 (synopsis "Basic types for representing XML")
11855 (description "This package provides basic types for representing XML
11856documents.")
11857 (license license:expat)))
11858
11859(define-public ghc-yaml
11860 (package
11861 (name "ghc-yaml")
11862 (version "0.8.32")
11863 (source (origin
11864 (method url-fetch)
11865 (uri (string-append "https://hackage.haskell.org/package/"
11866 "yaml/yaml-" version ".tar.gz"))
11867 (sha256
11868 (base32
11869 "0cbsyh4ilvjzq1q7pxls43k6pdqxg1l85xzibcwpbvmlvrizh86w"))))
11870 (build-system haskell-build-system)
11871 ;; The tests are broken on i686. They are fixed in 0.10.3.0.
11872 ;; See https://github.com/snoyberg/yaml/issues/158
11873 (arguments `(#:tests? #f))
11874 (inputs
11875 `(("ghc-conduit" ,ghc-conduit)
11876 ("ghc-resourcet" ,ghc-resourcet)
11877 ("ghc-aeson" ,ghc-aeson)
11878 ("ghc-unordered-containers" ,ghc-unordered-containers)
11879 ("ghc-vector" ,ghc-vector)
11880 ("ghc-attoparsec" ,ghc-attoparsec)
11881 ("ghc-scientific" ,ghc-scientific)
11882 ("ghc-semigroups" ,ghc-semigroups)
11883 ("ghc-temporary" ,ghc-temporary)
11884 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11885 ("ghc-base-compat" ,ghc-base-compat)))
11886 (native-inputs
11887 `(("ghc-hspec" ,ghc-hspec)
11888 ("ghc-hunit" ,ghc-hunit)
11889 ("hspec-discover" ,hspec-discover)
11890 ("ghc-mockery" ,ghc-mockery)))
11891 (home-page "https://github.com/snoyberg/yaml/")
11892 (synopsis "Parsing and rendering YAML documents")
11893 (description
11894 "This package provides a library to parse and render YAML documents.")
11895 (license license:bsd-3)))
11896
11897(define-public ghc-zip-archive
11898 (package
11899 (name "ghc-zip-archive")
93c1fdd3 11900 (version "0.4.1")
dddbc90c
RV
11901 (source
11902 (origin
11903 (method url-fetch)
11904 (uri (string-append
11905 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
11906 version
11907 ".tar.gz"))
11908 (sha256
11909 (base32
93c1fdd3 11910 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 11911 (build-system haskell-build-system)
93c1fdd3
TS
11912 (arguments
11913 `(#:phases
11914 (modify-phases %standard-phases
11915 (add-before 'check 'set-PATH-for-tests
11916 (lambda* (#:key inputs #:allow-other-keys)
11917 (let ((unzip (assoc-ref inputs "unzip"))
11918 (which (assoc-ref inputs "which"))
11919 (path (getenv "PATH")))
11920 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
11921 #t))))))
dddbc90c
RV
11922 (inputs
11923 `(("ghc-digest" ,ghc-digest)
11924 ("ghc-temporary" ,ghc-temporary)
11925 ("ghc-zlib" ,ghc-zlib)))
11926 (native-inputs
11927 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
11928 ("unzip" ,unzip)
11929 ("which" ,which)))
dddbc90c
RV
11930 (home-page "https://hackage.haskell.org/package/zip-archive")
11931 (synopsis "Zip archive library for Haskell")
11932 (description "The zip-archive library provides functions for creating,
11933modifying, and extracting files from zip archives in Haskell.")
11934 (license license:bsd-3)))
11935
11936(define-public ghc-zlib
11937 (package
11938 (name "ghc-zlib")
bf12089a 11939 (version "0.6.2.1")
dddbc90c
RV
11940 (outputs '("out" "doc"))
11941 (source
11942 (origin
11943 (method url-fetch)
11944 (uri (string-append
11945 "https://hackage.haskell.org/package/zlib/zlib-"
11946 version
11947 ".tar.gz"))
11948 (sha256
11949 (base32
bf12089a 11950 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
11951 (build-system haskell-build-system)
11952 (arguments
11953 `(#:phases
11954 (modify-phases %standard-phases
11955 (add-before 'configure 'strip-test-framework-constraints
11956 (lambda _
11957 (substitute* "zlib.cabal"
11958 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
11959 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
11960 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11961 (inputs `(("zlib" ,zlib)))
11962 (native-inputs
11963 `(("ghc-quickcheck" ,ghc-quickcheck)
11964 ("ghc-tasty" ,ghc-tasty)
11965 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11966 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11967 (home-page "https://hackage.haskell.org/package/zlib")
11968 (synopsis
11969 "Compression and decompression in the gzip and zlib formats")
11970 (description
11971 "This package provides a pure interface for compressing and decompressing
11972streams of data represented as lazy @code{ByteString}s. It uses the zlib C
11973library so it has high performance. It supports the @code{zlib}, @code{gzip}
11974and @code{raw} compression formats. It provides a convenient high level API
11975suitable for most tasks and for the few cases where more control is needed it
11976provides access to the full zlib feature set.")
bbf8bf31 11977 (license license:bsd-3)))
14e41996
RV
11978
11979(define-public ghc-zlib-bindings
11980 (package
11981 (name "ghc-zlib-bindings")
11982 (version "0.1.1.5")
11983 (source
11984 (origin
11985 (method url-fetch)
11986 (uri (string-append "https://hackage.haskell.org/package/"
11987 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
11988 (sha256
11989 (base32
11990 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
11991 (build-system haskell-build-system)
11992 (inputs
11993 `(("ghc-zlib" ,ghc-zlib)))
11994 (native-inputs
11995 `(("ghc-hspec" ,ghc-hspec)
11996 ("ghc-quickcheck" ,ghc-quickcheck)))
11997 (arguments
11998 `(#:cabal-revision
11999 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
12000 (home-page "https://github.com/snapframework/zlib-bindings")
12001 (synopsis "Low-level bindings to the @code{zlib} package")
12002 (description "This package provides low-level bindings to the
12003@code{zlib} package.")
12004 (license license:bsd-3)))