gnu: ghc-system-fileio: Update to 0.3.16.4.
[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")
acdd03be 1583 (version "0.5")
dddbc90c
RV
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
acdd03be 1592 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1593 (build-system haskell-build-system)
acdd03be
TS
1594 (arguments
1595 `(#:cabal-revision
1596 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1597 (inputs
1598 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1599 ("ghc-patience" ,ghc-patience)
1600 ("ghc-random" ,ghc-random)
1601 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1602 (home-page "https://john-millikin.com/software/chell/")
1603 (synopsis "Simple and intuitive library for automated testing")
1604 (description
1605 "Chell is a simple and intuitive library for automated testing.
1606It natively supports assertion-based testing, and can use companion
1607libraries such as @code{chell-quickcheck} to support more complex
1608testing strategies.")
1609 (license license:expat)))
1610
1611(define-public ghc-chell-quickcheck
1612 (package
1613 (name "ghc-chell-quickcheck")
e0e21831 1614 (version "0.2.5.2")
dddbc90c
RV
1615 (source
1616 (origin
1617 (method url-fetch)
1618 (uri (string-append
1619 "https://hackage.haskell.org/package/chell-quickcheck/"
1620 "chell-quickcheck-" version ".tar.gz"))
1621 (sha256
1622 (base32
e0e21831 1623 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1624 (build-system haskell-build-system)
1625 (arguments
1626 `(#:phases
1627 (modify-phases %standard-phases
1628 (add-before 'configure 'update-constraints
1629 (lambda _
1630 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1631 (("QuickCheck >= 2\\.3 && < 2\\.13")
1632 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1633 (inputs
1634 `(("ghc-chell" ,ghc-chell)
1635 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1636 ("ghc-random" ,ghc-random)
1637 ("ghc-quickcheck" ,ghc-quickcheck)))
1638 (home-page "https://john-millikin.com/software/chell/")
1639 (synopsis "QuickCheck support for the Chell testing library")
1640 (description "More complex tests for @code{chell}.")
1641 (license license:expat)))
1642
1643(define ghc-chell-quickcheck-bootstrap
1644 (package
1645 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1646 (version "0.2.5.2")
dddbc90c
RV
1647 (source
1648 (origin
1649 (method url-fetch)
1650 (uri (string-append
1651 "https://hackage.haskell.org/package/chell-quickcheck/"
1652 "chell-quickcheck-" version ".tar.gz"))
1653 (sha256
1654 (base32
e0e21831 1655 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1656 (build-system haskell-build-system)
1657 (inputs
1658 `(("ghc-chell" ,ghc-chell)
1659 ("ghc-random" ,ghc-random)
1660 ("ghc-quickcheck" ,ghc-quickcheck)))
1661 (arguments
1662 `(#:tests? #f
1663 #:phases
1664 (modify-phases %standard-phases
1665 (add-before 'configure 'update-constraints
1666 (lambda _
1667 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1668 (("QuickCheck >= 2\\.3 && < 2\\.13")
1669 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1670 (home-page "https://john-millikin.com/software/chell/")
1671 (synopsis "QuickCheck support for the Chell testing library")
1672 (description "More complex tests for @code{chell}.")
1673 (license license:expat)))
1674
1675(define-public ghc-chunked-data
1676 (package
1677 (name "ghc-chunked-data")
1678 (version "0.3.1")
1679 (source
1680 (origin
1681 (method url-fetch)
1682 (uri (string-append "https://hackage.haskell.org/package/"
1683 "chunked-data-" version "/"
1684 "chunked-data-" version ".tar.gz"))
1685 (sha256
1686 (base32
1687 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1688 (build-system haskell-build-system)
1689 (inputs `(("ghc-vector" ,ghc-vector)
1690 ("ghc-semigroups" ,ghc-semigroups)))
1691 (home-page "https://github.com/snoyberg/mono-traversable")
1692 (synopsis "Typeclasses for dealing with various chunked data
1693representations for Haskell")
1694 (description "This Haskell package was originally present in
1695classy-prelude.")
1696 (license license:expat)))
1697
1698(define-public ghc-clock
1699 (package
1700 (name "ghc-clock")
0841b6f2 1701 (version "0.8")
dddbc90c
RV
1702 (source
1703 (origin
1704 (method url-fetch)
1705 (uri (string-append
1706 "https://hackage.haskell.org/package/"
1707 "clock/"
1708 "clock-" version ".tar.gz"))
1709 (sha256
0841b6f2 1710 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1711 (build-system haskell-build-system)
1712 (inputs
1713 `(("ghc-tasty" ,ghc-tasty)
1714 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1715 (home-page "https://hackage.haskell.org/package/clock")
1716 (synopsis "High-resolution clock for Haskell")
1717 (description "A package for convenient access to high-resolution clock and
1718timer functions of different operating systems via a unified API.")
1719 (license license:bsd-3)))
1720
1721;; This package builds `clock` without tests, since the tests rely on tasty
1722;; and tasty-quickcheck, which in turn require clock to build.
1723(define-public ghc-clock-bootstrap
1724 (package
1725 (inherit ghc-clock)
1726 (name "ghc-clock-bootstrap")
1727 (arguments '(#:tests? #f))
1728 (inputs '())
1729 (properties '((hidden? #t)))))
1730
1731(define-public ghc-cmark
1732 (package
1733 (name "ghc-cmark")
6bdd36c0 1734 (version "0.6")
dddbc90c
RV
1735 (source (origin
1736 (method url-fetch)
6bdd36c0 1737 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1738 ;; See cbits/cmark_version.h.
1739 (uri (string-append "https://hackage.haskell.org/package/"
1740 "cmark/cmark-" version ".tar.gz"))
1741 (sha256
1742 (base32
6bdd36c0 1743 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
1744 (build-system haskell-build-system)
1745 (native-inputs
1746 `(("ghc-hunit" ,ghc-hunit)))
1747 (home-page "https://github.com/jgm/commonmark-hs")
1748 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1749 (description
1750 "This package provides Haskell bindings for
1751@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1752CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1753sources, and does not require prior installation of the C library.")
1754 (license license:bsd-3)))
1755
1756(define-public ghc-cmark-gfm
1757 (package
1758 (name "ghc-cmark-gfm")
24fc8dae 1759 (version "0.2.0")
dddbc90c
RV
1760 (source
1761 (origin
1762 (method url-fetch)
1763 (uri (string-append "https://hackage.haskell.org/package/"
1764 "cmark-gfm/cmark-gfm-"
1765 version ".tar.gz"))
1766 (sha256
1767 (base32
24fc8dae 1768 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
1769 (build-system haskell-build-system)
1770 (native-inputs
1771 `(("ghc-hunit" ,ghc-hunit)))
1772 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1773 (synopsis
1774 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1775 (description
1776 "This package provides Haskell bindings for libcmark-gfm, the reference
1777parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1778It includes sources for libcmark-gfm and does not require prior installation
1779of the C library.")
1780 (license license:bsd-3)))
1781
1782(define-public ghc-cmdargs
1783 (package
1784 (name "ghc-cmdargs")
1785 (version "0.10.20")
1786 (source
1787 (origin
1788 (method url-fetch)
1789 (uri (string-append
1790 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1791 version ".tar.gz"))
1792 (sha256
1793 (base32
1794 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1795 (build-system haskell-build-system)
1796 (home-page
1797 "http://community.haskell.org/~ndm/cmdargs/")
1798 (synopsis "Command line argument processing")
1799 (description
1800 "This library provides an easy way to define command line parsers.")
1801 (license license:bsd-3)))
1802
1803(define-public ghc-code-page
1804 (package
1805 (name "ghc-code-page")
f6bb6519 1806 (version "0.2")
dddbc90c
RV
1807 (source
1808 (origin
1809 (method url-fetch)
1810 (uri (string-append
1811 "https://hackage.haskell.org/package/code-page/code-page-"
1812 version ".tar.gz"))
1813 (sha256
1814 (base32
f6bb6519 1815 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1816 (build-system haskell-build-system)
1817 (home-page "https://github.com/RyanGlScott/code-page")
1818 (synopsis "Windows code page library for Haskell")
1819 (description "A cross-platform library with functions for adjusting
1820code pages on Windows. On all other operating systems, the library does
1821nothing.")
1822 (license license:bsd-3)))
1823
1824(define-public ghc-colour
1825(package
1826 (name "ghc-colour")
bc9d1af9 1827 (version "2.3.5")
dddbc90c
RV
1828 (source
1829 (origin
1830 (method url-fetch)
1831 (uri (string-append
1832 "https://hackage.haskell.org/package/colour/colour-"
1833 version ".tar.gz"))
1834 (sha256
1835 (base32
bc9d1af9 1836 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1837 (arguments
1838 ;; The tests for this package have the following dependency cycle:
1839 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1840 `(#:tests? #f))
1841 (build-system haskell-build-system)
1842 (home-page "https://www.haskell.org/haskellwiki/Colour")
1843 (synopsis "Model for human colour perception")
1844 (description
1845 "This package provides a data type for colours and transparency.
1846Colours can be blended and composed. Various colour spaces are
1847supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1848 (license license:expat)))
1849
1850(define-public ghc-comonad
1851 (package
1852 (name "ghc-comonad")
1853 (version "5.0.4")
1854 (source
1855 (origin
1856 (method url-fetch)
1857 (uri (string-append
1858 "https://hackage.haskell.org/package/comonad/comonad-"
1859 version
1860 ".tar.gz"))
1861 (sha256
1862 (base32
1863 "09g870c4flp4k3fgbibsd0mmfjani1qcpbcl685v8x89kxzrva3q"))))
1864 (build-system haskell-build-system)
1865 (native-inputs
1866 `(("cabal-doctest" ,cabal-doctest)
1867 ("ghc-doctest" ,ghc-doctest)))
1868 (inputs
1869 `(("ghc-contravariant" ,ghc-contravariant)
1870 ("ghc-distributive" ,ghc-distributive)
1871 ("ghc-semigroups" ,ghc-semigroups)
1872 ("ghc-tagged" ,ghc-tagged)
1873 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1874 (home-page "https://github.com/ekmett/comonad/")
1875 (synopsis "Comonads for Haskell")
1876 (description "This library provides @code{Comonad}s for Haskell.")
1877 (license license:bsd-3)))
1878
1879(define-public ghc-concatenative
1880 (package
1881 (name "ghc-concatenative")
1882 (version "1.0.1")
1883 (source (origin
1884 (method url-fetch)
1885 (uri (string-append
1886 "https://hackage.haskell.org/package/concatenative/concatenative-"
1887 version ".tar.gz"))
1888 (sha256
1889 (base32
1890 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1891 (build-system haskell-build-system)
1892 (home-page
1893 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1894 (synopsis "Library for postfix control flow")
1895 (description
1896 "Concatenative gives Haskell Factor-style combinators and arrows for
1897postfix notation. For more information on stack based languages, see
1898@uref{https://concatenative.org}.")
1899 (license license:bsd-3)))
1900
1901(define-public ghc-concurrent-extra
1902 (package
1903 (name "ghc-concurrent-extra")
1904 (version "0.7.0.12")
1905 (source
1906 (origin
1907 (method url-fetch)
1908 (uri (string-append "https://hackage.haskell.org/package/"
1909 "concurrent-extra/concurrent-extra-"
1910 version ".tar.gz"))
1911 (sha256
1912 (base32
1913 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
1914 (build-system haskell-build-system)
1915 (arguments
1916 ;; XXX: The ReadWriteLock 'stressTest' fails.
1917 `(#:tests? #f))
1918 (inputs
1919 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
1920 (native-inputs
1921 `(("ghc-async" ,ghc-async)
1922 ("ghc-hunit" ,ghc-hunit)
1923 ("ghc-random" ,ghc-random)
1924 ("ghc-test-framework" ,ghc-test-framework)
1925 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
1926 (home-page "https://github.com/basvandijk/concurrent-extra")
1927 (synopsis "Extra concurrency primitives")
1928 (description "This Haskell library offers (among other things) the
1929following selection of synchronisation primitives:
1930
1931@itemize
1932@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
1933@item @code{Event}: Wake multiple threads by signalling an event.
1934@item @code{Lock}: Enforce exclusive access to a resource. Also known
1935as a binary semaphore or mutex. The package additionally provides an
1936alternative that works in the STM monad.
1937@item @code{RLock}: A lock which can be acquired multiple times by the
1938same thread. Also known as a reentrant mutex.
1939@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
1940to protect shared resources which may be concurrently read, but only
1941sequentially written.
1942@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
1943@end itemize
1944
1945Please consult the API documentation of the individual modules for more
1946detailed information.
1947
1948This package was inspired by the concurrency libraries of Java and
1949Python.")
1950 (license license:bsd-3)))
1951
1952(define-public ghc-concurrent-output
1953 (package
1954 (name "ghc-concurrent-output")
4fce0a4a 1955 (version "1.10.11")
dddbc90c
RV
1956 (source
1957 (origin
1958 (method url-fetch)
1959 (uri (string-append
1960 "mirror://hackage/package/concurrent-output/concurrent-output-"
1961 version
1962 ".tar.gz"))
1963 (sha256
1964 (base32
4fce0a4a 1965 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
1966 (build-system haskell-build-system)
1967 (inputs
1968 `(("ghc-async" ,ghc-async)
1969 ("ghc-exceptions" ,ghc-exceptions)
1970 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1971 ("ghc-terminal-size" ,ghc-terminal-size)))
1972 (home-page
1973 "https://hackage.haskell.org/package/concurrent-output")
1974 (synopsis
1975 "Ungarble output from several threads or commands")
1976 (description
1977 "Lets multiple threads and external processes concurrently output to the
1978console, without it getting all garbled up.
1979
1980Built on top of that is a way of defining multiple output regions, which are
1981automatically laid out on the screen and can be individually updated by
1982concurrent threads. Can be used for progress displays etc.")
1983 (license license:bsd-2)))
1984
1985(define-public ghc-conduit
1986 (package
1987 (name "ghc-conduit")
1988 (version "1.3.0.3")
1989 (source (origin
1990 (method url-fetch)
1991 (uri (string-append "https://hackage.haskell.org/package/"
1992 "conduit/conduit-" version ".tar.gz"))
1993 (sha256
1994 (base32
1995 "1sangm0qqi9dzlq95746a3kl14k8b09592a423shxjf2a0b1yx5v"))))
1996 (build-system haskell-build-system)
1997 (inputs
1998 `(("ghc-exceptions" ,ghc-exceptions)
1999 ("ghc-lifted-base" ,ghc-lifted-base)
2000 ("ghc-mono-traversable" ,ghc-mono-traversable)
2001 ("ghc-mmorph" ,ghc-mmorph)
2002 ("ghc-resourcet" ,ghc-resourcet)
2003 ("ghc-silently" ,ghc-silently)
2004 ("ghc-transformers-base" ,ghc-transformers-base)
2005 ("ghc-unliftio" ,ghc-unliftio)
2006 ("ghc-unliftio-core" ,ghc-unliftio-core)
2007 ("ghc-vector" ,ghc-vector)
2008 ("ghc-void" ,ghc-void)))
2009 (native-inputs
2010 `(("ghc-quickcheck" ,ghc-quickcheck)
2011 ("ghc-hspec" ,ghc-hspec)
2012 ("ghc-safe" ,ghc-safe)
2013 ("ghc-split" ,ghc-split)))
2014 (home-page "https://github.com/snoyberg/conduit")
2015 (synopsis "Streaming data library ")
2016 (description
2017 "The conduit package is a solution to the streaming data problem,
2018allowing for production, transformation, and consumption of streams of data
2019in constant memory. It is an alternative to lazy I/O which guarantees
2020deterministic resource handling, and fits in the same general solution
2021space as enumerator/iteratee and pipes.")
2022 (license license:expat)))
2023
2024(define-public ghc-conduit-algorithms
2025 (package
2026 (name "ghc-conduit-algorithms")
2027 (version "0.0.8.1")
2028 (source
2029 (origin
2030 (method url-fetch)
2031 (uri (string-append "https://hackage.haskell.org/package/"
2032 "conduit-algorithms/conduit-algorithms-"
2033 version ".tar.gz"))
2034 (sha256
2035 (base32
2036 "07gx2q3d1bbfw14q41rmqg0i4m018pci10lswc0k1ij6lw7sb9fd"))))
2037 (build-system haskell-build-system)
2038 (inputs
2039 `(("ghc-async" ,ghc-async)
2040 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2041 ("ghc-conduit" ,ghc-conduit)
2042 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2043 ("ghc-conduit-extra" ,ghc-conduit-extra)
2044 ("ghc-exceptions" ,ghc-exceptions)
2045 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2046 ("ghc-monad-control" ,ghc-monad-control)
2047 ("ghc-pqueue" ,ghc-pqueue)
2048 ("ghc-resourcet" ,ghc-resourcet)
2049 ("ghc-stm-conduit" ,ghc-stm-conduit)
2050 ("ghc-streaming-commons" ,ghc-streaming-commons)
2051 ("ghc-unliftio-core" ,ghc-unliftio-core)
2052 ("ghc-vector" ,ghc-vector)))
2053 (native-inputs
2054 `(("ghc-hunit" ,ghc-hunit)
2055 ("ghc-test-framework" ,ghc-test-framework)
2056 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2057 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2058 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2059 (synopsis "Conduit-based algorithms")
2060 (description
2061 "This package provides algorithms on @code{Conduits}, including higher
2062level asynchronous processing and some other utilities.")
2063 (license license:expat)))
2064
2065(define-public ghc-conduit-combinators
2066 (package
2067 (name "ghc-conduit-combinators")
2068 (version "1.3.0")
2069 (source
2070 (origin
2071 (method url-fetch)
2072 (uri (string-append "https://hackage.haskell.org/package/"
2073 "conduit-combinators-" version "/"
2074 "conduit-combinators-" version ".tar.gz"))
2075 (sha256
2076 (base32
2077 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2078 (build-system haskell-build-system)
2079 (inputs `(("ghc-conduit" ,ghc-conduit)
2080 ("ghc-conduit-extra" ,ghc-conduit-extra)
2081 ("ghc-transformers-base" ,ghc-transformers-base)
2082 ("ghc-primitive" ,ghc-primitive)
2083 ("ghc-vector" ,ghc-vector)
2084 ("ghc-void" ,ghc-void)
2085 ("ghc-mwc-random" ,ghc-mwc-random)
2086 ("ghc-unix-compat" ,ghc-unix-compat)
2087 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2088 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2089 ("ghc-resourcet" ,ghc-resourcet)
2090 ("ghc-monad-control" ,ghc-monad-control)
2091 ("ghc-chunked-data" ,ghc-chunked-data)
2092 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2093 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2094 ("ghc-silently" ,ghc-silently)
2095 ("ghc-safe" ,ghc-safe)
2096 ("ghc-quickcheck" ,ghc-quickcheck)))
2097 (home-page "https://github.com/snoyberg/mono-traversable")
2098 (synopsis "Commonly used conduit functions, for both chunked and
2099unchunked data")
2100 (description "This Haskell package provides a replacement for Data.Conduit.List,
2101as well as a convenient Conduit module.")
2102 (license license:expat)))
2103
2104(define-public ghc-conduit-extra
2105 (package
2106 (name "ghc-conduit-extra")
2107 (version "1.3.1.1")
2108 (source
2109 (origin
2110 (method url-fetch)
2111 (uri (string-append "https://hackage.haskell.org/package/"
2112 "conduit-extra/conduit-extra-"
2113 version ".tar.gz"))
2114 (sha256
2115 (base32
2116 "0jaj350vv6mbb26gdwcqz4gwzfzrjydv5pis2da49wz1npbakcfw"))))
2117 (build-system haskell-build-system)
2118 (inputs
2119 `(("ghc-conduit" ,ghc-conduit)
2120 ("ghc-exceptions" ,ghc-exceptions)
2121 ("ghc-monad-control" ,ghc-monad-control)
2122 ("ghc-transformers-base" ,ghc-transformers-base)
2123 ("ghc-typed-process" ,ghc-typed-process)
2124 ("ghc-async" ,ghc-async)
2125 ("ghc-attoparsec" ,ghc-attoparsec)
2126 ("ghc-blaze-builder" ,ghc-blaze-builder)
2127 ("ghc-network" ,ghc-network)
2128 ("ghc-primitive" ,ghc-primitive)
2129 ("ghc-resourcet" ,ghc-resourcet)
2130 ("ghc-streaming-commons" ,ghc-streaming-commons)
2131 ("ghc-hspec" ,ghc-hspec)
2132 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2133 ("ghc-quickcheck" ,ghc-quickcheck)))
2134 (native-inputs
2135 `(("hspec-discover" ,hspec-discover)))
2136 (home-page "https://github.com/snoyberg/conduit")
2137 (synopsis "Conduit adapters for common libraries")
2138 (description
2139 "The @code{conduit} package itself maintains relative small dependencies.
2140The purpose of this package is to collect commonly used utility functions
2141wrapping other library dependencies, without depending on heavier-weight
2142dependencies. The basic idea is that this package should only depend on
2143@code{haskell-platform} packages and @code{conduit}.")
2144 (license license:expat)))
2145
2146(define-public ghc-configurator
2147 (package
2148 (name "ghc-configurator")
2149 (version "0.3.0.0")
2150 (source
2151 (origin
2152 (method url-fetch)
2153 (uri (string-append "https://hackage.haskell.org/package/"
2154 "configurator/configurator-"
2155 version ".tar.gz"))
2156 (sha256
2157 (base32
2158 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2159 (build-system haskell-build-system)
2160 (inputs
2161 `(("ghc-attoparsec" ,ghc-attoparsec)
2162 ("ghc-hashable" ,ghc-hashable)
2163 ("ghc-unix-compat" ,ghc-unix-compat)
2164 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2165 (native-inputs
2166 `(("ghc-hunit" ,ghc-hunit)
2167 ("ghc-test-framework" ,ghc-test-framework)
2168 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2169 (home-page "http://github.com/bos/configurator")
2170 (synopsis "Configuration management")
2171 (description
2172 "This package provides a configuration management library for programs
2173and daemons. The features include:
2174
2175@enumerate
2176@item Automatic, dynamic reloading in response to modifications to
2177 configuration files.
2178@item A simple, but flexible, configuration language, supporting several of
2179 the most commonly needed types of data, along with interpolation of strings
2180 from the configuration or the system environment (e.g. @code{$(HOME)}).
2181@item Subscription-based notification of changes to configuration properties.
2182@item An @code{import} directive allows the configuration of a complex
2183 application to be split across several smaller files, or common configuration
2184 data to be shared across several applications.
2185@end enumerate\n")
2186 (license license:bsd-3)))
2187
2188(define-public ghc-connection
2189 (package
2190 (name "ghc-connection")
2191 (version "0.2.8")
2192 (source (origin
2193 (method url-fetch)
2194 (uri (string-append "https://hackage.haskell.org/package/"
2195 "connection/connection-"
2196 version ".tar.gz"))
2197 (sha256
2198 (base32
2199 "1swkb9w5vx9ph7x55y51dc0srj2z27nd9ibgn8c0qcl6hx7g9cbh"))))
2200 (build-system haskell-build-system)
2201 (inputs
2202 `(("ghc-byteable" ,ghc-byteable)
2203 ("ghc-data-default-class" ,ghc-data-default-class)
2204 ("ghc-network" ,ghc-network)
2205 ("ghc-tls" ,ghc-tls)
2206 ("ghc-socks" ,ghc-socks)
2207 ("ghc-x509" ,ghc-x509)
2208 ("ghc-x509-store" ,ghc-x509-store)
2209 ("ghc-x509-system" ,ghc-x509-system)
2210 ("ghc-x509-validation" ,ghc-x509-validation)))
2211 (home-page "https://github.com/vincenthz/hs-connection")
2212 (synopsis "Simple and easy network connections API")
2213 (description
2214 "This package provides a simple network library for all your connection
2215needs. It provides a very simple API to create sockets to a destination with
2216the choice of SSL/TLS, and SOCKS.")
2217 (license license:bsd-3)))
2218
2219(define-public ghc-constraints
2220 (package
2221 (name "ghc-constraints")
2222 (version "0.10.1")
2223 (source
2224 (origin
2225 (method url-fetch)
2226 (uri (string-append
2227 "https://hackage.haskell.org/package/constraints/constraints-"
2228 version ".tar.gz"))
2229 (sha256
2230 (base32
2231 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2232 (build-system haskell-build-system)
2233 (inputs
2234 `(("ghc-hashable" ,ghc-hashable)
2235 ("ghc-semigroups" ,ghc-semigroups)
2236 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2237 (native-inputs
2238 `(("ghc-hspec" ,ghc-hspec)
2239 ("hspec-discover" ,hspec-discover)))
2240 (home-page "https://github.com/ekmett/constraints/")
2241 (synopsis "Constraint manipulation")
2242 (description
2243 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2244They stopped crashing the compiler in GHC 7.6. This package provides
2245a vocabulary for working with them.")
2246 (license license:bsd-3)))
2247
2248(define-public ghc-contravariant
2249 (package
2250 (name "ghc-contravariant")
e7b35ff0 2251 (version "1.5.2")
dddbc90c
RV
2252 (source
2253 (origin
2254 (method url-fetch)
2255 (uri (string-append
2256 "https://hackage.haskell.org/package/contravariant/contravariant-"
2257 version
2258 ".tar.gz"))
2259 (sha256
2260 (base32
e7b35ff0 2261 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2262 (build-system haskell-build-system)
2263 (inputs
2264 `(("ghc-void" ,ghc-void)
2265 ("ghc-transformers-compat" ,ghc-transformers-compat)
2266 ("ghc-statevar" ,ghc-statevar)
2267 ("ghc-semigroups" ,ghc-semigroups)))
2268 (home-page
2269 "https://github.com/ekmett/contravariant/")
2270 (synopsis "Contravariant functors")
2271 (description "Contravariant functors for Haskell.")
2272 (license license:bsd-3)))
2273
2274(define-public ghc-contravariant-extras
2275 (package
2276 (name "ghc-contravariant-extras")
2277 (version "0.3.4")
2278 (source
2279 (origin
2280 (method url-fetch)
2281 (uri (string-append "https://hackage.haskell.org/package/"
2282 "contravariant-extras-" version "/"
2283 "contravariant-extras-" version ".tar.gz"))
2284 (sha256
2285 (base32
2286 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2287 (build-system haskell-build-system)
2288 (inputs
2289 `(("ghc-tuple-th" ,ghc-tuple-th)
2290 ("ghc-contravariant" ,ghc-contravariant)
2291 ("ghc-base-prelude" ,ghc-base-prelude)
2292 ("ghc-semigroups" ,ghc-semigroups)))
2293 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2294 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2295 (description "This Haskell package provides extras for the
2296@code{ghc-contravariant} package.")
2297 (license license:expat)))
2298
2299(define-public ghc-convertible
2300 (package
2301 (name "ghc-convertible")
2302 (version "1.1.1.0")
2303 (source
2304 (origin
2305 (method url-fetch)
2306 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2307 "convertible-" version ".tar.gz"))
2308 (sha256
2309 (base32
2310 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2311 (build-system haskell-build-system)
2312 (inputs
2313 `(("ghc-old-time" ,ghc-old-time)
2314 ("ghc-old-locale" ,ghc-old-locale)))
2315 (home-page "https://hackage.haskell.org/package/convertible")
2316 (synopsis "Typeclasses and instances for converting between types")
2317 (description
2318 "This package provides a typeclass with a single function that is
2319designed to help convert between different types: numeric values, dates and
2320times, and the like. The conversions perform bounds checking and return a
2321pure @code{Either} value. This means that you need not remember which specific
2322function performs the conversion you desire.")
2323 (license license:bsd-3)))
2324
2325(define-public ghc-data-accessor
2326 (package
2327 (name "ghc-data-accessor")
6dcca515 2328 (version "0.2.2.8")
dddbc90c
RV
2329 (source
2330 (origin
2331 (method url-fetch)
2332 (uri (string-append
2333 "mirror://hackage/package/data-accessor/data-accessor-"
2334 version ".tar.gz"))
2335 (sha256
6dcca515 2336 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2337 (build-system haskell-build-system)
2338 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2339 (synopsis
2340 "Haskell utilities for accessing and manipulating fields of records")
2341 (description "This package provides Haskell modules for accessing and
2342manipulating fields of records.")
2343 (license license:bsd-3)))
2344
2345(define-public ghc-data-accessor-transformers
2346 (package
2347 (name "ghc-data-accessor-transformers")
2348 (version "0.2.1.7")
2349 (source
2350 (origin
2351 (method url-fetch)
2352 (uri (string-append
2353 "mirror://hackage/package/data-accessor-transformers/"
2354 "data-accessor-transformers-" version ".tar.gz"))
2355 (sha256
2356 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2357 (build-system haskell-build-system)
2358 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2359 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2360 (synopsis "Use Accessor to access state in transformers State monad")
2361 (description "This package provides Haskell modules to allow use of
2362Accessor to access state in transformers State monad.")
2363 (license license:bsd-3)))
2364
2365(define-public ghc-data-default
2366 (package
2367 (name "ghc-data-default")
2368 (version "0.7.1.1")
2369 (source
2370 (origin
2371 (method url-fetch)
2372 (uri (string-append
2373 "https://hackage.haskell.org/package/data-default/data-default-"
2374 version
2375 ".tar.gz"))
2376 (sha256
2377 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2378 (build-system haskell-build-system)
2379 (inputs
2380 `(("ghc-data-default-class"
2381 ,ghc-data-default-class)
2382 ("ghc-data-default-instances-base"
2383 ,ghc-data-default-instances-base)
2384 ("ghc-data-default-instances-containers"
2385 ,ghc-data-default-instances-containers)
2386 ("ghc-data-default-instances-dlist"
2387 ,ghc-data-default-instances-dlist)
2388 ("ghc-data-default-instances-old-locale"
2389 ,ghc-data-default-instances-old-locale)))
2390 (home-page "https://hackage.haskell.org/package/data-default")
2391 (synopsis "Types with default values")
2392 (description
2393 "This package defines a class for types with a default value, and
2394provides instances for types from the base, containers, dlist and old-locale
2395packages.")
2396 (license license:bsd-3)))
2397
2398(define-public ghc-data-default-class
2399 (package
2400 (name "ghc-data-default-class")
2401 (version "0.1.2.0")
2402 (source
2403 (origin
2404 (method url-fetch)
2405 (uri (string-append
2406 "https://hackage.haskell.org/package/data-default-class/"
2407 "data-default-class-" version ".tar.gz"))
2408 (sha256
2409 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2410 (build-system haskell-build-system)
2411 (home-page "https://hackage.haskell.org/package/data-default-class")
2412 (synopsis "Types with default values")
2413 (description
2414 "This package defines a class for types with default values.")
2415 (license license:bsd-3)))
2416
2417(define-public ghc-data-default-instances-base
2418 (package
2419 (name "ghc-data-default-instances-base")
2420 (version "0.1.0.1")
2421 (source
2422 (origin
2423 (method url-fetch)
2424 (uri (string-append
2425 "https://hackage.haskell.org/package/"
2426 "data-default-instances-base/"
2427 "data-default-instances-base-" version ".tar.gz"))
2428 (sha256
2429 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2430 (build-system haskell-build-system)
2431 (inputs
2432 `(("ghc-data-default-class" ,ghc-data-default-class)))
2433 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2434 (synopsis "Default instances for types in base")
2435 (description
2436 "This package provides default instances for types from the base
2437package.")
2438 (license license:bsd-3)))
2439
2440(define-public ghc-data-default-instances-containers
2441 (package
2442 (name "ghc-data-default-instances-containers")
2443 (version "0.0.1")
2444 (source
2445 (origin
2446 (method url-fetch)
2447 (uri (string-append
2448 "https://hackage.haskell.org/package/"
2449 "data-default-instances-containers/"
2450 "data-default-instances-containers-" version ".tar.gz"))
2451 (sha256
2452 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2453 (build-system haskell-build-system)
2454 (inputs
2455 `(("ghc-data-default-class" ,ghc-data-default-class)))
2456 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2457 (synopsis "Default instances for types in containers")
2458 (description "Provides default instances for types from the containers
2459package.")
2460 (license license:bsd-3)))
2461
2462(define-public ghc-data-default-instances-dlist
2463 (package
2464 (name "ghc-data-default-instances-dlist")
2465 (version "0.0.1")
2466 (source
2467 (origin
2468 (method url-fetch)
2469 (uri (string-append
2470 "https://hackage.haskell.org/package/"
2471 "data-default-instances-dlist/"
2472 "data-default-instances-dlist-" version ".tar.gz"))
2473 (sha256
2474 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2475 (build-system haskell-build-system)
2476 (inputs
2477 `(("ghc-data-default-class" ,ghc-data-default-class)
2478 ("ghc-dlist" ,ghc-dlist)))
2479 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2480 (synopsis "Default instances for types in dlist")
2481 (description "Provides default instances for types from the dlist
2482package.")
2483 (license license:bsd-3)))
2484
2485(define-public ghc-data-default-instances-old-locale
2486 (package
2487 (name "ghc-data-default-instances-old-locale")
2488 (version "0.0.1")
2489 (source
2490 (origin
2491 (method url-fetch)
2492 (uri (string-append
2493 "https://hackage.haskell.org/package/"
2494 "data-default-instances-old-locale/"
2495 "data-default-instances-old-locale-" version ".tar.gz"))
2496 (sha256
2497 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2498 (build-system haskell-build-system)
2499 (inputs
2500 `(("ghc-data-default-class" ,ghc-data-default-class)
2501 ("ghc-old-locale" ,ghc-old-locale)))
2502 (home-page
2503 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2504 (synopsis "Default instances for types in old-locale")
2505 (description "Provides Default instances for types from the old-locale
2506 package.")
2507 (license license:bsd-3)))
2508
2509(define-public ghc-data-hash
2510 (package
2511 (name "ghc-data-hash")
2512 (version "0.2.0.1")
2513 (source
2514 (origin
2515 (method url-fetch)
2516 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2517 "/data-hash-" version ".tar.gz"))
2518 (sha256
2519 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2520 (build-system haskell-build-system)
2521 (inputs
2522 `(("ghc-quickcheck" ,ghc-quickcheck)
2523 ("ghc-test-framework" ,ghc-test-framework)
2524 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2525 (home-page "https://hackage.haskell.org/package/data-hash")
2526 (synopsis "Combinators for building fast hashing functions")
2527 (description
2528 "This package provides combinators for building fast hashing functions.
2529It includes hashing functions for all basic Haskell98 types.")
2530 (license license:bsd-3)))
2531
2532(define-public ghc-data-ordlist
2533 (package
2534 (name "ghc-data-ordlist")
2535 (version "0.4.7.0")
2536 (source
2537 (origin
2538 (method url-fetch)
2539 (uri (string-append
2540 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2541 version ".tar.gz"))
2542 (sha256
2543 (base32
2544 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2545 (build-system haskell-build-system)
2546 (home-page "https://hackage.haskell.org/package/data-ordlist")
2547 (synopsis "Set and bag operations on ordered lists")
2548 (description
2549 "This module provides set and multiset operations on ordered lists.")
2550 (license license:bsd-3)))
2551
2552(define-public ghc-deepseq-generics
2553 (package
2554 (name "ghc-deepseq-generics")
2555 (version "0.2.0.0")
2556 (source (origin
2557 (method url-fetch)
2558 (uri (string-append "https://hackage.haskell.org/package/"
2559 "deepseq-generics/deepseq-generics-"
2560 version ".tar.gz"))
2561 (sha256
2562 (base32
2563 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2564 (build-system haskell-build-system)
2565 (arguments
2566 `(#:cabal-revision
2567 ("2" "1pnidf8w8x0w5fsqgv8hhrw07slmhxwy5x4fikgk0bd6k76aqicb")))
2568 (native-inputs
2569 `(("ghc-hunit" ,ghc-hunit)
2570 ("ghc-test-framework" ,ghc-test-framework)
2571 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2572 (home-page "https://github.com/hvr/deepseq-generics")
2573 (synopsis "Generic RNF implementation")
2574 (description
2575 "This package provides a @code{GHC.Generics}-based
2576@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2577providing an @code{rnf} implementation.")
2578 (license license:bsd-3)))
2579
2580(define-public ghc-descriptive
2581 (package
2582 (name "ghc-descriptive")
2583 (version "0.9.5")
2584 (source
2585 (origin
2586 (method url-fetch)
2587 (uri (string-append
2588 "https://hackage.haskell.org/package/descriptive/descriptive-"
2589 version
2590 ".tar.gz"))
2591 (sha256
2592 (base32
2593 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2594 (build-system haskell-build-system)
2595 (inputs
2596 `(("ghc-aeson" ,ghc-aeson)
2597 ("ghc-bifunctors" ,ghc-bifunctors)
2598 ("ghc-scientific" ,ghc-scientific)
2599 ("ghc-vector" ,ghc-vector)))
2600 (native-inputs
2601 `(("ghc-hunit" ,ghc-hunit)
2602 ("ghc-hspec" ,ghc-hspec)))
2603 (home-page
2604 "https://github.com/chrisdone/descriptive")
2605 (synopsis
2606 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2607 (description
2608 "This package provides datatypes and functions for creating consumers
2609and parsers with useful semantics.")
2610 (license license:bsd-3)))
2611
2612(define-public ghc-diff
2613 (package
2614 (name "ghc-diff")
2615 (version "0.3.4")
2616 (source (origin
2617 (method url-fetch)
2618 (uri (string-append "https://hackage.haskell.org/package/"
2619 "Diff/Diff-" version ".tar.gz"))
2620 (sha256
2621 (base32
2622 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
2623 (build-system haskell-build-system)
2624 (native-inputs
2625 `(("ghc-quickcheck" ,ghc-quickcheck)
2626 ("ghc-test-framework" ,ghc-test-framework)
2627 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2628 (home-page "https://hub.darcs.net/sterlingclover/Diff")
2629 (synopsis "O(ND) diff algorithm in Haskell")
2630 (description
2631 "This package provides an implementation of the standard diff algorithm,
2632and utilities for pretty printing.")
2633 (license license:bsd-3)))
2634
2635(define-public ghc-disk-free-space
2636 (package
2637 (name "ghc-disk-free-space")
2638 (version "0.1.0.1")
2639 (source
2640 (origin
2641 (method url-fetch)
2642 (uri (string-append "https://hackage.haskell.org/package/"
2643 "disk-free-space/disk-free-space-"
2644 version ".tar.gz"))
2645 (sha256
2646 (base32
2647 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
2648 (build-system haskell-build-system)
2649 (home-page "https://github.com/redneb/disk-free-space")
2650 (synopsis "Retrieve information about disk space usage")
2651 (description "A cross-platform library for retrieving information about
2652disk space usage.")
2653 (license license:bsd-3)))
2654
2655(define-public ghc-distributive
2656 (package
2657 (name "ghc-distributive")
e4c92f28 2658 (version "0.6.1")
dddbc90c
RV
2659 (source
2660 (origin
2661 (method url-fetch)
2662 (uri (string-append
2663 "https://hackage.haskell.org/package/distributive/distributive-"
2664 version
2665 ".tar.gz"))
2666 (sha256
2667 (base32
e4c92f28 2668 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 2669 (build-system haskell-build-system)
dddbc90c
RV
2670 (inputs
2671 `(("ghc-tagged" ,ghc-tagged)
2672 ("ghc-base-orphans" ,ghc-base-orphans)
2673 ("ghc-transformers-compat" ,ghc-transformers-compat)
2674 ("ghc-semigroups" ,ghc-semigroups)
2675 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2676 (native-inputs
2677 `(("cabal-doctest" ,cabal-doctest)
2678 ("ghc-doctest" ,ghc-doctest)
2679 ("ghc-hspec" ,ghc-hspec)
2680 ("hspec-discover" ,hspec-discover)))
2681 (home-page "https://github.com/ekmett/distributive/")
2682 (synopsis "Distributive functors for Haskell")
2683 (description "This package provides distributive functors for Haskell.
2684Dual to @code{Traversable}.")
2685 (license license:bsd-3)))
2686
2687(define-public ghc-dlist
2688 (package
2689 (name "ghc-dlist")
197ddf33 2690 (version "0.8.0.7")
dddbc90c
RV
2691 (source
2692 (origin
2693 (method url-fetch)
2694 (uri (string-append
2695 "https://hackage.haskell.org/package/dlist/dlist-"
2696 version
2697 ".tar.gz"))
2698 (sha256
197ddf33 2699 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
2700 (build-system haskell-build-system)
2701 (inputs
2702 `(("ghc-quickcheck" ,ghc-quickcheck)))
2703 (home-page "https://github.com/spl/dlist")
2704 (synopsis "Difference lists")
2705 (description
2706 "Difference lists are a list-like type supporting O(1) append. This is
2707particularly useful for efficient logging and pretty printing (e.g. with the
2708Writer monad), where list append quickly becomes too expensive.")
2709 (license license:bsd-3)))
2710
2711(define-public ghc-doctemplates
2712 (package
2713 (name "ghc-doctemplates")
2714 (version "0.2.2.1")
2715 (source
2716 (origin
2717 (method url-fetch)
2718 (uri (string-append "https://hackage.haskell.org/package/"
2719 "doctemplates/doctemplates-"
2720 version ".tar.gz"))
2721 (sha256
2722 (base32
2723 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
2724 (build-system haskell-build-system)
2725 (inputs
2726 `(("ghc-aeson" ,ghc-aeson)
2727 ("ghc-blaze-markup" ,ghc-blaze-markup)
2728 ("ghc-blaze-html" ,ghc-blaze-html)
2729 ("ghc-vector" ,ghc-vector)
2730 ("ghc-unordered-containers" ,ghc-unordered-containers)
2731 ("ghc-scientific" ,ghc-scientific)))
2732 (native-inputs
2733 `(("ghc-hspec" ,ghc-hspec)))
2734 (home-page "https://github.com/jgm/doctemplates#readme")
2735 (synopsis "Pandoc-style document templates")
2736 (description
2737 "This package provides a simple text templating system used by pandoc.")
2738 (license license:bsd-3)))
2739
2740(define-public ghc-doctest
2741 (package
2742 (name "ghc-doctest")
19c14a0f 2743 (version "0.16.2")
dddbc90c
RV
2744 (source
2745 (origin
2746 (method url-fetch)
2747 (uri (string-append
2748 "https://hackage.haskell.org/package/doctest/doctest-"
2749 version
2750 ".tar.gz"))
2751 (sha256
2752 (base32
19c14a0f 2753 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
2754 (build-system haskell-build-system)
2755 (arguments `(#:tests? #f)) ; FIXME: missing test framework
2756 (inputs
2757 `(("ghc-syb" ,ghc-syb)
2758 ("ghc-paths" ,ghc-paths)
2759 ("ghc-base-compat" ,ghc-base-compat)
2760 ("ghc-code-page" ,ghc-code-page)
2761 ("ghc-hunit" ,ghc-hunit)
2762 ("ghc-hspec" ,ghc-hspec)
2763 ("ghc-quickcheck" ,ghc-quickcheck)
2764 ("ghc-stringbuilder" ,ghc-stringbuilder)
2765 ("ghc-silently" ,ghc-silently)
2766 ("ghc-setenv" ,ghc-setenv)))
2767 (home-page
2768 "https://github.com/sol/doctest#readme")
2769 (synopsis "Test interactive Haskell examples")
2770 (description "The doctest program checks examples in source code comments.
2771It is modeled after doctest for Python, see
2772@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
2773 (license license:expat)))
2774
2775(define-public ghc-double-conversion
2776 (package
2777 (name "ghc-double-conversion")
2778 (version "2.0.2.0")
2779 (source
2780 (origin
2781 (method url-fetch)
2782 (uri (string-append "https://hackage.haskell.org/package/"
2783 "double-conversion/double-conversion-"
2784 version ".tar.gz"))
2785 (sha256
2786 (base32
2787 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
2788 (build-system haskell-build-system)
2789 (native-inputs
2790 `(("ghc-hunit" ,ghc-hunit)
2791 ("ghc-test-framework" ,ghc-test-framework)
2792 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2793 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2794 (home-page "https://github.com/bos/double-conversion")
2795 (synopsis "Fast conversion between double precision floating point and text")
2796 (description
2797 "This package provides a library that performs fast, accurate conversion
2798between double precision floating point and text.")
2799 (license license:bsd-3)))
2800
2801(define-public ghc-easy-file
2802 (package
2803 (name "ghc-easy-file")
2804 (version "0.2.2")
2805 (source
2806 (origin
2807 (method url-fetch)
2808 (uri (string-append
2809 "https://hackage.haskell.org/package/easy-file/easy-file-"
2810 version
2811 ".tar.gz"))
2812 (sha256
2813 (base32
2814 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
2815 (build-system haskell-build-system)
2816 (home-page
2817 "https://github.com/kazu-yamamoto/easy-file")
2818 (synopsis "File handling library for Haskell")
2819 (description "This library provides file handling utilities for Haskell.")
2820 (license license:bsd-3)))
2821
2822(define-public ghc-easyplot
2823 (package
2824 (name "ghc-easyplot")
2825 (version "1.0")
2826 (source
2827 (origin
2828 (method url-fetch)
2829 (uri (string-append
2830 "https://hackage.haskell.org/package/easyplot/easyplot-"
2831 version ".tar.gz"))
2832 (sha256
2833 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
2834 (build-system haskell-build-system)
2835 (propagated-inputs `(("gnuplot" ,gnuplot)))
2836 (arguments
2837 `(#:phases (modify-phases %standard-phases
2838 (add-after 'unpack 'fix-setup-suffix
2839 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
2840 (home-page "https://hub.darcs.net/scravy/easyplot")
2841 (synopsis "Haskell plotting library based on gnuplot")
2842 (description "This package provides a plotting library for
2843Haskell, using gnuplot for rendering.")
2844 (license license:expat)))
2845
2846(define-public ghc-echo
2847 (package
2848 (name "ghc-echo")
2849 (version "0.1.3")
2850 (source
2851 (origin
2852 (method url-fetch)
2853 (uri (string-append
2854 "https://hackage.haskell.org/package/echo/echo-"
2855 version ".tar.gz"))
2856 (sha256
2857 (base32
2858 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
2859 (build-system haskell-build-system)
2860 (arguments
2861 `(#:cabal-revision
2862 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
2863 (home-page "https://github.com/RyanGlScott/echo")
2864 (synopsis "Echo terminal input portably")
2865 (description "The @code{base} library exposes the @code{hGetEcho} and
2866@code{hSetEcho} functions for querying and setting echo status, but
2867unfortunately, neither function works with MinTTY consoles on Windows.
2868This library provides an alternative interface which works with both
2869MinTTY and other consoles.")
2870 (license license:bsd-3)))
2871
2872(define-public ghc-edisonapi
2873 (package
2874 (name "ghc-edisonapi")
2875 (version "1.3.1")
2876 (source
2877 (origin
2878 (method url-fetch)
2879 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
2880 "/EdisonAPI-" version ".tar.gz"))
2881 (sha256
2882 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
2883 (build-system haskell-build-system)
2884 (home-page "http://rwd.rdockins.name/edison/home/")
2885 (synopsis "Library of efficient, purely-functional data structures (API)")
2886 (description
2887 "Edison is a library of purely functional data structures written by
2888Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
2889value EDiSon (Efficient Data Structures). Edison provides several families of
2890abstractions, each with multiple implementations. The main abstractions
2891provided by Edison are: Sequences such as stacks, queues, and dequeues;
2892Collections such as sets, bags and heaps; and Associative Collections such as
2893finite maps and priority queues where the priority and element are distinct.")
2894 (license license:expat)))
2895
2896(define-public ghc-edisoncore
2897 (package
2898 (name "ghc-edisoncore")
2899 (version "1.3.2.1")
2900 (source
2901 (origin
2902 (method url-fetch)
2903 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
2904 "/EdisonCore-" version ".tar.gz"))
2905 (sha256
2906 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
2907 (build-system haskell-build-system)
2908 (inputs
2909 `(("ghc-quickcheck" ,ghc-quickcheck)
2910 ("ghc-edisonapi" ,ghc-edisonapi)))
2911 (home-page "http://rwd.rdockins.name/edison/home/")
2912 (synopsis "Library of efficient, purely-functional data structures")
2913 (description
2914 "This package provides the core Edison data structure implementations,
2915including multiple sequence, set, bag, and finite map concrete implementations
2916with various performance characteristics.")
2917 (license license:expat)))
2918
2919(define-public ghc-edit-distance
2920 (package
2921 (name "ghc-edit-distance")
2922 (version "0.2.2.1")
2923 (source
2924 (origin
2925 (method url-fetch)
2926 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
2927 "/edit-distance-" version ".tar.gz"))
2928 (sha256
2929 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
2930 (build-system haskell-build-system)
2931 (arguments
2932 `(#:phases
2933 (modify-phases %standard-phases
2934 (add-before 'configure 'update-constraints
2935 (lambda _
2936 (substitute* "edit-distance.cabal"
2937 (("QuickCheck >= 2\\.4 && <2\\.9")
2938 "QuickCheck >= 2.4 && < 2.12")))))))
2939 (inputs
2940 `(("ghc-random" ,ghc-random)
2941 ("ghc-test-framework" ,ghc-test-framework)
2942 ("ghc-quickcheck" ,ghc-quickcheck)
2943 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2944 (home-page "https://github.com/phadej/edit-distance")
2945 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
2946 (description
2947 "This package provides optimized functions to determine the edit
2948distances for fuzzy matching, including Levenshtein and restricted
2949Damerau-Levenshtein algorithms.")
2950 (license license:bsd-3)))
2951
2952(define-public ghc-either
2953 (package
2954 (name "ghc-either")
2955 (version "5.0.1")
2956 (source
2957 (origin
2958 (method url-fetch)
2959 (uri (string-append "https://hackage.haskell.org/package/"
2960 "either-" version "/"
2961 "either-" version ".tar.gz"))
2962 (sha256
2963 (base32
2964 "064hjfld7dkzs78sy30k5qkiva3hx24rax6dvzz5ygr2c0zypdkc"))))
2965 (build-system haskell-build-system)
2966 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
2967 ("ghc-exceptions" ,ghc-exceptions)
2968 ("ghc-free" ,ghc-free)
2969 ("ghc-monad-control" ,ghc-monad-control)
2970 ("ghc-manodrandom" ,ghc-monadrandom)
2971 ("ghc-mmorph" ,ghc-mmorph)
2972 ("ghc-profunctors" ,ghc-profunctors)
2973 ("ghc-semigroups" ,ghc-semigroups)
2974 ("ghc-semigroupoids" ,ghc-semigroupoids)
2975 ("ghc-transformers-base" ,ghc-transformers-base)))
2976 (native-inputs
2977 `(("ghc-quickcheck" ,ghc-quickcheck)
2978 ("ghc-test-framework" ,ghc-test-framework)
2979 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2980 (home-page "https://github.com/ekmett/either")
2981 (synopsis "Provides an either monad transformer for Haskell")
2982 (description "This Haskell package provides an either monad transformer.")
2983 (license license:bsd-3)))
2984
2985(define-public ghc-email-validate
2986 (package
2987 (name "ghc-email-validate")
2988 (version "2.3.2.6")
2989 (source
2990 (origin
2991 (method url-fetch)
2992 (uri (string-append
2993 "https://hackage.haskell.org/package/"
2994 "email-validate/email-validate-"
2995 version
2996 ".tar.gz"))
2997 (sha256
2998 (base32
2999 "0chgylvc8xmhp933rdbmpg5sv4y7yg2h6kbf0ip1dzmbd5p55pa5"))))
3000 (build-system haskell-build-system)
3001 (inputs
3002 `(("ghc-attoparsec" ,ghc-attoparsec)
3003 ("ghc-hspec" ,ghc-hspec)
3004 ("ghc-quickcheck" ,ghc-quickcheck)
3005 ("ghc-doctest" ,ghc-doctest)))
3006 (home-page
3007 "https://github.com/Porges/email-validate-hs")
3008 (synopsis "Email address validator for Haskell")
3009 (description
3010 "This Haskell package provides a validator that can validate an email
3011address string against RFC 5322.")
3012 (license license:bsd-3)))
3013
3014(define-public ghc-enclosed-exceptions
3015 (package
3016 (name "ghc-enclosed-exceptions")
3017 (version "1.0.3")
3018 (source (origin
3019 (method url-fetch)
3020 (uri (string-append "https://hackage.haskell.org/package/"
3021 "enclosed-exceptions/enclosed-exceptions-"
3022 version ".tar.gz"))
3023 (sha256
3024 (base32
3025 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3026 (build-system haskell-build-system)
3027 ;; FIXME: one of the tests blocks forever:
3028 ;; "thread blocked indefinitely in an MVar operation"
3029 (arguments '(#:tests? #f))
3030 (inputs
3031 `(("ghc-lifted-base" ,ghc-lifted-base)
3032 ("ghc-monad-control" ,ghc-monad-control)
3033 ("ghc-async" ,ghc-async)
3034 ("ghc-transformers-base" ,ghc-transformers-base)))
3035 (native-inputs
3036 `(("ghc-hspec" ,ghc-hspec)
3037 ("ghc-quickcheck" ,ghc-quickcheck)))
3038 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3039 (synopsis "Catch all exceptions from within an enclosed computation")
3040 (description
3041 "This library implements a technique to catch all exceptions raised
3042within an enclosed computation, while remaining responsive to (external)
3043asynchronous exceptions.")
3044 (license license:expat)))
3045
3046(define-public ghc-equivalence
3047 (package
3048 (name "ghc-equivalence")
3049 (version "0.3.2")
3050 (source
3051 (origin
3052 (method url-fetch)
3053 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3054 "/equivalence-" version ".tar.gz"))
3055 (sha256
3056 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
3057 (build-system haskell-build-system)
3058 (inputs
3059 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3060 ("ghc-transformers-compat" ,ghc-transformers-compat)
3061 ("ghc-quickcheck" ,ghc-quickcheck)
3062 ("ghc-test-framework" ,ghc-test-framework)
3063 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3064 (home-page "https://github.com/pa-ba/equivalence")
3065 (synopsis "Maintaining an equivalence relation implemented as union-find")
3066 (description
3067 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3068Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
306922(2), 1975) in order to maintain an equivalence relation. This
3070implementation is a port of the @code{union-find} package using the @code{ST}
3071monad transformer (instead of the IO monad).")
3072 (license license:bsd-3)))
3073
3074(define-public ghc-erf
3075 (package
3076 (name "ghc-erf")
3077 (version "2.0.0.0")
3078 (source
3079 (origin
3080 (method url-fetch)
3081 (uri (string-append "https://hackage.haskell.org/package/"
3082 "erf-" version "/"
3083 "erf-" version ".tar.gz"))
3084 (sha256
3085 (base32
3086 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3087 (build-system haskell-build-system)
3088 (home-page "https://hackage.haskell.org/package/erf")
3089 (synopsis "The error function, erf, and related functions for Haskell")
3090 (description "This Haskell library provides a type class for the
3091error function, erf, and related functions. Instances for Float and
3092Double.")
3093 (license license:bsd-3)))
3094
3095(define-public ghc-errorcall-eq-instance
3096 (package
3097 (name "ghc-errorcall-eq-instance")
3098 (version "0.3.0")
3099 (source
3100 (origin
3101 (method url-fetch)
3102 (uri (string-append "https://hackage.haskell.org/package/"
3103 "errorcall-eq-instance/errorcall-eq-instance-"
3104 version ".tar.gz"))
3105 (sha256
3106 (base32
3107 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3108 (build-system haskell-build-system)
3109 (inputs
3110 `(("ghc-base-orphans" ,ghc-base-orphans)))
3111 (native-inputs
3112 `(("ghc-quickcheck" ,ghc-quickcheck)
3113 ("ghc-hspec" ,ghc-hspec)
3114 ("hspec-discover" ,hspec-discover)))
3115 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3116 (synopsis "Orphan Eq instance for ErrorCall")
3117 (description
3118 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3119This package provides an orphan instance.")
3120 (license license:expat)))
3121
3122(define-public ghc-errors
3123 (package
3124 (name "ghc-errors")
3125 (version "2.3.0")
3126 (source
3127 (origin
3128 (method url-fetch)
3129 (uri (string-append "https://hackage.haskell.org/package/"
3130 "errors-" version "/"
3131 "errors-" version ".tar.gz"))
3132 (sha256
3133 (base32
3134 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3135 (build-system haskell-build-system)
3136 (inputs
3137 `(("ghc-exceptions" ,ghc-exceptions)
3138 ("ghc-transformers-compat" ,ghc-transformers-compat)
3139 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3140 ("ghc-safe" ,ghc-safe)))
3141 (home-page "https://github.com/gabriel439/haskell-errors-library")
3142 (synopsis "Error handling library for Haskell")
3143 (description "This library encourages an error-handling style that
3144directly uses the type system, rather than out-of-band exceptions.")
3145 (license license:bsd-3)))
3146
3147(define-public ghc-esqueleto
3148 (let ((version "2.5.3")
3149 (revision "1")
3150 (commit "b81e0d951e510ebffca03c5a58658ad884cc6fbd"))
3151 (package
3152 (name "ghc-esqueleto")
3153 (version (git-version version revision commit))
3154 (source
3155 (origin
3156 (method git-fetch)
3157 (uri (git-reference
3158 (url "https://github.com/bitemyapp/esqueleto")
3159 (commit commit)))
3160 (file-name (git-file-name name version))
3161 (sha256
3162 (base32
3163 "0lz1qxms7cfg5p3j37inlych0r2fwhm8xbarcys3df9m7jy9nixa"))))
3164 (build-system haskell-build-system)
3165 (arguments
3166 `(#:haddock? #f ; Haddock reports an internal error.
3167 #:phases
3168 (modify-phases %standard-phases
3169 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3170 ;; SQLite backends. Since we only have Haskell packages for
3171 ;; SQLite, we remove the other two test suites. FIXME: Add the
3172 ;; other backends and run all three test suites.
3173 (add-before 'configure 'remove-non-sqlite-test-suites
3174 (lambda _
3175 (use-modules (ice-9 rdelim))
3176 (with-atomic-file-replacement "esqueleto.cabal"
3177 (lambda (in out)
3178 (let loop ((line (read-line in 'concat)) (deleting? #f))
3179 (cond
3180 ((eof-object? line) #t)
3181 ((string-every char-set:whitespace line)
3182 (unless deleting? (display line out))
3183 (loop (read-line in 'concat) #f))
3184 ((member line '("test-suite mysql\n"
3185 "test-suite postgresql\n"))
3186 (loop (read-line in 'concat) #t))
3187 (else
3188 (unless deleting? (display line out))
3189 (loop (read-line in 'concat) deleting?)))))))))))
3190 (inputs
3191 `(("ghc-blaze-html" ,ghc-blaze-html)
3192 ("ghc-conduit" ,ghc-conduit)
3193 ("ghc-monad-logger" ,ghc-monad-logger)
3194 ("ghc-persistent" ,ghc-persistent)
3195 ("ghc-resourcet" ,ghc-resourcet)
3196 ("ghc-tagged" ,ghc-tagged)
3197 ("ghc-unliftio" ,ghc-unliftio)
3198 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3199 (native-inputs
3200 `(("ghc-hspec" ,ghc-hspec)
3201 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3202 ("ghc-persistent-template" ,ghc-persistent-template)))
3203 (home-page "https://github.com/bitemyapp/esqueleto")
3204 (synopsis "Type-safe embedded domain specific language for SQL queries")
3205 (description "This library provides a type-safe embedded domain specific
3206language (EDSL) for SQL queries that works with SQL backends as provided by
3207@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3208to learn new concepts, just new syntax, and it's fairly easy to predict the
3209generated SQL and optimize it for your backend.")
3210 (license license:bsd-3))))
3211
3212(define-public ghc-exactprint
3213 (package
3214 (name "ghc-exactprint")
3215 (version "0.5.6.1")
3216 (source
3217 (origin
3218 (method url-fetch)
3219 (uri (string-append
3220 "https://hackage.haskell.org/package/"
3221 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3222 (sha256
3223 (base32
3224 "141k6qiys0m0r4br7ikp4i546vs3xcil9cwglzcdfcbnb5nj1z87"))))
3225 (build-system haskell-build-system)
3226 (inputs
3227 `(("ghc-paths" ,ghc-paths)
3228 ("ghc-syb" ,ghc-syb)
3229 ("ghc-free" ,ghc-free)))
3230 (native-inputs
3231 `(("ghc-hunit" ,ghc-hunit)
3232 ("ghc-diff" ,ghc-diff)
3233 ("ghc-silently" ,ghc-silently)
3234 ("ghc-filemanip" ,ghc-filemanip)))
3235 (home-page
3236 "http://hackage.haskell.org/package/ghc-exactprint")
3237 (synopsis "ExactPrint for GHC")
3238 (description
3239 "Using the API Annotations available from GHC 7.10.2, this library
3240provides a means to round-trip any code that can be compiled by GHC, currently
3241excluding @file{.lhs} files.")
3242 (license license:bsd-3)))
3243
3244(define-public ghc-exceptions
3245 (package
3246 (name "ghc-exceptions")
46d3e65b 3247 (version "0.10.3")
dddbc90c
RV
3248 (source
3249 (origin
3250 (method url-fetch)
3251 (uri (string-append
3252 "https://hackage.haskell.org/package/exceptions/exceptions-"
3253 version
3254 ".tar.gz"))
3255 (sha256
3256 (base32
46d3e65b 3257 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3258 (build-system haskell-build-system)
3259 (native-inputs
3260 `(("ghc-quickcheck" ,ghc-quickcheck)
3261 ("ghc-test-framework" ,ghc-test-framework)
3262 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3263 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3264 (inputs
3265 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3266 (home-page "https://github.com/ekmett/exceptions/")
3267 (synopsis "Extensible optionally-pure exceptions")
3268 (description "This library provides extensible optionally-pure exceptions
3269for Haskell.")
3270 (license license:bsd-3)))
3271
3272(define-public ghc-executable-path
3273 (package
3274 (name "ghc-executable-path")
3275 (version "0.0.3.1")
3276 (source (origin
3277 (method url-fetch)
3278 (uri (string-append "https://hackage.haskell.org/package/"
3279 "executable-path/executable-path-"
3280 version ".tar.gz"))
3281 (sha256
3282 (base32
3283 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3284 (build-system haskell-build-system)
3285 (home-page "https://hackage.haskell.org/package/executable-path")
3286 (synopsis "Find out the full path of the executable")
3287 (description
3288 "The documentation of @code{System.Environment.getProgName} says that
3289\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3290instead, for maximum portability, we just return the leafname of the program
3291as invoked.\" This library tries to provide the missing path.")
3292 (license license:public-domain)))
3293
3294(define-public ghc-extensible-exceptions
3295 (package
3296 (name "ghc-extensible-exceptions")
3297 (version "0.1.1.4")
3298 (source
3299 (origin
3300 (method url-fetch)
3301 (uri (string-append "https://hackage.haskell.org/package/"
3302 "extensible-exceptions/extensible-exceptions-"
3303 version ".tar.gz"))
3304 (sha256
3305 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3306 (build-system haskell-build-system)
3307 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3308 (synopsis "Extensible exceptions for Haskell")
3309 (description
3310 "This package provides extensible exceptions for both new and old
3311versions of GHC (i.e., < 6.10).")
3312 (license license:bsd-3)))
3313
3314(define-public ghc-extra
3315 (package
3316 (name "ghc-extra")
10650c44 3317 (version "1.6.18")
dddbc90c
RV
3318 (source
3319 (origin
3320 (method url-fetch)
3321 (uri (string-append
3322 "https://hackage.haskell.org/package/extra/extra-"
3323 version
3324 ".tar.gz"))
3325 (sha256
3326 (base32
10650c44 3327 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
dddbc90c
RV
3328 (build-system haskell-build-system)
3329 (inputs
3330 `(("ghc-clock" ,ghc-clock)
10650c44 3331 ("ghc-semigroups" ,ghc-semigroups)
dddbc90c
RV
3332 ("ghc-quickcheck" ,ghc-quickcheck)))
3333 (home-page "https://github.com/ndmitchell/extra")
3334 (synopsis "Extra Haskell functions")
3335 (description "This library provides extra functions for the standard
3336Haskell libraries. Most functions are simple additions, filling out missing
3337functionality. A few functions are available in later versions of GHC, but
3338this package makes them available back to GHC 7.2.")
3339 (license license:bsd-3)))
3340
3341(define-public ghc-fail
3342 (package
3343 (name "ghc-fail")
3344 (version "4.9.0.0")
3345 (source
3346 (origin
3347 (method url-fetch)
3348 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3349 version ".tar.gz"))
3350 (sha256
3351 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3352 (build-system haskell-build-system)
3353 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3354 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3355 (synopsis "Forward-compatible MonadFail class")
3356 (description
3357 "This package contains the @code{Control.Monad.Fail} module providing the
3358@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3359class that became available in
3360@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3361older @code{base} package versions. This package turns into an empty package
3362when used with GHC versions which already provide the
3363@code{Control.Monad.Fail} module.")
3364 (license license:bsd-3)))
3365
3366(define-public ghc-fast-logger
3367 (package
3368 (name "ghc-fast-logger")
d443a52a 3369 (version "2.4.17")
dddbc90c
RV
3370 (source
3371 (origin
3372 (method url-fetch)
3373 (uri (string-append
3374 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3375 version
3376 ".tar.gz"))
3377 (sha256
3378 (base32
d443a52a 3379 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
3380 (build-system haskell-build-system)
3381 (inputs
3382 `(("ghc-auto-update" ,ghc-auto-update)
3383 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
3384 ("ghc-unix-time" ,ghc-unix-time)
3385 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
3386 (native-inputs
3387 `(("hspec-discover" ,hspec-discover)
3388 ("ghc-hspec" ,ghc-hspec)))
3389 (home-page "https://hackage.haskell.org/package/fast-logger")
3390 (synopsis "Fast logging system")
3391 (description "This library provides a fast logging system for Haskell.")
3392 (license license:bsd-3)))
3393
3394(define-public ghc-feed
3395 (package
3396 (name "ghc-feed")
3397 (version "1.0.0.0")
3398 (source
3399 (origin
3400 (method url-fetch)
3401 (uri (string-append "https://hackage.haskell.org/package/"
3402 "feed/feed-" version ".tar.gz"))
3403 (sha256
3404 (base32
3405 "05rgg7x1984mgfhkmz792xj8lhwjgznixhygzr8blf517lns2nck"))))
3406 (build-system haskell-build-system)
3407 (arguments
3408 `(#:cabal-revision
3409 ("4" "0baavcavm3ywykcr9cm07aqr7sna98jba2n68lyn3kany8ri214d")))
3410 (inputs
3411 `(("ghc-base-compat" ,ghc-base-compat)
3412 ("ghc-old-locale" ,ghc-old-locale)
3413 ("ghc-old-time" ,ghc-old-time)
3414 ("ghc-safe" ,ghc-safe)
3415 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3416 ("ghc-utf8-string" ,ghc-utf8-string)
3417 ("ghc-xml-conduit" ,ghc-xml-conduit)
3418 ("ghc-xml-types" ,ghc-xml-types)))
3419 (native-inputs
3420 `(("ghc-hunit" ,ghc-hunit)
3421 ("ghc-test-framework" ,ghc-test-framework)
3422 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3423 (home-page "https://github.com/bergmark/feed")
3424 (synopsis "Haskell package for handling various syndication formats")
3425 (description "This Haskell package includes tools for generating and
3426consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3427 (license license:bsd-3)))
3428
3429(define-public ghc-fgl
3430 (package
3431 (name "ghc-fgl")
17482b26 3432 (version "5.7.0.1")
dddbc90c
RV
3433 (outputs '("out" "doc"))
3434 (source
3435 (origin
3436 (method url-fetch)
3437 (uri (string-append
3438 "https://hackage.haskell.org/package/fgl/fgl-"
3439 version
3440 ".tar.gz"))
3441 (sha256
3442 (base32
17482b26 3443 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
3444 (build-system haskell-build-system)
3445 (arguments
3446 `(#:phases
3447 (modify-phases %standard-phases
3448 (add-before 'configure 'update-constraints
3449 (lambda _
3450 (substitute* "fgl.cabal"
17482b26
TS
3451 (("QuickCheck >= 2\\.8 && < 2\\.13")
3452 "QuickCheck >= 2.8 && < 2.14")
3453 (("hspec >= 2\\.1 && < 2\\.7")
3454 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3455 (inputs
3456 `(("ghc-hspec" ,ghc-hspec)
3457 ("ghc-quickcheck" ,ghc-quickcheck)))
3458 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3459 (synopsis
3460 "Martin Erwig's Functional Graph Library")
3461 (description "The functional graph library, FGL, is a collection of type
3462and function definitions to address graph problems. The basis of the library
3463is an inductive definition of graphs in the style of algebraic data types that
3464encourages inductive, recursive definitions of graph algorithms.")
3465 (license license:bsd-3)))
3466
3467(define-public ghc-fgl-arbitrary
3468 (package
3469 (name "ghc-fgl-arbitrary")
3470 (version "0.2.0.3")
3471 (source
3472 (origin
3473 (method url-fetch)
3474 (uri (string-append
3475 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3476 version ".tar.gz"))
3477 (sha256
3478 (base32
3479 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3480 (build-system haskell-build-system)
3481 (arguments
3482 `(#:phases
3483 (modify-phases %standard-phases
3484 (add-before 'configure 'update-constraints
3485 (lambda _
3486 (substitute* "fgl-arbitrary.cabal"
3487 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 3488 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 3489 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 3490 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3491 (inputs
3492 `(("ghc-fgl" ,ghc-fgl)
3493 ("ghc-quickcheck" ,ghc-quickcheck)
3494 ("ghc-hspec" ,ghc-hspec)))
3495 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3496 (synopsis "QuickCheck support for fgl")
3497 (description
3498 "Provides Arbitrary instances for fgl graphs to avoid adding a
3499QuickCheck dependency for fgl whilst still making the instances
3500available to others. Also available are non-fgl-specific functions
3501for generating graph-like data structures.")
3502 (license license:bsd-3)))
3503
3504(define-public ghc-file-embed
3505 (package
3506 (name "ghc-file-embed")
b5920d50 3507 (version "0.0.11")
dddbc90c
RV
3508 (source
3509 (origin
3510 (method url-fetch)
3511 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3512 "file-embed-" version ".tar.gz"))
3513 (sha256
3514 (base32
b5920d50 3515 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
3516 (build-system haskell-build-system)
3517 (home-page "https://github.com/snoyberg/file-embed")
3518 (synopsis "Use Template Haskell to embed file contents directly")
3519 (description
3520 "This package allows you to use Template Haskell to read a file or all
3521the files in a directory, and turn them into @code{(path, bytestring)} pairs
3522embedded in your Haskell code.")
3523 (license license:bsd-3)))
3524
3525(define-public ghc-filemanip
3526 (package
3527 (name "ghc-filemanip")
3528 (version "0.3.6.3")
3529 (source (origin
3530 (method url-fetch)
3531 (uri (string-append "https://hackage.haskell.org/package/"
3532 "filemanip/filemanip-" version ".tar.gz"))
3533 (sha256
3534 (base32
3535 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3536 (build-system haskell-build-system)
3537 (inputs
3538 `(("ghc-unix-compat" ,ghc-unix-compat)))
3539 (home-page "https://github.com/bos/filemanip")
3540 (synopsis "File and directory manipulation for Haskell")
3541 (description
3542 "This package provides a Haskell library for working with files and
3543directories. It includes code for pattern matching, finding files, modifying
3544file contents, and more.")
3545 (license license:bsd-3)))
3546
3547(define-public ghc-findbin
3548 (package
3549 (name "ghc-findbin")
3550 (version "0.0.5")
3551 (source
3552 (origin
3553 (method url-fetch)
3554 (uri (string-append
3555 "https://hackage.haskell.org/package/FindBin/FindBin-"
3556 version ".tar.gz"))
3557 (sha256
3558 (base32
3559 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3560 (build-system haskell-build-system)
3561 (home-page "https://github.com/audreyt/findbin")
3562 (synopsis "Get the absolute path of the running program")
3563 (description
3564 "This module locates the full directory of the running program, to allow
3565the use of paths relative to it. FindBin supports invocation of Haskell
3566programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3567an executable.")
3568 (license license:bsd-3)))
3569
3570(define-public ghc-fingertree
3571 (package
3572 (name "ghc-fingertree")
aac14fdc 3573 (version "0.1.4.2")
dddbc90c
RV
3574 (source
3575 (origin
3576 (method url-fetch)
3577 (uri (string-append
3578 "https://hackage.haskell.org/package/fingertree/fingertree-"
3579 version ".tar.gz"))
3580 (sha256
3581 (base32
aac14fdc 3582 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
3583 (build-system haskell-build-system)
3584 (native-inputs
3585 `(("ghc-hunit" ,ghc-hunit)
3586 ("ghc-quickcheck" ,ghc-quickcheck)
3587 ("ghc-test-framework" ,ghc-test-framework)
3588 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3589 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3590 (home-page "https://hackage.haskell.org/package/fingertree")
3591 (synopsis "Generic finger-tree structure")
3592 (description "This library provides finger trees, a general sequence
3593representation with arbitrary annotations, for use as a base for
3594implementations of various collection types. It includes examples, as
3595described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3596simple general-purpose data structure\".")
3597 (license license:bsd-3)))
3598
3599(define-public ghc-fixed
3600 (package
3601 (name "ghc-fixed")
099dda5b 3602 (version "0.3")
dddbc90c
RV
3603 (source
3604 (origin
3605 (method url-fetch)
3606 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
3607 version ".tar.gz"))
3608 (sha256
3609 (base32
099dda5b 3610 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
3611 (build-system haskell-build-system)
3612 (home-page "https://github.com/ekmett/fixed")
3613 (synopsis "Signed 15.16 precision fixed point arithmetic")
3614 (description
3615 "This package provides functions for signed 15.16 precision fixed point
3616arithmetic.")
3617 (license license:bsd-3)))
3618
f169f713
JS
3619(define-public ghc-fmlist
3620 (package
3621 (name "ghc-fmlist")
fe9b83a6 3622 (version "0.9.3")
f169f713
JS
3623 (source
3624 (origin
3625 (method url-fetch)
3626 (uri
3627 (string-append
3628 "https://hackage.haskell.org/package/fmlist/fmlist-"
3629 version ".tar.gz"))
3630 (sha256
3631 (base32
fe9b83a6 3632 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
3633 (build-system haskell-build-system)
3634 (home-page "https://github.com/sjoerdvisscher/fmlist")
3635 (synopsis "FoldMap lists")
3636 (description "FoldMap lists are lists represented by their
3637@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
3638append, just like DLists, but other operations might have favorable
3639performance characteristics as well. These wild claims are still
3640completely unverified though.")
3641 (license license:bsd-3)))
3642
dddbc90c
RV
3643(define-public ghc-foldl
3644 (package
3645 (name "ghc-foldl")
3646 (version "1.4.3")
3647 (source
3648 (origin
3649 (method url-fetch)
3650 (uri (string-append "https://hackage.haskell.org/package/"
3651 "foldl-" version "/"
3652 "foldl-" version ".tar.gz"))
3653 (sha256
3654 (base32
3655 "13n0ca3hw5jzqf6rxsdbhbwkn61a9zlm13f0f205s60j3sc72jzk"))))
3656 (build-system haskell-build-system)
3657 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3658 ("ghc-primitive" ,ghc-primitive)
3659 ("ghc-vector" ,ghc-vector)
3660 ("ghc-unordered-containers" ,ghc-unordered-containers)
3661 ("ghc-hashable" ,ghc-hashable)
3662 ("ghc-contravariant" ,ghc-contravariant)
3663 ("ghc-semigroups" ,ghc-semigroups)
3664 ("ghc-profunctors" ,ghc-profunctors)
3665 ("ghc-semigroupoids" ,ghc-semigroupoids)
3666 ("ghc-comonad" ,ghc-comonad)
3667 ("ghc-vector-builder" ,ghc-vector-builder)))
3668 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
3669 (synopsis "Composable, streaming, and efficient left folds for Haskell")
3670 (description "This Haskell library provides strict left folds that stream
3671in constant memory, and you can combine folds using @code{Applicative} style
3672to derive new folds. Derived folds still traverse the container just once
3673and are often as efficient as hand-written folds.")
3674 (license license:bsd-3)))
3675
3676(define-public ghc-foundation
3677 (package
3678 (name "ghc-foundation")
0a702df9 3679 (version "0.0.25")
dddbc90c
RV
3680 (source
3681 (origin
3682 (method url-fetch)
3683 (uri (string-append "https://hackage.haskell.org/package/"
3684 "foundation/foundation-" version ".tar.gz"))
3685 (sha256
3686 (base32
0a702df9 3687 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c
RV
3688 (build-system haskell-build-system)
3689 (inputs `(("ghc-basement" ,ghc-basement)))
3690 (home-page "https://github.com/haskell-foundation/foundation")
3691 (synopsis "Alternative prelude with batteries and no dependencies")
3692 (description
3693 "This package provides a custom prelude with no dependencies apart from
3694the base package.
3695
3696Foundation has the following goals:
3697
3698@enumerate
3699@item provide a base like sets of modules that provide a consistent set of
3700 features and bugfixes across multiple versions of GHC (unlike base).
3701@item provide a better and more efficient prelude than base's prelude.
3702@item be self-sufficient: no external dependencies apart from base;
3703@item provide better data-types: packed unicode string by default, arrays;
3704@item Numerical classes that better represent mathematical things (no more
3705 all-in-one @code{Num});
3706@item I/O system with less lazy IO.
3707@end enumerate\n")
3708 (license license:bsd-3)))
3709
3710(define-public ghc-free
3711 (package
3712 (name "ghc-free")
3713 (version "5.0.2")
3714 (source
3715 (origin
3716 (method url-fetch)
3717 (uri (string-append
3718 "https://hackage.haskell.org/package/free/free-"
3719 version
3720 ".tar.gz"))
3721 (sha256
3722 (base32
3723 "15m3n9vhz7z3kzv1w3wlfa3x8jp4cbrkwmrcjr7jlx39iqffn1gg"))))
3724 (build-system haskell-build-system)
3725 (inputs
3726 `(("ghc-prelude-extras" ,ghc-prelude-extras)
3727 ("ghc-profunctors" ,ghc-profunctors)
3728 ("ghc-exceptions" ,ghc-exceptions)
3729 ("ghc-bifunctors" ,ghc-bifunctors)
3730 ("ghc-comonad" ,ghc-comonad)
3731 ("ghc-distributive" ,ghc-distributive)
3732 ("ghc-semigroupoids" ,ghc-semigroupoids)
3733 ("ghc-semigroups" ,ghc-semigroups)
3734 ("ghc-transformers-base" ,ghc-transformers-base)
3735 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3736 (home-page "https://github.com/ekmett/free/")
3737 (synopsis "Unrestricted monads for Haskell")
3738 (description "This library provides free monads, which are useful for many
3739tree-like structures and domain specific languages. If @code{f} is a
3740@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
3741whose nodes are labeled with the constructors of @code{f}. The word \"free\"
3742is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
3743f} makes no constraining assumptions beyond those given by @code{f} and the
3744definition of @code{Monad}.")
3745 (license license:bsd-3)))
3746
3747(define-public ghc-fsnotify
3748 (package
3749 (name "ghc-fsnotify")
3750 (version "0.3.0.1")
3751 (source (origin
3752 (method url-fetch)
3753 (uri (string-append
3754 "https://hackage.haskell.org/package/fsnotify/"
3755 "fsnotify-" version ".tar.gz"))
3756 (sha256
3757 (base32
3758 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
3759 (build-system haskell-build-system)
3760 (inputs
3761 `(("ghc-async" ,ghc-async)
3762 ("ghc-unix-compat" ,ghc-unix-compat)
3763 ("ghc-hinotify" ,ghc-hinotify)
3764 ("ghc-tasty" ,ghc-tasty)
3765 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3766 ("ghc-random" ,ghc-random)
3767 ("ghc-shelly" ,ghc-shelly)
3768 ("ghc-temporary" ,ghc-temporary)))
3769 (home-page "https://github.com/haskell-fswatch/hfsnotify")
3770 (synopsis "Cross platform library for file change notification.")
3771 (description "Cross platform library for file creation, modification, and
3772deletion notification. This library builds upon existing libraries for platform
3773specific Windows, Mac, and Linux file system event notification.")
3774 (license license:bsd-3)))
3775
3776(define-public ghc-generic-deriving
3777 (package
3778 (name "ghc-generic-deriving")
55c1e6be 3779 (version "1.12.4")
dddbc90c
RV
3780 (source
3781 (origin
3782 (method url-fetch)
3783 (uri (string-append
3784 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
3785 version
3786 ".tar.gz"))
3787 (sha256
3788 (base32
55c1e6be 3789 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
3790 (build-system haskell-build-system)
3791 (inputs
3792 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
3793 (native-inputs
3794 `(("ghc-hspec" ,ghc-hspec)
3795 ("hspec-discover" ,hspec-discover)))
3796 (home-page "https://hackage.haskell.org/package/generic-deriving")
3797 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3798 (description "This package provides functionality for generalising the
3799deriving mechanism in Haskell to arbitrary classes.")
3800 (license license:bsd-3)))
3801
3802(define-public ghc-generics-sop
3803 (package
3804 (name "ghc-generics-sop")
3ed40e10 3805 (version "0.4.0.1")
dddbc90c
RV
3806 (source
3807 (origin
3808 (method url-fetch)
3809 (uri (string-append "https://hackage.haskell.org/package/"
3810 "generics-sop-" version "/"
3811 "generics-sop-" version ".tar.gz"))
3812 (sha256
3813 (base32
3ed40e10 3814 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 3815 (build-system haskell-build-system)
3ed40e10
TS
3816 (inputs
3817 `(("ghc-sop-core" ,ghc-sop-core)
3818 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
3819 (home-page "https://github.com/well-typed/generics-sop")
3820 (synopsis "Generic Programming using True Sums of Products for Haskell")
3821 (description "This Haskell package supports the definition of generic
3822functions. Datatypes are viewed in a uniform, structured way: the choice
3823between constructors is represented using an n-ary sum, and the arguments of
3824each constructor are represented using an n-ary product.")
3825 (license license:bsd-3)))
3826
3827(define-public ghc-geniplate-mirror
3828 (package
3829 (name "ghc-geniplate-mirror")
3830 (version "0.7.6")
3831 (source
3832 (origin
3833 (method url-fetch)
3834 (uri (string-append "https://hackage.haskell.org/package"
3835 "/geniplate-mirror"
3836 "/geniplate-mirror-" version ".tar.gz"))
3837 (sha256
3838 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
3839 (build-system haskell-build-system)
3840 (home-page "https://github.com/danr/geniplate")
3841 (synopsis "Use Template Haskell to generate Uniplate-like functions")
3842 (description
3843 "Use Template Haskell to generate Uniplate-like functions. This is a
3844maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
3845geniplate} package, written by Lennart Augustsson.")
3846 (license license:bsd-3)))
3847
3848(define-public ghc-genvalidity
3849 (package
3850 (name "ghc-genvalidity")
920f44a1 3851 (version "0.8.0.0")
dddbc90c
RV
3852 (source
3853 (origin
3854 (method url-fetch)
3855 (uri (string-append
3856 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
3857 version
3858 ".tar.gz"))
3859 (sha256
3860 (base32
920f44a1 3861 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
3862 (build-system haskell-build-system)
3863 (inputs
3864 `(("ghc-quickcheck" ,ghc-quickcheck)
3865 ("ghc-validity" ,ghc-validity)))
3866 (native-inputs
3867 `(("ghc-hspec" ,ghc-hspec)
3868 ("hspec-discover" ,hspec-discover)
3869 ("ghc-hspec-core" ,ghc-hspec-core)))
3870 (home-page
3871 "https://github.com/NorfairKing/validity")
3872 (synopsis
3873 "Testing utilities for the @code{validity} library")
3874 (description
3875 "This package provides testing utilities that are useful in conjunction
3876with the @code{Validity} typeclass.")
3877 (license license:expat)))
3878
3879(define-public ghc-genvalidity-property
3880 (package
3881 (name "ghc-genvalidity-property")
e4ede35b 3882 (version "0.4.0.0")
dddbc90c
RV
3883 (source
3884 (origin
3885 (method url-fetch)
3886 (uri (string-append
3887 "https://hackage.haskell.org/package/"
3888 "genvalidity-property/genvalidity-property-"
3889 version
3890 ".tar.gz"))
3891 (sha256
3892 (base32
e4ede35b 3893 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
3894 (build-system haskell-build-system)
3895 (inputs
3896 `(("ghc-quickcheck" ,ghc-quickcheck)
3897 ("ghc-genvalidity" ,ghc-genvalidity)
3898 ("ghc-hspec" ,ghc-hspec)
3899 ("hspec-discover" ,hspec-discover)
3900 ("ghc-validity" ,ghc-validity)))
3901 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
3902 (home-page
3903 "https://github.com/NorfairKing/validity")
3904 (synopsis
3905 "Standard properties for functions on @code{Validity} types")
3906 (description
3907 "This package supplements the @code{Validity} typeclass with standard
3908properties for functions operating on them.")
3909 (license license:expat)))
3910
3911(define-public ghc-gitrev
3912 (package
3913 (name "ghc-gitrev")
3914 (version "1.3.1")
3915 (source
3916 (origin
3917 (method url-fetch)
3918 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
3919 version ".tar.gz"))
3920 (sha256
3921 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
3922 (build-system haskell-build-system)
3923 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
3924 (home-page "https://github.com/acfoltzer/gitrev")
3925 (synopsis "Compile git revision info into Haskell projects")
3926 (description
3927 "This package provides some handy Template Haskell splices for including
3928the current git hash and branch in the code of your project. This is useful
3929for including in panic messages, @command{--version} output, or diagnostic
3930info for more informative bug reports.")
3931 (license license:bsd-3)))
3932
3933(define-public ghc-glob
3934 (package
3935 (name "ghc-glob")
b900f486 3936 (version "0.10.0")
dddbc90c
RV
3937 (source
3938 (origin
3939 (method url-fetch)
3940 (uri (string-append "https://hackage.haskell.org/package/"
3941 "Glob-" version "/"
3942 "Glob-" version ".tar.gz"))
3943 (sha256
3944 (base32
b900f486 3945 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
3946 (build-system haskell-build-system)
3947 (inputs
3948 `(("ghc-dlist" ,ghc-dlist)
3949 ("ghc-semigroups" ,ghc-semigroups)
3950 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3951 (native-inputs
3952 `(("ghc-hunit" ,ghc-hunit)
3953 ("ghc-quickcheck" ,ghc-quickcheck)
3954 ("ghc-test-framework" ,ghc-test-framework)
3955 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3956 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3957 (home-page "http://iki.fi/matti.niemenmaa/glob/")
3958 (synopsis "Haskell library matching glob patterns against file paths")
3959 (description "This package provides a Haskell library for @dfn{globbing}:
3960matching patterns against file paths.")
3961 (license license:bsd-3)))
3962
3963(define-public ghc-gluraw
3964 (package
3965 (name "ghc-gluraw")
3966 (version "2.0.0.4")
3967 (source
3968 (origin
3969 (method url-fetch)
3970 (uri (string-append
3971 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
3972 version
3973 ".tar.gz"))
3974 (sha256
3975 (base32
3976 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
3977 (build-system haskell-build-system)
3978 (inputs
3979 `(("ghc-openglraw" ,ghc-openglraw)))
3980 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3981 (synopsis "Raw Haskell bindings GLU")
3982 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
3983utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
3984basis for a nicer interface.")
3985 (license license:bsd-3)))
3986
3987(define-public ghc-glut
3988 (package
3989 (name "ghc-glut")
3990 (version "2.7.0.14")
3991 (source
3992 (origin
3993 (method url-fetch)
3994 (uri (string-append
3995 "https://hackage.haskell.org/package/GLUT/GLUT-"
3996 version
3997 ".tar.gz"))
3998 (sha256
3999 (base32
4000 "01i162fly4q1751fp60lgkzlb8kr0qqbvmxj74zc6skb19qggy2w"))))
4001 (build-system haskell-build-system)
4002 (inputs
4003 `(("ghc-statevar" ,ghc-statevar)
4004 ("ghc-opengl" ,ghc-opengl)
4005 ("ghc-openglraw" ,ghc-openglraw)
4006 ("freeglut" ,freeglut)))
4007 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4008 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4009 (description "This library provides Haskell bindings for the OpenGL
4010Utility Toolkit, a window system-independent toolkit for writing OpenGL
4011programs.")
4012 (license license:bsd-3)))
4013
4014(define-public ghc-gnuplot
4015 (package
4016 (name "ghc-gnuplot")
d34860c7 4017 (version "0.5.6")
dddbc90c
RV
4018 (source
4019 (origin
4020 (method url-fetch)
4021 (uri (string-append
4022 "mirror://hackage/package/gnuplot/gnuplot-"
4023 version ".tar.gz"))
4024 (sha256
d34860c7 4025 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4026 (build-system haskell-build-system)
4027 (inputs
4028 `(("ghc-temporary" ,ghc-temporary)
4029 ("ghc-utility-ht" ,ghc-utility-ht)
4030 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4031 ("ghc-data-accessor" ,ghc-data-accessor)
4032 ("ghc-semigroups" ,ghc-semigroups)
4033 ("gnuplot" ,gnuplot)))
4034 (arguments
4035 `(#:phases
4036 (modify-phases %standard-phases
4037 (add-before 'configure 'fix-path-to-gnuplot
4038 (lambda* (#:key inputs #:allow-other-keys)
4039 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4040 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4041 (("(gnuplotName = ).*$" all cmd)
4042 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4043 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4044 (synopsis "2D and 3D plots using gnuplot")
4045 (description "This package provides a Haskell module for creating 2D and
40463D plots using gnuplot.")
4047 (license license:bsd-3)))
4048
4049(define-public ghc-graphviz
4050 (package
4051 (name "ghc-graphviz")
c264bd42 4052 (version "2999.20.0.3")
dddbc90c
RV
4053 (source (origin
4054 (method url-fetch)
4055 (uri (string-append "https://hackage.haskell.org/package/"
4056 "graphviz/graphviz-" version ".tar.gz"))
4057 (sha256
4058 (base32
c264bd42 4059 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4060 (build-system haskell-build-system)
c264bd42
TS
4061 (arguments
4062 `(#:phases
4063 (modify-phases %standard-phases
4064 (add-before 'configure 'update-constraints
4065 (lambda _
4066 (substitute* "graphviz.cabal"
4067 (("QuickCheck >= 2\\.3 && < 2\\.13")
4068 "QuickCheck >= 2.3 && < 2.14")
4069 (("hspec >= 2\\.1 && < 2\\.7")
4070 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4071 (inputs
4072 `(("ghc-quickcheck" ,ghc-quickcheck)
4073 ("ghc-colour" ,ghc-colour)
4074 ("ghc-dlist" ,ghc-dlist)
4075 ("ghc-fgl" ,ghc-fgl)
4076 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4077 ("ghc-polyparse" ,ghc-polyparse)
4078 ("ghc-temporary" ,ghc-temporary)
4079 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4080 (native-inputs
4081 `(("ghc-hspec" ,ghc-hspec)
4082 ("graphviz" ,graphviz)
4083 ("hspec-discover" ,hspec-discover)))
4084 (home-page "https://hackage.haskell.org/package/graphviz")
4085 (synopsis "Bindings to Graphviz for graph visualisation")
4086 (description
4087 "This library provides bindings for the Dot language used by
4088the @uref{https://graphviz.org/, Graphviz} suite of programs for
4089visualising graphs, as well as functions to call those programs.
4090Main features of the graphviz library include:
4091
4092@enumerate
4093@item Almost complete coverage of all Graphviz attributes and syntax
4094@item Support for specifying clusters
4095@item The ability to use a custom node type
4096@item Functions for running a Graphviz layout tool with all specified output types
4097@item Generate and parse Dot code with two options: strict and liberal
4098@item Functions to convert FGL graphs and other graph-like data structures
4099@item Round-trip support for passing an FGL graph through Graphviz to augment node
4100and edge labels with positional information, etc.
4101@end enumerate\n")
4102 (license license:bsd-3)))
4103
4104(define-public ghc-gtk2hs-buildtools
4105 (package
4106 (name "ghc-gtk2hs-buildtools")
4107 (version "0.13.4.0")
4108 (source
4109 (origin
4110 (method url-fetch)
4111 (uri (string-append "https://hackage.haskell.org/package/"
4112 "gtk2hs-buildtools/gtk2hs-buildtools-"
4113 version ".tar.gz"))
4114 (sha256
4115 (base32
4116 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
4117 (build-system haskell-build-system)
4118 (inputs
4119 `(("ghc-random" ,ghc-random)
4120 ("ghc-hashtables" ,ghc-hashtables)))
4121 (native-inputs
4122 `(("ghc-alex" ,ghc-alex)
4123 ("ghc-happy" ,ghc-happy)))
4124 (home-page "http://projects.haskell.org/gtk2hs/")
4125 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4126 (description
4127 "This package provides a set of helper programs necessary to build the
4128Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4129that is used to generate FFI declarations, a tool to build a type hierarchy
4130that mirrors the C type hierarchy of GObjects found in glib, and a generator
4131for signal declarations that are used to call back from C to Haskell. These
4132tools are not needed to actually run Gtk2Hs programs.")
4133 (license license:gpl2)))
4134
4135(define-public ghc-hackage-security
4136 (package
4137 (name "ghc-hackage-security")
4138 (version "0.5.3.0")
4139 (source
4140 (origin
4141 (method url-fetch)
4142 (uri (string-append "https://hackage.haskell.org/package/"
4143 "hackage-security/hackage-security-"
4144 version ".tar.gz"))
4145 (sha256
4146 (base32
4147 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4148 (build-system haskell-build-system)
4149 (arguments
4150 `(#:tests? #f)) ; Tests fail because of framework updates.
4151 (inputs
4152 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4153 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4154 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4155 ("ghc-ed25519" ,ghc-ed25519)
4156 ("ghc-network" ,ghc-network)
4157 ("ghc-network-uri" ,ghc-network-uri)
4158 ("ghc-tar" ,ghc-tar)
4159 ("ghc-zlib" ,ghc-zlib)))
4160 (native-inputs
4161 `(("ghc-network-uri" ,ghc-network-uri)
4162 ("ghc-quickcheck" ,ghc-quickcheck)
4163 ("ghc-tar" ,ghc-tar)
4164 ("ghc-tasty" ,ghc-tasty)
4165 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4166 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4167 ("ghc-temporary" ,ghc-temporary)
4168 ("ghc-zlib" ,ghc-zlib)))
4169 (home-page "https://github.com/haskell/hackage-security")
4170 (synopsis "Hackage security library")
4171 (description "This Hackage security library provides both server and
4172client utilities for securing @uref{http://hackage.haskell.org/, the
4173Hackage package server}. It is based on
4174@uref{http://theupdateframework.com/, The Update Framework}, a set of
4175recommendations developed by security researchers at various universities
4176in the US as well as developers on the @uref{https://www.torproject.org/,
4177Tor project}.")
4178 (license license:bsd-3)))
4179
4180(define-public ghc-haddock
4181 (package
4182 (name "ghc-haddock")
4183 (version "2.19.0.1")
4184 (source
4185 (origin
4186 (method url-fetch)
4187 (uri (string-append
4188 "https://hackage.haskell.org/package/haddock/haddock-"
4189 version
4190 ".tar.gz"))
4191 (sha256
4192 (base32
4193 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4194 (build-system haskell-build-system)
4195 (arguments
4196 `(#:phases
4197 (modify-phases %standard-phases
4198 ;; There are four test suites that require the ghc-haddock-test
4199 ;; package, which no longer builds with GHC 8.4.3. This phase
4200 ;; removes these four test suites from the Cabal file, so that we
4201 ;; do not need ghc-haddock-test as an input.
4202 (add-before 'configure 'remove-haddock-test-test-suites
4203 (lambda _
4204 (use-modules (ice-9 rdelim))
4205 (with-atomic-file-replacement "haddock.cabal"
4206 (lambda (in out)
4207 (let loop ((line (read-line in 'concat)) (deleting? #f))
4208 (cond
4209 ((eof-object? line) #t)
4210 ((string-every char-set:whitespace line)
4211 (unless deleting? (display line out))
4212 (loop (read-line in 'concat) #f))
4213 ((member line '("test-suite html-test\n"
4214 "test-suite hypsrc-test\n"
4215 "test-suite latex-test\n"
4216 "test-suite hoogle-test\n"))
4217 (loop (read-line in 'concat) #t))
4218 (else
4219 (unless deleting? (display line out))
4220 (loop (read-line in 'concat) deleting?)))))))))))
4221 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4222 (native-inputs
4223 `(("ghc-hspec" ,ghc-hspec)))
4224 (home-page "https://www.haskell.org/haddock/")
4225 (synopsis
4226 "Documentation-generation tool for Haskell libraries")
4227 (description
4228 "Haddock is a documentation-generation tool for Haskell libraries.")
4229 (license license:bsd-3)))
4230
4231(define-public ghc-haddock-api
4232 (package
4233 (name "ghc-haddock-api")
4234 (version "2.19.0.1")
4235 (source
4236 (origin
4237 (method url-fetch)
4238 (uri (string-append
4239 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4240 version
4241 ".tar.gz"))
4242 (sha256
4243 (base32
4244 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4245 (build-system haskell-build-system)
4246 (arguments
4247 `(#:phases
4248 (modify-phases %standard-phases
4249 (add-before 'configure 'update-constraints
4250 (lambda _
4251 (substitute* "haddock-api.cabal"
4252 (("Cabal \\^>= 2\\.0\\.0")
4253 "Cabal ^>= 2.2.0")
4254 (("hspec \\^>= 2\\.4\\.4")
4255 "hspec >= 2.4.4 && < 2.6")))))))
4256 (inputs
4257 `(("ghc-paths" ,ghc-paths)
4258 ("ghc-haddock-library" ,ghc-haddock-library)))
4259 (native-inputs
4260 `(("ghc-quickcheck" ,ghc-quickcheck)
4261 ("ghc-hspec" ,ghc-hspec)
4262 ("hspec-discover" ,hspec-discover)))
4263 (home-page "https://www.haskell.org/haddock/")
4264 (synopsis "API for documentation-generation tool Haddock")
4265 (description "This package provides an API to Haddock, the
4266documentation-generation tool for Haskell libraries.")
4267 (license license:bsd-3)))
4268
4269(define-public ghc-haddock-library
4270 (package
4271 (name "ghc-haddock-library")
4272 (version "1.5.0.1")
4273 (source
4274 (origin
4275 (method url-fetch)
4276 (uri (string-append
4277 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4278 version
4279 ".tar.gz"))
4280 (sha256
4281 (base32
4282 "1cmbg8l5xrwpliclwy3l057raypjqy0hsg1h1743ahaj8gq10b7z"))
4283 (patches (search-patches
4284 "ghc-haddock-library-unbundle.patch"))
4285 (modules '((guix build utils)))
4286 (snippet '(begin
4287 (delete-file-recursively "vendor")
4288 #t))))
4289 (build-system haskell-build-system)
4290 (arguments
4291 `(#:phases
4292 (modify-phases %standard-phases
4293 (add-before 'configure 'relax-test-suite-dependencies
4294 (lambda _
4295 (substitute* "haddock-library.cabal"
4296 (("base-compat\\s*\\^>= 0\\.9\\.3") "base-compat")
4297 (("hspec\\s*\\^>= 2\\.4\\.4") "hspec"))))
4298 ;; The release tarball does not contain the "fixtures/examples"
4299 ;; directory, which is required for testing. In the upstream
4300 ;; repository, the directory exists and is populated. Here, we
4301 ;; create an empty directory to placate the tests.
4302 (add-before 'check 'add-examples-directory
4303 (lambda _
4304 (mkdir "fixtures/examples")
4305 #t)))))
4306 (native-inputs
4307 `(("ghc-base-compat" ,ghc-base-compat)
4308 ("ghc-hspec" ,ghc-hspec)
4309 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4310 ("ghc-quickcheck" ,ghc-quickcheck)
4311 ("ghc-tree-diff" ,ghc-tree-diff)
4312 ("hspec-discover" ,hspec-discover)))
4313 (home-page "https://www.haskell.org/haddock/")
4314 (synopsis "Library exposing some functionality of Haddock")
4315 (description
4316 "Haddock is a documentation-generation tool for Haskell libraries. These
4317modules expose some functionality of it without pulling in the GHC dependency.
4318Please note that the API is likely to change so specify upper bounds in your
4319project if you can't release often. For interacting with Haddock itself, see
4320the ‘haddock’ package.")
4321 (license license:bsd-3)))
4322
4323(define-public ghc-half
4324 (package
4325 (name "ghc-half")
4326 (version "0.3")
4327 (source
4328 (origin
4329 (method url-fetch)
4330 (uri (string-append
4331 "https://hackage.haskell.org/package/half/half-"
4332 version ".tar.gz"))
4333 (sha256
4334 (base32
4335 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4336 (build-system haskell-build-system)
4337 (native-inputs
4338 `(("ghc-hspec" ,ghc-hspec)
4339 ("ghc-quickcheck" ,ghc-quickcheck)))
4340 (home-page "https://github.com/ekmett/half")
4341 (synopsis "Half-precision floating-point computations")
4342 (description "This library provides a half-precision floating-point
4343computation library for Haskell.")
4344 (license license:bsd-3)))
4345
4346(define-public ghc-happy
4347 (package
4348 (name "ghc-happy")
90e7b0e4 4349 (version "1.19.12")
dddbc90c
RV
4350 (source
4351 (origin
4352 (method url-fetch)
4353 (uri (string-append
4354 "https://hackage.haskell.org/package/happy/happy-"
4355 version
4356 ".tar.gz"))
4357 (sha256
4358 (base32
90e7b0e4 4359 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4360 (build-system haskell-build-system)
4361 (arguments
4362 `(#:phases
4363 (modify-phases %standard-phases
4364 (add-after 'unpack 'skip-test-issue93
4365 (lambda _
4366 ;; Tests run out of memory on a system with 2GB of available RAM,
4367 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4368 (substitute* "tests/Makefile"
4369 ((" issue93.y ") " "))
4370 #t)))))
4371 (home-page "https://hackage.haskell.org/package/happy")
4372 (synopsis "Parser generator for Haskell")
4373 (description "Happy is a parser generator for Haskell. Given a grammar
4374specification in BNF, Happy generates Haskell code to parse the grammar.
4375Happy works in a similar way to the yacc tool for C.")
4376 (license license:bsd-3)))
4377
4378(define-public ghc-hashable
4379 (package
4380 (name "ghc-hashable")
4381 (version "1.2.7.0")
4382 (outputs '("out" "doc"))
4383 (source
4384 (origin
4385 (method url-fetch)
4386 (uri (string-append
4387 "https://hackage.haskell.org/package/hashable/hashable-"
4388 version
4389 ".tar.gz"))
4390 (sha256
4391 (base32
4392 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4393 (build-system haskell-build-system)
65a16a45
TS
4394 (arguments
4395 `(#:cabal-revision
4396 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
4397 (inputs
4398 `(("ghc-random" ,ghc-random)))
4399 (native-inputs
4400 `(("ghc-test-framework" ,ghc-test-framework)
4401 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4402 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4403 ("ghc-hunit" ,ghc-hunit)
4404 ("ghc-quickcheck" ,ghc-quickcheck)))
4405 (home-page "https://github.com/tibbe/hashable")
4406 (synopsis "Class for types that can be converted to a hash value")
4407 (description
4408 "This package defines a class, @code{Hashable}, for types that can be
4409converted to a hash value. This class exists for the benefit of hashing-based
4410data structures. The package provides instances for basic types and a way to
4411combine hash values.")
4412 (license license:bsd-3)))
4413
4414(define-public ghc-hashable-bootstrap
4415 (package
4416 (inherit ghc-hashable)
4417 (name "ghc-hashable-bootstrap")
65a16a45
TS
4418 (arguments
4419 `(#:tests? #f
4420 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
4421 (native-inputs '())
4422 (properties '((hidden? #t)))))
4423
4424(define-public ghc-hashable-time
4425 (package
4426 (name "ghc-hashable-time")
f5051e31 4427 (version "0.2.0.2")
dddbc90c
RV
4428 (source
4429 (origin
4430 (method url-fetch)
4431 (uri (string-append
4432 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4433 version
4434 ".tar.gz"))
4435 (sha256
4436 (base32
f5051e31 4437 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
4438 (build-system haskell-build-system)
4439 (arguments
4440 `(#:cabal-revision
f5051e31 4441 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c
RV
4442 (inputs `(("ghc-hashable" ,ghc-hashable)))
4443 (home-page "http://hackage.haskell.org/package/hashable-time")
4444 (synopsis "Hashable instances for Data.Time")
4445 (description
4446 "This package provides @code{Hashable} instances for types in
4447@code{Data.Time}.")
4448 (license license:bsd-3)))
4449
4450(define-public ghc-hashtables
4451 (package
4452 (name "ghc-hashtables")
19edf0d0 4453 (version "1.2.3.4")
dddbc90c
RV
4454 (source
4455 (origin
4456 (method url-fetch)
4457 (uri (string-append
4458 "https://hackage.haskell.org/package/hashtables/hashtables-"
4459 version ".tar.gz"))
4460 (sha256
19edf0d0 4461 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
4462 (build-system haskell-build-system)
4463 (inputs
4464 `(("ghc-hashable" ,ghc-hashable)
4465 ("ghc-primitive" ,ghc-primitive)
4466 ("ghc-vector" ,ghc-vector)))
4467 (home-page "https://github.com/gregorycollins/hashtables")
4468 (synopsis "Haskell Mutable hash tables in the ST monad")
4469 (description "This package provides a Haskell library including a
4470couple of different implementations of mutable hash tables in the ST
4471monad, as well as a typeclass abstracting their common operations, and
4472a set of wrappers to use the hash tables in the IO monad.")
4473 (license license:bsd-3)))
4474
4475(define-public ghc-haskell-lexer
4476 (package
4477 (name "ghc-haskell-lexer")
4478 (version "1.0.2")
4479 (source
4480 (origin
4481 (method url-fetch)
4482 (uri (string-append
4483 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4484 version ".tar.gz"))
4485 (sha256
4486 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4487 (build-system haskell-build-system)
4488 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4489 (synopsis "Fully compliant Haskell 98 lexer")
4490 (description
4491 "This package provides a fully compliant Haskell 98 lexer.")
4492 (license license:bsd-3)))
4493
4494(define-public ghc-haskell-src
4495 (package
4496 (name "ghc-haskell-src")
4497 (version "1.0.3.0")
4498 (source
4499 (origin
4500 (method url-fetch)
4501 (uri (string-append
4502 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4503 version
4504 ".tar.gz"))
4505 (sha256
4506 (base32
4507 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4508 (build-system haskell-build-system)
4509 (inputs
4510 `(("ghc-happy" ,ghc-happy)
4511 ("ghc-syb" ,ghc-syb)))
4512 (home-page
4513 "https://hackage.haskell.org/package/haskell-src")
4514 (synopsis
4515 "Support for manipulating Haskell source code")
4516 (description
4517 "The @code{haskell-src} package provides support for manipulating Haskell
4518source code. The package provides a lexer, parser and pretty-printer, and a
4519definition of a Haskell abstract syntax tree (AST). Common uses of this
4520package are to parse or generate Haskell 98 code.")
4521 (license license:bsd-3)))
4522
4523(define-public ghc-haskell-src-exts
4524 (package
4525 (name "ghc-haskell-src-exts")
4526 (version "1.20.2")
4527 (source
4528 (origin
4529 (method url-fetch)
4530 (uri (string-append
4531 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4532 version
4533 ".tar.gz"))
4534 (sha256
4535 (base32
4536 "1sm3z4v1p5yffg01ldgavz71s3bvfhjfa13k428rk14bpkl8crlz"))))
4537 (build-system haskell-build-system)
4538 (inputs
4539 `(("cpphs" ,cpphs)
4540 ("ghc-happy" ,ghc-happy)
4541 ("ghc-pretty-show" ,ghc-pretty-show)))
4542 (native-inputs
4543 `(("ghc-smallcheck" ,ghc-smallcheck)
4544 ("ghc-tasty" ,ghc-tasty)
4545 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4546 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4547 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4548 (synopsis "Library for manipulating Haskell source")
4549 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4550extension of the standard @code{haskell-src} package, and handles most
4551registered syntactic extensions to Haskell. All extensions implemented in GHC
4552are supported. Apart from these standard extensions, it also handles regular
4553patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4554 (license license:bsd-3)))
4555
4556(define-public ghc-haskell-src-exts-util
4557 (package
4558 (name "ghc-haskell-src-exts-util")
4559 (version "0.2.3")
4560 (source
4561 (origin
4562 (method url-fetch)
4563 (uri (string-append "https://hackage.haskell.org/package/"
4564 "haskell-src-exts-util/haskell-src-exts-util-"
4565 version ".tar.gz"))
4566 (sha256
4567 (base32
4568 "1803718paq89f8pdck4mb88hv2k1ah9lxzq0lgjgwi9n88ryycz8"))))
4569 (build-system haskell-build-system)
4570 (inputs
4571 `(("ghc-data-default" ,ghc-data-default)
4572 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4573 ("ghc-semigroups" ,ghc-semigroups)
4574 ("ghc-uniplate" ,ghc-uniplate)))
4575 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4576 (synopsis "Helper functions for working with haskell-src-exts trees")
4577 (description
4578 "This package provides helper functions for working with
4579@code{haskell-src-exts} trees.")
4580 (license license:bsd-3)))
4581
4582(define-public ghc-haskell-src-meta
4583 (package
4584 (name "ghc-haskell-src-meta")
4585 (version "0.8.0.3")
4586 (source (origin
4587 (method url-fetch)
4588 (uri (string-append "https://hackage.haskell.org/package/"
4589 "haskell-src-meta/haskell-src-meta-"
4590 version ".tar.gz"))
4591 (sha256
4592 (base32
4593 "08jq156zv4m0fjq6712n99c1jwxnpa6kj6sq8ch0r1l0a1ay6ww4"))))
4594 (build-system haskell-build-system)
4595 (inputs
4596 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4597 ("ghc-syb" ,ghc-syb)
4598 ("ghc-th-orphans" ,ghc-th-orphans)))
4599 (native-inputs
4600 `(("ghc-hunit" ,ghc-hunit)
4601 ("ghc-test-framework" ,ghc-test-framework)
4602 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4603 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4604 (synopsis "Parse source to template-haskell abstract syntax")
4605 (description
4606 "This package provides tools to parse Haskell sources to the
4607template-haskell abstract syntax.")
4608 (license license:bsd-3)))
4609
4610(define-public ghc-hasktags
4611 (package
4612 (name "ghc-hasktags")
4613 (version "0.71.2")
4614 (source
4615 (origin
4616 (method url-fetch)
4617 (uri (string-append
4618 "https://hackage.haskell.org/package/hasktags/hasktags-"
4619 version
4620 ".tar.gz"))
4621 (sha256
4622 (base32
4623 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4624 (build-system haskell-build-system)
4625 (inputs
4626 `(("ghc-system-filepath" ,ghc-system-filepath)
4627 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4628 (native-inputs
4629 `(("ghc-json" ,ghc-json)
4630 ("ghc-utf8-string" ,ghc-utf8-string)
4631 ("ghc-microlens-platform" ,ghc-microlens-platform)
4632 ("ghc-hunit" ,ghc-hunit)))
4633 (home-page "http://github.com/MarcWeber/hasktags")
4634 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4635 (description
4636 "This package provides a means of generating tag files for Emacs and
4637Vim.")
4638 (license license:bsd-3)))
4639
4640(define-public ghc-hex
4641 (package
4642 (name "ghc-hex")
4643 (version "0.1.2")
4644 (source
4645 (origin
4646 (method url-fetch)
4647 (uri (string-append "https://hackage.haskell.org/package/"
4648 "hex-" version "/"
4649 "hex-" version ".tar.gz"))
4650 (sha256
4651 (base32
4652 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4653 (build-system haskell-build-system)
4654 (home-page "https://hackage.haskell.org/package/hex")
4655 (synopsis "Convert strings into hexadecimal and back")
4656 (description "This package provides conversion functions between
4657bytestrings and their hexademical representation.")
4658 (license license:bsd-3)))
4659
4660(define-public ghc-highlighting-kate
4661 (package
4662 (name "ghc-highlighting-kate")
4663 (version "0.6.4")
4664 (source (origin
4665 (method url-fetch)
4666 (uri (string-append "https://hackage.haskell.org/package/"
4667 "highlighting-kate/highlighting-kate-"
4668 version ".tar.gz"))
4669 (sha256
4670 (base32
4671 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4672 (build-system haskell-build-system)
4673 (inputs
4674 `(("ghc-diff" ,ghc-diff)
4675 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4676 (native-inputs
4677 `(("ghc-blaze-html" ,ghc-blaze-html)
4678 ("ghc-utf8-string" ,ghc-utf8-string)))
4679 (home-page "https://github.com/jgm/highlighting-kate")
4680 (synopsis "Syntax highlighting library")
4681 (description
4682 "Highlighting-kate is a syntax highlighting library with support for
4683nearly one hundred languages. The syntax parsers are automatically generated
4684from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4685supported by Kate can be added. An (optional) command-line program is
4686provided, along with a utility for generating new parsers from Kate XML syntax
4687descriptions.")
4688 (license license:gpl2+)))
4689
4690(define-public ghc-hindent
4691 (package
4692 (name "ghc-hindent")
4693 (version "5.3.0")
4694 (source
4695 (origin
4696 (method url-fetch)
4697 (uri (string-append
4698 "https://hackage.haskell.org/package/hindent/hindent-"
4699 version
4700 ".tar.gz"))
4701 (sha256
4702 (base32
4703 "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg"))))
4704 (build-system haskell-build-system)
4705 (arguments
4706 `(#:modules ((guix build haskell-build-system)
4707 (guix build utils)
4708 (guix build emacs-utils))
4709 #:imported-modules (,@%haskell-build-system-modules
4710 (guix build emacs-utils))
4711 #:phases
4712 (modify-phases %standard-phases
4713 (add-after 'install 'emacs-install
4714 (lambda* (#:key inputs outputs #:allow-other-keys)
4715 (let* ((out (assoc-ref outputs "out"))
4716 (elisp-file "elisp/hindent.el")
4717 (dest (string-append out "/share/emacs/site-lisp"
4718 "/guix.d/hindent-" ,version))
4719 (emacs (string-append (assoc-ref inputs "emacs")
4720 "/bin/emacs")))
4721 (make-file-writable elisp-file)
4722 (emacs-substitute-variables elisp-file
4723 ("hindent-process-path"
4724 (string-append out "/bin/hindent")))
4725 (install-file elisp-file dest)
4726 (emacs-generate-autoloads "hindent" dest)))))))
4727 (inputs
4728 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4729 ("ghc-monad-loops" ,ghc-monad-loops)
4730 ("ghc-utf8-string" ,ghc-utf8-string)
4731 ("ghc-exceptions" ,ghc-exceptions)
4732 ("ghc-yaml" ,ghc-yaml)
4733 ("ghc-unix-compat" ,ghc-unix-compat)
4734 ("ghc-path" ,ghc-path)
4735 ("ghc-path-io" ,ghc-path-io)
4736 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4737 (native-inputs
4738 `(("ghc-hspec" ,ghc-hspec)
4739 ("ghc-diff" ,ghc-diff)
4740 ("emacs" ,emacs-minimal)))
4741 (home-page
4742 "https://github.com/commercialhaskell/hindent")
4743 (synopsis "Extensible Haskell pretty printer")
4744 (description
4745 "This package provides automatic formatting for Haskell files. Both a
4746library and an executable.")
4747 (license license:bsd-3)))
4748
4749(define-public ghc-hinotify
4750 (package
4751 (name "ghc-hinotify")
c2342abb 4752 (version "0.4")
dddbc90c
RV
4753 (source (origin
4754 (method url-fetch)
4755 (uri (string-append
4756 "https://hackage.haskell.org/package/hinotify/"
4757 "hinotify-" version ".tar.gz"))
4758 (sha256
4759 (base32
c2342abb 4760 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
4761 (build-system haskell-build-system)
4762 (inputs
4763 `(("ghc-async" ,ghc-async)))
4764 (home-page "https://github.com/kolmodin/hinotify.git")
4765 (synopsis "Haskell binding to inotify")
4766 (description "This library provides a wrapper to the Linux kernel's inotify
4767feature, allowing applications to subscribe to notifications when a file is
4768accessed or modified.")
4769 (license license:bsd-3)))
4770
4771(define-public ghc-hmatrix
4772 (package
4773 (name "ghc-hmatrix")
65e29ed1 4774 (version "0.20.0.0")
dddbc90c
RV
4775 (source
4776 (origin
4777 (method url-fetch)
4778 (uri (string-append
4779 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
4780 version ".tar.gz"))
4781 (sha256
65e29ed1 4782 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
4783 (build-system haskell-build-system)
4784 (inputs
4785 `(("ghc-random" ,ghc-random)
4786 ("ghc-split" ,ghc-split)
4787 ("ghc-storable-complex" ,ghc-storable-complex)
4788 ("ghc-semigroups" ,ghc-semigroups)
4789 ("ghc-vector" ,ghc-vector)
4790 ;;("openblas" ,openblas)
4791 ("lapack" ,lapack)))
4792 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
4793 ;; disables inclusion of the LAPACK functions.
4794 ;; (arguments `(#:configure-flags '("--flags=openblas")))
4795 (home-page "https://github.com/albertoruiz/hmatrix")
4796 (synopsis "Haskell numeric linear algebra library")
4797 (description "The HMatrix package provices a Haskell library for
4798dealing with linear systems, matrix decompositions, and other
4799numerical computations based on BLAS and LAPACK.")
4800 (license license:bsd-3)))
4801
4802(define-public ghc-hmatrix-gsl
4803 (package
4804 (name "ghc-hmatrix-gsl")
4805 (version "0.19.0.1")
4806 (source
4807 (origin
4808 (method url-fetch)
4809 (uri (string-append
4810 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
4811 version ".tar.gz"))
4812 (sha256
4813 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
4814 (build-system haskell-build-system)
4815 (inputs
4816 `(("ghc-hmatrix" ,ghc-hmatrix)
4817 ("ghc-vector" ,ghc-vector)
4818 ("ghc-random" ,ghc-random)
4819 ("gsl" ,gsl)))
4820 (native-inputs `(("pkg-config" ,pkg-config)))
4821 (home-page "https://github.com/albertoruiz/hmatrix")
4822 (synopsis "Haskell GSL binding")
4823 (description "This Haskell library provides a purely functional
4824interface to selected numerical computations, internally implemented
4825using GSL.")
4826 (license license:gpl3+)))
4827
4828(define-public ghc-hmatrix-gsl-stats
4829 (package
4830 (name "ghc-hmatrix-gsl-stats")
e9b359f5 4831 (version "0.4.1.8")
dddbc90c
RV
4832 (source
4833 (origin
4834 (method url-fetch)
4835 (uri
4836 (string-append
4837 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4838 version ".tar.gz"))
4839 (sha256
e9b359f5 4840 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
4841 (build-system haskell-build-system)
4842 (inputs
4843 `(("ghc-vector" ,ghc-vector)
4844 ("ghc-storable-complex" ,ghc-storable-complex)
4845 ("ghc-hmatrix" ,ghc-hmatrix)
4846 ("gsl" ,gsl)))
4847 (native-inputs `(("pkg-config" ,pkg-config)))
4848 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
4849 (synopsis "GSL Statistics interface for Haskell")
4850 (description "This Haskell library provides a purely functional
4851interface for statistics based on hmatrix and GSL.")
4852 (license license:bsd-3)))
4853
4854(define-public ghc-hmatrix-special
4855 (package
4856 (name "ghc-hmatrix-special")
4857 (version "0.19.0.0")
4858 (source
4859 (origin
4860 (method url-fetch)
4861 (uri
4862 (string-append
4863 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
4864 version ".tar.gz"))
4865 (sha256
4866 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
4867 (build-system haskell-build-system)
4868 (inputs
4869 `(("ghc-hmatrix" ,ghc-hmatrix)
4870 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
4871 (home-page "https://github.com/albertoruiz/hmatrix")
4872 (synopsis "Haskell interface to GSL special functions")
4873 (description "This library provides an interface to GSL special
4874functions for Haskell.")
4875 (license license:gpl3+)))
4876
4877(define-public ghc-hostname
4878 (package
4879 (name "ghc-hostname")
4880 (version "1.0")
4881 (source
4882 (origin
4883 (method url-fetch)
4884 (uri (string-append "https://hackage.haskell.org/package/hostname/"
4885 "hostname-" version ".tar.gz"))
4886 (sha256
4887 (base32
4888 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
4889 (build-system haskell-build-system)
4890 (home-page "https://hackage.haskell.org/package/hostname")
4891 (synopsis "Hostname in Haskell")
4892 (description "Network.HostName is a simple package providing a means to
4893determine the hostname.")
4894 (license license:bsd-3)))
4895
4896(define-public ghc-hourglass
4897 (package
4898 (name "ghc-hourglass")
4899 (version "0.2.12")
4900 (source (origin
4901 (method url-fetch)
4902 (uri (string-append "https://hackage.haskell.org/package/"
4903 "hourglass/hourglass-" version ".tar.gz"))
4904 (sha256
4905 (base32
4906 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
4907 (build-system haskell-build-system)
4908 (inputs
4909 `(("ghc-old-locale" ,ghc-old-locale)))
4910 (native-inputs
4911 `(("ghc-tasty" ,ghc-tasty)
4912 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4913 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4914 (home-page "https://github.com/vincenthz/hs-hourglass")
4915 (synopsis "Simple time-related library for Haskell")
4916 (description
4917 "This is a simple time library providing a simple but powerful and
4918performant API. The backbone of the library are the @code{Timeable} and
4919@code{Time} type classes. Each @code{Timeable} instances can be converted to
4920a type that has a @code{Time} instances, and thus are different
4921representations of current time.")
4922 (license license:bsd-3)))
4923
4924(define-public ghc-hpack
4925 (package
4926 (name "ghc-hpack")
4927 (version "0.28.2")
4928 (source
4929 (origin
4930 (method url-fetch)
4931 (uri (string-append "https://hackage.haskell.org/package/hpack/"
4932 "hpack-" version ".tar.gz"))
4933 (sha256
4934 (base32
4935 "18w0h76jdp3mk9vin8da9iz3cwhcxmw787xy8wlh8bxcpcr16q5r"))))
4936 (build-system haskell-build-system)
4937 (inputs
4938 `(("ghc-aeson" ,ghc-aeson)
4939 ("ghc-bifunctors" ,ghc-bifunctors)
4940 ("ghc-cryptonite" ,ghc-cryptonite)
4941 ("ghc-glob" ,ghc-glob)
4942 ("ghc-http-client" ,ghc-http-client)
4943 ("ghc-http-client-tls" ,ghc-http-client-tls)
4944 ("ghc-http-types" ,ghc-http-types)
4945 ("ghc-scientific" ,ghc-scientific)
4946 ("ghc-unordered-containers" ,ghc-unordered-containers)
4947 ("ghc-vector" ,ghc-vector)
4948 ("ghc-yaml" ,ghc-yaml)))
4949 (native-inputs
4950 `(("ghc-hspec" ,ghc-hspec)
4951 ("ghc-hunit" ,ghc-hunit)
4952 ("ghc-interpolate" ,ghc-interpolate)
4953 ("ghc-mockery" ,ghc-mockery)
4954 ("ghc-quickcheck" ,ghc-quickcheck)
4955 ("ghc-temporary" ,ghc-temporary)
4956 ("hspec-discover" ,hspec-discover)))
4957 (home-page "https://github.com/sol/hpack")
4958 (synopsis "Tools for an alternative Haskell package format")
4959 (description
4960 "Hpack is a format for Haskell packages. It is an alternative to the
4961Cabal package format and follows different design principles. Hpack packages
4962are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
4963@code{stack} support @code{package.yaml} natively. For other build tools the
4964@code{hpack} executable can be used to generate a @code{.cabal} file from
4965@code{package.yaml}.")
4966 (license license:expat)))
4967
4968(define-public ghc-hs-bibutils
4969 (package
4970 (name "ghc-hs-bibutils")
ebcb4f23 4971 (version "6.7.0.0")
dddbc90c
RV
4972 (source
4973 (origin
4974 (method url-fetch)
4975 (uri (string-append
4976 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
4977 version ".tar.gz"))
4978 (sha256
4979 (base32
ebcb4f23 4980 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
4981 (build-system haskell-build-system)
4982 (inputs `(("ghc-syb" ,ghc-syb)))
4983 (home-page "https://hackage.haskell.org/package/hs-bibutils")
4984 (synopsis "Haskell bindings to bibutils")
4985 (description
4986 "This package provides Haskell bindings to @code{bibutils}, a library
4987that interconverts between various bibliography formats using a common
4988MODS-format XML intermediate.")
4989 (license license:gpl2+)))
4990
4991(define-public ghc-hslogger
4992 (package
4993 (name "ghc-hslogger")
4994 (version "1.2.10")
4995 (source
4996 (origin
4997 (method url-fetch)
4998 (uri (string-append "https://hackage.haskell.org/package/"
4999 "hslogger-" version "/" "hslogger-"
5000 version ".tar.gz"))
5001 (sha256 (base32
5002 "0as5gvlh6pi2gflakp695qnlizyyp059dqrhvjl4gjxalja6xjnp"))))
5003 (build-system haskell-build-system)
5004 (inputs
5005 `(("ghc-network" ,ghc-network)
5006 ("ghc-old-locale" ,ghc-old-locale)))
5007 (native-inputs
5008 `(("ghc-hunit" ,ghc-hunit)))
5009 (home-page "https://software.complete.org/hslogger")
5010 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5011 (description "Hslogger lets each log message have a priority and source be
5012associated with it. The programmer can then define global handlers that route
5013or filter messages based on the priority and source. It also has a syslog
5014handler built in.")
5015 (license license:bsd-3)))
5016
5017(define-public ghc-hslua
5018 (package
5019 (name "ghc-hslua")
5020 (version "0.9.5.2")
5021 (source (origin
5022 (method url-fetch)
5023 (uri (string-append "https://hackage.haskell.org/package/"
5024 "hslua/hslua-" version ".tar.gz"))
5025 (sha256
5026 (base32
5027 "1rdvv01p214zfjh6fcqjjgqwi8y42wad6cqzhlcv5gvclzw2ck8f"))))
5028 (build-system haskell-build-system)
5029 (arguments
5030 `(#:configure-flags '("-fsystem-lua")))
5031 (inputs
5032 `(("lua" ,lua)
5033 ("ghc-exceptions" ,ghc-exceptions)
5034 ("ghc-fail" ,ghc-fail)))
5035 (native-inputs
5036 `(("ghc-tasty" ,ghc-tasty)
5037 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5038 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5039 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5040 ("ghc-quickcheck" ,ghc-quickcheck)
5041 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5042 (home-page "https://hackage.haskell.org/package/hslua")
5043 (synopsis "Lua language interpreter embedding in Haskell")
5044 (description
5045 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5046described in @url{https://www.lua.org/}.")
5047 (license license:expat)))
5048
5049(define-public ghc-hslua-module-text
5050 (package
5051 (name "ghc-hslua-module-text")
5052 (version "0.1.2.1")
5053 (source
5054 (origin
5055 (method url-fetch)
5056 (uri (string-append "https://hackage.haskell.org/package/"
5057 "hslua-module-text/hslua-module-text-"
5058 version ".tar.gz"))
5059 (sha256
5060 (base32
5061 "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf"))))
5062 (build-system haskell-build-system)
5063 (arguments
5064 `(#:cabal-revision
5065 ("1" "0vajlsd7y6pwa08635q0cx8z5c1c55bk7fvavw7g2vmyvxqjzx6n")))
5066 (inputs
5067 `(("ghc-hslua" ,ghc-hslua)))
5068 (native-inputs
5069 `(("ghc-tasty" ,ghc-tasty)
5070 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5071 (home-page "https://github.com/hslua/hslua-module-text")
5072 (synopsis "Lua module for text")
5073 (description
5074 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5075for Haskell. The functions provided by this module are @code{upper},
5076@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5077 (license license:expat)))
5078
5079(define-public ghc-http-api-data
5080 (package
5081 (name "ghc-http-api-data")
5082 (version "0.3.8.1")
5083 (source
5084 (origin
5085 (method url-fetch)
5086 (uri (string-append "https://hackage.haskell.org/package/"
5087 "http-api-data-" version "/"
5088 "http-api-data-" version ".tar.gz"))
5089 (sha256
5090 (base32
5091 "1cq6459b8wz6nvkvpi89dg189n5q2xdq4rdq435hf150555vmskf"))))
5092 (build-system haskell-build-system)
5093 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9
5094 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5095 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
5096 ("ghc-hashable" ,ghc-hashable)
5097 ("ghc-http-types" ,ghc-http-types)
5098 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
5099 ("ghc-unordered-containers" ,ghc-unordered-containers)
5100 ("ghc-uri-bytestring" ,ghc-uri-bytestring)
5101 ("ghc-uuid-types" ,ghc-uuid-types)))
5102 (home-page "https://github.com/fizruk/http-api-data")
5103 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5104query parameters")
5105 (description "This Haskell package defines typeclasses used for converting
5106Haskell data types to and from HTTP API data.")
5107 (license license:bsd-3)))
5108
5109(define-public ghc-ieee754
5110 (package
5111 (name "ghc-ieee754")
5112 (version "0.8.0")
5113 (source (origin
5114 (method url-fetch)
5115 (uri (string-append
5116 "https://hackage.haskell.org/package/ieee754/"
5117 "ieee754-" version ".tar.gz"))
5118 (sha256
5119 (base32
5120 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5121 (build-system haskell-build-system)
5122 (home-page "https://github.com/patperry/hs-ieee754")
5123 (synopsis "Utilities for dealing with IEEE floating point numbers")
5124 (description "Utilities for dealing with IEEE floating point numbers,
5125ported from the Tango math library; approximate and exact equality comparisons
5126for general types.")
5127 (license license:bsd-3)))
5128
5129(define-public ghc-ifelse
5130 (package
5131 (name "ghc-ifelse")
5132 (version "0.85")
5133 (source
5134 (origin
5135 (method url-fetch)
5136 (uri (string-append "https://hackage.haskell.org/package/"
5137 "IfElse/IfElse-" version ".tar.gz"))
5138 (sha256
5139 (base32
5140 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5141 (build-system haskell-build-system)
5142 (home-page "http://hackage.haskell.org/package/IfElse")
5143 (synopsis "Monadic control flow with anaphoric variants")
5144 (description "This library provides functions for control flow inside of
5145monads with anaphoric variants on @code{if} and @code{when} and a C-like
5146@code{switch} function.")
5147 (license license:bsd-3)))
5148
5149(define-public ghc-indents
5150 (package
5151 (name "ghc-indents")
d66473fb 5152 (version "0.5.0.1")
dddbc90c
RV
5153 (source (origin
5154 (method url-fetch)
5155 (uri (string-append
5156 "https://hackage.haskell.org/package/indents/indents-"
5157 version ".tar.gz"))
5158 (sha256
5159 (base32
d66473fb 5160 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5161 (build-system haskell-build-system)
5162 ;; This package needs an older version of tasty.
5163 (arguments '(#:tests? #f))
5164 (inputs
5165 `(("ghc-concatenative" ,ghc-concatenative)))
5166 (native-inputs
5167 `(("ghc-tasty" ,ghc-tasty)
5168 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5169 (home-page "http://patch-tag.com/r/salazar/indents")
5170 (synopsis "Indentation sensitive parser-combinators for parsec")
5171 (description
5172 "This library provides functions for use in parsing indentation sensitive
5173contexts. It parses blocks of lines all indented to the same level as well as
5174lines continued at an indented level below.")
5175 (license license:bsd-3)))
5176
5177(define-public ghc-inline-c
5178 (package
5179 (name "ghc-inline-c")
5180 (version "0.6.1.0")
5181 (source
5182 (origin
5183 (method url-fetch)
5184 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5185 "inline-c-" version ".tar.gz"))
5186 (sha256
5187 (base32
5188 "0vbfrsqsi7mdziqsnj68bsqlwbqxxhvrmy9rv6w8z18d1m8w3n6h"))))
5189 (build-system haskell-build-system)
5190 (inputs
5191 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5192 ("ghc-cryptohash" ,ghc-cryptohash)
5193 ("ghc-hashable" ,ghc-hashable)
5194 ("ghc-parsers" ,ghc-parsers)
5195 ("ghc-unordered-containers" ,ghc-unordered-containers)
5196 ("ghc-vector" ,ghc-vector)))
5197 (native-inputs
5198 `(("ghc-quickcheck" ,ghc-quickcheck)
5199 ("ghc-hspec" ,ghc-hspec)
5200 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5201 ("ghc-regex-posix" ,ghc-regex-posix)))
5202 (home-page "http://hackage.haskell.org/package/inline-c")
5203 (synopsis "Write Haskell source files including C code inline")
5204 (description
5205 "inline-c lets you seamlessly call C libraries and embed high-performance
5206inline C code in Haskell modules. Haskell and C can be freely intermixed in
5207the same source file, and data passed to and from code in either language with
5208minimal overhead. No FFI required.")
5209 (license license:expat)))
5210
5211(define-public ghc-inline-c-cpp
5212 (package
5213 (name "ghc-inline-c-cpp")
5214 (version "0.2.2.1")
5215 (source
5216 (origin
5217 (method url-fetch)
5218 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5219 "inline-c-cpp-" version ".tar.gz"))
5220 (sha256
5221 (base32
5222 "1rk7fmpkmxw9hhwr8df29kadnf0ybnwj64ggdbnsdrpfyhnkisci"))))
5223 (build-system haskell-build-system)
5224 (inputs
5225 `(("ghc-inline-c" ,ghc-inline-c)
5226 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5227 (native-inputs
5228 `(("ghc-hspec" ,ghc-hspec)))
5229 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5230 (synopsis "Lets you embed C++ code into Haskell")
5231 (description
5232 "This package provides utilities to inline C++ code into Haskell using
5233@code{inline-c}.")
5234 (license license:expat)))
5235
5236(define-public ghc-integer-logarithms
5237 (package
5238 (name "ghc-integer-logarithms")
86a704db 5239 (version "1.0.3")
dddbc90c
RV
5240 (source
5241 (origin
5242 (method url-fetch)
5243 (uri (string-append "https://hackage.haskell.org/package/"
5244 "integer-logarithms/integer-logarithms-"
5245 version ".tar.gz"))
5246 (sha256
5247 (base32
86a704db 5248 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5249 (build-system haskell-build-system)
5250 (arguments
5251 `(#:phases
5252 (modify-phases %standard-phases
5253 (add-before 'configure 'update-constraints
5254 (lambda _
5255 (substitute* "integer-logarithms.cabal"
5256 (("tasty >= 0\\.10 && < 1\\.1")
5257 "tasty >= 0.10 && < 1.2")))))))
5258 (native-inputs
5259 `(("ghc-quickcheck" ,ghc-quickcheck)
5260 ("ghc-smallcheck" ,ghc-smallcheck)
5261 ("ghc-tasty" ,ghc-tasty)
5262 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5263 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5264 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5265 (home-page "https://github.com/Bodigrim/integer-logarithms")
5266 (synopsis "Integer logarithms")
5267 (description
5268 "This package provides the following modules:
5269@code{Math.NumberTheory.Logarithms} and
5270@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5271@code{GHC.Integer.Logarithms.Compat} and
5272@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5273in migrated modules.")
5274 (license license:expat)))
5275
5276(define-public ghc-integer-logarithms-bootstrap
5277 (package
5278 (inherit ghc-integer-logarithms)
5279 (name "ghc-integer-logarithms-bootstrap")
5280 (arguments `(#:tests? #f))
5281 (native-inputs '())
799d8d3c 5282 (properties '((hidden? #t)))))
dddbc90c
RV
5283
5284(define-public ghc-interpolate
5285 (package
5286 (name "ghc-interpolate")
5287 (version "0.2.0")
5288 (source
5289 (origin
5290 (method url-fetch)
5291 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5292 "interpolate-" version ".tar.gz"))
5293 (sha256
5294 (base32
5295 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5296 (build-system haskell-build-system)
5297 (inputs
5298 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5299 (native-inputs
5300 `(("ghc-base-compat" ,ghc-base-compat)
5301 ("ghc-hspec" ,ghc-hspec)
5302 ("ghc-quickcheck" ,ghc-quickcheck)
5303 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5304 ("hspec-discover" ,hspec-discover)))
5305 (home-page "https://github.com/sol/interpolate")
5306 (synopsis "String interpolation library")
5307 (description "This package provides a string interpolation library for
5308Haskell.")
5309 (license license:expat)))
5310
5311(define-public ghc-intervalmap
5312 (package
5313 (name "ghc-intervalmap")
e4946e32 5314 (version "0.6.1.1")
dddbc90c
RV
5315 (source
5316 (origin
5317 (method url-fetch)
5318 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5319 "IntervalMap-" version ".tar.gz"))
5320 (sha256
5321 (base32
e4946e32 5322 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
5323 (build-system haskell-build-system)
5324 (native-inputs
5325 `(("ghc-quickcheck" ,ghc-quickcheck)))
5326 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5327 (synopsis "Containers for intervals, with efficient search")
5328 (description
5329 "This package provides ordered containers of intervals, with efficient
5330search for all keys containing a point or overlapping an interval. See the
5331example code on the home page for a quick introduction.")
5332 (license license:bsd-3)))
5333
5334(define-public ghc-invariant
5335 (package
5336 (name "ghc-invariant")
5337 (version "0.5.1")
5338 (source
5339 (origin
5340 (method url-fetch)
5341 (uri (string-append
5342 "https://hackage.haskell.org/package/invariant/invariant-"
5343 version ".tar.gz"))
5344 (sha256
5345 (base32
5346 "0aqj7z55632qdg45074kgn9qfdxzb0a2f8lgjzr0l0i4mm2rr37b"))))
5347 (build-system haskell-build-system)
5348 (inputs
5349 `(("ghc-bifunctors" ,ghc-bifunctors)
5350 ("ghc-comonad" ,ghc-comonad)
5351 ("ghc-contravariant" ,ghc-contravariant)
5352 ("ghc-profunctors" ,ghc-profunctors)
5353 ("ghc-semigroups" ,ghc-semigroups)
5354 ("ghc-statevar" ,ghc-statevar)
5355 ("ghc-tagged" ,ghc-tagged)
5356 ("ghc-th-abstraction" ,ghc-th-abstraction)
5357 ("ghc-transformers-compat" ,ghc-transformers-compat)
5358 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5359 (native-inputs
5360 `(("ghc-hspec" ,ghc-hspec)
5361 ("ghc-quickcheck" ,ghc-quickcheck)
5362 ("hspec-discover" ,hspec-discover)))
5363 (home-page "https://github.com/nfrisby/invariant-functors")
5364 (synopsis "Haskell98 invariant functors")
5365 (description "Haskell98 invariant functors (also known as exponential
5366functors). For more information, see Edward Kmett's article
5367@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5368 (license license:bsd-2)))
5369
5370(define-public ghc-io-streams
5371 (package
5372 (name "ghc-io-streams")
5373 (version "1.5.0.1")
5374 (source
5375 (origin
5376 (method url-fetch)
5377 (uri (string-append "https://hackage.haskell.org/package/"
5378 "io-streams/io-streams-" version ".tar.gz"))
5379 (sha256
5380 (base32
5381 "12rcdg2d70644bvn838fxcjkssqj8pssnx5y657si5rijcbkgjsx"))))
5382 (build-system haskell-build-system)
5383 (inputs
5384 `(("ghc-attoparsec" ,ghc-attoparsec)
5385 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5386 ("ghc-network" ,ghc-network)
5387 ("ghc-primitive" ,ghc-primitive)
5388 ("ghc-vector" ,ghc-vector)
5389 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5390 (native-inputs
5391 `(("ghc-hunit" ,ghc-hunit)
5392 ("ghc-quickcheck" ,ghc-quickcheck)
5393 ("ghc-test-framework" ,ghc-test-framework)
5394 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5395 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5396 ("ghc-zlib" ,ghc-zlib)))
5397 (arguments
5398 `(#:cabal-revision
5399 ("2" "1mcab95d6hm098myh9gp7sh10srigjphgvm8s9pfs7jg5hzghy14")))
5400 (home-page "http://hackage.haskell.org/package/io-streams")
5401 (synopsis "Simple and composable stream I/O")
5402 (description "This library contains simple and easy-to-use
5403primitives for I/O using streams.")
5404 (license license:bsd-3)))
5405
5406(define-public ghc-io-streams-haproxy
5407 (package
5408 (name "ghc-io-streams-haproxy")
5409 (version "1.0.0.2")
5410 (source
5411 (origin
5412 (method url-fetch)
5413 (uri (string-append "https://hackage.haskell.org/package/"
5414 "io-streams-haproxy/io-streams-haproxy-"
5415 version ".tar.gz"))
5416 (sha256
5417 (base32
5418 "11nh9q158mgnvvb23s5ffg87lkhl5smk039yl43jghxmb214z0bp"))))
5419 (build-system haskell-build-system)
5420 (inputs
5421 `(("ghc-attoparsec" ,ghc-attoparsec)
5422 ("ghc-io-streams" ,ghc-io-streams)
5423 ("ghc-network" ,ghc-network)))
5424 (native-inputs
5425 `(("ghc-hunit" ,ghc-hunit)
5426 ("ghc-test-framework" ,ghc-test-framework)
5427 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5428 (arguments
5429 `(#:cabal-revision
5430 ("4" "06c51a057n5bc9xfbp2m4jz5ds4z1xvmsx5mppch6qfwbz7x5i9l")))
5431 (home-page "http://snapframework.com/")
5432 (synopsis "HAProxy protocol 1.5 support for io-streams")
5433 (description "HAProxy protocol version 1.5 support
5434(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5435for applications using io-streams. The proxy protocol allows information
5436about a networked peer (like remote address and port) to be propagated
5437through a forwarding proxy that is configured to speak this protocol.")
5438 (license license:bsd-3)))
5439
5440(define-public ghc-iproute
5441 (package
5442 (name "ghc-iproute")
5443 (version "1.7.5")
5444 (source
5445 (origin
5446 (method url-fetch)
5447 (uri (string-append
5448 "https://hackage.haskell.org/package/iproute/iproute-"
5449 version
5450 ".tar.gz"))
5451 (sha256
5452 (base32
5453 "1vw1nm3s8vz1hqnjnqd3wh5rr4q3m2r4izn5ynhf93h9185qwqzd"))))
5454 (build-system haskell-build-system)
5455 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5456 ; exported by ghc-byteorder. Doctest issue.
5457 (inputs
5458 `(("ghc-appar" ,ghc-appar)
5459 ("ghc-byteorder" ,ghc-byteorder)
5460 ("ghc-network" ,ghc-network)
5461 ("ghc-safe" ,ghc-safe)))
5462 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5463 (synopsis "IP routing table")
5464 (description "IP Routing Table is a tree of IP ranges to search one of
5465them on the longest match base. It is a kind of TRIE with one way branching
5466removed. Both IPv4 and IPv6 are supported.")
5467 (license license:bsd-3)))
5468
5469(define-public ghc-iwlib
5470 (package
5471 (name "ghc-iwlib")
5472 (version "0.1.0")
5473 (source
5474 (origin
5475 (method url-fetch)
5476 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5477 version ".tar.gz"))
5478 (sha256
5479 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5480 (build-system haskell-build-system)
5481 (inputs
5482 `(("wireless-tools" ,wireless-tools)))
5483 (home-page "https://github.com/jaor/iwlib")
5484 (synopsis "Haskell binding to the iw wireless networking library")
5485 (description
5486 "IWlib is a thin Haskell binding to the iw C library. It provides
5487information about the current wireless network connections, and adapters on
5488supported systems.")
5489 (license license:bsd-3)))
5490
5491(define-public ghc-json
5492 (package
5493 (name "ghc-json")
0ad3d574 5494 (version "0.9.3")
dddbc90c
RV
5495 (source
5496 (origin
5497 (method url-fetch)
5498 (uri (string-append "https://hackage.haskell.org/package/json/"
5499 "json-" version ".tar.gz"))
5500 (sha256
5501 (base32
0ad3d574 5502 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
5503 (build-system haskell-build-system)
5504 (inputs
5505 `(("ghc-syb" ,ghc-syb)))
5506 (home-page "https://hackage.haskell.org/package/json")
5507 (synopsis "Serializes Haskell data to and from JSON")
5508 (description "This package provides a parser and pretty printer for
5509converting between Haskell values and JSON.
5510JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5511 (license license:bsd-3)))
5512
5513(define-public ghc-juicypixels
5514 (package
5515 (name "ghc-juicypixels")
b50b6004 5516 (version "3.3.4")
dddbc90c
RV
5517 (source (origin
5518 (method url-fetch)
5519 (uri (string-append "https://hackage.haskell.org/package/"
5520 "JuicyPixels/JuicyPixels-"
5521 version ".tar.gz"))
5522 (sha256
5523 (base32
b50b6004 5524 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
5525 (build-system haskell-build-system)
5526 (inputs
5527 `(("ghc-zlib" ,ghc-zlib)
5528 ("ghc-vector" ,ghc-vector)
5529 ("ghc-primitive" ,ghc-primitive)
5530 ("ghc-mmap" ,ghc-mmap)))
5531 (home-page "https://github.com/Twinside/Juicy.Pixels")
5532 (synopsis "Picture loading and serialization library")
5533 (description
5534 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5535TIFF and GIF formats.")
5536 (license license:bsd-3)))
5537
5538(define-public ghc-kan-extensions
5539 (package
5540 (name "ghc-kan-extensions")
5541 (version "5.2")
5542 (source
5543 (origin
5544 (method url-fetch)
5545 (uri (string-append
5546 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5547 version
5548 ".tar.gz"))
5549 (sha256
5550 (base32
5551 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5552 (build-system haskell-build-system)
5553 (inputs
5554 `(("ghc-adjunctions" ,ghc-adjunctions)
5555 ("ghc-comonad" ,ghc-comonad)
5556 ("ghc-contravariant" ,ghc-contravariant)
5557 ("ghc-distributive" ,ghc-distributive)
5558 ("ghc-free" ,ghc-free)
5559 ("ghc-invariant" ,ghc-invariant)
5560 ("ghc-semigroupoids" ,ghc-semigroupoids)
5561 ("ghc-tagged" ,ghc-tagged)
5562 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5563 (home-page "https://github.com/ekmett/kan-extensions/")
5564 (synopsis "Kan extensions library")
5565 (description "This library provides Kan extensions, Kan lifts, various
5566forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5567 (license license:bsd-3)))
5568
5569(define-public ghc-language-c
5570 (package
5571 (name "ghc-language-c")
4e1cf651 5572 (version "0.8.3")
dddbc90c
RV
5573 (source
5574 (origin
5575 (method url-fetch)
5576 (uri (string-append "https://hackage.haskell.org/package/"
5577 "language-c/language-c-" version ".tar.gz"))
5578 (sha256
5579 (base32
4e1cf651 5580 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
5581 (build-system haskell-build-system)
5582 (inputs `(("ghc-syb" ,ghc-syb)))
5583 (native-inputs
5584 `(("ghc-happy" ,ghc-happy)
5585 ("ghc-alex" ,ghc-alex)))
5586 (home-page "https://visq.github.io/language-c/")
5587 (synopsis "Analysis and generation of C code")
5588 (description
5589 "Language C is a Haskell library for the analysis and generation of C code.
5590It features a complete, well-tested parser and pretty printer for all of C99
5591and a large set of GNU extensions.")
5592 (license license:bsd-3)))
5593
5594(define-public ghc-language-glsl
5595 (package
5596 (name "ghc-language-glsl")
5597 (version "0.3.0")
5598 (source
5599 (origin
5600 (method url-fetch)
5601 (uri (string-append "https://hackage.haskell.org/package/"
5602 "language-glsl/language-glsl-" version ".tar.gz"))
5603 (sha256
5604 (base32
5605 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
5606 (build-system haskell-build-system)
5607 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
5608 (arguments
5609 `(#:tests? #f
5610 #:cabal-revision
5611 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
5612 (home-page "http://hackage.haskell.org/package/language-glsl")
5613 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
5614 (description "This package is a Haskell library for the
5615representation, parsing, and pretty-printing of GLSL 1.50 code.")
5616 (license license:bsd-3)))
5617
5618(define-public ghc-language-haskell-extract
5619 (package
5620 (name "ghc-language-haskell-extract")
5621 (version "0.2.4")
5622 (source
5623 (origin
5624 (method url-fetch)
5625 (uri (string-append "https://hackage.haskell.org/package/"
5626 "language-haskell-extract-" version "/"
5627 "language-haskell-extract-" version ".tar.gz"))
5628 (sha256
5629 (base32
5630 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
5631 (build-system haskell-build-system)
5632 (inputs
5633 `(("ghc-regex-posix" ,ghc-regex-posix)))
5634 (home-page "https://github.com/finnsson/template-helper")
5635 (synopsis "Haskell module to automatically extract functions from
5636the local code")
5637 (description "This package contains helper functions on top of
5638Template Haskell.
5639
5640For example, @code{functionExtractor} extracts all functions after a
5641regexp-pattern, which can be useful if you wish to extract all functions
5642beginning with @code{test} (for a test framework) or all functions beginning
5643with @code{wc} (for a web service).")
5644 (license license:bsd-3)))
5645
5646(define-public ghc-lens
5647 (package
5648 (name "ghc-lens")
5649 (version "4.16.1")
5650 (source
5651 (origin
5652 (method url-fetch)
5653 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5654 version ".tar.gz"))
5655 (sha256
5656 (base32
5657 "1im4drhbydbawd6i0jsrzpqihnmx4ywpkg7yg94ddwsw3mxwkgpm"))))
5658 (build-system haskell-build-system)
5659 (arguments
5660 `(#:cabal-revision
5661 ("2" "11h83lj5mba4grhz1qx3irz10ysm9c3k7k6i6xv2cr60q8xin3ri")))
5662 (inputs
5663 `(("ghc-base-orphans" ,ghc-base-orphans)
5664 ("ghc-bifunctors" ,ghc-bifunctors)
5665 ("ghc-distributive" ,ghc-distributive)
5666 ("ghc-exceptions" ,ghc-exceptions)
5667 ("ghc-free" ,ghc-free)
5668 ("ghc-kan-extensions" ,ghc-kan-extensions)
5669 ("ghc-parallel" ,ghc-parallel)
5670 ("ghc-reflection" ,ghc-reflection)
5671 ("ghc-semigroupoids" ,ghc-semigroupoids)
5672 ("ghc-vector" ,ghc-vector)
5673 ("ghc-call-stack" ,ghc-call-stack)
5674 ("ghc-comonad" ,ghc-comonad)
5675 ("ghc-contravariant" ,ghc-contravariant)
5676 ("ghc-hashable" ,ghc-hashable)
5677 ("ghc-profunctors" ,ghc-profunctors)
5678 ("ghc-semigroups" ,ghc-semigroups)
5679 ("ghc-tagged" ,ghc-tagged)
5680 ("ghc-transformers-compat" ,ghc-transformers-compat)
5681 ("ghc-unordered-containers" ,ghc-unordered-containers)
5682 ("ghc-void" ,ghc-void)
5683 ("ghc-generic-deriving" ,ghc-generic-deriving)
5684 ("ghc-nats" ,ghc-nats)
5685 ("ghc-simple-reflect" ,ghc-simple-reflect)
5686 ("hlint" ,hlint)))
5687 (native-inputs
5688 `(("cabal-doctest" ,cabal-doctest)
5689 ("ghc-doctest" ,ghc-doctest)
5690 ("ghc-hunit" ,ghc-hunit)
5691 ("ghc-test-framework" ,ghc-test-framework)
5692 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5693 ("ghc-test-framework-th" ,ghc-test-framework-th)
5694 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5695 ("ghc-quickcheck" ,ghc-quickcheck)))
5696 (home-page "https://github.com/ekmett/lens/")
5697 (synopsis "Lenses, Folds and Traversals")
5698 (description "This library provides @code{Control.Lens}. The combinators
5699in @code{Control.Lens} provide a highly generic toolbox for composing families
5700of getters, folds, isomorphisms, traversals, setters and lenses and their
5701indexed variants.")
5702 (license license:bsd-3)))
5703
5704(define-public ghc-libffi
5705 (package
5706 (name "ghc-libffi")
5707 (version "0.1")
5708 (source
5709 (origin
5710 (method url-fetch)
5711 (uri (string-append "https://hackage.haskell.org/package/"
5712 "libffi/libffi-" version ".tar.gz"))
5713 (sha256
5714 (base32
5715 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
5716 (build-system haskell-build-system)
5717 (native-inputs `(("pkg-config" ,pkg-config)))
5718 (inputs `(("libffi" ,libffi)))
5719 (home-page "http://hackage.haskell.org/package/libffi")
5720 (synopsis "Haskell binding to libffi")
5721 (description
5722 "A binding to libffi, allowing C functions of types only known at runtime
5723to be called from Haskell.")
5724 (license license:bsd-3)))
5725
5726(define-public ghc-libmpd
5727 (package
5728 (name "ghc-libmpd")
5729 (version "0.9.0.9")
5730 (source
5731 (origin
5732 (method url-fetch)
5733 (uri (string-append
5734 "mirror://hackage/package/libmpd/libmpd-"
5735 version
5736 ".tar.gz"))
5737 (sha256
5738 (base32
5739 "1931m23iqb4wddpdidm4ph746zpaw41kkjzmb074j7yyfpk7x1jv"))))
5740 (build-system haskell-build-system)
5741 ;; Tests fail on i686.
5742 ;; See https://github.com/vimus/libmpd-haskell/issues/112
5743 (arguments `(#:tests? #f))
5744 (inputs
5745 `(("ghc-attoparsec" ,ghc-attoparsec)
5746 ("ghc-old-locale" ,ghc-old-locale)
5747 ("ghc-data-default-class" ,ghc-data-default-class)
5748 ("ghc-network" ,ghc-network)
5749 ("ghc-utf8-string" ,ghc-utf8-string)))
5750 (native-inputs
5751 `(("ghc-quickcheck" ,ghc-quickcheck)
5752 ("ghc-hspec" ,ghc-hspec)
5753 ("hspec-discover" ,hspec-discover)))
5754 (home-page "https://github.com/vimus/libmpd-haskell")
5755 (synopsis "Haskell client library for the Music Player Daemon")
5756 (description "This package provides a pure Haskell client library for the
5757Music Player Daemon.")
5758 (license license:expat)))
5759
5760(define-public ghc-libxml
5761 (package
5762 (name "ghc-libxml")
5763 (version "0.1.1")
5764 (source
5765 (origin
5766 (method url-fetch)
5767 (uri (string-append "https://hackage.haskell.org/package/libxml/"
5768 "libxml-" version ".tar.gz"))
5769 (sha256
5770 (base32
5771 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
5772 (build-system haskell-build-system)
5773 (inputs
5774 `(("libxml2" ,libxml2)))
5775 (arguments
5776 `(#:configure-flags
5777 `(,(string-append "--extra-include-dirs="
5778 (assoc-ref %build-inputs "libxml2")
5779 "/include/libxml2"))))
5780 (home-page "https://hackage.haskell.org/package/libxml")
5781 (synopsis "Haskell bindings to libxml2")
5782 (description
5783 "This library provides minimal Haskell binding to libxml2.")
5784 (license license:bsd-3)))
5785
5786(define-public ghc-lifted-async
5787 (package
5788 (name "ghc-lifted-async")
5789 (version "0.10.0.2")
5790 (source
5791 (origin
5792 (method url-fetch)
5793 (uri (string-append
5794 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
5795 version ".tar.gz"))
5796 (sha256
5797 (base32
5798 "1073r512c1x2m1v0jar9bwqg656slg7jd1jhsyj6m8awgx1l1mwf"))))
5799 (build-system haskell-build-system)
5800 (inputs
5801 `(("ghc-async" ,ghc-async)
5802 ("ghc-lifted-base" ,ghc-lifted-base)
5803 ("ghc-transformers-base" ,ghc-transformers-base)
5804 ("ghc-monad-control" ,ghc-monad-control)
5805 ("ghc-constraints" ,ghc-constraints)
5806 ("ghc-hunit" ,ghc-hunit)
5807 ("ghc-tasty" ,ghc-tasty)
5808 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5809 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5810 ("ghc-tasty-th" ,ghc-tasty-th)))
5811 (home-page "https://github.com/maoe/lifted-async")
5812 (synopsis "Run lifted IO operations asynchronously and wait for their results")
5813 (description
5814 "This package provides IO operations from @code{async} package lifted to any
5815instance of @code{MonadBase} or @code{MonadBaseControl}.")
5816 (license license:bsd-3)))
5817
5818(define-public ghc-lifted-base
5819 (package
5820 (name "ghc-lifted-base")
5821 (version "0.2.3.12")
5822 (source
5823 (origin
5824 (method url-fetch)
5825 (uri (string-append
5826 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
5827 version
5828 ".tar.gz"))
5829 (sha256
5830 (base32
5831 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
5832 (build-system haskell-build-system)
5833 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
5834 (inputs
5835 `(("ghc-transformers-base" ,ghc-transformers-base)
5836 ("ghc-monad-control" ,ghc-monad-control)
5837 ("ghc-transformers-compat" ,ghc-transformers-compat)
5838 ("ghc-hunit" ,ghc-hunit)))
5839 (home-page "https://github.com/basvandijk/lifted-base")
5840 (synopsis "Lifted IO operations from the base library")
5841 (description "Lifted-base exports IO operations from the @code{base}
5842library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5843Note that not all modules from @code{base} are converted yet. The package
5844includes a copy of the @code{monad-peel} test suite written by Anders
5845Kaseorg.")
5846 (license license:bsd-3)))
5847
5848(define-public ghc-linear
5849 (package
5850 (name "ghc-linear")
5851 (version "1.20.8")
5852 (source
5853 (origin
5854 (method url-fetch)
5855 (uri (string-append "https://hackage.haskell.org/package/linear/"
5856 "linear-" version ".tar.gz"))
5857 (sha256
5858 (base32
5859 "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"))))
5860 (build-system haskell-build-system)
5861 (inputs
5862 `(("ghc-adjunctions" ,ghc-adjunctions)
5863 ("ghc-base-orphans" ,ghc-base-orphans)
5864 ("ghc-bytes" ,ghc-bytes)
5865 ("ghc-cereal" ,ghc-cereal)
5866 ("ghc-distributive" ,ghc-distributive)
5867 ("ghc-hashable" ,ghc-hashable)
5868 ("ghc-lens" ,ghc-lens)
5869 ("ghc-reflection" ,ghc-reflection)
5870 ("ghc-semigroups" ,ghc-semigroups)
5871 ("ghc-semigroupoids" ,ghc-semigroupoids)
5872 ("ghc-tagged" ,ghc-tagged)
5873 ("ghc-transformers-compat" ,ghc-transformers-compat)
5874 ("ghc-unordered-containers" ,ghc-unordered-containers)
5875 ("ghc-vector" ,ghc-vector)
5876 ("ghc-void" ,ghc-void)))
5877 (native-inputs
5878 `(("cabal-doctest" ,cabal-doctest)
5879 ("ghc-doctest" ,ghc-doctest)
5880 ("ghc-simple-reflect" ,ghc-simple-reflect)
5881 ("ghc-test-framework" ,ghc-test-framework)
5882 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5883 ("ghc-hunit" ,ghc-hunit)))
5884 (home-page "http://github.com/ekmett/linear/")
5885 (synopsis "Linear algebra library for Haskell")
5886 (description
5887 "This package provides types and combinators for linear algebra on free
5888vector spaces.")
5889 (license license:bsd-3)))
1307e4c7
JS
5890
5891(define-public ghc-listlike
5892 (package
5893 (name "ghc-listlike")
5894 (version "4.6.2")
5895 (source
5896 (origin
5897 (method url-fetch)
5898 (uri
5899 (string-append
5900 "https://hackage.haskell.org/package/ListLike/ListLike-"
5901 version ".tar.gz"))
5902 (sha256
5903 (base32
5904 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
5905 (build-system haskell-build-system)
5906 (inputs
5907 `(("ghc-vector" ,ghc-vector)
5908 ("ghc-dlist" ,ghc-dlist)
5909 ("ghc-fmlist" ,ghc-fmlist)
5910 ("ghc-hunit" ,ghc-hunit)
5911 ("ghc-quickcheck" ,ghc-quickcheck)
5912 ("ghc-random" ,ghc-random)
5913 ("ghc-utf8-string" ,ghc-utf8-string)))
5914 (home-page "https://github.com/JohnLato/listlike")
5915 (synopsis "Generic support for list-like structures")
5916 (description "The ListLike module provides a common interface to the
5917various Haskell types that are list-like. Predefined interfaces include
5918standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
5919Custom types can easily be made ListLike instances as well.
5920
5921ListLike also provides for String-like types, such as String and
5922ByteString, for types that support input and output, and for types that
5923can handle infinite lists.")
5924 (license license:bsd-3)))
dddbc90c
RV
5925
5926(define-public ghc-logging-facade
5927 (package
5928 (name "ghc-logging-facade")
5929 (version "0.3.0")
5930 (source (origin
5931 (method url-fetch)
5932 (uri (string-append "https://hackage.haskell.org/package/"
5933 "logging-facade/logging-facade-"
5934 version ".tar.gz"))
5935 (sha256
5936 (base32
5937 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
5938 (build-system haskell-build-system)
5939 (native-inputs
5940 `(("ghc-hspec" ,ghc-hspec)
5941 ("hspec-discover" ,hspec-discover)))
5942 (home-page "https://hackage.haskell.org/package/logging-facade")
5943 (synopsis "Simple logging abstraction that allows multiple back-ends")
5944 (description
5945 "This package provides a simple logging abstraction that allows multiple
5946back-ends.")
5947 (license license:expat)))
5948
5949(define-public ghc-logict
5950 (package
5951 (name "ghc-logict")
79d9326f 5952 (version "0.7.0.2")
dddbc90c
RV
5953 (source
5954 (origin
5955 (method url-fetch)
5956 (uri (string-append
5957 "https://hackage.haskell.org/package/logict/logict-"
5958 version
5959 ".tar.gz"))
5960 (sha256
5961 (base32
79d9326f 5962 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 5963 (build-system haskell-build-system)
79d9326f
TS
5964 (native-inputs
5965 `(("ghc-tasty" ,ghc-tasty)
5966 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5967 (home-page "http://code.haskell.org/~dolio/")
5968 (synopsis "Backtracking logic-programming monad")
5969 (description "This library provides a continuation-based, backtracking,
5970logic programming monad. An adaptation of the two-continuation implementation
5971found in the paper \"Backtracking, Interleaving, and Terminating Monad
5972Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
5973online}.")
5974 (license license:bsd-3)))
5975
5976(define-public ghc-lzma
5977 (package
5978 (name "ghc-lzma")
5979 (version "0.0.0.3")
5980 (source
5981 (origin
5982 (method url-fetch)
5983 (uri (string-append "https://hackage.haskell.org/package/lzma/"
5984 "lzma-" version ".tar.gz"))
5985 (sha256
5986 (base32
5987 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
5988 (build-system haskell-build-system)
5989 (arguments
5990 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
5991 #:cabal-revision
5992 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
5993 (native-inputs
5994 `(("ghc-hunit" ,ghc-hunit)
5995 ("ghc-quickcheck" ,ghc-quickcheck)
5996 ("ghc-tasty" ,ghc-tasty)
5997 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5998 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
5999 (home-page "https://github.com/hvr/lzma")
6000 (synopsis "LZMA/XZ compression and decompression")
6001 (description
6002 "This package provides a pure interface for compressing and
6003decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6004monadic incremental interface is provided as well.")
6005 (license license:bsd-3)))
6006
6007(define-public ghc-lzma-conduit
6008 (package
6009 (name "ghc-lzma-conduit")
6010 (version "1.2.1")
6011 (source
6012 (origin
6013 (method url-fetch)
6014 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6015 "lzma-conduit-" version ".tar.gz"))
6016 (sha256
6017 (base32
6018 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6019 (build-system haskell-build-system)
6020 (inputs
6021 `(("ghc-conduit" ,ghc-conduit)
6022 ("ghc-lzma" ,ghc-lzma)
6023 ("ghc-resourcet" ,ghc-resourcet)))
6024 (native-inputs
6025 `(("ghc-base-compat" ,ghc-base-compat)
6026 ("ghc-test-framework" ,ghc-test-framework)
6027 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6028 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6029 ("ghc-hunit" ,ghc-hunit)
6030 ("ghc-quickcheck" ,ghc-quickcheck)))
6031 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6032 (synopsis "Conduit interface for lzma/xz compression")
6033 (description
6034 "This package provides a @code{Conduit} interface for the LZMA
6035compression algorithm used in the @code{.xz} file format.")
6036 (license license:bsd-3)))
6037
e405912c
KM
6038(define-public ghc-magic
6039 (package
6040 (name "ghc-magic")
6041 (version "1.1")
6042 (source
6043 (origin
6044 (method url-fetch)
6045 (uri (string-append
6046 "https://hackage.haskell.org/package/magic/magic-"
6047 version ".tar.gz"))
6048 (sha256
6049 (base32
6050 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6051 (build-system haskell-build-system)
6052 (home-page "http://hackage.haskell.org/package/magic")
6053 (synopsis "Interface to C file/magic library")
6054 (description
6055 "This package provides a full-featured binding to the C libmagic library.
6056With it, you can determine the type of a file by examining its contents rather
6057than its name.")
6058 (license license:bsd-3)))
6059
dddbc90c
RV
6060(define-public ghc-markdown-unlit
6061 (package
6062 (name "ghc-markdown-unlit")
6063 (version "0.5.0")
6064 (source (origin
6065 (method url-fetch)
6066 (uri (string-append
6067 "mirror://hackage/package/markdown-unlit/"
6068 "markdown-unlit-" version ".tar.gz"))
6069 (sha256
6070 (base32
6071 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6072 (build-system haskell-build-system)
6073 (inputs
6074 `(("ghc-base-compat" ,ghc-base-compat)
6075 ("ghc-hspec" ,ghc-hspec)
6076 ("ghc-quickcheck" ,ghc-quickcheck)
6077 ("ghc-silently" ,ghc-silently)
6078 ("ghc-stringbuilder" ,ghc-stringbuilder)
6079 ("ghc-temporary" ,ghc-temporary)
6080 ("hspec-discover" ,hspec-discover)))
6081 (home-page "https://github.com/sol/markdown-unlit#readme")
6082 (synopsis "Literate Haskell support for Markdown")
6083 (description "This package allows you to have a README.md that at the
6084same time is a literate Haskell program.")
6085 (license license:expat)))
6086
6087(define-public ghc-math-functions
6088 (package
6089 (name "ghc-math-functions")
b45de2bf 6090 (version "0.3.3.0")
dddbc90c
RV
6091 (source
6092 (origin
6093 (method url-fetch)
6094 (uri (string-append "https://hackage.haskell.org/package/"
6095 "math-functions-" version "/"
6096 "math-functions-" version ".tar.gz"))
6097 (sha256
6098 (base32
b45de2bf 6099 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6100 (build-system haskell-build-system)
6101 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6102 (inputs
b45de2bf
TS
6103 `(("ghc-data-default-class" ,ghc-data-default-class)
6104 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6105 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6106 (native-inputs
6107 `(("ghc-hunit" ,ghc-hunit)
6108 ("ghc-quickcheck" ,ghc-quickcheck)
6109 ("ghc-erf" ,ghc-erf)
6110 ("ghc-test-framework" ,ghc-test-framework)
6111 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6112 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6113 (home-page "https://github.com/bos/math-functions")
6114 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6115 (description "This Haskell library provides implementations of
6116special mathematical functions and Chebyshev polynomials. These
6117functions are often useful in statistical and numerical computing.")
6118 (license license:bsd-3)))
6119
6120(define-public ghc-megaparsec
6121 (package
6122 (name "ghc-megaparsec")
6123 (version "6.5.0")
6124 (source
6125 (origin
6126 (method url-fetch)
6127 (uri (string-append "https://hackage.haskell.org/package/"
6128 "megaparsec/megaparsec-"
6129 version ".tar.gz"))
6130 (sha256
6131 (base32
6132 "12iggy7qpf8x93jm64zf0g215xwy779bqyfyjk2bhmxqqr1yzgdy"))))
6133 (build-system haskell-build-system)
6134 (arguments
6135 `(#:cabal-revision
6136 ("4" "0ij3asi5vwlhbgwsy6nhli9a0qb7926mg809fsgyl1rnhs9fvpx1")))
6137 (inputs
6138 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6139 ("ghc-parser-combinators" ,ghc-parser-combinators)
6140 ("ghc-scientific" ,ghc-scientific)))
6141 (native-inputs
6142 `(("ghc-quickcheck" ,ghc-quickcheck)
6143 ("ghc-hspec" ,ghc-hspec)
6144 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6145 ("hspec-discover" ,hspec-discover)))
6146 (home-page "https://github.com/mrkkrp/megaparsec")
6147 (synopsis "Monadic parser combinators")
6148 (description
6149 "This is an industrial-strength monadic parser combinator library.
6150Megaparsec is a feature-rich package that strikes a nice balance between
6151speed, flexibility, and quality of parse errors.")
6152 (license license:bsd-2)))
6153
4780db2c
EB
6154;;; Idris 1.3.2 requires 'megaparse>=7.0.4' but we'd like to keep the public
6155;;; package at the current Stackage LTS version:
6156(define-public ghc-megaparsec-7
6157 (hidden-package
6158 (package
6159 (inherit ghc-megaparsec)
6160 (version "7.0.5")
6161 (source
6162 (origin
6163 (method url-fetch)
6164 (uri (string-append "https://hackage.haskell.org/package/megaparsec/"
6165 "megaparsec-" version ".tar.gz"))
6166 (sha256
6167 (base32
6168 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
6169 (arguments (strip-keyword-arguments (list #:cabal-revision)
6170 (package-arguments ghc-megaparsec))))))
6171
dddbc90c
RV
6172(define-public ghc-memory
6173 (package
6174 (name "ghc-memory")
d2c7d336 6175 (version "0.14.18")
dddbc90c
RV
6176 (source (origin
6177 (method url-fetch)
6178 (uri (string-append "https://hackage.haskell.org/package/"
6179 "memory/memory-" version ".tar.gz"))
6180 (sha256
6181 (base32
d2c7d336 6182 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
6183 (build-system haskell-build-system)
6184 (inputs
6185 `(("ghc-basement" ,ghc-basement)
6186 ("ghc-foundation" ,ghc-foundation)))
6187 (native-inputs
6188 `(("ghc-tasty" ,ghc-tasty)
6189 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6190 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6191 (home-page "https://github.com/vincenthz/hs-memory")
6192 (synopsis "Memory abstractions for Haskell")
6193 (description
6194 "This package provides memory abstractions, such as chunk of memory,
6195polymorphic byte array management and manipulation functions. It contains a
6196polymorphic byte array abstraction and functions similar to strict ByteString,
6197different type of byte array abstraction, raw memory IO operations (memory
6198set, memory copy, ..) and more")
6199 (license license:bsd-3)))
6200
6201(define-public ghc-memotrie
6202 (package
6203 (name "ghc-memotrie")
6204 (version "0.6.9")
6205 (source
6206 (origin
6207 (method url-fetch)
6208 (uri (string-append
6209 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6210 version
6211 ".tar.gz"))
6212 (sha256
6213 (base32
6214 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6215 (build-system haskell-build-system)
6216 (inputs
6217 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6218 (home-page "https://github.com/conal/MemoTrie")
6219 (synopsis "Trie-based memo functions")
6220 (description "This package provides a functional library for creating
6221efficient memo functions using tries.")
6222 (license license:bsd-3)))
6223
6224(define-public ghc-microlens
6225 (package
6226 (name "ghc-microlens")
82478c58 6227 (version "0.4.10")
dddbc90c
RV
6228 (source
6229 (origin
6230 (method url-fetch)
6231 (uri (string-append "https://hackage.haskell.org/package/"
6232 "microlens-" version "/"
6233 "microlens-" version ".tar.gz"))
6234 (sha256
6235 (base32
82478c58 6236 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
6237 (build-system haskell-build-system)
6238 (home-page
6239 "https://github.com/aelve/microlens")
6240 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6241 (description "This Haskell package provides a lens library, just like
6242@code{ghc-lens}, but smaller. It provides essential lenses and
6243traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6244nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6245combinators (like @code{failing} and @code{singular}), but everything else is
6246stripped. As the result, this package has no dependencies.")
6247 (license license:bsd-3)))
6248
6249(define-public ghc-microlens-ghc
6250 (package
6251 (name "ghc-microlens-ghc")
027beb55 6252 (version "0.4.10")
dddbc90c
RV
6253 (source
6254 (origin
6255 (method url-fetch)
6256 (uri (string-append
6257 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6258 version
6259 ".tar.gz"))
6260 (sha256
6261 (base32
027beb55 6262 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
6263 (build-system haskell-build-system)
6264 (inputs `(("ghc-microlens" ,ghc-microlens)))
6265 (home-page "https://github.com/monadfix/microlens")
6266 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6267 (description "This library provides everything that @code{microlens}
6268provides plus instances to make @code{each}, @code{at}, and @code{ix}
6269usable with arrays, @code{ByteString}, and containers. This package is
6270a part of the @uref{http://hackage.haskell.org/package/microlens,
6271microlens} family; see the readme
6272@uref{https://github.com/aelve/microlens#readme, on Github}.")
6273 (license license:bsd-3)))
6274
6275(define-public ghc-microlens-mtl
6276 (package
6277 (name "ghc-microlens-mtl")
6278 (version "0.1.11.1")
6279 (source
6280 (origin
6281 (method url-fetch)
6282 (uri (string-append
6283 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6284 version
6285 ".tar.gz"))
6286 (sha256
6287 (base32
6288 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6289 (build-system haskell-build-system)
6290 (inputs
6291 `(("ghc-microlens" ,ghc-microlens)
6292 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6293 (home-page "https://github.com/monadfix/microlens")
6294 (synopsis
6295 "@code{microlens} support for Reader/Writer/State from mtl")
6296 (description
6297 "This package contains functions (like @code{view} or @code{+=}) which
6298work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6299mtl package. This package is a part of the
6300@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6301readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6302 (license license:bsd-3)))
6303
6304(define-public ghc-microlens-platform
6305 (package
6306 (name "ghc-microlens-platform")
85decc1f 6307 (version "0.3.11")
dddbc90c
RV
6308 (source
6309 (origin
6310 (method url-fetch)
6311 (uri (string-append
6312 "https://hackage.haskell.org/package/"
6313 "microlens-platform/microlens-platform-" version ".tar.gz"))
6314 (sha256
6315 (base32
85decc1f 6316 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
6317 (build-system haskell-build-system)
6318 (inputs
6319 `(("ghc-hashable" ,ghc-hashable)
6320 ("ghc-microlens" ,ghc-microlens)
6321 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6322 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6323 ("ghc-microlens-th" ,ghc-microlens-th)
6324 ("ghc-unordered-containers" ,ghc-unordered-containers)
6325 ("ghc-vector" ,ghc-vector)))
6326 (home-page "https://github.com/monadfix/microlens")
6327 (synopsis "Feature-complete microlens")
6328 (description
6329 "This package exports a module which is the recommended starting point
6330for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6331you aren't trying to keep your dependencies minimal. By importing
6332@code{Lens.Micro.Platform} you get all functions and instances from
6333@uref{http://hackage.haskell.org/package/microlens, microlens},
6334@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6335@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6336@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6337well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6338minor and major versions of @code{microlens-platform} are incremented whenever
6339the minor and major versions of any other @code{microlens} package are
6340incremented, so you can depend on the exact version of
6341@code{microlens-platform} without specifying the version of @code{microlens}
6342you need. This package is a part of the
6343@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6344readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6345 (license license:bsd-3)))
6346
6347(define-public ghc-microlens-th
6348 (package
6349 (name "ghc-microlens-th")
7ae52867 6350 (version "0.4.2.3")
dddbc90c
RV
6351 (source
6352 (origin
6353 (method url-fetch)
6354 (uri (string-append "https://hackage.haskell.org/package/"
6355 "microlens-th-" version "/"
6356 "microlens-th-" version ".tar.gz"))
6357 (sha256
6358 (base32
7ae52867 6359 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 6360 (build-system haskell-build-system)
7ae52867
TS
6361 (arguments
6362 `(#:cabal-revision
6363 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
6364 (inputs `(("ghc-microlens" ,ghc-microlens)
6365 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6366 (home-page
6367 "https://github.com/aelve/microlens")
6368 (synopsis "Automatic generation of record lenses for
6369@code{ghc-microlens}")
6370 (description "This Haskell package lets you automatically generate lenses
6371for data types; code was extracted from the lens package, and therefore
6372generated lenses are fully compatible with ones generated by lens (and can be
6373used both from lens and microlens).")
6374 (license license:bsd-3)))
6375
6376(define-public ghc-missingh
6377 (package
6378 (name "ghc-missingh")
6379 (version "1.4.0.1")
6380 (source
6381 (origin
6382 (method url-fetch)
6383 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6384 "MissingH-" version ".tar.gz"))
6385 (sha256
6386 (base32
6387 "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"))))
6388 (build-system haskell-build-system)
6389 ;; Tests require the unmaintained testpack package, which depends on the
6390 ;; outdated QuickCheck version 2.7, which can no longer be built with
6391 ;; recent versions of GHC and Haskell libraries.
6392 (arguments '(#:tests? #f))
6393 (inputs
6394 `(("ghc-network" ,ghc-network)
6395 ("ghc-hunit" ,ghc-hunit)
6396 ("ghc-regex-compat" ,ghc-regex-compat)
6397 ("ghc-hslogger" ,ghc-hslogger)
6398 ("ghc-random" ,ghc-random)
6399 ("ghc-old-time" ,ghc-old-time)
6400 ("ghc-old-locale" ,ghc-old-locale)))
6401 (native-inputs
6402 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6403 ("ghc-quickcheck" ,ghc-quickcheck)
6404 ("ghc-hunit" ,ghc-hunit)))
6405 (home-page "http://software.complete.org/missingh")
6406 (synopsis "Large utility library")
6407 (description
6408 "MissingH is a library of all sorts of utility functions for Haskell
6409programmers. It is written in pure Haskell and thus should be extremely
6410portable and easy to use.")
6411 (license license:bsd-3)))
6412
6413(define-public ghc-mmap
6414 (package
6415 (name "ghc-mmap")
6416 (version "0.5.9")
6417 (source (origin
6418 (method url-fetch)
6419 (uri (string-append "https://hackage.haskell.org/package/"
6420 "mmap/mmap-" version ".tar.gz"))
6421 (sha256
6422 (base32
6423 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6424 (build-system haskell-build-system)
6425 (home-page "https://hackage.haskell.org/package/mmap")
6426 (synopsis "Memory mapped files for Haskell")
6427 (description
6428 "This library provides a wrapper to @code{mmap}, allowing files or
6429devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6430@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6431do on-demand loading.")
6432 (license license:bsd-3)))
6433
6434(define-public ghc-mmorph
6435 (package
6436 (name "ghc-mmorph")
e0389704 6437 (version "1.1.3")
dddbc90c
RV
6438 (source
6439 (origin
6440 (method url-fetch)
6441 (uri (string-append
6442 "https://hackage.haskell.org/package/mmorph/mmorph-"
6443 version
6444 ".tar.gz"))
6445 (sha256
6446 (base32
e0389704 6447 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
6448 (build-system haskell-build-system)
6449 (inputs
6450 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6451 (home-page "https://hackage.haskell.org/package/mmorph")
6452 (synopsis "Monad morphisms")
6453 (description
6454 "This library provides monad morphism utilities, most commonly used for
6455manipulating monad transformer stacks.")
6456 (license license:bsd-3)))
6457
6458(define-public ghc-mockery
6459 (package
6460 (name "ghc-mockery")
6461 (version "0.3.5")
6462 (source (origin
6463 (method url-fetch)
6464 (uri (string-append "https://hackage.haskell.org/package/"
6465 "mockery/mockery-" version ".tar.gz"))
6466 (sha256
6467 (base32
6468 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6469 (build-system haskell-build-system)
6470 (inputs
6471 `(("ghc-temporary" ,ghc-temporary)
6472 ("ghc-logging-facade" ,ghc-logging-facade)
6473 ("ghc-base-compat" ,ghc-base-compat)))
6474 (native-inputs
6475 `(("ghc-hspec" ,ghc-hspec)
6476 ("hspec-discover" ,hspec-discover)))
6477 (home-page "https://hackage.haskell.org/package/mockery")
6478 (synopsis "Support functions for automated testing")
6479 (description
6480 "The mockery package provides support functions for automated testing.")
6481 (license license:expat)))
6482
6483(define-public ghc-monad-control
6484 (package
6485 (name "ghc-monad-control")
6486 (version "1.0.2.3")
6487 (source
6488 (origin
6489 (method url-fetch)
6490 (uri (string-append
6491 "https://hackage.haskell.org/package/monad-control"
6492 "/monad-control-" version ".tar.gz"))
6493 (sha256
6494 (base32
6495 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6496 (build-system haskell-build-system)
6497 (inputs
6498 `(("ghc-transformers-base" ,ghc-transformers-base)
6499 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6500 (home-page "https://github.com/basvandijk/monad-control")
6501 (synopsis "Monad transformers to lift control operations like exception
6502catching")
6503 (description "This package defines the type class @code{MonadBaseControl},
6504a subset of @code{MonadBase} into which generic control operations such as
6505@code{catch} can be lifted from @code{IO} or any other base monad.")
6506 (license license:bsd-3)))
6507
6508(define-public ghc-monad-logger
6509 (package
6510 (name "ghc-monad-logger")
6511 (version "0.3.29")
6512 (source
6513 (origin
6514 (method url-fetch)
6515 (uri (string-append "https://hackage.haskell.org/package/"
6516 "monad-logger-" version "/"
6517 "monad-logger-" version ".tar.gz"))
6518 (sha256
6519 (base32
6520 "1z516s4pa9n94zf0l45mylssg07xr1d1m6zrz900p0iv3vfd07mv"))))
6521 (build-system haskell-build-system)
6522 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6523 ("ghc-stm-chans" ,ghc-stm-chans)
6524 ("ghc-lifted-base" ,ghc-lifted-base)
6525 ("ghc-resourcet" ,ghc-resourcet)
6526 ("ghc-conduit" ,ghc-conduit)
6527 ("ghc-conduit-extra" ,ghc-conduit-extra)
6528 ("ghc-fast-logger" ,ghc-fast-logger)
6529 ("ghc-transformers-base" ,ghc-transformers-base)
6530 ("ghc-monad-control" ,ghc-monad-control)
6531 ("ghc-monad-loops" ,ghc-monad-loops)
6532 ("ghc-blaze-builder" ,ghc-blaze-builder)
6533 ("ghc-exceptions" ,ghc-exceptions)))
6534 (home-page "https://github.com/kazu-yamamoto/logger")
6535 (synopsis "Provides a class of monads which can log messages for Haskell")
6536 (description "This Haskell package uses a monad transformer approach
6537for logging.
6538
6539This package provides Template Haskell functions for determining source
6540code locations of messages.")
6541 (license license:expat)))
6542
6543(define-public ghc-monad-loops
6544 (package
6545 (name "ghc-monad-loops")
6546 (version "0.4.3")
6547 (source
6548 (origin
6549 (method url-fetch)
6550 (uri (string-append "https://hackage.haskell.org/package/"
6551 "monad-loops-" version "/"
6552 "monad-loops-" version ".tar.gz"))
6553 (sha256
6554 (base32
6555 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6556 (build-system haskell-build-system)
6557 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6558 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6559 (home-page "https://github.com/mokus0/monad-loops")
6560 (synopsis "Monadic loops for Haskell")
6561 (description "This Haskell package provides some useful control
6562operators for looping.")
6563 (license license:public-domain)))
6564
6565(define-public ghc-monad-par
6566 (package
6567 (name "ghc-monad-par")
6568 (version "0.3.4.8")
6569 (source
6570 (origin
6571 (method url-fetch)
6572 (uri (string-append "https://hackage.haskell.org/package/"
6573 "monad-par-" version "/"
6574 "monad-par-" version ".tar.gz"))
6575 (sha256
6576 (base32
6577 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6578 (build-system haskell-build-system)
6579 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6580 ("ghc-abstract-deque" ,ghc-abstract-deque)
6581 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6582 ("ghc-mwc-random" ,ghc-mwc-random)
6583 ("ghc-parallel" ,ghc-parallel)))
6584 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6585 ("ghc-hunit" ,ghc-hunit)
6586 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6587 ("ghc-test-framework-quickcheck2"
6588 ,ghc-test-framework-quickcheck2)
6589 ("ghc-test-framework" ,ghc-test-framework)
6590 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6591 (home-page "https://github.com/simonmar/monad-par")
6592 (synopsis "Haskell library for parallel programming based on a monad")
6593 (description "The @code{Par} monad offers an API for parallel
6594programming. The library works for parallelising both pure and @code{IO}
6595computations, although only the pure version is deterministic. The default
6596implementation provides a work-stealing scheduler and supports forking tasks
6597that are much lighter weight than IO-threads.")
6598 (license license:bsd-3)))
6599
6600(define-public ghc-monad-par-extras
6601 (package
6602 (name "ghc-monad-par-extras")
6603 (version "0.3.3")
6604 (source
6605 (origin
6606 (method url-fetch)
6607 (uri (string-append "https://hackage.haskell.org/package/"
6608 "monad-par-extras-" version "/"
6609 "monad-par-extras-" version ".tar.gz"))
6610 (sha256
6611 (base32
6612 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6613 (build-system haskell-build-system)
6614 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6615 ("ghc-cereal" ,ghc-cereal)
6616 ("ghc-random" ,ghc-random)))
6617 (home-page "https://github.com/simonmar/monad-par")
6618 (synopsis "Combinators and extra features for Par monads for Haskell")
6619 (description "This Haskell package provides additional data structures,
6620and other added capabilities layered on top of the @code{Par} monad.")
6621 (license license:bsd-3)))
6622
6623(define-public ghc-monadplus
6624 (package
6625 (name "ghc-monadplus")
6626 (version "1.4.2")
6627 (source
6628 (origin
6629 (method url-fetch)
6630 (uri (string-append "https://hackage.haskell.org/package/monadplus"
6631 "/monadplus-" version ".tar.gz"))
6632 (sha256
6633 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
6634 (build-system haskell-build-system)
6635 (home-page "https://hackage.haskell.org/package/monadplus")
6636 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
6637 (description
6638 "This package generalizes many common stream operations such as
6639@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
6640arbitrary @code{MonadPlus} instances.")
6641 (license license:bsd-3)))
6642
6643(define-public ghc-monadrandom
6644 (package
6645 (name "ghc-monadrandom")
6646 (version "0.5.1.1")
6647 (source
6648 (origin
6649 (method url-fetch)
6650 (uri (string-append "https://hackage.haskell.org/package/"
6651 "MonadRandom-" version "/"
6652 "MonadRandom-" version ".tar.gz"))
6653 (sha256
6654 (base32
6655 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
6656 (build-system haskell-build-system)
6657 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6658 ("ghc-primitive" ,ghc-primitive)
6659 ("ghc-fail" ,ghc-fail)
6660 ("ghc-random" ,ghc-random)))
6661 (home-page "https://github.com/byorgey/MonadRandom")
6662 (synopsis "Random-number generation monad for Haskell")
6663 (description "This Haskell package provides support for computations
6664which consume random values.")
6665 (license license:bsd-3)))
6666
6667(define-public ghc-monads-tf
6668 (package
6669 (name "ghc-monads-tf")
6670 (version "0.1.0.3")
6671 (source
6672 (origin
6673 (method url-fetch)
6674 (uri (string-append
6675 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
6676 version ".tar.gz"))
6677 (sha256
6678 (base32
6679 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
6680 (build-system haskell-build-system)
6681 (home-page "https://hackage.haskell.org/package/monads-tf")
6682 (synopsis "Monad classes, using type families")
6683 (description
6684 "Monad classes using type families, with instances for various monad transformers,
6685inspired by the paper 'Functional Programming with Overloading and Higher-Order
6686Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
6687the @code{mtl-tf} package.")
6688 (license license:bsd-3)))
6689
6690(define-public ghc-mono-traversable
6691 (package
6692 (name "ghc-mono-traversable")
6693 (version "1.0.9.0")
6694 (source
6695 (origin
6696 (method url-fetch)
6697 (uri (string-append "https://hackage.haskell.org/package/"
6698 "mono-traversable-" version "/"
6699 "mono-traversable-" version ".tar.gz"))
6700 (sha256
6701 (base32
6702 "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
6703 (build-system haskell-build-system)
6704 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
6705 ("ghc-hashable" ,ghc-hashable)
6706 ("ghc-vector" ,ghc-vector)
6707 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
6708 ("ghc-split" ,ghc-split)))
6709 (native-inputs `(("ghc-hspec" ,ghc-hspec)
6710 ("ghc-hunit" ,ghc-hunit)
6711 ("ghc-quickcheck" ,ghc-quickcheck)
6712 ("ghc-semigroups" ,ghc-semigroups)
6713 ("ghc-foldl" ,ghc-foldl)))
6714 (home-page "https://github.com/snoyberg/mono-traversable")
6715 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
6716containers")
6717 (description "This Haskell package provides Monomorphic variants of the
6718Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
6719basic typeclasses, you understand mono-traversable. In addition to what
6720you are used to, it adds on an IsSequence typeclass and has code for marking
6721data structures as non-empty.")
6722 (license license:expat)))
6723
6724(define-public ghc-murmur-hash
6725 (package
6726 (name "ghc-murmur-hash")
6727 (version "0.1.0.9")
6728 (source
6729 (origin
6730 (method url-fetch)
6731 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
6732 "/murmur-hash-" version ".tar.gz"))
6733 (sha256
6734 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
6735 (build-system haskell-build-system)
6736 (home-page "https://github.com/nominolo/murmur-hash")
6737 (synopsis "MurmurHash2 implementation for Haskell")
6738 (description
6739 "This package provides an implementation of MurmurHash2, a good, fast,
6740general-purpose, non-cryptographic hashing function. See
6741@url{https://sites.google.com/site/murmurhash/} for details. This
6742implementation is pure Haskell, so it might be a bit slower than a C FFI
6743binding.")
6744 (license license:bsd-3)))
6745
6746(define-public ghc-mwc-random
6747 (package
6748 (name "ghc-mwc-random")
33268e2c 6749 (version "0.14.0.0")
dddbc90c
RV
6750 (source
6751 (origin
6752 (method url-fetch)
6753 (uri (string-append "https://hackage.haskell.org/package/"
6754 "mwc-random-" version "/"
6755 "mwc-random-" version ".tar.gz"))
6756 (sha256
6757 (base32
33268e2c 6758 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
6759 (build-system haskell-build-system)
6760 (inputs
6761 `(("ghc-primitive" ,ghc-primitive)
6762 ("ghc-vector" ,ghc-vector)
6763 ("ghc-math-functions" ,ghc-math-functions)))
6764 (arguments
6765 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
6766 (native-inputs
6767 `(("ghc-hunit" ,ghc-hunit)
6768 ("ghc-quickcheck" ,ghc-quickcheck)
6769 ("ghc-test-framework" ,ghc-test-framework)
6770 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6771 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6772 (home-page "https://github.com/bos/mwc-random")
6773 (synopsis "Random number generation library for Haskell")
6774 (description "This Haskell package contains code for generating
6775high quality random numbers that follow either a uniform or normal
6776distribution. The generated numbers are suitable for use in
6777statistical applications.
6778
6779The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
6780multiply-with-carry generator, which has a period of 2^{8222} and
6781fares well in tests of randomness. It is also extremely fast,
6782between 2 and 3 times faster than the Mersenne Twister.")
6783 (license license:bsd-3)))
6784
6785(define-public ghc-nats
6786 (package
6787 (name "ghc-nats")
6788 (version "1.1.2")
6789 (source
6790 (origin
6791 (method url-fetch)
6792 (uri (string-append
6793 "https://hackage.haskell.org/package/nats/nats-"
6794 version
6795 ".tar.gz"))
6796 (sha256
6797 (base32
6798 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
6799 (build-system haskell-build-system)
6800 (arguments `(#:haddock? #f))
6801 (inputs
6802 `(("ghc-hashable" ,ghc-hashable)))
6803 (home-page "https://hackage.haskell.org/package/nats")
6804 (synopsis "Natural numbers")
6805 (description "This library provides the natural numbers for Haskell.")
6806 (license license:bsd-3)))
6807
6808(define-public ghc-nats-bootstrap
6809 (package
6810 (inherit ghc-nats)
6811 (name "ghc-nats-bootstrap")
6812 (inputs
6813 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
6814 (properties '((hidden? #t)))))
6815
52915062
EF
6816(define-public ghc-ncurses
6817 (package
6818 (name "ghc-ncurses")
6819 (version "0.2.16")
6820 (source
6821 (origin
6822 (method url-fetch)
6823 (uri (string-append
6824 "https://hackage.haskell.org/package/ncurses/ncurses-"
6825 version ".tar.gz"))
6826 (sha256
6827 (base32
6828 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
6829 (build-system haskell-build-system)
6830 (arguments
6831 '(#:phases
6832 (modify-phases %standard-phases
6833 (add-before 'build 'fix-includes
6834 (lambda _
6835 (substitute* '("cbits/hsncurses-shim.h"
6836 "lib/UI/NCurses.chs"
6837 "lib/UI/NCurses/Enums.chs"
6838 "lib/UI/NCurses/Panel.chs")
6839 (("<ncursesw/") "<"))
6840 #t)))
6841 #:cabal-revision
6842 ("1"
6843 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
6844 (inputs `(("ncurses" ,ncurses)))
6845 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
6846 (home-page "https://john-millikin.com/software/haskell-ncurses/")
6847 (synopsis "Modernised bindings to GNU ncurses")
6848 (description "GNU ncurses is a library for creating command-line application
6849with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
6850ncurses.")
6851 (license license:gpl3)))
6852
dddbc90c
RV
6853(define-public ghc-network
6854 (package
6855 (name "ghc-network")
d4473202 6856 (version "2.8.0.1")
dddbc90c
RV
6857 (outputs '("out" "doc"))
6858 (source
6859 (origin
6860 (method url-fetch)
6861 (uri (string-append
6862 "https://hackage.haskell.org/package/network/network-"
6863 version
6864 ".tar.gz"))
6865 (sha256
6866 (base32
d4473202 6867 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
6868 (build-system haskell-build-system)
6869 ;; The regression tests depend on an unpublished module.
6870 (arguments `(#:tests? #f))
6871 (native-inputs
6872 `(("ghc-hunit" ,ghc-hunit)
6873 ("ghc-doctest" ,ghc-doctest)
6874 ("ghc-test-framework" ,ghc-test-framework)
6875 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6876 (home-page "https://github.com/haskell/network")
6877 (synopsis "Low-level networking interface")
6878 (description
6879 "This package provides a low-level networking interface.")
6880 (license license:bsd-3)))
4780db2c 6881
dddbc90c
RV
6882(define-public ghc-network-info
6883 (package
6884 (name "ghc-network-info")
6885 (version "0.2.0.10")
6886 (source
6887 (origin
6888 (method url-fetch)
6889 (uri (string-append "https://hackage.haskell.org/package/"
6890 "network-info-" version "/"
6891 "network-info-" version ".tar.gz"))
6892 (sha256
6893 (base32
6894 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
6895 (build-system haskell-build-system)
6896 (home-page "https://github.com/jystic/network-info")
6897 (synopsis "Access the local computer's basic network configuration")
6898 (description "This Haskell library provides simple read-only access to the
6899local computer's networking configuration. It is currently capable of
6900getting a list of all the network interfaces and their respective
6901IPv4, IPv6 and MAC addresses.")
6902 (license license:bsd-3)))
6903
6904(define-public ghc-network-uri
6905 (package
6906 (name "ghc-network-uri")
6907 (version "2.6.1.0")
6908 (outputs '("out" "doc"))
6909 (source
6910 (origin
6911 (method url-fetch)
6912 (uri (string-append
6913 "https://hackage.haskell.org/package/network-uri/network-uri-"
6914 version
6915 ".tar.gz"))
6916 (sha256
6917 (base32
6918 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
6919 (build-system haskell-build-system)
6920 (arguments
6921 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
6922 (inputs
6923 `(("ghc-network" ,ghc-network)))
6924 (native-inputs
6925 `(("ghc-hunit" ,ghc-hunit)))
6926 (home-page
6927 "https://github.com/haskell/network-uri")
6928 (synopsis "Library for URI manipulation")
6929 (description "This package provides an URI manipulation interface. In
6930@code{network-2.6} the @code{Network.URI} module was split off from the
6931@code{network} package into this package.")
6932 (license license:bsd-3)))
6933
6934(define-public ghc-newtype-generics
6935 (package
6936 (name "ghc-newtype-generics")
c07e16dd 6937 (version "0.5.4")
dddbc90c
RV
6938 (source
6939 (origin
6940 (method url-fetch)
6941 (uri (string-append "https://hackage.haskell.org/package/"
6942 "newtype-generics/newtype-generics-"
6943 version ".tar.gz"))
6944 (sha256
6945 (base32
c07e16dd 6946 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
6947 (build-system haskell-build-system)
6948 (native-inputs
6949 `(("ghc-hspec" ,ghc-hspec)
6950 ("hspec-discover" ,hspec-discover)))
6951 (home-page "http://github.com/sjakobi/newtype-generics")
6952 (synopsis "Typeclass and set of functions for working with newtypes")
6953 (description "The @code{Newtype} typeclass represents the packing and
6954unpacking of a newtype, and allows you to operate under that newtype with
6955functions such as @code{ala}. Generics support was added in version 0.4,
6956making this package a full replacement for the original newtype package,
6957and an alternative to newtype-th.")
6958 (license license:bsd-3)))
6959
6b652f5a
JS
6960(define-public ghc-non-negative
6961 (package
6962 (name "ghc-non-negative")
6963 (version "0.1.2")
6964 (source
6965 (origin
6966 (method url-fetch)
6967 (uri
6968 (string-append
6969 "https://hackage.haskell.org/package/non-negative/non-negative-"
6970 version ".tar.gz"))
6971 (sha256
6972 (base32
6973 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
6974 (build-system haskell-build-system)
6975 (inputs
6976 `(("ghc-semigroups" ,ghc-semigroups)
6977 ("ghc-utility-ht" ,ghc-utility-ht)
6978 ("ghc-quickcheck" ,ghc-quickcheck)))
6979 (home-page "https://hackage.haskell.org/package/non-negative")
6980 (synopsis "Non-negative numbers class")
6981 (description "This library provides a class for non-negative numbers,
6982a wrapper which can turn any ordered numeric type into a member of that
6983class, and a lazy number type for non-negative numbers (a generalization
6984of Peano numbers).")
6985 (license license:gpl3+)))
6986
dddbc90c
RV
6987(define-public ghc-objectname
6988 (package
6989 (name "ghc-objectname")
6990 (version "1.1.0.1")
6991 (source
6992 (origin
6993 (method url-fetch)
6994 (uri (string-append
6995 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
6996 version
6997 ".tar.gz"))
6998 (sha256
6999 (base32
7000 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
7001 (build-system haskell-build-system)
7002 (home-page "https://hackage.haskell.org/package/ObjectName")
7003 (synopsis "Helper library for Haskell OpenGL")
7004 (description "This tiny package contains the class ObjectName, which
7005corresponds to the general notion of explicitly handled identifiers for API
7006objects, e.g. a texture object name in OpenGL or a buffer object name in
7007OpenAL.")
7008 (license license:bsd-3)))
7009
7010(define-public ghc-old-locale
7011 (package
7012 (name "ghc-old-locale")
7013 (version "1.0.0.7")
7014 (source
7015 (origin
7016 (method url-fetch)
7017 (uri (string-append
7018 "https://hackage.haskell.org/package/old-locale/old-locale-"
7019 version
7020 ".tar.gz"))
7021 (sha256
7022 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7023 (build-system haskell-build-system)
7024 (arguments
7025 `(#:cabal-revision
7026 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7027 (home-page "https://hackage.haskell.org/package/old-locale")
7028 (synopsis "Adapt to locale conventions")
7029 (description
7030 "This package provides the ability to adapt to locale conventions such as
7031date and time formats.")
7032 (license license:bsd-3)))
7033
7034(define-public ghc-old-time
7035 (package
7036 (name "ghc-old-time")
7037 (version "1.1.0.3")
7038 (source
7039 (origin
7040 (method url-fetch)
7041 (uri (string-append
7042 "https://hackage.haskell.org/package/old-time/old-time-"
7043 version
7044 ".tar.gz"))
7045 (sha256
7046 (base32
7047 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7048 (build-system haskell-build-system)
7049 (arguments
7050 `(#:cabal-revision
7051 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7052 (inputs
7053 `(("ghc-old-locale" ,ghc-old-locale)))
7054 (home-page "https://hackage.haskell.org/package/old-time")
7055 (synopsis "Time compatibility library for Haskell")
7056 (description "Old-time is a package for backwards compatibility with the
7057old @code{time} library. For new projects, the newer
7058@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7059 (license license:bsd-3)))
7060
7061(define-public ghc-opengl
7062 (package
7063 (name "ghc-opengl")
7064 (version "3.0.2.2")
7065 (source
7066 (origin
7067 (method url-fetch)
7068 (uri (string-append
7069 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7070 version
7071 ".tar.gz"))
7072 (sha256
7073 (base32
7074 "19vxwvx2n8zq2klj176l25n2b64ybp0b8mhm4p46gvpcivz41fjc"))))
7075 (build-system haskell-build-system)
7076 (inputs
7077 `(("ghc-objectname" ,ghc-objectname)
7078 ("ghc-gluraw" ,ghc-gluraw)
7079 ("ghc-statevar" ,ghc-statevar)
7080 ("ghc-openglraw" ,ghc-openglraw)))
7081 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7082 (synopsis "Haskell bindings for the OpenGL graphics system")
7083 (description "This package provides Haskell bindings for the OpenGL
7084graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7085version 1.3).")
7086 (license license:bsd-3)))
7087
7088(define-public ghc-openglraw
7089 (package
7090 (name "ghc-openglraw")
15ebc815 7091 (version "3.3.3.0")
dddbc90c
RV
7092 (source
7093 (origin
7094 (method url-fetch)
7095 (uri (string-append
7096 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7097 version
7098 ".tar.gz"))
7099 (sha256
7100 (base32
15ebc815 7101 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
7102 (build-system haskell-build-system)
7103 (inputs
7104 `(("ghc-half" ,ghc-half)
7105 ("ghc-fixed" ,ghc-fixed)
7106 ("glu" ,glu)))
7107 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7108 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7109 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7110graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7111of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7112offers access to all necessary functions, tokens and types plus a general
7113facility for loading extension entries. The module hierarchy closely mirrors
7114the naming structure of the OpenGL extensions, making it easy to find the
7115right module to import. All API entries are loaded dynamically, so no special
7116C header files are needed for building this package. If an API entry is not
7117found at runtime, a userError is thrown.")
7118 (license license:bsd-3)))
7119
7120(define-public ghc-operational
7121 (package
7122 (name "ghc-operational")
7123 (version "0.2.3.5")
7124 (source
7125 (origin
7126 (method url-fetch)
7127 (uri (string-append "https://hackage.haskell.org/package/operational/"
7128 "operational-" version ".tar.gz"))
7129 (sha256
7130 (base32
7131 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7132 (build-system haskell-build-system)
7133 (inputs
7134 `(("ghc-random" ,ghc-random)))
7135 (home-page "http://wiki.haskell.org/Operational")
7136 (synopsis "Implementation of difficult monads made easy with operational semantics")
7137 (description
7138 "This library makes it easy to implement monads with tricky control
7139flow. This is useful for: writing web applications in a sequential style,
7140programming games with a uniform interface for human and AI players and easy
7141replay capababilities, implementing fast parser monads, designing monadic
7142DSLs, etc.")
7143 (license license:bsd-3)))
7144
7145(define-public ghc-options
7146 (package
7147 (name "ghc-options")
7148 (version "1.2.1.1")
7149 (source
7150 (origin
7151 (method url-fetch)
7152 (uri (string-append
7153 "https://hackage.haskell.org/package/options/options-"
7154 version ".tar.gz"))
7155 (sha256
7156 (base32
7157 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7158 (build-system haskell-build-system)
7159 (inputs
7160 `(("ghc-monads-tf" ,ghc-monads-tf)
7161 ("ghc-chell" ,ghc-chell)
7162 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7163 (home-page "https://john-millikin.com/software/haskell-options/")
7164 (synopsis "Powerful and easy-to-use command-line option parser")
7165 (description
7166 "The @code{options} package lets library and application developers
7167easily work with command-line options.")
7168 (license license:expat)))
7169
7170;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7171(define ghc-options-bootstrap
7172 (package
7173 (name "ghc-options-bootstrap")
7174 (version "1.2.1.1")
7175 (source
7176 (origin
7177 (method url-fetch)
7178 (uri (string-append
7179 "https://hackage.haskell.org/package/options/options-"
7180 version ".tar.gz"))
7181 (sha256
7182 (base32
7183 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7184 (build-system haskell-build-system)
7185 (arguments
7186 `(#:tests? #f))
7187 (inputs
7188 `(("ghc-monads-tf" ,ghc-monads-tf)))
7189 (home-page "https://john-millikin.com/software/haskell-options/")
7190 (synopsis "Powerful and easy-to-use command-line option parser")
7191 (description
7192 "The @code{options} package lets library and application developers
7193easily work with command-line options.")
7194 (license license:expat)))
7195
7196
7197(define-public ghc-optparse-applicative
7198 (package
7199 (name "ghc-optparse-applicative")
74bf6965 7200 (version "0.14.3.0")
dddbc90c
RV
7201 (source
7202 (origin
7203 (method url-fetch)
7204 (uri (string-append
7205 "https://hackage.haskell.org/package/optparse-applicative"
7206 "/optparse-applicative-" version ".tar.gz"))
7207 (sha256
7208 (base32
74bf6965 7209 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 7210 (build-system haskell-build-system)
74bf6965
TS
7211 (arguments
7212 `(#:cabal-revision
7213 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
7214 (inputs
7215 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7216 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7217 (native-inputs
7218 `(("ghc-quickcheck" ,ghc-quickcheck)))
7219 (home-page "https://github.com/pcapriotti/optparse-applicative")
7220 (synopsis "Utilities and combinators for parsing command line options")
7221 (description "This package provides utilities and combinators for parsing
7222command line options in Haskell.")
7223 (license license:bsd-3)))
7224
7225(define-public ghc-pandoc
7226 (package
7227 (name "ghc-pandoc")
7228 (version "2.2.1")
7229 (source
7230 (origin
7231 (method url-fetch)
7232 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7233 version ".tar.gz"))
7234 (sha256
7235 (base32
7236 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
7237 (build-system haskell-build-system)
7238 (arguments
7239 `(#:phases
7240 (modify-phases %standard-phases
7241 (add-before 'configure 'update-constraints
7242 (lambda _
7243 (substitute* "pandoc.cabal"
7244 (("tasty >= 0\\.11 && < 1\\.1")
7245 "tasty >= 0.11 && < 1.1.1"))))
7246 (add-before 'configure 'patch-tests
7247 (lambda _
7248 ;; These tests fail benignly and have been adjusted upstream:
7249 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
7250 (substitute* "test/Tests/Old.hs"
7251 (("lhsWriterTests \"html\"") "[]")))))))
7252 (inputs
7253 `(("ghc-aeson" ,ghc-aeson)
7254 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7255 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7256 ("ghc-blaze-html" ,ghc-blaze-html)
7257 ("ghc-blaze-markup" ,ghc-blaze-markup)
7258 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7259 ("ghc-data-default" ,ghc-data-default)
7260 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7261 ("ghc-diff" ,ghc-diff)
7262 ("ghc-doctemplates" ,ghc-doctemplates)
7263 ("ghc-executable-path" ,ghc-executable-path)
7264 ("ghc-glob" ,ghc-glob)
7265 ("ghc-haddock-library" ,ghc-haddock-library)
7266 ("ghc-hslua" ,ghc-hslua)
7267 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7268 ("ghc-http" ,ghc-http)
7269 ("ghc-http-client" ,ghc-http-client)
7270 ("ghc-http-client-tls" ,ghc-http-client-tls)
7271 ("ghc-http-types" ,ghc-http-types)
7272 ("ghc-juicypixels" ,ghc-juicypixels)
7273 ("ghc-network" ,ghc-network)
7274 ("ghc-network-uri" ,ghc-network-uri)
7275 ("ghc-old-locale" ,ghc-old-locale)
7276 ("ghc-pandoc-types" ,ghc-pandoc-types)
7277 ("ghc-random" ,ghc-random)
7278 ("ghc-scientific" ,ghc-scientific)
7279 ("ghc-sha" ,ghc-sha)
7280 ("ghc-skylighting" ,ghc-skylighting)
7281 ("ghc-split" ,ghc-split)
7282 ("ghc-syb" ,ghc-syb)
7283 ("ghc-tagsoup" ,ghc-tagsoup)
7284 ("ghc-temporary" ,ghc-temporary)
7285 ("ghc-texmath" ,ghc-texmath)
7286 ("ghc-unordered-containers" ,ghc-unordered-containers)
7287 ("ghc-vector" ,ghc-vector)
7288 ("ghc-xml" ,ghc-xml)
7289 ("ghc-yaml" ,ghc-yaml)
7290 ("ghc-zip-archive" ,ghc-zip-archive)
7291 ("ghc-zlib" ,ghc-zlib)))
7292 (native-inputs
7293 `(("ghc-tasty" ,ghc-tasty)
7294 ("ghc-tasty-golden" ,ghc-tasty-golden)
7295 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7296 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7297 ("ghc-quickcheck" ,ghc-quickcheck)
7298 ("ghc-hunit" ,ghc-hunit)))
7299 (home-page "https://pandoc.org")
7300 (synopsis "Conversion between markup formats")
7301 (description
7302 "Pandoc is a Haskell library for converting from one markup format to
7303another, and a command-line tool that uses this library. It can read and
7304write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7305LaTeX, DocBook, and many more.
7306
7307Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7308definition lists, tables, and other features. A compatibility mode is
7309provided for those who need a drop-in replacement for Markdown.pl.")
7310 (license license:gpl2+)))
7311
7312(define-public ghc-pandoc-citeproc
7313 (package
7314 (name "ghc-pandoc-citeproc")
7315 (version "0.14.3.1")
7316 (source
7317 (origin
7318 (method url-fetch)
7319 (uri (string-append "https://hackage.haskell.org/package/"
7320 "pandoc-citeproc/pandoc-citeproc-"
7321 version ".tar.gz"))
7322 (sha256
7323 (base32
7324 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7325 (build-system haskell-build-system)
7326 (arguments
7327 `(#:phases
7328 (modify-phases %standard-phases
7329 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7330 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7331 (add-before 'configure 'patch-tests
7332 (lambda _
7333 (substitute* "tests/test-pandoc-citeproc.hs"
7334 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7335 "let allTests = citeprocTests"))))
7336 ;; Tests need to be run after installation.
7337 (delete 'check)
7338 (add-after 'install 'post-install-check
7339 (assoc-ref %standard-phases 'check)))))
7340 (inputs
7341 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7342 ("ghc-pandoc" ,ghc-pandoc)
7343 ("ghc-tagsoup" ,ghc-tagsoup)
7344 ("ghc-aeson" ,ghc-aeson)
7345 ("ghc-vector" ,ghc-vector)
7346 ("ghc-xml-conduit" ,ghc-xml-conduit)
7347 ("ghc-unordered-containers" ,ghc-unordered-containers)
7348 ("ghc-data-default" ,ghc-data-default)
7349 ("ghc-setenv" ,ghc-setenv)
7350 ("ghc-split" ,ghc-split)
7351 ("ghc-yaml" ,ghc-yaml)
7352 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7353 ("ghc-rfc5051" ,ghc-rfc5051)
7354 ("ghc-syb" ,ghc-syb)
7355 ("ghc-old-locale" ,ghc-old-locale)
7356 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7357 ("ghc-attoparsec" ,ghc-attoparsec)
7358 ("ghc-temporary" ,ghc-temporary)))
7359 (home-page "https://github.com/jgm/pandoc-citeproc")
7360 (synopsis "Library for using pandoc with citeproc")
7361 (description
7362 "The @code{pandoc-citeproc} library exports functions for using the
7363citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7364rendering bibliographic reference citations into a variety of styles using a
7365macro language called @dfn{Citation Style Language} (CSL). This package also
7366contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7367and also has a mode for converting bibliographic databases a YAML format
7368suitable for inclusion in pandoc YAML metadata.")
7369 (license license:bsd-3)))
7370
7371(define-public ghc-pandoc-types
7372 (package
7373 (name "ghc-pandoc-types")
7374 (version "1.17.5.1")
7375 (source (origin
7376 (method url-fetch)
7377 (uri (string-append "https://hackage.haskell.org/package/"
7378 "pandoc-types/pandoc-types-"
7379 version ".tar.gz"))
7380 (sha256
7381 (base32
7382 "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
7383 (build-system haskell-build-system)
7384 (inputs
7385 `(("ghc-syb" ,ghc-syb)
7386 ("ghc-aeson" ,ghc-aeson)
7387 ("ghc-string-qq" ,ghc-string-qq)))
7388 (native-inputs
7389 `(("ghc-quickcheck" ,ghc-quickcheck)
7390 ("ghc-test-framework" ,ghc-test-framework)
7391 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7392 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7393 ("ghc-hunit" ,ghc-hunit)))
7394 (home-page "http://johnmacfarlane.net/pandoc")
7395 (synopsis "Types for representing a structured document")
7396 (description
7397 "This module defines the @code{Pandoc} data structure, which is used by
7398pandoc to represent structured documents. It also provides functions for
7399building up, manipulating and serialising @code{Pandoc} structures.")
7400 (license license:bsd-3)))
7401
7402(define-public ghc-parallel
7403 (package
7404 (name "ghc-parallel")
7405 (version "3.2.2.0")
7406 (outputs '("out" "doc"))
7407 (source
7408 (origin
7409 (method url-fetch)
7410 (uri (string-append
7411 "https://hackage.haskell.org/package/parallel/parallel-"
7412 version
7413 ".tar.gz"))
7414 (sha256
7415 (base32
7416 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7417 (build-system haskell-build-system)
7418 (home-page "https://hackage.haskell.org/package/parallel")
7419 (synopsis "Parallel programming library")
7420 (description
7421 "This package provides a library for parallel programming.")
7422 (license license:bsd-3)))
7423
7424(define-public ghc-parsec-numbers
7425 (package
7426 (name "ghc-parsec-numbers")
7427 (version "0.1.0")
7428 (source
7429 (origin
7430 (method url-fetch)
7431 (uri (string-append "https://hackage.haskell.org/package/"
7432 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7433 (sha256
7434 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7435 (build-system haskell-build-system)
7436 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7437 (synopsis "Utilities for parsing numbers from strings")
7438 (description
7439 "This package provides the number parsers without the need to use a large
7440(and unportable) token parser.")
7441 (license license:bsd-3)))
7442
7443(define-public ghc-parser-combinators
7444 (package
7445 (name "ghc-parser-combinators")
2f173160 7446 (version "1.1.0")
dddbc90c
RV
7447 (source
7448 (origin
7449 (method url-fetch)
7450 (uri (string-append "https://hackage.haskell.org/package/"
7451 "parser-combinators/parser-combinators-"
7452 version ".tar.gz"))
7453 (sha256
7454 (base32
2f173160 7455 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
7456 (build-system haskell-build-system)
7457 (home-page "https://github.com/mrkkrp/parser-combinators")
7458 (synopsis "Commonly useful parser combinators")
7459 (description
7460 "This is a lightweight package providing commonly useful parser
7461combinators.")
7462 (license license:bsd-3)))
7463
7464(define-public ghc-parsers
7465 (package
7466 (name "ghc-parsers")
7467 (version "0.12.9")
7468 (source
7469 (origin
7470 (method url-fetch)
7471 (uri (string-append
7472 "https://hackage.haskell.org/package/parsers/parsers-"
7473 version
7474 ".tar.gz"))
7475 (sha256
7476 (base32
7477 "1r05sc1mcglk8w596kq9a1brfn9c2vll8lq16j07ln0vsz4jzrc1"))))
7478 (build-system haskell-build-system)
7479 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7480 ; -package attoparsec-0.13.0.1"
7481 (inputs
7482 `(("ghc-base-orphans" ,ghc-base-orphans)
7483 ("ghc-attoparsec" ,ghc-attoparsec)
7484 ("ghc-scientific" ,ghc-scientific)
7485 ("ghc-charset" ,ghc-charset)
7486 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7487 (home-page "https://github.com/ekmett/parsers/")
7488 (synopsis "Parsing combinators")
7489 (description "This library provides convenient combinators for working
7490with and building parsing combinator libraries. Given a few simple instances,
7491you get access to a large number of canned definitions. Instances exist for
7492the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7493@code{Text.Read}.")
7494 (license license:bsd-3)))
7495
7496(define-public ghc-path
7497 (package
7498 (name "ghc-path")
7499 (version "0.6.1")
7500 (source
7501 (origin
7502 (method url-fetch)
7503 (uri (string-append
7504 "https://hackage.haskell.org/package/path/path-"
7505 version
7506 ".tar.gz"))
7507 (sha256
7508 (base32
7509 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7510 (build-system haskell-build-system)
7511 (arguments
7512 ;; TODO: There are some Windows-related tests and modules that need to be
7513 ;; danced around.
7514 `(#:tests? #f
7515 #:cabal-revision
7516 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7517 (inputs
7518 `(("ghc-aeson" ,ghc-aeson)
7519 ("ghc-exceptions" ,ghc-exceptions)
7520 ("ghc-hashable" ,ghc-hashable)))
7521 (native-inputs
7522 `(("ghc-hspec" ,ghc-hspec)
7523 ("ghc-quickcheck" ,ghc-quickcheck)
7524 ("ghc-genvalidity" ,ghc-genvalidity)
7525 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7526 ("ghc-hspec" ,ghc-hspec)
7527 ("ghc-validity" ,ghc-validity)))
7528 (home-page
7529 "http://hackage.haskell.org/package/path")
7530 (synopsis "Support for well-typed paths")
7531 (description "This package introduces a type for paths upholding useful
7532invariants.")
7533 (license license:bsd-3)))
7534
7535(define-public ghc-path-io
7536 (package
7537 (name "ghc-path-io")
7538 (version "1.3.3")
7539 (source
7540 (origin
7541 (method url-fetch)
7542 (uri (string-append
7543 "https://hackage.haskell.org/package/path-io/path-io-"
7544 version
7545 ".tar.gz"))
7546 (sha256
7547 (base32
7548 "1g9m3qliqjk1img894wsb89diym5zrq51qkkrwhz4sbm9a8hbv1a"))))
7549 (build-system haskell-build-system)
7550 (inputs
7551 `(("ghc-dlist" ,ghc-dlist)
7552 ("ghc-exceptions" ,ghc-exceptions)
7553 ("ghc-path" ,ghc-path)
7554 ("ghc-transformers-base" ,ghc-transformers-base)
7555 ("ghc-unix-compat" ,ghc-unix-compat)
7556 ("ghc-temporary" ,ghc-temporary)))
7557 (native-inputs
7558 `(("ghc-hspec" ,ghc-hspec)))
7559 (arguments
7560 `(#:cabal-revision
7561 ("3" "1h9hsibbflkxpjl2fqamqiv3x3gasf51apnmklrs9l9x8r32hzcc")))
7562 (home-page
7563 "https://github.com/mrkkrp/path-io")
7564 (synopsis "Functions for manipulating well-typed paths")
7565 (description "This package provides an interface to the @code{directory}
7566package for users of @code{path}. It also implements some missing stuff like
7567recursive scanning and copying of directories, working with temporary
7568files/directories, and more.")
7569 (license license:bsd-3)))
7570
7571(define-public ghc-paths
7572 (package
7573 (name "ghc-paths")
9a8adeb1 7574 (version "0.1.0.12")
dddbc90c
RV
7575 (outputs '("out" "doc"))
7576 (source
7577 (origin
7578 (method url-fetch)
7579 (uri (string-append
7580 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7581 version
7582 ".tar.gz"))
7583 (sha256
7584 (base32
9a8adeb1 7585 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
7586 (build-system haskell-build-system)
7587 (home-page "https://github.com/simonmar/ghc-paths")
7588 (synopsis
7589 "Knowledge of GHC's installation directories")
7590 (description
7591 "Knowledge of GHC's installation directories.")
7592 (license license:bsd-3)))
7593
7594(define-public ghc-patience
7595 (package
7596 (name "ghc-patience")
484476f3 7597 (version "0.3")
dddbc90c
RV
7598 (source
7599 (origin
7600 (method url-fetch)
7601 (uri (string-append
7602 "https://hackage.haskell.org/package/patience/patience-"
7603 version ".tar.gz"))
7604 (sha256
7605 (base32
484476f3 7606 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
7607 (build-system haskell-build-system)
7608 (home-page "https://hackage.haskell.org/package/patience")
7609 (synopsis "Patience diff and longest increasing subsequence")
7610 (description
7611 "This library implements the 'patience diff' algorithm, as well as the
7612patience algorithm for the longest increasing subsequence problem.
7613Patience diff computes the difference between two lists, for example the lines
7614of two versions of a source file. It provides a good balance between
7615performance, nice output for humans, and simplicity of implementation.")
7616 (license license:bsd-3)))
7617
7618(define-public ghc-pcre-light
7619 (package
7620 (name "ghc-pcre-light")
7621 (version "0.4.0.4")
7622 (source
7623 (origin
7624 (method url-fetch)
7625 (uri (string-append
7626 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7627 version
7628 ".tar.gz"))
7629 (sha256
7630 (base32
7631 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7632 (build-system haskell-build-system)
7633 (inputs
7634 `(("pcre" ,pcre)))
7635 (native-inputs
7636 `(("pkg-config" ,pkg-config)))
7637 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7638 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7639 (description "This package provides a small, efficient, and portable regex
7640library for Perl 5 compatible regular expressions. The PCRE library is a set
7641of functions that implement regular expression pattern matching using the same
7642syntax and semantics as Perl 5.")
7643 (license license:bsd-3)))
7644
7645(define-public ghc-persistent
7646 (package
7647 (name "ghc-persistent")
7648 (version "2.8.2")
7649 (source
7650 (origin
7651 (method url-fetch)
7652 (uri (string-append "https://hackage.haskell.org/package/"
7653 "persistent-" version "/"
7654 "persistent-" version ".tar.gz"))
7655 (sha256
7656 (base32
7657 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
7658 (build-system haskell-build-system)
7659 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7660 ("ghc-conduit" ,ghc-conduit)
7661 ("ghc-resourcet" ,ghc-resourcet)
7662 ("ghc-exceptions" ,ghc-exceptions)
7663 ("ghc-monad-control" ,ghc-monad-control)
7664 ("ghc-lifted-base" ,ghc-lifted-base)
7665 ("ghc-resource-pool" ,ghc-resource-pool)
7666 ("ghc-path-pieces" ,ghc-path-pieces)
7667 ("ghc-http-api-data" ,ghc-http-api-data)
7668 ("ghc-aeson" ,ghc-aeson)
7669 ("ghc-monad-logger" ,ghc-monad-logger)
7670 ("ghc-transformers-base" ,ghc-transformers-base)
7671 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7672 ("ghc-unordered-containers" ,ghc-unordered-containers)
7673 ("ghc-vector" ,ghc-vector)
7674 ("ghc-attoparsec" ,ghc-attoparsec)
7675 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7676 ("ghc-blaze-html" ,ghc-blaze-html)
7677 ("ghc-blaze-markup" ,ghc-blaze-markup)
7678 ("ghc-silently" ,ghc-silently)
7679 ("ghc-fast-logger" ,ghc-fast-logger)
7680 ("ghc-scientific" ,ghc-scientific)
7681 ("ghc-tagged" ,ghc-tagged)
7682 ("ghc-void" ,ghc-void)))
7683 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7684 (home-page "https://www.yesodweb.com/book/persistent")
7685 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7686 (description "This Haskell package allows Haskell programs to access data
7687storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7688way.")
7689 (license license:expat)))
7690
7691(define-public ghc-persistent-sqlite
7692 (package
7693 (name "ghc-persistent-sqlite")
7694 (version "2.8.2")
7695 (source
7696 (origin
7697 (method url-fetch)
7698 (uri (string-append "https://hackage.haskell.org/package/"
7699 "persistent-sqlite-" version "/"
7700 "persistent-sqlite-" version ".tar.gz"))
7701 (sha256
7702 (base32
7703 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7704 (build-system haskell-build-system)
7705 (inputs `(("ghc-persistent" ,ghc-persistent)
7706 ("ghc-unliftio-core" ,ghc-unliftio-core)
7707 ("ghc-aeson" ,ghc-aeson)
7708 ("ghc-conduit" ,ghc-conduit)
7709 ("ghc-monad-logger" ,ghc-monad-logger)
7710 ("ghc-microlens-th" ,ghc-microlens-th)
7711 ("ghc-resourcet" ,ghc-resourcet)
7712 ("ghc-old-locale" ,ghc-old-locale)
7713 ("ghc-resource-pool" ,ghc-resource-pool)
7714 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7715 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7716 ("ghc-persistent-template" ,ghc-persistent-template)
7717 ("ghc-temporary" ,ghc-temporary)))
7718 (home-page
7719 "https://www.yesodweb.com/book/persistent")
7720 (synopsis "Backend for the persistent library using sqlite3")
7721 (description "This Haskell package includes a thin sqlite3 wrapper based
7722on the direct-sqlite package, as well as the entire C library, so there are no
7723system dependencies.")
7724 (license license:expat)))
7725
7726(define-public ghc-persistent-template
7727 (package
7728 (name "ghc-persistent-template")
7729 (version "2.5.4")
7730 (source
7731 (origin
7732 (method url-fetch)
7733 (uri (string-append "https://hackage.haskell.org/package/"
7734 "persistent-template-" version "/"
7735 "persistent-template-" version ".tar.gz"))
7736 (sha256
7737 (base32
7738 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7739 (build-system haskell-build-system)
7740 (arguments
7741 `(#:cabal-revision
7742 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7743 (inputs `(("ghc-persistent" ,ghc-persistent)
7744 ("ghc-monad-control" ,ghc-monad-control)
7745 ("ghc-aeson" ,ghc-aeson)
7746 ("ghc-aeson-compat" ,ghc-aeson-compat)
7747 ("ghc-monad-logger" ,ghc-monad-logger)
7748 ("ghc-unordered-containers" ,ghc-unordered-containers)
7749 ("ghc-tagged" ,ghc-tagged)
7750 ("ghc-path-pieces" ,ghc-path-pieces)
7751 ("ghc-http-api-data" ,ghc-http-api-data)))
7752 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7753 ("ghc-quickcheck" ,ghc-quickcheck)))
7754 (home-page "https://www.yesodweb.com/book/persistent")
7755 (synopsis "Type-safe, non-relational, multi-backend persistence")
7756 (description "This Haskell package provides interfaces and helper
7757functions for the ghc-persistent package.")
7758 (license license:expat)))
7759
7760(define-public ghc-polyparse
7761 (package
7762 (name "ghc-polyparse")
9822b9ca 7763 (version "1.12.1")
dddbc90c
RV
7764 (source
7765 (origin
7766 (method url-fetch)
7767 (uri (string-append
7768 "https://hackage.haskell.org/package/polyparse/polyparse-"
7769 version
7770 ".tar.gz"))
7771 (sha256
7772 (base32
9822b9ca 7773 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
7774 (build-system haskell-build-system)
7775 (home-page
7776 "http://code.haskell.org/~malcolm/polyparse/")
7777 (synopsis
7778 "Alternative parser combinator libraries")
7779 (description
7780 "This package provides a variety of alternative parser combinator
7781libraries, including the original HuttonMeijer set. The Poly sets have
7782features like good error reporting, arbitrary token type, running state, lazy
7783parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7784standard Read class, for better deserialisation of Haskell values from
7785Strings.")
7786 (license license:lgpl2.1)))
7787
7788(define-public ghc-pqueue
7789 (package
7790 (name "ghc-pqueue")
142415b0 7791 (version "1.4.1.2")
dddbc90c
RV
7792 (source
7793 (origin
7794 (method url-fetch)
7795 (uri (string-append "https://hackage.haskell.org/package/"
7796 "pqueue/pqueue-" version ".tar.gz"))
7797 (sha256
7798 (base32
142415b0 7799 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
7800 (build-system haskell-build-system)
7801 (native-inputs
7802 `(("ghc-quickcheck" ,ghc-quickcheck)))
7803 (home-page "https://hackage.haskell.org/package/pqueue")
7804 (synopsis "Reliable, persistent, fast priority queues")
7805 (description
7806 "This package provides a fast, reliable priority queue implementation
7807based on a binomial heap.")
7808 (license license:bsd-3)))
7809
7810(define-public ghc-prelude-extras
7811 (package
7812 (name "ghc-prelude-extras")
7813 (version "0.4.0.3")
7814 (source
7815 (origin
7816 (method url-fetch)
7817 (uri (string-append
7818 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7819 version
7820 ".tar.gz"))
7821 (sha256
7822 (base32
7823 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7824 (build-system haskell-build-system)
7825 (home-page "https://github.com/ekmett/prelude-extras")
7826 (synopsis "Higher order versions of Prelude classes")
7827 (description "This library provides higher order versions of
7828@code{Prelude} classes to ease programming with polymorphic recursion and
7829reduce @code{UndecidableInstances}.")
7830 (license license:bsd-3)))
7831
7832(define-public ghc-prettyclass
7833 (package
7834 (name "ghc-prettyclass")
7835 (version "1.0.0.0")
7836 (source
7837 (origin
7838 (method url-fetch)
7839 (uri (string-append "https://hackage.haskell.org/package/"
7840 "prettyclass/prettyclass-" version ".tar.gz"))
7841 (sha256
7842 (base32
7843 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7844 (build-system haskell-build-system)
7845 (home-page "http://hackage.haskell.org/package/prettyclass")
7846 (synopsis "Pretty printing class similar to Show")
7847 (description "This package provides a pretty printing class similar
7848to @code{Show}, based on the HughesPJ pretty printing library. It
7849provides the pretty printing class and instances for the Prelude
7850types.")
7851 (license license:bsd-3)))
7852
7853(define-public ghc-pretty-hex
7854 (package
7855 (name "ghc-pretty-hex")
7856 (version "1.0")
7857 (source
7858 (origin
7859 (method url-fetch)
7860 (uri (string-append "https://hackage.haskell.org/package/"
7861 "pretty-hex-" version "/"
7862 "pretty-hex-" version ".tar.gz"))
7863 (sha256
7864 (base32
7865 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7866 (build-system haskell-build-system)
7867 (home-page "https://github.com/GaloisInc/hexdump")
7868 (synopsis "Haskell library for hex dumps of ByteStrings")
7869 (description "This Haskell library generates pretty hex dumps of
7870ByteStrings in the style of other common *nix hex dump tools.")
7871 (license license:bsd-3)))
7872
7873(define-public ghc-pretty-show
7874 (package
7875 (name "ghc-pretty-show")
7683a084 7876 (version "1.9.5")
dddbc90c
RV
7877 (source
7878 (origin
7879 (method url-fetch)
7880 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
7881 "pretty-show-" version ".tar.gz"))
7882 (sha256
7883 (base32
7683a084 7884 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
7885 (build-system haskell-build-system)
7886 (inputs
7887 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
7888 ("ghc-happy" ,ghc-happy)))
7889 (home-page "http://wiki.github.com/yav/pretty-show")
7890 (synopsis "Tools for working with derived `Show` instances")
7891 (description
7892 "This package provides a library and an executable for working with
7893derived @code{Show} instances. By using the library, derived @code{Show}
7894instances can be parsed into a generic data structure. The @code{ppsh} tool
7895uses the library to produce human-readable versions of @code{Show} instances,
7896which can be quite handy for debugging Haskell programs. We can also render
7897complex generic values into an interactive Html page, for easier
7898examination.")
7899 (license license:expat)))
7900
7901(define-public ghc-primitive
7902 (package
7903 (name "ghc-primitive")
7904 (version "0.6.4.0")
7905 (outputs '("out" "doc"))
7906 (source
7907 (origin
7908 (method url-fetch)
7909 (uri (string-append
7910 "https://hackage.haskell.org/package/primitive/primitive-"
7911 version
7912 ".tar.gz"))
7913 (sha256
7914 (base32
7915 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
7916 (build-system haskell-build-system)
6cf0daa4
TS
7917 (arguments
7918 `(#:cabal-revision
7919 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
7920 (home-page
7921 "https://github.com/haskell/primitive")
7922 (synopsis "Primitive memory-related operations")
7923 (description
7924 "This package provides various primitive memory-related operations.")
7925 (license license:bsd-3)))
7926
21f5b9a9
JS
7927(define-public ghc-process-extras
7928 (package
7929 (name "ghc-process-extras")
7930 (version "0.7.4")
7931 (source
7932 (origin
7933 (method url-fetch)
7934 (uri
7935 (string-append
7936 "https://hackage.haskell.org/package/process-extras/"
7937 "process-extras-" version ".tar.gz"))
7938 (sha256
7939 (base32
7940 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
7941 (build-system haskell-build-system)
7942 (inputs
7943 `(("ghc-data-default" ,ghc-data-default)
7944 ("ghc-generic-deriving" ,ghc-generic-deriving)
7945 ("ghc-hunit" ,ghc-hunit)
7946 ("ghc-listlike" ,ghc-listlike)))
7947 (home-page "https://github.com/seereason/process-extras")
7948 (synopsis "Extra tools for managing processes")
f74b6983 7949 (description "This package extends
21f5b9a9
JS
7950@url{http://hackage.haskell.org/package/process}. It allows you to read
7951process input and output as ByteStrings or Text, or write your own
7952ProcessOutput instance. It also provides lazy process input and output,
7953and a ProcessMaker class for more flexibility in the process creation
7954API.")
7955 (license license:expat)))
7956
dddbc90c
RV
7957(define-public ghc-profunctors
7958 (package
7959 (name "ghc-profunctors")
7960 (version "5.2.2")
7961 (source
7962 (origin
7963 (method url-fetch)
7964 (uri (string-append
7965 "https://hackage.haskell.org/package/profunctors/profunctors-"
7966 version
7967 ".tar.gz"))
7968 (sha256
7969 (base32
7970 "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9"))))
7971 (build-system haskell-build-system)
7972 (arguments
7973 `(#:cabal-revision
7974 ("2" "1ywlg9z8nlhd2avgb8c6gbkv8zyk7hvc25926bafyg0m0k8y1amq")))
7975 (inputs
7976 `(("ghc-base-orphans" ,ghc-base-orphans)
7977 ("ghc-bifunctors" ,ghc-bifunctors)
7978 ("ghc-comonad" ,ghc-comonad)
7979 ("ghc-contravariant" ,ghc-contravariant)
7980 ("ghc-distributive" ,ghc-distributive)
7981 ("ghc-semigroups" ,ghc-semigroups)
7982 ("ghc-tagged" ,ghc-tagged)))
7983 (home-page "https://github.com/ekmett/profunctors/")
7984 (synopsis "Profunctors for Haskell")
7985 (description "This library provides profunctors for Haskell.")
7986 (license license:bsd-3)))
7987
7988(define-public ghc-psqueues
7989 (package
7990 (name "ghc-psqueues")
5d133942 7991 (version "0.2.7.2")
dddbc90c
RV
7992 (source
7993 (origin
7994 (method url-fetch)
7995 (uri (string-append "https://hackage.haskell.org/package/"
7996 "psqueues-" version "/"
7997 "psqueues-" version ".tar.gz"))
7998 (sha256
7999 (base32
5d133942 8000 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
8001 (build-system haskell-build-system)
8002 (inputs
8003 `(("ghc-hashable" ,ghc-hashable)))
8004 (native-inputs
8005 `(("ghc-hunit" ,ghc-hunit)
8006 ("ghc-quickcheck" ,ghc-quickcheck)
8007 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
8008 ("ghc-tasty" ,ghc-tasty)
8009 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8010 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
8011 (home-page "https://github.com/jaspervdj/psqueues")
8012 (synopsis "Pure priority search queues")
8013 (description "The psqueues package provides
8014@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
8015three different flavors:
8016
8017@itemize
8018@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8019fast insertion, deletion and lookup. This implementation is based on Ralf
8020Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8021Implementation Technique for Priority Search Queues}.
8022
8023Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
8024PSQueue} library, although it is considerably faster and provides a slightly
8025different API.
8026
8027@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8028key type to @code{Int} and uses a
8029@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8030with an additional min-heap property.
8031
8032@item @code{HashPSQ k p v} is a fairly straightforward extension
8033of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8034@code{IntPSQ}. If there are any hash collisions, it uses an
8035@code{OrdPSQ} to resolve those. The performance of this implementation
8036is comparable to that of @code{IntPSQ}, but it is more widely
8037applicable since the keys are not restricted to @code{Int},
8038but rather to any @code{Hashable} datatype.
8039@end itemize
8040
8041Each of the three implementations provides the same API, so they can
8042be used interchangeably.
8043
8044Typical applications of Priority Search Queues include:
8045
8046@itemize
8047@item Caches, and more specifically LRU Caches;
8048@item Schedulers;
8049@item Pathfinding algorithms, such as Dijkstra's and A*.
8050@end itemize")
8051 (license license:bsd-3)))
8052
8053(define-public ghc-random
8054 (package
8055 (name "ghc-random")
8056 (version "1.1")
8057 (outputs '("out" "doc"))
8058 (source
8059 (origin
8060 (method url-fetch)
8061 (uri (string-append
8062 "https://hackage.haskell.org/package/random/random-"
8063 version
8064 ".tar.gz"))
8065 (sha256
8066 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8067 (build-system haskell-build-system)
8068 (home-page "https://hackage.haskell.org/package/random")
8069 (synopsis "Random number library")
8070 (description "This package provides a basic random number generation
8071library, including the ability to split random number generators.")
8072 (license license:bsd-3)))
8073
8074(define-public ghc-raw-strings-qq
8075 (package
8076 (name "ghc-raw-strings-qq")
8077 (version "1.1")
8078 (source
8079 (origin
8080 (method url-fetch)
8081 (uri (string-append "https://hackage.haskell.org/package/"
8082 "raw-strings-qq/raw-strings-qq-"
8083 version ".tar.gz"))
8084 (sha256
8085 (base32
8086 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8087 (build-system haskell-build-system)
8088 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8089 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8090 (synopsis "Raw string literals for Haskell")
8091 (description
8092 "This package provides a quasiquoter for raw string literals, i.e. string
8093literals that don't recognise the standard escape sequences. Basically, they
8094make your code more readable by freeing you from the responsibility to escape
8095backslashes. They are useful when working with regular expressions,
8096DOS/Windows paths and markup languages (such as XML).")
8097 (license license:bsd-3)))
8098
8099(define-public ghc-readable
8100 (package
8101 (name "ghc-readable")
8102 (version "0.3.1")
8103 (source
8104 (origin
8105 (method url-fetch)
8106 (uri (string-append "https://hackage.haskell.org/package/"
8107 "readable/readable-" version ".tar.gz"))
8108 (sha256
8109 (base32
8110 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8111 (build-system haskell-build-system)
8112 (home-page "https://github.com/mightybyte/readable")
8113 (synopsis "Type class for reading from Text and ByteString")
8114 (description "This package provides a @code{Readable} type class for
8115reading data types from @code{ByteString} and @code{Text}. It also
8116includes efficient implementations for common data types.")
8117 (license license:bsd-3)))
8118
8119(define-public ghc-rebase
8120 (package
8121 (name "ghc-rebase")
8122 (version "1.2.4")
8123 (source
8124 (origin
8125 (method url-fetch)
8126 (uri (string-append "https://hackage.haskell.org/package/"
8127 "rebase-" version "/"
8128 "rebase-" version ".tar.gz"))
8129 (sha256
8130 (base32
8131 "1gah2qwfpzwamnikbc5h4nv6dgvv9h16di9ka7946za3nibyasya"))))
8132 (build-system haskell-build-system)
8133 (inputs `(("ghc-hashable" ,ghc-hashable)
8134 ("ghc-vector" ,ghc-vector)
8135 ("ghc-unordered-containers" ,ghc-unordered-containers)
8136 ("ghc-scientific" ,ghc-scientific)
8137 ("ghc-uuid" ,ghc-uuid)
8138 ("ghc-dlist" ,ghc-dlist)
8139 ("ghc-void" ,ghc-void)
8140 ("ghc-bifunctors" ,ghc-bifunctors)
8141 ("ghc-profunctors" ,ghc-profunctors)
8142 ("ghc-contravariant" ,ghc-contravariant)
8143 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8144 ("ghc-semigroups" ,ghc-semigroups)
8145 ("ghc-either" ,ghc-either)
8146 ("ghc-fail" ,ghc-fail)
8147 ("ghc-base-prelude" ,ghc-base-prelude)))
8148 (home-page "https://github.com/nikita-volkov/rebase")
8149 (synopsis "Progressive alternative to the base package
8150for Haskell")
8151 (description "This Haskell package is intended for those who are
8152tired of keeping long lists of dependencies to the same essential libraries
8153in each package as well as the endless imports of the same APIs all over again.
8154
8155It also supports the modern tendencies in the language.
8156
8157To solve those problems this package does the following:
8158
8159@itemize
8160@item Reexport the original APIs under the @code{Rebase} namespace.
8161
8162@item Export all the possible non-conflicting symbols from the
8163@code{Rebase.Prelude} module.
8164
8165@item Give priority to the modern practices in the conflicting cases.
8166@end itemize
8167
8168The policy behind the package is only to reexport the non-ambiguous and
8169non-controversial APIs, which the community has obviously settled on.
8170The package is intended to rapidly evolve with the contribution from
8171the community, with the missing features being added with pull-requests.")
8172 (license license:expat)))
8173
8174(define-public ghc-reducers
8175 (package
8176 (name "ghc-reducers")
8177 (version "3.12.3")
8178 (source
8179 (origin
8180 (method url-fetch)
8181 (uri (string-append
8182 "https://hackage.haskell.org/package/reducers/reducers-"
8183 version
8184 ".tar.gz"))
8185 (sha256
8186 (base32
8187 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8188 (build-system haskell-build-system)
8189 (inputs
8190 `(("ghc-fingertree" ,ghc-fingertree)
8191 ("ghc-hashable" ,ghc-hashable)
8192 ("ghc-unordered-containers" ,ghc-unordered-containers)
8193 ("ghc-semigroupoids" ,ghc-semigroupoids)
8194 ("ghc-semigroups" ,ghc-semigroups)))
8195 (home-page "https://github.com/ekmett/reducers/")
8196 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8197 (description "This library provides various semigroups, specialized
8198containers and a general map/reduce framework for Haskell.")
8199 (license license:bsd-3)))
8200
8201(define-public ghc-refact
8202 (package
8203 (name "ghc-refact")
8204 (version "0.3.0.2")
8205 (source
8206 (origin
8207 (method url-fetch)
8208 (uri (string-append "https://hackage.haskell.org/package/"
8209 "refact/refact-"
8210 version ".tar.gz"))
8211 (sha256
8212 (base32
8213 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8214 (build-system haskell-build-system)
8215 (home-page "http://hackage.haskell.org/package/refact")
8216 (synopsis "Specify refactorings to perform with apply-refact")
8217 (description
8218 "This library provides a datatype which can be interpreted by
8219@code{apply-refact}. It exists as a separate library so that applications can
8220specify refactorings without depending on GHC.")
8221 (license license:bsd-3)))
8222
8223(define-public ghc-reflection
8224 (package
8225 (name "ghc-reflection")
d215f1cc 8226 (version "2.1.5")
dddbc90c
RV
8227 (source
8228 (origin
8229 (method url-fetch)
8230 (uri (string-append
8231 "https://hackage.haskell.org/package/reflection/reflection-"
8232 version
8233 ".tar.gz"))
8234 (sha256
8235 (base32
d215f1cc 8236 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
8237 (build-system haskell-build-system)
8238 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
8239 (native-inputs
8240 `(("ghc-hspec" ,ghc-hspec)
8241 ("ghc-quickcheck" ,ghc-quickcheck)
8242 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
8243 (home-page "https://github.com/ekmett/reflection")
8244 (synopsis "Reify arbitrary terms into types that can be reflected back
8245into terms")
8246 (description "This package addresses the 'configuration problem' which is
8247propagating configurations that are available at run-time, allowing multiple
8248configurations to coexist without resorting to mutable global variables or
8249@code{System.IO.Unsafe.unsafePerformIO}.")
8250 (license license:bsd-3)))
8251
8252(define-public ghc-regex
8253 (package
8254 (name "ghc-regex")
b9a5e634 8255 (version "1.0.2.0")
dddbc90c
RV
8256 (source
8257 (origin
8258 (method url-fetch)
8259 (uri (string-append "https://hackage.haskell.org/package/regex/"
8260 "regex-" version ".tar.gz"))
8261 (sha256
8262 (base32
b9a5e634 8263 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
8264 (build-system haskell-build-system)
8265 (arguments
8266 `(#:phases
8267 (modify-phases %standard-phases
8268 (add-after 'unpack 'relax-dependencies
8269 (lambda _
8270 (substitute* "regex.cabal"
8271 (("base-compat.*>=.*0.6.*")
8272 "base-compat >= 0.6\n")
8273 (("template-haskell.*>=.*2.7.*")
8274 "template-haskell >= 2.7\n"))
8275 #t)))))
8276 (inputs
8277 `(("ghc-base-compat" ,ghc-base-compat)
8278 ("ghc-hashable" ,ghc-hashable)
8279 ("ghc-regex-base" ,ghc-regex-base)
8280 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8281 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8282 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8283 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8284 ("ghc-unordered-containers" ,ghc-unordered-containers)
8285 ("ghc-utf8-string" ,ghc-utf8-string)))
8286 (home-page "http://regex.uk")
8287 (synopsis "Toolkit for regex-base")
8288 (description
8289 "This package provides a regular expression toolkit for @code{regex-base}
8290with compile-time checking of regular expression syntax, data types for
8291matches and captures, a text replacement toolkit, portable options, high-level
8292AWK-like tools for building text processing apps, regular expression macros
8293with parsers and test bench, comprehensive documentation, tutorials and
8294copious examples.")
8295 (license license:bsd-3)))
8296
8297(define-public ghc-regex-applicative
8298 (package
8299 (name "ghc-regex-applicative")
30f60e42 8300 (version "0.3.3.1")
dddbc90c
RV
8301 (source
8302 (origin
8303 (method url-fetch)
8304 (uri (string-append
8305 "https://hackage.haskell.org/package/regex-applicative/"
8306 "regex-applicative-" version ".tar.gz"))
8307 (sha256
8308 (base32
30f60e42 8309 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
8310 (build-system haskell-build-system)
8311 (inputs
8312 `(("ghc-smallcheck" ,ghc-smallcheck)
8313 ("ghc-tasty" ,ghc-tasty)
8314 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8315 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8316 (home-page "https://github.com/feuerbach/regex-applicative")
8317 (synopsis "Regex-based parsing with applicative interface")
8318 (description
8319 "@code{regex-applicative} is a Haskell library for parsing using
8320regular expressions. Parsers can be built using Applicative interface.")
8321 (license license:expat)))
8322
8323(define-public ghc-regex-base
8324 (package
8325 (name "ghc-regex-base")
8326 (version "0.93.2")
8327 (source
8328 (origin
8329 (method url-fetch)
8330 (uri (string-append
8331 "https://hackage.haskell.org/package/regex-base/regex-base-"
8332 version
8333 ".tar.gz"))
8334 (sha256
8335 (base32
8336 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8337 (build-system haskell-build-system)
8338 (home-page
8339 "https://sourceforge.net/projects/lazy-regex")
8340 (synopsis "Replaces/Enhances Text.Regex")
8341 (description "@code{Text.Regex.Base} provides the interface API for
8342regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8343 (license license:bsd-3)))
8344
8345(define-public ghc-regex-compat
8346 (package
8347 (name "ghc-regex-compat")
8348 (version "0.95.1")
8349 (source
8350 (origin
8351 (method url-fetch)
8352 (uri (string-append
8353 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8354 version
8355 ".tar.gz"))
8356 (sha256
8357 (base32
8358 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8359 (build-system haskell-build-system)
8360 (inputs
8361 `(("ghc-regex-base" ,ghc-regex-base)
8362 ("ghc-regex-posix" ,ghc-regex-posix)))
8363 (home-page "https://sourceforge.net/projects/lazy-regex")
8364 (synopsis "Replaces/Enhances Text.Regex")
8365 (description "This library provides one module layer over
8366@code{regex-posix} to replace @code{Text.Regex}.")
8367 (license license:bsd-3)))
8368
8369(define-public ghc-regex-compat-tdfa
8370 (package
8371 (name "ghc-regex-compat-tdfa")
8372 (version "0.95.1.4")
8373 (source
8374 (origin
8375 (method url-fetch)
8376 (uri (string-append
8377 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8378 version ".tar.gz"))
8379 (sha256
8380 (base32
8381 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8382 (build-system haskell-build-system)
8383 (inputs
8384 `(("ghc-regex-base" ,ghc-regex-base)
8385 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8386 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8387 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8388 (description
8389 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8390@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8391This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8392this problem.")
8393 (license license:bsd-3)))
8394
8395(define-public ghc-regex-pcre-builtin
8396 (package
8397 (name "ghc-regex-pcre-builtin")
ee946143 8398 (version "0.94.5.8.8.35")
dddbc90c
RV
8399 (source (origin
8400 (method url-fetch)
8401 (uri (string-append "https://hackage.haskell.org/package/"
8402 "regex-pcre-builtin/regex-pcre-builtin-"
8403 version ".tar.gz"))
8404 (sha256
8405 (base32
ee946143 8406 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
8407 (build-system haskell-build-system)
8408 (inputs
8409 `(("ghc-regex-base" ,ghc-regex-base)))
8410 (home-page "https://hackage.haskell.org/package/regex-pcre")
8411 (synopsis "Enhancement of the builtin Text.Regex library")
8412 (description
8413 "This package is an enhancement of the @code{Text.Regex} library,
8414providing the PCRE backend to accompany regex-base, with bundled code from
8415@url{https://www.pcre.org}.")
8416 (license license:bsd-3)))
8417
8418(define-public ghc-regex-posix
8419 (package
8420 (name "ghc-regex-posix")
8421 (version "0.95.2")
8422 (source
8423 (origin
8424 (method url-fetch)
8425 (uri (string-append
8426 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8427 version
8428 ".tar.gz"))
8429 (sha256
8430 (base32
8431 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8432 (build-system haskell-build-system)
8433 (inputs
8434 `(("ghc-regex-base" ,ghc-regex-base)))
8435 (home-page "https://sourceforge.net/projects/lazy-regex")
8436 (synopsis "POSIX regular expressions for Haskell")
8437 (description "This library provides the POSIX regex backend used by the
8438Haskell library @code{regex-base}.")
8439 (license license:bsd-3)))
8440
8441(define-public ghc-regex-tdfa
8442 (package
8443 (name "ghc-regex-tdfa")
ce684db0 8444 (version "1.2.3.2")
dddbc90c
RV
8445 (source
8446 (origin
8447 (method url-fetch)
8448 (uri (string-append
8449 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8450 version ".tar.gz"))
8451 (sha256
8452 (base32
ce684db0 8453 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
8454 (build-system haskell-build-system)
8455 (inputs
8456 `(("ghc-regex-base" ,ghc-regex-base)))
8457 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8458 (synopsis "POSIX extended regular expressions in Haskell.")
8459 (description
8460 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8461extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8462inspired by libtre.")
8463 (license license:bsd-3)))
8464
8465(define-public ghc-regex-tdfa-text
8466 (package
8467 (name "ghc-regex-tdfa-text")
8468 (version "1.0.0.3")
8469 (source
8470 (origin
8471 (method url-fetch)
8472 (uri (string-append
8473 "https://hackage.haskell.org/package/regex-tdfa-text/"
8474 "regex-tdfa-text-" version ".tar.gz"))
8475 (sha256
8476 (base32
8477 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8478 (build-system haskell-build-system)
8479 (inputs
8480 `(("ghc-regex-base" ,ghc-regex-base)
8481 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8482 (home-page
8483 "http://hackage.haskell.org/package/regex-tdfa-text")
8484 (synopsis "Text interface for regex-tdfa")
8485 (description
8486 "This provides an extra text interface for regex-tdfa.")
8487 (license license:bsd-3)))
8488
8489(define-public ghc-rerebase
8490 (package
8491 (name "ghc-rerebase")
8492 (version "1.2.2")
8493 (source
8494 (origin
8495 (method url-fetch)
8496 (uri (string-append
8497 "https://hackage.haskell.org/package/rerebase/rerebase-"
8498 version ".tar.gz"))
8499 (sha256
8500 (base32
8501 "11v6rmz7ql2rdx6mhb3lsal952lwihclfhh0m7fcnii5br0906ks"))))
8502 (build-system haskell-build-system)
8503 (inputs
8504 `(("ghc-rebase" ,ghc-rebase)))
8505 (home-page "https://github.com/nikita-volkov/rerebase")
8506 (synopsis "Reexports from ``base'' with many other standard libraries")
8507 (description "A rich drop-in replacement for @code{base}. For details and
8508documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8509the project's home page}.")
8510 (license license:expat)))
8511
8512(define-public ghc-resolv
8513 (package
8514 (name "ghc-resolv")
8515 (version "0.1.1.1")
8516 (source
8517 (origin
8518 (method url-fetch)
8519 (uri (string-append
8520 "https://hackage.haskell.org/package/resolv/resolv-"
8521 version ".tar.gz"))
8522 (sha256
8523 (base32
8524 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
8525 (build-system haskell-build-system)
8526 (arguments
8527 `(#:cabal-revision
8528 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
8529 #:tests? #f)) ; The required test frameworks are too old.
8530 (inputs
8531 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8532 (home-page "https://github.com/haskell/hackage-security")
8533 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8534 (description "This package implements an API for accessing the
8535@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8536resolver service via the standard @code{libresolv} system library (whose
8537API is often available directly via the standard @code{libc} C library) on
8538Unix systems.")
8539 (license license:gpl3)))
8540
8541(define-public ghc-resource-pool
8542 (package
8543 (name "ghc-resource-pool")
8544 (version "0.2.3.2")
8545 (source
8546 (origin
8547 (method url-fetch)
8548 (uri (string-append "https://hackage.haskell.org/package/"
8549 "resource-pool-" version "/"
8550 "resource-pool-" version ".tar.gz"))
8551 (sha256
8552 (base32
8553 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8554 (build-system haskell-build-system)
8555 (inputs `(("ghc-hashable" ,ghc-hashable)
8556 ("ghc-monad-control" ,ghc-monad-control)
8557 ("ghc-transformers-base" ,ghc-transformers-base)
8558 ("ghc-vector" ,ghc-vector)))
8559 (home-page "https://github.com/bos/pool")
8560 (synopsis "Striped resource pooling implementation in Haskell")
8561 (description "This Haskell package provides striped pooling abstraction
8562for managing flexibly-sized collections of resources such as database
8563connections.")
8564 (license license:bsd-3)))
8565
8566(define-public ghc-resourcet
8567 (package
8568 (name "ghc-resourcet")
9ac341ac 8569 (version "1.2.2")
dddbc90c
RV
8570 (source
8571 (origin
8572 (method url-fetch)
8573 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8574 "resourcet-" version ".tar.gz"))
8575 (sha256
8576 (base32
9ac341ac 8577 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
8578 (build-system haskell-build-system)
8579 (inputs
8580 `(("ghc-transformers-base" ,ghc-transformers-base)
8581 ("ghc-monad-control" ,ghc-monad-control)
8582 ("ghc-transformers-compat" ,ghc-transformers-compat)
8583 ("ghc-mmorph" ,ghc-mmorph)
8584 ("ghc-exceptions" ,ghc-exceptions)
8585 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8586 (native-inputs
8587 `(("ghc-lifted-base" ,ghc-lifted-base)
8588 ("ghc-hspec" ,ghc-hspec)))
8589 (home-page "https://github.com/snoyberg/conduit")
8590 (synopsis "Deterministic allocation and freeing of scarce resources")
8591 (description "ResourceT is a monad transformer which creates a region of
8592code where you can safely allocate resources.")
8593 (license license:bsd-3)))
8594
8595(define-public ghc-rfc5051
8596 (package
8597 (name "ghc-rfc5051")
ec42ab7c 8598 (version "0.1.0.4")
dddbc90c
RV
8599 (source
8600 (origin
8601 (method url-fetch)
8602 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8603 "rfc5051-" version ".tar.gz"))
8604 (sha256
8605 (base32
ec42ab7c 8606 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
8607 (build-system haskell-build-system)
8608 (home-page "https://hackage.haskell.org/package/rfc5051")
8609 (synopsis "Simple unicode collation as per RFC5051")
8610 (description
8611 "This library implements @code{unicode-casemap}, the simple, non
8612locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8613unicode collation can be done using @code{text-icu}, but that is a big
8614dependency that depends on a large C library, and @code{rfc5051} might be
8615better for some purposes.")
8616 (license license:bsd-3)))
8617
8618(define-public ghc-rio
8619 (package
8620 (name "ghc-rio")
8621 (version "0.1.5.0")
8622 (source
8623 (origin
8624 (method url-fetch)
8625 (uri (string-append
8626 "https://hackage.haskell.org/package/rio/rio-"
8627 version ".tar.gz"))
8628 (sha256
8629 (base32
8630 "064h8a4hp53a479d3ak0vmqbx8hi0cpg7zn4wp23rjy26dka8p7g"))))
8631 (build-system haskell-build-system)
8632 (inputs
8633 `(("ghc-exceptions" ,ghc-exceptions)
8634 ("ghc-hashable" ,ghc-hashable)
8635 ("ghc-microlens" ,ghc-microlens)
8636 ("ghc-primitive" ,ghc-primitive)
8637 ("ghc-typed-process" ,ghc-typed-process)
8638 ("ghc-unliftio" ,ghc-unliftio)
8639 ("ghc-unordered-containers" ,ghc-unordered-containers)
8640 ("ghc-vector" ,ghc-vector)))
8641 (native-inputs
8642 `(("ghc-hspec" ,ghc-hspec)
8643 ("hspec-discover" ,hspec-discover)))
8644 (home-page "https://github.com/commercialhaskell/rio#readme")
8645 (synopsis "A standard library for Haskell")
8646 (description "This package works as a prelude replacement for Haskell,
8647providing more functionality and types out of the box than the standard
8648prelude (such as common data types like @code{ByteString} and
8649@code{Text}), as well as removing common ``gotchas'', like partial
8650functions and lazy I/O. The guiding principle here is:
8651@itemize
8652@item If something is safe to use in general and has no expected naming
8653conflicts, expose it.
8654@item If something should not always be used, or has naming conflicts,
8655expose it from another module in the hierarchy.
8656@end itemize")
8657 (license license:expat)))
8658
8659(define-public ghc-safe
8660 (package
8661 (name "ghc-safe")
8662 (version "0.3.17")
8663 (source
8664 (origin
8665 (method url-fetch)
8666 (uri (string-append
8667 "https://hackage.haskell.org/package/safe/safe-"
8668 version
8669 ".tar.gz"))
8670 (sha256
8671 (base32
8672 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8673 (build-system haskell-build-system)
8674 (native-inputs
8675 `(("ghc-quickcheck" ,ghc-quickcheck)))
8676 (home-page "https://github.com/ndmitchell/safe#readme")
8677 (synopsis "Library of safe (exception free) functions")
8678 (description "This library provides wrappers around @code{Prelude} and
8679@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8680exceptions.")
8681 (license license:bsd-3)))
8682
8683(define-public ghc-safe-exceptions
8684 (package
8685 (name "ghc-safe-exceptions")
8686 (version "0.1.7.0")
8687 (source
8688 (origin
8689 (method url-fetch)
8690 (uri (string-append "https://hackage.haskell.org/package/"
8691 "safe-exceptions/safe-exceptions-"
8692 version ".tar.gz"))
8693 (sha256
8694 (base32
8695 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8696 (build-system haskell-build-system)
8697 (arguments
8698 '(#:cabal-revision
8699 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8700 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8701 (native-inputs
8702 `(("ghc-hspec" ,ghc-hspec)
8703 ("ghc-void" ,ghc-void)
8704 ("hspec-discover" ,hspec-discover)))
8705 (home-page "https://github.com/fpco/safe-exceptions")
8706 (synopsis "Safe, consistent, and easy exception handling")
8707 (description "Runtime exceptions - as exposed in @code{base} by the
8708@code{Control.Exception} module - have long been an intimidating part of the
8709Haskell ecosystem. This package is intended to overcome this. It provides a
8710safe and simple API on top of the existing exception handling machinery. The
8711API is equivalent to the underlying implementation in terms of power but
8712encourages best practices to minimize the chances of getting the exception
8713handling wrong.")
8714 (license license:expat)))
8715
8716(define-public ghc-safeio
8717 (package
8718 (name "ghc-safeio")
8719 (version "0.0.5.0")
8720 (source
8721 (origin
8722 (method url-fetch)
8723 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8724 "safeio-" version ".tar.gz"))
8725 (sha256
8726 (base32
8727 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8728 (build-system haskell-build-system)
8729 (inputs
8730 `(("ghc-conduit" ,ghc-conduit)
8731 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8732 ("ghc-exceptions" ,ghc-exceptions)
8733 ("ghc-resourcet" ,ghc-resourcet)))
8734 (native-inputs
8735 `(("ghc-hunit" ,ghc-hunit)
8736 ("ghc-test-framework" ,ghc-test-framework)
8737 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8738 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8739 (home-page "https://github.com/luispedro/safeio")
8740 (synopsis "Write output to disk atomically")
8741 (description
8742 "This package implements utilities to perform atomic output so as to
8743avoid the problem of partial intermediate files.")
8744 (license license:expat)))
8745
8746(define-public ghc-safesemaphore
8747 (package
8748 (name "ghc-safesemaphore")
8749 (version "0.10.1")
8750 (source
8751 (origin
8752 (method url-fetch)
8753 (uri (string-append "https://hackage.haskell.org/package/"
8754 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8755 (sha256
8756 (base32
8757 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8758 (build-system haskell-build-system)
8759 (native-inputs
8760 `(("ghc-hunit" ,ghc-hunit)))
8761 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8762 (synopsis "Exception safe semaphores")
8763 (description "This library provides exception safe semaphores that can be
8764used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8765are not exception safe and can be broken by @code{killThread}.")
8766 (license license:bsd-3)))
8767
8768(define-public ghc-sandi
8769 (package
8770 (name "ghc-sandi")
8771 (version "0.4.2")
8772 (source
8773 (origin
8774 (method url-fetch)
8775 (uri (string-append
8776 "https://hackage.haskell.org/package/sandi/sandi-"
8777 version ".tar.gz"))
8778 (sha256
8779 (base32
8780 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8781 (build-system haskell-build-system)
8782 (inputs
8783 `(("ghc-stringsearch" ,ghc-stringsearch)
8784 ("ghc-conduit" ,ghc-conduit)
8785 ("ghc-exceptions" ,ghc-exceptions)
8786 ("ghc-hunit" ,ghc-hunit)
8787 ("ghc-tasty" ,ghc-tasty)
8788 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8789 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8790 ("ghc-tasty-th" ,ghc-tasty-th)))
8791 (home-page "https://hackage.haskell.org/package/sandi")
8792 (synopsis "Data encoding library")
8793 (description "Reasonably fast data encoding library.")
8794 (license license:bsd-3)))
8795
8796(define-public ghc-scientific
8797 (package
8798 (name "ghc-scientific")
8799 (version "0.3.6.2")
8800 (source
8801 (origin
8802 (method url-fetch)
8803 (uri (string-append
8804 "https://hackage.haskell.org/package/scientific/scientific-"
8805 version
8806 ".tar.gz"))
8807 (sha256
8808 (base32
8809 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8810 (build-system haskell-build-system)
8811 (inputs
8812 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8813 ("ghc-hashable" ,ghc-hashable)
8814 ("ghc-primitive" ,ghc-primitive)))
8815 (native-inputs
8816 `(("ghc-tasty" ,ghc-tasty)
8817 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8818 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8819 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8820 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8821 ("ghc-smallcheck" ,ghc-smallcheck)
8822 ("ghc-quickcheck" ,ghc-quickcheck)))
8823 (home-page "https://github.com/basvandijk/scientific")
8824 (synopsis "Numbers represented using scientific notation")
8825 (description "This package provides @code{Data.Scientific}, which provides
8826the number type @code{Scientific}. Scientific numbers are arbitrary precision
8827and space efficient. They are represented using
8828@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
8829notation}.")
8830 (license license:bsd-3)))
8831
8832(define-public ghc-scientific-bootstrap
8833 (package
8834 (inherit ghc-scientific)
8835 (name "ghc-scientific-bootstrap")
8836 (arguments `(#:tests? #f))
8837 (inputs
8838 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
8839 ("ghc-hashable" ,ghc-hashable)
8840 ("ghc-primitive" ,ghc-primitive)))
8841 (native-inputs '())
799d8d3c 8842 (properties '((hidden? #t)))))
dddbc90c
RV
8843
8844(define-public ghc-sdl
8845 (package
8846 (name "ghc-sdl")
8847 (version "0.6.7.0")
8848 (source
8849 (origin
8850 (method url-fetch)
8851 (uri (string-append
8852 "https://hackage.haskell.org/package/SDL/SDL-"
8853 version
8854 ".tar.gz"))
8855 (sha256
8856 (base32
8857 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
8858 (build-system haskell-build-system)
8859 (inputs
8860 `(("sdl" ,sdl)))
8861 (home-page "https://hackage.haskell.org/package/SDL")
8862 (synopsis "LibSDL for Haskell")
8863 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
8864multimedia library designed to provide low level access to audio, keyboard,
8865mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
8866by MPEG playback software, emulators, and many popular games, including the
8867award winning Linux port of \"Civilization: Call To Power.\"")
8868 (license license:bsd-3)))
8869
1874cdc1
RV
8870(define-public ghc-sdl2
8871 (package
8872 (name "ghc-sdl2")
8873 (version "2.4.1.0")
8874 (source
8875 (origin
8876 (method url-fetch)
8877 (uri (string-append "https://hackage.haskell.org/package/"
8878 "sdl2/sdl2-" version ".tar.gz"))
8879 (sha256
8880 (base32
8881 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
8882 (build-system haskell-build-system)
8883 (arguments '(#:tests? #f)) ; tests require graphical environment
8884 (inputs
8885 `(("ghc-exceptions" ,ghc-exceptions)
8886 ("ghc-linear" ,ghc-linear)
8887 ("ghc-statevar" ,ghc-statevar)
8888 ("ghc-vector" ,ghc-vector)
8889 ("sdl2" ,sdl2)))
8890 (native-inputs
8891 `(("ghc-weigh" ,ghc-weigh)
8892 ("pkg-config" ,pkg-config)))
8893 (home-page "http://hackage.haskell.org/package/sdl2")
8894 (synopsis "High- and low-level bindings to the SDL library")
8895 (description
8896 "This package contains bindings to the SDL 2 library, in both high- and
8897low-level forms. The @code{SDL} namespace contains high-level bindings, where
8898enumerations are split into sum types, and we perform automatic
8899error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
8900translation of the C API into Haskell FFI calls. As such, this does not
8901contain sum types nor error checking. Thus this namespace is suitable for
8902building your own abstraction over SDL, but is not recommended for day-to-day
8903programming.")
8904 (license license:bsd-3)))
8905
8906(define-public ghc-sdl2-image
8907 (package
8908 (name "ghc-sdl2-image")
8909 (version "2.0.0")
8910 (source
8911 (origin
8912 (method url-fetch)
8913 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
8914 "sdl2-image-" version ".tar.gz"))
8915 (sha256
8916 (base32
8917 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
8918 (build-system haskell-build-system)
8919 (inputs
8920 `(("ghc-sdl2" ,ghc-sdl2)
8921 ("sdl2-image" ,sdl2-image)))
8922 (native-inputs
8923 `(("pkg-config" ,pkg-config)))
8924 (home-page "http://hackage.haskell.org/package/sdl2-image")
8925 (synopsis "Bindings to SDL2_image")
8926 (description "This package provides Haskell bindings to
8927@code{SDL2_image}.")
8928 (license license:expat)))
8929
8930(define-public ghc-sdl2-mixer
8931 (package
8932 (name "ghc-sdl2-mixer")
8933 (version "1.1.0")
8934 (source
8935 (origin
8936 (method url-fetch)
8937 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
8938 "sdl2-mixer-" version ".tar.gz"))
8939 (sha256
8940 (base32
8941 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
8942 (build-system haskell-build-system)
8943 (inputs
8944 `(("ghc-data-default-class" ,ghc-data-default-class)
8945 ("ghc-lifted-base" ,ghc-lifted-base)
8946 ("ghc-monad-control" ,ghc-monad-control)
8947 ("ghc-sdl2" ,ghc-sdl2)
8948 ("ghc-vector" ,ghc-vector)
8949 ("sdl2-mixer" ,sdl2-mixer)))
8950 (native-inputs
8951 `(("pkg-config" ,pkg-config)))
8952 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
8953 (synopsis "Bindings to SDL2 mixer")
8954 (description "This package provides Haskell bindings to
8955@code{SDL2_mixer}.")
8956 (license license:bsd-3)))
8957
dddbc90c
RV
8958(define-public ghc-sdl-image
8959 (package
8960 (name "ghc-sdl-image")
8961 (version "0.6.2.0")
8962 (source
8963 (origin
8964 (method url-fetch)
8965 (uri (string-append
8966 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
8967 version
8968 ".tar.gz"))
8969 (sha256
8970 (base32
8971 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
8972 (build-system haskell-build-system)
8973 (arguments
8974 `(#:configure-flags
8975 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
8976 (sdl-image-include (string-append sdl-image "/include/SDL")))
8977 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
8978 (inputs
8979 `(("ghc-sdl" ,ghc-sdl)
8980 ("sdl-image" ,sdl-image)))
8981 (home-page "https://hackage.haskell.org/package/SDL-image")
8982 (synopsis "Haskell bindings to libSDL_image")
8983 (description "SDL_image is an image file loading library. It loads images
8984as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
8985PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
8986 (license license:bsd-3)))
8987
8988(define-public ghc-sdl-mixer
8989 (package
8990 (name "ghc-sdl-mixer")
8991 (version "0.6.3.0")
8992 (source
8993 (origin
8994 (method url-fetch)
8995 (uri (string-append
8996 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
8997 version
8998 ".tar.gz"))
8999 (sha256
9000 (base32
9001 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
9002 (build-system haskell-build-system)
9003 (arguments
9004 `(#:configure-flags
9005 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
9006 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
9007 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
9008 (inputs
9009 `(("ghc-sdl" ,ghc-sdl)
9010 ("sdl-mixer" ,sdl-mixer)))
9011 (home-page "https://hackage.haskell.org/package/SDL-mixer")
9012 (synopsis "Haskell bindings to libSDL_mixer")
9013 (description "SDL_mixer is a sample multi-channel audio mixer library. It
9014supports any number of simultaneously playing channels of 16 bit stereo audio,
9015plus a single channel of music, mixed by the popular MikMod MOD, Timidity
9016MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
9017 (license license:bsd-3)))
9018
9019(define-public ghc-securemem
9020 (package
9021 (name "ghc-securemem")
9022 (version "0.1.10")
9023 (source
9024 (origin
9025 (method url-fetch)
9026 (uri (string-append "https://hackage.haskell.org/package/"
9027 "securemem-" version "/"
9028 "securemem-" version ".tar.gz"))
9029 (sha256
9030 (base32
9031 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
9032 (build-system haskell-build-system)
9033 (inputs `(("ghc-byteable" ,ghc-byteable)
9034 ("ghc-memory" ,ghc-memory)))
9035 (home-page "https://github.com/vincenthz/hs-securemem")
9036 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9037Haskell")
9038 (description "SecureMem is similar to ByteString, except that it provides
9039a memory chunk that will be auto-scrubbed after it run out of scope.")
9040 (license license:bsd-3)))
9041
9042(define-public ghc-semigroupoids
9043 (package
9044 (name "ghc-semigroupoids")
9045 (version "5.2.2")
9046 (source
9047 (origin
9048 (method url-fetch)
9049 (uri (string-append
9050 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9051 version
9052 ".tar.gz"))
9053 (sha256
9054 (base32
9055 "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
9056 (build-system haskell-build-system)
9057 (arguments
9058 `(#:cabal-revision
9059 ("4" "0pqfrxzypjq6z8lgdkzq4vhcyqkpk5326hny0r6snpc3gm78r4ij")))
9060 (inputs
9061 `(("ghc-base-orphans" ,ghc-base-orphans)
9062 ("ghc-transformers-compat" ,ghc-transformers-compat)
9063 ("ghc-bifunctors" ,ghc-bifunctors)
9064 ("ghc-comonad" ,ghc-comonad)
9065 ("ghc-contravariant" ,ghc-contravariant)
9066 ("ghc-distributive" ,ghc-distributive)
9067 ("ghc-hashable" ,ghc-hashable)
9068 ("ghc-semigroups" ,ghc-semigroups)
9069 ("ghc-tagged" ,ghc-tagged)
9070 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9071 (native-inputs
9072 `(("cabal-doctest" ,cabal-doctest)
9073 ("ghc-doctest" ,ghc-doctest)))
9074 (home-page "https://github.com/ekmett/semigroupoids")
9075 (synopsis "Semigroupoids operations for Haskell")
9076 (description "This library provides a wide array of (semi)groupoids and
9077operations for working with them. A @code{Semigroupoid} is a @code{Category}
9078without the requirement of identity arrows for every object in the category.
9079A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9080Finally, to work with these weaker structures it is beneficial to have
9081containers that can provide stronger guarantees about their contents, so
9082versions of @code{Traversable} and @code{Foldable} that can be folded with
9083just a @code{Semigroup} are added.")
9084 (license license:bsd-3)))
9085
9086(define-public ghc-semigroups
9087 (package
9088 (name "ghc-semigroups")
9089 (version "0.18.5")
9090 (source
9091 (origin
9092 (method url-fetch)
9093 (uri (string-append
9094 "https://hackage.haskell.org/package/semigroups/semigroups-"
9095 version
9096 ".tar.gz"))
9097 (sha256
9098 (base32
9099 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9100 (build-system haskell-build-system)
9101 (inputs
9102 `(("ghc-nats" ,ghc-nats)
9103 ("ghc-tagged" ,ghc-tagged)
9104 ("ghc-unordered-containers" ,ghc-unordered-containers)
9105 ("ghc-hashable" ,ghc-hashable)))
9106 (home-page "https://github.com/ekmett/semigroups/")
9107 (synopsis "Semigroup operations for Haskell")
9108 (description "This package provides semigroups for Haskell. In
9109mathematics, a semigroup is an algebraic structure consisting of a set
9110together with an associative binary operation. A semigroup generalizes a
9111monoid in that there might not exist an identity element. It
9112also (originally) generalized a group (a monoid with all inverses) to a type
9113where every element did not have to have an inverse, thus the name
9114semigroup.")
9115 (license license:bsd-3)))
9116
9117(define-public ghc-semigroups-bootstrap
9118 (package
9119 (inherit ghc-semigroups)
9120 (name "ghc-semigroups-bootstrap")
9121 (inputs
9122 `(("ghc-nats" ,ghc-nats-bootstrap)
9123 ("ghc-tagged" ,ghc-tagged)
9124 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9125 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9126 (properties '((hidden? #t)))))
dddbc90c
RV
9127
9128(define-public ghc-setenv
9129 (package
9130 (name "ghc-setenv")
9131 (version "0.1.1.3")
9132 (source
9133 (origin
9134 (method url-fetch)
9135 (uri (string-append
9136 "https://hackage.haskell.org/package/setenv/setenv-"
9137 version
9138 ".tar.gz"))
9139 (sha256
9140 (base32
9141 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9142 (build-system haskell-build-system)
9143 (home-page "https://hackage.haskell.org/package/setenv")
9144 (synopsis "Library for setting environment variables")
9145 (description "This package provides a Haskell library for setting
9146environment variables.")
9147 (license license:expat)))
9148
9149(define-public ghc-setlocale
9150 (package
9151 (name "ghc-setlocale")
9d7cfc9b 9152 (version "1.0.0.9")
dddbc90c
RV
9153 (source (origin
9154 (method url-fetch)
9155 (uri (string-append
9156 "https://hackage.haskell.org/package/setlocale-"
9157 version "/setlocale-" version ".tar.gz"))
9158 (sha256
9159 (base32
9d7cfc9b 9160 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
9161 (build-system haskell-build-system)
9162 (home-page "https://hackage.haskell.org/package/setlocale")
9163 (synopsis "Haskell bindings to setlocale")
9164 (description "This package provides Haskell bindings to the
9165@code{setlocale} C function.")
9166 (license license:bsd-3)))
9167
9168(define-public ghc-shakespeare
9169 (package
9170 (name "ghc-shakespeare")
9171 (version "2.0.15")
9172 (source
9173 (origin
9174 (method url-fetch)
9175 (uri (string-append "https://hackage.haskell.org/package/"
9176 "shakespeare-" version "/"
9177 "shakespeare-" version ".tar.gz"))
9178 (sha256
9179 (base32
9180 "1vk4b19zvwy4mpwaq9z3l3kfmz75gfyf7alhh0y112gspgpccm23"))))
9181 (build-system haskell-build-system)
9182 (inputs `(("ghc-aeson" ,ghc-aeson)
9183 ("ghc-blaze-markup" ,ghc-blaze-markup)
9184 ("ghc-blaze-html" ,ghc-blaze-html)
9185 ("ghc-exceptions" ,ghc-exceptions)
9186 ("ghc-vector" ,ghc-vector)
9187 ("ghc-unordered-containers" ,ghc-unordered-containers)
9188 ("ghc-scientific" ,ghc-scientific)))
9189 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9190 ("ghc-hunit" ,ghc-hunit)
9191 ("hspec-discover" ,hspec-discover)))
9192 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9193 (synopsis "Family of type-safe template languages for Haskell")
9194 (description "This Haskell package provides a family of type-safe
9195templates with simple variable interpolation. Shakespeare templates can
9196be used inline with a quasi-quoter or in an external file and it
9197interpolates variables according to the type being inserted.")
9198 (license license:expat)))
9199
9200(define-public ghc-shelly
9201 (package
9202 (name "ghc-shelly")
9203 (version "1.8.1")
9204 (source
9205 (origin
9206 (method url-fetch)
9207 (uri (string-append
9208 "https://hackage.haskell.org/package/shelly/shelly-"
9209 version ".tar.gz"))
9210 (sha256
9211 (base32
9212 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9213 (build-system haskell-build-system)
9214 (inputs
9215 `(("ghc-unix-compat" ,ghc-unix-compat)
9216 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9217 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9218 ("ghc-monad-control" ,ghc-monad-control)
9219 ("ghc-lifted-base" ,ghc-lifted-base)
9220 ("ghc-lifted-async" ,ghc-lifted-async)
9221 ("ghc-exceptions" ,ghc-exceptions)
9222 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9223 ("ghc-async" ,ghc-async)
9224 ("ghc-transformers-base" ,ghc-transformers-base)
9225 ("ghc-hunit" ,ghc-hunit)
9226 ("ghc-hspec" ,ghc-hspec)
9227 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9228 (home-page "https://github.com/yesodweb/Shelly.hs")
9229 (synopsis "Shell-like (systems) programming in Haskell")
9230 (description
9231 "Shelly provides convenient systems programming in Haskell, similar in
9232spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9233 (license license:bsd-3)))
9234
9235(define-public ghc-silently
9236 (package
9237 (name "ghc-silently")
544bb369 9238 (version "1.2.5.1")
dddbc90c
RV
9239 (source
9240 (origin
9241 (method url-fetch)
9242 (uri (string-append
9243 "https://hackage.haskell.org/package/silently/silently-"
9244 version
9245 ".tar.gz"))
9246 (sha256
9247 (base32
544bb369 9248 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
9249 (build-system haskell-build-system)
9250 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9251 ;; (inputs
9252 ;; `(("ghc-temporary" ,ghc-temporary)))
9253 (home-page "https://github.com/hspec/silently")
9254 (synopsis "Prevent writing to stdout")
9255 (description "This package provides functions to prevent or capture
9256writing to stdout and other handles.")
9257 (license license:bsd-3)))
9258
9259(define-public ghc-simple-reflect
9260 (package
9261 (name "ghc-simple-reflect")
9262 (version "0.3.3")
9263 (source
9264 (origin
9265 (method url-fetch)
9266 (uri (string-append
9267 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9268 version
9269 ".tar.gz"))
9270 (sha256
9271 (base32
9272 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9273 (build-system haskell-build-system)
9274 (home-page
9275 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9276 (synopsis
9277 "Simple reflection of expressions containing variables")
9278 (description
9279 "This package allows simple reflection of expressions containing
9280variables. Reflection here means that a Haskell expression is turned into a
9281string. The primary aim of this package is teaching and understanding; there
9282are no options for manipulating the reflected expressions beyond showing
9283them.")
9284 (license license:bsd-3)))
9285
9286(define-public ghc-simple-sendfile
9287 (package
9288 (name "ghc-simple-sendfile")
9289 (version "0.2.27")
9290 (source
9291 (origin
9292 (method url-fetch)
9293 (uri (string-append "https://hackage.haskell.org/package/"
9294 "simple-sendfile-" version "/"
9295 "simple-sendfile-" version ".tar.gz"))
9296 (sha256
9297 (base32
9298 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
9299 (build-system haskell-build-system)
9300 (inputs
9301 `(("ghc-conduit" ,ghc-conduit)
9302 ("ghc-conduit-extra" ,ghc-conduit-extra)
9303 ("ghc-network" ,ghc-network)
9304 ("ghc-resourcet" ,ghc-resourcet)))
9305 (native-inputs
9306 `(("ghc-hspec" ,ghc-hspec)
9307 ("hspec-discover" ,hspec-discover)))
9308 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9309 (synopsis "Cross platform library for the sendfile system call")
9310 (description "This library tries to call minimum system calls which
9311are the bottleneck of web servers.")
9312 (license license:bsd-3)))
9313
9314(define-public ghc-skylighting-core
9315 (package
9316 (name "ghc-skylighting-core")
9317 (version "0.7.2")
9318 (source (origin
9319 (method url-fetch)
9320 (uri (string-append "https://hackage.haskell.org/package/"
9321 "skylighting-core/skylighting-core-"
9322 version ".tar.gz"))
9323 (sha256
9324 (base32
9325 "066fwmwsd7xcvwlinfk2izlzq0xp8697i6lnbgsbl71jdybyackq"))))
9326 (build-system haskell-build-system)
9327 (inputs
9328 `(("ghc-aeson" ,ghc-aeson)
9329 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9330 ("ghc-attoparsec" ,ghc-attoparsec)
9331 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9332 ("ghc-blaze-html" ,ghc-blaze-html)
9333 ("ghc-case-insensitive" ,ghc-case-insensitive)
9334 ("ghc-colour" ,ghc-colour)
9335 ("ghc-hxt" ,ghc-hxt)
9336 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9337 ("ghc-safe" ,ghc-safe)
9338 ("ghc-utf8-string" ,ghc-utf8-string)))
9339 (native-inputs
9340 `(("ghc-diff" ,ghc-diff)
9341 ("ghc-hunit" ,ghc-hunit)
9342 ("ghc-pretty-show" ,ghc-pretty-show)
9343 ("ghc-quickcheck" ,ghc-quickcheck)
9344 ("ghc-tasty" ,ghc-tasty)
9345 ("ghc-tasty-golden" ,ghc-tasty-golden)
9346 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9347 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9348 (home-page "https://github.com/jgm/skylighting")
9349 (synopsis "Syntax highlighting library")
9350 (description "Skylighting is a syntax highlighting library with support
9351for over one hundred languages. It derives its tokenizers from XML syntax
9352definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9353supported by that framework can be added. An optional command-line program is
9354provided. Skylighting is intended to be the successor to highlighting-kate.")
9355 (license license:gpl2)))
9356
9357(define-public ghc-skylighting
9358 (package
9359 (inherit ghc-skylighting-core)
9360 (name "ghc-skylighting")
9361 (version "0.7.2")
9362 (source (origin
9363 (method url-fetch)
9364 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9365 version "/skylighting-" version ".tar.gz"))
9366 (sha256
9367 (base32
9368 "1rh3z1a7a4clvksdw1qlpmhxqkfahwypi70k91whgfamzsqpxdch"))))
9369 (inputs
9370 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9371 ,@(package-inputs ghc-skylighting-core)))))
9372
9373(define-public ghc-smallcheck
9374 (package
9375 (name "ghc-smallcheck")
9376 (version "1.1.5")
9377 (source
9378 (origin
9379 (method url-fetch)
9380 (uri (string-append
9381 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9382 version
9383 ".tar.gz"))
9384 (sha256
9385 (base32
9386 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9387 (build-system haskell-build-system)
9388 (inputs
9389 `(("ghc-logict" ,ghc-logict)))
9390 (home-page
9391 "https://github.com/feuerbach/smallcheck")
9392 (synopsis "Property-based testing library")
9393 (description "SmallCheck is a testing library that allows to verify
9394properties for all test cases up to some depth. The test cases are generated
9395automatically by SmallCheck.")
9396 (license license:bsd-3)))
9397
9398(define-public ghc-socks
9399 (package
9400 (name "ghc-socks")
9401 (version "0.5.6")
9402 (source (origin
9403 (method url-fetch)
9404 (uri (string-append "https://hackage.haskell.org/package/"
9405 "socks/socks-" version ".tar.gz"))
9406 (sha256
9407 (base32
9408 "0f44qy74i0n6ll3jym0a2ipafkpw1h67amcpqmj8iq95h21wsqzs"))))
9409 (build-system haskell-build-system)
9410 (inputs
9411 `(("ghc-cereal" ,ghc-cereal)
9412 ("ghc-network" ,ghc-network)))
9413 (home-page "https://github.com/vincenthz/hs-socks")
9414 (synopsis "SOCKS proxy (version 5) implementation")
9415 (description
9416 "This library provides a SOCKS proxy (version 5) implementation.")
9417 (license license:bsd-3)))
9418
081d85d6
TS
9419(define-public ghc-sop-core
9420 (package
9421 (name "ghc-sop-core")
9422 (version "0.4.0.0")
9423 (source
9424 (origin
9425 (method url-fetch)
9426 (uri (string-append "https://hackage.haskell.org/package/"
9427 "sop-core/sop-core-" version ".tar.gz"))
9428 (sha256
9429 (base32
9430 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
9431 (build-system haskell-build-system)
9432 (home-page "http://hackage.haskell.org/package/sop-core")
9433 (synopsis "True Sums of Products")
9434 (description "This package provides an implementation of
9435@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
9436is the main module of this library and contains more detailed
9437documentation. The main use case of this package is to serve as the
9438core of @url{https://hackage.haskell.org/package/generics-sop,
9439generics-sop}.")
9440 (license license:bsd-3)))
9441
dddbc90c
RV
9442(define-public ghc-split
9443 (package
9444 (name "ghc-split")
9445 (version "0.2.3.3")
9446 (outputs '("out" "doc"))
9447 (source
9448 (origin
9449 (method url-fetch)
9450 (uri (string-append
9451 "https://hackage.haskell.org/package/split/split-"
9452 version
9453 ".tar.gz"))
9454 (sha256
9455 (base32
9456 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9457 (build-system haskell-build-system)
9bbc21a7
TS
9458 (arguments
9459 `(#:cabal-revision
9460 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
9461 (native-inputs
9462 `(("ghc-quickcheck" ,ghc-quickcheck)))
9463 (home-page "https://hackage.haskell.org/package/split")
9464 (synopsis "Combinator library for splitting lists")
9465 (description "This package provides a collection of Haskell functions for
9466splitting lists into parts, akin to the @code{split} function found in several
9467mainstream languages.")
9468 (license license:bsd-3)))
9469
7799d17f 9470(define-public ghc-splitmix
49367c92 9471 (package
7799d17f 9472 (name "ghc-splitmix")
49367c92
TS
9473 (version "0.0.3")
9474 (source
9475 (origin
9476 (method url-fetch)
9477 (uri (string-append "https://hackage.haskell.org/package/"
9478 "splitmix/splitmix-" version ".tar.gz"))
9479 (sha256
9480 (base32
9481 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 9482 (build-system haskell-build-system)
49367c92
TS
9483 (inputs
9484 `(("ghc-random" ,ghc-random)))
7799d17f
TS
9485 (native-inputs
9486 `(("ghc-hunit" ,ghc-hunit)
9487 ("ghc-async" ,ghc-async)
9488 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
9489 ("ghc-tf-random" ,ghc-tf-random)
9490 ("ghc-vector" ,ghc-vector)))
49367c92
TS
9491 (home-page "http://hackage.haskell.org/package/splitmix")
9492 (synopsis "Fast and splittable pseudorandom number generator")
9493 (description "This package provides a Pure Haskell implementation of the
9494SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
9495pseudorandom number generator that is quite fast: 9 64-bit
9496arithmetic/logical operations per 64 bits generated. SplitMix is tested
9497with two standard statistical test suites (DieHarder and TestU01, this
9498implementation only using the former) and it appears to be adequate for
9499\"everyday\" use, such as Monte Carlo algorithms and randomized data
9500structures where speed is important. In particular, it @strong{should not
9501be used for cryptographic or security applications}, because generated
9502sequences of pseudorandom values are too predictable (the mixing functions
9503are easily inverted, and two successive outputs suffice to reconstruct the
9504internal state).")
9505 (license license:bsd-3)))
9506
7799d17f
TS
9507(define-public ghc-splitmix-bootstrap
9508 (package
9509 (inherit ghc-splitmix)
9510 (name "ghc-splitmix-bootstrap")
9511 (arguments `(#:tests? #f))
9512 (native-inputs '())
9513 (properties '((hidden? #t)))))
9514
dddbc90c
RV
9515(define-public ghc-statevar
9516 (package
9517 (name "ghc-statevar")
19419709 9518 (version "1.2")
dddbc90c
RV
9519 (source
9520 (origin
9521 (method url-fetch)
9522 (uri (string-append
9523 "https://hackage.haskell.org/package/StateVar/StateVar-"
9524 version
9525 ".tar.gz"))
9526 (sha256
9527 (base32
19419709 9528 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
9529 (build-system haskell-build-system)
9530 (home-page "https://hackage.haskell.org/package/StateVar")
9531 (synopsis "State variables for Haskell")
9532 (description "This package provides state variables, which are references
9533in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9534 (license license:bsd-3)))
9535
9536(define-public ghc-statistics
9537 (package
9538 (name "ghc-statistics")
9539 (version "0.14.0.2")
9540 (source
9541 (origin
9542 (method url-fetch)
9543 (uri (string-append "https://hackage.haskell.org/package/"
9544 "statistics-" version "/"
9545 "statistics-" version ".tar.gz"))
9546 (sha256
9547 (base32
9548 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
9549 (build-system haskell-build-system)
9550 (arguments
9551 '(#:cabal-revision
9552 ("2" "1bx70yqkn62ii17fjv3pig4hklrzkqd09zj67zzjiyjzmn04fir3")
9553 ;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
9554 #:tests? #f))
9555 (inputs
9556 `(("ghc-aeson" ,ghc-aeson)
9557 ("ghc-base-orphans" ,ghc-base-orphans)
9558 ("ghc-erf" ,ghc-erf)
9559 ("ghc-math-functions" ,ghc-math-functions)
9560 ("ghc-monad-par" ,ghc-monad-par)
9561 ("ghc-mwc-random" ,ghc-mwc-random)
9562 ("ghc-primitive" ,ghc-primitive)
9563 ("ghc-vector" ,ghc-vector)
9564 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9565 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9566 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9567 (native-inputs
9568 `(("ghc-hunit" ,ghc-hunit)
9569 ("ghc-quickcheck" ,ghc-quickcheck)
9570 ("ghc-ieee754" ,ghc-ieee754)
9571 ("ghc-test-framework" ,ghc-test-framework)
9572 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9573 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9574 (home-page "https://github.com/bos/mwc-random")
9575 (synopsis "Haskell library of statistical types, data, and functions")
9576 (description "This library provides a number of common functions
9577and types useful in statistics. We focus on high performance, numerical
9578robustness, and use of good algorithms. Where possible, we provide references
9579to the statistical literature.
9580
9581The library's facilities can be divided into four broad categories:
9582
9583@itemize
9584@item Working with widely used discrete and continuous probability
9585distributions. (There are dozens of exotic distributions in use; we focus
9586on the most common.)
9587
9588@item Computing with sample data: quantile estimation, kernel density
9589estimation, histograms, bootstrap methods, significance testing,
9590and regression and autocorrelation analysis.
9591
9592@item Random variate generation under several different distributions.
9593
9594@item Common statistical tests for significant differences between samples.
9595@end itemize")
9596 (license license:bsd-2)))
9597
9598(define-public ghc-stm-chans
9599 (package
9600 (name "ghc-stm-chans")
9601 (version "3.0.0.4")
9602 (source
9603 (origin
9604 (method url-fetch)
9605 (uri (string-append "https://hackage.haskell.org/package/"
9606 "stm-chans-" version "/"
9607 "stm-chans-" version ".tar.gz"))
9608 (sha256
9609 (base32
9610 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9611 (build-system haskell-build-system)
9612 (home-page "https://hackage.haskell.org/package/stm-chans")
9613 (synopsis "Additional types of channels for ghc-stm")
9614 (description "This Haskell package offers a collection of channel types,
9615similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9616features.")
9617 (license license:bsd-3)))
9618
9619(define-public ghc-stm-conduit
9620 (package
9621 (name "ghc-stm-conduit")
9622 (version "4.0.0")
9623 (source
9624 (origin
9625 (method url-fetch)
9626 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9627 "stm-conduit-" version ".tar.gz"))
9628 (sha256
9629 (base32
9630 "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
9631 (build-system haskell-build-system)
9632 (inputs
9633 `(("ghc-stm-chans" ,ghc-stm-chans)
9634 ("ghc-cereal" ,ghc-cereal)
9635 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9636 ("ghc-conduit" ,ghc-conduit)
9637 ("ghc-conduit-extra" ,ghc-conduit-extra)
9638 ("ghc-exceptions" ,ghc-exceptions)
9639 ("ghc-resourcet" ,ghc-resourcet)
9640 ("ghc-async" ,ghc-async)
9641 ("ghc-monad-loops" ,ghc-monad-loops)
9642 ("ghc-unliftio" ,ghc-unliftio)))
9643 (native-inputs
9644 `(("ghc-doctest" ,ghc-doctest)
9645 ("ghc-quickcheck" ,ghc-quickcheck)
9646 ("ghc-hunit" ,ghc-hunit)
9647 ("ghc-test-framework" ,ghc-test-framework)
9648 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9649 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9650 (home-page "https://github.com/cgaebel/stm-conduit")
9651 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9652 (description
9653 "This package provides two simple conduit wrappers around STM channels: a
9654source and a sink.")
9655 (license license:bsd-3)))
9656
9657(define-public ghc-stmonadtrans
9658 (package
9659 (name "ghc-stmonadtrans")
9660 (version "0.4.3")
9661 (source
9662 (origin
9663 (method url-fetch)
9664 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9665 "/STMonadTrans-" version ".tar.gz"))
9666 (sha256
9667 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9668 (build-system haskell-build-system)
9669 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9670 (synopsis "Monad transformer version of the ST monad")
9671 (description
9672 "This package provides a monad transformer version of the @code{ST} monad
9673for strict state threads.")
9674 (license license:bsd-3)))
9675
9676(define-public ghc-storable-complex
9677 (package
9678 (name "ghc-storable-complex")
4a35e3c3 9679 (version "0.2.3.0")
dddbc90c
RV
9680 (source
9681 (origin
9682 (method url-fetch)
9683 (uri (string-append
9684 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9685 version ".tar.gz"))
9686 (sha256
4a35e3c3 9687 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 9688 (build-system haskell-build-system)
4a35e3c3
TS
9689 (inputs
9690 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
9691 (home-page "https://github.com/cartazio/storable-complex")
9692 (synopsis "Haskell Storable instance for Complex")
9693 (description "This package provides a Haskell library including a
9694Storable instance for Complex which is binary compatible with C99, C++
9695and Fortran complex data types.")
9696 (license license:bsd-3)))
9697
ad80074a
JS
9698(define-public ghc-storable-record
9699 (package
9700 (name "ghc-storable-record")
9701 (version "0.0.4")
9702 (source
9703 (origin
9704 (method url-fetch)
9705 (uri
9706 (string-append
9707 "https://hackage.haskell.org/package/storable-record/"
9708 "storable-record-" version ".tar.gz"))
9709 (sha256
9710 (base32
9711 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
9712 (build-system haskell-build-system)
9713 (inputs
9714 `(("ghc-semigroups" ,ghc-semigroups)
9715 ("ghc-utility-ht" ,ghc-utility-ht)
9716 ("ghc-storablevector" ,ghc-storablevector)
9717 ("ghc-timeit" ,ghc-timeit)))
9718 (home-page "https://hackage.haskell.org/package/storable-record")
9719 (synopsis "Elegant definition of Storable instances for records")
9720 (description "With this package you can build a Storable instance of
9721a record type from Storable instances of its elements in an elegant way.
9722It does not do any magic, just a bit arithmetic to compute the right
9723offsets, that would be otherwise done manually or by a preprocessor like
9724C2HS. There is no guarantee that the generated memory layout is
9725compatible with that of a corresponding C struct. However, the module
9726generates the smallest layout that is possible with respect to the
9727alignment of the record elements.")
9728 (license license:bsd-3)))
9729
55f4c653
JS
9730(define-public ghc-storable-tuple
9731 (package
9732 (name "ghc-storable-tuple")
9733 (version "0.0.3.3")
9734 (source
9735 (origin
9736 (method url-fetch)
9737 (uri
9738 (string-append
9739 "https://hackage.haskell.org/package/storable-tuple/"
9740 "storable-tuple-" version ".tar.gz"))
9741 (sha256
9742 (base32
9743 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
9744 (build-system haskell-build-system)
9745 (inputs
9746 `(("ghc-storable-record" ,ghc-storable-record)
9747 ("ghc-utility-ht" ,ghc-utility-ht)
9748 ("ghc-base-orphans" ,ghc-base-orphans)))
9749 (home-page "https://hackage.haskell.org/package/storable-tuple")
9750 (synopsis "Storable instance for pairs and triples")
9751 (description "This package provides a Storable instance for pairs
9752and triples which should be binary compatible with C99 and C++. The
9753only purpose of this package is to provide a standard location for this
9754instance so that other packages needing this instance can play nicely
9755together.")
9756 (license license:bsd-3)))
9757
bc06ca45
JS
9758(define-public ghc-storablevector
9759 (package
9760 (name "ghc-storablevector")
9761 (version "0.2.13")
9762 (source
9763 (origin
9764 (method url-fetch)
9765 (uri
9766 (string-append
9767 "https://hackage.haskell.org/package/storablevector/storablevector-"
9768 version ".tar.gz"))
9769 (sha256
9770 (base32
9771 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
9772 (build-system haskell-build-system)
9773 (inputs
9774 `(("ghc-non-negative" ,ghc-non-negative)
9775 ("ghc-utility-ht" ,ghc-utility-ht)
9776 ("ghc-semigroups" ,ghc-semigroups)
9777 ("ghc-unsafe" ,ghc-unsafe)
9778 ("ghc-quickcheck" ,ghc-quickcheck)
9779 ("ghc-syb" ,ghc-syb)))
9780 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
9781 (synopsis "Fast, packed, strict storable arrays with a list interface")
9782 (description "This library provides fast, packed, strict storable
9783arrays with a list interface, a chunky lazy list interface with variable
9784chunk size and an interface for write access via the ST monad. This is
9785much like bytestring and binary but can be used for every
9786@code{Foreign.Storable.Storable} type. See also
9787@url{http://hackage.haskell.org/package/vector}, a library with a
9788similar intention.
9789
9790This library does not do advanced fusion optimization, since especially
9791for lazy vectors this would either be incorrect or not applicable. See
9792@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
9793a library that provides fusion with lazy lists.")
9794 (license license:bsd-3)))
9795
dddbc90c
RV
9796(define-public ghc-streaming-commons
9797 (package
9798 (name "ghc-streaming-commons")
9799 (version "0.2.1.1")
9800 (source
9801 (origin
9802 (method url-fetch)
9803 (uri (string-append "https://hackage.haskell.org/package/"
9804 "streaming-commons/streaming-commons-"
9805 version ".tar.gz"))
9806 (sha256
9807 (base32
9808 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9809 (build-system haskell-build-system)
9810 (inputs
9811 `(("ghc-async" ,ghc-async)
9812 ("ghc-blaze-builder" ,ghc-blaze-builder)
9813 ("ghc-network" ,ghc-network)
9814 ("ghc-random" ,ghc-random)
9815 ("ghc-zlib" ,ghc-zlib)))
9816 (native-inputs
9817 `(("ghc-quickcheck" ,ghc-quickcheck)
9818 ("ghc-hspec" ,ghc-hspec)
9819 ("hspec-discover" ,hspec-discover)))
9820 (home-page "https://hackage.haskell.org/package/streaming-commons")
9821 (synopsis "Conduit and pipes needed by some streaming data libraries")
9822 (description "This package provides low-dependency functionality commonly
9823needed by various Haskell streaming data libraries, such as @code{conduit} and
9824@code{pipe}s.")
9825 (license license:expat)))
9826
9827(define-public ghc-strict
9828 (package
9829 (name "ghc-strict")
9830 (version "0.3.2")
9831 (source
9832 (origin
9833 (method url-fetch)
9834 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
9835 version ".tar.gz"))
9836 (sha256
9837 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
9838 (build-system haskell-build-system)
9839 (home-page "https://hackage.haskell.org/package/strict")
9840 (synopsis "Strict data types and String IO")
9841 (description
9842 "This package provides strict versions of some standard Haskell data
9843types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
9844IO operations.")
9845 (license license:bsd-3)))
9846
9847(define-public ghc-stringbuilder
9848 (package
9849 (name "ghc-stringbuilder")
9850 (version "0.5.1")
9851 (source
9852 (origin
9853 (method url-fetch)
9854 (uri (string-append
9855 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
9856 version
9857 ".tar.gz"))
9858 (sha256
9859 (base32
9860 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
9861 (build-system haskell-build-system)
9862 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
9863 ; enabled
9864 (home-page "https://hackage.haskell.org/package/stringbuilder")
9865 (synopsis "Writer monad for multi-line string literals")
9866 (description "This package provides a writer monad for multi-line string
9867literals.")
9868 (license license:expat)))
9869
9870(define-public ghc-string-qq
9871 (package
9872 (name "ghc-string-qq")
4d6fddc3 9873 (version "0.0.4")
dddbc90c
RV
9874 (source
9875 (origin
9876 (method url-fetch)
9877 (uri (string-append
9878 "https://hackage.haskell.org/package/string-qq/string-qq-"
9879 version
9880 ".tar.gz"))
9881 (sha256
9882 (base32
4d6fddc3 9883 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 9884 (build-system haskell-build-system)
4d6fddc3
TS
9885 (native-inputs
9886 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
9887 (home-page "http://hackage.haskell.org/package/string-qq")
9888 (synopsis
9889 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
9890 (description
9891 "This package provides a quasiquoter for non-interpolated strings, texts
9892and bytestrings.")
9893 (license license:public-domain)))
9894
9895(define-public ghc-stringsearch
9896 (package
9897 (name "ghc-stringsearch")
9898 (version "0.3.6.6")
9899 (source
9900 (origin
9901 (method url-fetch)
9902 (uri (string-append
9903 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
9904 version
9905 ".tar.gz"))
9906 (sha256
9907 (base32
9908 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
9909 (build-system haskell-build-system)
9910 (home-page "https://bitbucket.org/dafis/stringsearch")
9911 (synopsis "Fast searching, splitting and replacing of ByteStrings")
9912 (description "This package provides several functions to quickly search
9913for substrings in strict or lazy @code{ByteStrings}. It also provides
9914functions for breaking or splitting on substrings and replacing all
9915occurrences of a substring (the first in case of overlaps) with another.")
9916 (license license:bsd-3)))
9917
9918(define-public ghc-stylish-haskell
9919 (package
9920 (name "ghc-stylish-haskell")
9921 (version "0.9.2.1")
9922 (source
9923 (origin
9924 (method url-fetch)
9925 (uri (string-append
9926 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
9927 version
9928 ".tar.gz"))
9929 (sha256
9930 (base32
9931 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
9932 (build-system haskell-build-system)
9933 (inputs
9934 `(("ghc-aeson" ,ghc-aeson)
9935 ("ghc-file-embed" ,ghc-file-embed)
9936 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
9937 ("ghc-semigroups" ,ghc-semigroups)
9938 ("ghc-syb" ,ghc-syb)
9939 ("ghc-yaml" ,ghc-yaml)
9940 ("ghc-strict" ,ghc-strict)
9941 ("ghc-optparse-applicative"
9942 ,ghc-optparse-applicative)))
9943 (native-inputs
9944 `(("ghc-hunit" ,ghc-hunit)
9945 ("ghc-test-framework" ,ghc-test-framework)
9946 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
9947 (home-page "https://github.com/jaspervdj/stylish-haskell")
9948 (synopsis "Haskell code prettifier")
9949 (description "Stylish-haskell is a Haskell code prettifier. The goal is
9950not to format all of the code in a file, to avoid \"getting in the way\".
9951However, this tool can e.g. clean up import statements and help doing various
9952tasks that get tedious very quickly. It can
9953@itemize
9954@item
9955Align and sort @code{import} statements
9956@item
9957Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
9958pragmas
9959@item
9960Remove trailing whitespaces
9961@item
9962Align branches in @code{case} and fields in records
9963@item
9964Convert line endings (customisable)
9965@item
9966Replace tabs by four spaces (turned off by default)
9967@item
9968Replace some ASCII sequences by their Unicode equivalent (turned off by
9969default)
9970@end itemize")
9971 (license license:bsd-3)))
9972
9973(define-public ghc-syb
9974 (package
9975 (name "ghc-syb")
07d65eef 9976 (version "0.7.1")
dddbc90c
RV
9977 (outputs '("out" "doc"))
9978 (source
9979 (origin
9980 (method url-fetch)
9981 (uri (string-append
9982 "https://hackage.haskell.org/package/syb/syb-"
9983 version
9984 ".tar.gz"))
9985 (sha256
9986 (base32
07d65eef 9987 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
9988 (build-system haskell-build-system)
9989 (inputs
9990 `(("ghc-hunit" ,ghc-hunit)))
9991 (home-page
9992 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
9993 (synopsis "Scrap Your Boilerplate")
9994 (description "This package contains the generics system described in the
9995/Scrap Your Boilerplate/ papers (see
9996@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
9997defines the @code{Data} class of types permitting folding and unfolding of
9998constructor applications, instances of this class for primitive types, and a
9999variety of traversals.")
10000 (license license:bsd-3)))
10001
10002(define-public ghc-system-fileio
10003 (package
10004 (name "ghc-system-fileio")
dcfb99d4 10005 (version "0.3.16.4")
dddbc90c
RV
10006 (source
10007 (origin
10008 (method url-fetch)
10009 (uri (string-append
10010 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10011 version ".tar.gz"))
10012 (sha256
10013 (base32
dcfb99d4 10014 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 10015 (build-system haskell-build-system)
dcfb99d4
TS
10016 (arguments
10017 `(#:phases
10018 (modify-phases %standard-phases
10019 (add-before 'configure 'update-constraints
10020 (lambda _
10021 (substitute* "system-fileio.cabal"
10022 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
10023 #t)))))
dddbc90c
RV
10024 (inputs
10025 `(("ghc-system-filepath" ,ghc-system-filepath)
10026 ("ghc-chell" ,ghc-chell)
10027 ("ghc-temporary" ,ghc-temporary)))
10028 (home-page "https://github.com/fpco/haskell-filesystem")
10029 (synopsis "Consistent file system interaction across GHC versions")
10030 (description
10031 "This is a small wrapper around the directory, unix, and Win32 packages,
10032for use with system-filepath. It provides a consistent API to the various
10033versions of these packages distributed with different versions of GHC.
10034In particular, this library supports working with POSIX files that have paths
10035which can't be decoded in the current locale encoding.")
10036 (license license:expat)))
10037
10038;; See ghc-system-filepath-bootstrap. In addition this package depends on
10039;; ghc-system-filepath.
10040(define ghc-system-fileio-bootstrap
10041 (package
10042 (name "ghc-system-fileio-bootstrap")
10043 (version "0.3.16.3")
10044 (source
10045 (origin
10046 (method url-fetch)
10047 (uri (string-append
10048 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10049 version ".tar.gz"))
10050 (sha256
10051 (base32
10052 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10053 (build-system haskell-build-system)
10054 (arguments
10055 `(#:tests? #f))
10056 (inputs
10057 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10058 ("ghc-temporary" ,ghc-temporary)))
10059 (home-page "https://github.com/fpco/haskell-filesystem")
10060 (synopsis "Consistent file system interaction across GHC versions")
10061 (description
10062 "This is a small wrapper around the directory, unix, and Win32 packages,
10063for use with system-filepath. It provides a consistent API to the various
10064versions of these packages distributed with different versions of GHC.
10065In particular, this library supports working with POSIX files that have paths
10066which can't be decoded in the current locale encoding.")
10067 (license license:expat)))
10068
10069
10070(define-public ghc-system-filepath
10071 (package
10072 (name "ghc-system-filepath")
10073 (version "0.4.14")
10074 (source
10075 (origin
10076 (method url-fetch)
10077 (uri (string-append
10078 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10079 version ".tar.gz"))
10080 (sha256
10081 (base32
10082 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10083 (build-system haskell-build-system)
10084 ;; FIXME: One of the tests fails:
10085 ;; [ FAIL ] tests.validity.posix
10086 ;; note: seed=7310214548328823169
10087 ;; *** Failed! Falsifiable (after 24 tests):
10088 ;; 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"
10089 (arguments `(#:tests? #f))
10090 (inputs
10091 `(("ghc-chell" ,ghc-chell)
10092 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
10093 ("ghc-quickcheck" ,ghc-quickcheck)))
10094 (home-page "https://github.com/fpco/haskell-filesystem")
10095 (synopsis "High-level, byte-based file and directory path manipulations")
10096 (description
10097 "Provides a FilePath datatype and utility functions for operating on it.
10098Unlike the filepath package, this package does not simply reuse String,
10099increasing type safety.")
10100 (license license:expat)))
10101
10102;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
10103;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
10104;; which depends on ghc-chell and ghc-chell-quickcheck.
10105;; Therefore we bootstrap it with tests disabled.
10106(define ghc-system-filepath-bootstrap
10107 (package
10108 (name "ghc-system-filepath-bootstrap")
10109 (version "0.4.14")
10110 (source
10111 (origin
10112 (method url-fetch)
10113 (uri (string-append
10114 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10115 version ".tar.gz"))
10116 (sha256
10117 (base32
10118 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10119 (build-system haskell-build-system)
10120 (arguments
10121 `(#:tests? #f))
10122 (inputs
10123 `(("ghc-quickcheck" ,ghc-quickcheck)))
10124 (home-page "https://github.com/fpco/haskell-filesystem")
10125 (synopsis "High-level, byte-based file and directory path manipulations")
10126 (description
10127 "Provides a FilePath datatype and utility functions for operating on it.
10128Unlike the filepath package, this package does not simply reuse String,
10129increasing type safety.")
10130 (license license:expat)))
10131
10132
10133(define-public ghc-tagged
10134 (package
10135 (name "ghc-tagged")
f0f3756a 10136 (version "0.8.6")
dddbc90c
RV
10137 (source
10138 (origin
10139 (method url-fetch)
10140 (uri (string-append
10141 "https://hackage.haskell.org/package/tagged/tagged-"
10142 version
10143 ".tar.gz"))
10144 (sha256
10145 (base32
f0f3756a 10146 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
10147 (build-system haskell-build-system)
10148 (arguments
10149 `(#:cabal-revision
f0f3756a 10150 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
10151 (inputs
10152 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10153 (home-page "https://hackage.haskell.org/package/tagged")
10154 (synopsis "Haskell phantom types to avoid passing dummy arguments")
10155 (description "This library provides phantom types for Haskell 98, to avoid
10156having to unsafely pass dummy arguments.")
10157 (license license:bsd-3)))
10158
10159(define-public ghc-tar
10160 (package
10161 (name "ghc-tar")
ec83929f 10162 (version "0.5.1.1")
dddbc90c
RV
10163 (source
10164 (origin
10165 (method url-fetch)
10166 (uri (string-append
10167 "https://hackage.haskell.org/package/tar/tar-"
10168 version ".tar.gz"))
10169 (sha256
10170 (base32
ec83929f 10171 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
10172 (build-system haskell-build-system)
10173 ;; FIXME: 2/24 tests fail.
10174 (arguments `(#:tests? #f))
10175 (inputs
10176 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10177 ("ghc-quickcheck" ,ghc-quickcheck)
10178 ("ghc-tasty" ,ghc-tasty)
10179 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10180 (home-page "https://hackage.haskell.org/package/tar")
10181 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10182 (description
10183 "This library is for working with \\\"@.tar@\\\" archive files.
10184It can read and write a range of common variations of the tar archive format
10185including V7, POSIX USTAR and GNU formats. It provides support for packing and
10186unpacking portable archives. This makes it suitable for distribution but not
10187backup because details like file ownership and exact permissions are not
10188preserved. It also provides features for random access to archive content using
10189an index.")
10190 (license license:bsd-3)))
10191
10192(define-public ghc-temporary
10193 (package
10194 (name "ghc-temporary")
10195 (version "1.3")
10196 (source
10197 (origin
10198 (method url-fetch)
10199 (uri (string-append
10200 "https://hackage.haskell.org/package/temporary/temporary-"
10201 version
10202 ".tar.gz"))
10203 (sha256
10204 (base32
10205 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10206 (build-system haskell-build-system)
10207 (inputs
10208 `(("ghc-exceptions" ,ghc-exceptions)
10209 ("ghc-random" ,ghc-random)))
10210 (native-inputs
10211 `(("ghc-base-compat" ,ghc-base-compat)
10212 ("ghc-tasty" ,ghc-tasty)
10213 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10214 (home-page "https://www.github.com/batterseapower/temporary")
10215 (synopsis "Temporary file and directory support")
10216 (description "The functions for creating temporary files and directories
10217in the Haskelll base library are quite limited. This library just repackages
10218the Cabal implementations of its own temporary file and folder functions so
10219that you can use them without linking against Cabal or depending on it being
10220installed.")
10221 (license license:bsd-3)))
10222
10223(define-public ghc-temporary-rc
10224 (package
10225 (name "ghc-temporary-rc")
10226 (version "1.2.0.3")
10227 (source
10228 (origin
10229 (method url-fetch)
10230 (uri (string-append
10231 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10232 version
10233 ".tar.gz"))
10234 (sha256
10235 (base32
10236 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10237 (build-system haskell-build-system)
10238 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10239 (home-page
10240 "https://www.github.com/feuerbach/temporary")
10241 (synopsis
10242 "Portable temporary file and directory support")
10243 (description
10244 "The functions for creating temporary files and directories in the base
10245library are quite limited. The unixutils package contains some good ones, but
10246they aren't portable to Windows. This library just repackages the Cabal
10247implementations of its own temporary file and folder functions so that you can
10248use them without linking against Cabal or depending on it being installed.
10249This is a better maintained fork of the \"temporary\" package.")
10250 (license license:bsd-3)))
10251
10252(define-public ghc-terminal-size
10253 (package
10254 (name "ghc-terminal-size")
10255 (version "0.3.2.1")
10256 (source (origin
10257 (method url-fetch)
10258 (uri (string-append
10259 "https://hackage.haskell.org/package/terminal-size/"
10260 "terminal-size-" version ".tar.gz"))
10261 (sha256
10262 (base32
10263 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10264 (build-system haskell-build-system)
10265 (home-page "https://hackage.haskell.org/package/terminal-size")
10266 (synopsis "Get terminal window height and width")
10267 (description "Get terminal window height and width without ncurses
10268dependency.")
10269 (license license:bsd-3)))
10270
10271(define-public ghc-texmath
10272 (package
10273 (name "ghc-texmath")
10274 (version "0.11.0.1")
10275 (source (origin
10276 (method url-fetch)
10277 (uri (string-append "https://hackage.haskell.org/package/"
10278 "texmath/texmath-" version ".tar.gz"))
10279 (sha256
10280 (base32
10281 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
10282 (build-system haskell-build-system)
10283 (inputs
10284 `(("ghc-syb" ,ghc-syb)
10285 ("ghc-network-uri" ,ghc-network-uri)
10286 ("ghc-split" ,ghc-split)
10287 ("ghc-temporary" ,ghc-temporary)
10288 ("ghc-utf8-string" ,ghc-utf8-string)
10289 ("ghc-xml" ,ghc-xml)
10290 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10291 (home-page "https://github.com/jgm/texmath")
10292 (synopsis "Conversion between formats used to represent mathematics")
10293 (description
10294 "The texmath library provides functions to read and write TeX math,
10295presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10296Office). Support is also included for converting math formats to pandoc's
10297native format (allowing conversion, via pandoc, to a variety of different
10298markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10299it can parse and apply LaTeX macros.")
10300 (license license:gpl2+)))
10301
10302(define-public ghc-text-binary
10303 (package
10304 (name "ghc-text-binary")
10305 (version "0.2.1.1")
10306 (source
10307 (origin
10308 (method url-fetch)
10309 (uri (string-append "https://hackage.haskell.org/package/"
10310 "text-binary/text-binary-"
10311 version ".tar.gz"))
10312 (sha256
10313 (base32
10314 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10315 (build-system haskell-build-system)
10316 (home-page "https://github.com/kawu/text-binary")
10317 (synopsis "Binary instances for text types")
10318 (description
10319 "This package provides a compatibility layer providing @code{Binary}
10320instances for strict and lazy text types for versions older than 1.2.1 of the
10321text package.")
10322 (license license:bsd-2)))
10323
10324(define-public ghc-tf-random
10325 (package
10326 (name "ghc-tf-random")
10327 (version "0.5")
10328 (outputs '("out" "doc"))
10329 (source
10330 (origin
10331 (method url-fetch)
10332 (uri (string-append
10333 "https://hackage.haskell.org/package/tf-random/tf-random-"
10334 version
10335 ".tar.gz"))
10336 (sha256
10337 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10338 (build-system haskell-build-system)
10339 (inputs
10340 `(("ghc-primitive" ,ghc-primitive)
10341 ("ghc-random" ,ghc-random)))
10342 (home-page "https://hackage.haskell.org/package/tf-random")
10343 (synopsis "High-quality splittable pseudorandom number generator")
10344 (description "This package contains an implementation of a high-quality
10345splittable pseudorandom number generator. The generator is based on a
10346cryptographic hash function built on top of the ThreeFish block cipher. See
10347the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10348Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10349 (license license:bsd-3)))
10350
10351(define-public ghc-th-abstraction
10352 (package
10353 (name "ghc-th-abstraction")
1188eabb 10354 (version "0.3.1.0")
dddbc90c
RV
10355 (source
10356 (origin
10357 (method url-fetch)
10358 (uri (string-append "https://hackage.haskell.org/package/"
10359 "th-abstraction/th-abstraction-"
10360 version ".tar.gz"))
10361 (sha256
10362 (base32
1188eabb 10363 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
10364 (build-system haskell-build-system)
10365 (home-page "https://github.com/glguy/th-abstraction")
10366 (synopsis "Nicer interface for reified information about data types")
10367 (description
10368 "This package normalizes variations in the interface for inspecting
10369datatype information via Template Haskell so that packages and support a
10370single, easier to use informational datatype while supporting many versions of
10371Template Haskell.")
10372 (license license:isc)))
10373
10374(define-public ghc-th-expand-syns
10375 (package
10376 (name "ghc-th-expand-syns")
8c766600 10377 (version "0.4.5.0")
dddbc90c
RV
10378 (source (origin
10379 (method url-fetch)
10380 (uri (string-append "https://hackage.haskell.org/package/"
10381 "th-expand-syns/th-expand-syns-"
10382 version ".tar.gz"))
10383 (sha256
10384 (base32
8c766600 10385 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
10386 (build-system haskell-build-system)
10387 (inputs
10388 `(("ghc-syb" ,ghc-syb)))
10389 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10390 (synopsis "Expands type synonyms in Template Haskell ASTs")
10391 (description
10392 "This package enables users to expand type synonyms in Template Haskell
10393@dfn{abstract syntax trees} (ASTs).")
10394 (license license:bsd-3)))
10395
10396(define-public ghc-th-lift
10397 (package
10398 (name "ghc-th-lift")
bd76b20a 10399 (version "0.8.0.1")
dddbc90c
RV
10400 (source (origin
10401 (method url-fetch)
10402 (uri (string-append "https://hackage.haskell.org/package/"
10403 "th-lift/th-lift-" version ".tar.gz"))
10404 (sha256
10405 (base32
bd76b20a 10406 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
10407 (build-system haskell-build-system)
10408 (inputs
10409 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10410 (home-page "https://github.com/mboes/th-lift")
10411 (synopsis "Derive Template Haskell's Lift class for datatypes")
10412 (description
10413 "This is a Haskell library to derive Template Haskell's Lift class for
10414datatypes.")
10415 (license license:bsd-3)))
10416
10417(define-public ghc-th-lift-instances
10418 (package
10419 (name "ghc-th-lift-instances")
d3db399e 10420 (version "0.1.14")
dddbc90c
RV
10421 (source
10422 (origin
10423 (method url-fetch)
10424 (uri (string-append "https://hackage.haskell.org/package/"
10425 "th-lift-instances/th-lift-instances-"
10426 version ".tar.gz"))
10427 (sha256
10428 (base32
d3db399e 10429 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
10430 (build-system haskell-build-system)
10431 (inputs
10432 `(("ghc-th-lift" ,ghc-th-lift)
10433 ("ghc-vector" ,ghc-vector)
10434 ("ghc-quickcheck" ,ghc-quickcheck)))
10435 (home-page "https://github.com/bennofs/th-lift-instances/")
10436 (synopsis "Lift instances for template-haskell for common data types.")
10437 (description "Most data types in the Haskell platform do not have Lift
10438instances. This package provides orphan instances for @code{containers},
10439@code{text}, @code{bytestring} and @code{vector}.")
10440 (license license:bsd-3)))
10441
10442(define-public ghc-th-orphans
10443 (package
10444 (name "ghc-th-orphans")
882b23e2 10445 (version "0.13.9")
dddbc90c
RV
10446 (source (origin
10447 (method url-fetch)
10448 (uri (string-append "https://hackage.haskell.org/package/"
10449 "th-orphans/th-orphans-" version ".tar.gz"))
10450 (sha256
10451 (base32
882b23e2 10452 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
10453 (build-system haskell-build-system)
10454 (inputs
10455 `(("ghc-th-lift" ,ghc-th-lift)
10456 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10457 ("ghc-th-reify-many" ,ghc-th-reify-many)
10458 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10459 (native-inputs
10460 `(("ghc-hspec" ,ghc-hspec)))
10461 (home-page "https://hackage.haskell.org/package/th-orphans")
10462 (synopsis "Orphan instances for TH datatypes")
10463 (description
10464 "This package provides orphan instances for Template Haskell datatypes. In particular,
10465instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10466and @code{Eq} instances. These instances used to live in the haskell-src-meta
10467package, and that's where the version number started.")
10468 (license license:bsd-3)))
10469
10470(define-public ghc-threads
10471 (package
10472 (name "ghc-threads")
10473 (version "0.5.1.6")
10474 (source
10475 (origin
10476 (method url-fetch)
10477 (uri (string-append "https://hackage.haskell.org/package/"
10478 "threads/threads-" version ".tar.gz"))
10479 (sha256
10480 (base32
10481 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10482 (build-system haskell-build-system)
10483 (native-inputs
10484 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10485 ("ghc-hunit" ,ghc-hunit)
10486 ("ghc-test-framework" ,ghc-test-framework)
10487 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10488 (home-page "https://github.com/basvandijk/threads")
10489 (synopsis "Fork threads and wait for their result")
10490 (description "This package provides functions to fork threads and
10491wait for their result, whether it's an exception or a normal value.
10492Besides waiting for the termination of a single thread this package also
10493provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10494package is similar to the @code{threadmanager}, @code{async} and
10495@code{spawn} packages. The advantages of this package are:
10496
dddbc90c
RV
10497@itemize
10498@item Simpler API.
10499@item More efficient in both space and time.
10500@item No space-leak when forking a large number of threads.
10501@item Correct handling of asynchronous exceptions.
10502@item GHC specific functionality like @code{forkOn} and
10503@code{forkIOWithUnmask}.
10504@end itemize")
10505 (license license:bsd-3)))
10506
10507(define-public ghc-th-reify-many
10508 (package
10509 (name "ghc-th-reify-many")
32d4a6ae 10510 (version "0.1.9")
dddbc90c
RV
10511 (source (origin
10512 (method url-fetch)
10513 (uri (string-append "https://hackage.haskell.org/package/"
10514 "th-reify-many/th-reify-many-"
10515 version ".tar.gz"))
10516 (sha256
10517 (base32
32d4a6ae 10518 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
10519 (build-system haskell-build-system)
10520 (inputs
10521 `(("ghc-safe" ,ghc-safe)
10522 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10523 (home-page "https://github.com/mgsloan/th-reify-many")
10524 (synopsis "Recurseively reify template haskell datatype info")
10525 (description
10526 "th-reify-many provides functions for recursively reifying top level
10527declarations. The main intended use case is for enumerating the names of
10528datatypes reachable from an initial datatype, and passing these names to some
10529function which generates instances.")
10530 (license license:bsd-3)))
10531
10532(define-public ghc-time-locale-compat
10533 (package
10534 (name "ghc-time-locale-compat")
10535 (version "0.1.1.5")
10536 (source
10537 (origin
10538 (method url-fetch)
10539 (uri (string-append "https://hackage.haskell.org/package/"
10540 "time-locale-compat/time-locale-compat-"
10541 version ".tar.gz"))
10542 (sha256
10543 (base32
10544 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10545 (build-system haskell-build-system)
10546 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10547 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10548 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10549 (description "This package contains a wrapped name module for
10550@code{TimeLocale}.")
10551 (license license:bsd-3)))
10552
7bbfa392
JS
10553(define-public ghc-timeit
10554 (package
10555 (name "ghc-timeit")
10556 (version "2.0")
10557 (source
10558 (origin
10559 (method url-fetch)
10560 (uri
10561 (string-append
10562 "https://hackage.haskell.org/package/timeit/timeit-"
10563 version ".tar.gz"))
10564 (sha256
10565 (base32
10566 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
10567 (build-system haskell-build-system)
10568 (home-page "https://github.com/merijn/timeit")
10569 (synopsis "Time monadic computations with an IO base")
10570 (description "This package provides a simple wrapper to show the
10571used CPU time of monadic computation with an IO base.")
10572 (license license:bsd-3)))
10573
dddbc90c
RV
10574(define-public ghc-tldr
10575 (package
10576 (name "ghc-tldr")
10577 (version "0.4.0.1")
10578 (source
10579 (origin
10580 (method url-fetch)
10581 (uri (string-append
10582 "https://hackage.haskell.org/package/tldr/tldr-"
10583 version
10584 ".tar.gz"))
10585 (sha256
10586 (base32
10587 "0nc581y9jjzwd8l88g48c72mla7k6q1w102akl7gl5jsk9ljamd3"))))
10588 (build-system haskell-build-system)
10589 (inputs
10590 `(("ghc-cmark" ,ghc-cmark)
10591 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10592 ("ghc-typed-process" ,ghc-typed-process)
10593 ("ghc-semigroups" ,ghc-semigroups)))
10594 (native-inputs
10595 `(("ghc-tasty" ,ghc-tasty)
10596 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10597 (home-page "https://github.com/psibi/tldr-hs#readme")
10598 (synopsis "Haskell tldr client")
10599 (description "This package provides the @command{tldr} command and a
10600Haskell client library allowing users to update and view @code{tldr} pages
10601from a shell. The @code{tldr} pages are a community effort to simplify the
10602man pages with practical examples.")
10603 (license license:bsd-3)))
10604
10605(define-public ghc-transformers-base
10606 (package
10607 (name "ghc-transformers-base")
10608 (version "0.4.5.2")
10609 (source
10610 (origin
10611 (method url-fetch)
10612 (uri (string-append
10613 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10614 version
10615 ".tar.gz"))
10616 (sha256
10617 (base32
10618 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10619 (build-system haskell-build-system)
10620 (inputs
10621 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10622 (home-page
10623 "https://hackage.haskell.org/package/transformers-compat")
10624 (synopsis
10625 "Backported transformer library")
10626 (description
10627 "Backported versions of types that were added to transformers in
10628transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10629compatibility to run on old versions of the platform.")
10630 (license license:bsd-3)))
10631
10632(define-public ghc-transformers-compat
10633 (package
10634 (name "ghc-transformers-compat")
1c9c4d58 10635 (version "0.6.5")
dddbc90c
RV
10636 (source
10637 (origin
10638 (method url-fetch)
10639 (uri (string-append
10640 "https://hackage.haskell.org/package/transformers-compat"
10641 "/transformers-compat-" version ".tar.gz"))
10642 (sha256
10643 (base32
1c9c4d58 10644 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
10645 (build-system haskell-build-system)
10646 (home-page "https://github.com/ekmett/transformers-compat/")
10647 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10648 (description "This package includes backported versions of types that were
10649added to transformers in transformers 0.3 and 0.4 for users who need strict
10650transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10651but also need those types.")
10652 (license license:bsd-3)))
10653
10654(define-public ghc-tree-diff
10655 (package
10656 (name "ghc-tree-diff")
10657 (version "0.0.1")
10658 (source
10659 (origin
10660 (method url-fetch)
10661 (uri (string-append
10662 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10663 version
10664 ".tar.gz"))
10665 (sha256
10666 (base32
10667 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10668 (build-system haskell-build-system)
10669 (arguments
10670 `(#:cabal-revision
10671 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10672 #:phases
10673 (modify-phases %standard-phases
10674 (add-before 'configure 'update-constraints
10675 (lambda _
10676 (substitute* "tree-diff.cabal"
10677 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10678 "trifecta >=1.7.1.1 && <=2")))))))
10679 (inputs
10680 `(("ghc-aeson" ,ghc-aeson)
10681 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10682 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10683 ("ghc-base-compat" ,ghc-base-compat)
10684 ("ghc-generics-sop" ,ghc-generics-sop)
10685 ("ghc-hashable" ,ghc-hashable)
10686 ("ghc-memotrie" ,ghc-memotrie)
10687 ("ghc-parsers" ,ghc-parsers)
10688 ("ghc-quickcheck" ,ghc-quickcheck)
10689 ("ghc-scientific" ,ghc-scientific)
10690 ("ghc-tagged" ,ghc-tagged)
10691 ("ghc-unordered-containers" ,ghc-unordered-containers)
10692 ("ghc-uuid-types" ,ghc-uuid-types)
10693 ("ghc-vector" ,ghc-vector)))
10694 (native-inputs
10695 `(("ghc-base-compat" ,ghc-base-compat)
10696 ("ghc-quickcheck" ,ghc-quickcheck)
10697 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10698 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10699 ("ghc-trifecta" ,ghc-trifecta)
10700 ("ghc-tasty" ,ghc-tasty)
10701 ("ghc-tasty-golden" ,ghc-tasty-golden)
10702 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10703 (home-page "https://github.com/phadej/tree-diff")
10704 (synopsis "Compute difference between (expression) trees")
10705 (description "This Haskell library provides a function for computing
10706the difference between (expression) trees. It also provides a way to
10707compute the difference between arbitrary abstract datatypes (ADTs) using
10708@code{Generics}-derivable helpers.")
10709 (license license:bsd-3)))
10710
10711(define-public ghc-trifecta
10712 (package
10713 (name "ghc-trifecta")
10714 (version "2")
10715 (source (origin
10716 (method url-fetch)
10717 (uri (string-append
10718 "https://hackage.haskell.org/package/trifecta/"
10719 "trifecta-" version ".tar.gz"))
10720 (sha256
10721 (base32
10722 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10723 (build-system haskell-build-system)
10724 (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
10725 (inputs
10726 `(("ghc-reducers" ,ghc-reducers)
10727 ("ghc-semigroups" ,ghc-semigroups)
10728 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10729 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10730 ("ghc-blaze-builder" ,ghc-blaze-builder)
10731 ("ghc-blaze-html" ,ghc-blaze-html)
10732 ("ghc-blaze-markup" ,ghc-blaze-markup)
10733 ("ghc-charset" ,ghc-charset)
10734 ("ghc-comonad" ,ghc-comonad)
10735 ("ghc-fingertree" ,ghc-fingertree)
10736 ("ghc-hashable" ,ghc-hashable)
10737 ("ghc-lens" ,ghc-lens)
10738 ("ghc-parsers" ,ghc-parsers)
10739 ("ghc-profunctors" ,ghc-profunctors)
10740 ("ghc-unordered-containers" ,ghc-unordered-containers)
10741 ("ghc-utf8-string" ,ghc-utf8-string)))
10742 (native-inputs
10743 `(("cabal-doctest" ,cabal-doctest)
10744 ("ghc-doctest" ,ghc-doctest)
10745 ("ghc-quickcheck" ,ghc-quickcheck)))
10746 (home-page "https://github.com/ekmett/trifecta/")
10747 (synopsis "Parser combinator library with convenient diagnostics")
10748 (description "Trifecta is a modern parser combinator library for Haskell,
10749with slicing and Clang-style colored diagnostics.")
10750 (license license:bsd-3)))
10751
10752(define-public ghc-tuple-th
10753 (package
10754 (name "ghc-tuple-th")
10755 (version "0.2.5")
10756 (source
10757 (origin
10758 (method url-fetch)
10759 (uri (string-append "https://hackage.haskell.org/package/"
10760 "tuple-th-" version "/"
10761 "tuple-th-" version ".tar.gz"))
10762 (sha256
10763 (base32
10764 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10765 (build-system haskell-build-system)
10766 (home-page "https://github.com/DanielSchuessler/tuple-th")
10767 (synopsis "Generate utility functions for tuples of statically known size
10768for Haskell")
10769 (description "This Haskell package contains Template Haskell functions for
10770generating functions similar to those in @code{Data.List} for tuples of
10771statically known size.")
10772 (license license:bsd-3)))
10773
10774(define-public ghc-typed-process
10775 (package
10776 (name "ghc-typed-process")
72fb84a5 10777 (version "0.2.6.0")
dddbc90c
RV
10778 (source
10779 (origin
10780 (method url-fetch)
10781 (uri (string-append "https://hackage.haskell.org/package/"
10782 "typed-process/typed-process-"
10783 version ".tar.gz"))
10784 (sha256
10785 (base32
72fb84a5 10786 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
10787 (build-system haskell-build-system)
10788 (inputs
72fb84a5
TS
10789 `(("ghc-async" ,ghc-async)
10790 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
10791 (native-inputs
10792 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10793 ("ghc-hspec" ,ghc-hspec)
10794 ("hspec-discover" ,hspec-discover)
10795 ("ghc-temporary" ,ghc-temporary)))
10796 (home-page "https://haskell-lang.org/library/typed-process")
10797 (synopsis "Run external processes with strong typing of streams")
10798 (description
10799 "This library provides the ability to launch and interact with external
10800processes. It wraps around the @code{process} library, and intends to improve
10801upon it.")
10802 (license license:expat)))
10803
d392f803
AG
10804(define-public ghc-unagi-chan
10805 (package
10806 (name "ghc-unagi-chan")
10807 (version "0.4.1.2")
10808 (source
10809 (origin
10810 (method url-fetch)
10811 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
10812 "/unagi-chan-" version ".tar.gz"))
10813 (sha256
10814 (base32
10815 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
10816 (build-system haskell-build-system)
10817 (inputs
10818 `(("ghc-atomic-primops" ,ghc-atomic-primops)
10819 ("ghc-primitive" ,ghc-primitive)))
10820 (arguments
10821 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
10822 #:cabal-revision
10823 ("1"
10824 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
10825 (home-page "http://hackage.haskell.org/package/unagi-chan")
10826 (synopsis "Fast concurrent queues with a Chan-like API, and more")
10827 (description
10828 "This library provides implementations of concurrent FIFO queues (for
10829both general boxed and primitive unboxed values) that are fast, perform well
10830under contention, and offer a Chan-like interface. The library may be of
10831limited usefulness outside of x86 architectures where the fetch-and-add
10832instruction is not available.")
10833 (license license:bsd-3)))
10834
dddbc90c
RV
10835(define-public ghc-unbounded-delays
10836 (package
10837 (name "ghc-unbounded-delays")
10838 (version "0.1.1.0")
10839 (source
10840 (origin
10841 (method url-fetch)
10842 (uri (string-append
10843 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
10844 version
10845 ".tar.gz"))
10846 (sha256
10847 (base32
10848 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
10849 (build-system haskell-build-system)
10850 (home-page "https://github.com/basvandijk/unbounded-delays")
10851 (synopsis "Unbounded thread delays and timeouts")
10852 (description "The @code{threadDelay} and @code{timeout} functions from the
10853Haskell base library use the bounded @code{Int} type for specifying the delay
10854or timeout period. This package provides alternative functions which use the
10855unbounded @code{Integer} type.")
10856 (license license:bsd-3)))
10857
10858(define-public ghc-unexceptionalio
10859 (package
10860 (name "ghc-unexceptionalio")
10861 (version "0.4.0")
10862 (source
10863 (origin
10864 (method url-fetch)
10865 (uri (string-append "https://hackage.haskell.org/package/"
10866 "unexceptionalio-" version "/" "unexceptionalio-"
10867 version ".tar.gz"))
10868 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
10869 (build-system haskell-build-system)
10870 (home-page "https://github.com/singpolyma/unexceptionalio")
10871 (synopsis "IO without any non-error, synchronous exceptions")
10872 (description "When you've caught all the exceptions that can be
10873handled safely, this is what you're left with.")
10874 (license license:isc)))
10875
10876(define-public ghc-union-find
10877 (package
10878 (name "ghc-union-find")
10879 (version "0.2")
10880 (source (origin
10881 (method url-fetch)
10882 (uri (string-append
10883 "https://hackage.haskell.org/package/union-find/union-find-"
10884 version ".tar.gz"))
10885 (sha256
10886 (base32
10887 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
10888 (build-system haskell-build-system)
10889 (home-page "https://github.com/nominolo/union-find")
10890 (synopsis "Efficient union and equivalence testing of sets")
10891 (description
10892 "The Union/Find algorithm implements these operations in (effectively)
10893constant-time:
10894@enumerate
10895@item Check whether two elements are in the same equivalence class.
10896@item Create a union of two equivalence classes.
10897@item Look up the descriptor of the equivalence class.
10898@end enumerate\n")
10899 (license license:bsd-3)))
10900
10901(define-public ghc-uniplate
10902 (package
10903 (name "ghc-uniplate")
10904 (version "1.6.12")
10905 (source
10906 (origin
10907 (method url-fetch)
10908 (uri (string-append
10909 "https://hackage.haskell.org/package/uniplate/uniplate-"
10910 version
10911 ".tar.gz"))
10912 (sha256
10913 (base32
10914 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
10915 (build-system haskell-build-system)
10916 (inputs
10917 `(("ghc-syb" ,ghc-syb)
10918 ("ghc-hashable" ,ghc-hashable)
10919 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10920 (home-page "http://community.haskell.org/~ndm/uniplate/")
10921 (synopsis "Simple, concise and fast generic operations")
10922 (description "Uniplate is a library for writing simple and concise generic
10923operations. Uniplate has similar goals to the original Scrap Your Boilerplate
10924work, but is substantially simpler and faster.")
10925 (license license:bsd-3)))
10926
10927(define-public ghc-unix-compat
10928 (package
10929 (name "ghc-unix-compat")
bc82e9f5 10930 (version "0.5.2")
dddbc90c
RV
10931 (source
10932 (origin
10933 (method url-fetch)
10934 (uri (string-append
10935 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
10936 version
10937 ".tar.gz"))
10938 (sha256
10939 (base32
bc82e9f5 10940 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
10941 (build-system haskell-build-system)
10942 (home-page
10943 "https://github.com/jystic/unix-compat")
10944 (synopsis "Portable POSIX-compatibility layer")
10945 (description
10946 "This package provides portable implementations of parts of the unix
10947package. This package re-exports the unix package when available. When it
10948isn't available, portable implementations are used.")
10949 (license license:bsd-3)))
10950
10951(define-public ghc-unix-time
10952 (package
10953 (name "ghc-unix-time")
fad9cff2 10954 (version "0.4.7")
dddbc90c
RV
10955 (source
10956 (origin
10957 (method url-fetch)
10958 (uri (string-append
10959 "https://hackage.haskell.org/package/unix-time/unix-time-"
10960 version
10961 ".tar.gz"))
10962 (sha256
10963 (base32
fad9cff2 10964 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
10965 (build-system haskell-build-system)
10966 (arguments
10967 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
10968 ; is weird, that should be provided by GHC 7.10.2.
10969 (inputs
10970 `(("ghc-old-time" ,ghc-old-time)
10971 ("ghc-old-locale" ,ghc-old-locale)))
10972 (home-page "https://hackage.haskell.org/package/unix-time")
10973 (synopsis "Unix time parser/formatter and utilities")
10974 (description "This library provides fast parsing and formatting utilities
10975for Unix time in Haskell.")
10976 (license license:bsd-3)))
10977
10978(define-public ghc-unliftio
10979 (package
10980 (name "ghc-unliftio")
a4084db1 10981 (version "0.2.12")
dddbc90c
RV
10982 (source
10983 (origin
10984 (method url-fetch)
10985 (uri (string-append
10986 "https://hackage.haskell.org/package/unliftio/unliftio-"
10987 version
10988 ".tar.gz"))
10989 (sha256
10990 (base32
a4084db1 10991 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
10992 (build-system haskell-build-system)
10993 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
10994 (inputs
10995 `(("ghc-async" ,ghc-async)
10996 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10997 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
10998 (home-page "https://github.com/fpco/unliftio")
10999 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
11000IO (batteries included)")
11001 (description "This Haskell package provides the core @code{MonadUnliftIO}
11002typeclass, a number of common instances, and a collection of common functions
11003working with it.")
11004 (license license:expat)))
11005
11006(define-public ghc-unliftio-core
11007 (package
11008 (name "ghc-unliftio-core")
2ae42618 11009 (version "0.1.2.0")
dddbc90c
RV
11010 (source
11011 (origin
11012 (method url-fetch)
11013 (uri (string-append "https://hackage.haskell.org/package/"
11014 "unliftio-core-" version "/"
11015 "unliftio-core-" version ".tar.gz"))
11016 (sha256
11017 (base32
2ae42618 11018 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
11019 (build-system haskell-build-system)
11020 (arguments
11021 `(#:cabal-revision
2ae42618 11022 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
11023 (home-page
11024 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
11025 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
11026 (description "This Haskell package provides the core @code{MonadUnliftIO}
11027typeclass, instances for base and transformers, and basic utility
11028functions.")
11029 (license license:expat)))
11030
11031(define-public ghc-unordered-containers
11032 (package
11033 (name "ghc-unordered-containers")
ca01f8d3 11034 (version "0.2.10.0")
dddbc90c
RV
11035 (outputs '("out" "doc"))
11036 (source
11037 (origin
11038 (method url-fetch)
11039 (uri (string-append
11040 "https://hackage.haskell.org/package/unordered-containers"
11041 "/unordered-containers-" version ".tar.gz"))
11042 (sha256
11043 (base32
ca01f8d3 11044 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
11045 (build-system haskell-build-system)
11046 (inputs
11047 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
11048 ("ghc-hunit" ,ghc-hunit)
11049 ("ghc-quickcheck" ,ghc-quickcheck)
11050 ("ghc-test-framework" ,ghc-test-framework)
11051 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11052 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11053 ("ghc-hashable" ,ghc-hashable)))
11054 (home-page
11055 "https://github.com/tibbe/unordered-containers")
11056 (synopsis
11057 "Efficient hashing-based container types")
11058 (description
11059 "Efficient hashing-based container types. The containers have been
11060optimized for performance critical use, both in terms of large data quantities
11061and high speed.")
11062 (license license:bsd-3)))
11063
11064(define-public ghc-unordered-containers-bootstrap
11065 (package
11066 (inherit ghc-unordered-containers)
11067 (name "ghc-unordered-containers-bootstrap")
11068 (arguments `(#:tests? #f))
11069 (inputs
11070 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11071 (properties '((hidden? #t)))))
dddbc90c 11072
a52f4c57
JS
11073(define-public ghc-unsafe
11074 (package
11075 (name "ghc-unsafe")
11076 (version "0.0")
11077 (source
11078 (origin
11079 (method url-fetch)
11080 (uri
11081 (string-append
11082 "https://hackage.haskell.org/package/unsafe/unsafe-"
11083 version ".tar.gz"))
11084 (sha256
11085 (base32
11086 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
11087 (build-system haskell-build-system)
11088 (home-page "https://hackage.haskell.org/package/unsafe")
11089 (synopsis "Unified interface to unsafe functions")
11090 (description "Safe Haskell introduced the notion of safe and unsafe
11091modules. In order to make as many as possible modules ``safe'', the
11092well-known unsafe functions were moved to distinguished modules. This
11093makes it hard to write packages that work with both old and new versions
11094of GHC. This package provides a single module System.Unsafe that
11095exports the unsafe functions from the base package. It provides them in
11096a style ready for qualification, that is, you should import them by
11097@code{import qualified System.Unsafe as Unsafe}.")
11098 (license license:bsd-3)))
11099
dddbc90c
RV
11100(define-public ghc-uri-bytestring
11101 (package
11102 (name "ghc-uri-bytestring")
11103 (version "0.3.2.0")
11104 (source
11105 (origin
11106 (method url-fetch)
11107 (uri (string-append "https://hackage.haskell.org/package/"
11108 "uri-bytestring-" version "/"
11109 "uri-bytestring-" version ".tar.gz"))
11110 (sha256
11111 (base32
11112 "1q04j5ybvk37zk2m0bkjwyhblz0ymdj0cn4rvsvdca1ikn5xdv5c"))))
11113 (build-system haskell-build-system)
11114 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11115 ("ghc-fail" ,ghc-fail)
11116 ("ghc-blaze-builder" ,ghc-blaze-builder)
11117 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
11118 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11119 ("ghc-hunit" ,ghc-hunit)
11120 ("ghc-quickcheck" ,ghc-quickcheck)
11121 ("ghc-tasty" ,ghc-tasty)
11122 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11123 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11124 ("ghc-base-compat" ,ghc-base-compat)
11125 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11126 ("ghc-semigroups" ,ghc-semigroups)
11127 ("ghc-generics-sop" ,ghc-generics-sop)))
11128 (home-page "https://github.com/Soostone/uri-bytestring")
11129 (synopsis "Haskell URI parsing as ByteStrings")
11130 (description "This Haskell package aims to be an RFC3986 compliant URI
11131parser that uses ByteStrings for parsing and representing the URI data.")
11132 (license license:bsd-3)))
11133
11134(define-public ghc-utf8-string
11135 (package
11136 (name "ghc-utf8-string")
11137 (version "1.0.1.1")
11138 (source
11139 (origin
11140 (method url-fetch)
11141 (uri (string-append
11142 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
11143 version
11144 ".tar.gz"))
11145 (sha256
11146 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
11147 (build-system haskell-build-system)
11148 (arguments
11149 `(#:cabal-revision
11150 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
11151 (home-page "https://github.com/glguy/utf8-string/")
11152 (synopsis "Support for reading and writing UTF8 Strings")
11153 (description
11154 "A UTF8 layer for Strings. The utf8-string package provides operations
11155for encoding UTF8 strings to Word8 lists and back, and for reading and writing
11156UTF8 without truncation.")
11157 (license license:bsd-3)))
11158
11159(define-public ghc-utility-ht
11160 (package
11161 (name "ghc-utility-ht")
11162 (version "0.0.14")
11163 (home-page "https://hackage.haskell.org/package/utility-ht")
11164 (source
11165 (origin
11166 (method url-fetch)
11167 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
11168 (sha256
11169 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
11170 (build-system haskell-build-system)
11171 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
11172 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
11173 (description "This package includes Hakell modules providing various
11174helper functions for Lists, Maybes, Tuples, Functions.")
11175 (license license:bsd-3)))
11176
11177(define-public ghc-uuid
11178 (package
11179 (name "ghc-uuid")
11180 (version "1.3.13")
11181 (source
11182 (origin
11183 (method url-fetch)
11184 (uri (string-append "https://hackage.haskell.org/package/"
11185 "uuid-" version "/"
11186 "uuid-" version ".tar.gz"))
11187 (sha256
11188 (base32
11189 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
11190 (build-system haskell-build-system)
11191 (arguments
11192 `(#:cabal-revision
11193 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
11194 #:phases
11195 (modify-phases %standard-phases
11196 (add-before 'configure 'strip-test-framework-constraints
11197 (lambda _
11198 (substitute* "uuid.cabal"
11199 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
11200 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
11201 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11202 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11203 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11204 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
11205 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
11206 ("ghc-entropy" ,ghc-entropy)
11207 ("ghc-network-info" ,ghc-network-info)
11208 ("ghc-random" ,ghc-random)
11209 ("ghc-uuid-types" ,ghc-uuid-types)))
11210 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11211 ("ghc-quickcheck" ,ghc-quickcheck)
11212 ("ghc-tasty" ,ghc-tasty)
11213 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11214 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11215 (home-page "https://github.com/hvr/uuid")
11216 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
11217 (description "This Haskell library provides utilities creating, comparing,
11218parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
11219 (license license:bsd-3)))
11220
11221(define-public ghc-uuid-types
11222 (package
11223 (name "ghc-uuid-types")
11224 (version "1.0.3")
11225 (source
11226 (origin
11227 (method url-fetch)
11228 (uri (string-append "https://hackage.haskell.org/package/"
11229 "uuid-types-" version "/"
11230 "uuid-types-" version ".tar.gz"))
11231 (sha256
11232 (base32
11233 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
11234 (build-system haskell-build-system)
11235 (arguments
11236 `(#:phases
11237 (modify-phases %standard-phases
11238 (add-before 'configure 'strip-test-framework-constraints
11239 (lambda _
11240 (substitute* "uuid-types.cabal"
11241 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
11242 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
11243 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11244 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11245 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11246 (inputs `(("ghc-hashable" ,ghc-hashable)
11247 ("ghc-random" ,ghc-random)))
11248 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11249 ("ghc-quickcheck" ,ghc-quickcheck)
11250 ("ghc-tasty" ,ghc-tasty)
11251 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11252 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11253 (home-page "https://github.com/hvr/uuid")
11254 (synopsis "Haskell type definitions for UUIDs")
11255 (description "This Haskell library contains type definitions for
11256@dfn{Universally Unique Identifiers} or
11257@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
11258functions.")
11259 (license license:bsd-3)))
11260
11261(define-public ghc-validation
11262 (package
11263 (name "ghc-validation")
11264 (version "1")
11265 (source
11266 (origin
11267 (method url-fetch)
11268 (uri (string-append
11269 "mirror://hackage/package/validation/validation-"
11270 version
11271 ".tar.gz"))
11272 (sha256
11273 (base32
11274 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
11275 (build-system haskell-build-system)
11276 (arguments
11277 `(#:cabal-revision
11278 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
11279 (inputs
11280 `(("ghc-semigroups" ,ghc-semigroups)
11281 ("ghc-semigroupoids" ,ghc-semigroupoids)
11282 ("ghc-bifunctors" ,ghc-bifunctors)
11283 ("ghc-lens" ,ghc-lens)))
11284 (native-inputs
11285 `(("ghc-hedgehog" ,ghc-hedgehog)
11286 ("ghc-hunit" ,ghc-hunit)))
11287 (home-page "https://github.com/qfpl/validation")
11288 (synopsis
11289 "Data-type like Either but with an accumulating Applicative")
11290 (description
11291 "A data-type like Either but with differing properties and type-class
11292instances.
11293
11294Library support is provided for this different representation, including
11295@code{lens}-related functions for converting between each and abstracting over
11296their similarities.
11297
11298The @code{Validation} data type is isomorphic to @code{Either}, but has an
11299instance of @code{Applicative} that accumulates on the error side. That is to
11300say, if two (or more) errors are encountered, they are appended using a
11301@{Semigroup} operation.
11302
11303As a consequence of this @code{Applicative} instance, there is no
11304corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11305example of, \"An applicative functor that is not a monad.\"")
11306 (license license:bsd-3)))
11307
11308(define-public ghc-validity
11309 (package
11310 (name "ghc-validity")
3f1ba75d 11311 (version "0.9.0.2")
dddbc90c
RV
11312 (source
11313 (origin
11314 (method url-fetch)
11315 (uri (string-append
11316 "https://hackage.haskell.org/package/validity/validity-"
11317 version
11318 ".tar.gz"))
11319 (sha256
11320 (base32
3f1ba75d 11321 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
11322 (build-system haskell-build-system)
11323 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11324 ("hspec-discover" ,hspec-discover)))
11325 (home-page
11326 "https://github.com/NorfairKing/validity")
11327 (synopsis "Validity typeclass")
11328 (description
11329 "Values of custom types usually have invariants imposed upon them. This
11330package provides the @code{Validity} type class, which makes these invariants
11331explicit by providing a function to check whether the invariants hold.")
11332 (license license:expat)))
11333
11334(define-public ghc-vault
11335 (package
11336 (name "ghc-vault")
11337 (version "0.3.1.2")
11338 (source
11339 (origin
11340 (method url-fetch)
11341 (uri (string-append
11342 "https://hackage.haskell.org/package/vault/vault-"
11343 version
11344 ".tar.gz"))
11345 (sha256
11346 (base32
11347 "072mbrihsdsb8c6xvg6lvk0rqjgvxvi8qkg4n6wwym5hq0pfa04y"))))
11348 (build-system haskell-build-system)
11349 (inputs
11350 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11351 ("ghc-hashable" ,ghc-hashable)
11352 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11353 (home-page
11354 "https://github.com/HeinrichApfelmus/vault")
11355 (synopsis "Persistent store for arbitrary values")
11356 (description "This package provides vaults for Haskell. A vault is a
11357persistent store for values of arbitrary types. It's like having first-class
11358access to the storage space behind @code{IORefs}. The data structure is
11359analogous to a bank vault, where you can access different bank boxes with
11360different keys; hence the name. Also provided is a @code{locker} type,
11361representing a store for a single element.")
11362 (license license:bsd-3)))
11363
11364(define-public ghc-vector
11365 (package
11366 (name "ghc-vector")
3ad67f6b 11367 (version "0.12.0.3")
dddbc90c
RV
11368 (outputs '("out" "doc"))
11369 (source
11370 (origin
11371 (method url-fetch)
11372 (uri (string-append
11373 "https://hackage.haskell.org/package/vector/vector-"
11374 version
11375 ".tar.gz"))
11376 (sha256
11377 (base32
3ad67f6b 11378 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
11379 (build-system haskell-build-system)
11380 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11381 ;; disabled for now.
11382 (arguments
3ad67f6b 11383 `(#:tests? #f))
dddbc90c
RV
11384 (inputs
11385 `(("ghc-primitive" ,ghc-primitive)
11386 ("ghc-random" ,ghc-random)
11387 ("ghc-quickcheck" ,ghc-quickcheck)
11388 ;; ("ghc-hunit" ,ghc-hunit)
11389 ;; ("ghc-test-framework" ,ghc-test-framework)
11390 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11391 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11392 ))
11393 (home-page "https://github.com/haskell/vector")
11394 (synopsis "Efficient Arrays")
11395 (description "This library provides an efficient implementation of
11396Int-indexed arrays (both mutable and immutable), with a powerful loop
11397optimisation framework.")
11398 (license license:bsd-3)))
11399
11400(define-public ghc-vector-algorithms
11401 (package
11402 (name "ghc-vector-algorithms")
e71f316f 11403 (version "0.8.0.1")
dddbc90c
RV
11404 (source
11405 (origin
11406 (method url-fetch)
11407 (uri (string-append "https://hackage.haskell.org/package/"
11408 "vector-algorithms-" version "/"
11409 "vector-algorithms-" version ".tar.gz"))
11410 (sha256
11411 (base32
e71f316f 11412 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
11413 (build-system haskell-build-system)
11414 (inputs
11415 `(("ghc-vector" ,ghc-vector)))
11416 (native-inputs
11417 `(("ghc-quickcheck" ,ghc-quickcheck)))
11418 (home-page "https://github.com/bos/math-functions")
11419 (synopsis "Algorithms for vector arrays in Haskell")
11420 (description "This Haskell library algorithms for vector arrays.")
11421 (license license:bsd-3)))
11422
11423(define-public ghc-vector-binary-instances
11424 (package
11425 (name "ghc-vector-binary-instances")
ca0701ef 11426 (version "0.2.5.1")
dddbc90c
RV
11427 (source
11428 (origin
11429 (method url-fetch)
11430 (uri (string-append
11431 "https://hackage.haskell.org/package/"
11432 "vector-binary-instances/vector-binary-instances-"
11433 version ".tar.gz"))
11434 (sha256
11435 (base32
ca0701ef 11436 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 11437 (build-system haskell-build-system)
dddbc90c
RV
11438 (inputs
11439 `(("ghc-vector" ,ghc-vector)))
11440 (native-inputs
11441 `(("ghc-tasty" ,ghc-tasty)
11442 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11443 (home-page "https://github.com/bos/vector-binary-instances")
11444 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11445 (description "This library provides instances of @code{Binary} for the
11446types defined in the @code{vector} package, making it easy to serialize
11447vectors to and from disk. We use the generic interface to vectors, so all
11448vector types are supported. Specific instances are provided for unboxed,
11449boxed and storable vectors.")
11450 (license license:bsd-3)))
11451
11452(define-public ghc-vector-builder
11453 (package
11454 (name "ghc-vector-builder")
11455 (version "0.3.6")
11456 (source
11457 (origin
11458 (method url-fetch)
11459 (uri (string-append "https://hackage.haskell.org/package/"
11460 "vector-builder-" version "/"
11461 "vector-builder-" version ".tar.gz"))
11462 (sha256
11463 (base32
11464 "06d2pa1fb3ydrl7l6rjazqyxv5i73v65x2f5fp0ypjxfbm6jsmn8"))))
11465 (build-system haskell-build-system)
11466 (inputs `(("ghc-vector" ,ghc-vector)
11467 ("ghc-semigroups" ,ghc-semigroups)
11468 ("ghc-base-prelude" ,ghc-base-prelude)))
11469 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11470 ("ghc-tasty" ,ghc-tasty)
11471 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11472 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11473 ("ghc-hunit" ,ghc-hunit)
11474 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11475 ("ghc-rerebase" ,ghc-rerebase)))
11476 (home-page "https://github.com/nikita-volkov/vector-builder")
11477 (synopsis "Vector builder for Haskell")
11478 (description "This Haskell package provides an API for constructing vectors.
11479It provides the composable @code{Builder} abstraction, which has instances of the
11480@code{Monoid} and @code{Semigroup} classes.
11481
11482You would first use the @code{Builder} abstraction to specify the structure of
11483the vector; then you can execute the builder to actually produce the
11484vector. ")
11485 (license license:expat)))
11486
11487(define-public ghc-vector-th-unbox
11488 (package
11489 (name "ghc-vector-th-unbox")
63056e61 11490 (version "0.2.1.7")
dddbc90c
RV
11491 (source
11492 (origin
11493 (method url-fetch)
11494 (uri (string-append "https://hackage.haskell.org/package/"
11495 "vector-th-unbox-" version "/"
11496 "vector-th-unbox-" version ".tar.gz"))
11497 (sha256
11498 (base32
63056e61 11499 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
11500 (build-system haskell-build-system)
11501 (inputs
11502 `(("ghc-vector" ,ghc-vector)
11503 ("ghc-data-default" ,ghc-data-default)))
11504 (home-page "https://github.com/liyang/vector-th-unbox")
11505 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
11506 (description "This Haskell library provides a Template Haskell
11507deriver for unboxed vectors, given a pair of coercion functions to
11508and from some existing type with an Unbox instance.")
11509 (license license:bsd-3)))
11510
11511(define-public ghc-void
11512 (package
11513 (name "ghc-void")
51889121 11514 (version "0.7.3")
dddbc90c
RV
11515 (source
11516 (origin
11517 (method url-fetch)
11518 (uri (string-append
11519 "https://hackage.haskell.org/package/void/void-"
11520 version
11521 ".tar.gz"))
11522 (sha256
11523 (base32
51889121 11524 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
11525 (build-system haskell-build-system)
11526 (inputs
11527 `(("ghc-semigroups" ,ghc-semigroups)
11528 ("ghc-hashable" ,ghc-hashable)))
11529 (home-page "https://github.com/ekmett/void")
11530 (synopsis
11531 "Logically uninhabited data type")
11532 (description
11533 "A Haskell 98 logically uninhabited data type, used to indicate that a
11534given term should not exist.")
11535 (license license:bsd-3)))
11536
11537(define-public ghc-wave
11538 (package
11539 (name "ghc-wave")
1631a0f7 11540 (version "0.2.0")
dddbc90c
RV
11541 (source (origin
11542 (method url-fetch)
11543 (uri (string-append
11544 "https://hackage.haskell.org/package/wave/wave-"
11545 version
11546 ".tar.gz"))
11547 (sha256
11548 (base32
1631a0f7 11549 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
11550 (build-system haskell-build-system)
11551 (arguments
11552 '(#:phases
11553 (modify-phases %standard-phases
11554 (add-before 'configure 'update-constraints
11555 (lambda _
11556 (substitute* "wave.cabal"
11557 (("temporary.* < 1\\.3")
11558 "temporary >= 1.1 && < 1.4")))))))
11559 (inputs
11560 `(("ghc-cereal" ,ghc-cereal)
11561 ("ghc-data-default-class"
11562 ,ghc-data-default-class)
11563 ("ghc-quickcheck" ,ghc-quickcheck)
11564 ("ghc-temporary" ,ghc-temporary)))
11565 (native-inputs
11566 `(("hspec-discover" ,hspec-discover)
11567 ("ghc-hspec" ,ghc-hspec)))
11568 (home-page "https://github.com/mrkkrp/wave")
11569 (synopsis "Work with WAVE and RF64 files in Haskell")
11570 (description "This package allows you to work with WAVE and RF64
11571files in Haskell.")
11572 (license license:bsd-3)))
11573
11574(define-public ghc-wcwidth
11575 (package
11576 (name "ghc-wcwidth")
11577 (version "0.0.2")
11578 (source
11579 (origin
11580 (method url-fetch)
11581 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11582 version ".tar.gz"))
11583 (sha256
11584 (base32
11585 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11586 (build-system haskell-build-system)
11587 (inputs
11588 `(("ghc-setlocale" ,ghc-setlocale)
11589 ("ghc-utf8-string" ,ghc-utf8-string)
11590 ("ghc-attoparsec" ,ghc-attoparsec)))
11591 (home-page "https://github.com/solidsnack/wcwidth/")
11592 (synopsis "Haskell bindings to wcwidth")
11593 (description "This package provides Haskell bindings to your system's
11594native wcwidth and a command line tool to examine the widths assigned by it.
11595The command line tool can compile a width table to Haskell code that assigns
11596widths to the Char type.")
11597 (license license:bsd-3)))
11598
11599(define-public ghc-wcwidth-bootstrap
11600 (package
11601 (inherit ghc-wcwidth)
11602 (name "ghc-wcwidth-bootstrap")
11603 (inputs
11604 `(("ghc-setlocale" ,ghc-setlocale)
11605 ("ghc-utf8-string" ,ghc-utf8-string)
11606 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 11607 (properties '((hidden? #t)))))
dddbc90c
RV
11608
11609(define-public ghc-weigh
11610 (package
11611 (name "ghc-weigh")
b6d9777f 11612 (version "0.0.14")
dddbc90c
RV
11613 (source
11614 (origin
11615 (method url-fetch)
11616 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11617 "weigh-" version ".tar.gz"))
11618 (sha256
11619 (base32
b6d9777f 11620 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
11621 (build-system haskell-build-system)
11622 (inputs
11623 `(("ghc-split" ,ghc-split)
11624 ("ghc-temporary" ,ghc-temporary)))
11625 (home-page "https://github.com/fpco/weigh#readme")
11626 (synopsis "Measure allocations of a Haskell functions/values")
11627 (description "This package provides tools to measure the memory usage of a
11628Haskell value or function.")
11629 (license license:bsd-3)))
11630
11631(define-public ghc-wl-pprint
11632 (package
11633 (name "ghc-wl-pprint")
11634 (version "1.2.1")
11635 (source (origin
11636 (method url-fetch)
11637 (uri (string-append
11638 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11639 version ".tar.gz"))
11640 (sha256
11641 (base32
11642 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11643 (build-system haskell-build-system)
11644 (home-page "https://hackage.haskell.org/package/wl-pprint")
11645 (synopsis "Wadler/Leijen pretty printer")
11646 (description
11647 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11648Printer}. This version allows the library user to declare overlapping
11649instances of the @code{Pretty} class.")
11650 (license license:bsd-3)))
11651
11652(define-public ghc-wl-pprint-annotated
11653 (package
11654 (name "ghc-wl-pprint-annotated")
11655 (version "0.1.0.1")
11656 (source
11657 (origin
11658 (method url-fetch)
11659 (uri (string-append
11660 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11661 version
11662 ".tar.gz"))
11663 (sha256
11664 (base32
11665 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11666 (build-system haskell-build-system)
11667 (native-inputs
11668 `(("ghc-tasty" ,ghc-tasty)
11669 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11670 (home-page
11671 "https://github.com/minad/wl-pprint-annotated#readme")
11672 (synopsis
11673 "Wadler/Leijen pretty printer with annotation support")
11674 (description
11675 "Annotations are useful for coloring. This is a limited version of
11676@code{wl-pprint-extras} without support for point effects and without the free
11677monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11678Compared to @code{annotated-wl-pprint} this library provides a slightly
11679modernized interface.")
11680 (license license:bsd-3)))
11681
11682(define-public ghc-wl-pprint-text
11683 (package
11684 (name "ghc-wl-pprint-text")
11685 (version "1.2.0.0")
11686 (source
11687 (origin
11688 (method url-fetch)
11689 (uri (string-append
11690 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11691 version ".tar.gz"))
11692 (sha256
11693 (base32
11694 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11695 (build-system haskell-build-system)
11696 (inputs
11697 `(("ghc-base-compat" ,ghc-base-compat)))
11698 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11699 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11700 (description
11701 "A clone of wl-pprint for use with the text library.")
11702 (license license:bsd-3)))
11703
11704(define-public ghc-word8
11705 (package
11706 (name "ghc-word8")
11707 (version "0.1.3")
11708 (source
11709 (origin
11710 (method url-fetch)
11711 (uri (string-append
11712 "https://hackage.haskell.org/package/word8/word8-"
11713 version
11714 ".tar.gz"))
11715 (sha256
11716 (base32
11717 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11718 (build-system haskell-build-system)
11719 (native-inputs
11720 `(("ghc-hspec" ,ghc-hspec)
11721 ("hspec-discover" ,hspec-discover)))
11722 (home-page "https://hackage.haskell.org/package/word8")
11723 (synopsis "Word8 library for Haskell")
11724 (description "Word8 library to be used with @code{Data.ByteString}.")
11725 (license license:bsd-3)))
11726
11727(define-public ghc-x11
11728 (package
11729 (name "ghc-x11")
6c4581a3 11730 (version "1.9.1")
dddbc90c
RV
11731 (source
11732 (origin
11733 (method url-fetch)
11734 (uri (string-append "https://hackage.haskell.org/package/X11/"
11735 "X11-" version ".tar.gz"))
11736 (sha256
6c4581a3 11737 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
11738 (build-system haskell-build-system)
11739 (inputs
11740 `(("libx11" ,libx11)
11741 ("libxrandr" ,libxrandr)
11742 ("libxinerama" ,libxinerama)
11743 ("libxscrnsaver" ,libxscrnsaver)
11744 ("ghc-data-default" ,ghc-data-default)))
11745 (home-page "https://github.com/haskell-pkg-janitors/X11")
11746 (synopsis "Bindings to the X11 graphics library")
11747 (description
11748 "This package provides Haskell bindings to the X11 graphics library. The
11749bindings are a direct translation of the C bindings.")
11750 (license license:bsd-3)))
11751
11752(define-public ghc-x11-xft
11753 (package
11754 (name "ghc-x11-xft")
11755 (version "0.3.1")
11756 (source
11757 (origin
11758 (method url-fetch)
11759 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11760 "X11-xft-" version ".tar.gz"))
11761 (sha256
11762 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11763 (inputs
11764 `(("ghc-x11" ,ghc-x11)
11765 ("ghc-utf8-string" ,ghc-utf8-string)
11766 ("libx11" ,libx11)
11767 ("libxft" ,libxft)
11768 ("xorgproto" ,xorgproto)))
11769 (native-inputs
11770 `(("pkg-config" ,pkg-config)))
11771 (build-system haskell-build-system)
11772 (home-page "https://hackage.haskell.org/package/X11-xft")
11773 (synopsis "Bindings to Xft")
11774 (description
11775 "Bindings to the Xft, X Free Type interface library, and some Xrender
11776parts.")
11777 (license license:lgpl2.1)))
11778
11779(define-public ghc-xdg-basedir
11780 (package
11781 (name "ghc-xdg-basedir")
11782 (version "0.2.2")
11783 (source
11784 (origin
11785 (method url-fetch)
11786 (uri (string-append
11787 "https://hackage.haskell.org/package/xdg-basedir/"
11788 "xdg-basedir-" version ".tar.gz"))
11789 (sha256
11790 (base32
11791 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
11792 (build-system haskell-build-system)
11793 (home-page "http://github.com/willdonnelly/xdg-basedir")
11794 (synopsis "XDG Base Directory library for Haskell")
11795 (description "This package provides a library implementing the XDG Base Directory spec.")
11796 (license license:bsd-3)))
11797
11798(define-public ghc-xml
11799 (package
11800 (name "ghc-xml")
11801 (version "1.3.14")
11802 (source
11803 (origin
11804 (method url-fetch)
11805 (uri (string-append
11806 "https://hackage.haskell.org/package/xml/xml-"
11807 version
11808 ".tar.gz"))
11809 (sha256
11810 (base32
11811 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
11812 (build-system haskell-build-system)
11813 (home-page "http://code.galois.com")
11814 (synopsis "Simple XML library for Haskell")
11815 (description "This package provides a simple XML library for Haskell.")
11816 (license license:bsd-3)))
11817
11818(define-public ghc-xml-conduit
11819 (package
11820 (name "ghc-xml-conduit")
11821 (version "1.8.0.1")
11822 (source
11823 (origin
11824 (method url-fetch)
11825 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
11826 "xml-conduit-" version ".tar.gz"))
11827 (sha256
11828 (base32
11829 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
11830 (build-system haskell-build-system)
11831 (inputs
11832 `(("ghc-conduit" ,ghc-conduit)
11833 ("ghc-conduit-extra" ,ghc-conduit-extra)
11834 ("ghc-doctest" ,ghc-doctest)
11835 ("ghc-resourcet" ,ghc-resourcet)
11836 ("ghc-xml-types" ,ghc-xml-types)
11837 ("ghc-attoparsec" ,ghc-attoparsec)
11838 ("ghc-data-default-class" ,ghc-data-default-class)
11839 ("ghc-blaze-markup" ,ghc-blaze-markup)
11840 ("ghc-blaze-html" ,ghc-blaze-html)
11841 ("ghc-monad-control" ,ghc-monad-control)
11842 ("ghc-hspec" ,ghc-hspec)
11843 ("ghc-hunit" ,ghc-hunit)))
11844 (home-page "https://github.com/snoyberg/xml")
11845 (synopsis "Utilities for dealing with XML with the conduit package")
11846 (description
11847 "This package provides pure-Haskell utilities for dealing with XML with
11848the @code{conduit} package.")
11849 (license license:expat)))
11850
11851(define-public ghc-xml-types
11852 (package
11853 (name "ghc-xml-types")
11854 (version "0.3.6")
11855 (source
11856 (origin
11857 (method url-fetch)
11858 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
11859 "xml-types-" version ".tar.gz"))
11860 (sha256
11861 (base32
11862 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
11863 (build-system haskell-build-system)
11864 (home-page "https://john-millikin.com/software/haskell-xml/")
11865 (synopsis "Basic types for representing XML")
11866 (description "This package provides basic types for representing XML
11867documents.")
11868 (license license:expat)))
11869
11870(define-public ghc-yaml
11871 (package
11872 (name "ghc-yaml")
11873 (version "0.8.32")
11874 (source (origin
11875 (method url-fetch)
11876 (uri (string-append "https://hackage.haskell.org/package/"
11877 "yaml/yaml-" version ".tar.gz"))
11878 (sha256
11879 (base32
11880 "0cbsyh4ilvjzq1q7pxls43k6pdqxg1l85xzibcwpbvmlvrizh86w"))))
11881 (build-system haskell-build-system)
11882 ;; The tests are broken on i686. They are fixed in 0.10.3.0.
11883 ;; See https://github.com/snoyberg/yaml/issues/158
11884 (arguments `(#:tests? #f))
11885 (inputs
11886 `(("ghc-conduit" ,ghc-conduit)
11887 ("ghc-resourcet" ,ghc-resourcet)
11888 ("ghc-aeson" ,ghc-aeson)
11889 ("ghc-unordered-containers" ,ghc-unordered-containers)
11890 ("ghc-vector" ,ghc-vector)
11891 ("ghc-attoparsec" ,ghc-attoparsec)
11892 ("ghc-scientific" ,ghc-scientific)
11893 ("ghc-semigroups" ,ghc-semigroups)
11894 ("ghc-temporary" ,ghc-temporary)
11895 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11896 ("ghc-base-compat" ,ghc-base-compat)))
11897 (native-inputs
11898 `(("ghc-hspec" ,ghc-hspec)
11899 ("ghc-hunit" ,ghc-hunit)
11900 ("hspec-discover" ,hspec-discover)
11901 ("ghc-mockery" ,ghc-mockery)))
11902 (home-page "https://github.com/snoyberg/yaml/")
11903 (synopsis "Parsing and rendering YAML documents")
11904 (description
11905 "This package provides a library to parse and render YAML documents.")
11906 (license license:bsd-3)))
11907
11908(define-public ghc-zip-archive
11909 (package
11910 (name "ghc-zip-archive")
93c1fdd3 11911 (version "0.4.1")
dddbc90c
RV
11912 (source
11913 (origin
11914 (method url-fetch)
11915 (uri (string-append
11916 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
11917 version
11918 ".tar.gz"))
11919 (sha256
11920 (base32
93c1fdd3 11921 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 11922 (build-system haskell-build-system)
93c1fdd3
TS
11923 (arguments
11924 `(#:phases
11925 (modify-phases %standard-phases
11926 (add-before 'check 'set-PATH-for-tests
11927 (lambda* (#:key inputs #:allow-other-keys)
11928 (let ((unzip (assoc-ref inputs "unzip"))
11929 (which (assoc-ref inputs "which"))
11930 (path (getenv "PATH")))
11931 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
11932 #t))))))
dddbc90c
RV
11933 (inputs
11934 `(("ghc-digest" ,ghc-digest)
11935 ("ghc-temporary" ,ghc-temporary)
11936 ("ghc-zlib" ,ghc-zlib)))
11937 (native-inputs
11938 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
11939 ("unzip" ,unzip)
11940 ("which" ,which)))
dddbc90c
RV
11941 (home-page "https://hackage.haskell.org/package/zip-archive")
11942 (synopsis "Zip archive library for Haskell")
11943 (description "The zip-archive library provides functions for creating,
11944modifying, and extracting files from zip archives in Haskell.")
11945 (license license:bsd-3)))
11946
11947(define-public ghc-zlib
11948 (package
11949 (name "ghc-zlib")
bf12089a 11950 (version "0.6.2.1")
dddbc90c
RV
11951 (outputs '("out" "doc"))
11952 (source
11953 (origin
11954 (method url-fetch)
11955 (uri (string-append
11956 "https://hackage.haskell.org/package/zlib/zlib-"
11957 version
11958 ".tar.gz"))
11959 (sha256
11960 (base32
bf12089a 11961 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
11962 (build-system haskell-build-system)
11963 (arguments
11964 `(#:phases
11965 (modify-phases %standard-phases
11966 (add-before 'configure 'strip-test-framework-constraints
11967 (lambda _
11968 (substitute* "zlib.cabal"
11969 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
11970 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
11971 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11972 (inputs `(("zlib" ,zlib)))
11973 (native-inputs
11974 `(("ghc-quickcheck" ,ghc-quickcheck)
11975 ("ghc-tasty" ,ghc-tasty)
11976 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11977 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11978 (home-page "https://hackage.haskell.org/package/zlib")
11979 (synopsis
11980 "Compression and decompression in the gzip and zlib formats")
11981 (description
11982 "This package provides a pure interface for compressing and decompressing
11983streams of data represented as lazy @code{ByteString}s. It uses the zlib C
11984library so it has high performance. It supports the @code{zlib}, @code{gzip}
11985and @code{raw} compression formats. It provides a convenient high level API
11986suitable for most tasks and for the few cases where more control is needed it
11987provides access to the full zlib feature set.")
bbf8bf31 11988 (license license:bsd-3)))
14e41996
RV
11989
11990(define-public ghc-zlib-bindings
11991 (package
11992 (name "ghc-zlib-bindings")
11993 (version "0.1.1.5")
11994 (source
11995 (origin
11996 (method url-fetch)
11997 (uri (string-append "https://hackage.haskell.org/package/"
11998 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
11999 (sha256
12000 (base32
12001 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
12002 (build-system haskell-build-system)
12003 (inputs
12004 `(("ghc-zlib" ,ghc-zlib)))
12005 (native-inputs
12006 `(("ghc-hspec" ,ghc-hspec)
12007 ("ghc-quickcheck" ,ghc-quickcheck)))
12008 (arguments
12009 `(#:cabal-revision
12010 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
12011 (home-page "https://github.com/snapframework/zlib-bindings")
12012 (synopsis "Low-level bindings to the @code{zlib} package")
12013 (description "This package provides low-level bindings to the
12014@code{zlib} package.")
12015 (license license:bsd-3)))