gnu: ghc-charset: Update Cabal file to r1.
[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")
0beaec66 807 (version "5.5.5")
dddbc90c
RV
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
0beaec66 817 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
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)
35ee173c
TS
1457 (arguments
1458 `(#:cabal-revision
1459 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1460 (inputs
1461 `(("ghc-semigroups" ,ghc-semigroups)
1462 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1463 (home-page "https://github.com/ekmett/charset")
1464 (synopsis "Fast unicode character sets for Haskell")
1465 (description "This package provides fast unicode character sets for
1466Haskell, based on complemented PATRICIA tries.")
1467 (license license:bsd-3)))
1468
1469(define-public ghc-chart
1470 (package
1471 (name "ghc-chart")
1472 (version "1.9")
1473 (source
1474 (origin
1475 (method url-fetch)
1476 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1477 "Chart-" version ".tar.gz"))
1478 (sha256
1479 (base32
1480 "1f5azj17y8xsb3gjhf7gg1gnnlq12rxkmfjmgcly314d7vghs05z"))))
1481 (build-system haskell-build-system)
1482 (inputs
1483 `(("ghc-old-locale" ,ghc-old-locale)
1484 ("ghc-lens" ,ghc-lens)
1485 ("ghc-colour" ,ghc-colour)
1486 ("ghc-data-default-class" ,ghc-data-default-class)
1487 ("ghc-operational" ,ghc-operational)
1488 ("ghc-vector" ,ghc-vector)))
1489 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1490 (synopsis "Library for generating 2D charts and plots")
1491 (description
1492 "This package provides a library for generating 2D charts and plots, with
1493backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1494 (license license:bsd-3)))
1495
1496(define-public ghc-chart-cairo
1497 (package
1498 (name "ghc-chart-cairo")
1499 (version "1.9")
1500 (source
1501 (origin
1502 (method url-fetch)
1503 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1504 "Chart-cairo-" version ".tar.gz"))
1505 (sha256
1506 (base32
1507 "0iany6lfyfb1cw0pxfs5aw5k0a6x41m6ql9ad9w59biwdckbsyqr"))))
1508 (build-system haskell-build-system)
1509 (inputs
1510 `(("ghc-old-locale" ,ghc-old-locale)
1511 ("ghc-cairo" ,ghc-cairo)
1512 ("ghc-colour" ,ghc-colour)
1513 ("ghc-data-default-class" ,ghc-data-default-class)
1514 ("ghc-operational" ,ghc-operational)
1515 ("ghc-lens" ,ghc-lens)
1516 ("ghc-chart" ,ghc-chart)))
1517 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1518 (synopsis "Cairo backend for Charts")
1519 (description "This package provides a Cairo vector graphics rendering
1520backend for the Charts library.")
1521 (license license:bsd-3)))
1522
1523(define-public ghc-chasingbottoms
1524 (package
1525 (name "ghc-chasingbottoms")
1f67853e 1526 (version "1.3.1.7")
dddbc90c
RV
1527 (source
1528 (origin
1529 (method url-fetch)
1530 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1531 "ChasingBottoms-" version ".tar.gz"))
1532 (sha256
1533 (base32
1f67853e 1534 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1535 (build-system haskell-build-system)
1536 (inputs
1537 `(("ghc-quickcheck" ,ghc-quickcheck)
1538 ("ghc-random" ,ghc-random)
1539 ("ghc-syb" ,ghc-syb)))
1540 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1541 (synopsis "Testing of partial and infinite values in Haskell")
1542 (description
1543 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1544 ;; rendered properly.
1545 "This is a library for testing code involving bottoms or infinite values.
1546For the underlying theory and a larger example involving use of QuickCheck,
1547see the article
1548@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1549\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1550Partial and Infinite Values\"}.")
1551 (license license:expat)))
1552
1553(define-public ghc-cheapskate
1554 (package
1555 (name "ghc-cheapskate")
1556 (version "0.1.1")
1557 (source
1558 (origin
1559 (method url-fetch)
1560 (uri (string-append
1561 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1562 version
1563 ".tar.gz"))
1564 (sha256
1565 (base32
1566 "1hiqi7h76shjzs2zj0j8g6wnq2hbiq1hmfafdazr97fba2zl2432"))))
1567 (build-system haskell-build-system)
1568 (inputs
1569 `(("ghc-blaze-html" ,ghc-blaze-html)
1570 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1571 ("ghc-data-default" ,ghc-data-default)
1572 ("ghc-syb" ,ghc-syb)
1573 ("ghc-uniplate" ,ghc-uniplate)))
1574 (home-page "https://github.com/jgm/cheapskate")
1575 (synopsis "Experimental markdown processor")
1576 (description "Cheapskate is an experimental Markdown processor in pure
1577Haskell. It aims to process Markdown efficiently and in the most forgiving
1578possible way. It is designed to deal with any input, including garbage, with
1579linear performance. Output is sanitized by default for protection against
1580cross-site scripting (@dfn{XSS}) attacks.")
1581 (license license:bsd-3)))
1582
1583(define-public ghc-chell
1584 (package
1585 (name "ghc-chell")
acdd03be 1586 (version "0.5")
dddbc90c
RV
1587 (source
1588 (origin
1589 (method url-fetch)
1590 (uri (string-append
1591 "https://hackage.haskell.org/package/chell/chell-"
1592 version ".tar.gz"))
1593 (sha256
1594 (base32
acdd03be 1595 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1596 (build-system haskell-build-system)
acdd03be
TS
1597 (arguments
1598 `(#:cabal-revision
1599 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1600 (inputs
1601 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1602 ("ghc-patience" ,ghc-patience)
1603 ("ghc-random" ,ghc-random)
1604 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1605 (home-page "https://john-millikin.com/software/chell/")
1606 (synopsis "Simple and intuitive library for automated testing")
1607 (description
1608 "Chell is a simple and intuitive library for automated testing.
1609It natively supports assertion-based testing, and can use companion
1610libraries such as @code{chell-quickcheck} to support more complex
1611testing strategies.")
1612 (license license:expat)))
1613
1614(define-public ghc-chell-quickcheck
1615 (package
1616 (name "ghc-chell-quickcheck")
e0e21831 1617 (version "0.2.5.2")
dddbc90c
RV
1618 (source
1619 (origin
1620 (method url-fetch)
1621 (uri (string-append
1622 "https://hackage.haskell.org/package/chell-quickcheck/"
1623 "chell-quickcheck-" version ".tar.gz"))
1624 (sha256
1625 (base32
e0e21831 1626 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1627 (build-system haskell-build-system)
1628 (arguments
1629 `(#:phases
1630 (modify-phases %standard-phases
1631 (add-before 'configure 'update-constraints
1632 (lambda _
1633 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1634 (("QuickCheck >= 2\\.3 && < 2\\.13")
1635 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1636 (inputs
1637 `(("ghc-chell" ,ghc-chell)
1638 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1639 ("ghc-random" ,ghc-random)
1640 ("ghc-quickcheck" ,ghc-quickcheck)))
1641 (home-page "https://john-millikin.com/software/chell/")
1642 (synopsis "QuickCheck support for the Chell testing library")
1643 (description "More complex tests for @code{chell}.")
1644 (license license:expat)))
1645
1646(define ghc-chell-quickcheck-bootstrap
1647 (package
1648 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1649 (version "0.2.5.2")
dddbc90c
RV
1650 (source
1651 (origin
1652 (method url-fetch)
1653 (uri (string-append
1654 "https://hackage.haskell.org/package/chell-quickcheck/"
1655 "chell-quickcheck-" version ".tar.gz"))
1656 (sha256
1657 (base32
e0e21831 1658 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1659 (build-system haskell-build-system)
1660 (inputs
1661 `(("ghc-chell" ,ghc-chell)
1662 ("ghc-random" ,ghc-random)
1663 ("ghc-quickcheck" ,ghc-quickcheck)))
1664 (arguments
1665 `(#:tests? #f
1666 #:phases
1667 (modify-phases %standard-phases
1668 (add-before 'configure 'update-constraints
1669 (lambda _
1670 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1671 (("QuickCheck >= 2\\.3 && < 2\\.13")
1672 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1673 (home-page "https://john-millikin.com/software/chell/")
1674 (synopsis "QuickCheck support for the Chell testing library")
1675 (description "More complex tests for @code{chell}.")
1676 (license license:expat)))
1677
1678(define-public ghc-chunked-data
1679 (package
1680 (name "ghc-chunked-data")
1681 (version "0.3.1")
1682 (source
1683 (origin
1684 (method url-fetch)
1685 (uri (string-append "https://hackage.haskell.org/package/"
1686 "chunked-data-" version "/"
1687 "chunked-data-" version ".tar.gz"))
1688 (sha256
1689 (base32
1690 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1691 (build-system haskell-build-system)
1692 (inputs `(("ghc-vector" ,ghc-vector)
1693 ("ghc-semigroups" ,ghc-semigroups)))
1694 (home-page "https://github.com/snoyberg/mono-traversable")
1695 (synopsis "Typeclasses for dealing with various chunked data
1696representations for Haskell")
1697 (description "This Haskell package was originally present in
1698classy-prelude.")
1699 (license license:expat)))
1700
1701(define-public ghc-clock
1702 (package
1703 (name "ghc-clock")
0841b6f2 1704 (version "0.8")
dddbc90c
RV
1705 (source
1706 (origin
1707 (method url-fetch)
1708 (uri (string-append
1709 "https://hackage.haskell.org/package/"
1710 "clock/"
1711 "clock-" version ".tar.gz"))
1712 (sha256
0841b6f2 1713 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1714 (build-system haskell-build-system)
1715 (inputs
1716 `(("ghc-tasty" ,ghc-tasty)
1717 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1718 (home-page "https://hackage.haskell.org/package/clock")
1719 (synopsis "High-resolution clock for Haskell")
1720 (description "A package for convenient access to high-resolution clock and
1721timer functions of different operating systems via a unified API.")
1722 (license license:bsd-3)))
1723
1724;; This package builds `clock` without tests, since the tests rely on tasty
1725;; and tasty-quickcheck, which in turn require clock to build.
1726(define-public ghc-clock-bootstrap
1727 (package
1728 (inherit ghc-clock)
1729 (name "ghc-clock-bootstrap")
1730 (arguments '(#:tests? #f))
1731 (inputs '())
1732 (properties '((hidden? #t)))))
1733
1734(define-public ghc-cmark
1735 (package
1736 (name "ghc-cmark")
6bdd36c0 1737 (version "0.6")
dddbc90c
RV
1738 (source (origin
1739 (method url-fetch)
6bdd36c0 1740 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1741 ;; See cbits/cmark_version.h.
1742 (uri (string-append "https://hackage.haskell.org/package/"
1743 "cmark/cmark-" version ".tar.gz"))
1744 (sha256
1745 (base32
6bdd36c0 1746 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
1747 (build-system haskell-build-system)
1748 (native-inputs
1749 `(("ghc-hunit" ,ghc-hunit)))
1750 (home-page "https://github.com/jgm/commonmark-hs")
1751 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1752 (description
1753 "This package provides Haskell bindings for
1754@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1755CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1756sources, and does not require prior installation of the C library.")
1757 (license license:bsd-3)))
1758
1759(define-public ghc-cmark-gfm
1760 (package
1761 (name "ghc-cmark-gfm")
24fc8dae 1762 (version "0.2.0")
dddbc90c
RV
1763 (source
1764 (origin
1765 (method url-fetch)
1766 (uri (string-append "https://hackage.haskell.org/package/"
1767 "cmark-gfm/cmark-gfm-"
1768 version ".tar.gz"))
1769 (sha256
1770 (base32
24fc8dae 1771 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
1772 (build-system haskell-build-system)
1773 (native-inputs
1774 `(("ghc-hunit" ,ghc-hunit)))
1775 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1776 (synopsis
1777 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1778 (description
1779 "This package provides Haskell bindings for libcmark-gfm, the reference
1780parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1781It includes sources for libcmark-gfm and does not require prior installation
1782of the C library.")
1783 (license license:bsd-3)))
1784
1785(define-public ghc-cmdargs
1786 (package
1787 (name "ghc-cmdargs")
1788 (version "0.10.20")
1789 (source
1790 (origin
1791 (method url-fetch)
1792 (uri (string-append
1793 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1794 version ".tar.gz"))
1795 (sha256
1796 (base32
1797 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1798 (build-system haskell-build-system)
1799 (home-page
1800 "http://community.haskell.org/~ndm/cmdargs/")
1801 (synopsis "Command line argument processing")
1802 (description
1803 "This library provides an easy way to define command line parsers.")
1804 (license license:bsd-3)))
1805
1806(define-public ghc-code-page
1807 (package
1808 (name "ghc-code-page")
f6bb6519 1809 (version "0.2")
dddbc90c
RV
1810 (source
1811 (origin
1812 (method url-fetch)
1813 (uri (string-append
1814 "https://hackage.haskell.org/package/code-page/code-page-"
1815 version ".tar.gz"))
1816 (sha256
1817 (base32
f6bb6519 1818 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1819 (build-system haskell-build-system)
1820 (home-page "https://github.com/RyanGlScott/code-page")
1821 (synopsis "Windows code page library for Haskell")
1822 (description "A cross-platform library with functions for adjusting
1823code pages on Windows. On all other operating systems, the library does
1824nothing.")
1825 (license license:bsd-3)))
1826
1827(define-public ghc-colour
1828(package
1829 (name "ghc-colour")
bc9d1af9 1830 (version "2.3.5")
dddbc90c
RV
1831 (source
1832 (origin
1833 (method url-fetch)
1834 (uri (string-append
1835 "https://hackage.haskell.org/package/colour/colour-"
1836 version ".tar.gz"))
1837 (sha256
1838 (base32
bc9d1af9 1839 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1840 (arguments
1841 ;; The tests for this package have the following dependency cycle:
1842 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1843 `(#:tests? #f))
1844 (build-system haskell-build-system)
1845 (home-page "https://www.haskell.org/haskellwiki/Colour")
1846 (synopsis "Model for human colour perception")
1847 (description
1848 "This package provides a data type for colours and transparency.
1849Colours can be blended and composed. Various colour spaces are
1850supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1851 (license license:expat)))
1852
1853(define-public ghc-comonad
1854 (package
1855 (name "ghc-comonad")
1a825512 1856 (version "5.0.5")
dddbc90c
RV
1857 (source
1858 (origin
1859 (method url-fetch)
1860 (uri (string-append
1861 "https://hackage.haskell.org/package/comonad/comonad-"
1862 version
1863 ".tar.gz"))
1864 (sha256
1865 (base32
1a825512 1866 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
1867 (build-system haskell-build-system)
1868 (native-inputs
1869 `(("cabal-doctest" ,cabal-doctest)
1870 ("ghc-doctest" ,ghc-doctest)))
1871 (inputs
1872 `(("ghc-contravariant" ,ghc-contravariant)
1873 ("ghc-distributive" ,ghc-distributive)
1874 ("ghc-semigroups" ,ghc-semigroups)
1875 ("ghc-tagged" ,ghc-tagged)
1876 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1877 (home-page "https://github.com/ekmett/comonad/")
1878 (synopsis "Comonads for Haskell")
1879 (description "This library provides @code{Comonad}s for Haskell.")
1880 (license license:bsd-3)))
1881
1882(define-public ghc-concatenative
1883 (package
1884 (name "ghc-concatenative")
1885 (version "1.0.1")
1886 (source (origin
1887 (method url-fetch)
1888 (uri (string-append
1889 "https://hackage.haskell.org/package/concatenative/concatenative-"
1890 version ".tar.gz"))
1891 (sha256
1892 (base32
1893 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1894 (build-system haskell-build-system)
1895 (home-page
1896 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1897 (synopsis "Library for postfix control flow")
1898 (description
1899 "Concatenative gives Haskell Factor-style combinators and arrows for
1900postfix notation. For more information on stack based languages, see
1901@uref{https://concatenative.org}.")
1902 (license license:bsd-3)))
1903
1904(define-public ghc-concurrent-extra
1905 (package
1906 (name "ghc-concurrent-extra")
1907 (version "0.7.0.12")
1908 (source
1909 (origin
1910 (method url-fetch)
1911 (uri (string-append "https://hackage.haskell.org/package/"
1912 "concurrent-extra/concurrent-extra-"
1913 version ".tar.gz"))
1914 (sha256
1915 (base32
1916 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
1917 (build-system haskell-build-system)
1918 (arguments
1919 ;; XXX: The ReadWriteLock 'stressTest' fails.
1920 `(#:tests? #f))
1921 (inputs
1922 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
1923 (native-inputs
1924 `(("ghc-async" ,ghc-async)
1925 ("ghc-hunit" ,ghc-hunit)
1926 ("ghc-random" ,ghc-random)
1927 ("ghc-test-framework" ,ghc-test-framework)
1928 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
1929 (home-page "https://github.com/basvandijk/concurrent-extra")
1930 (synopsis "Extra concurrency primitives")
1931 (description "This Haskell library offers (among other things) the
1932following selection of synchronisation primitives:
1933
1934@itemize
1935@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
1936@item @code{Event}: Wake multiple threads by signalling an event.
1937@item @code{Lock}: Enforce exclusive access to a resource. Also known
1938as a binary semaphore or mutex. The package additionally provides an
1939alternative that works in the STM monad.
1940@item @code{RLock}: A lock which can be acquired multiple times by the
1941same thread. Also known as a reentrant mutex.
1942@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
1943to protect shared resources which may be concurrently read, but only
1944sequentially written.
1945@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
1946@end itemize
1947
1948Please consult the API documentation of the individual modules for more
1949detailed information.
1950
1951This package was inspired by the concurrency libraries of Java and
1952Python.")
1953 (license license:bsd-3)))
1954
1955(define-public ghc-concurrent-output
1956 (package
1957 (name "ghc-concurrent-output")
4fce0a4a 1958 (version "1.10.11")
dddbc90c
RV
1959 (source
1960 (origin
1961 (method url-fetch)
1962 (uri (string-append
1963 "mirror://hackage/package/concurrent-output/concurrent-output-"
1964 version
1965 ".tar.gz"))
1966 (sha256
1967 (base32
4fce0a4a 1968 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
1969 (build-system haskell-build-system)
1970 (inputs
1971 `(("ghc-async" ,ghc-async)
1972 ("ghc-exceptions" ,ghc-exceptions)
1973 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1974 ("ghc-terminal-size" ,ghc-terminal-size)))
1975 (home-page
1976 "https://hackage.haskell.org/package/concurrent-output")
1977 (synopsis
1978 "Ungarble output from several threads or commands")
1979 (description
1980 "Lets multiple threads and external processes concurrently output to the
1981console, without it getting all garbled up.
1982
1983Built on top of that is a way of defining multiple output regions, which are
1984automatically laid out on the screen and can be individually updated by
1985concurrent threads. Can be used for progress displays etc.")
1986 (license license:bsd-2)))
1987
1988(define-public ghc-conduit
1989 (package
1990 (name "ghc-conduit")
1991 (version "1.3.0.3")
1992 (source (origin
1993 (method url-fetch)
1994 (uri (string-append "https://hackage.haskell.org/package/"
1995 "conduit/conduit-" version ".tar.gz"))
1996 (sha256
1997 (base32
1998 "1sangm0qqi9dzlq95746a3kl14k8b09592a423shxjf2a0b1yx5v"))))
1999 (build-system haskell-build-system)
2000 (inputs
2001 `(("ghc-exceptions" ,ghc-exceptions)
2002 ("ghc-lifted-base" ,ghc-lifted-base)
2003 ("ghc-mono-traversable" ,ghc-mono-traversable)
2004 ("ghc-mmorph" ,ghc-mmorph)
2005 ("ghc-resourcet" ,ghc-resourcet)
2006 ("ghc-silently" ,ghc-silently)
2007 ("ghc-transformers-base" ,ghc-transformers-base)
2008 ("ghc-unliftio" ,ghc-unliftio)
2009 ("ghc-unliftio-core" ,ghc-unliftio-core)
2010 ("ghc-vector" ,ghc-vector)
2011 ("ghc-void" ,ghc-void)))
2012 (native-inputs
2013 `(("ghc-quickcheck" ,ghc-quickcheck)
2014 ("ghc-hspec" ,ghc-hspec)
2015 ("ghc-safe" ,ghc-safe)
2016 ("ghc-split" ,ghc-split)))
2017 (home-page "https://github.com/snoyberg/conduit")
2018 (synopsis "Streaming data library ")
2019 (description
2020 "The conduit package is a solution to the streaming data problem,
2021allowing for production, transformation, and consumption of streams of data
2022in constant memory. It is an alternative to lazy I/O which guarantees
2023deterministic resource handling, and fits in the same general solution
2024space as enumerator/iteratee and pipes.")
2025 (license license:expat)))
2026
2027(define-public ghc-conduit-algorithms
2028 (package
2029 (name "ghc-conduit-algorithms")
2030 (version "0.0.8.1")
2031 (source
2032 (origin
2033 (method url-fetch)
2034 (uri (string-append "https://hackage.haskell.org/package/"
2035 "conduit-algorithms/conduit-algorithms-"
2036 version ".tar.gz"))
2037 (sha256
2038 (base32
2039 "07gx2q3d1bbfw14q41rmqg0i4m018pci10lswc0k1ij6lw7sb9fd"))))
2040 (build-system haskell-build-system)
2041 (inputs
2042 `(("ghc-async" ,ghc-async)
2043 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2044 ("ghc-conduit" ,ghc-conduit)
2045 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2046 ("ghc-conduit-extra" ,ghc-conduit-extra)
2047 ("ghc-exceptions" ,ghc-exceptions)
2048 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2049 ("ghc-monad-control" ,ghc-monad-control)
2050 ("ghc-pqueue" ,ghc-pqueue)
2051 ("ghc-resourcet" ,ghc-resourcet)
2052 ("ghc-stm-conduit" ,ghc-stm-conduit)
2053 ("ghc-streaming-commons" ,ghc-streaming-commons)
2054 ("ghc-unliftio-core" ,ghc-unliftio-core)
2055 ("ghc-vector" ,ghc-vector)))
2056 (native-inputs
2057 `(("ghc-hunit" ,ghc-hunit)
2058 ("ghc-test-framework" ,ghc-test-framework)
2059 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2060 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2061 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2062 (synopsis "Conduit-based algorithms")
2063 (description
2064 "This package provides algorithms on @code{Conduits}, including higher
2065level asynchronous processing and some other utilities.")
2066 (license license:expat)))
2067
2068(define-public ghc-conduit-combinators
2069 (package
2070 (name "ghc-conduit-combinators")
2071 (version "1.3.0")
2072 (source
2073 (origin
2074 (method url-fetch)
2075 (uri (string-append "https://hackage.haskell.org/package/"
2076 "conduit-combinators-" version "/"
2077 "conduit-combinators-" version ".tar.gz"))
2078 (sha256
2079 (base32
2080 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2081 (build-system haskell-build-system)
2082 (inputs `(("ghc-conduit" ,ghc-conduit)
2083 ("ghc-conduit-extra" ,ghc-conduit-extra)
2084 ("ghc-transformers-base" ,ghc-transformers-base)
2085 ("ghc-primitive" ,ghc-primitive)
2086 ("ghc-vector" ,ghc-vector)
2087 ("ghc-void" ,ghc-void)
2088 ("ghc-mwc-random" ,ghc-mwc-random)
2089 ("ghc-unix-compat" ,ghc-unix-compat)
2090 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2091 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2092 ("ghc-resourcet" ,ghc-resourcet)
2093 ("ghc-monad-control" ,ghc-monad-control)
2094 ("ghc-chunked-data" ,ghc-chunked-data)
2095 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2096 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2097 ("ghc-silently" ,ghc-silently)
2098 ("ghc-safe" ,ghc-safe)
2099 ("ghc-quickcheck" ,ghc-quickcheck)))
2100 (home-page "https://github.com/snoyberg/mono-traversable")
2101 (synopsis "Commonly used conduit functions, for both chunked and
2102unchunked data")
2103 (description "This Haskell package provides a replacement for Data.Conduit.List,
2104as well as a convenient Conduit module.")
2105 (license license:expat)))
2106
2107(define-public ghc-conduit-extra
2108 (package
2109 (name "ghc-conduit-extra")
2110 (version "1.3.1.1")
2111 (source
2112 (origin
2113 (method url-fetch)
2114 (uri (string-append "https://hackage.haskell.org/package/"
2115 "conduit-extra/conduit-extra-"
2116 version ".tar.gz"))
2117 (sha256
2118 (base32
2119 "0jaj350vv6mbb26gdwcqz4gwzfzrjydv5pis2da49wz1npbakcfw"))))
2120 (build-system haskell-build-system)
2121 (inputs
2122 `(("ghc-conduit" ,ghc-conduit)
2123 ("ghc-exceptions" ,ghc-exceptions)
2124 ("ghc-monad-control" ,ghc-monad-control)
2125 ("ghc-transformers-base" ,ghc-transformers-base)
2126 ("ghc-typed-process" ,ghc-typed-process)
2127 ("ghc-async" ,ghc-async)
2128 ("ghc-attoparsec" ,ghc-attoparsec)
2129 ("ghc-blaze-builder" ,ghc-blaze-builder)
2130 ("ghc-network" ,ghc-network)
2131 ("ghc-primitive" ,ghc-primitive)
2132 ("ghc-resourcet" ,ghc-resourcet)
2133 ("ghc-streaming-commons" ,ghc-streaming-commons)
2134 ("ghc-hspec" ,ghc-hspec)
2135 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2136 ("ghc-quickcheck" ,ghc-quickcheck)))
2137 (native-inputs
2138 `(("hspec-discover" ,hspec-discover)))
2139 (home-page "https://github.com/snoyberg/conduit")
2140 (synopsis "Conduit adapters for common libraries")
2141 (description
2142 "The @code{conduit} package itself maintains relative small dependencies.
2143The purpose of this package is to collect commonly used utility functions
2144wrapping other library dependencies, without depending on heavier-weight
2145dependencies. The basic idea is that this package should only depend on
2146@code{haskell-platform} packages and @code{conduit}.")
2147 (license license:expat)))
2148
2149(define-public ghc-configurator
2150 (package
2151 (name "ghc-configurator")
2152 (version "0.3.0.0")
2153 (source
2154 (origin
2155 (method url-fetch)
2156 (uri (string-append "https://hackage.haskell.org/package/"
2157 "configurator/configurator-"
2158 version ".tar.gz"))
2159 (sha256
2160 (base32
2161 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2162 (build-system haskell-build-system)
2163 (inputs
2164 `(("ghc-attoparsec" ,ghc-attoparsec)
2165 ("ghc-hashable" ,ghc-hashable)
2166 ("ghc-unix-compat" ,ghc-unix-compat)
2167 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2168 (native-inputs
2169 `(("ghc-hunit" ,ghc-hunit)
2170 ("ghc-test-framework" ,ghc-test-framework)
2171 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2172 (home-page "http://github.com/bos/configurator")
2173 (synopsis "Configuration management")
2174 (description
2175 "This package provides a configuration management library for programs
2176and daemons. The features include:
2177
2178@enumerate
2179@item Automatic, dynamic reloading in response to modifications to
2180 configuration files.
2181@item A simple, but flexible, configuration language, supporting several of
2182 the most commonly needed types of data, along with interpolation of strings
2183 from the configuration or the system environment (e.g. @code{$(HOME)}).
2184@item Subscription-based notification of changes to configuration properties.
2185@item An @code{import} directive allows the configuration of a complex
2186 application to be split across several smaller files, or common configuration
2187 data to be shared across several applications.
2188@end enumerate\n")
2189 (license license:bsd-3)))
2190
2191(define-public ghc-connection
2192 (package
2193 (name "ghc-connection")
2194 (version "0.2.8")
2195 (source (origin
2196 (method url-fetch)
2197 (uri (string-append "https://hackage.haskell.org/package/"
2198 "connection/connection-"
2199 version ".tar.gz"))
2200 (sha256
2201 (base32
2202 "1swkb9w5vx9ph7x55y51dc0srj2z27nd9ibgn8c0qcl6hx7g9cbh"))))
2203 (build-system haskell-build-system)
2204 (inputs
2205 `(("ghc-byteable" ,ghc-byteable)
2206 ("ghc-data-default-class" ,ghc-data-default-class)
2207 ("ghc-network" ,ghc-network)
2208 ("ghc-tls" ,ghc-tls)
2209 ("ghc-socks" ,ghc-socks)
2210 ("ghc-x509" ,ghc-x509)
2211 ("ghc-x509-store" ,ghc-x509-store)
2212 ("ghc-x509-system" ,ghc-x509-system)
2213 ("ghc-x509-validation" ,ghc-x509-validation)))
2214 (home-page "https://github.com/vincenthz/hs-connection")
2215 (synopsis "Simple and easy network connections API")
2216 (description
2217 "This package provides a simple network library for all your connection
2218needs. It provides a very simple API to create sockets to a destination with
2219the choice of SSL/TLS, and SOCKS.")
2220 (license license:bsd-3)))
2221
2222(define-public ghc-constraints
2223 (package
2224 (name "ghc-constraints")
2225 (version "0.10.1")
2226 (source
2227 (origin
2228 (method url-fetch)
2229 (uri (string-append
2230 "https://hackage.haskell.org/package/constraints/constraints-"
2231 version ".tar.gz"))
2232 (sha256
2233 (base32
2234 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2235 (build-system haskell-build-system)
2236 (inputs
2237 `(("ghc-hashable" ,ghc-hashable)
2238 ("ghc-semigroups" ,ghc-semigroups)
2239 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2240 (native-inputs
2241 `(("ghc-hspec" ,ghc-hspec)
2242 ("hspec-discover" ,hspec-discover)))
2243 (home-page "https://github.com/ekmett/constraints/")
2244 (synopsis "Constraint manipulation")
2245 (description
2246 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2247They stopped crashing the compiler in GHC 7.6. This package provides
2248a vocabulary for working with them.")
2249 (license license:bsd-3)))
2250
2251(define-public ghc-contravariant
2252 (package
2253 (name "ghc-contravariant")
e7b35ff0 2254 (version "1.5.2")
dddbc90c
RV
2255 (source
2256 (origin
2257 (method url-fetch)
2258 (uri (string-append
2259 "https://hackage.haskell.org/package/contravariant/contravariant-"
2260 version
2261 ".tar.gz"))
2262 (sha256
2263 (base32
e7b35ff0 2264 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2265 (build-system haskell-build-system)
2266 (inputs
2267 `(("ghc-void" ,ghc-void)
2268 ("ghc-transformers-compat" ,ghc-transformers-compat)
2269 ("ghc-statevar" ,ghc-statevar)
2270 ("ghc-semigroups" ,ghc-semigroups)))
2271 (home-page
2272 "https://github.com/ekmett/contravariant/")
2273 (synopsis "Contravariant functors")
2274 (description "Contravariant functors for Haskell.")
2275 (license license:bsd-3)))
2276
2277(define-public ghc-contravariant-extras
2278 (package
2279 (name "ghc-contravariant-extras")
2280 (version "0.3.4")
2281 (source
2282 (origin
2283 (method url-fetch)
2284 (uri (string-append "https://hackage.haskell.org/package/"
2285 "contravariant-extras-" version "/"
2286 "contravariant-extras-" version ".tar.gz"))
2287 (sha256
2288 (base32
2289 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2290 (build-system haskell-build-system)
2291 (inputs
2292 `(("ghc-tuple-th" ,ghc-tuple-th)
2293 ("ghc-contravariant" ,ghc-contravariant)
2294 ("ghc-base-prelude" ,ghc-base-prelude)
2295 ("ghc-semigroups" ,ghc-semigroups)))
2296 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2297 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2298 (description "This Haskell package provides extras for the
2299@code{ghc-contravariant} package.")
2300 (license license:expat)))
2301
2302(define-public ghc-convertible
2303 (package
2304 (name "ghc-convertible")
2305 (version "1.1.1.0")
2306 (source
2307 (origin
2308 (method url-fetch)
2309 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2310 "convertible-" version ".tar.gz"))
2311 (sha256
2312 (base32
2313 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2314 (build-system haskell-build-system)
2315 (inputs
2316 `(("ghc-old-time" ,ghc-old-time)
2317 ("ghc-old-locale" ,ghc-old-locale)))
2318 (home-page "https://hackage.haskell.org/package/convertible")
2319 (synopsis "Typeclasses and instances for converting between types")
2320 (description
2321 "This package provides a typeclass with a single function that is
2322designed to help convert between different types: numeric values, dates and
2323times, and the like. The conversions perform bounds checking and return a
2324pure @code{Either} value. This means that you need not remember which specific
2325function performs the conversion you desire.")
2326 (license license:bsd-3)))
2327
2328(define-public ghc-data-accessor
2329 (package
2330 (name "ghc-data-accessor")
6dcca515 2331 (version "0.2.2.8")
dddbc90c
RV
2332 (source
2333 (origin
2334 (method url-fetch)
2335 (uri (string-append
2336 "mirror://hackage/package/data-accessor/data-accessor-"
2337 version ".tar.gz"))
2338 (sha256
6dcca515 2339 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2340 (build-system haskell-build-system)
2341 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2342 (synopsis
2343 "Haskell utilities for accessing and manipulating fields of records")
2344 (description "This package provides Haskell modules for accessing and
2345manipulating fields of records.")
2346 (license license:bsd-3)))
2347
2348(define-public ghc-data-accessor-transformers
2349 (package
2350 (name "ghc-data-accessor-transformers")
2351 (version "0.2.1.7")
2352 (source
2353 (origin
2354 (method url-fetch)
2355 (uri (string-append
2356 "mirror://hackage/package/data-accessor-transformers/"
2357 "data-accessor-transformers-" version ".tar.gz"))
2358 (sha256
2359 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2360 (build-system haskell-build-system)
2361 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2362 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2363 (synopsis "Use Accessor to access state in transformers State monad")
2364 (description "This package provides Haskell modules to allow use of
2365Accessor to access state in transformers State monad.")
2366 (license license:bsd-3)))
2367
2368(define-public ghc-data-default
2369 (package
2370 (name "ghc-data-default")
2371 (version "0.7.1.1")
2372 (source
2373 (origin
2374 (method url-fetch)
2375 (uri (string-append
2376 "https://hackage.haskell.org/package/data-default/data-default-"
2377 version
2378 ".tar.gz"))
2379 (sha256
2380 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2381 (build-system haskell-build-system)
2382 (inputs
2383 `(("ghc-data-default-class"
2384 ,ghc-data-default-class)
2385 ("ghc-data-default-instances-base"
2386 ,ghc-data-default-instances-base)
2387 ("ghc-data-default-instances-containers"
2388 ,ghc-data-default-instances-containers)
2389 ("ghc-data-default-instances-dlist"
2390 ,ghc-data-default-instances-dlist)
2391 ("ghc-data-default-instances-old-locale"
2392 ,ghc-data-default-instances-old-locale)))
2393 (home-page "https://hackage.haskell.org/package/data-default")
2394 (synopsis "Types with default values")
2395 (description
2396 "This package defines a class for types with a default value, and
2397provides instances for types from the base, containers, dlist and old-locale
2398packages.")
2399 (license license:bsd-3)))
2400
2401(define-public ghc-data-default-class
2402 (package
2403 (name "ghc-data-default-class")
2404 (version "0.1.2.0")
2405 (source
2406 (origin
2407 (method url-fetch)
2408 (uri (string-append
2409 "https://hackage.haskell.org/package/data-default-class/"
2410 "data-default-class-" version ".tar.gz"))
2411 (sha256
2412 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2413 (build-system haskell-build-system)
2414 (home-page "https://hackage.haskell.org/package/data-default-class")
2415 (synopsis "Types with default values")
2416 (description
2417 "This package defines a class for types with default values.")
2418 (license license:bsd-3)))
2419
2420(define-public ghc-data-default-instances-base
2421 (package
2422 (name "ghc-data-default-instances-base")
2423 (version "0.1.0.1")
2424 (source
2425 (origin
2426 (method url-fetch)
2427 (uri (string-append
2428 "https://hackage.haskell.org/package/"
2429 "data-default-instances-base/"
2430 "data-default-instances-base-" version ".tar.gz"))
2431 (sha256
2432 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2433 (build-system haskell-build-system)
2434 (inputs
2435 `(("ghc-data-default-class" ,ghc-data-default-class)))
2436 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2437 (synopsis "Default instances for types in base")
2438 (description
2439 "This package provides default instances for types from the base
2440package.")
2441 (license license:bsd-3)))
2442
2443(define-public ghc-data-default-instances-containers
2444 (package
2445 (name "ghc-data-default-instances-containers")
2446 (version "0.0.1")
2447 (source
2448 (origin
2449 (method url-fetch)
2450 (uri (string-append
2451 "https://hackage.haskell.org/package/"
2452 "data-default-instances-containers/"
2453 "data-default-instances-containers-" version ".tar.gz"))
2454 (sha256
2455 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2456 (build-system haskell-build-system)
2457 (inputs
2458 `(("ghc-data-default-class" ,ghc-data-default-class)))
2459 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2460 (synopsis "Default instances for types in containers")
2461 (description "Provides default instances for types from the containers
2462package.")
2463 (license license:bsd-3)))
2464
2465(define-public ghc-data-default-instances-dlist
2466 (package
2467 (name "ghc-data-default-instances-dlist")
2468 (version "0.0.1")
2469 (source
2470 (origin
2471 (method url-fetch)
2472 (uri (string-append
2473 "https://hackage.haskell.org/package/"
2474 "data-default-instances-dlist/"
2475 "data-default-instances-dlist-" version ".tar.gz"))
2476 (sha256
2477 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2478 (build-system haskell-build-system)
2479 (inputs
2480 `(("ghc-data-default-class" ,ghc-data-default-class)
2481 ("ghc-dlist" ,ghc-dlist)))
2482 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2483 (synopsis "Default instances for types in dlist")
2484 (description "Provides default instances for types from the dlist
2485package.")
2486 (license license:bsd-3)))
2487
2488(define-public ghc-data-default-instances-old-locale
2489 (package
2490 (name "ghc-data-default-instances-old-locale")
2491 (version "0.0.1")
2492 (source
2493 (origin
2494 (method url-fetch)
2495 (uri (string-append
2496 "https://hackage.haskell.org/package/"
2497 "data-default-instances-old-locale/"
2498 "data-default-instances-old-locale-" version ".tar.gz"))
2499 (sha256
2500 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2501 (build-system haskell-build-system)
2502 (inputs
2503 `(("ghc-data-default-class" ,ghc-data-default-class)
2504 ("ghc-old-locale" ,ghc-old-locale)))
2505 (home-page
2506 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2507 (synopsis "Default instances for types in old-locale")
2508 (description "Provides Default instances for types from the old-locale
2509 package.")
2510 (license license:bsd-3)))
2511
2512(define-public ghc-data-hash
2513 (package
2514 (name "ghc-data-hash")
2515 (version "0.2.0.1")
2516 (source
2517 (origin
2518 (method url-fetch)
2519 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2520 "/data-hash-" version ".tar.gz"))
2521 (sha256
2522 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2523 (build-system haskell-build-system)
2524 (inputs
2525 `(("ghc-quickcheck" ,ghc-quickcheck)
2526 ("ghc-test-framework" ,ghc-test-framework)
2527 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2528 (home-page "https://hackage.haskell.org/package/data-hash")
2529 (synopsis "Combinators for building fast hashing functions")
2530 (description
2531 "This package provides combinators for building fast hashing functions.
2532It includes hashing functions for all basic Haskell98 types.")
2533 (license license:bsd-3)))
2534
2535(define-public ghc-data-ordlist
2536 (package
2537 (name "ghc-data-ordlist")
2538 (version "0.4.7.0")
2539 (source
2540 (origin
2541 (method url-fetch)
2542 (uri (string-append
2543 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2544 version ".tar.gz"))
2545 (sha256
2546 (base32
2547 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2548 (build-system haskell-build-system)
2549 (home-page "https://hackage.haskell.org/package/data-ordlist")
2550 (synopsis "Set and bag operations on ordered lists")
2551 (description
2552 "This module provides set and multiset operations on ordered lists.")
2553 (license license:bsd-3)))
2554
2555(define-public ghc-deepseq-generics
2556 (package
2557 (name "ghc-deepseq-generics")
2558 (version "0.2.0.0")
2559 (source (origin
2560 (method url-fetch)
2561 (uri (string-append "https://hackage.haskell.org/package/"
2562 "deepseq-generics/deepseq-generics-"
2563 version ".tar.gz"))
2564 (sha256
2565 (base32
2566 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2567 (build-system haskell-build-system)
2568 (arguments
2569 `(#:cabal-revision
2570 ("2" "1pnidf8w8x0w5fsqgv8hhrw07slmhxwy5x4fikgk0bd6k76aqicb")))
2571 (native-inputs
2572 `(("ghc-hunit" ,ghc-hunit)
2573 ("ghc-test-framework" ,ghc-test-framework)
2574 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2575 (home-page "https://github.com/hvr/deepseq-generics")
2576 (synopsis "Generic RNF implementation")
2577 (description
2578 "This package provides a @code{GHC.Generics}-based
2579@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2580providing an @code{rnf} implementation.")
2581 (license license:bsd-3)))
2582
2583(define-public ghc-descriptive
2584 (package
2585 (name "ghc-descriptive")
2586 (version "0.9.5")
2587 (source
2588 (origin
2589 (method url-fetch)
2590 (uri (string-append
2591 "https://hackage.haskell.org/package/descriptive/descriptive-"
2592 version
2593 ".tar.gz"))
2594 (sha256
2595 (base32
2596 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2597 (build-system haskell-build-system)
2598 (inputs
2599 `(("ghc-aeson" ,ghc-aeson)
2600 ("ghc-bifunctors" ,ghc-bifunctors)
2601 ("ghc-scientific" ,ghc-scientific)
2602 ("ghc-vector" ,ghc-vector)))
2603 (native-inputs
2604 `(("ghc-hunit" ,ghc-hunit)
2605 ("ghc-hspec" ,ghc-hspec)))
2606 (home-page
2607 "https://github.com/chrisdone/descriptive")
2608 (synopsis
2609 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2610 (description
2611 "This package provides datatypes and functions for creating consumers
2612and parsers with useful semantics.")
2613 (license license:bsd-3)))
2614
2615(define-public ghc-diff
2616 (package
2617 (name "ghc-diff")
2618 (version "0.3.4")
2619 (source (origin
2620 (method url-fetch)
2621 (uri (string-append "https://hackage.haskell.org/package/"
2622 "Diff/Diff-" version ".tar.gz"))
2623 (sha256
2624 (base32
2625 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
2626 (build-system haskell-build-system)
2627 (native-inputs
2628 `(("ghc-quickcheck" ,ghc-quickcheck)
2629 ("ghc-test-framework" ,ghc-test-framework)
2630 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2631 (home-page "https://hub.darcs.net/sterlingclover/Diff")
2632 (synopsis "O(ND) diff algorithm in Haskell")
2633 (description
2634 "This package provides an implementation of the standard diff algorithm,
2635and utilities for pretty printing.")
2636 (license license:bsd-3)))
2637
2638(define-public ghc-disk-free-space
2639 (package
2640 (name "ghc-disk-free-space")
2641 (version "0.1.0.1")
2642 (source
2643 (origin
2644 (method url-fetch)
2645 (uri (string-append "https://hackage.haskell.org/package/"
2646 "disk-free-space/disk-free-space-"
2647 version ".tar.gz"))
2648 (sha256
2649 (base32
2650 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
2651 (build-system haskell-build-system)
2652 (home-page "https://github.com/redneb/disk-free-space")
2653 (synopsis "Retrieve information about disk space usage")
2654 (description "A cross-platform library for retrieving information about
2655disk space usage.")
2656 (license license:bsd-3)))
2657
2658(define-public ghc-distributive
2659 (package
2660 (name "ghc-distributive")
e4c92f28 2661 (version "0.6.1")
dddbc90c
RV
2662 (source
2663 (origin
2664 (method url-fetch)
2665 (uri (string-append
2666 "https://hackage.haskell.org/package/distributive/distributive-"
2667 version
2668 ".tar.gz"))
2669 (sha256
2670 (base32
e4c92f28 2671 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 2672 (build-system haskell-build-system)
dddbc90c
RV
2673 (inputs
2674 `(("ghc-tagged" ,ghc-tagged)
2675 ("ghc-base-orphans" ,ghc-base-orphans)
2676 ("ghc-transformers-compat" ,ghc-transformers-compat)
2677 ("ghc-semigroups" ,ghc-semigroups)
2678 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2679 (native-inputs
2680 `(("cabal-doctest" ,cabal-doctest)
2681 ("ghc-doctest" ,ghc-doctest)
2682 ("ghc-hspec" ,ghc-hspec)
2683 ("hspec-discover" ,hspec-discover)))
2684 (home-page "https://github.com/ekmett/distributive/")
2685 (synopsis "Distributive functors for Haskell")
2686 (description "This package provides distributive functors for Haskell.
2687Dual to @code{Traversable}.")
2688 (license license:bsd-3)))
2689
2690(define-public ghc-dlist
2691 (package
2692 (name "ghc-dlist")
197ddf33 2693 (version "0.8.0.7")
dddbc90c
RV
2694 (source
2695 (origin
2696 (method url-fetch)
2697 (uri (string-append
2698 "https://hackage.haskell.org/package/dlist/dlist-"
2699 version
2700 ".tar.gz"))
2701 (sha256
197ddf33 2702 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
2703 (build-system haskell-build-system)
2704 (inputs
2705 `(("ghc-quickcheck" ,ghc-quickcheck)))
2706 (home-page "https://github.com/spl/dlist")
2707 (synopsis "Difference lists")
2708 (description
2709 "Difference lists are a list-like type supporting O(1) append. This is
2710particularly useful for efficient logging and pretty printing (e.g. with the
2711Writer monad), where list append quickly becomes too expensive.")
2712 (license license:bsd-3)))
2713
2714(define-public ghc-doctemplates
2715 (package
2716 (name "ghc-doctemplates")
2717 (version "0.2.2.1")
2718 (source
2719 (origin
2720 (method url-fetch)
2721 (uri (string-append "https://hackage.haskell.org/package/"
2722 "doctemplates/doctemplates-"
2723 version ".tar.gz"))
2724 (sha256
2725 (base32
2726 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
2727 (build-system haskell-build-system)
2728 (inputs
2729 `(("ghc-aeson" ,ghc-aeson)
2730 ("ghc-blaze-markup" ,ghc-blaze-markup)
2731 ("ghc-blaze-html" ,ghc-blaze-html)
2732 ("ghc-vector" ,ghc-vector)
2733 ("ghc-unordered-containers" ,ghc-unordered-containers)
2734 ("ghc-scientific" ,ghc-scientific)))
2735 (native-inputs
2736 `(("ghc-hspec" ,ghc-hspec)))
2737 (home-page "https://github.com/jgm/doctemplates#readme")
2738 (synopsis "Pandoc-style document templates")
2739 (description
2740 "This package provides a simple text templating system used by pandoc.")
2741 (license license:bsd-3)))
2742
2743(define-public ghc-doctest
2744 (package
2745 (name "ghc-doctest")
19c14a0f 2746 (version "0.16.2")
dddbc90c
RV
2747 (source
2748 (origin
2749 (method url-fetch)
2750 (uri (string-append
2751 "https://hackage.haskell.org/package/doctest/doctest-"
2752 version
2753 ".tar.gz"))
2754 (sha256
2755 (base32
19c14a0f 2756 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
2757 (build-system haskell-build-system)
2758 (arguments `(#:tests? #f)) ; FIXME: missing test framework
2759 (inputs
2760 `(("ghc-syb" ,ghc-syb)
2761 ("ghc-paths" ,ghc-paths)
2762 ("ghc-base-compat" ,ghc-base-compat)
2763 ("ghc-code-page" ,ghc-code-page)
2764 ("ghc-hunit" ,ghc-hunit)
2765 ("ghc-hspec" ,ghc-hspec)
2766 ("ghc-quickcheck" ,ghc-quickcheck)
2767 ("ghc-stringbuilder" ,ghc-stringbuilder)
2768 ("ghc-silently" ,ghc-silently)
2769 ("ghc-setenv" ,ghc-setenv)))
2770 (home-page
2771 "https://github.com/sol/doctest#readme")
2772 (synopsis "Test interactive Haskell examples")
2773 (description "The doctest program checks examples in source code comments.
2774It is modeled after doctest for Python, see
2775@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
2776 (license license:expat)))
2777
2778(define-public ghc-double-conversion
2779 (package
2780 (name "ghc-double-conversion")
2781 (version "2.0.2.0")
2782 (source
2783 (origin
2784 (method url-fetch)
2785 (uri (string-append "https://hackage.haskell.org/package/"
2786 "double-conversion/double-conversion-"
2787 version ".tar.gz"))
2788 (sha256
2789 (base32
2790 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
2791 (build-system haskell-build-system)
2792 (native-inputs
2793 `(("ghc-hunit" ,ghc-hunit)
2794 ("ghc-test-framework" ,ghc-test-framework)
2795 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2796 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2797 (home-page "https://github.com/bos/double-conversion")
2798 (synopsis "Fast conversion between double precision floating point and text")
2799 (description
2800 "This package provides a library that performs fast, accurate conversion
2801between double precision floating point and text.")
2802 (license license:bsd-3)))
2803
2804(define-public ghc-easy-file
2805 (package
2806 (name "ghc-easy-file")
2807 (version "0.2.2")
2808 (source
2809 (origin
2810 (method url-fetch)
2811 (uri (string-append
2812 "https://hackage.haskell.org/package/easy-file/easy-file-"
2813 version
2814 ".tar.gz"))
2815 (sha256
2816 (base32
2817 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
2818 (build-system haskell-build-system)
2819 (home-page
2820 "https://github.com/kazu-yamamoto/easy-file")
2821 (synopsis "File handling library for Haskell")
2822 (description "This library provides file handling utilities for Haskell.")
2823 (license license:bsd-3)))
2824
2825(define-public ghc-easyplot
2826 (package
2827 (name "ghc-easyplot")
2828 (version "1.0")
2829 (source
2830 (origin
2831 (method url-fetch)
2832 (uri (string-append
2833 "https://hackage.haskell.org/package/easyplot/easyplot-"
2834 version ".tar.gz"))
2835 (sha256
2836 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
2837 (build-system haskell-build-system)
2838 (propagated-inputs `(("gnuplot" ,gnuplot)))
2839 (arguments
2840 `(#:phases (modify-phases %standard-phases
2841 (add-after 'unpack 'fix-setup-suffix
2842 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
2843 (home-page "https://hub.darcs.net/scravy/easyplot")
2844 (synopsis "Haskell plotting library based on gnuplot")
2845 (description "This package provides a plotting library for
2846Haskell, using gnuplot for rendering.")
2847 (license license:expat)))
2848
2849(define-public ghc-echo
2850 (package
2851 (name "ghc-echo")
2852 (version "0.1.3")
2853 (source
2854 (origin
2855 (method url-fetch)
2856 (uri (string-append
2857 "https://hackage.haskell.org/package/echo/echo-"
2858 version ".tar.gz"))
2859 (sha256
2860 (base32
2861 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
2862 (build-system haskell-build-system)
2863 (arguments
2864 `(#:cabal-revision
2865 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
2866 (home-page "https://github.com/RyanGlScott/echo")
2867 (synopsis "Echo terminal input portably")
2868 (description "The @code{base} library exposes the @code{hGetEcho} and
2869@code{hSetEcho} functions for querying and setting echo status, but
2870unfortunately, neither function works with MinTTY consoles on Windows.
2871This library provides an alternative interface which works with both
2872MinTTY and other consoles.")
2873 (license license:bsd-3)))
2874
2875(define-public ghc-edisonapi
2876 (package
2877 (name "ghc-edisonapi")
2878 (version "1.3.1")
2879 (source
2880 (origin
2881 (method url-fetch)
2882 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
2883 "/EdisonAPI-" version ".tar.gz"))
2884 (sha256
2885 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
2886 (build-system haskell-build-system)
2887 (home-page "http://rwd.rdockins.name/edison/home/")
2888 (synopsis "Library of efficient, purely-functional data structures (API)")
2889 (description
2890 "Edison is a library of purely functional data structures written by
2891Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
2892value EDiSon (Efficient Data Structures). Edison provides several families of
2893abstractions, each with multiple implementations. The main abstractions
2894provided by Edison are: Sequences such as stacks, queues, and dequeues;
2895Collections such as sets, bags and heaps; and Associative Collections such as
2896finite maps and priority queues where the priority and element are distinct.")
2897 (license license:expat)))
2898
2899(define-public ghc-edisoncore
2900 (package
2901 (name "ghc-edisoncore")
2902 (version "1.3.2.1")
2903 (source
2904 (origin
2905 (method url-fetch)
2906 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
2907 "/EdisonCore-" version ".tar.gz"))
2908 (sha256
2909 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
2910 (build-system haskell-build-system)
2911 (inputs
2912 `(("ghc-quickcheck" ,ghc-quickcheck)
2913 ("ghc-edisonapi" ,ghc-edisonapi)))
2914 (home-page "http://rwd.rdockins.name/edison/home/")
2915 (synopsis "Library of efficient, purely-functional data structures")
2916 (description
2917 "This package provides the core Edison data structure implementations,
2918including multiple sequence, set, bag, and finite map concrete implementations
2919with various performance characteristics.")
2920 (license license:expat)))
2921
2922(define-public ghc-edit-distance
2923 (package
2924 (name "ghc-edit-distance")
2925 (version "0.2.2.1")
2926 (source
2927 (origin
2928 (method url-fetch)
2929 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
2930 "/edit-distance-" version ".tar.gz"))
2931 (sha256
2932 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
2933 (build-system haskell-build-system)
2934 (arguments
2935 `(#:phases
2936 (modify-phases %standard-phases
2937 (add-before 'configure 'update-constraints
2938 (lambda _
2939 (substitute* "edit-distance.cabal"
2940 (("QuickCheck >= 2\\.4 && <2\\.9")
2941 "QuickCheck >= 2.4 && < 2.12")))))))
2942 (inputs
2943 `(("ghc-random" ,ghc-random)
2944 ("ghc-test-framework" ,ghc-test-framework)
2945 ("ghc-quickcheck" ,ghc-quickcheck)
2946 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2947 (home-page "https://github.com/phadej/edit-distance")
2948 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
2949 (description
2950 "This package provides optimized functions to determine the edit
2951distances for fuzzy matching, including Levenshtein and restricted
2952Damerau-Levenshtein algorithms.")
2953 (license license:bsd-3)))
2954
2955(define-public ghc-either
2956 (package
2957 (name "ghc-either")
2958 (version "5.0.1")
2959 (source
2960 (origin
2961 (method url-fetch)
2962 (uri (string-append "https://hackage.haskell.org/package/"
2963 "either-" version "/"
2964 "either-" version ".tar.gz"))
2965 (sha256
2966 (base32
2967 "064hjfld7dkzs78sy30k5qkiva3hx24rax6dvzz5ygr2c0zypdkc"))))
2968 (build-system haskell-build-system)
2969 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
2970 ("ghc-exceptions" ,ghc-exceptions)
2971 ("ghc-free" ,ghc-free)
2972 ("ghc-monad-control" ,ghc-monad-control)
2973 ("ghc-manodrandom" ,ghc-monadrandom)
2974 ("ghc-mmorph" ,ghc-mmorph)
2975 ("ghc-profunctors" ,ghc-profunctors)
2976 ("ghc-semigroups" ,ghc-semigroups)
2977 ("ghc-semigroupoids" ,ghc-semigroupoids)
2978 ("ghc-transformers-base" ,ghc-transformers-base)))
2979 (native-inputs
2980 `(("ghc-quickcheck" ,ghc-quickcheck)
2981 ("ghc-test-framework" ,ghc-test-framework)
2982 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2983 (home-page "https://github.com/ekmett/either")
2984 (synopsis "Provides an either monad transformer for Haskell")
2985 (description "This Haskell package provides an either monad transformer.")
2986 (license license:bsd-3)))
2987
2988(define-public ghc-email-validate
2989 (package
2990 (name "ghc-email-validate")
2991 (version "2.3.2.6")
2992 (source
2993 (origin
2994 (method url-fetch)
2995 (uri (string-append
2996 "https://hackage.haskell.org/package/"
2997 "email-validate/email-validate-"
2998 version
2999 ".tar.gz"))
3000 (sha256
3001 (base32
3002 "0chgylvc8xmhp933rdbmpg5sv4y7yg2h6kbf0ip1dzmbd5p55pa5"))))
3003 (build-system haskell-build-system)
3004 (inputs
3005 `(("ghc-attoparsec" ,ghc-attoparsec)
3006 ("ghc-hspec" ,ghc-hspec)
3007 ("ghc-quickcheck" ,ghc-quickcheck)
3008 ("ghc-doctest" ,ghc-doctest)))
3009 (home-page
3010 "https://github.com/Porges/email-validate-hs")
3011 (synopsis "Email address validator for Haskell")
3012 (description
3013 "This Haskell package provides a validator that can validate an email
3014address string against RFC 5322.")
3015 (license license:bsd-3)))
3016
3017(define-public ghc-enclosed-exceptions
3018 (package
3019 (name "ghc-enclosed-exceptions")
3020 (version "1.0.3")
3021 (source (origin
3022 (method url-fetch)
3023 (uri (string-append "https://hackage.haskell.org/package/"
3024 "enclosed-exceptions/enclosed-exceptions-"
3025 version ".tar.gz"))
3026 (sha256
3027 (base32
3028 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3029 (build-system haskell-build-system)
3030 ;; FIXME: one of the tests blocks forever:
3031 ;; "thread blocked indefinitely in an MVar operation"
3032 (arguments '(#:tests? #f))
3033 (inputs
3034 `(("ghc-lifted-base" ,ghc-lifted-base)
3035 ("ghc-monad-control" ,ghc-monad-control)
3036 ("ghc-async" ,ghc-async)
3037 ("ghc-transformers-base" ,ghc-transformers-base)))
3038 (native-inputs
3039 `(("ghc-hspec" ,ghc-hspec)
3040 ("ghc-quickcheck" ,ghc-quickcheck)))
3041 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3042 (synopsis "Catch all exceptions from within an enclosed computation")
3043 (description
3044 "This library implements a technique to catch all exceptions raised
3045within an enclosed computation, while remaining responsive to (external)
3046asynchronous exceptions.")
3047 (license license:expat)))
3048
3049(define-public ghc-equivalence
3050 (package
3051 (name "ghc-equivalence")
3052 (version "0.3.2")
3053 (source
3054 (origin
3055 (method url-fetch)
3056 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3057 "/equivalence-" version ".tar.gz"))
3058 (sha256
3059 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
3060 (build-system haskell-build-system)
3061 (inputs
3062 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3063 ("ghc-transformers-compat" ,ghc-transformers-compat)
3064 ("ghc-quickcheck" ,ghc-quickcheck)
3065 ("ghc-test-framework" ,ghc-test-framework)
3066 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3067 (home-page "https://github.com/pa-ba/equivalence")
3068 (synopsis "Maintaining an equivalence relation implemented as union-find")
3069 (description
3070 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3071Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
307222(2), 1975) in order to maintain an equivalence relation. This
3073implementation is a port of the @code{union-find} package using the @code{ST}
3074monad transformer (instead of the IO monad).")
3075 (license license:bsd-3)))
3076
3077(define-public ghc-erf
3078 (package
3079 (name "ghc-erf")
3080 (version "2.0.0.0")
3081 (source
3082 (origin
3083 (method url-fetch)
3084 (uri (string-append "https://hackage.haskell.org/package/"
3085 "erf-" version "/"
3086 "erf-" version ".tar.gz"))
3087 (sha256
3088 (base32
3089 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3090 (build-system haskell-build-system)
3091 (home-page "https://hackage.haskell.org/package/erf")
3092 (synopsis "The error function, erf, and related functions for Haskell")
3093 (description "This Haskell library provides a type class for the
3094error function, erf, and related functions. Instances for Float and
3095Double.")
3096 (license license:bsd-3)))
3097
3098(define-public ghc-errorcall-eq-instance
3099 (package
3100 (name "ghc-errorcall-eq-instance")
3101 (version "0.3.0")
3102 (source
3103 (origin
3104 (method url-fetch)
3105 (uri (string-append "https://hackage.haskell.org/package/"
3106 "errorcall-eq-instance/errorcall-eq-instance-"
3107 version ".tar.gz"))
3108 (sha256
3109 (base32
3110 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3111 (build-system haskell-build-system)
3112 (inputs
3113 `(("ghc-base-orphans" ,ghc-base-orphans)))
3114 (native-inputs
3115 `(("ghc-quickcheck" ,ghc-quickcheck)
3116 ("ghc-hspec" ,ghc-hspec)
3117 ("hspec-discover" ,hspec-discover)))
3118 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3119 (synopsis "Orphan Eq instance for ErrorCall")
3120 (description
3121 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3122This package provides an orphan instance.")
3123 (license license:expat)))
3124
3125(define-public ghc-errors
3126 (package
3127 (name "ghc-errors")
3128 (version "2.3.0")
3129 (source
3130 (origin
3131 (method url-fetch)
3132 (uri (string-append "https://hackage.haskell.org/package/"
3133 "errors-" version "/"
3134 "errors-" version ".tar.gz"))
3135 (sha256
3136 (base32
3137 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3138 (build-system haskell-build-system)
3139 (inputs
3140 `(("ghc-exceptions" ,ghc-exceptions)
3141 ("ghc-transformers-compat" ,ghc-transformers-compat)
3142 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3143 ("ghc-safe" ,ghc-safe)))
3144 (home-page "https://github.com/gabriel439/haskell-errors-library")
3145 (synopsis "Error handling library for Haskell")
3146 (description "This library encourages an error-handling style that
3147directly uses the type system, rather than out-of-band exceptions.")
3148 (license license:bsd-3)))
3149
3150(define-public ghc-esqueleto
3151 (let ((version "2.5.3")
3152 (revision "1")
3153 (commit "b81e0d951e510ebffca03c5a58658ad884cc6fbd"))
3154 (package
3155 (name "ghc-esqueleto")
3156 (version (git-version version revision commit))
3157 (source
3158 (origin
3159 (method git-fetch)
3160 (uri (git-reference
3161 (url "https://github.com/bitemyapp/esqueleto")
3162 (commit commit)))
3163 (file-name (git-file-name name version))
3164 (sha256
3165 (base32
3166 "0lz1qxms7cfg5p3j37inlych0r2fwhm8xbarcys3df9m7jy9nixa"))))
3167 (build-system haskell-build-system)
3168 (arguments
3169 `(#:haddock? #f ; Haddock reports an internal error.
3170 #:phases
3171 (modify-phases %standard-phases
3172 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3173 ;; SQLite backends. Since we only have Haskell packages for
3174 ;; SQLite, we remove the other two test suites. FIXME: Add the
3175 ;; other backends and run all three test suites.
3176 (add-before 'configure 'remove-non-sqlite-test-suites
3177 (lambda _
3178 (use-modules (ice-9 rdelim))
3179 (with-atomic-file-replacement "esqueleto.cabal"
3180 (lambda (in out)
3181 (let loop ((line (read-line in 'concat)) (deleting? #f))
3182 (cond
3183 ((eof-object? line) #t)
3184 ((string-every char-set:whitespace line)
3185 (unless deleting? (display line out))
3186 (loop (read-line in 'concat) #f))
3187 ((member line '("test-suite mysql\n"
3188 "test-suite postgresql\n"))
3189 (loop (read-line in 'concat) #t))
3190 (else
3191 (unless deleting? (display line out))
3192 (loop (read-line in 'concat) deleting?)))))))))))
3193 (inputs
3194 `(("ghc-blaze-html" ,ghc-blaze-html)
3195 ("ghc-conduit" ,ghc-conduit)
3196 ("ghc-monad-logger" ,ghc-monad-logger)
3197 ("ghc-persistent" ,ghc-persistent)
3198 ("ghc-resourcet" ,ghc-resourcet)
3199 ("ghc-tagged" ,ghc-tagged)
3200 ("ghc-unliftio" ,ghc-unliftio)
3201 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3202 (native-inputs
3203 `(("ghc-hspec" ,ghc-hspec)
3204 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3205 ("ghc-persistent-template" ,ghc-persistent-template)))
3206 (home-page "https://github.com/bitemyapp/esqueleto")
3207 (synopsis "Type-safe embedded domain specific language for SQL queries")
3208 (description "This library provides a type-safe embedded domain specific
3209language (EDSL) for SQL queries that works with SQL backends as provided by
3210@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3211to learn new concepts, just new syntax, and it's fairly easy to predict the
3212generated SQL and optimize it for your backend.")
3213 (license license:bsd-3))))
3214
3215(define-public ghc-exactprint
3216 (package
3217 (name "ghc-exactprint")
3218 (version "0.5.6.1")
3219 (source
3220 (origin
3221 (method url-fetch)
3222 (uri (string-append
3223 "https://hackage.haskell.org/package/"
3224 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3225 (sha256
3226 (base32
3227 "141k6qiys0m0r4br7ikp4i546vs3xcil9cwglzcdfcbnb5nj1z87"))))
3228 (build-system haskell-build-system)
3229 (inputs
3230 `(("ghc-paths" ,ghc-paths)
3231 ("ghc-syb" ,ghc-syb)
3232 ("ghc-free" ,ghc-free)))
3233 (native-inputs
3234 `(("ghc-hunit" ,ghc-hunit)
3235 ("ghc-diff" ,ghc-diff)
3236 ("ghc-silently" ,ghc-silently)
3237 ("ghc-filemanip" ,ghc-filemanip)))
3238 (home-page
3239 "http://hackage.haskell.org/package/ghc-exactprint")
3240 (synopsis "ExactPrint for GHC")
3241 (description
3242 "Using the API Annotations available from GHC 7.10.2, this library
3243provides a means to round-trip any code that can be compiled by GHC, currently
3244excluding @file{.lhs} files.")
3245 (license license:bsd-3)))
3246
3247(define-public ghc-exceptions
3248 (package
3249 (name "ghc-exceptions")
46d3e65b 3250 (version "0.10.3")
dddbc90c
RV
3251 (source
3252 (origin
3253 (method url-fetch)
3254 (uri (string-append
3255 "https://hackage.haskell.org/package/exceptions/exceptions-"
3256 version
3257 ".tar.gz"))
3258 (sha256
3259 (base32
46d3e65b 3260 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3261 (build-system haskell-build-system)
3262 (native-inputs
3263 `(("ghc-quickcheck" ,ghc-quickcheck)
3264 ("ghc-test-framework" ,ghc-test-framework)
3265 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3266 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3267 (inputs
3268 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3269 (home-page "https://github.com/ekmett/exceptions/")
3270 (synopsis "Extensible optionally-pure exceptions")
3271 (description "This library provides extensible optionally-pure exceptions
3272for Haskell.")
3273 (license license:bsd-3)))
3274
3275(define-public ghc-executable-path
3276 (package
3277 (name "ghc-executable-path")
3278 (version "0.0.3.1")
3279 (source (origin
3280 (method url-fetch)
3281 (uri (string-append "https://hackage.haskell.org/package/"
3282 "executable-path/executable-path-"
3283 version ".tar.gz"))
3284 (sha256
3285 (base32
3286 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3287 (build-system haskell-build-system)
3288 (home-page "https://hackage.haskell.org/package/executable-path")
3289 (synopsis "Find out the full path of the executable")
3290 (description
3291 "The documentation of @code{System.Environment.getProgName} says that
3292\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3293instead, for maximum portability, we just return the leafname of the program
3294as invoked.\" This library tries to provide the missing path.")
3295 (license license:public-domain)))
3296
3297(define-public ghc-extensible-exceptions
3298 (package
3299 (name "ghc-extensible-exceptions")
3300 (version "0.1.1.4")
3301 (source
3302 (origin
3303 (method url-fetch)
3304 (uri (string-append "https://hackage.haskell.org/package/"
3305 "extensible-exceptions/extensible-exceptions-"
3306 version ".tar.gz"))
3307 (sha256
3308 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3309 (build-system haskell-build-system)
3310 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3311 (synopsis "Extensible exceptions for Haskell")
3312 (description
3313 "This package provides extensible exceptions for both new and old
3314versions of GHC (i.e., < 6.10).")
3315 (license license:bsd-3)))
3316
3317(define-public ghc-extra
3318 (package
3319 (name "ghc-extra")
10650c44 3320 (version "1.6.18")
dddbc90c
RV
3321 (source
3322 (origin
3323 (method url-fetch)
3324 (uri (string-append
3325 "https://hackage.haskell.org/package/extra/extra-"
3326 version
3327 ".tar.gz"))
3328 (sha256
3329 (base32
10650c44 3330 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
dddbc90c
RV
3331 (build-system haskell-build-system)
3332 (inputs
3333 `(("ghc-clock" ,ghc-clock)
10650c44 3334 ("ghc-semigroups" ,ghc-semigroups)
dddbc90c
RV
3335 ("ghc-quickcheck" ,ghc-quickcheck)))
3336 (home-page "https://github.com/ndmitchell/extra")
3337 (synopsis "Extra Haskell functions")
3338 (description "This library provides extra functions for the standard
3339Haskell libraries. Most functions are simple additions, filling out missing
3340functionality. A few functions are available in later versions of GHC, but
3341this package makes them available back to GHC 7.2.")
3342 (license license:bsd-3)))
3343
3344(define-public ghc-fail
3345 (package
3346 (name "ghc-fail")
3347 (version "4.9.0.0")
3348 (source
3349 (origin
3350 (method url-fetch)
3351 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3352 version ".tar.gz"))
3353 (sha256
3354 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3355 (build-system haskell-build-system)
3356 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3357 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3358 (synopsis "Forward-compatible MonadFail class")
3359 (description
3360 "This package contains the @code{Control.Monad.Fail} module providing the
3361@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3362class that became available in
3363@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3364older @code{base} package versions. This package turns into an empty package
3365when used with GHC versions which already provide the
3366@code{Control.Monad.Fail} module.")
3367 (license license:bsd-3)))
3368
3369(define-public ghc-fast-logger
3370 (package
3371 (name "ghc-fast-logger")
d443a52a 3372 (version "2.4.17")
dddbc90c
RV
3373 (source
3374 (origin
3375 (method url-fetch)
3376 (uri (string-append
3377 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3378 version
3379 ".tar.gz"))
3380 (sha256
3381 (base32
d443a52a 3382 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
3383 (build-system haskell-build-system)
3384 (inputs
3385 `(("ghc-auto-update" ,ghc-auto-update)
3386 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
3387 ("ghc-unix-time" ,ghc-unix-time)
3388 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
3389 (native-inputs
3390 `(("hspec-discover" ,hspec-discover)
3391 ("ghc-hspec" ,ghc-hspec)))
3392 (home-page "https://hackage.haskell.org/package/fast-logger")
3393 (synopsis "Fast logging system")
3394 (description "This library provides a fast logging system for Haskell.")
3395 (license license:bsd-3)))
3396
3397(define-public ghc-feed
3398 (package
3399 (name "ghc-feed")
3400 (version "1.0.0.0")
3401 (source
3402 (origin
3403 (method url-fetch)
3404 (uri (string-append "https://hackage.haskell.org/package/"
3405 "feed/feed-" version ".tar.gz"))
3406 (sha256
3407 (base32
3408 "05rgg7x1984mgfhkmz792xj8lhwjgznixhygzr8blf517lns2nck"))))
3409 (build-system haskell-build-system)
3410 (arguments
3411 `(#:cabal-revision
3412 ("4" "0baavcavm3ywykcr9cm07aqr7sna98jba2n68lyn3kany8ri214d")))
3413 (inputs
3414 `(("ghc-base-compat" ,ghc-base-compat)
3415 ("ghc-old-locale" ,ghc-old-locale)
3416 ("ghc-old-time" ,ghc-old-time)
3417 ("ghc-safe" ,ghc-safe)
3418 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3419 ("ghc-utf8-string" ,ghc-utf8-string)
3420 ("ghc-xml-conduit" ,ghc-xml-conduit)
3421 ("ghc-xml-types" ,ghc-xml-types)))
3422 (native-inputs
3423 `(("ghc-hunit" ,ghc-hunit)
3424 ("ghc-test-framework" ,ghc-test-framework)
3425 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3426 (home-page "https://github.com/bergmark/feed")
3427 (synopsis "Haskell package for handling various syndication formats")
3428 (description "This Haskell package includes tools for generating and
3429consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3430 (license license:bsd-3)))
3431
3432(define-public ghc-fgl
3433 (package
3434 (name "ghc-fgl")
17482b26 3435 (version "5.7.0.1")
dddbc90c
RV
3436 (outputs '("out" "doc"))
3437 (source
3438 (origin
3439 (method url-fetch)
3440 (uri (string-append
3441 "https://hackage.haskell.org/package/fgl/fgl-"
3442 version
3443 ".tar.gz"))
3444 (sha256
3445 (base32
17482b26 3446 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
3447 (build-system haskell-build-system)
3448 (arguments
3449 `(#:phases
3450 (modify-phases %standard-phases
3451 (add-before 'configure 'update-constraints
3452 (lambda _
3453 (substitute* "fgl.cabal"
17482b26
TS
3454 (("QuickCheck >= 2\\.8 && < 2\\.13")
3455 "QuickCheck >= 2.8 && < 2.14")
3456 (("hspec >= 2\\.1 && < 2\\.7")
3457 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3458 (inputs
3459 `(("ghc-hspec" ,ghc-hspec)
3460 ("ghc-quickcheck" ,ghc-quickcheck)))
3461 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3462 (synopsis
3463 "Martin Erwig's Functional Graph Library")
3464 (description "The functional graph library, FGL, is a collection of type
3465and function definitions to address graph problems. The basis of the library
3466is an inductive definition of graphs in the style of algebraic data types that
3467encourages inductive, recursive definitions of graph algorithms.")
3468 (license license:bsd-3)))
3469
3470(define-public ghc-fgl-arbitrary
3471 (package
3472 (name "ghc-fgl-arbitrary")
3473 (version "0.2.0.3")
3474 (source
3475 (origin
3476 (method url-fetch)
3477 (uri (string-append
3478 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3479 version ".tar.gz"))
3480 (sha256
3481 (base32
3482 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3483 (build-system haskell-build-system)
3484 (arguments
3485 `(#:phases
3486 (modify-phases %standard-phases
3487 (add-before 'configure 'update-constraints
3488 (lambda _
3489 (substitute* "fgl-arbitrary.cabal"
3490 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 3491 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 3492 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 3493 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3494 (inputs
3495 `(("ghc-fgl" ,ghc-fgl)
3496 ("ghc-quickcheck" ,ghc-quickcheck)
3497 ("ghc-hspec" ,ghc-hspec)))
3498 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3499 (synopsis "QuickCheck support for fgl")
3500 (description
3501 "Provides Arbitrary instances for fgl graphs to avoid adding a
3502QuickCheck dependency for fgl whilst still making the instances
3503available to others. Also available are non-fgl-specific functions
3504for generating graph-like data structures.")
3505 (license license:bsd-3)))
3506
3507(define-public ghc-file-embed
3508 (package
3509 (name "ghc-file-embed")
b5920d50 3510 (version "0.0.11")
dddbc90c
RV
3511 (source
3512 (origin
3513 (method url-fetch)
3514 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3515 "file-embed-" version ".tar.gz"))
3516 (sha256
3517 (base32
b5920d50 3518 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
3519 (build-system haskell-build-system)
3520 (home-page "https://github.com/snoyberg/file-embed")
3521 (synopsis "Use Template Haskell to embed file contents directly")
3522 (description
3523 "This package allows you to use Template Haskell to read a file or all
3524the files in a directory, and turn them into @code{(path, bytestring)} pairs
3525embedded in your Haskell code.")
3526 (license license:bsd-3)))
3527
3528(define-public ghc-filemanip
3529 (package
3530 (name "ghc-filemanip")
3531 (version "0.3.6.3")
3532 (source (origin
3533 (method url-fetch)
3534 (uri (string-append "https://hackage.haskell.org/package/"
3535 "filemanip/filemanip-" version ".tar.gz"))
3536 (sha256
3537 (base32
3538 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3539 (build-system haskell-build-system)
3540 (inputs
3541 `(("ghc-unix-compat" ,ghc-unix-compat)))
3542 (home-page "https://github.com/bos/filemanip")
3543 (synopsis "File and directory manipulation for Haskell")
3544 (description
3545 "This package provides a Haskell library for working with files and
3546directories. It includes code for pattern matching, finding files, modifying
3547file contents, and more.")
3548 (license license:bsd-3)))
3549
3550(define-public ghc-findbin
3551 (package
3552 (name "ghc-findbin")
3553 (version "0.0.5")
3554 (source
3555 (origin
3556 (method url-fetch)
3557 (uri (string-append
3558 "https://hackage.haskell.org/package/FindBin/FindBin-"
3559 version ".tar.gz"))
3560 (sha256
3561 (base32
3562 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3563 (build-system haskell-build-system)
3564 (home-page "https://github.com/audreyt/findbin")
3565 (synopsis "Get the absolute path of the running program")
3566 (description
3567 "This module locates the full directory of the running program, to allow
3568the use of paths relative to it. FindBin supports invocation of Haskell
3569programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3570an executable.")
3571 (license license:bsd-3)))
3572
3573(define-public ghc-fingertree
3574 (package
3575 (name "ghc-fingertree")
aac14fdc 3576 (version "0.1.4.2")
dddbc90c
RV
3577 (source
3578 (origin
3579 (method url-fetch)
3580 (uri (string-append
3581 "https://hackage.haskell.org/package/fingertree/fingertree-"
3582 version ".tar.gz"))
3583 (sha256
3584 (base32
aac14fdc 3585 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
3586 (build-system haskell-build-system)
3587 (native-inputs
3588 `(("ghc-hunit" ,ghc-hunit)
3589 ("ghc-quickcheck" ,ghc-quickcheck)
3590 ("ghc-test-framework" ,ghc-test-framework)
3591 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3592 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3593 (home-page "https://hackage.haskell.org/package/fingertree")
3594 (synopsis "Generic finger-tree structure")
3595 (description "This library provides finger trees, a general sequence
3596representation with arbitrary annotations, for use as a base for
3597implementations of various collection types. It includes examples, as
3598described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3599simple general-purpose data structure\".")
3600 (license license:bsd-3)))
3601
3602(define-public ghc-fixed
3603 (package
3604 (name "ghc-fixed")
099dda5b 3605 (version "0.3")
dddbc90c
RV
3606 (source
3607 (origin
3608 (method url-fetch)
3609 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
3610 version ".tar.gz"))
3611 (sha256
3612 (base32
099dda5b 3613 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
3614 (build-system haskell-build-system)
3615 (home-page "https://github.com/ekmett/fixed")
3616 (synopsis "Signed 15.16 precision fixed point arithmetic")
3617 (description
3618 "This package provides functions for signed 15.16 precision fixed point
3619arithmetic.")
3620 (license license:bsd-3)))
3621
f169f713
JS
3622(define-public ghc-fmlist
3623 (package
3624 (name "ghc-fmlist")
fe9b83a6 3625 (version "0.9.3")
f169f713
JS
3626 (source
3627 (origin
3628 (method url-fetch)
3629 (uri
3630 (string-append
3631 "https://hackage.haskell.org/package/fmlist/fmlist-"
3632 version ".tar.gz"))
3633 (sha256
3634 (base32
fe9b83a6 3635 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
3636 (build-system haskell-build-system)
3637 (home-page "https://github.com/sjoerdvisscher/fmlist")
3638 (synopsis "FoldMap lists")
3639 (description "FoldMap lists are lists represented by their
3640@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
3641append, just like DLists, but other operations might have favorable
3642performance characteristics as well. These wild claims are still
3643completely unverified though.")
3644 (license license:bsd-3)))
3645
dddbc90c
RV
3646(define-public ghc-foldl
3647 (package
3648 (name "ghc-foldl")
3649 (version "1.4.3")
3650 (source
3651 (origin
3652 (method url-fetch)
3653 (uri (string-append "https://hackage.haskell.org/package/"
3654 "foldl-" version "/"
3655 "foldl-" version ".tar.gz"))
3656 (sha256
3657 (base32
3658 "13n0ca3hw5jzqf6rxsdbhbwkn61a9zlm13f0f205s60j3sc72jzk"))))
3659 (build-system haskell-build-system)
3660 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3661 ("ghc-primitive" ,ghc-primitive)
3662 ("ghc-vector" ,ghc-vector)
3663 ("ghc-unordered-containers" ,ghc-unordered-containers)
3664 ("ghc-hashable" ,ghc-hashable)
3665 ("ghc-contravariant" ,ghc-contravariant)
3666 ("ghc-semigroups" ,ghc-semigroups)
3667 ("ghc-profunctors" ,ghc-profunctors)
3668 ("ghc-semigroupoids" ,ghc-semigroupoids)
3669 ("ghc-comonad" ,ghc-comonad)
3670 ("ghc-vector-builder" ,ghc-vector-builder)))
3671 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
3672 (synopsis "Composable, streaming, and efficient left folds for Haskell")
3673 (description "This Haskell library provides strict left folds that stream
3674in constant memory, and you can combine folds using @code{Applicative} style
3675to derive new folds. Derived folds still traverse the container just once
3676and are often as efficient as hand-written folds.")
3677 (license license:bsd-3)))
3678
3679(define-public ghc-foundation
3680 (package
3681 (name "ghc-foundation")
0a702df9 3682 (version "0.0.25")
dddbc90c
RV
3683 (source
3684 (origin
3685 (method url-fetch)
3686 (uri (string-append "https://hackage.haskell.org/package/"
3687 "foundation/foundation-" version ".tar.gz"))
3688 (sha256
3689 (base32
0a702df9 3690 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c
RV
3691 (build-system haskell-build-system)
3692 (inputs `(("ghc-basement" ,ghc-basement)))
3693 (home-page "https://github.com/haskell-foundation/foundation")
3694 (synopsis "Alternative prelude with batteries and no dependencies")
3695 (description
3696 "This package provides a custom prelude with no dependencies apart from
3697the base package.
3698
3699Foundation has the following goals:
3700
3701@enumerate
3702@item provide a base like sets of modules that provide a consistent set of
3703 features and bugfixes across multiple versions of GHC (unlike base).
3704@item provide a better and more efficient prelude than base's prelude.
3705@item be self-sufficient: no external dependencies apart from base;
3706@item provide better data-types: packed unicode string by default, arrays;
3707@item Numerical classes that better represent mathematical things (no more
3708 all-in-one @code{Num});
3709@item I/O system with less lazy IO.
3710@end enumerate\n")
3711 (license license:bsd-3)))
3712
3713(define-public ghc-free
3714 (package
3715 (name "ghc-free")
3716 (version "5.0.2")
3717 (source
3718 (origin
3719 (method url-fetch)
3720 (uri (string-append
3721 "https://hackage.haskell.org/package/free/free-"
3722 version
3723 ".tar.gz"))
3724 (sha256
3725 (base32
3726 "15m3n9vhz7z3kzv1w3wlfa3x8jp4cbrkwmrcjr7jlx39iqffn1gg"))))
3727 (build-system haskell-build-system)
3728 (inputs
3729 `(("ghc-prelude-extras" ,ghc-prelude-extras)
3730 ("ghc-profunctors" ,ghc-profunctors)
3731 ("ghc-exceptions" ,ghc-exceptions)
3732 ("ghc-bifunctors" ,ghc-bifunctors)
3733 ("ghc-comonad" ,ghc-comonad)
3734 ("ghc-distributive" ,ghc-distributive)
3735 ("ghc-semigroupoids" ,ghc-semigroupoids)
3736 ("ghc-semigroups" ,ghc-semigroups)
3737 ("ghc-transformers-base" ,ghc-transformers-base)
3738 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3739 (home-page "https://github.com/ekmett/free/")
3740 (synopsis "Unrestricted monads for Haskell")
3741 (description "This library provides free monads, which are useful for many
3742tree-like structures and domain specific languages. If @code{f} is a
3743@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
3744whose nodes are labeled with the constructors of @code{f}. The word \"free\"
3745is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
3746f} makes no constraining assumptions beyond those given by @code{f} and the
3747definition of @code{Monad}.")
3748 (license license:bsd-3)))
3749
3750(define-public ghc-fsnotify
3751 (package
3752 (name "ghc-fsnotify")
3753 (version "0.3.0.1")
3754 (source (origin
3755 (method url-fetch)
3756 (uri (string-append
3757 "https://hackage.haskell.org/package/fsnotify/"
3758 "fsnotify-" version ".tar.gz"))
3759 (sha256
3760 (base32
3761 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
3762 (build-system haskell-build-system)
3763 (inputs
3764 `(("ghc-async" ,ghc-async)
3765 ("ghc-unix-compat" ,ghc-unix-compat)
3766 ("ghc-hinotify" ,ghc-hinotify)
3767 ("ghc-tasty" ,ghc-tasty)
3768 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3769 ("ghc-random" ,ghc-random)
3770 ("ghc-shelly" ,ghc-shelly)
3771 ("ghc-temporary" ,ghc-temporary)))
3772 (home-page "https://github.com/haskell-fswatch/hfsnotify")
3773 (synopsis "Cross platform library for file change notification.")
3774 (description "Cross platform library for file creation, modification, and
3775deletion notification. This library builds upon existing libraries for platform
3776specific Windows, Mac, and Linux file system event notification.")
3777 (license license:bsd-3)))
3778
3779(define-public ghc-generic-deriving
3780 (package
3781 (name "ghc-generic-deriving")
55c1e6be 3782 (version "1.12.4")
dddbc90c
RV
3783 (source
3784 (origin
3785 (method url-fetch)
3786 (uri (string-append
3787 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
3788 version
3789 ".tar.gz"))
3790 (sha256
3791 (base32
55c1e6be 3792 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
3793 (build-system haskell-build-system)
3794 (inputs
3795 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
3796 (native-inputs
3797 `(("ghc-hspec" ,ghc-hspec)
3798 ("hspec-discover" ,hspec-discover)))
3799 (home-page "https://hackage.haskell.org/package/generic-deriving")
3800 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3801 (description "This package provides functionality for generalising the
3802deriving mechanism in Haskell to arbitrary classes.")
3803 (license license:bsd-3)))
3804
3805(define-public ghc-generics-sop
3806 (package
3807 (name "ghc-generics-sop")
3ed40e10 3808 (version "0.4.0.1")
dddbc90c
RV
3809 (source
3810 (origin
3811 (method url-fetch)
3812 (uri (string-append "https://hackage.haskell.org/package/"
3813 "generics-sop-" version "/"
3814 "generics-sop-" version ".tar.gz"))
3815 (sha256
3816 (base32
3ed40e10 3817 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 3818 (build-system haskell-build-system)
3ed40e10
TS
3819 (inputs
3820 `(("ghc-sop-core" ,ghc-sop-core)
3821 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
3822 (home-page "https://github.com/well-typed/generics-sop")
3823 (synopsis "Generic Programming using True Sums of Products for Haskell")
3824 (description "This Haskell package supports the definition of generic
3825functions. Datatypes are viewed in a uniform, structured way: the choice
3826between constructors is represented using an n-ary sum, and the arguments of
3827each constructor are represented using an n-ary product.")
3828 (license license:bsd-3)))
3829
3830(define-public ghc-geniplate-mirror
3831 (package
3832 (name "ghc-geniplate-mirror")
3833 (version "0.7.6")
3834 (source
3835 (origin
3836 (method url-fetch)
3837 (uri (string-append "https://hackage.haskell.org/package"
3838 "/geniplate-mirror"
3839 "/geniplate-mirror-" version ".tar.gz"))
3840 (sha256
3841 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
3842 (build-system haskell-build-system)
3843 (home-page "https://github.com/danr/geniplate")
3844 (synopsis "Use Template Haskell to generate Uniplate-like functions")
3845 (description
3846 "Use Template Haskell to generate Uniplate-like functions. This is a
3847maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
3848geniplate} package, written by Lennart Augustsson.")
3849 (license license:bsd-3)))
3850
3851(define-public ghc-genvalidity
3852 (package
3853 (name "ghc-genvalidity")
920f44a1 3854 (version "0.8.0.0")
dddbc90c
RV
3855 (source
3856 (origin
3857 (method url-fetch)
3858 (uri (string-append
3859 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
3860 version
3861 ".tar.gz"))
3862 (sha256
3863 (base32
920f44a1 3864 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
3865 (build-system haskell-build-system)
3866 (inputs
3867 `(("ghc-quickcheck" ,ghc-quickcheck)
3868 ("ghc-validity" ,ghc-validity)))
3869 (native-inputs
3870 `(("ghc-hspec" ,ghc-hspec)
3871 ("hspec-discover" ,hspec-discover)
3872 ("ghc-hspec-core" ,ghc-hspec-core)))
3873 (home-page
3874 "https://github.com/NorfairKing/validity")
3875 (synopsis
3876 "Testing utilities for the @code{validity} library")
3877 (description
3878 "This package provides testing utilities that are useful in conjunction
3879with the @code{Validity} typeclass.")
3880 (license license:expat)))
3881
3882(define-public ghc-genvalidity-property
3883 (package
3884 (name "ghc-genvalidity-property")
e4ede35b 3885 (version "0.4.0.0")
dddbc90c
RV
3886 (source
3887 (origin
3888 (method url-fetch)
3889 (uri (string-append
3890 "https://hackage.haskell.org/package/"
3891 "genvalidity-property/genvalidity-property-"
3892 version
3893 ".tar.gz"))
3894 (sha256
3895 (base32
e4ede35b 3896 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
3897 (build-system haskell-build-system)
3898 (inputs
3899 `(("ghc-quickcheck" ,ghc-quickcheck)
3900 ("ghc-genvalidity" ,ghc-genvalidity)
3901 ("ghc-hspec" ,ghc-hspec)
3902 ("hspec-discover" ,hspec-discover)
3903 ("ghc-validity" ,ghc-validity)))
3904 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
3905 (home-page
3906 "https://github.com/NorfairKing/validity")
3907 (synopsis
3908 "Standard properties for functions on @code{Validity} types")
3909 (description
3910 "This package supplements the @code{Validity} typeclass with standard
3911properties for functions operating on them.")
3912 (license license:expat)))
3913
3914(define-public ghc-gitrev
3915 (package
3916 (name "ghc-gitrev")
3917 (version "1.3.1")
3918 (source
3919 (origin
3920 (method url-fetch)
3921 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
3922 version ".tar.gz"))
3923 (sha256
3924 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
3925 (build-system haskell-build-system)
3926 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
3927 (home-page "https://github.com/acfoltzer/gitrev")
3928 (synopsis "Compile git revision info into Haskell projects")
3929 (description
3930 "This package provides some handy Template Haskell splices for including
3931the current git hash and branch in the code of your project. This is useful
3932for including in panic messages, @command{--version} output, or diagnostic
3933info for more informative bug reports.")
3934 (license license:bsd-3)))
3935
3936(define-public ghc-glob
3937 (package
3938 (name "ghc-glob")
b900f486 3939 (version "0.10.0")
dddbc90c
RV
3940 (source
3941 (origin
3942 (method url-fetch)
3943 (uri (string-append "https://hackage.haskell.org/package/"
3944 "Glob-" version "/"
3945 "Glob-" version ".tar.gz"))
3946 (sha256
3947 (base32
b900f486 3948 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
3949 (build-system haskell-build-system)
3950 (inputs
3951 `(("ghc-dlist" ,ghc-dlist)
3952 ("ghc-semigroups" ,ghc-semigroups)
3953 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3954 (native-inputs
3955 `(("ghc-hunit" ,ghc-hunit)
3956 ("ghc-quickcheck" ,ghc-quickcheck)
3957 ("ghc-test-framework" ,ghc-test-framework)
3958 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3959 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3960 (home-page "http://iki.fi/matti.niemenmaa/glob/")
3961 (synopsis "Haskell library matching glob patterns against file paths")
3962 (description "This package provides a Haskell library for @dfn{globbing}:
3963matching patterns against file paths.")
3964 (license license:bsd-3)))
3965
3966(define-public ghc-gluraw
3967 (package
3968 (name "ghc-gluraw")
3969 (version "2.0.0.4")
3970 (source
3971 (origin
3972 (method url-fetch)
3973 (uri (string-append
3974 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
3975 version
3976 ".tar.gz"))
3977 (sha256
3978 (base32
3979 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
3980 (build-system haskell-build-system)
3981 (inputs
3982 `(("ghc-openglraw" ,ghc-openglraw)))
3983 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3984 (synopsis "Raw Haskell bindings GLU")
3985 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
3986utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
3987basis for a nicer interface.")
3988 (license license:bsd-3)))
3989
3990(define-public ghc-glut
3991 (package
3992 (name "ghc-glut")
8284bd09 3993 (version "2.7.0.15")
dddbc90c
RV
3994 (source
3995 (origin
3996 (method url-fetch)
3997 (uri (string-append
3998 "https://hackage.haskell.org/package/GLUT/GLUT-"
3999 version
4000 ".tar.gz"))
4001 (sha256
4002 (base32
8284bd09 4003 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4004 (build-system haskell-build-system)
4005 (inputs
4006 `(("ghc-statevar" ,ghc-statevar)
4007 ("ghc-opengl" ,ghc-opengl)
4008 ("ghc-openglraw" ,ghc-openglraw)
4009 ("freeglut" ,freeglut)))
4010 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4011 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4012 (description "This library provides Haskell bindings for the OpenGL
4013Utility Toolkit, a window system-independent toolkit for writing OpenGL
4014programs.")
4015 (license license:bsd-3)))
4016
4017(define-public ghc-gnuplot
4018 (package
4019 (name "ghc-gnuplot")
d34860c7 4020 (version "0.5.6")
dddbc90c
RV
4021 (source
4022 (origin
4023 (method url-fetch)
4024 (uri (string-append
4025 "mirror://hackage/package/gnuplot/gnuplot-"
4026 version ".tar.gz"))
4027 (sha256
d34860c7 4028 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4029 (build-system haskell-build-system)
4030 (inputs
4031 `(("ghc-temporary" ,ghc-temporary)
4032 ("ghc-utility-ht" ,ghc-utility-ht)
4033 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4034 ("ghc-data-accessor" ,ghc-data-accessor)
4035 ("ghc-semigroups" ,ghc-semigroups)
4036 ("gnuplot" ,gnuplot)))
4037 (arguments
4038 `(#:phases
4039 (modify-phases %standard-phases
4040 (add-before 'configure 'fix-path-to-gnuplot
4041 (lambda* (#:key inputs #:allow-other-keys)
4042 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4043 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4044 (("(gnuplotName = ).*$" all cmd)
4045 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4046 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4047 (synopsis "2D and 3D plots using gnuplot")
4048 (description "This package provides a Haskell module for creating 2D and
40493D plots using gnuplot.")
4050 (license license:bsd-3)))
4051
4052(define-public ghc-graphviz
4053 (package
4054 (name "ghc-graphviz")
c264bd42 4055 (version "2999.20.0.3")
dddbc90c
RV
4056 (source (origin
4057 (method url-fetch)
4058 (uri (string-append "https://hackage.haskell.org/package/"
4059 "graphviz/graphviz-" version ".tar.gz"))
4060 (sha256
4061 (base32
c264bd42 4062 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4063 (build-system haskell-build-system)
c264bd42
TS
4064 (arguments
4065 `(#:phases
4066 (modify-phases %standard-phases
4067 (add-before 'configure 'update-constraints
4068 (lambda _
4069 (substitute* "graphviz.cabal"
4070 (("QuickCheck >= 2\\.3 && < 2\\.13")
4071 "QuickCheck >= 2.3 && < 2.14")
4072 (("hspec >= 2\\.1 && < 2\\.7")
4073 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4074 (inputs
4075 `(("ghc-quickcheck" ,ghc-quickcheck)
4076 ("ghc-colour" ,ghc-colour)
4077 ("ghc-dlist" ,ghc-dlist)
4078 ("ghc-fgl" ,ghc-fgl)
4079 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4080 ("ghc-polyparse" ,ghc-polyparse)
4081 ("ghc-temporary" ,ghc-temporary)
4082 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4083 (native-inputs
4084 `(("ghc-hspec" ,ghc-hspec)
4085 ("graphviz" ,graphviz)
4086 ("hspec-discover" ,hspec-discover)))
4087 (home-page "https://hackage.haskell.org/package/graphviz")
4088 (synopsis "Bindings to Graphviz for graph visualisation")
4089 (description
4090 "This library provides bindings for the Dot language used by
4091the @uref{https://graphviz.org/, Graphviz} suite of programs for
4092visualising graphs, as well as functions to call those programs.
4093Main features of the graphviz library include:
4094
4095@enumerate
4096@item Almost complete coverage of all Graphviz attributes and syntax
4097@item Support for specifying clusters
4098@item The ability to use a custom node type
4099@item Functions for running a Graphviz layout tool with all specified output types
4100@item Generate and parse Dot code with two options: strict and liberal
4101@item Functions to convert FGL graphs and other graph-like data structures
4102@item Round-trip support for passing an FGL graph through Graphviz to augment node
4103and edge labels with positional information, etc.
4104@end enumerate\n")
4105 (license license:bsd-3)))
4106
4107(define-public ghc-gtk2hs-buildtools
4108 (package
4109 (name "ghc-gtk2hs-buildtools")
4110 (version "0.13.4.0")
4111 (source
4112 (origin
4113 (method url-fetch)
4114 (uri (string-append "https://hackage.haskell.org/package/"
4115 "gtk2hs-buildtools/gtk2hs-buildtools-"
4116 version ".tar.gz"))
4117 (sha256
4118 (base32
4119 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
4120 (build-system haskell-build-system)
4121 (inputs
4122 `(("ghc-random" ,ghc-random)
4123 ("ghc-hashtables" ,ghc-hashtables)))
4124 (native-inputs
4125 `(("ghc-alex" ,ghc-alex)
4126 ("ghc-happy" ,ghc-happy)))
4127 (home-page "http://projects.haskell.org/gtk2hs/")
4128 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4129 (description
4130 "This package provides a set of helper programs necessary to build the
4131Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4132that is used to generate FFI declarations, a tool to build a type hierarchy
4133that mirrors the C type hierarchy of GObjects found in glib, and a generator
4134for signal declarations that are used to call back from C to Haskell. These
4135tools are not needed to actually run Gtk2Hs programs.")
4136 (license license:gpl2)))
4137
4138(define-public ghc-hackage-security
4139 (package
4140 (name "ghc-hackage-security")
4141 (version "0.5.3.0")
4142 (source
4143 (origin
4144 (method url-fetch)
4145 (uri (string-append "https://hackage.haskell.org/package/"
4146 "hackage-security/hackage-security-"
4147 version ".tar.gz"))
4148 (sha256
4149 (base32
4150 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4151 (build-system haskell-build-system)
4152 (arguments
4153 `(#:tests? #f)) ; Tests fail because of framework updates.
4154 (inputs
4155 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4156 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4157 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4158 ("ghc-ed25519" ,ghc-ed25519)
4159 ("ghc-network" ,ghc-network)
4160 ("ghc-network-uri" ,ghc-network-uri)
4161 ("ghc-tar" ,ghc-tar)
4162 ("ghc-zlib" ,ghc-zlib)))
4163 (native-inputs
4164 `(("ghc-network-uri" ,ghc-network-uri)
4165 ("ghc-quickcheck" ,ghc-quickcheck)
4166 ("ghc-tar" ,ghc-tar)
4167 ("ghc-tasty" ,ghc-tasty)
4168 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4169 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4170 ("ghc-temporary" ,ghc-temporary)
4171 ("ghc-zlib" ,ghc-zlib)))
4172 (home-page "https://github.com/haskell/hackage-security")
4173 (synopsis "Hackage security library")
4174 (description "This Hackage security library provides both server and
4175client utilities for securing @uref{http://hackage.haskell.org/, the
4176Hackage package server}. It is based on
4177@uref{http://theupdateframework.com/, The Update Framework}, a set of
4178recommendations developed by security researchers at various universities
4179in the US as well as developers on the @uref{https://www.torproject.org/,
4180Tor project}.")
4181 (license license:bsd-3)))
4182
4183(define-public ghc-haddock
4184 (package
4185 (name "ghc-haddock")
4186 (version "2.19.0.1")
4187 (source
4188 (origin
4189 (method url-fetch)
4190 (uri (string-append
4191 "https://hackage.haskell.org/package/haddock/haddock-"
4192 version
4193 ".tar.gz"))
4194 (sha256
4195 (base32
4196 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4197 (build-system haskell-build-system)
4198 (arguments
4199 `(#:phases
4200 (modify-phases %standard-phases
4201 ;; There are four test suites that require the ghc-haddock-test
4202 ;; package, which no longer builds with GHC 8.4.3. This phase
4203 ;; removes these four test suites from the Cabal file, so that we
4204 ;; do not need ghc-haddock-test as an input.
4205 (add-before 'configure 'remove-haddock-test-test-suites
4206 (lambda _
4207 (use-modules (ice-9 rdelim))
4208 (with-atomic-file-replacement "haddock.cabal"
4209 (lambda (in out)
4210 (let loop ((line (read-line in 'concat)) (deleting? #f))
4211 (cond
4212 ((eof-object? line) #t)
4213 ((string-every char-set:whitespace line)
4214 (unless deleting? (display line out))
4215 (loop (read-line in 'concat) #f))
4216 ((member line '("test-suite html-test\n"
4217 "test-suite hypsrc-test\n"
4218 "test-suite latex-test\n"
4219 "test-suite hoogle-test\n"))
4220 (loop (read-line in 'concat) #t))
4221 (else
4222 (unless deleting? (display line out))
4223 (loop (read-line in 'concat) deleting?)))))))))))
4224 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4225 (native-inputs
4226 `(("ghc-hspec" ,ghc-hspec)))
4227 (home-page "https://www.haskell.org/haddock/")
4228 (synopsis
4229 "Documentation-generation tool for Haskell libraries")
4230 (description
4231 "Haddock is a documentation-generation tool for Haskell libraries.")
4232 (license license:bsd-3)))
4233
4234(define-public ghc-haddock-api
4235 (package
4236 (name "ghc-haddock-api")
4237 (version "2.19.0.1")
4238 (source
4239 (origin
4240 (method url-fetch)
4241 (uri (string-append
4242 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4243 version
4244 ".tar.gz"))
4245 (sha256
4246 (base32
4247 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4248 (build-system haskell-build-system)
4249 (arguments
4250 `(#:phases
4251 (modify-phases %standard-phases
4252 (add-before 'configure 'update-constraints
4253 (lambda _
4254 (substitute* "haddock-api.cabal"
4255 (("Cabal \\^>= 2\\.0\\.0")
4256 "Cabal ^>= 2.2.0")
4257 (("hspec \\^>= 2\\.4\\.4")
4258 "hspec >= 2.4.4 && < 2.6")))))))
4259 (inputs
4260 `(("ghc-paths" ,ghc-paths)
4261 ("ghc-haddock-library" ,ghc-haddock-library)))
4262 (native-inputs
4263 `(("ghc-quickcheck" ,ghc-quickcheck)
4264 ("ghc-hspec" ,ghc-hspec)
4265 ("hspec-discover" ,hspec-discover)))
4266 (home-page "https://www.haskell.org/haddock/")
4267 (synopsis "API for documentation-generation tool Haddock")
4268 (description "This package provides an API to Haddock, the
4269documentation-generation tool for Haskell libraries.")
4270 (license license:bsd-3)))
4271
4272(define-public ghc-haddock-library
4273 (package
4274 (name "ghc-haddock-library")
4275 (version "1.5.0.1")
4276 (source
4277 (origin
4278 (method url-fetch)
4279 (uri (string-append
4280 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4281 version
4282 ".tar.gz"))
4283 (sha256
4284 (base32
4285 "1cmbg8l5xrwpliclwy3l057raypjqy0hsg1h1743ahaj8gq10b7z"))
4286 (patches (search-patches
4287 "ghc-haddock-library-unbundle.patch"))
4288 (modules '((guix build utils)))
4289 (snippet '(begin
4290 (delete-file-recursively "vendor")
4291 #t))))
4292 (build-system haskell-build-system)
4293 (arguments
4294 `(#:phases
4295 (modify-phases %standard-phases
4296 (add-before 'configure 'relax-test-suite-dependencies
4297 (lambda _
4298 (substitute* "haddock-library.cabal"
4299 (("base-compat\\s*\\^>= 0\\.9\\.3") "base-compat")
4300 (("hspec\\s*\\^>= 2\\.4\\.4") "hspec"))))
4301 ;; The release tarball does not contain the "fixtures/examples"
4302 ;; directory, which is required for testing. In the upstream
4303 ;; repository, the directory exists and is populated. Here, we
4304 ;; create an empty directory to placate the tests.
4305 (add-before 'check 'add-examples-directory
4306 (lambda _
4307 (mkdir "fixtures/examples")
4308 #t)))))
4309 (native-inputs
4310 `(("ghc-base-compat" ,ghc-base-compat)
4311 ("ghc-hspec" ,ghc-hspec)
4312 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4313 ("ghc-quickcheck" ,ghc-quickcheck)
4314 ("ghc-tree-diff" ,ghc-tree-diff)
4315 ("hspec-discover" ,hspec-discover)))
4316 (home-page "https://www.haskell.org/haddock/")
4317 (synopsis "Library exposing some functionality of Haddock")
4318 (description
4319 "Haddock is a documentation-generation tool for Haskell libraries. These
4320modules expose some functionality of it without pulling in the GHC dependency.
4321Please note that the API is likely to change so specify upper bounds in your
4322project if you can't release often. For interacting with Haddock itself, see
4323the ‘haddock’ package.")
4324 (license license:bsd-3)))
4325
4326(define-public ghc-half
4327 (package
4328 (name "ghc-half")
4329 (version "0.3")
4330 (source
4331 (origin
4332 (method url-fetch)
4333 (uri (string-append
4334 "https://hackage.haskell.org/package/half/half-"
4335 version ".tar.gz"))
4336 (sha256
4337 (base32
4338 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4339 (build-system haskell-build-system)
4340 (native-inputs
4341 `(("ghc-hspec" ,ghc-hspec)
4342 ("ghc-quickcheck" ,ghc-quickcheck)))
4343 (home-page "https://github.com/ekmett/half")
4344 (synopsis "Half-precision floating-point computations")
4345 (description "This library provides a half-precision floating-point
4346computation library for Haskell.")
4347 (license license:bsd-3)))
4348
4349(define-public ghc-happy
4350 (package
4351 (name "ghc-happy")
90e7b0e4 4352 (version "1.19.12")
dddbc90c
RV
4353 (source
4354 (origin
4355 (method url-fetch)
4356 (uri (string-append
4357 "https://hackage.haskell.org/package/happy/happy-"
4358 version
4359 ".tar.gz"))
4360 (sha256
4361 (base32
90e7b0e4 4362 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4363 (build-system haskell-build-system)
4364 (arguments
4365 `(#:phases
4366 (modify-phases %standard-phases
4367 (add-after 'unpack 'skip-test-issue93
4368 (lambda _
4369 ;; Tests run out of memory on a system with 2GB of available RAM,
4370 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4371 (substitute* "tests/Makefile"
4372 ((" issue93.y ") " "))
4373 #t)))))
4374 (home-page "https://hackage.haskell.org/package/happy")
4375 (synopsis "Parser generator for Haskell")
4376 (description "Happy is a parser generator for Haskell. Given a grammar
4377specification in BNF, Happy generates Haskell code to parse the grammar.
4378Happy works in a similar way to the yacc tool for C.")
4379 (license license:bsd-3)))
4380
4381(define-public ghc-hashable
4382 (package
4383 (name "ghc-hashable")
4384 (version "1.2.7.0")
4385 (outputs '("out" "doc"))
4386 (source
4387 (origin
4388 (method url-fetch)
4389 (uri (string-append
4390 "https://hackage.haskell.org/package/hashable/hashable-"
4391 version
4392 ".tar.gz"))
4393 (sha256
4394 (base32
4395 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4396 (build-system haskell-build-system)
65a16a45
TS
4397 (arguments
4398 `(#:cabal-revision
4399 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
4400 (inputs
4401 `(("ghc-random" ,ghc-random)))
4402 (native-inputs
4403 `(("ghc-test-framework" ,ghc-test-framework)
4404 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4405 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4406 ("ghc-hunit" ,ghc-hunit)
4407 ("ghc-quickcheck" ,ghc-quickcheck)))
4408 (home-page "https://github.com/tibbe/hashable")
4409 (synopsis "Class for types that can be converted to a hash value")
4410 (description
4411 "This package defines a class, @code{Hashable}, for types that can be
4412converted to a hash value. This class exists for the benefit of hashing-based
4413data structures. The package provides instances for basic types and a way to
4414combine hash values.")
4415 (license license:bsd-3)))
4416
4417(define-public ghc-hashable-bootstrap
4418 (package
4419 (inherit ghc-hashable)
4420 (name "ghc-hashable-bootstrap")
65a16a45
TS
4421 (arguments
4422 `(#:tests? #f
4423 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
4424 (native-inputs '())
4425 (properties '((hidden? #t)))))
4426
4427(define-public ghc-hashable-time
4428 (package
4429 (name "ghc-hashable-time")
f5051e31 4430 (version "0.2.0.2")
dddbc90c
RV
4431 (source
4432 (origin
4433 (method url-fetch)
4434 (uri (string-append
4435 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4436 version
4437 ".tar.gz"))
4438 (sha256
4439 (base32
f5051e31 4440 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
4441 (build-system haskell-build-system)
4442 (arguments
4443 `(#:cabal-revision
f5051e31 4444 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c
RV
4445 (inputs `(("ghc-hashable" ,ghc-hashable)))
4446 (home-page "http://hackage.haskell.org/package/hashable-time")
4447 (synopsis "Hashable instances for Data.Time")
4448 (description
4449 "This package provides @code{Hashable} instances for types in
4450@code{Data.Time}.")
4451 (license license:bsd-3)))
4452
4453(define-public ghc-hashtables
4454 (package
4455 (name "ghc-hashtables")
19edf0d0 4456 (version "1.2.3.4")
dddbc90c
RV
4457 (source
4458 (origin
4459 (method url-fetch)
4460 (uri (string-append
4461 "https://hackage.haskell.org/package/hashtables/hashtables-"
4462 version ".tar.gz"))
4463 (sha256
19edf0d0 4464 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
4465 (build-system haskell-build-system)
4466 (inputs
4467 `(("ghc-hashable" ,ghc-hashable)
4468 ("ghc-primitive" ,ghc-primitive)
4469 ("ghc-vector" ,ghc-vector)))
4470 (home-page "https://github.com/gregorycollins/hashtables")
4471 (synopsis "Haskell Mutable hash tables in the ST monad")
4472 (description "This package provides a Haskell library including a
4473couple of different implementations of mutable hash tables in the ST
4474monad, as well as a typeclass abstracting their common operations, and
4475a set of wrappers to use the hash tables in the IO monad.")
4476 (license license:bsd-3)))
4477
4478(define-public ghc-haskell-lexer
4479 (package
4480 (name "ghc-haskell-lexer")
4481 (version "1.0.2")
4482 (source
4483 (origin
4484 (method url-fetch)
4485 (uri (string-append
4486 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4487 version ".tar.gz"))
4488 (sha256
4489 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4490 (build-system haskell-build-system)
4491 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4492 (synopsis "Fully compliant Haskell 98 lexer")
4493 (description
4494 "This package provides a fully compliant Haskell 98 lexer.")
4495 (license license:bsd-3)))
4496
4497(define-public ghc-haskell-src
4498 (package
4499 (name "ghc-haskell-src")
4500 (version "1.0.3.0")
4501 (source
4502 (origin
4503 (method url-fetch)
4504 (uri (string-append
4505 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4506 version
4507 ".tar.gz"))
4508 (sha256
4509 (base32
4510 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4511 (build-system haskell-build-system)
4512 (inputs
4513 `(("ghc-happy" ,ghc-happy)
4514 ("ghc-syb" ,ghc-syb)))
4515 (home-page
4516 "https://hackage.haskell.org/package/haskell-src")
4517 (synopsis
4518 "Support for manipulating Haskell source code")
4519 (description
4520 "The @code{haskell-src} package provides support for manipulating Haskell
4521source code. The package provides a lexer, parser and pretty-printer, and a
4522definition of a Haskell abstract syntax tree (AST). Common uses of this
4523package are to parse or generate Haskell 98 code.")
4524 (license license:bsd-3)))
4525
4526(define-public ghc-haskell-src-exts
4527 (package
4528 (name "ghc-haskell-src-exts")
37a05591 4529 (version "1.21.1")
dddbc90c
RV
4530 (source
4531 (origin
4532 (method url-fetch)
4533 (uri (string-append
4534 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4535 version
4536 ".tar.gz"))
4537 (sha256
4538 (base32
37a05591 4539 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
4540 (build-system haskell-build-system)
4541 (inputs
4542 `(("cpphs" ,cpphs)
4543 ("ghc-happy" ,ghc-happy)
4544 ("ghc-pretty-show" ,ghc-pretty-show)))
4545 (native-inputs
4546 `(("ghc-smallcheck" ,ghc-smallcheck)
4547 ("ghc-tasty" ,ghc-tasty)
4548 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4549 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4550 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4551 (synopsis "Library for manipulating Haskell source")
4552 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4553extension of the standard @code{haskell-src} package, and handles most
4554registered syntactic extensions to Haskell. All extensions implemented in GHC
4555are supported. Apart from these standard extensions, it also handles regular
4556patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4557 (license license:bsd-3)))
4558
4559(define-public ghc-haskell-src-exts-util
4560 (package
4561 (name "ghc-haskell-src-exts-util")
4562 (version "0.2.3")
4563 (source
4564 (origin
4565 (method url-fetch)
4566 (uri (string-append "https://hackage.haskell.org/package/"
4567 "haskell-src-exts-util/haskell-src-exts-util-"
4568 version ".tar.gz"))
4569 (sha256
4570 (base32
4571 "1803718paq89f8pdck4mb88hv2k1ah9lxzq0lgjgwi9n88ryycz8"))))
4572 (build-system haskell-build-system)
4573 (inputs
4574 `(("ghc-data-default" ,ghc-data-default)
4575 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4576 ("ghc-semigroups" ,ghc-semigroups)
4577 ("ghc-uniplate" ,ghc-uniplate)))
4578 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4579 (synopsis "Helper functions for working with haskell-src-exts trees")
4580 (description
4581 "This package provides helper functions for working with
4582@code{haskell-src-exts} trees.")
4583 (license license:bsd-3)))
4584
4585(define-public ghc-haskell-src-meta
4586 (package
4587 (name "ghc-haskell-src-meta")
4588 (version "0.8.0.3")
4589 (source (origin
4590 (method url-fetch)
4591 (uri (string-append "https://hackage.haskell.org/package/"
4592 "haskell-src-meta/haskell-src-meta-"
4593 version ".tar.gz"))
4594 (sha256
4595 (base32
4596 "08jq156zv4m0fjq6712n99c1jwxnpa6kj6sq8ch0r1l0a1ay6ww4"))))
4597 (build-system haskell-build-system)
4598 (inputs
4599 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4600 ("ghc-syb" ,ghc-syb)
4601 ("ghc-th-orphans" ,ghc-th-orphans)))
4602 (native-inputs
4603 `(("ghc-hunit" ,ghc-hunit)
4604 ("ghc-test-framework" ,ghc-test-framework)
4605 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4606 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4607 (synopsis "Parse source to template-haskell abstract syntax")
4608 (description
4609 "This package provides tools to parse Haskell sources to the
4610template-haskell abstract syntax.")
4611 (license license:bsd-3)))
4612
4613(define-public ghc-hasktags
4614 (package
4615 (name "ghc-hasktags")
4616 (version "0.71.2")
4617 (source
4618 (origin
4619 (method url-fetch)
4620 (uri (string-append
4621 "https://hackage.haskell.org/package/hasktags/hasktags-"
4622 version
4623 ".tar.gz"))
4624 (sha256
4625 (base32
4626 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4627 (build-system haskell-build-system)
4628 (inputs
4629 `(("ghc-system-filepath" ,ghc-system-filepath)
4630 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4631 (native-inputs
4632 `(("ghc-json" ,ghc-json)
4633 ("ghc-utf8-string" ,ghc-utf8-string)
4634 ("ghc-microlens-platform" ,ghc-microlens-platform)
4635 ("ghc-hunit" ,ghc-hunit)))
4636 (home-page "http://github.com/MarcWeber/hasktags")
4637 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4638 (description
4639 "This package provides a means of generating tag files for Emacs and
4640Vim.")
4641 (license license:bsd-3)))
4642
4643(define-public ghc-hex
4644 (package
4645 (name "ghc-hex")
4646 (version "0.1.2")
4647 (source
4648 (origin
4649 (method url-fetch)
4650 (uri (string-append "https://hackage.haskell.org/package/"
4651 "hex-" version "/"
4652 "hex-" version ".tar.gz"))
4653 (sha256
4654 (base32
4655 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4656 (build-system haskell-build-system)
4657 (home-page "https://hackage.haskell.org/package/hex")
4658 (synopsis "Convert strings into hexadecimal and back")
4659 (description "This package provides conversion functions between
4660bytestrings and their hexademical representation.")
4661 (license license:bsd-3)))
4662
4663(define-public ghc-highlighting-kate
4664 (package
4665 (name "ghc-highlighting-kate")
4666 (version "0.6.4")
4667 (source (origin
4668 (method url-fetch)
4669 (uri (string-append "https://hackage.haskell.org/package/"
4670 "highlighting-kate/highlighting-kate-"
4671 version ".tar.gz"))
4672 (sha256
4673 (base32
4674 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4675 (build-system haskell-build-system)
4676 (inputs
4677 `(("ghc-diff" ,ghc-diff)
4678 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4679 (native-inputs
4680 `(("ghc-blaze-html" ,ghc-blaze-html)
4681 ("ghc-utf8-string" ,ghc-utf8-string)))
4682 (home-page "https://github.com/jgm/highlighting-kate")
4683 (synopsis "Syntax highlighting library")
4684 (description
4685 "Highlighting-kate is a syntax highlighting library with support for
4686nearly one hundred languages. The syntax parsers are automatically generated
4687from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4688supported by Kate can be added. An (optional) command-line program is
4689provided, along with a utility for generating new parsers from Kate XML syntax
4690descriptions.")
4691 (license license:gpl2+)))
4692
4693(define-public ghc-hindent
4694 (package
4695 (name "ghc-hindent")
4696 (version "5.3.0")
4697 (source
4698 (origin
4699 (method url-fetch)
4700 (uri (string-append
4701 "https://hackage.haskell.org/package/hindent/hindent-"
4702 version
4703 ".tar.gz"))
4704 (sha256
4705 (base32
4706 "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg"))))
4707 (build-system haskell-build-system)
4708 (arguments
4709 `(#:modules ((guix build haskell-build-system)
4710 (guix build utils)
4711 (guix build emacs-utils))
4712 #:imported-modules (,@%haskell-build-system-modules
4713 (guix build emacs-utils))
4714 #:phases
4715 (modify-phases %standard-phases
4716 (add-after 'install 'emacs-install
4717 (lambda* (#:key inputs outputs #:allow-other-keys)
4718 (let* ((out (assoc-ref outputs "out"))
4719 (elisp-file "elisp/hindent.el")
4720 (dest (string-append out "/share/emacs/site-lisp"
4721 "/guix.d/hindent-" ,version))
4722 (emacs (string-append (assoc-ref inputs "emacs")
4723 "/bin/emacs")))
4724 (make-file-writable elisp-file)
4725 (emacs-substitute-variables elisp-file
4726 ("hindent-process-path"
4727 (string-append out "/bin/hindent")))
4728 (install-file elisp-file dest)
4729 (emacs-generate-autoloads "hindent" dest)))))))
4730 (inputs
4731 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4732 ("ghc-monad-loops" ,ghc-monad-loops)
4733 ("ghc-utf8-string" ,ghc-utf8-string)
4734 ("ghc-exceptions" ,ghc-exceptions)
4735 ("ghc-yaml" ,ghc-yaml)
4736 ("ghc-unix-compat" ,ghc-unix-compat)
4737 ("ghc-path" ,ghc-path)
4738 ("ghc-path-io" ,ghc-path-io)
4739 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4740 (native-inputs
4741 `(("ghc-hspec" ,ghc-hspec)
4742 ("ghc-diff" ,ghc-diff)
4743 ("emacs" ,emacs-minimal)))
4744 (home-page
4745 "https://github.com/commercialhaskell/hindent")
4746 (synopsis "Extensible Haskell pretty printer")
4747 (description
4748 "This package provides automatic formatting for Haskell files. Both a
4749library and an executable.")
4750 (license license:bsd-3)))
4751
4752(define-public ghc-hinotify
4753 (package
4754 (name "ghc-hinotify")
c2342abb 4755 (version "0.4")
dddbc90c
RV
4756 (source (origin
4757 (method url-fetch)
4758 (uri (string-append
4759 "https://hackage.haskell.org/package/hinotify/"
4760 "hinotify-" version ".tar.gz"))
4761 (sha256
4762 (base32
c2342abb 4763 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
4764 (build-system haskell-build-system)
4765 (inputs
4766 `(("ghc-async" ,ghc-async)))
4767 (home-page "https://github.com/kolmodin/hinotify.git")
4768 (synopsis "Haskell binding to inotify")
4769 (description "This library provides a wrapper to the Linux kernel's inotify
4770feature, allowing applications to subscribe to notifications when a file is
4771accessed or modified.")
4772 (license license:bsd-3)))
4773
4774(define-public ghc-hmatrix
4775 (package
4776 (name "ghc-hmatrix")
65e29ed1 4777 (version "0.20.0.0")
dddbc90c
RV
4778 (source
4779 (origin
4780 (method url-fetch)
4781 (uri (string-append
4782 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
4783 version ".tar.gz"))
4784 (sha256
65e29ed1 4785 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
4786 (build-system haskell-build-system)
4787 (inputs
4788 `(("ghc-random" ,ghc-random)
4789 ("ghc-split" ,ghc-split)
4790 ("ghc-storable-complex" ,ghc-storable-complex)
4791 ("ghc-semigroups" ,ghc-semigroups)
4792 ("ghc-vector" ,ghc-vector)
4793 ;;("openblas" ,openblas)
4794 ("lapack" ,lapack)))
4795 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
4796 ;; disables inclusion of the LAPACK functions.
4797 ;; (arguments `(#:configure-flags '("--flags=openblas")))
4798 (home-page "https://github.com/albertoruiz/hmatrix")
4799 (synopsis "Haskell numeric linear algebra library")
4800 (description "The HMatrix package provices a Haskell library for
4801dealing with linear systems, matrix decompositions, and other
4802numerical computations based on BLAS and LAPACK.")
4803 (license license:bsd-3)))
4804
4805(define-public ghc-hmatrix-gsl
4806 (package
4807 (name "ghc-hmatrix-gsl")
4808 (version "0.19.0.1")
4809 (source
4810 (origin
4811 (method url-fetch)
4812 (uri (string-append
4813 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
4814 version ".tar.gz"))
4815 (sha256
4816 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
4817 (build-system haskell-build-system)
4818 (inputs
4819 `(("ghc-hmatrix" ,ghc-hmatrix)
4820 ("ghc-vector" ,ghc-vector)
4821 ("ghc-random" ,ghc-random)
4822 ("gsl" ,gsl)))
4823 (native-inputs `(("pkg-config" ,pkg-config)))
4824 (home-page "https://github.com/albertoruiz/hmatrix")
4825 (synopsis "Haskell GSL binding")
4826 (description "This Haskell library provides a purely functional
4827interface to selected numerical computations, internally implemented
4828using GSL.")
4829 (license license:gpl3+)))
4830
4831(define-public ghc-hmatrix-gsl-stats
4832 (package
4833 (name "ghc-hmatrix-gsl-stats")
e9b359f5 4834 (version "0.4.1.8")
dddbc90c
RV
4835 (source
4836 (origin
4837 (method url-fetch)
4838 (uri
4839 (string-append
4840 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4841 version ".tar.gz"))
4842 (sha256
e9b359f5 4843 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
4844 (build-system haskell-build-system)
4845 (inputs
4846 `(("ghc-vector" ,ghc-vector)
4847 ("ghc-storable-complex" ,ghc-storable-complex)
4848 ("ghc-hmatrix" ,ghc-hmatrix)
4849 ("gsl" ,gsl)))
4850 (native-inputs `(("pkg-config" ,pkg-config)))
4851 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
4852 (synopsis "GSL Statistics interface for Haskell")
4853 (description "This Haskell library provides a purely functional
4854interface for statistics based on hmatrix and GSL.")
4855 (license license:bsd-3)))
4856
4857(define-public ghc-hmatrix-special
4858 (package
4859 (name "ghc-hmatrix-special")
4860 (version "0.19.0.0")
4861 (source
4862 (origin
4863 (method url-fetch)
4864 (uri
4865 (string-append
4866 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
4867 version ".tar.gz"))
4868 (sha256
4869 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
4870 (build-system haskell-build-system)
4871 (inputs
4872 `(("ghc-hmatrix" ,ghc-hmatrix)
4873 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
4874 (home-page "https://github.com/albertoruiz/hmatrix")
4875 (synopsis "Haskell interface to GSL special functions")
4876 (description "This library provides an interface to GSL special
4877functions for Haskell.")
4878 (license license:gpl3+)))
4879
4880(define-public ghc-hostname
4881 (package
4882 (name "ghc-hostname")
4883 (version "1.0")
4884 (source
4885 (origin
4886 (method url-fetch)
4887 (uri (string-append "https://hackage.haskell.org/package/hostname/"
4888 "hostname-" version ".tar.gz"))
4889 (sha256
4890 (base32
4891 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
4892 (build-system haskell-build-system)
4893 (home-page "https://hackage.haskell.org/package/hostname")
4894 (synopsis "Hostname in Haskell")
4895 (description "Network.HostName is a simple package providing a means to
4896determine the hostname.")
4897 (license license:bsd-3)))
4898
4899(define-public ghc-hourglass
4900 (package
4901 (name "ghc-hourglass")
4902 (version "0.2.12")
4903 (source (origin
4904 (method url-fetch)
4905 (uri (string-append "https://hackage.haskell.org/package/"
4906 "hourglass/hourglass-" version ".tar.gz"))
4907 (sha256
4908 (base32
4909 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
4910 (build-system haskell-build-system)
4911 (inputs
4912 `(("ghc-old-locale" ,ghc-old-locale)))
4913 (native-inputs
4914 `(("ghc-tasty" ,ghc-tasty)
4915 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4916 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4917 (home-page "https://github.com/vincenthz/hs-hourglass")
4918 (synopsis "Simple time-related library for Haskell")
4919 (description
4920 "This is a simple time library providing a simple but powerful and
4921performant API. The backbone of the library are the @code{Timeable} and
4922@code{Time} type classes. Each @code{Timeable} instances can be converted to
4923a type that has a @code{Time} instances, and thus are different
4924representations of current time.")
4925 (license license:bsd-3)))
4926
4927(define-public ghc-hpack
4928 (package
4929 (name "ghc-hpack")
4930 (version "0.28.2")
4931 (source
4932 (origin
4933 (method url-fetch)
4934 (uri (string-append "https://hackage.haskell.org/package/hpack/"
4935 "hpack-" version ".tar.gz"))
4936 (sha256
4937 (base32
4938 "18w0h76jdp3mk9vin8da9iz3cwhcxmw787xy8wlh8bxcpcr16q5r"))))
4939 (build-system haskell-build-system)
4940 (inputs
4941 `(("ghc-aeson" ,ghc-aeson)
4942 ("ghc-bifunctors" ,ghc-bifunctors)
4943 ("ghc-cryptonite" ,ghc-cryptonite)
4944 ("ghc-glob" ,ghc-glob)
4945 ("ghc-http-client" ,ghc-http-client)
4946 ("ghc-http-client-tls" ,ghc-http-client-tls)
4947 ("ghc-http-types" ,ghc-http-types)
4948 ("ghc-scientific" ,ghc-scientific)
4949 ("ghc-unordered-containers" ,ghc-unordered-containers)
4950 ("ghc-vector" ,ghc-vector)
4951 ("ghc-yaml" ,ghc-yaml)))
4952 (native-inputs
4953 `(("ghc-hspec" ,ghc-hspec)
4954 ("ghc-hunit" ,ghc-hunit)
4955 ("ghc-interpolate" ,ghc-interpolate)
4956 ("ghc-mockery" ,ghc-mockery)
4957 ("ghc-quickcheck" ,ghc-quickcheck)
4958 ("ghc-temporary" ,ghc-temporary)
4959 ("hspec-discover" ,hspec-discover)))
4960 (home-page "https://github.com/sol/hpack")
4961 (synopsis "Tools for an alternative Haskell package format")
4962 (description
4963 "Hpack is a format for Haskell packages. It is an alternative to the
4964Cabal package format and follows different design principles. Hpack packages
4965are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
4966@code{stack} support @code{package.yaml} natively. For other build tools the
4967@code{hpack} executable can be used to generate a @code{.cabal} file from
4968@code{package.yaml}.")
4969 (license license:expat)))
4970
4971(define-public ghc-hs-bibutils
4972 (package
4973 (name "ghc-hs-bibutils")
ebcb4f23 4974 (version "6.7.0.0")
dddbc90c
RV
4975 (source
4976 (origin
4977 (method url-fetch)
4978 (uri (string-append
4979 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
4980 version ".tar.gz"))
4981 (sha256
4982 (base32
ebcb4f23 4983 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
4984 (build-system haskell-build-system)
4985 (inputs `(("ghc-syb" ,ghc-syb)))
4986 (home-page "https://hackage.haskell.org/package/hs-bibutils")
4987 (synopsis "Haskell bindings to bibutils")
4988 (description
4989 "This package provides Haskell bindings to @code{bibutils}, a library
4990that interconverts between various bibliography formats using a common
4991MODS-format XML intermediate.")
4992 (license license:gpl2+)))
4993
4994(define-public ghc-hslogger
4995 (package
4996 (name "ghc-hslogger")
e5ccc5f7 4997 (version "1.2.12")
dddbc90c
RV
4998 (source
4999 (origin
5000 (method url-fetch)
5001 (uri (string-append "https://hackage.haskell.org/package/"
5002 "hslogger-" version "/" "hslogger-"
5003 version ".tar.gz"))
5004 (sha256 (base32
e5ccc5f7 5005 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5006 (build-system haskell-build-system)
5007 (inputs
5008 `(("ghc-network" ,ghc-network)
5009 ("ghc-old-locale" ,ghc-old-locale)))
5010 (native-inputs
5011 `(("ghc-hunit" ,ghc-hunit)))
5012 (home-page "https://software.complete.org/hslogger")
5013 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5014 (description "Hslogger lets each log message have a priority and source be
5015associated with it. The programmer can then define global handlers that route
5016or filter messages based on the priority and source. It also has a syslog
5017handler built in.")
5018 (license license:bsd-3)))
5019
5020(define-public ghc-hslua
5021 (package
5022 (name "ghc-hslua")
5023 (version "0.9.5.2")
5024 (source (origin
5025 (method url-fetch)
5026 (uri (string-append "https://hackage.haskell.org/package/"
5027 "hslua/hslua-" version ".tar.gz"))
5028 (sha256
5029 (base32
5030 "1rdvv01p214zfjh6fcqjjgqwi8y42wad6cqzhlcv5gvclzw2ck8f"))))
5031 (build-system haskell-build-system)
5032 (arguments
5033 `(#:configure-flags '("-fsystem-lua")))
5034 (inputs
5035 `(("lua" ,lua)
5036 ("ghc-exceptions" ,ghc-exceptions)
5037 ("ghc-fail" ,ghc-fail)))
5038 (native-inputs
5039 `(("ghc-tasty" ,ghc-tasty)
5040 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5041 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5042 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5043 ("ghc-quickcheck" ,ghc-quickcheck)
5044 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5045 (home-page "https://hackage.haskell.org/package/hslua")
5046 (synopsis "Lua language interpreter embedding in Haskell")
5047 (description
5048 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5049described in @url{https://www.lua.org/}.")
5050 (license license:expat)))
5051
5052(define-public ghc-hslua-module-text
5053 (package
5054 (name "ghc-hslua-module-text")
5055 (version "0.1.2.1")
5056 (source
5057 (origin
5058 (method url-fetch)
5059 (uri (string-append "https://hackage.haskell.org/package/"
5060 "hslua-module-text/hslua-module-text-"
5061 version ".tar.gz"))
5062 (sha256
5063 (base32
5064 "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf"))))
5065 (build-system haskell-build-system)
5066 (arguments
5067 `(#:cabal-revision
5068 ("1" "0vajlsd7y6pwa08635q0cx8z5c1c55bk7fvavw7g2vmyvxqjzx6n")))
5069 (inputs
5070 `(("ghc-hslua" ,ghc-hslua)))
5071 (native-inputs
5072 `(("ghc-tasty" ,ghc-tasty)
5073 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5074 (home-page "https://github.com/hslua/hslua-module-text")
5075 (synopsis "Lua module for text")
5076 (description
5077 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5078for Haskell. The functions provided by this module are @code{upper},
5079@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5080 (license license:expat)))
5081
5082(define-public ghc-http-api-data
5083 (package
5084 (name "ghc-http-api-data")
5085 (version "0.3.8.1")
5086 (source
5087 (origin
5088 (method url-fetch)
5089 (uri (string-append "https://hackage.haskell.org/package/"
5090 "http-api-data-" version "/"
5091 "http-api-data-" version ".tar.gz"))
5092 (sha256
5093 (base32
5094 "1cq6459b8wz6nvkvpi89dg189n5q2xdq4rdq435hf150555vmskf"))))
5095 (build-system haskell-build-system)
5096 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9
5097 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5098 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
5099 ("ghc-hashable" ,ghc-hashable)
5100 ("ghc-http-types" ,ghc-http-types)
5101 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
5102 ("ghc-unordered-containers" ,ghc-unordered-containers)
5103 ("ghc-uri-bytestring" ,ghc-uri-bytestring)
5104 ("ghc-uuid-types" ,ghc-uuid-types)))
5105 (home-page "https://github.com/fizruk/http-api-data")
5106 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5107query parameters")
5108 (description "This Haskell package defines typeclasses used for converting
5109Haskell data types to and from HTTP API data.")
5110 (license license:bsd-3)))
5111
5112(define-public ghc-ieee754
5113 (package
5114 (name "ghc-ieee754")
5115 (version "0.8.0")
5116 (source (origin
5117 (method url-fetch)
5118 (uri (string-append
5119 "https://hackage.haskell.org/package/ieee754/"
5120 "ieee754-" version ".tar.gz"))
5121 (sha256
5122 (base32
5123 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5124 (build-system haskell-build-system)
5125 (home-page "https://github.com/patperry/hs-ieee754")
5126 (synopsis "Utilities for dealing with IEEE floating point numbers")
5127 (description "Utilities for dealing with IEEE floating point numbers,
5128ported from the Tango math library; approximate and exact equality comparisons
5129for general types.")
5130 (license license:bsd-3)))
5131
5132(define-public ghc-ifelse
5133 (package
5134 (name "ghc-ifelse")
5135 (version "0.85")
5136 (source
5137 (origin
5138 (method url-fetch)
5139 (uri (string-append "https://hackage.haskell.org/package/"
5140 "IfElse/IfElse-" version ".tar.gz"))
5141 (sha256
5142 (base32
5143 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5144 (build-system haskell-build-system)
5145 (home-page "http://hackage.haskell.org/package/IfElse")
5146 (synopsis "Monadic control flow with anaphoric variants")
5147 (description "This library provides functions for control flow inside of
5148monads with anaphoric variants on @code{if} and @code{when} and a C-like
5149@code{switch} function.")
5150 (license license:bsd-3)))
5151
5152(define-public ghc-indents
5153 (package
5154 (name "ghc-indents")
d66473fb 5155 (version "0.5.0.1")
dddbc90c
RV
5156 (source (origin
5157 (method url-fetch)
5158 (uri (string-append
5159 "https://hackage.haskell.org/package/indents/indents-"
5160 version ".tar.gz"))
5161 (sha256
5162 (base32
d66473fb 5163 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5164 (build-system haskell-build-system)
5165 ;; This package needs an older version of tasty.
5166 (arguments '(#:tests? #f))
5167 (inputs
5168 `(("ghc-concatenative" ,ghc-concatenative)))
5169 (native-inputs
5170 `(("ghc-tasty" ,ghc-tasty)
5171 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5172 (home-page "http://patch-tag.com/r/salazar/indents")
5173 (synopsis "Indentation sensitive parser-combinators for parsec")
5174 (description
5175 "This library provides functions for use in parsing indentation sensitive
5176contexts. It parses blocks of lines all indented to the same level as well as
5177lines continued at an indented level below.")
5178 (license license:bsd-3)))
5179
5180(define-public ghc-inline-c
5181 (package
5182 (name "ghc-inline-c")
5183 (version "0.6.1.0")
5184 (source
5185 (origin
5186 (method url-fetch)
5187 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5188 "inline-c-" version ".tar.gz"))
5189 (sha256
5190 (base32
5191 "0vbfrsqsi7mdziqsnj68bsqlwbqxxhvrmy9rv6w8z18d1m8w3n6h"))))
5192 (build-system haskell-build-system)
5193 (inputs
5194 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5195 ("ghc-cryptohash" ,ghc-cryptohash)
5196 ("ghc-hashable" ,ghc-hashable)
5197 ("ghc-parsers" ,ghc-parsers)
5198 ("ghc-unordered-containers" ,ghc-unordered-containers)
5199 ("ghc-vector" ,ghc-vector)))
5200 (native-inputs
5201 `(("ghc-quickcheck" ,ghc-quickcheck)
5202 ("ghc-hspec" ,ghc-hspec)
5203 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5204 ("ghc-regex-posix" ,ghc-regex-posix)))
5205 (home-page "http://hackage.haskell.org/package/inline-c")
5206 (synopsis "Write Haskell source files including C code inline")
5207 (description
5208 "inline-c lets you seamlessly call C libraries and embed high-performance
5209inline C code in Haskell modules. Haskell and C can be freely intermixed in
5210the same source file, and data passed to and from code in either language with
5211minimal overhead. No FFI required.")
5212 (license license:expat)))
5213
5214(define-public ghc-inline-c-cpp
5215 (package
5216 (name "ghc-inline-c-cpp")
5217 (version "0.2.2.1")
5218 (source
5219 (origin
5220 (method url-fetch)
5221 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5222 "inline-c-cpp-" version ".tar.gz"))
5223 (sha256
5224 (base32
5225 "1rk7fmpkmxw9hhwr8df29kadnf0ybnwj64ggdbnsdrpfyhnkisci"))))
5226 (build-system haskell-build-system)
5227 (inputs
5228 `(("ghc-inline-c" ,ghc-inline-c)
5229 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5230 (native-inputs
5231 `(("ghc-hspec" ,ghc-hspec)))
5232 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5233 (synopsis "Lets you embed C++ code into Haskell")
5234 (description
5235 "This package provides utilities to inline C++ code into Haskell using
5236@code{inline-c}.")
5237 (license license:expat)))
5238
5239(define-public ghc-integer-logarithms
5240 (package
5241 (name "ghc-integer-logarithms")
86a704db 5242 (version "1.0.3")
dddbc90c
RV
5243 (source
5244 (origin
5245 (method url-fetch)
5246 (uri (string-append "https://hackage.haskell.org/package/"
5247 "integer-logarithms/integer-logarithms-"
5248 version ".tar.gz"))
5249 (sha256
5250 (base32
86a704db 5251 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5252 (build-system haskell-build-system)
5253 (arguments
5254 `(#:phases
5255 (modify-phases %standard-phases
5256 (add-before 'configure 'update-constraints
5257 (lambda _
5258 (substitute* "integer-logarithms.cabal"
5259 (("tasty >= 0\\.10 && < 1\\.1")
5260 "tasty >= 0.10 && < 1.2")))))))
5261 (native-inputs
5262 `(("ghc-quickcheck" ,ghc-quickcheck)
5263 ("ghc-smallcheck" ,ghc-smallcheck)
5264 ("ghc-tasty" ,ghc-tasty)
5265 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5266 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5267 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5268 (home-page "https://github.com/Bodigrim/integer-logarithms")
5269 (synopsis "Integer logarithms")
5270 (description
5271 "This package provides the following modules:
5272@code{Math.NumberTheory.Logarithms} and
5273@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5274@code{GHC.Integer.Logarithms.Compat} and
5275@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5276in migrated modules.")
5277 (license license:expat)))
5278
5279(define-public ghc-integer-logarithms-bootstrap
5280 (package
5281 (inherit ghc-integer-logarithms)
5282 (name "ghc-integer-logarithms-bootstrap")
5283 (arguments `(#:tests? #f))
5284 (native-inputs '())
799d8d3c 5285 (properties '((hidden? #t)))))
dddbc90c
RV
5286
5287(define-public ghc-interpolate
5288 (package
5289 (name "ghc-interpolate")
5290 (version "0.2.0")
5291 (source
5292 (origin
5293 (method url-fetch)
5294 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5295 "interpolate-" version ".tar.gz"))
5296 (sha256
5297 (base32
5298 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5299 (build-system haskell-build-system)
5300 (inputs
5301 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5302 (native-inputs
5303 `(("ghc-base-compat" ,ghc-base-compat)
5304 ("ghc-hspec" ,ghc-hspec)
5305 ("ghc-quickcheck" ,ghc-quickcheck)
5306 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5307 ("hspec-discover" ,hspec-discover)))
5308 (home-page "https://github.com/sol/interpolate")
5309 (synopsis "String interpolation library")
5310 (description "This package provides a string interpolation library for
5311Haskell.")
5312 (license license:expat)))
5313
5314(define-public ghc-intervalmap
5315 (package
5316 (name "ghc-intervalmap")
e4946e32 5317 (version "0.6.1.1")
dddbc90c
RV
5318 (source
5319 (origin
5320 (method url-fetch)
5321 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5322 "IntervalMap-" version ".tar.gz"))
5323 (sha256
5324 (base32
e4946e32 5325 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
5326 (build-system haskell-build-system)
5327 (native-inputs
5328 `(("ghc-quickcheck" ,ghc-quickcheck)))
5329 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5330 (synopsis "Containers for intervals, with efficient search")
5331 (description
5332 "This package provides ordered containers of intervals, with efficient
5333search for all keys containing a point or overlapping an interval. See the
5334example code on the home page for a quick introduction.")
5335 (license license:bsd-3)))
5336
5337(define-public ghc-invariant
5338 (package
5339 (name "ghc-invariant")
5340 (version "0.5.1")
5341 (source
5342 (origin
5343 (method url-fetch)
5344 (uri (string-append
5345 "https://hackage.haskell.org/package/invariant/invariant-"
5346 version ".tar.gz"))
5347 (sha256
5348 (base32
5349 "0aqj7z55632qdg45074kgn9qfdxzb0a2f8lgjzr0l0i4mm2rr37b"))))
5350 (build-system haskell-build-system)
5351 (inputs
5352 `(("ghc-bifunctors" ,ghc-bifunctors)
5353 ("ghc-comonad" ,ghc-comonad)
5354 ("ghc-contravariant" ,ghc-contravariant)
5355 ("ghc-profunctors" ,ghc-profunctors)
5356 ("ghc-semigroups" ,ghc-semigroups)
5357 ("ghc-statevar" ,ghc-statevar)
5358 ("ghc-tagged" ,ghc-tagged)
5359 ("ghc-th-abstraction" ,ghc-th-abstraction)
5360 ("ghc-transformers-compat" ,ghc-transformers-compat)
5361 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5362 (native-inputs
5363 `(("ghc-hspec" ,ghc-hspec)
5364 ("ghc-quickcheck" ,ghc-quickcheck)
5365 ("hspec-discover" ,hspec-discover)))
5366 (home-page "https://github.com/nfrisby/invariant-functors")
5367 (synopsis "Haskell98 invariant functors")
5368 (description "Haskell98 invariant functors (also known as exponential
5369functors). For more information, see Edward Kmett's article
5370@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5371 (license license:bsd-2)))
5372
5373(define-public ghc-io-streams
5374 (package
5375 (name "ghc-io-streams")
5376 (version "1.5.0.1")
5377 (source
5378 (origin
5379 (method url-fetch)
5380 (uri (string-append "https://hackage.haskell.org/package/"
5381 "io-streams/io-streams-" version ".tar.gz"))
5382 (sha256
5383 (base32
5384 "12rcdg2d70644bvn838fxcjkssqj8pssnx5y657si5rijcbkgjsx"))))
5385 (build-system haskell-build-system)
5386 (inputs
5387 `(("ghc-attoparsec" ,ghc-attoparsec)
5388 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5389 ("ghc-network" ,ghc-network)
5390 ("ghc-primitive" ,ghc-primitive)
5391 ("ghc-vector" ,ghc-vector)
5392 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5393 (native-inputs
5394 `(("ghc-hunit" ,ghc-hunit)
5395 ("ghc-quickcheck" ,ghc-quickcheck)
5396 ("ghc-test-framework" ,ghc-test-framework)
5397 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5398 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5399 ("ghc-zlib" ,ghc-zlib)))
5400 (arguments
5401 `(#:cabal-revision
5402 ("2" "1mcab95d6hm098myh9gp7sh10srigjphgvm8s9pfs7jg5hzghy14")))
5403 (home-page "http://hackage.haskell.org/package/io-streams")
5404 (synopsis "Simple and composable stream I/O")
5405 (description "This library contains simple and easy-to-use
5406primitives for I/O using streams.")
5407 (license license:bsd-3)))
5408
5409(define-public ghc-io-streams-haproxy
5410 (package
5411 (name "ghc-io-streams-haproxy")
5412 (version "1.0.0.2")
5413 (source
5414 (origin
5415 (method url-fetch)
5416 (uri (string-append "https://hackage.haskell.org/package/"
5417 "io-streams-haproxy/io-streams-haproxy-"
5418 version ".tar.gz"))
5419 (sha256
5420 (base32
5421 "11nh9q158mgnvvb23s5ffg87lkhl5smk039yl43jghxmb214z0bp"))))
5422 (build-system haskell-build-system)
5423 (inputs
5424 `(("ghc-attoparsec" ,ghc-attoparsec)
5425 ("ghc-io-streams" ,ghc-io-streams)
5426 ("ghc-network" ,ghc-network)))
5427 (native-inputs
5428 `(("ghc-hunit" ,ghc-hunit)
5429 ("ghc-test-framework" ,ghc-test-framework)
5430 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5431 (arguments
5432 `(#:cabal-revision
5433 ("4" "06c51a057n5bc9xfbp2m4jz5ds4z1xvmsx5mppch6qfwbz7x5i9l")))
5434 (home-page "http://snapframework.com/")
5435 (synopsis "HAProxy protocol 1.5 support for io-streams")
5436 (description "HAProxy protocol version 1.5 support
5437(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5438for applications using io-streams. The proxy protocol allows information
5439about a networked peer (like remote address and port) to be propagated
5440through a forwarding proxy that is configured to speak this protocol.")
5441 (license license:bsd-3)))
5442
5443(define-public ghc-iproute
5444 (package
5445 (name "ghc-iproute")
ec25d536 5446 (version "1.7.7")
dddbc90c
RV
5447 (source
5448 (origin
5449 (method url-fetch)
5450 (uri (string-append
5451 "https://hackage.haskell.org/package/iproute/iproute-"
5452 version
5453 ".tar.gz"))
5454 (sha256
5455 (base32
ec25d536 5456 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
5457 (build-system haskell-build-system)
5458 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5459 ; exported by ghc-byteorder. Doctest issue.
5460 (inputs
5461 `(("ghc-appar" ,ghc-appar)
5462 ("ghc-byteorder" ,ghc-byteorder)
5463 ("ghc-network" ,ghc-network)
5464 ("ghc-safe" ,ghc-safe)))
5465 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5466 (synopsis "IP routing table")
5467 (description "IP Routing Table is a tree of IP ranges to search one of
5468them on the longest match base. It is a kind of TRIE with one way branching
5469removed. Both IPv4 and IPv6 are supported.")
5470 (license license:bsd-3)))
5471
5472(define-public ghc-iwlib
5473 (package
5474 (name "ghc-iwlib")
5475 (version "0.1.0")
5476 (source
5477 (origin
5478 (method url-fetch)
5479 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5480 version ".tar.gz"))
5481 (sha256
5482 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5483 (build-system haskell-build-system)
5484 (inputs
5485 `(("wireless-tools" ,wireless-tools)))
5486 (home-page "https://github.com/jaor/iwlib")
5487 (synopsis "Haskell binding to the iw wireless networking library")
5488 (description
5489 "IWlib is a thin Haskell binding to the iw C library. It provides
5490information about the current wireless network connections, and adapters on
5491supported systems.")
5492 (license license:bsd-3)))
5493
5494(define-public ghc-json
5495 (package
5496 (name "ghc-json")
0ad3d574 5497 (version "0.9.3")
dddbc90c
RV
5498 (source
5499 (origin
5500 (method url-fetch)
5501 (uri (string-append "https://hackage.haskell.org/package/json/"
5502 "json-" version ".tar.gz"))
5503 (sha256
5504 (base32
0ad3d574 5505 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
5506 (build-system haskell-build-system)
5507 (inputs
5508 `(("ghc-syb" ,ghc-syb)))
5509 (home-page "https://hackage.haskell.org/package/json")
5510 (synopsis "Serializes Haskell data to and from JSON")
5511 (description "This package provides a parser and pretty printer for
5512converting between Haskell values and JSON.
5513JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5514 (license license:bsd-3)))
5515
5516(define-public ghc-juicypixels
5517 (package
5518 (name "ghc-juicypixels")
b50b6004 5519 (version "3.3.4")
dddbc90c
RV
5520 (source (origin
5521 (method url-fetch)
5522 (uri (string-append "https://hackage.haskell.org/package/"
5523 "JuicyPixels/JuicyPixels-"
5524 version ".tar.gz"))
5525 (sha256
5526 (base32
b50b6004 5527 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
5528 (build-system haskell-build-system)
5529 (inputs
5530 `(("ghc-zlib" ,ghc-zlib)
5531 ("ghc-vector" ,ghc-vector)
5532 ("ghc-primitive" ,ghc-primitive)
5533 ("ghc-mmap" ,ghc-mmap)))
5534 (home-page "https://github.com/Twinside/Juicy.Pixels")
5535 (synopsis "Picture loading and serialization library")
5536 (description
5537 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5538TIFF and GIF formats.")
5539 (license license:bsd-3)))
5540
5541(define-public ghc-kan-extensions
5542 (package
5543 (name "ghc-kan-extensions")
5544 (version "5.2")
5545 (source
5546 (origin
5547 (method url-fetch)
5548 (uri (string-append
5549 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5550 version
5551 ".tar.gz"))
5552 (sha256
5553 (base32
5554 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5555 (build-system haskell-build-system)
5556 (inputs
5557 `(("ghc-adjunctions" ,ghc-adjunctions)
5558 ("ghc-comonad" ,ghc-comonad)
5559 ("ghc-contravariant" ,ghc-contravariant)
5560 ("ghc-distributive" ,ghc-distributive)
5561 ("ghc-free" ,ghc-free)
5562 ("ghc-invariant" ,ghc-invariant)
5563 ("ghc-semigroupoids" ,ghc-semigroupoids)
5564 ("ghc-tagged" ,ghc-tagged)
5565 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5566 (home-page "https://github.com/ekmett/kan-extensions/")
5567 (synopsis "Kan extensions library")
5568 (description "This library provides Kan extensions, Kan lifts, various
5569forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5570 (license license:bsd-3)))
5571
5572(define-public ghc-language-c
5573 (package
5574 (name "ghc-language-c")
4e1cf651 5575 (version "0.8.3")
dddbc90c
RV
5576 (source
5577 (origin
5578 (method url-fetch)
5579 (uri (string-append "https://hackage.haskell.org/package/"
5580 "language-c/language-c-" version ".tar.gz"))
5581 (sha256
5582 (base32
4e1cf651 5583 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
5584 (build-system haskell-build-system)
5585 (inputs `(("ghc-syb" ,ghc-syb)))
5586 (native-inputs
5587 `(("ghc-happy" ,ghc-happy)
5588 ("ghc-alex" ,ghc-alex)))
5589 (home-page "https://visq.github.io/language-c/")
5590 (synopsis "Analysis and generation of C code")
5591 (description
5592 "Language C is a Haskell library for the analysis and generation of C code.
5593It features a complete, well-tested parser and pretty printer for all of C99
5594and a large set of GNU extensions.")
5595 (license license:bsd-3)))
5596
5597(define-public ghc-language-glsl
5598 (package
5599 (name "ghc-language-glsl")
5600 (version "0.3.0")
5601 (source
5602 (origin
5603 (method url-fetch)
5604 (uri (string-append "https://hackage.haskell.org/package/"
5605 "language-glsl/language-glsl-" version ".tar.gz"))
5606 (sha256
5607 (base32
5608 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
5609 (build-system haskell-build-system)
5610 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
5611 (arguments
5612 `(#:tests? #f
5613 #:cabal-revision
5614 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
5615 (home-page "http://hackage.haskell.org/package/language-glsl")
5616 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
5617 (description "This package is a Haskell library for the
5618representation, parsing, and pretty-printing of GLSL 1.50 code.")
5619 (license license:bsd-3)))
5620
5621(define-public ghc-language-haskell-extract
5622 (package
5623 (name "ghc-language-haskell-extract")
5624 (version "0.2.4")
5625 (source
5626 (origin
5627 (method url-fetch)
5628 (uri (string-append "https://hackage.haskell.org/package/"
5629 "language-haskell-extract-" version "/"
5630 "language-haskell-extract-" version ".tar.gz"))
5631 (sha256
5632 (base32
5633 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
5634 (build-system haskell-build-system)
5635 (inputs
5636 `(("ghc-regex-posix" ,ghc-regex-posix)))
5637 (home-page "https://github.com/finnsson/template-helper")
5638 (synopsis "Haskell module to automatically extract functions from
5639the local code")
5640 (description "This package contains helper functions on top of
5641Template Haskell.
5642
5643For example, @code{functionExtractor} extracts all functions after a
5644regexp-pattern, which can be useful if you wish to extract all functions
5645beginning with @code{test} (for a test framework) or all functions beginning
5646with @code{wc} (for a web service).")
5647 (license license:bsd-3)))
5648
5649(define-public ghc-lens
5650 (package
5651 (name "ghc-lens")
5652 (version "4.16.1")
5653 (source
5654 (origin
5655 (method url-fetch)
5656 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5657 version ".tar.gz"))
5658 (sha256
5659 (base32
5660 "1im4drhbydbawd6i0jsrzpqihnmx4ywpkg7yg94ddwsw3mxwkgpm"))))
5661 (build-system haskell-build-system)
5662 (arguments
5663 `(#:cabal-revision
5664 ("2" "11h83lj5mba4grhz1qx3irz10ysm9c3k7k6i6xv2cr60q8xin3ri")))
5665 (inputs
5666 `(("ghc-base-orphans" ,ghc-base-orphans)
5667 ("ghc-bifunctors" ,ghc-bifunctors)
5668 ("ghc-distributive" ,ghc-distributive)
5669 ("ghc-exceptions" ,ghc-exceptions)
5670 ("ghc-free" ,ghc-free)
5671 ("ghc-kan-extensions" ,ghc-kan-extensions)
5672 ("ghc-parallel" ,ghc-parallel)
5673 ("ghc-reflection" ,ghc-reflection)
5674 ("ghc-semigroupoids" ,ghc-semigroupoids)
5675 ("ghc-vector" ,ghc-vector)
5676 ("ghc-call-stack" ,ghc-call-stack)
5677 ("ghc-comonad" ,ghc-comonad)
5678 ("ghc-contravariant" ,ghc-contravariant)
5679 ("ghc-hashable" ,ghc-hashable)
5680 ("ghc-profunctors" ,ghc-profunctors)
5681 ("ghc-semigroups" ,ghc-semigroups)
5682 ("ghc-tagged" ,ghc-tagged)
5683 ("ghc-transformers-compat" ,ghc-transformers-compat)
5684 ("ghc-unordered-containers" ,ghc-unordered-containers)
5685 ("ghc-void" ,ghc-void)
5686 ("ghc-generic-deriving" ,ghc-generic-deriving)
5687 ("ghc-nats" ,ghc-nats)
5688 ("ghc-simple-reflect" ,ghc-simple-reflect)
5689 ("hlint" ,hlint)))
5690 (native-inputs
5691 `(("cabal-doctest" ,cabal-doctest)
5692 ("ghc-doctest" ,ghc-doctest)
5693 ("ghc-hunit" ,ghc-hunit)
5694 ("ghc-test-framework" ,ghc-test-framework)
5695 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5696 ("ghc-test-framework-th" ,ghc-test-framework-th)
5697 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5698 ("ghc-quickcheck" ,ghc-quickcheck)))
5699 (home-page "https://github.com/ekmett/lens/")
5700 (synopsis "Lenses, Folds and Traversals")
5701 (description "This library provides @code{Control.Lens}. The combinators
5702in @code{Control.Lens} provide a highly generic toolbox for composing families
5703of getters, folds, isomorphisms, traversals, setters and lenses and their
5704indexed variants.")
5705 (license license:bsd-3)))
5706
5707(define-public ghc-libffi
5708 (package
5709 (name "ghc-libffi")
5710 (version "0.1")
5711 (source
5712 (origin
5713 (method url-fetch)
5714 (uri (string-append "https://hackage.haskell.org/package/"
5715 "libffi/libffi-" version ".tar.gz"))
5716 (sha256
5717 (base32
5718 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
5719 (build-system haskell-build-system)
5720 (native-inputs `(("pkg-config" ,pkg-config)))
5721 (inputs `(("libffi" ,libffi)))
5722 (home-page "http://hackage.haskell.org/package/libffi")
5723 (synopsis "Haskell binding to libffi")
5724 (description
5725 "A binding to libffi, allowing C functions of types only known at runtime
5726to be called from Haskell.")
5727 (license license:bsd-3)))
5728
5729(define-public ghc-libmpd
5730 (package
5731 (name "ghc-libmpd")
5732 (version "0.9.0.9")
5733 (source
5734 (origin
5735 (method url-fetch)
5736 (uri (string-append
5737 "mirror://hackage/package/libmpd/libmpd-"
5738 version
5739 ".tar.gz"))
5740 (sha256
5741 (base32
5742 "1931m23iqb4wddpdidm4ph746zpaw41kkjzmb074j7yyfpk7x1jv"))))
5743 (build-system haskell-build-system)
5744 ;; Tests fail on i686.
5745 ;; See https://github.com/vimus/libmpd-haskell/issues/112
5746 (arguments `(#:tests? #f))
5747 (inputs
5748 `(("ghc-attoparsec" ,ghc-attoparsec)
5749 ("ghc-old-locale" ,ghc-old-locale)
5750 ("ghc-data-default-class" ,ghc-data-default-class)
5751 ("ghc-network" ,ghc-network)
5752 ("ghc-utf8-string" ,ghc-utf8-string)))
5753 (native-inputs
5754 `(("ghc-quickcheck" ,ghc-quickcheck)
5755 ("ghc-hspec" ,ghc-hspec)
5756 ("hspec-discover" ,hspec-discover)))
5757 (home-page "https://github.com/vimus/libmpd-haskell")
5758 (synopsis "Haskell client library for the Music Player Daemon")
5759 (description "This package provides a pure Haskell client library for the
5760Music Player Daemon.")
5761 (license license:expat)))
5762
5763(define-public ghc-libxml
5764 (package
5765 (name "ghc-libxml")
5766 (version "0.1.1")
5767 (source
5768 (origin
5769 (method url-fetch)
5770 (uri (string-append "https://hackage.haskell.org/package/libxml/"
5771 "libxml-" version ".tar.gz"))
5772 (sha256
5773 (base32
5774 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
5775 (build-system haskell-build-system)
5776 (inputs
5777 `(("libxml2" ,libxml2)))
5778 (arguments
5779 `(#:configure-flags
5780 `(,(string-append "--extra-include-dirs="
5781 (assoc-ref %build-inputs "libxml2")
5782 "/include/libxml2"))))
5783 (home-page "https://hackage.haskell.org/package/libxml")
5784 (synopsis "Haskell bindings to libxml2")
5785 (description
5786 "This library provides minimal Haskell binding to libxml2.")
5787 (license license:bsd-3)))
5788
5789(define-public ghc-lifted-async
5790 (package
5791 (name "ghc-lifted-async")
5792 (version "0.10.0.2")
5793 (source
5794 (origin
5795 (method url-fetch)
5796 (uri (string-append
5797 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
5798 version ".tar.gz"))
5799 (sha256
5800 (base32
5801 "1073r512c1x2m1v0jar9bwqg656slg7jd1jhsyj6m8awgx1l1mwf"))))
5802 (build-system haskell-build-system)
5803 (inputs
5804 `(("ghc-async" ,ghc-async)
5805 ("ghc-lifted-base" ,ghc-lifted-base)
5806 ("ghc-transformers-base" ,ghc-transformers-base)
5807 ("ghc-monad-control" ,ghc-monad-control)
5808 ("ghc-constraints" ,ghc-constraints)
5809 ("ghc-hunit" ,ghc-hunit)
5810 ("ghc-tasty" ,ghc-tasty)
5811 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5812 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5813 ("ghc-tasty-th" ,ghc-tasty-th)))
5814 (home-page "https://github.com/maoe/lifted-async")
5815 (synopsis "Run lifted IO operations asynchronously and wait for their results")
5816 (description
5817 "This package provides IO operations from @code{async} package lifted to any
5818instance of @code{MonadBase} or @code{MonadBaseControl}.")
5819 (license license:bsd-3)))
5820
5821(define-public ghc-lifted-base
5822 (package
5823 (name "ghc-lifted-base")
5824 (version "0.2.3.12")
5825 (source
5826 (origin
5827 (method url-fetch)
5828 (uri (string-append
5829 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
5830 version
5831 ".tar.gz"))
5832 (sha256
5833 (base32
5834 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
5835 (build-system haskell-build-system)
5836 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
5837 (inputs
5838 `(("ghc-transformers-base" ,ghc-transformers-base)
5839 ("ghc-monad-control" ,ghc-monad-control)
5840 ("ghc-transformers-compat" ,ghc-transformers-compat)
5841 ("ghc-hunit" ,ghc-hunit)))
5842 (home-page "https://github.com/basvandijk/lifted-base")
5843 (synopsis "Lifted IO operations from the base library")
5844 (description "Lifted-base exports IO operations from the @code{base}
5845library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5846Note that not all modules from @code{base} are converted yet. The package
5847includes a copy of the @code{monad-peel} test suite written by Anders
5848Kaseorg.")
5849 (license license:bsd-3)))
5850
5851(define-public ghc-linear
5852 (package
5853 (name "ghc-linear")
5854 (version "1.20.8")
5855 (source
5856 (origin
5857 (method url-fetch)
5858 (uri (string-append "https://hackage.haskell.org/package/linear/"
5859 "linear-" version ".tar.gz"))
5860 (sha256
5861 (base32
5862 "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"))))
5863 (build-system haskell-build-system)
5864 (inputs
5865 `(("ghc-adjunctions" ,ghc-adjunctions)
5866 ("ghc-base-orphans" ,ghc-base-orphans)
5867 ("ghc-bytes" ,ghc-bytes)
5868 ("ghc-cereal" ,ghc-cereal)
5869 ("ghc-distributive" ,ghc-distributive)
5870 ("ghc-hashable" ,ghc-hashable)
5871 ("ghc-lens" ,ghc-lens)
5872 ("ghc-reflection" ,ghc-reflection)
5873 ("ghc-semigroups" ,ghc-semigroups)
5874 ("ghc-semigroupoids" ,ghc-semigroupoids)
5875 ("ghc-tagged" ,ghc-tagged)
5876 ("ghc-transformers-compat" ,ghc-transformers-compat)
5877 ("ghc-unordered-containers" ,ghc-unordered-containers)
5878 ("ghc-vector" ,ghc-vector)
5879 ("ghc-void" ,ghc-void)))
5880 (native-inputs
5881 `(("cabal-doctest" ,cabal-doctest)
5882 ("ghc-doctest" ,ghc-doctest)
5883 ("ghc-simple-reflect" ,ghc-simple-reflect)
5884 ("ghc-test-framework" ,ghc-test-framework)
5885 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5886 ("ghc-hunit" ,ghc-hunit)))
5887 (home-page "http://github.com/ekmett/linear/")
5888 (synopsis "Linear algebra library for Haskell")
5889 (description
5890 "This package provides types and combinators for linear algebra on free
5891vector spaces.")
5892 (license license:bsd-3)))
1307e4c7
JS
5893
5894(define-public ghc-listlike
5895 (package
5896 (name "ghc-listlike")
5897 (version "4.6.2")
5898 (source
5899 (origin
5900 (method url-fetch)
5901 (uri
5902 (string-append
5903 "https://hackage.haskell.org/package/ListLike/ListLike-"
5904 version ".tar.gz"))
5905 (sha256
5906 (base32
5907 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
5908 (build-system haskell-build-system)
5909 (inputs
5910 `(("ghc-vector" ,ghc-vector)
5911 ("ghc-dlist" ,ghc-dlist)
5912 ("ghc-fmlist" ,ghc-fmlist)
5913 ("ghc-hunit" ,ghc-hunit)
5914 ("ghc-quickcheck" ,ghc-quickcheck)
5915 ("ghc-random" ,ghc-random)
5916 ("ghc-utf8-string" ,ghc-utf8-string)))
5917 (home-page "https://github.com/JohnLato/listlike")
5918 (synopsis "Generic support for list-like structures")
5919 (description "The ListLike module provides a common interface to the
5920various Haskell types that are list-like. Predefined interfaces include
5921standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
5922Custom types can easily be made ListLike instances as well.
5923
5924ListLike also provides for String-like types, such as String and
5925ByteString, for types that support input and output, and for types that
5926can handle infinite lists.")
5927 (license license:bsd-3)))
dddbc90c
RV
5928
5929(define-public ghc-logging-facade
5930 (package
5931 (name "ghc-logging-facade")
5932 (version "0.3.0")
5933 (source (origin
5934 (method url-fetch)
5935 (uri (string-append "https://hackage.haskell.org/package/"
5936 "logging-facade/logging-facade-"
5937 version ".tar.gz"))
5938 (sha256
5939 (base32
5940 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
5941 (build-system haskell-build-system)
5942 (native-inputs
5943 `(("ghc-hspec" ,ghc-hspec)
5944 ("hspec-discover" ,hspec-discover)))
5945 (home-page "https://hackage.haskell.org/package/logging-facade")
5946 (synopsis "Simple logging abstraction that allows multiple back-ends")
5947 (description
5948 "This package provides a simple logging abstraction that allows multiple
5949back-ends.")
5950 (license license:expat)))
5951
5952(define-public ghc-logict
5953 (package
5954 (name "ghc-logict")
79d9326f 5955 (version "0.7.0.2")
dddbc90c
RV
5956 (source
5957 (origin
5958 (method url-fetch)
5959 (uri (string-append
5960 "https://hackage.haskell.org/package/logict/logict-"
5961 version
5962 ".tar.gz"))
5963 (sha256
5964 (base32
79d9326f 5965 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 5966 (build-system haskell-build-system)
79d9326f
TS
5967 (native-inputs
5968 `(("ghc-tasty" ,ghc-tasty)
5969 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5970 (home-page "http://code.haskell.org/~dolio/")
5971 (synopsis "Backtracking logic-programming monad")
5972 (description "This library provides a continuation-based, backtracking,
5973logic programming monad. An adaptation of the two-continuation implementation
5974found in the paper \"Backtracking, Interleaving, and Terminating Monad
5975Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
5976online}.")
5977 (license license:bsd-3)))
5978
5979(define-public ghc-lzma
5980 (package
5981 (name "ghc-lzma")
5982 (version "0.0.0.3")
5983 (source
5984 (origin
5985 (method url-fetch)
5986 (uri (string-append "https://hackage.haskell.org/package/lzma/"
5987 "lzma-" version ".tar.gz"))
5988 (sha256
5989 (base32
5990 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
5991 (build-system haskell-build-system)
5992 (arguments
5993 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
5994 #:cabal-revision
5995 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
5996 (native-inputs
5997 `(("ghc-hunit" ,ghc-hunit)
5998 ("ghc-quickcheck" ,ghc-quickcheck)
5999 ("ghc-tasty" ,ghc-tasty)
6000 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6001 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6002 (home-page "https://github.com/hvr/lzma")
6003 (synopsis "LZMA/XZ compression and decompression")
6004 (description
6005 "This package provides a pure interface for compressing and
6006decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6007monadic incremental interface is provided as well.")
6008 (license license:bsd-3)))
6009
6010(define-public ghc-lzma-conduit
6011 (package
6012 (name "ghc-lzma-conduit")
6013 (version "1.2.1")
6014 (source
6015 (origin
6016 (method url-fetch)
6017 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6018 "lzma-conduit-" version ".tar.gz"))
6019 (sha256
6020 (base32
6021 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6022 (build-system haskell-build-system)
6023 (inputs
6024 `(("ghc-conduit" ,ghc-conduit)
6025 ("ghc-lzma" ,ghc-lzma)
6026 ("ghc-resourcet" ,ghc-resourcet)))
6027 (native-inputs
6028 `(("ghc-base-compat" ,ghc-base-compat)
6029 ("ghc-test-framework" ,ghc-test-framework)
6030 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6031 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6032 ("ghc-hunit" ,ghc-hunit)
6033 ("ghc-quickcheck" ,ghc-quickcheck)))
6034 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6035 (synopsis "Conduit interface for lzma/xz compression")
6036 (description
6037 "This package provides a @code{Conduit} interface for the LZMA
6038compression algorithm used in the @code{.xz} file format.")
6039 (license license:bsd-3)))
6040
e405912c
KM
6041(define-public ghc-magic
6042 (package
6043 (name "ghc-magic")
6044 (version "1.1")
6045 (source
6046 (origin
6047 (method url-fetch)
6048 (uri (string-append
6049 "https://hackage.haskell.org/package/magic/magic-"
6050 version ".tar.gz"))
6051 (sha256
6052 (base32
6053 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6054 (build-system haskell-build-system)
6055 (home-page "http://hackage.haskell.org/package/magic")
6056 (synopsis "Interface to C file/magic library")
6057 (description
6058 "This package provides a full-featured binding to the C libmagic library.
6059With it, you can determine the type of a file by examining its contents rather
6060than its name.")
6061 (license license:bsd-3)))
6062
dddbc90c
RV
6063(define-public ghc-markdown-unlit
6064 (package
6065 (name "ghc-markdown-unlit")
6066 (version "0.5.0")
6067 (source (origin
6068 (method url-fetch)
6069 (uri (string-append
6070 "mirror://hackage/package/markdown-unlit/"
6071 "markdown-unlit-" version ".tar.gz"))
6072 (sha256
6073 (base32
6074 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6075 (build-system haskell-build-system)
6076 (inputs
6077 `(("ghc-base-compat" ,ghc-base-compat)
6078 ("ghc-hspec" ,ghc-hspec)
6079 ("ghc-quickcheck" ,ghc-quickcheck)
6080 ("ghc-silently" ,ghc-silently)
6081 ("ghc-stringbuilder" ,ghc-stringbuilder)
6082 ("ghc-temporary" ,ghc-temporary)
6083 ("hspec-discover" ,hspec-discover)))
6084 (home-page "https://github.com/sol/markdown-unlit#readme")
6085 (synopsis "Literate Haskell support for Markdown")
6086 (description "This package allows you to have a README.md that at the
6087same time is a literate Haskell program.")
6088 (license license:expat)))
6089
6090(define-public ghc-math-functions
6091 (package
6092 (name "ghc-math-functions")
b45de2bf 6093 (version "0.3.3.0")
dddbc90c
RV
6094 (source
6095 (origin
6096 (method url-fetch)
6097 (uri (string-append "https://hackage.haskell.org/package/"
6098 "math-functions-" version "/"
6099 "math-functions-" version ".tar.gz"))
6100 (sha256
6101 (base32
b45de2bf 6102 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6103 (build-system haskell-build-system)
6104 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6105 (inputs
b45de2bf
TS
6106 `(("ghc-data-default-class" ,ghc-data-default-class)
6107 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6108 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6109 (native-inputs
6110 `(("ghc-hunit" ,ghc-hunit)
6111 ("ghc-quickcheck" ,ghc-quickcheck)
6112 ("ghc-erf" ,ghc-erf)
6113 ("ghc-test-framework" ,ghc-test-framework)
6114 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6115 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6116 (home-page "https://github.com/bos/math-functions")
6117 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6118 (description "This Haskell library provides implementations of
6119special mathematical functions and Chebyshev polynomials. These
6120functions are often useful in statistical and numerical computing.")
6121 (license license:bsd-3)))
6122
6123(define-public ghc-megaparsec
6124 (package
6125 (name "ghc-megaparsec")
03b0c92e 6126 (version "7.0.5")
dddbc90c
RV
6127 (source
6128 (origin
6129 (method url-fetch)
6130 (uri (string-append "https://hackage.haskell.org/package/"
6131 "megaparsec/megaparsec-"
6132 version ".tar.gz"))
6133 (sha256
6134 (base32
03b0c92e 6135 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 6136 (build-system haskell-build-system)
dddbc90c
RV
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
6154(define-public ghc-memory
6155 (package
6156 (name "ghc-memory")
d2c7d336 6157 (version "0.14.18")
dddbc90c
RV
6158 (source (origin
6159 (method url-fetch)
6160 (uri (string-append "https://hackage.haskell.org/package/"
6161 "memory/memory-" version ".tar.gz"))
6162 (sha256
6163 (base32
d2c7d336 6164 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
6165 (build-system haskell-build-system)
6166 (inputs
6167 `(("ghc-basement" ,ghc-basement)
6168 ("ghc-foundation" ,ghc-foundation)))
6169 (native-inputs
6170 `(("ghc-tasty" ,ghc-tasty)
6171 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6172 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6173 (home-page "https://github.com/vincenthz/hs-memory")
6174 (synopsis "Memory abstractions for Haskell")
6175 (description
6176 "This package provides memory abstractions, such as chunk of memory,
6177polymorphic byte array management and manipulation functions. It contains a
6178polymorphic byte array abstraction and functions similar to strict ByteString,
6179different type of byte array abstraction, raw memory IO operations (memory
6180set, memory copy, ..) and more")
6181 (license license:bsd-3)))
6182
6183(define-public ghc-memotrie
6184 (package
6185 (name "ghc-memotrie")
6186 (version "0.6.9")
6187 (source
6188 (origin
6189 (method url-fetch)
6190 (uri (string-append
6191 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6192 version
6193 ".tar.gz"))
6194 (sha256
6195 (base32
6196 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6197 (build-system haskell-build-system)
6198 (inputs
6199 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6200 (home-page "https://github.com/conal/MemoTrie")
6201 (synopsis "Trie-based memo functions")
6202 (description "This package provides a functional library for creating
6203efficient memo functions using tries.")
6204 (license license:bsd-3)))
6205
6206(define-public ghc-microlens
6207 (package
6208 (name "ghc-microlens")
82478c58 6209 (version "0.4.10")
dddbc90c
RV
6210 (source
6211 (origin
6212 (method url-fetch)
6213 (uri (string-append "https://hackage.haskell.org/package/"
6214 "microlens-" version "/"
6215 "microlens-" version ".tar.gz"))
6216 (sha256
6217 (base32
82478c58 6218 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
6219 (build-system haskell-build-system)
6220 (home-page
6221 "https://github.com/aelve/microlens")
6222 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6223 (description "This Haskell package provides a lens library, just like
6224@code{ghc-lens}, but smaller. It provides essential lenses and
6225traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6226nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6227combinators (like @code{failing} and @code{singular}), but everything else is
6228stripped. As the result, this package has no dependencies.")
6229 (license license:bsd-3)))
6230
6231(define-public ghc-microlens-ghc
6232 (package
6233 (name "ghc-microlens-ghc")
027beb55 6234 (version "0.4.10")
dddbc90c
RV
6235 (source
6236 (origin
6237 (method url-fetch)
6238 (uri (string-append
6239 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6240 version
6241 ".tar.gz"))
6242 (sha256
6243 (base32
027beb55 6244 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
6245 (build-system haskell-build-system)
6246 (inputs `(("ghc-microlens" ,ghc-microlens)))
6247 (home-page "https://github.com/monadfix/microlens")
6248 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6249 (description "This library provides everything that @code{microlens}
6250provides plus instances to make @code{each}, @code{at}, and @code{ix}
6251usable with arrays, @code{ByteString}, and containers. This package is
6252a part of the @uref{http://hackage.haskell.org/package/microlens,
6253microlens} family; see the readme
6254@uref{https://github.com/aelve/microlens#readme, on Github}.")
6255 (license license:bsd-3)))
6256
6257(define-public ghc-microlens-mtl
6258 (package
6259 (name "ghc-microlens-mtl")
6260 (version "0.1.11.1")
6261 (source
6262 (origin
6263 (method url-fetch)
6264 (uri (string-append
6265 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6266 version
6267 ".tar.gz"))
6268 (sha256
6269 (base32
6270 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6271 (build-system haskell-build-system)
6272 (inputs
6273 `(("ghc-microlens" ,ghc-microlens)
6274 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6275 (home-page "https://github.com/monadfix/microlens")
6276 (synopsis
6277 "@code{microlens} support for Reader/Writer/State from mtl")
6278 (description
6279 "This package contains functions (like @code{view} or @code{+=}) which
6280work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6281mtl package. This package is a part of the
6282@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6283readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6284 (license license:bsd-3)))
6285
6286(define-public ghc-microlens-platform
6287 (package
6288 (name "ghc-microlens-platform")
85decc1f 6289 (version "0.3.11")
dddbc90c
RV
6290 (source
6291 (origin
6292 (method url-fetch)
6293 (uri (string-append
6294 "https://hackage.haskell.org/package/"
6295 "microlens-platform/microlens-platform-" version ".tar.gz"))
6296 (sha256
6297 (base32
85decc1f 6298 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
6299 (build-system haskell-build-system)
6300 (inputs
6301 `(("ghc-hashable" ,ghc-hashable)
6302 ("ghc-microlens" ,ghc-microlens)
6303 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6304 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6305 ("ghc-microlens-th" ,ghc-microlens-th)
6306 ("ghc-unordered-containers" ,ghc-unordered-containers)
6307 ("ghc-vector" ,ghc-vector)))
6308 (home-page "https://github.com/monadfix/microlens")
6309 (synopsis "Feature-complete microlens")
6310 (description
6311 "This package exports a module which is the recommended starting point
6312for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6313you aren't trying to keep your dependencies minimal. By importing
6314@code{Lens.Micro.Platform} you get all functions and instances from
6315@uref{http://hackage.haskell.org/package/microlens, microlens},
6316@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6317@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6318@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6319well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6320minor and major versions of @code{microlens-platform} are incremented whenever
6321the minor and major versions of any other @code{microlens} package are
6322incremented, so you can depend on the exact version of
6323@code{microlens-platform} without specifying the version of @code{microlens}
6324you need. This package is a part of the
6325@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6326readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6327 (license license:bsd-3)))
6328
6329(define-public ghc-microlens-th
6330 (package
6331 (name "ghc-microlens-th")
7ae52867 6332 (version "0.4.2.3")
dddbc90c
RV
6333 (source
6334 (origin
6335 (method url-fetch)
6336 (uri (string-append "https://hackage.haskell.org/package/"
6337 "microlens-th-" version "/"
6338 "microlens-th-" version ".tar.gz"))
6339 (sha256
6340 (base32
7ae52867 6341 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 6342 (build-system haskell-build-system)
7ae52867
TS
6343 (arguments
6344 `(#:cabal-revision
6345 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
6346 (inputs `(("ghc-microlens" ,ghc-microlens)
6347 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6348 (home-page
6349 "https://github.com/aelve/microlens")
6350 (synopsis "Automatic generation of record lenses for
6351@code{ghc-microlens}")
6352 (description "This Haskell package lets you automatically generate lenses
6353for data types; code was extracted from the lens package, and therefore
6354generated lenses are fully compatible with ones generated by lens (and can be
6355used both from lens and microlens).")
6356 (license license:bsd-3)))
6357
6358(define-public ghc-missingh
6359 (package
6360 (name "ghc-missingh")
6361 (version "1.4.0.1")
6362 (source
6363 (origin
6364 (method url-fetch)
6365 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6366 "MissingH-" version ".tar.gz"))
6367 (sha256
6368 (base32
6369 "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"))))
6370 (build-system haskell-build-system)
6371 ;; Tests require the unmaintained testpack package, which depends on the
6372 ;; outdated QuickCheck version 2.7, which can no longer be built with
6373 ;; recent versions of GHC and Haskell libraries.
6374 (arguments '(#:tests? #f))
6375 (inputs
6376 `(("ghc-network" ,ghc-network)
6377 ("ghc-hunit" ,ghc-hunit)
6378 ("ghc-regex-compat" ,ghc-regex-compat)
6379 ("ghc-hslogger" ,ghc-hslogger)
6380 ("ghc-random" ,ghc-random)
6381 ("ghc-old-time" ,ghc-old-time)
6382 ("ghc-old-locale" ,ghc-old-locale)))
6383 (native-inputs
6384 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6385 ("ghc-quickcheck" ,ghc-quickcheck)
6386 ("ghc-hunit" ,ghc-hunit)))
6387 (home-page "http://software.complete.org/missingh")
6388 (synopsis "Large utility library")
6389 (description
6390 "MissingH is a library of all sorts of utility functions for Haskell
6391programmers. It is written in pure Haskell and thus should be extremely
6392portable and easy to use.")
6393 (license license:bsd-3)))
6394
6395(define-public ghc-mmap
6396 (package
6397 (name "ghc-mmap")
6398 (version "0.5.9")
6399 (source (origin
6400 (method url-fetch)
6401 (uri (string-append "https://hackage.haskell.org/package/"
6402 "mmap/mmap-" version ".tar.gz"))
6403 (sha256
6404 (base32
6405 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6406 (build-system haskell-build-system)
6407 (home-page "https://hackage.haskell.org/package/mmap")
6408 (synopsis "Memory mapped files for Haskell")
6409 (description
6410 "This library provides a wrapper to @code{mmap}, allowing files or
6411devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6412@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6413do on-demand loading.")
6414 (license license:bsd-3)))
6415
6416(define-public ghc-mmorph
6417 (package
6418 (name "ghc-mmorph")
e0389704 6419 (version "1.1.3")
dddbc90c
RV
6420 (source
6421 (origin
6422 (method url-fetch)
6423 (uri (string-append
6424 "https://hackage.haskell.org/package/mmorph/mmorph-"
6425 version
6426 ".tar.gz"))
6427 (sha256
6428 (base32
e0389704 6429 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
6430 (build-system haskell-build-system)
6431 (inputs
6432 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6433 (home-page "https://hackage.haskell.org/package/mmorph")
6434 (synopsis "Monad morphisms")
6435 (description
6436 "This library provides monad morphism utilities, most commonly used for
6437manipulating monad transformer stacks.")
6438 (license license:bsd-3)))
6439
6440(define-public ghc-mockery
6441 (package
6442 (name "ghc-mockery")
6443 (version "0.3.5")
6444 (source (origin
6445 (method url-fetch)
6446 (uri (string-append "https://hackage.haskell.org/package/"
6447 "mockery/mockery-" version ".tar.gz"))
6448 (sha256
6449 (base32
6450 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6451 (build-system haskell-build-system)
6452 (inputs
6453 `(("ghc-temporary" ,ghc-temporary)
6454 ("ghc-logging-facade" ,ghc-logging-facade)
6455 ("ghc-base-compat" ,ghc-base-compat)))
6456 (native-inputs
6457 `(("ghc-hspec" ,ghc-hspec)
6458 ("hspec-discover" ,hspec-discover)))
6459 (home-page "https://hackage.haskell.org/package/mockery")
6460 (synopsis "Support functions for automated testing")
6461 (description
6462 "The mockery package provides support functions for automated testing.")
6463 (license license:expat)))
6464
6465(define-public ghc-monad-control
6466 (package
6467 (name "ghc-monad-control")
6468 (version "1.0.2.3")
6469 (source
6470 (origin
6471 (method url-fetch)
6472 (uri (string-append
6473 "https://hackage.haskell.org/package/monad-control"
6474 "/monad-control-" version ".tar.gz"))
6475 (sha256
6476 (base32
6477 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6478 (build-system haskell-build-system)
6479 (inputs
6480 `(("ghc-transformers-base" ,ghc-transformers-base)
6481 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6482 (home-page "https://github.com/basvandijk/monad-control")
6483 (synopsis "Monad transformers to lift control operations like exception
6484catching")
6485 (description "This package defines the type class @code{MonadBaseControl},
6486a subset of @code{MonadBase} into which generic control operations such as
6487@code{catch} can be lifted from @code{IO} or any other base monad.")
6488 (license license:bsd-3)))
6489
6490(define-public ghc-monad-logger
6491 (package
6492 (name "ghc-monad-logger")
6493 (version "0.3.29")
6494 (source
6495 (origin
6496 (method url-fetch)
6497 (uri (string-append "https://hackage.haskell.org/package/"
6498 "monad-logger-" version "/"
6499 "monad-logger-" version ".tar.gz"))
6500 (sha256
6501 (base32
6502 "1z516s4pa9n94zf0l45mylssg07xr1d1m6zrz900p0iv3vfd07mv"))))
6503 (build-system haskell-build-system)
6504 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6505 ("ghc-stm-chans" ,ghc-stm-chans)
6506 ("ghc-lifted-base" ,ghc-lifted-base)
6507 ("ghc-resourcet" ,ghc-resourcet)
6508 ("ghc-conduit" ,ghc-conduit)
6509 ("ghc-conduit-extra" ,ghc-conduit-extra)
6510 ("ghc-fast-logger" ,ghc-fast-logger)
6511 ("ghc-transformers-base" ,ghc-transformers-base)
6512 ("ghc-monad-control" ,ghc-monad-control)
6513 ("ghc-monad-loops" ,ghc-monad-loops)
6514 ("ghc-blaze-builder" ,ghc-blaze-builder)
6515 ("ghc-exceptions" ,ghc-exceptions)))
6516 (home-page "https://github.com/kazu-yamamoto/logger")
6517 (synopsis "Provides a class of monads which can log messages for Haskell")
6518 (description "This Haskell package uses a monad transformer approach
6519for logging.
6520
6521This package provides Template Haskell functions for determining source
6522code locations of messages.")
6523 (license license:expat)))
6524
6525(define-public ghc-monad-loops
6526 (package
6527 (name "ghc-monad-loops")
6528 (version "0.4.3")
6529 (source
6530 (origin
6531 (method url-fetch)
6532 (uri (string-append "https://hackage.haskell.org/package/"
6533 "monad-loops-" version "/"
6534 "monad-loops-" version ".tar.gz"))
6535 (sha256
6536 (base32
6537 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6538 (build-system haskell-build-system)
6539 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6540 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6541 (home-page "https://github.com/mokus0/monad-loops")
6542 (synopsis "Monadic loops for Haskell")
6543 (description "This Haskell package provides some useful control
6544operators for looping.")
6545 (license license:public-domain)))
6546
6547(define-public ghc-monad-par
6548 (package
6549 (name "ghc-monad-par")
6550 (version "0.3.4.8")
6551 (source
6552 (origin
6553 (method url-fetch)
6554 (uri (string-append "https://hackage.haskell.org/package/"
6555 "monad-par-" version "/"
6556 "monad-par-" version ".tar.gz"))
6557 (sha256
6558 (base32
6559 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6560 (build-system haskell-build-system)
6561 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6562 ("ghc-abstract-deque" ,ghc-abstract-deque)
6563 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6564 ("ghc-mwc-random" ,ghc-mwc-random)
6565 ("ghc-parallel" ,ghc-parallel)))
6566 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6567 ("ghc-hunit" ,ghc-hunit)
6568 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6569 ("ghc-test-framework-quickcheck2"
6570 ,ghc-test-framework-quickcheck2)
6571 ("ghc-test-framework" ,ghc-test-framework)
6572 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6573 (home-page "https://github.com/simonmar/monad-par")
6574 (synopsis "Haskell library for parallel programming based on a monad")
6575 (description "The @code{Par} monad offers an API for parallel
6576programming. The library works for parallelising both pure and @code{IO}
6577computations, although only the pure version is deterministic. The default
6578implementation provides a work-stealing scheduler and supports forking tasks
6579that are much lighter weight than IO-threads.")
6580 (license license:bsd-3)))
6581
6582(define-public ghc-monad-par-extras
6583 (package
6584 (name "ghc-monad-par-extras")
6585 (version "0.3.3")
6586 (source
6587 (origin
6588 (method url-fetch)
6589 (uri (string-append "https://hackage.haskell.org/package/"
6590 "monad-par-extras-" version "/"
6591 "monad-par-extras-" version ".tar.gz"))
6592 (sha256
6593 (base32
6594 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6595 (build-system haskell-build-system)
6596 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6597 ("ghc-cereal" ,ghc-cereal)
6598 ("ghc-random" ,ghc-random)))
6599 (home-page "https://github.com/simonmar/monad-par")
6600 (synopsis "Combinators and extra features for Par monads for Haskell")
6601 (description "This Haskell package provides additional data structures,
6602and other added capabilities layered on top of the @code{Par} monad.")
6603 (license license:bsd-3)))
6604
6605(define-public ghc-monadplus
6606 (package
6607 (name "ghc-monadplus")
6608 (version "1.4.2")
6609 (source
6610 (origin
6611 (method url-fetch)
6612 (uri (string-append "https://hackage.haskell.org/package/monadplus"
6613 "/monadplus-" version ".tar.gz"))
6614 (sha256
6615 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
6616 (build-system haskell-build-system)
6617 (home-page "https://hackage.haskell.org/package/monadplus")
6618 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
6619 (description
6620 "This package generalizes many common stream operations such as
6621@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
6622arbitrary @code{MonadPlus} instances.")
6623 (license license:bsd-3)))
6624
6625(define-public ghc-monadrandom
6626 (package
6627 (name "ghc-monadrandom")
6628 (version "0.5.1.1")
6629 (source
6630 (origin
6631 (method url-fetch)
6632 (uri (string-append "https://hackage.haskell.org/package/"
6633 "MonadRandom-" version "/"
6634 "MonadRandom-" version ".tar.gz"))
6635 (sha256
6636 (base32
6637 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
6638 (build-system haskell-build-system)
6639 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6640 ("ghc-primitive" ,ghc-primitive)
6641 ("ghc-fail" ,ghc-fail)
6642 ("ghc-random" ,ghc-random)))
6643 (home-page "https://github.com/byorgey/MonadRandom")
6644 (synopsis "Random-number generation monad for Haskell")
6645 (description "This Haskell package provides support for computations
6646which consume random values.")
6647 (license license:bsd-3)))
6648
6649(define-public ghc-monads-tf
6650 (package
6651 (name "ghc-monads-tf")
6652 (version "0.1.0.3")
6653 (source
6654 (origin
6655 (method url-fetch)
6656 (uri (string-append
6657 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
6658 version ".tar.gz"))
6659 (sha256
6660 (base32
6661 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
6662 (build-system haskell-build-system)
6663 (home-page "https://hackage.haskell.org/package/monads-tf")
6664 (synopsis "Monad classes, using type families")
6665 (description
6666 "Monad classes using type families, with instances for various monad transformers,
6667inspired by the paper 'Functional Programming with Overloading and Higher-Order
6668Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
6669the @code{mtl-tf} package.")
6670 (license license:bsd-3)))
6671
6672(define-public ghc-mono-traversable
6673 (package
6674 (name "ghc-mono-traversable")
6675 (version "1.0.9.0")
6676 (source
6677 (origin
6678 (method url-fetch)
6679 (uri (string-append "https://hackage.haskell.org/package/"
6680 "mono-traversable-" version "/"
6681 "mono-traversable-" version ".tar.gz"))
6682 (sha256
6683 (base32
6684 "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
6685 (build-system haskell-build-system)
6686 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
6687 ("ghc-hashable" ,ghc-hashable)
6688 ("ghc-vector" ,ghc-vector)
6689 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
6690 ("ghc-split" ,ghc-split)))
6691 (native-inputs `(("ghc-hspec" ,ghc-hspec)
6692 ("ghc-hunit" ,ghc-hunit)
6693 ("ghc-quickcheck" ,ghc-quickcheck)
6694 ("ghc-semigroups" ,ghc-semigroups)
6695 ("ghc-foldl" ,ghc-foldl)))
6696 (home-page "https://github.com/snoyberg/mono-traversable")
6697 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
6698containers")
6699 (description "This Haskell package provides Monomorphic variants of the
6700Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
6701basic typeclasses, you understand mono-traversable. In addition to what
6702you are used to, it adds on an IsSequence typeclass and has code for marking
6703data structures as non-empty.")
6704 (license license:expat)))
6705
6706(define-public ghc-murmur-hash
6707 (package
6708 (name "ghc-murmur-hash")
6709 (version "0.1.0.9")
6710 (source
6711 (origin
6712 (method url-fetch)
6713 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
6714 "/murmur-hash-" version ".tar.gz"))
6715 (sha256
6716 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
6717 (build-system haskell-build-system)
6718 (home-page "https://github.com/nominolo/murmur-hash")
6719 (synopsis "MurmurHash2 implementation for Haskell")
6720 (description
6721 "This package provides an implementation of MurmurHash2, a good, fast,
6722general-purpose, non-cryptographic hashing function. See
6723@url{https://sites.google.com/site/murmurhash/} for details. This
6724implementation is pure Haskell, so it might be a bit slower than a C FFI
6725binding.")
6726 (license license:bsd-3)))
6727
6728(define-public ghc-mwc-random
6729 (package
6730 (name "ghc-mwc-random")
33268e2c 6731 (version "0.14.0.0")
dddbc90c
RV
6732 (source
6733 (origin
6734 (method url-fetch)
6735 (uri (string-append "https://hackage.haskell.org/package/"
6736 "mwc-random-" version "/"
6737 "mwc-random-" version ".tar.gz"))
6738 (sha256
6739 (base32
33268e2c 6740 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
6741 (build-system haskell-build-system)
6742 (inputs
6743 `(("ghc-primitive" ,ghc-primitive)
6744 ("ghc-vector" ,ghc-vector)
6745 ("ghc-math-functions" ,ghc-math-functions)))
6746 (arguments
6747 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
6748 (native-inputs
6749 `(("ghc-hunit" ,ghc-hunit)
6750 ("ghc-quickcheck" ,ghc-quickcheck)
6751 ("ghc-test-framework" ,ghc-test-framework)
6752 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6753 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6754 (home-page "https://github.com/bos/mwc-random")
6755 (synopsis "Random number generation library for Haskell")
6756 (description "This Haskell package contains code for generating
6757high quality random numbers that follow either a uniform or normal
6758distribution. The generated numbers are suitable for use in
6759statistical applications.
6760
6761The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
6762multiply-with-carry generator, which has a period of 2^{8222} and
6763fares well in tests of randomness. It is also extremely fast,
6764between 2 and 3 times faster than the Mersenne Twister.")
6765 (license license:bsd-3)))
6766
6767(define-public ghc-nats
6768 (package
6769 (name "ghc-nats")
6770 (version "1.1.2")
6771 (source
6772 (origin
6773 (method url-fetch)
6774 (uri (string-append
6775 "https://hackage.haskell.org/package/nats/nats-"
6776 version
6777 ".tar.gz"))
6778 (sha256
6779 (base32
6780 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
6781 (build-system haskell-build-system)
6782 (arguments `(#:haddock? #f))
6783 (inputs
6784 `(("ghc-hashable" ,ghc-hashable)))
6785 (home-page "https://hackage.haskell.org/package/nats")
6786 (synopsis "Natural numbers")
6787 (description "This library provides the natural numbers for Haskell.")
6788 (license license:bsd-3)))
6789
6790(define-public ghc-nats-bootstrap
6791 (package
6792 (inherit ghc-nats)
6793 (name "ghc-nats-bootstrap")
6794 (inputs
6795 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
6796 (properties '((hidden? #t)))))
6797
52915062
EF
6798(define-public ghc-ncurses
6799 (package
6800 (name "ghc-ncurses")
6801 (version "0.2.16")
6802 (source
6803 (origin
6804 (method url-fetch)
6805 (uri (string-append
6806 "https://hackage.haskell.org/package/ncurses/ncurses-"
6807 version ".tar.gz"))
6808 (sha256
6809 (base32
6810 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
6811 (build-system haskell-build-system)
6812 (arguments
6813 '(#:phases
6814 (modify-phases %standard-phases
6815 (add-before 'build 'fix-includes
6816 (lambda _
6817 (substitute* '("cbits/hsncurses-shim.h"
6818 "lib/UI/NCurses.chs"
6819 "lib/UI/NCurses/Enums.chs"
6820 "lib/UI/NCurses/Panel.chs")
6821 (("<ncursesw/") "<"))
6822 #t)))
6823 #:cabal-revision
6824 ("1"
6825 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
6826 (inputs `(("ncurses" ,ncurses)))
6827 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
6828 (home-page "https://john-millikin.com/software/haskell-ncurses/")
6829 (synopsis "Modernised bindings to GNU ncurses")
6830 (description "GNU ncurses is a library for creating command-line application
6831with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
6832ncurses.")
6833 (license license:gpl3)))
6834
dddbc90c
RV
6835(define-public ghc-network
6836 (package
6837 (name "ghc-network")
d4473202 6838 (version "2.8.0.1")
dddbc90c
RV
6839 (outputs '("out" "doc"))
6840 (source
6841 (origin
6842 (method url-fetch)
6843 (uri (string-append
6844 "https://hackage.haskell.org/package/network/network-"
6845 version
6846 ".tar.gz"))
6847 (sha256
6848 (base32
d4473202 6849 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
6850 (build-system haskell-build-system)
6851 ;; The regression tests depend on an unpublished module.
6852 (arguments `(#:tests? #f))
6853 (native-inputs
6854 `(("ghc-hunit" ,ghc-hunit)
6855 ("ghc-doctest" ,ghc-doctest)
6856 ("ghc-test-framework" ,ghc-test-framework)
6857 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6858 (home-page "https://github.com/haskell/network")
6859 (synopsis "Low-level networking interface")
6860 (description
6861 "This package provides a low-level networking interface.")
6862 (license license:bsd-3)))
4780db2c 6863
dddbc90c
RV
6864(define-public ghc-network-info
6865 (package
6866 (name "ghc-network-info")
6867 (version "0.2.0.10")
6868 (source
6869 (origin
6870 (method url-fetch)
6871 (uri (string-append "https://hackage.haskell.org/package/"
6872 "network-info-" version "/"
6873 "network-info-" version ".tar.gz"))
6874 (sha256
6875 (base32
6876 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
6877 (build-system haskell-build-system)
6878 (home-page "https://github.com/jystic/network-info")
6879 (synopsis "Access the local computer's basic network configuration")
6880 (description "This Haskell library provides simple read-only access to the
6881local computer's networking configuration. It is currently capable of
6882getting a list of all the network interfaces and their respective
6883IPv4, IPv6 and MAC addresses.")
6884 (license license:bsd-3)))
6885
6886(define-public ghc-network-uri
6887 (package
6888 (name "ghc-network-uri")
6889 (version "2.6.1.0")
6890 (outputs '("out" "doc"))
6891 (source
6892 (origin
6893 (method url-fetch)
6894 (uri (string-append
6895 "https://hackage.haskell.org/package/network-uri/network-uri-"
6896 version
6897 ".tar.gz"))
6898 (sha256
6899 (base32
6900 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
6901 (build-system haskell-build-system)
6902 (arguments
6903 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
6904 (inputs
6905 `(("ghc-network" ,ghc-network)))
6906 (native-inputs
6907 `(("ghc-hunit" ,ghc-hunit)))
6908 (home-page
6909 "https://github.com/haskell/network-uri")
6910 (synopsis "Library for URI manipulation")
6911 (description "This package provides an URI manipulation interface. In
6912@code{network-2.6} the @code{Network.URI} module was split off from the
6913@code{network} package into this package.")
6914 (license license:bsd-3)))
6915
6916(define-public ghc-newtype-generics
6917 (package
6918 (name "ghc-newtype-generics")
c07e16dd 6919 (version "0.5.4")
dddbc90c
RV
6920 (source
6921 (origin
6922 (method url-fetch)
6923 (uri (string-append "https://hackage.haskell.org/package/"
6924 "newtype-generics/newtype-generics-"
6925 version ".tar.gz"))
6926 (sha256
6927 (base32
c07e16dd 6928 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
6929 (build-system haskell-build-system)
6930 (native-inputs
6931 `(("ghc-hspec" ,ghc-hspec)
6932 ("hspec-discover" ,hspec-discover)))
6933 (home-page "http://github.com/sjakobi/newtype-generics")
6934 (synopsis "Typeclass and set of functions for working with newtypes")
6935 (description "The @code{Newtype} typeclass represents the packing and
6936unpacking of a newtype, and allows you to operate under that newtype with
6937functions such as @code{ala}. Generics support was added in version 0.4,
6938making this package a full replacement for the original newtype package,
6939and an alternative to newtype-th.")
6940 (license license:bsd-3)))
6941
6b652f5a
JS
6942(define-public ghc-non-negative
6943 (package
6944 (name "ghc-non-negative")
6945 (version "0.1.2")
6946 (source
6947 (origin
6948 (method url-fetch)
6949 (uri
6950 (string-append
6951 "https://hackage.haskell.org/package/non-negative/non-negative-"
6952 version ".tar.gz"))
6953 (sha256
6954 (base32
6955 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
6956 (build-system haskell-build-system)
6957 (inputs
6958 `(("ghc-semigroups" ,ghc-semigroups)
6959 ("ghc-utility-ht" ,ghc-utility-ht)
6960 ("ghc-quickcheck" ,ghc-quickcheck)))
6961 (home-page "https://hackage.haskell.org/package/non-negative")
6962 (synopsis "Non-negative numbers class")
6963 (description "This library provides a class for non-negative numbers,
6964a wrapper which can turn any ordered numeric type into a member of that
6965class, and a lazy number type for non-negative numbers (a generalization
6966of Peano numbers).")
6967 (license license:gpl3+)))
6968
dddbc90c
RV
6969(define-public ghc-objectname
6970 (package
6971 (name "ghc-objectname")
6972 (version "1.1.0.1")
6973 (source
6974 (origin
6975 (method url-fetch)
6976 (uri (string-append
6977 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
6978 version
6979 ".tar.gz"))
6980 (sha256
6981 (base32
6982 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
6983 (build-system haskell-build-system)
6984 (home-page "https://hackage.haskell.org/package/ObjectName")
6985 (synopsis "Helper library for Haskell OpenGL")
6986 (description "This tiny package contains the class ObjectName, which
6987corresponds to the general notion of explicitly handled identifiers for API
6988objects, e.g. a texture object name in OpenGL or a buffer object name in
6989OpenAL.")
6990 (license license:bsd-3)))
6991
6992(define-public ghc-old-locale
6993 (package
6994 (name "ghc-old-locale")
6995 (version "1.0.0.7")
6996 (source
6997 (origin
6998 (method url-fetch)
6999 (uri (string-append
7000 "https://hackage.haskell.org/package/old-locale/old-locale-"
7001 version
7002 ".tar.gz"))
7003 (sha256
7004 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7005 (build-system haskell-build-system)
7006 (arguments
7007 `(#:cabal-revision
7008 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7009 (home-page "https://hackage.haskell.org/package/old-locale")
7010 (synopsis "Adapt to locale conventions")
7011 (description
7012 "This package provides the ability to adapt to locale conventions such as
7013date and time formats.")
7014 (license license:bsd-3)))
7015
7016(define-public ghc-old-time
7017 (package
7018 (name "ghc-old-time")
7019 (version "1.1.0.3")
7020 (source
7021 (origin
7022 (method url-fetch)
7023 (uri (string-append
7024 "https://hackage.haskell.org/package/old-time/old-time-"
7025 version
7026 ".tar.gz"))
7027 (sha256
7028 (base32
7029 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7030 (build-system haskell-build-system)
7031 (arguments
7032 `(#:cabal-revision
7033 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7034 (inputs
7035 `(("ghc-old-locale" ,ghc-old-locale)))
7036 (home-page "https://hackage.haskell.org/package/old-time")
7037 (synopsis "Time compatibility library for Haskell")
7038 (description "Old-time is a package for backwards compatibility with the
7039old @code{time} library. For new projects, the newer
7040@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7041 (license license:bsd-3)))
7042
7043(define-public ghc-opengl
7044 (package
7045 (name "ghc-opengl")
79a06910 7046 (version "3.0.3.0")
dddbc90c
RV
7047 (source
7048 (origin
7049 (method url-fetch)
7050 (uri (string-append
7051 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7052 version
7053 ".tar.gz"))
7054 (sha256
7055 (base32
79a06910 7056 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 7057 (build-system haskell-build-system)
79a06910
TS
7058 (arguments
7059 `(#:cabal-revision
7060 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
7061 (inputs
7062 `(("ghc-objectname" ,ghc-objectname)
7063 ("ghc-gluraw" ,ghc-gluraw)
7064 ("ghc-statevar" ,ghc-statevar)
7065 ("ghc-openglraw" ,ghc-openglraw)))
7066 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7067 (synopsis "Haskell bindings for the OpenGL graphics system")
7068 (description "This package provides Haskell bindings for the OpenGL
7069graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7070version 1.3).")
7071 (license license:bsd-3)))
7072
7073(define-public ghc-openglraw
7074 (package
7075 (name "ghc-openglraw")
15ebc815 7076 (version "3.3.3.0")
dddbc90c
RV
7077 (source
7078 (origin
7079 (method url-fetch)
7080 (uri (string-append
7081 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7082 version
7083 ".tar.gz"))
7084 (sha256
7085 (base32
15ebc815 7086 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
7087 (build-system haskell-build-system)
7088 (inputs
7089 `(("ghc-half" ,ghc-half)
7090 ("ghc-fixed" ,ghc-fixed)
7091 ("glu" ,glu)))
7092 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7093 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7094 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7095graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7096of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7097offers access to all necessary functions, tokens and types plus a general
7098facility for loading extension entries. The module hierarchy closely mirrors
7099the naming structure of the OpenGL extensions, making it easy to find the
7100right module to import. All API entries are loaded dynamically, so no special
7101C header files are needed for building this package. If an API entry is not
7102found at runtime, a userError is thrown.")
7103 (license license:bsd-3)))
7104
7105(define-public ghc-operational
7106 (package
7107 (name "ghc-operational")
7108 (version "0.2.3.5")
7109 (source
7110 (origin
7111 (method url-fetch)
7112 (uri (string-append "https://hackage.haskell.org/package/operational/"
7113 "operational-" version ".tar.gz"))
7114 (sha256
7115 (base32
7116 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7117 (build-system haskell-build-system)
7118 (inputs
7119 `(("ghc-random" ,ghc-random)))
7120 (home-page "http://wiki.haskell.org/Operational")
7121 (synopsis "Implementation of difficult monads made easy with operational semantics")
7122 (description
7123 "This library makes it easy to implement monads with tricky control
7124flow. This is useful for: writing web applications in a sequential style,
7125programming games with a uniform interface for human and AI players and easy
7126replay capababilities, implementing fast parser monads, designing monadic
7127DSLs, etc.")
7128 (license license:bsd-3)))
7129
7130(define-public ghc-options
7131 (package
7132 (name "ghc-options")
7133 (version "1.2.1.1")
7134 (source
7135 (origin
7136 (method url-fetch)
7137 (uri (string-append
7138 "https://hackage.haskell.org/package/options/options-"
7139 version ".tar.gz"))
7140 (sha256
7141 (base32
7142 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7143 (build-system haskell-build-system)
7144 (inputs
7145 `(("ghc-monads-tf" ,ghc-monads-tf)
7146 ("ghc-chell" ,ghc-chell)
7147 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7148 (home-page "https://john-millikin.com/software/haskell-options/")
7149 (synopsis "Powerful and easy-to-use command-line option parser")
7150 (description
7151 "The @code{options} package lets library and application developers
7152easily work with command-line options.")
7153 (license license:expat)))
7154
7155;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7156(define ghc-options-bootstrap
7157 (package
7158 (name "ghc-options-bootstrap")
7159 (version "1.2.1.1")
7160 (source
7161 (origin
7162 (method url-fetch)
7163 (uri (string-append
7164 "https://hackage.haskell.org/package/options/options-"
7165 version ".tar.gz"))
7166 (sha256
7167 (base32
7168 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7169 (build-system haskell-build-system)
7170 (arguments
7171 `(#:tests? #f))
7172 (inputs
7173 `(("ghc-monads-tf" ,ghc-monads-tf)))
7174 (home-page "https://john-millikin.com/software/haskell-options/")
7175 (synopsis "Powerful and easy-to-use command-line option parser")
7176 (description
7177 "The @code{options} package lets library and application developers
7178easily work with command-line options.")
7179 (license license:expat)))
7180
7181
7182(define-public ghc-optparse-applicative
7183 (package
7184 (name "ghc-optparse-applicative")
74bf6965 7185 (version "0.14.3.0")
dddbc90c
RV
7186 (source
7187 (origin
7188 (method url-fetch)
7189 (uri (string-append
7190 "https://hackage.haskell.org/package/optparse-applicative"
7191 "/optparse-applicative-" version ".tar.gz"))
7192 (sha256
7193 (base32
74bf6965 7194 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 7195 (build-system haskell-build-system)
74bf6965
TS
7196 (arguments
7197 `(#:cabal-revision
7198 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
7199 (inputs
7200 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7201 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7202 (native-inputs
7203 `(("ghc-quickcheck" ,ghc-quickcheck)))
7204 (home-page "https://github.com/pcapriotti/optparse-applicative")
7205 (synopsis "Utilities and combinators for parsing command line options")
7206 (description "This package provides utilities and combinators for parsing
7207command line options in Haskell.")
7208 (license license:bsd-3)))
7209
7210(define-public ghc-pandoc
7211 (package
7212 (name "ghc-pandoc")
7213 (version "2.2.1")
7214 (source
7215 (origin
7216 (method url-fetch)
7217 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7218 version ".tar.gz"))
7219 (sha256
7220 (base32
7221 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
7222 (build-system haskell-build-system)
7223 (arguments
7224 `(#:phases
7225 (modify-phases %standard-phases
7226 (add-before 'configure 'update-constraints
7227 (lambda _
7228 (substitute* "pandoc.cabal"
7229 (("tasty >= 0\\.11 && < 1\\.1")
7230 "tasty >= 0.11 && < 1.1.1"))))
7231 (add-before 'configure 'patch-tests
7232 (lambda _
7233 ;; These tests fail benignly and have been adjusted upstream:
7234 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
7235 (substitute* "test/Tests/Old.hs"
7236 (("lhsWriterTests \"html\"") "[]")))))))
7237 (inputs
7238 `(("ghc-aeson" ,ghc-aeson)
7239 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7240 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7241 ("ghc-blaze-html" ,ghc-blaze-html)
7242 ("ghc-blaze-markup" ,ghc-blaze-markup)
7243 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7244 ("ghc-data-default" ,ghc-data-default)
7245 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7246 ("ghc-diff" ,ghc-diff)
7247 ("ghc-doctemplates" ,ghc-doctemplates)
7248 ("ghc-executable-path" ,ghc-executable-path)
7249 ("ghc-glob" ,ghc-glob)
7250 ("ghc-haddock-library" ,ghc-haddock-library)
7251 ("ghc-hslua" ,ghc-hslua)
7252 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7253 ("ghc-http" ,ghc-http)
7254 ("ghc-http-client" ,ghc-http-client)
7255 ("ghc-http-client-tls" ,ghc-http-client-tls)
7256 ("ghc-http-types" ,ghc-http-types)
7257 ("ghc-juicypixels" ,ghc-juicypixels)
7258 ("ghc-network" ,ghc-network)
7259 ("ghc-network-uri" ,ghc-network-uri)
7260 ("ghc-old-locale" ,ghc-old-locale)
7261 ("ghc-pandoc-types" ,ghc-pandoc-types)
7262 ("ghc-random" ,ghc-random)
7263 ("ghc-scientific" ,ghc-scientific)
7264 ("ghc-sha" ,ghc-sha)
7265 ("ghc-skylighting" ,ghc-skylighting)
7266 ("ghc-split" ,ghc-split)
7267 ("ghc-syb" ,ghc-syb)
7268 ("ghc-tagsoup" ,ghc-tagsoup)
7269 ("ghc-temporary" ,ghc-temporary)
7270 ("ghc-texmath" ,ghc-texmath)
7271 ("ghc-unordered-containers" ,ghc-unordered-containers)
7272 ("ghc-vector" ,ghc-vector)
7273 ("ghc-xml" ,ghc-xml)
7274 ("ghc-yaml" ,ghc-yaml)
7275 ("ghc-zip-archive" ,ghc-zip-archive)
7276 ("ghc-zlib" ,ghc-zlib)))
7277 (native-inputs
7278 `(("ghc-tasty" ,ghc-tasty)
7279 ("ghc-tasty-golden" ,ghc-tasty-golden)
7280 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7281 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7282 ("ghc-quickcheck" ,ghc-quickcheck)
7283 ("ghc-hunit" ,ghc-hunit)))
7284 (home-page "https://pandoc.org")
7285 (synopsis "Conversion between markup formats")
7286 (description
7287 "Pandoc is a Haskell library for converting from one markup format to
7288another, and a command-line tool that uses this library. It can read and
7289write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7290LaTeX, DocBook, and many more.
7291
7292Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7293definition lists, tables, and other features. A compatibility mode is
7294provided for those who need a drop-in replacement for Markdown.pl.")
7295 (license license:gpl2+)))
7296
7297(define-public ghc-pandoc-citeproc
7298 (package
7299 (name "ghc-pandoc-citeproc")
7300 (version "0.14.3.1")
7301 (source
7302 (origin
7303 (method url-fetch)
7304 (uri (string-append "https://hackage.haskell.org/package/"
7305 "pandoc-citeproc/pandoc-citeproc-"
7306 version ".tar.gz"))
7307 (sha256
7308 (base32
7309 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7310 (build-system haskell-build-system)
7311 (arguments
7312 `(#:phases
7313 (modify-phases %standard-phases
7314 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7315 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7316 (add-before 'configure 'patch-tests
7317 (lambda _
7318 (substitute* "tests/test-pandoc-citeproc.hs"
7319 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7320 "let allTests = citeprocTests"))))
7321 ;; Tests need to be run after installation.
7322 (delete 'check)
7323 (add-after 'install 'post-install-check
7324 (assoc-ref %standard-phases 'check)))))
7325 (inputs
7326 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7327 ("ghc-pandoc" ,ghc-pandoc)
7328 ("ghc-tagsoup" ,ghc-tagsoup)
7329 ("ghc-aeson" ,ghc-aeson)
7330 ("ghc-vector" ,ghc-vector)
7331 ("ghc-xml-conduit" ,ghc-xml-conduit)
7332 ("ghc-unordered-containers" ,ghc-unordered-containers)
7333 ("ghc-data-default" ,ghc-data-default)
7334 ("ghc-setenv" ,ghc-setenv)
7335 ("ghc-split" ,ghc-split)
7336 ("ghc-yaml" ,ghc-yaml)
7337 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7338 ("ghc-rfc5051" ,ghc-rfc5051)
7339 ("ghc-syb" ,ghc-syb)
7340 ("ghc-old-locale" ,ghc-old-locale)
7341 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7342 ("ghc-attoparsec" ,ghc-attoparsec)
7343 ("ghc-temporary" ,ghc-temporary)))
7344 (home-page "https://github.com/jgm/pandoc-citeproc")
7345 (synopsis "Library for using pandoc with citeproc")
7346 (description
7347 "The @code{pandoc-citeproc} library exports functions for using the
7348citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7349rendering bibliographic reference citations into a variety of styles using a
7350macro language called @dfn{Citation Style Language} (CSL). This package also
7351contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7352and also has a mode for converting bibliographic databases a YAML format
7353suitable for inclusion in pandoc YAML metadata.")
7354 (license license:bsd-3)))
7355
7356(define-public ghc-pandoc-types
7357 (package
7358 (name "ghc-pandoc-types")
7359 (version "1.17.5.1")
7360 (source (origin
7361 (method url-fetch)
7362 (uri (string-append "https://hackage.haskell.org/package/"
7363 "pandoc-types/pandoc-types-"
7364 version ".tar.gz"))
7365 (sha256
7366 (base32
7367 "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
7368 (build-system haskell-build-system)
7369 (inputs
7370 `(("ghc-syb" ,ghc-syb)
7371 ("ghc-aeson" ,ghc-aeson)
7372 ("ghc-string-qq" ,ghc-string-qq)))
7373 (native-inputs
7374 `(("ghc-quickcheck" ,ghc-quickcheck)
7375 ("ghc-test-framework" ,ghc-test-framework)
7376 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7377 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7378 ("ghc-hunit" ,ghc-hunit)))
7379 (home-page "http://johnmacfarlane.net/pandoc")
7380 (synopsis "Types for representing a structured document")
7381 (description
7382 "This module defines the @code{Pandoc} data structure, which is used by
7383pandoc to represent structured documents. It also provides functions for
7384building up, manipulating and serialising @code{Pandoc} structures.")
7385 (license license:bsd-3)))
7386
7387(define-public ghc-parallel
7388 (package
7389 (name "ghc-parallel")
7390 (version "3.2.2.0")
7391 (outputs '("out" "doc"))
7392 (source
7393 (origin
7394 (method url-fetch)
7395 (uri (string-append
7396 "https://hackage.haskell.org/package/parallel/parallel-"
7397 version
7398 ".tar.gz"))
7399 (sha256
7400 (base32
7401 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7402 (build-system haskell-build-system)
7403 (home-page "https://hackage.haskell.org/package/parallel")
7404 (synopsis "Parallel programming library")
7405 (description
7406 "This package provides a library for parallel programming.")
7407 (license license:bsd-3)))
7408
7409(define-public ghc-parsec-numbers
7410 (package
7411 (name "ghc-parsec-numbers")
7412 (version "0.1.0")
7413 (source
7414 (origin
7415 (method url-fetch)
7416 (uri (string-append "https://hackage.haskell.org/package/"
7417 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7418 (sha256
7419 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7420 (build-system haskell-build-system)
7421 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7422 (synopsis "Utilities for parsing numbers from strings")
7423 (description
7424 "This package provides the number parsers without the need to use a large
7425(and unportable) token parser.")
7426 (license license:bsd-3)))
7427
7428(define-public ghc-parser-combinators
7429 (package
7430 (name "ghc-parser-combinators")
2f173160 7431 (version "1.1.0")
dddbc90c
RV
7432 (source
7433 (origin
7434 (method url-fetch)
7435 (uri (string-append "https://hackage.haskell.org/package/"
7436 "parser-combinators/parser-combinators-"
7437 version ".tar.gz"))
7438 (sha256
7439 (base32
2f173160 7440 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
7441 (build-system haskell-build-system)
7442 (home-page "https://github.com/mrkkrp/parser-combinators")
7443 (synopsis "Commonly useful parser combinators")
7444 (description
7445 "This is a lightweight package providing commonly useful parser
7446combinators.")
7447 (license license:bsd-3)))
7448
7449(define-public ghc-parsers
7450 (package
7451 (name "ghc-parsers")
7452 (version "0.12.9")
7453 (source
7454 (origin
7455 (method url-fetch)
7456 (uri (string-append
7457 "https://hackage.haskell.org/package/parsers/parsers-"
7458 version
7459 ".tar.gz"))
7460 (sha256
7461 (base32
7462 "1r05sc1mcglk8w596kq9a1brfn9c2vll8lq16j07ln0vsz4jzrc1"))))
7463 (build-system haskell-build-system)
7464 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7465 ; -package attoparsec-0.13.0.1"
7466 (inputs
7467 `(("ghc-base-orphans" ,ghc-base-orphans)
7468 ("ghc-attoparsec" ,ghc-attoparsec)
7469 ("ghc-scientific" ,ghc-scientific)
7470 ("ghc-charset" ,ghc-charset)
7471 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7472 (home-page "https://github.com/ekmett/parsers/")
7473 (synopsis "Parsing combinators")
7474 (description "This library provides convenient combinators for working
7475with and building parsing combinator libraries. Given a few simple instances,
7476you get access to a large number of canned definitions. Instances exist for
7477the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7478@code{Text.Read}.")
7479 (license license:bsd-3)))
7480
7481(define-public ghc-path
7482 (package
7483 (name "ghc-path")
7484 (version "0.6.1")
7485 (source
7486 (origin
7487 (method url-fetch)
7488 (uri (string-append
7489 "https://hackage.haskell.org/package/path/path-"
7490 version
7491 ".tar.gz"))
7492 (sha256
7493 (base32
7494 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7495 (build-system haskell-build-system)
7496 (arguments
7497 ;; TODO: There are some Windows-related tests and modules that need to be
7498 ;; danced around.
7499 `(#:tests? #f
7500 #:cabal-revision
7501 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7502 (inputs
7503 `(("ghc-aeson" ,ghc-aeson)
7504 ("ghc-exceptions" ,ghc-exceptions)
7505 ("ghc-hashable" ,ghc-hashable)))
7506 (native-inputs
7507 `(("ghc-hspec" ,ghc-hspec)
7508 ("ghc-quickcheck" ,ghc-quickcheck)
7509 ("ghc-genvalidity" ,ghc-genvalidity)
7510 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7511 ("ghc-hspec" ,ghc-hspec)
7512 ("ghc-validity" ,ghc-validity)))
7513 (home-page
7514 "http://hackage.haskell.org/package/path")
7515 (synopsis "Support for well-typed paths")
7516 (description "This package introduces a type for paths upholding useful
7517invariants.")
7518 (license license:bsd-3)))
7519
7520(define-public ghc-path-io
7521 (package
7522 (name "ghc-path-io")
7523 (version "1.3.3")
7524 (source
7525 (origin
7526 (method url-fetch)
7527 (uri (string-append
7528 "https://hackage.haskell.org/package/path-io/path-io-"
7529 version
7530 ".tar.gz"))
7531 (sha256
7532 (base32
7533 "1g9m3qliqjk1img894wsb89diym5zrq51qkkrwhz4sbm9a8hbv1a"))))
7534 (build-system haskell-build-system)
7535 (inputs
7536 `(("ghc-dlist" ,ghc-dlist)
7537 ("ghc-exceptions" ,ghc-exceptions)
7538 ("ghc-path" ,ghc-path)
7539 ("ghc-transformers-base" ,ghc-transformers-base)
7540 ("ghc-unix-compat" ,ghc-unix-compat)
7541 ("ghc-temporary" ,ghc-temporary)))
7542 (native-inputs
7543 `(("ghc-hspec" ,ghc-hspec)))
7544 (arguments
7545 `(#:cabal-revision
7546 ("3" "1h9hsibbflkxpjl2fqamqiv3x3gasf51apnmklrs9l9x8r32hzcc")))
7547 (home-page
7548 "https://github.com/mrkkrp/path-io")
7549 (synopsis "Functions for manipulating well-typed paths")
7550 (description "This package provides an interface to the @code{directory}
7551package for users of @code{path}. It also implements some missing stuff like
7552recursive scanning and copying of directories, working with temporary
7553files/directories, and more.")
7554 (license license:bsd-3)))
7555
7556(define-public ghc-paths
7557 (package
7558 (name "ghc-paths")
9a8adeb1 7559 (version "0.1.0.12")
dddbc90c
RV
7560 (outputs '("out" "doc"))
7561 (source
7562 (origin
7563 (method url-fetch)
7564 (uri (string-append
7565 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7566 version
7567 ".tar.gz"))
7568 (sha256
7569 (base32
9a8adeb1 7570 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
7571 (build-system haskell-build-system)
7572 (home-page "https://github.com/simonmar/ghc-paths")
7573 (synopsis
7574 "Knowledge of GHC's installation directories")
7575 (description
7576 "Knowledge of GHC's installation directories.")
7577 (license license:bsd-3)))
7578
7579(define-public ghc-patience
7580 (package
7581 (name "ghc-patience")
484476f3 7582 (version "0.3")
dddbc90c
RV
7583 (source
7584 (origin
7585 (method url-fetch)
7586 (uri (string-append
7587 "https://hackage.haskell.org/package/patience/patience-"
7588 version ".tar.gz"))
7589 (sha256
7590 (base32
484476f3 7591 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
7592 (build-system haskell-build-system)
7593 (home-page "https://hackage.haskell.org/package/patience")
7594 (synopsis "Patience diff and longest increasing subsequence")
7595 (description
7596 "This library implements the 'patience diff' algorithm, as well as the
7597patience algorithm for the longest increasing subsequence problem.
7598Patience diff computes the difference between two lists, for example the lines
7599of two versions of a source file. It provides a good balance between
7600performance, nice output for humans, and simplicity of implementation.")
7601 (license license:bsd-3)))
7602
7603(define-public ghc-pcre-light
7604 (package
7605 (name "ghc-pcre-light")
7606 (version "0.4.0.4")
7607 (source
7608 (origin
7609 (method url-fetch)
7610 (uri (string-append
7611 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7612 version
7613 ".tar.gz"))
7614 (sha256
7615 (base32
7616 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7617 (build-system haskell-build-system)
7618 (inputs
7619 `(("pcre" ,pcre)))
7620 (native-inputs
7621 `(("pkg-config" ,pkg-config)))
7622 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7623 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7624 (description "This package provides a small, efficient, and portable regex
7625library for Perl 5 compatible regular expressions. The PCRE library is a set
7626of functions that implement regular expression pattern matching using the same
7627syntax and semantics as Perl 5.")
7628 (license license:bsd-3)))
7629
7630(define-public ghc-persistent
7631 (package
7632 (name "ghc-persistent")
7633 (version "2.8.2")
7634 (source
7635 (origin
7636 (method url-fetch)
7637 (uri (string-append "https://hackage.haskell.org/package/"
7638 "persistent-" version "/"
7639 "persistent-" version ".tar.gz"))
7640 (sha256
7641 (base32
7642 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
7643 (build-system haskell-build-system)
7644 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7645 ("ghc-conduit" ,ghc-conduit)
7646 ("ghc-resourcet" ,ghc-resourcet)
7647 ("ghc-exceptions" ,ghc-exceptions)
7648 ("ghc-monad-control" ,ghc-monad-control)
7649 ("ghc-lifted-base" ,ghc-lifted-base)
7650 ("ghc-resource-pool" ,ghc-resource-pool)
7651 ("ghc-path-pieces" ,ghc-path-pieces)
7652 ("ghc-http-api-data" ,ghc-http-api-data)
7653 ("ghc-aeson" ,ghc-aeson)
7654 ("ghc-monad-logger" ,ghc-monad-logger)
7655 ("ghc-transformers-base" ,ghc-transformers-base)
7656 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7657 ("ghc-unordered-containers" ,ghc-unordered-containers)
7658 ("ghc-vector" ,ghc-vector)
7659 ("ghc-attoparsec" ,ghc-attoparsec)
7660 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7661 ("ghc-blaze-html" ,ghc-blaze-html)
7662 ("ghc-blaze-markup" ,ghc-blaze-markup)
7663 ("ghc-silently" ,ghc-silently)
7664 ("ghc-fast-logger" ,ghc-fast-logger)
7665 ("ghc-scientific" ,ghc-scientific)
7666 ("ghc-tagged" ,ghc-tagged)
7667 ("ghc-void" ,ghc-void)))
7668 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7669 (home-page "https://www.yesodweb.com/book/persistent")
7670 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7671 (description "This Haskell package allows Haskell programs to access data
7672storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7673way.")
7674 (license license:expat)))
7675
7676(define-public ghc-persistent-sqlite
7677 (package
7678 (name "ghc-persistent-sqlite")
7679 (version "2.8.2")
7680 (source
7681 (origin
7682 (method url-fetch)
7683 (uri (string-append "https://hackage.haskell.org/package/"
7684 "persistent-sqlite-" version "/"
7685 "persistent-sqlite-" version ".tar.gz"))
7686 (sha256
7687 (base32
7688 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7689 (build-system haskell-build-system)
7690 (inputs `(("ghc-persistent" ,ghc-persistent)
7691 ("ghc-unliftio-core" ,ghc-unliftio-core)
7692 ("ghc-aeson" ,ghc-aeson)
7693 ("ghc-conduit" ,ghc-conduit)
7694 ("ghc-monad-logger" ,ghc-monad-logger)
7695 ("ghc-microlens-th" ,ghc-microlens-th)
7696 ("ghc-resourcet" ,ghc-resourcet)
7697 ("ghc-old-locale" ,ghc-old-locale)
7698 ("ghc-resource-pool" ,ghc-resource-pool)
7699 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7700 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7701 ("ghc-persistent-template" ,ghc-persistent-template)
7702 ("ghc-temporary" ,ghc-temporary)))
7703 (home-page
7704 "https://www.yesodweb.com/book/persistent")
7705 (synopsis "Backend for the persistent library using sqlite3")
7706 (description "This Haskell package includes a thin sqlite3 wrapper based
7707on the direct-sqlite package, as well as the entire C library, so there are no
7708system dependencies.")
7709 (license license:expat)))
7710
7711(define-public ghc-persistent-template
7712 (package
7713 (name "ghc-persistent-template")
7714 (version "2.5.4")
7715 (source
7716 (origin
7717 (method url-fetch)
7718 (uri (string-append "https://hackage.haskell.org/package/"
7719 "persistent-template-" version "/"
7720 "persistent-template-" version ".tar.gz"))
7721 (sha256
7722 (base32
7723 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7724 (build-system haskell-build-system)
7725 (arguments
7726 `(#:cabal-revision
7727 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7728 (inputs `(("ghc-persistent" ,ghc-persistent)
7729 ("ghc-monad-control" ,ghc-monad-control)
7730 ("ghc-aeson" ,ghc-aeson)
7731 ("ghc-aeson-compat" ,ghc-aeson-compat)
7732 ("ghc-monad-logger" ,ghc-monad-logger)
7733 ("ghc-unordered-containers" ,ghc-unordered-containers)
7734 ("ghc-tagged" ,ghc-tagged)
7735 ("ghc-path-pieces" ,ghc-path-pieces)
7736 ("ghc-http-api-data" ,ghc-http-api-data)))
7737 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7738 ("ghc-quickcheck" ,ghc-quickcheck)))
7739 (home-page "https://www.yesodweb.com/book/persistent")
7740 (synopsis "Type-safe, non-relational, multi-backend persistence")
7741 (description "This Haskell package provides interfaces and helper
7742functions for the ghc-persistent package.")
7743 (license license:expat)))
7744
7745(define-public ghc-polyparse
7746 (package
7747 (name "ghc-polyparse")
9822b9ca 7748 (version "1.12.1")
dddbc90c
RV
7749 (source
7750 (origin
7751 (method url-fetch)
7752 (uri (string-append
7753 "https://hackage.haskell.org/package/polyparse/polyparse-"
7754 version
7755 ".tar.gz"))
7756 (sha256
7757 (base32
9822b9ca 7758 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
7759 (build-system haskell-build-system)
7760 (home-page
7761 "http://code.haskell.org/~malcolm/polyparse/")
7762 (synopsis
7763 "Alternative parser combinator libraries")
7764 (description
7765 "This package provides a variety of alternative parser combinator
7766libraries, including the original HuttonMeijer set. The Poly sets have
7767features like good error reporting, arbitrary token type, running state, lazy
7768parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7769standard Read class, for better deserialisation of Haskell values from
7770Strings.")
7771 (license license:lgpl2.1)))
7772
7773(define-public ghc-pqueue
7774 (package
7775 (name "ghc-pqueue")
142415b0 7776 (version "1.4.1.2")
dddbc90c
RV
7777 (source
7778 (origin
7779 (method url-fetch)
7780 (uri (string-append "https://hackage.haskell.org/package/"
7781 "pqueue/pqueue-" version ".tar.gz"))
7782 (sha256
7783 (base32
142415b0 7784 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
7785 (build-system haskell-build-system)
7786 (native-inputs
7787 `(("ghc-quickcheck" ,ghc-quickcheck)))
7788 (home-page "https://hackage.haskell.org/package/pqueue")
7789 (synopsis "Reliable, persistent, fast priority queues")
7790 (description
7791 "This package provides a fast, reliable priority queue implementation
7792based on a binomial heap.")
7793 (license license:bsd-3)))
7794
7795(define-public ghc-prelude-extras
7796 (package
7797 (name "ghc-prelude-extras")
7798 (version "0.4.0.3")
7799 (source
7800 (origin
7801 (method url-fetch)
7802 (uri (string-append
7803 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7804 version
7805 ".tar.gz"))
7806 (sha256
7807 (base32
7808 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7809 (build-system haskell-build-system)
7810 (home-page "https://github.com/ekmett/prelude-extras")
7811 (synopsis "Higher order versions of Prelude classes")
7812 (description "This library provides higher order versions of
7813@code{Prelude} classes to ease programming with polymorphic recursion and
7814reduce @code{UndecidableInstances}.")
7815 (license license:bsd-3)))
7816
7817(define-public ghc-prettyclass
7818 (package
7819 (name "ghc-prettyclass")
7820 (version "1.0.0.0")
7821 (source
7822 (origin
7823 (method url-fetch)
7824 (uri (string-append "https://hackage.haskell.org/package/"
7825 "prettyclass/prettyclass-" version ".tar.gz"))
7826 (sha256
7827 (base32
7828 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7829 (build-system haskell-build-system)
7830 (home-page "http://hackage.haskell.org/package/prettyclass")
7831 (synopsis "Pretty printing class similar to Show")
7832 (description "This package provides a pretty printing class similar
7833to @code{Show}, based on the HughesPJ pretty printing library. It
7834provides the pretty printing class and instances for the Prelude
7835types.")
7836 (license license:bsd-3)))
7837
7838(define-public ghc-pretty-hex
7839 (package
7840 (name "ghc-pretty-hex")
7841 (version "1.0")
7842 (source
7843 (origin
7844 (method url-fetch)
7845 (uri (string-append "https://hackage.haskell.org/package/"
7846 "pretty-hex-" version "/"
7847 "pretty-hex-" version ".tar.gz"))
7848 (sha256
7849 (base32
7850 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7851 (build-system haskell-build-system)
7852 (home-page "https://github.com/GaloisInc/hexdump")
7853 (synopsis "Haskell library for hex dumps of ByteStrings")
7854 (description "This Haskell library generates pretty hex dumps of
7855ByteStrings in the style of other common *nix hex dump tools.")
7856 (license license:bsd-3)))
7857
7858(define-public ghc-pretty-show
7859 (package
7860 (name "ghc-pretty-show")
7683a084 7861 (version "1.9.5")
dddbc90c
RV
7862 (source
7863 (origin
7864 (method url-fetch)
7865 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
7866 "pretty-show-" version ".tar.gz"))
7867 (sha256
7868 (base32
7683a084 7869 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
7870 (build-system haskell-build-system)
7871 (inputs
7872 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
7873 ("ghc-happy" ,ghc-happy)))
7874 (home-page "http://wiki.github.com/yav/pretty-show")
7875 (synopsis "Tools for working with derived `Show` instances")
7876 (description
7877 "This package provides a library and an executable for working with
7878derived @code{Show} instances. By using the library, derived @code{Show}
7879instances can be parsed into a generic data structure. The @code{ppsh} tool
7880uses the library to produce human-readable versions of @code{Show} instances,
7881which can be quite handy for debugging Haskell programs. We can also render
7882complex generic values into an interactive Html page, for easier
7883examination.")
7884 (license license:expat)))
7885
7886(define-public ghc-primitive
7887 (package
7888 (name "ghc-primitive")
7889 (version "0.6.4.0")
7890 (outputs '("out" "doc"))
7891 (source
7892 (origin
7893 (method url-fetch)
7894 (uri (string-append
7895 "https://hackage.haskell.org/package/primitive/primitive-"
7896 version
7897 ".tar.gz"))
7898 (sha256
7899 (base32
7900 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
7901 (build-system haskell-build-system)
6cf0daa4
TS
7902 (arguments
7903 `(#:cabal-revision
7904 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
7905 (home-page
7906 "https://github.com/haskell/primitive")
7907 (synopsis "Primitive memory-related operations")
7908 (description
7909 "This package provides various primitive memory-related operations.")
7910 (license license:bsd-3)))
7911
21f5b9a9
JS
7912(define-public ghc-process-extras
7913 (package
7914 (name "ghc-process-extras")
7915 (version "0.7.4")
7916 (source
7917 (origin
7918 (method url-fetch)
7919 (uri
7920 (string-append
7921 "https://hackage.haskell.org/package/process-extras/"
7922 "process-extras-" version ".tar.gz"))
7923 (sha256
7924 (base32
7925 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
7926 (build-system haskell-build-system)
7927 (inputs
7928 `(("ghc-data-default" ,ghc-data-default)
7929 ("ghc-generic-deriving" ,ghc-generic-deriving)
7930 ("ghc-hunit" ,ghc-hunit)
7931 ("ghc-listlike" ,ghc-listlike)))
7932 (home-page "https://github.com/seereason/process-extras")
7933 (synopsis "Extra tools for managing processes")
f74b6983 7934 (description "This package extends
21f5b9a9
JS
7935@url{http://hackage.haskell.org/package/process}. It allows you to read
7936process input and output as ByteStrings or Text, or write your own
7937ProcessOutput instance. It also provides lazy process input and output,
7938and a ProcessMaker class for more flexibility in the process creation
7939API.")
7940 (license license:expat)))
7941
dddbc90c
RV
7942(define-public ghc-profunctors
7943 (package
7944 (name "ghc-profunctors")
7945 (version "5.2.2")
7946 (source
7947 (origin
7948 (method url-fetch)
7949 (uri (string-append
7950 "https://hackage.haskell.org/package/profunctors/profunctors-"
7951 version
7952 ".tar.gz"))
7953 (sha256
7954 (base32
7955 "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9"))))
7956 (build-system haskell-build-system)
7957 (arguments
7958 `(#:cabal-revision
7959 ("2" "1ywlg9z8nlhd2avgb8c6gbkv8zyk7hvc25926bafyg0m0k8y1amq")))
7960 (inputs
7961 `(("ghc-base-orphans" ,ghc-base-orphans)
7962 ("ghc-bifunctors" ,ghc-bifunctors)
7963 ("ghc-comonad" ,ghc-comonad)
7964 ("ghc-contravariant" ,ghc-contravariant)
7965 ("ghc-distributive" ,ghc-distributive)
7966 ("ghc-semigroups" ,ghc-semigroups)
7967 ("ghc-tagged" ,ghc-tagged)))
7968 (home-page "https://github.com/ekmett/profunctors/")
7969 (synopsis "Profunctors for Haskell")
7970 (description "This library provides profunctors for Haskell.")
7971 (license license:bsd-3)))
7972
7973(define-public ghc-psqueues
7974 (package
7975 (name "ghc-psqueues")
5d133942 7976 (version "0.2.7.2")
dddbc90c
RV
7977 (source
7978 (origin
7979 (method url-fetch)
7980 (uri (string-append "https://hackage.haskell.org/package/"
7981 "psqueues-" version "/"
7982 "psqueues-" version ".tar.gz"))
7983 (sha256
7984 (base32
5d133942 7985 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
7986 (build-system haskell-build-system)
7987 (inputs
7988 `(("ghc-hashable" ,ghc-hashable)))
7989 (native-inputs
7990 `(("ghc-hunit" ,ghc-hunit)
7991 ("ghc-quickcheck" ,ghc-quickcheck)
7992 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
7993 ("ghc-tasty" ,ghc-tasty)
7994 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7995 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
7996 (home-page "https://github.com/jaspervdj/psqueues")
7997 (synopsis "Pure priority search queues")
7998 (description "The psqueues package provides
7999@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
8000three different flavors:
8001
8002@itemize
8003@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8004fast insertion, deletion and lookup. This implementation is based on Ralf
8005Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8006Implementation Technique for Priority Search Queues}.
8007
8008Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
8009PSQueue} library, although it is considerably faster and provides a slightly
8010different API.
8011
8012@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8013key type to @code{Int} and uses a
8014@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8015with an additional min-heap property.
8016
8017@item @code{HashPSQ k p v} is a fairly straightforward extension
8018of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8019@code{IntPSQ}. If there are any hash collisions, it uses an
8020@code{OrdPSQ} to resolve those. The performance of this implementation
8021is comparable to that of @code{IntPSQ}, but it is more widely
8022applicable since the keys are not restricted to @code{Int},
8023but rather to any @code{Hashable} datatype.
8024@end itemize
8025
8026Each of the three implementations provides the same API, so they can
8027be used interchangeably.
8028
8029Typical applications of Priority Search Queues include:
8030
8031@itemize
8032@item Caches, and more specifically LRU Caches;
8033@item Schedulers;
8034@item Pathfinding algorithms, such as Dijkstra's and A*.
8035@end itemize")
8036 (license license:bsd-3)))
8037
8038(define-public ghc-random
8039 (package
8040 (name "ghc-random")
8041 (version "1.1")
8042 (outputs '("out" "doc"))
8043 (source
8044 (origin
8045 (method url-fetch)
8046 (uri (string-append
8047 "https://hackage.haskell.org/package/random/random-"
8048 version
8049 ".tar.gz"))
8050 (sha256
8051 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8052 (build-system haskell-build-system)
8053 (home-page "https://hackage.haskell.org/package/random")
8054 (synopsis "Random number library")
8055 (description "This package provides a basic random number generation
8056library, including the ability to split random number generators.")
8057 (license license:bsd-3)))
8058
8059(define-public ghc-raw-strings-qq
8060 (package
8061 (name "ghc-raw-strings-qq")
8062 (version "1.1")
8063 (source
8064 (origin
8065 (method url-fetch)
8066 (uri (string-append "https://hackage.haskell.org/package/"
8067 "raw-strings-qq/raw-strings-qq-"
8068 version ".tar.gz"))
8069 (sha256
8070 (base32
8071 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8072 (build-system haskell-build-system)
8073 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8074 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8075 (synopsis "Raw string literals for Haskell")
8076 (description
8077 "This package provides a quasiquoter for raw string literals, i.e. string
8078literals that don't recognise the standard escape sequences. Basically, they
8079make your code more readable by freeing you from the responsibility to escape
8080backslashes. They are useful when working with regular expressions,
8081DOS/Windows paths and markup languages (such as XML).")
8082 (license license:bsd-3)))
8083
8084(define-public ghc-readable
8085 (package
8086 (name "ghc-readable")
8087 (version "0.3.1")
8088 (source
8089 (origin
8090 (method url-fetch)
8091 (uri (string-append "https://hackage.haskell.org/package/"
8092 "readable/readable-" version ".tar.gz"))
8093 (sha256
8094 (base32
8095 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8096 (build-system haskell-build-system)
8097 (home-page "https://github.com/mightybyte/readable")
8098 (synopsis "Type class for reading from Text and ByteString")
8099 (description "This package provides a @code{Readable} type class for
8100reading data types from @code{ByteString} and @code{Text}. It also
8101includes efficient implementations for common data types.")
8102 (license license:bsd-3)))
8103
8104(define-public ghc-rebase
8105 (package
8106 (name "ghc-rebase")
8107 (version "1.2.4")
8108 (source
8109 (origin
8110 (method url-fetch)
8111 (uri (string-append "https://hackage.haskell.org/package/"
8112 "rebase-" version "/"
8113 "rebase-" version ".tar.gz"))
8114 (sha256
8115 (base32
8116 "1gah2qwfpzwamnikbc5h4nv6dgvv9h16di9ka7946za3nibyasya"))))
8117 (build-system haskell-build-system)
8118 (inputs `(("ghc-hashable" ,ghc-hashable)
8119 ("ghc-vector" ,ghc-vector)
8120 ("ghc-unordered-containers" ,ghc-unordered-containers)
8121 ("ghc-scientific" ,ghc-scientific)
8122 ("ghc-uuid" ,ghc-uuid)
8123 ("ghc-dlist" ,ghc-dlist)
8124 ("ghc-void" ,ghc-void)
8125 ("ghc-bifunctors" ,ghc-bifunctors)
8126 ("ghc-profunctors" ,ghc-profunctors)
8127 ("ghc-contravariant" ,ghc-contravariant)
8128 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8129 ("ghc-semigroups" ,ghc-semigroups)
8130 ("ghc-either" ,ghc-either)
8131 ("ghc-fail" ,ghc-fail)
8132 ("ghc-base-prelude" ,ghc-base-prelude)))
8133 (home-page "https://github.com/nikita-volkov/rebase")
8134 (synopsis "Progressive alternative to the base package
8135for Haskell")
8136 (description "This Haskell package is intended for those who are
8137tired of keeping long lists of dependencies to the same essential libraries
8138in each package as well as the endless imports of the same APIs all over again.
8139
8140It also supports the modern tendencies in the language.
8141
8142To solve those problems this package does the following:
8143
8144@itemize
8145@item Reexport the original APIs under the @code{Rebase} namespace.
8146
8147@item Export all the possible non-conflicting symbols from the
8148@code{Rebase.Prelude} module.
8149
8150@item Give priority to the modern practices in the conflicting cases.
8151@end itemize
8152
8153The policy behind the package is only to reexport the non-ambiguous and
8154non-controversial APIs, which the community has obviously settled on.
8155The package is intended to rapidly evolve with the contribution from
8156the community, with the missing features being added with pull-requests.")
8157 (license license:expat)))
8158
8159(define-public ghc-reducers
8160 (package
8161 (name "ghc-reducers")
8162 (version "3.12.3")
8163 (source
8164 (origin
8165 (method url-fetch)
8166 (uri (string-append
8167 "https://hackage.haskell.org/package/reducers/reducers-"
8168 version
8169 ".tar.gz"))
8170 (sha256
8171 (base32
8172 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8173 (build-system haskell-build-system)
8174 (inputs
8175 `(("ghc-fingertree" ,ghc-fingertree)
8176 ("ghc-hashable" ,ghc-hashable)
8177 ("ghc-unordered-containers" ,ghc-unordered-containers)
8178 ("ghc-semigroupoids" ,ghc-semigroupoids)
8179 ("ghc-semigroups" ,ghc-semigroups)))
8180 (home-page "https://github.com/ekmett/reducers/")
8181 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8182 (description "This library provides various semigroups, specialized
8183containers and a general map/reduce framework for Haskell.")
8184 (license license:bsd-3)))
8185
8186(define-public ghc-refact
8187 (package
8188 (name "ghc-refact")
8189 (version "0.3.0.2")
8190 (source
8191 (origin
8192 (method url-fetch)
8193 (uri (string-append "https://hackage.haskell.org/package/"
8194 "refact/refact-"
8195 version ".tar.gz"))
8196 (sha256
8197 (base32
8198 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8199 (build-system haskell-build-system)
8200 (home-page "http://hackage.haskell.org/package/refact")
8201 (synopsis "Specify refactorings to perform with apply-refact")
8202 (description
8203 "This library provides a datatype which can be interpreted by
8204@code{apply-refact}. It exists as a separate library so that applications can
8205specify refactorings without depending on GHC.")
8206 (license license:bsd-3)))
8207
8208(define-public ghc-reflection
8209 (package
8210 (name "ghc-reflection")
d215f1cc 8211 (version "2.1.5")
dddbc90c
RV
8212 (source
8213 (origin
8214 (method url-fetch)
8215 (uri (string-append
8216 "https://hackage.haskell.org/package/reflection/reflection-"
8217 version
8218 ".tar.gz"))
8219 (sha256
8220 (base32
d215f1cc 8221 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
8222 (build-system haskell-build-system)
8223 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
8224 (native-inputs
8225 `(("ghc-hspec" ,ghc-hspec)
8226 ("ghc-quickcheck" ,ghc-quickcheck)
8227 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
8228 (home-page "https://github.com/ekmett/reflection")
8229 (synopsis "Reify arbitrary terms into types that can be reflected back
8230into terms")
8231 (description "This package addresses the 'configuration problem' which is
8232propagating configurations that are available at run-time, allowing multiple
8233configurations to coexist without resorting to mutable global variables or
8234@code{System.IO.Unsafe.unsafePerformIO}.")
8235 (license license:bsd-3)))
8236
8237(define-public ghc-regex
8238 (package
8239 (name "ghc-regex")
b9a5e634 8240 (version "1.0.2.0")
dddbc90c
RV
8241 (source
8242 (origin
8243 (method url-fetch)
8244 (uri (string-append "https://hackage.haskell.org/package/regex/"
8245 "regex-" version ".tar.gz"))
8246 (sha256
8247 (base32
b9a5e634 8248 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
8249 (build-system haskell-build-system)
8250 (arguments
8251 `(#:phases
8252 (modify-phases %standard-phases
8253 (add-after 'unpack 'relax-dependencies
8254 (lambda _
8255 (substitute* "regex.cabal"
8256 (("base-compat.*>=.*0.6.*")
8257 "base-compat >= 0.6\n")
8258 (("template-haskell.*>=.*2.7.*")
8259 "template-haskell >= 2.7\n"))
8260 #t)))))
8261 (inputs
8262 `(("ghc-base-compat" ,ghc-base-compat)
8263 ("ghc-hashable" ,ghc-hashable)
8264 ("ghc-regex-base" ,ghc-regex-base)
8265 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8266 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8267 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8268 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8269 ("ghc-unordered-containers" ,ghc-unordered-containers)
8270 ("ghc-utf8-string" ,ghc-utf8-string)))
8271 (home-page "http://regex.uk")
8272 (synopsis "Toolkit for regex-base")
8273 (description
8274 "This package provides a regular expression toolkit for @code{regex-base}
8275with compile-time checking of regular expression syntax, data types for
8276matches and captures, a text replacement toolkit, portable options, high-level
8277AWK-like tools for building text processing apps, regular expression macros
8278with parsers and test bench, comprehensive documentation, tutorials and
8279copious examples.")
8280 (license license:bsd-3)))
8281
8282(define-public ghc-regex-applicative
8283 (package
8284 (name "ghc-regex-applicative")
30f60e42 8285 (version "0.3.3.1")
dddbc90c
RV
8286 (source
8287 (origin
8288 (method url-fetch)
8289 (uri (string-append
8290 "https://hackage.haskell.org/package/regex-applicative/"
8291 "regex-applicative-" version ".tar.gz"))
8292 (sha256
8293 (base32
30f60e42 8294 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
8295 (build-system haskell-build-system)
8296 (inputs
8297 `(("ghc-smallcheck" ,ghc-smallcheck)
8298 ("ghc-tasty" ,ghc-tasty)
8299 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8300 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8301 (home-page "https://github.com/feuerbach/regex-applicative")
8302 (synopsis "Regex-based parsing with applicative interface")
8303 (description
8304 "@code{regex-applicative} is a Haskell library for parsing using
8305regular expressions. Parsers can be built using Applicative interface.")
8306 (license license:expat)))
8307
8308(define-public ghc-regex-base
8309 (package
8310 (name "ghc-regex-base")
8311 (version "0.93.2")
8312 (source
8313 (origin
8314 (method url-fetch)
8315 (uri (string-append
8316 "https://hackage.haskell.org/package/regex-base/regex-base-"
8317 version
8318 ".tar.gz"))
8319 (sha256
8320 (base32
8321 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8322 (build-system haskell-build-system)
8323 (home-page
8324 "https://sourceforge.net/projects/lazy-regex")
8325 (synopsis "Replaces/Enhances Text.Regex")
8326 (description "@code{Text.Regex.Base} provides the interface API for
8327regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8328 (license license:bsd-3)))
8329
8330(define-public ghc-regex-compat
8331 (package
8332 (name "ghc-regex-compat")
8333 (version "0.95.1")
8334 (source
8335 (origin
8336 (method url-fetch)
8337 (uri (string-append
8338 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8339 version
8340 ".tar.gz"))
8341 (sha256
8342 (base32
8343 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8344 (build-system haskell-build-system)
8345 (inputs
8346 `(("ghc-regex-base" ,ghc-regex-base)
8347 ("ghc-regex-posix" ,ghc-regex-posix)))
8348 (home-page "https://sourceforge.net/projects/lazy-regex")
8349 (synopsis "Replaces/Enhances Text.Regex")
8350 (description "This library provides one module layer over
8351@code{regex-posix} to replace @code{Text.Regex}.")
8352 (license license:bsd-3)))
8353
8354(define-public ghc-regex-compat-tdfa
8355 (package
8356 (name "ghc-regex-compat-tdfa")
8357 (version "0.95.1.4")
8358 (source
8359 (origin
8360 (method url-fetch)
8361 (uri (string-append
8362 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8363 version ".tar.gz"))
8364 (sha256
8365 (base32
8366 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8367 (build-system haskell-build-system)
8368 (inputs
8369 `(("ghc-regex-base" ,ghc-regex-base)
8370 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8371 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8372 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8373 (description
8374 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8375@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8376This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8377this problem.")
8378 (license license:bsd-3)))
8379
8380(define-public ghc-regex-pcre-builtin
8381 (package
8382 (name "ghc-regex-pcre-builtin")
ee946143 8383 (version "0.94.5.8.8.35")
dddbc90c
RV
8384 (source (origin
8385 (method url-fetch)
8386 (uri (string-append "https://hackage.haskell.org/package/"
8387 "regex-pcre-builtin/regex-pcre-builtin-"
8388 version ".tar.gz"))
8389 (sha256
8390 (base32
ee946143 8391 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
8392 (build-system haskell-build-system)
8393 (inputs
8394 `(("ghc-regex-base" ,ghc-regex-base)))
8395 (home-page "https://hackage.haskell.org/package/regex-pcre")
8396 (synopsis "Enhancement of the builtin Text.Regex library")
8397 (description
8398 "This package is an enhancement of the @code{Text.Regex} library,
8399providing the PCRE backend to accompany regex-base, with bundled code from
8400@url{https://www.pcre.org}.")
8401 (license license:bsd-3)))
8402
8403(define-public ghc-regex-posix
8404 (package
8405 (name "ghc-regex-posix")
8406 (version "0.95.2")
8407 (source
8408 (origin
8409 (method url-fetch)
8410 (uri (string-append
8411 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8412 version
8413 ".tar.gz"))
8414 (sha256
8415 (base32
8416 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8417 (build-system haskell-build-system)
8418 (inputs
8419 `(("ghc-regex-base" ,ghc-regex-base)))
8420 (home-page "https://sourceforge.net/projects/lazy-regex")
8421 (synopsis "POSIX regular expressions for Haskell")
8422 (description "This library provides the POSIX regex backend used by the
8423Haskell library @code{regex-base}.")
8424 (license license:bsd-3)))
8425
8426(define-public ghc-regex-tdfa
8427 (package
8428 (name "ghc-regex-tdfa")
ce684db0 8429 (version "1.2.3.2")
dddbc90c
RV
8430 (source
8431 (origin
8432 (method url-fetch)
8433 (uri (string-append
8434 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8435 version ".tar.gz"))
8436 (sha256
8437 (base32
ce684db0 8438 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
8439 (build-system haskell-build-system)
8440 (inputs
8441 `(("ghc-regex-base" ,ghc-regex-base)))
8442 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8443 (synopsis "POSIX extended regular expressions in Haskell.")
8444 (description
8445 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8446extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8447inspired by libtre.")
8448 (license license:bsd-3)))
8449
8450(define-public ghc-regex-tdfa-text
8451 (package
8452 (name "ghc-regex-tdfa-text")
8453 (version "1.0.0.3")
8454 (source
8455 (origin
8456 (method url-fetch)
8457 (uri (string-append
8458 "https://hackage.haskell.org/package/regex-tdfa-text/"
8459 "regex-tdfa-text-" version ".tar.gz"))
8460 (sha256
8461 (base32
8462 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8463 (build-system haskell-build-system)
8464 (inputs
8465 `(("ghc-regex-base" ,ghc-regex-base)
8466 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8467 (home-page
8468 "http://hackage.haskell.org/package/regex-tdfa-text")
8469 (synopsis "Text interface for regex-tdfa")
8470 (description
8471 "This provides an extra text interface for regex-tdfa.")
8472 (license license:bsd-3)))
8473
8474(define-public ghc-rerebase
8475 (package
8476 (name "ghc-rerebase")
8477 (version "1.2.2")
8478 (source
8479 (origin
8480 (method url-fetch)
8481 (uri (string-append
8482 "https://hackage.haskell.org/package/rerebase/rerebase-"
8483 version ".tar.gz"))
8484 (sha256
8485 (base32
8486 "11v6rmz7ql2rdx6mhb3lsal952lwihclfhh0m7fcnii5br0906ks"))))
8487 (build-system haskell-build-system)
8488 (inputs
8489 `(("ghc-rebase" ,ghc-rebase)))
8490 (home-page "https://github.com/nikita-volkov/rerebase")
8491 (synopsis "Reexports from ``base'' with many other standard libraries")
8492 (description "A rich drop-in replacement for @code{base}. For details and
8493documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8494the project's home page}.")
8495 (license license:expat)))
8496
8497(define-public ghc-resolv
8498 (package
8499 (name "ghc-resolv")
8500 (version "0.1.1.1")
8501 (source
8502 (origin
8503 (method url-fetch)
8504 (uri (string-append
8505 "https://hackage.haskell.org/package/resolv/resolv-"
8506 version ".tar.gz"))
8507 (sha256
8508 (base32
8509 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
8510 (build-system haskell-build-system)
8511 (arguments
8512 `(#:cabal-revision
8513 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
8514 #:tests? #f)) ; The required test frameworks are too old.
8515 (inputs
8516 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8517 (home-page "https://github.com/haskell/hackage-security")
8518 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8519 (description "This package implements an API for accessing the
8520@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8521resolver service via the standard @code{libresolv} system library (whose
8522API is often available directly via the standard @code{libc} C library) on
8523Unix systems.")
8524 (license license:gpl3)))
8525
8526(define-public ghc-resource-pool
8527 (package
8528 (name "ghc-resource-pool")
8529 (version "0.2.3.2")
8530 (source
8531 (origin
8532 (method url-fetch)
8533 (uri (string-append "https://hackage.haskell.org/package/"
8534 "resource-pool-" version "/"
8535 "resource-pool-" version ".tar.gz"))
8536 (sha256
8537 (base32
8538 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8539 (build-system haskell-build-system)
8540 (inputs `(("ghc-hashable" ,ghc-hashable)
8541 ("ghc-monad-control" ,ghc-monad-control)
8542 ("ghc-transformers-base" ,ghc-transformers-base)
8543 ("ghc-vector" ,ghc-vector)))
8544 (home-page "https://github.com/bos/pool")
8545 (synopsis "Striped resource pooling implementation in Haskell")
8546 (description "This Haskell package provides striped pooling abstraction
8547for managing flexibly-sized collections of resources such as database
8548connections.")
8549 (license license:bsd-3)))
8550
8551(define-public ghc-resourcet
8552 (package
8553 (name "ghc-resourcet")
9ac341ac 8554 (version "1.2.2")
dddbc90c
RV
8555 (source
8556 (origin
8557 (method url-fetch)
8558 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8559 "resourcet-" version ".tar.gz"))
8560 (sha256
8561 (base32
9ac341ac 8562 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
8563 (build-system haskell-build-system)
8564 (inputs
8565 `(("ghc-transformers-base" ,ghc-transformers-base)
8566 ("ghc-monad-control" ,ghc-monad-control)
8567 ("ghc-transformers-compat" ,ghc-transformers-compat)
8568 ("ghc-mmorph" ,ghc-mmorph)
8569 ("ghc-exceptions" ,ghc-exceptions)
8570 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8571 (native-inputs
8572 `(("ghc-lifted-base" ,ghc-lifted-base)
8573 ("ghc-hspec" ,ghc-hspec)))
8574 (home-page "https://github.com/snoyberg/conduit")
8575 (synopsis "Deterministic allocation and freeing of scarce resources")
8576 (description "ResourceT is a monad transformer which creates a region of
8577code where you can safely allocate resources.")
8578 (license license:bsd-3)))
8579
8580(define-public ghc-rfc5051
8581 (package
8582 (name "ghc-rfc5051")
ec42ab7c 8583 (version "0.1.0.4")
dddbc90c
RV
8584 (source
8585 (origin
8586 (method url-fetch)
8587 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8588 "rfc5051-" version ".tar.gz"))
8589 (sha256
8590 (base32
ec42ab7c 8591 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
8592 (build-system haskell-build-system)
8593 (home-page "https://hackage.haskell.org/package/rfc5051")
8594 (synopsis "Simple unicode collation as per RFC5051")
8595 (description
8596 "This library implements @code{unicode-casemap}, the simple, non
8597locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8598unicode collation can be done using @code{text-icu}, but that is a big
8599dependency that depends on a large C library, and @code{rfc5051} might be
8600better for some purposes.")
8601 (license license:bsd-3)))
8602
8603(define-public ghc-rio
8604 (package
8605 (name "ghc-rio")
8bda2fa7 8606 (version "0.1.12.0")
dddbc90c
RV
8607 (source
8608 (origin
8609 (method url-fetch)
8610 (uri (string-append
8611 "https://hackage.haskell.org/package/rio/rio-"
8612 version ".tar.gz"))
8613 (sha256
8614 (base32
8bda2fa7 8615 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
8616 (build-system haskell-build-system)
8617 (inputs
8618 `(("ghc-exceptions" ,ghc-exceptions)
8619 ("ghc-hashable" ,ghc-hashable)
8620 ("ghc-microlens" ,ghc-microlens)
8621 ("ghc-primitive" ,ghc-primitive)
8622 ("ghc-typed-process" ,ghc-typed-process)
8623 ("ghc-unliftio" ,ghc-unliftio)
8624 ("ghc-unordered-containers" ,ghc-unordered-containers)
8625 ("ghc-vector" ,ghc-vector)))
8626 (native-inputs
8627 `(("ghc-hspec" ,ghc-hspec)
8628 ("hspec-discover" ,hspec-discover)))
8629 (home-page "https://github.com/commercialhaskell/rio#readme")
8630 (synopsis "A standard library for Haskell")
8631 (description "This package works as a prelude replacement for Haskell,
8632providing more functionality and types out of the box than the standard
8633prelude (such as common data types like @code{ByteString} and
8634@code{Text}), as well as removing common ``gotchas'', like partial
8635functions and lazy I/O. The guiding principle here is:
8636@itemize
8637@item If something is safe to use in general and has no expected naming
8638conflicts, expose it.
8639@item If something should not always be used, or has naming conflicts,
8640expose it from another module in the hierarchy.
8641@end itemize")
8642 (license license:expat)))
8643
8644(define-public ghc-safe
8645 (package
8646 (name "ghc-safe")
8647 (version "0.3.17")
8648 (source
8649 (origin
8650 (method url-fetch)
8651 (uri (string-append
8652 "https://hackage.haskell.org/package/safe/safe-"
8653 version
8654 ".tar.gz"))
8655 (sha256
8656 (base32
8657 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8658 (build-system haskell-build-system)
8659 (native-inputs
8660 `(("ghc-quickcheck" ,ghc-quickcheck)))
8661 (home-page "https://github.com/ndmitchell/safe#readme")
8662 (synopsis "Library of safe (exception free) functions")
8663 (description "This library provides wrappers around @code{Prelude} and
8664@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8665exceptions.")
8666 (license license:bsd-3)))
8667
8668(define-public ghc-safe-exceptions
8669 (package
8670 (name "ghc-safe-exceptions")
8671 (version "0.1.7.0")
8672 (source
8673 (origin
8674 (method url-fetch)
8675 (uri (string-append "https://hackage.haskell.org/package/"
8676 "safe-exceptions/safe-exceptions-"
8677 version ".tar.gz"))
8678 (sha256
8679 (base32
8680 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8681 (build-system haskell-build-system)
8682 (arguments
8683 '(#:cabal-revision
8684 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8685 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8686 (native-inputs
8687 `(("ghc-hspec" ,ghc-hspec)
8688 ("ghc-void" ,ghc-void)
8689 ("hspec-discover" ,hspec-discover)))
8690 (home-page "https://github.com/fpco/safe-exceptions")
8691 (synopsis "Safe, consistent, and easy exception handling")
8692 (description "Runtime exceptions - as exposed in @code{base} by the
8693@code{Control.Exception} module - have long been an intimidating part of the
8694Haskell ecosystem. This package is intended to overcome this. It provides a
8695safe and simple API on top of the existing exception handling machinery. The
8696API is equivalent to the underlying implementation in terms of power but
8697encourages best practices to minimize the chances of getting the exception
8698handling wrong.")
8699 (license license:expat)))
8700
8701(define-public ghc-safeio
8702 (package
8703 (name "ghc-safeio")
8704 (version "0.0.5.0")
8705 (source
8706 (origin
8707 (method url-fetch)
8708 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8709 "safeio-" version ".tar.gz"))
8710 (sha256
8711 (base32
8712 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8713 (build-system haskell-build-system)
8714 (inputs
8715 `(("ghc-conduit" ,ghc-conduit)
8716 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8717 ("ghc-exceptions" ,ghc-exceptions)
8718 ("ghc-resourcet" ,ghc-resourcet)))
8719 (native-inputs
8720 `(("ghc-hunit" ,ghc-hunit)
8721 ("ghc-test-framework" ,ghc-test-framework)
8722 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8723 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8724 (home-page "https://github.com/luispedro/safeio")
8725 (synopsis "Write output to disk atomically")
8726 (description
8727 "This package implements utilities to perform atomic output so as to
8728avoid the problem of partial intermediate files.")
8729 (license license:expat)))
8730
8731(define-public ghc-safesemaphore
8732 (package
8733 (name "ghc-safesemaphore")
8734 (version "0.10.1")
8735 (source
8736 (origin
8737 (method url-fetch)
8738 (uri (string-append "https://hackage.haskell.org/package/"
8739 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8740 (sha256
8741 (base32
8742 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8743 (build-system haskell-build-system)
8744 (native-inputs
8745 `(("ghc-hunit" ,ghc-hunit)))
8746 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8747 (synopsis "Exception safe semaphores")
8748 (description "This library provides exception safe semaphores that can be
8749used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8750are not exception safe and can be broken by @code{killThread}.")
8751 (license license:bsd-3)))
8752
8753(define-public ghc-sandi
8754 (package
8755 (name "ghc-sandi")
8756 (version "0.4.2")
8757 (source
8758 (origin
8759 (method url-fetch)
8760 (uri (string-append
8761 "https://hackage.haskell.org/package/sandi/sandi-"
8762 version ".tar.gz"))
8763 (sha256
8764 (base32
8765 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8766 (build-system haskell-build-system)
8767 (inputs
8768 `(("ghc-stringsearch" ,ghc-stringsearch)
8769 ("ghc-conduit" ,ghc-conduit)
8770 ("ghc-exceptions" ,ghc-exceptions)
8771 ("ghc-hunit" ,ghc-hunit)
8772 ("ghc-tasty" ,ghc-tasty)
8773 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8774 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8775 ("ghc-tasty-th" ,ghc-tasty-th)))
8776 (home-page "https://hackage.haskell.org/package/sandi")
8777 (synopsis "Data encoding library")
8778 (description "Reasonably fast data encoding library.")
8779 (license license:bsd-3)))
8780
8781(define-public ghc-scientific
8782 (package
8783 (name "ghc-scientific")
8784 (version "0.3.6.2")
8785 (source
8786 (origin
8787 (method url-fetch)
8788 (uri (string-append
8789 "https://hackage.haskell.org/package/scientific/scientific-"
8790 version
8791 ".tar.gz"))
8792 (sha256
8793 (base32
8794 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8795 (build-system haskell-build-system)
8796 (inputs
8797 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8798 ("ghc-hashable" ,ghc-hashable)
8799 ("ghc-primitive" ,ghc-primitive)))
8800 (native-inputs
8801 `(("ghc-tasty" ,ghc-tasty)
8802 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8803 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8804 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8805 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8806 ("ghc-smallcheck" ,ghc-smallcheck)
8807 ("ghc-quickcheck" ,ghc-quickcheck)))
8808 (home-page "https://github.com/basvandijk/scientific")
8809 (synopsis "Numbers represented using scientific notation")
8810 (description "This package provides @code{Data.Scientific}, which provides
8811the number type @code{Scientific}. Scientific numbers are arbitrary precision
8812and space efficient. They are represented using
8813@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
8814notation}.")
8815 (license license:bsd-3)))
8816
8817(define-public ghc-scientific-bootstrap
8818 (package
8819 (inherit ghc-scientific)
8820 (name "ghc-scientific-bootstrap")
8821 (arguments `(#:tests? #f))
8822 (inputs
8823 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
8824 ("ghc-hashable" ,ghc-hashable)
8825 ("ghc-primitive" ,ghc-primitive)))
8826 (native-inputs '())
799d8d3c 8827 (properties '((hidden? #t)))))
dddbc90c
RV
8828
8829(define-public ghc-sdl
8830 (package
8831 (name "ghc-sdl")
8832 (version "0.6.7.0")
8833 (source
8834 (origin
8835 (method url-fetch)
8836 (uri (string-append
8837 "https://hackage.haskell.org/package/SDL/SDL-"
8838 version
8839 ".tar.gz"))
8840 (sha256
8841 (base32
8842 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
8843 (build-system haskell-build-system)
8844 (inputs
8845 `(("sdl" ,sdl)))
8846 (home-page "https://hackage.haskell.org/package/SDL")
8847 (synopsis "LibSDL for Haskell")
8848 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
8849multimedia library designed to provide low level access to audio, keyboard,
8850mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
8851by MPEG playback software, emulators, and many popular games, including the
8852award winning Linux port of \"Civilization: Call To Power.\"")
8853 (license license:bsd-3)))
8854
1874cdc1
RV
8855(define-public ghc-sdl2
8856 (package
8857 (name "ghc-sdl2")
8858 (version "2.4.1.0")
8859 (source
8860 (origin
8861 (method url-fetch)
8862 (uri (string-append "https://hackage.haskell.org/package/"
8863 "sdl2/sdl2-" version ".tar.gz"))
8864 (sha256
8865 (base32
8866 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
8867 (build-system haskell-build-system)
8868 (arguments '(#:tests? #f)) ; tests require graphical environment
8869 (inputs
8870 `(("ghc-exceptions" ,ghc-exceptions)
8871 ("ghc-linear" ,ghc-linear)
8872 ("ghc-statevar" ,ghc-statevar)
8873 ("ghc-vector" ,ghc-vector)
8874 ("sdl2" ,sdl2)))
8875 (native-inputs
8876 `(("ghc-weigh" ,ghc-weigh)
8877 ("pkg-config" ,pkg-config)))
8878 (home-page "http://hackage.haskell.org/package/sdl2")
8879 (synopsis "High- and low-level bindings to the SDL library")
8880 (description
8881 "This package contains bindings to the SDL 2 library, in both high- and
8882low-level forms. The @code{SDL} namespace contains high-level bindings, where
8883enumerations are split into sum types, and we perform automatic
8884error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
8885translation of the C API into Haskell FFI calls. As such, this does not
8886contain sum types nor error checking. Thus this namespace is suitable for
8887building your own abstraction over SDL, but is not recommended for day-to-day
8888programming.")
8889 (license license:bsd-3)))
8890
8891(define-public ghc-sdl2-image
8892 (package
8893 (name "ghc-sdl2-image")
8894 (version "2.0.0")
8895 (source
8896 (origin
8897 (method url-fetch)
8898 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
8899 "sdl2-image-" version ".tar.gz"))
8900 (sha256
8901 (base32
8902 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
8903 (build-system haskell-build-system)
8904 (inputs
8905 `(("ghc-sdl2" ,ghc-sdl2)
8906 ("sdl2-image" ,sdl2-image)))
8907 (native-inputs
8908 `(("pkg-config" ,pkg-config)))
8909 (home-page "http://hackage.haskell.org/package/sdl2-image")
8910 (synopsis "Bindings to SDL2_image")
8911 (description "This package provides Haskell bindings to
8912@code{SDL2_image}.")
8913 (license license:expat)))
8914
8915(define-public ghc-sdl2-mixer
8916 (package
8917 (name "ghc-sdl2-mixer")
8918 (version "1.1.0")
8919 (source
8920 (origin
8921 (method url-fetch)
8922 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
8923 "sdl2-mixer-" version ".tar.gz"))
8924 (sha256
8925 (base32
8926 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
8927 (build-system haskell-build-system)
8928 (inputs
8929 `(("ghc-data-default-class" ,ghc-data-default-class)
8930 ("ghc-lifted-base" ,ghc-lifted-base)
8931 ("ghc-monad-control" ,ghc-monad-control)
8932 ("ghc-sdl2" ,ghc-sdl2)
8933 ("ghc-vector" ,ghc-vector)
8934 ("sdl2-mixer" ,sdl2-mixer)))
8935 (native-inputs
8936 `(("pkg-config" ,pkg-config)))
8937 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
8938 (synopsis "Bindings to SDL2 mixer")
8939 (description "This package provides Haskell bindings to
8940@code{SDL2_mixer}.")
8941 (license license:bsd-3)))
8942
dddbc90c
RV
8943(define-public ghc-sdl-image
8944 (package
8945 (name "ghc-sdl-image")
8946 (version "0.6.2.0")
8947 (source
8948 (origin
8949 (method url-fetch)
8950 (uri (string-append
8951 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
8952 version
8953 ".tar.gz"))
8954 (sha256
8955 (base32
8956 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
8957 (build-system haskell-build-system)
8958 (arguments
8959 `(#:configure-flags
8960 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
8961 (sdl-image-include (string-append sdl-image "/include/SDL")))
8962 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
8963 (inputs
8964 `(("ghc-sdl" ,ghc-sdl)
8965 ("sdl-image" ,sdl-image)))
8966 (home-page "https://hackage.haskell.org/package/SDL-image")
8967 (synopsis "Haskell bindings to libSDL_image")
8968 (description "SDL_image is an image file loading library. It loads images
8969as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
8970PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
8971 (license license:bsd-3)))
8972
8973(define-public ghc-sdl-mixer
8974 (package
8975 (name "ghc-sdl-mixer")
8976 (version "0.6.3.0")
8977 (source
8978 (origin
8979 (method url-fetch)
8980 (uri (string-append
8981 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
8982 version
8983 ".tar.gz"))
8984 (sha256
8985 (base32
8986 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
8987 (build-system haskell-build-system)
8988 (arguments
8989 `(#:configure-flags
8990 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
8991 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
8992 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
8993 (inputs
8994 `(("ghc-sdl" ,ghc-sdl)
8995 ("sdl-mixer" ,sdl-mixer)))
8996 (home-page "https://hackage.haskell.org/package/SDL-mixer")
8997 (synopsis "Haskell bindings to libSDL_mixer")
8998 (description "SDL_mixer is a sample multi-channel audio mixer library. It
8999supports any number of simultaneously playing channels of 16 bit stereo audio,
9000plus a single channel of music, mixed by the popular MikMod MOD, Timidity
9001MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
9002 (license license:bsd-3)))
9003
9004(define-public ghc-securemem
9005 (package
9006 (name "ghc-securemem")
9007 (version "0.1.10")
9008 (source
9009 (origin
9010 (method url-fetch)
9011 (uri (string-append "https://hackage.haskell.org/package/"
9012 "securemem-" version "/"
9013 "securemem-" version ".tar.gz"))
9014 (sha256
9015 (base32
9016 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
9017 (build-system haskell-build-system)
9018 (inputs `(("ghc-byteable" ,ghc-byteable)
9019 ("ghc-memory" ,ghc-memory)))
9020 (home-page "https://github.com/vincenthz/hs-securemem")
9021 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9022Haskell")
9023 (description "SecureMem is similar to ByteString, except that it provides
9024a memory chunk that will be auto-scrubbed after it run out of scope.")
9025 (license license:bsd-3)))
9026
9027(define-public ghc-semigroupoids
9028 (package
9029 (name "ghc-semigroupoids")
9030 (version "5.2.2")
9031 (source
9032 (origin
9033 (method url-fetch)
9034 (uri (string-append
9035 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9036 version
9037 ".tar.gz"))
9038 (sha256
9039 (base32
9040 "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
9041 (build-system haskell-build-system)
9042 (arguments
9043 `(#:cabal-revision
9044 ("4" "0pqfrxzypjq6z8lgdkzq4vhcyqkpk5326hny0r6snpc3gm78r4ij")))
9045 (inputs
9046 `(("ghc-base-orphans" ,ghc-base-orphans)
9047 ("ghc-transformers-compat" ,ghc-transformers-compat)
9048 ("ghc-bifunctors" ,ghc-bifunctors)
9049 ("ghc-comonad" ,ghc-comonad)
9050 ("ghc-contravariant" ,ghc-contravariant)
9051 ("ghc-distributive" ,ghc-distributive)
9052 ("ghc-hashable" ,ghc-hashable)
9053 ("ghc-semigroups" ,ghc-semigroups)
9054 ("ghc-tagged" ,ghc-tagged)
9055 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9056 (native-inputs
9057 `(("cabal-doctest" ,cabal-doctest)
9058 ("ghc-doctest" ,ghc-doctest)))
9059 (home-page "https://github.com/ekmett/semigroupoids")
9060 (synopsis "Semigroupoids operations for Haskell")
9061 (description "This library provides a wide array of (semi)groupoids and
9062operations for working with them. A @code{Semigroupoid} is a @code{Category}
9063without the requirement of identity arrows for every object in the category.
9064A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9065Finally, to work with these weaker structures it is beneficial to have
9066containers that can provide stronger guarantees about their contents, so
9067versions of @code{Traversable} and @code{Foldable} that can be folded with
9068just a @code{Semigroup} are added.")
9069 (license license:bsd-3)))
9070
9071(define-public ghc-semigroups
9072 (package
9073 (name "ghc-semigroups")
9074 (version "0.18.5")
9075 (source
9076 (origin
9077 (method url-fetch)
9078 (uri (string-append
9079 "https://hackage.haskell.org/package/semigroups/semigroups-"
9080 version
9081 ".tar.gz"))
9082 (sha256
9083 (base32
9084 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9085 (build-system haskell-build-system)
9086 (inputs
9087 `(("ghc-nats" ,ghc-nats)
9088 ("ghc-tagged" ,ghc-tagged)
9089 ("ghc-unordered-containers" ,ghc-unordered-containers)
9090 ("ghc-hashable" ,ghc-hashable)))
9091 (home-page "https://github.com/ekmett/semigroups/")
9092 (synopsis "Semigroup operations for Haskell")
9093 (description "This package provides semigroups for Haskell. In
9094mathematics, a semigroup is an algebraic structure consisting of a set
9095together with an associative binary operation. A semigroup generalizes a
9096monoid in that there might not exist an identity element. It
9097also (originally) generalized a group (a monoid with all inverses) to a type
9098where every element did not have to have an inverse, thus the name
9099semigroup.")
9100 (license license:bsd-3)))
9101
9102(define-public ghc-semigroups-bootstrap
9103 (package
9104 (inherit ghc-semigroups)
9105 (name "ghc-semigroups-bootstrap")
9106 (inputs
9107 `(("ghc-nats" ,ghc-nats-bootstrap)
9108 ("ghc-tagged" ,ghc-tagged)
9109 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9110 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9111 (properties '((hidden? #t)))))
dddbc90c
RV
9112
9113(define-public ghc-setenv
9114 (package
9115 (name "ghc-setenv")
9116 (version "0.1.1.3")
9117 (source
9118 (origin
9119 (method url-fetch)
9120 (uri (string-append
9121 "https://hackage.haskell.org/package/setenv/setenv-"
9122 version
9123 ".tar.gz"))
9124 (sha256
9125 (base32
9126 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9127 (build-system haskell-build-system)
9128 (home-page "https://hackage.haskell.org/package/setenv")
9129 (synopsis "Library for setting environment variables")
9130 (description "This package provides a Haskell library for setting
9131environment variables.")
9132 (license license:expat)))
9133
9134(define-public ghc-setlocale
9135 (package
9136 (name "ghc-setlocale")
9d7cfc9b 9137 (version "1.0.0.9")
dddbc90c
RV
9138 (source (origin
9139 (method url-fetch)
9140 (uri (string-append
9141 "https://hackage.haskell.org/package/setlocale-"
9142 version "/setlocale-" version ".tar.gz"))
9143 (sha256
9144 (base32
9d7cfc9b 9145 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
9146 (build-system haskell-build-system)
9147 (home-page "https://hackage.haskell.org/package/setlocale")
9148 (synopsis "Haskell bindings to setlocale")
9149 (description "This package provides Haskell bindings to the
9150@code{setlocale} C function.")
9151 (license license:bsd-3)))
9152
9153(define-public ghc-shakespeare
9154 (package
9155 (name "ghc-shakespeare")
9156 (version "2.0.15")
9157 (source
9158 (origin
9159 (method url-fetch)
9160 (uri (string-append "https://hackage.haskell.org/package/"
9161 "shakespeare-" version "/"
9162 "shakespeare-" version ".tar.gz"))
9163 (sha256
9164 (base32
9165 "1vk4b19zvwy4mpwaq9z3l3kfmz75gfyf7alhh0y112gspgpccm23"))))
9166 (build-system haskell-build-system)
9167 (inputs `(("ghc-aeson" ,ghc-aeson)
9168 ("ghc-blaze-markup" ,ghc-blaze-markup)
9169 ("ghc-blaze-html" ,ghc-blaze-html)
9170 ("ghc-exceptions" ,ghc-exceptions)
9171 ("ghc-vector" ,ghc-vector)
9172 ("ghc-unordered-containers" ,ghc-unordered-containers)
9173 ("ghc-scientific" ,ghc-scientific)))
9174 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9175 ("ghc-hunit" ,ghc-hunit)
9176 ("hspec-discover" ,hspec-discover)))
9177 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9178 (synopsis "Family of type-safe template languages for Haskell")
9179 (description "This Haskell package provides a family of type-safe
9180templates with simple variable interpolation. Shakespeare templates can
9181be used inline with a quasi-quoter or in an external file and it
9182interpolates variables according to the type being inserted.")
9183 (license license:expat)))
9184
9185(define-public ghc-shelly
9186 (package
9187 (name "ghc-shelly")
9188 (version "1.8.1")
9189 (source
9190 (origin
9191 (method url-fetch)
9192 (uri (string-append
9193 "https://hackage.haskell.org/package/shelly/shelly-"
9194 version ".tar.gz"))
9195 (sha256
9196 (base32
9197 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9198 (build-system haskell-build-system)
9199 (inputs
9200 `(("ghc-unix-compat" ,ghc-unix-compat)
9201 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9202 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9203 ("ghc-monad-control" ,ghc-monad-control)
9204 ("ghc-lifted-base" ,ghc-lifted-base)
9205 ("ghc-lifted-async" ,ghc-lifted-async)
9206 ("ghc-exceptions" ,ghc-exceptions)
9207 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9208 ("ghc-async" ,ghc-async)
9209 ("ghc-transformers-base" ,ghc-transformers-base)
9210 ("ghc-hunit" ,ghc-hunit)
9211 ("ghc-hspec" ,ghc-hspec)
9212 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9213 (home-page "https://github.com/yesodweb/Shelly.hs")
9214 (synopsis "Shell-like (systems) programming in Haskell")
9215 (description
9216 "Shelly provides convenient systems programming in Haskell, similar in
9217spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9218 (license license:bsd-3)))
9219
9220(define-public ghc-silently
9221 (package
9222 (name "ghc-silently")
544bb369 9223 (version "1.2.5.1")
dddbc90c
RV
9224 (source
9225 (origin
9226 (method url-fetch)
9227 (uri (string-append
9228 "https://hackage.haskell.org/package/silently/silently-"
9229 version
9230 ".tar.gz"))
9231 (sha256
9232 (base32
544bb369 9233 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
9234 (build-system haskell-build-system)
9235 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9236 ;; (inputs
9237 ;; `(("ghc-temporary" ,ghc-temporary)))
9238 (home-page "https://github.com/hspec/silently")
9239 (synopsis "Prevent writing to stdout")
9240 (description "This package provides functions to prevent or capture
9241writing to stdout and other handles.")
9242 (license license:bsd-3)))
9243
9244(define-public ghc-simple-reflect
9245 (package
9246 (name "ghc-simple-reflect")
9247 (version "0.3.3")
9248 (source
9249 (origin
9250 (method url-fetch)
9251 (uri (string-append
9252 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9253 version
9254 ".tar.gz"))
9255 (sha256
9256 (base32
9257 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9258 (build-system haskell-build-system)
9259 (home-page
9260 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9261 (synopsis
9262 "Simple reflection of expressions containing variables")
9263 (description
9264 "This package allows simple reflection of expressions containing
9265variables. Reflection here means that a Haskell expression is turned into a
9266string. The primary aim of this package is teaching and understanding; there
9267are no options for manipulating the reflected expressions beyond showing
9268them.")
9269 (license license:bsd-3)))
9270
9271(define-public ghc-simple-sendfile
9272 (package
9273 (name "ghc-simple-sendfile")
9274 (version "0.2.27")
9275 (source
9276 (origin
9277 (method url-fetch)
9278 (uri (string-append "https://hackage.haskell.org/package/"
9279 "simple-sendfile-" version "/"
9280 "simple-sendfile-" version ".tar.gz"))
9281 (sha256
9282 (base32
9283 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
9284 (build-system haskell-build-system)
9285 (inputs
9286 `(("ghc-conduit" ,ghc-conduit)
9287 ("ghc-conduit-extra" ,ghc-conduit-extra)
9288 ("ghc-network" ,ghc-network)
9289 ("ghc-resourcet" ,ghc-resourcet)))
9290 (native-inputs
9291 `(("ghc-hspec" ,ghc-hspec)
9292 ("hspec-discover" ,hspec-discover)))
9293 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9294 (synopsis "Cross platform library for the sendfile system call")
9295 (description "This library tries to call minimum system calls which
9296are the bottleneck of web servers.")
9297 (license license:bsd-3)))
9298
9299(define-public ghc-skylighting-core
9300 (package
9301 (name "ghc-skylighting-core")
9302 (version "0.7.2")
9303 (source (origin
9304 (method url-fetch)
9305 (uri (string-append "https://hackage.haskell.org/package/"
9306 "skylighting-core/skylighting-core-"
9307 version ".tar.gz"))
9308 (sha256
9309 (base32
9310 "066fwmwsd7xcvwlinfk2izlzq0xp8697i6lnbgsbl71jdybyackq"))))
9311 (build-system haskell-build-system)
9312 (inputs
9313 `(("ghc-aeson" ,ghc-aeson)
9314 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9315 ("ghc-attoparsec" ,ghc-attoparsec)
9316 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9317 ("ghc-blaze-html" ,ghc-blaze-html)
9318 ("ghc-case-insensitive" ,ghc-case-insensitive)
9319 ("ghc-colour" ,ghc-colour)
9320 ("ghc-hxt" ,ghc-hxt)
9321 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9322 ("ghc-safe" ,ghc-safe)
9323 ("ghc-utf8-string" ,ghc-utf8-string)))
9324 (native-inputs
9325 `(("ghc-diff" ,ghc-diff)
9326 ("ghc-hunit" ,ghc-hunit)
9327 ("ghc-pretty-show" ,ghc-pretty-show)
9328 ("ghc-quickcheck" ,ghc-quickcheck)
9329 ("ghc-tasty" ,ghc-tasty)
9330 ("ghc-tasty-golden" ,ghc-tasty-golden)
9331 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9332 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9333 (home-page "https://github.com/jgm/skylighting")
9334 (synopsis "Syntax highlighting library")
9335 (description "Skylighting is a syntax highlighting library with support
9336for over one hundred languages. It derives its tokenizers from XML syntax
9337definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9338supported by that framework can be added. An optional command-line program is
9339provided. Skylighting is intended to be the successor to highlighting-kate.")
9340 (license license:gpl2)))
9341
9342(define-public ghc-skylighting
9343 (package
9344 (inherit ghc-skylighting-core)
9345 (name "ghc-skylighting")
9346 (version "0.7.2")
9347 (source (origin
9348 (method url-fetch)
9349 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9350 version "/skylighting-" version ".tar.gz"))
9351 (sha256
9352 (base32
9353 "1rh3z1a7a4clvksdw1qlpmhxqkfahwypi70k91whgfamzsqpxdch"))))
9354 (inputs
9355 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9356 ,@(package-inputs ghc-skylighting-core)))))
9357
9358(define-public ghc-smallcheck
9359 (package
9360 (name "ghc-smallcheck")
9361 (version "1.1.5")
9362 (source
9363 (origin
9364 (method url-fetch)
9365 (uri (string-append
9366 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9367 version
9368 ".tar.gz"))
9369 (sha256
9370 (base32
9371 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9372 (build-system haskell-build-system)
9373 (inputs
9374 `(("ghc-logict" ,ghc-logict)))
9375 (home-page
9376 "https://github.com/feuerbach/smallcheck")
9377 (synopsis "Property-based testing library")
9378 (description "SmallCheck is a testing library that allows to verify
9379properties for all test cases up to some depth. The test cases are generated
9380automatically by SmallCheck.")
9381 (license license:bsd-3)))
9382
9383(define-public ghc-socks
9384 (package
9385 (name "ghc-socks")
ab761e9d 9386 (version "0.6.1")
dddbc90c
RV
9387 (source (origin
9388 (method url-fetch)
9389 (uri (string-append "https://hackage.haskell.org/package/"
9390 "socks/socks-" version ".tar.gz"))
9391 (sha256
9392 (base32
ab761e9d 9393 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
9394 (build-system haskell-build-system)
9395 (inputs
9396 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 9397 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
9398 ("ghc-network" ,ghc-network)))
9399 (home-page "https://github.com/vincenthz/hs-socks")
9400 (synopsis "SOCKS proxy (version 5) implementation")
9401 (description
9402 "This library provides a SOCKS proxy (version 5) implementation.")
9403 (license license:bsd-3)))
9404
081d85d6
TS
9405(define-public ghc-sop-core
9406 (package
9407 (name "ghc-sop-core")
9408 (version "0.4.0.0")
9409 (source
9410 (origin
9411 (method url-fetch)
9412 (uri (string-append "https://hackage.haskell.org/package/"
9413 "sop-core/sop-core-" version ".tar.gz"))
9414 (sha256
9415 (base32
9416 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
9417 (build-system haskell-build-system)
9418 (home-page "http://hackage.haskell.org/package/sop-core")
9419 (synopsis "True Sums of Products")
9420 (description "This package provides an implementation of
9421@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
9422is the main module of this library and contains more detailed
9423documentation. The main use case of this package is to serve as the
9424core of @url{https://hackage.haskell.org/package/generics-sop,
9425generics-sop}.")
9426 (license license:bsd-3)))
9427
dddbc90c
RV
9428(define-public ghc-split
9429 (package
9430 (name "ghc-split")
9431 (version "0.2.3.3")
9432 (outputs '("out" "doc"))
9433 (source
9434 (origin
9435 (method url-fetch)
9436 (uri (string-append
9437 "https://hackage.haskell.org/package/split/split-"
9438 version
9439 ".tar.gz"))
9440 (sha256
9441 (base32
9442 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9443 (build-system haskell-build-system)
9bbc21a7
TS
9444 (arguments
9445 `(#:cabal-revision
9446 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
9447 (native-inputs
9448 `(("ghc-quickcheck" ,ghc-quickcheck)))
9449 (home-page "https://hackage.haskell.org/package/split")
9450 (synopsis "Combinator library for splitting lists")
9451 (description "This package provides a collection of Haskell functions for
9452splitting lists into parts, akin to the @code{split} function found in several
9453mainstream languages.")
9454 (license license:bsd-3)))
9455
7799d17f 9456(define-public ghc-splitmix
49367c92 9457 (package
7799d17f 9458 (name "ghc-splitmix")
49367c92
TS
9459 (version "0.0.3")
9460 (source
9461 (origin
9462 (method url-fetch)
9463 (uri (string-append "https://hackage.haskell.org/package/"
9464 "splitmix/splitmix-" version ".tar.gz"))
9465 (sha256
9466 (base32
9467 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 9468 (build-system haskell-build-system)
49367c92
TS
9469 (inputs
9470 `(("ghc-random" ,ghc-random)))
7799d17f
TS
9471 (native-inputs
9472 `(("ghc-hunit" ,ghc-hunit)
9473 ("ghc-async" ,ghc-async)
9474 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
9475 ("ghc-tf-random" ,ghc-tf-random)
9476 ("ghc-vector" ,ghc-vector)))
49367c92
TS
9477 (home-page "http://hackage.haskell.org/package/splitmix")
9478 (synopsis "Fast and splittable pseudorandom number generator")
9479 (description "This package provides a Pure Haskell implementation of the
9480SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
9481pseudorandom number generator that is quite fast: 9 64-bit
9482arithmetic/logical operations per 64 bits generated. SplitMix is tested
9483with two standard statistical test suites (DieHarder and TestU01, this
9484implementation only using the former) and it appears to be adequate for
9485\"everyday\" use, such as Monte Carlo algorithms and randomized data
9486structures where speed is important. In particular, it @strong{should not
9487be used for cryptographic or security applications}, because generated
9488sequences of pseudorandom values are too predictable (the mixing functions
9489are easily inverted, and two successive outputs suffice to reconstruct the
9490internal state).")
9491 (license license:bsd-3)))
9492
7799d17f
TS
9493(define-public ghc-splitmix-bootstrap
9494 (package
9495 (inherit ghc-splitmix)
9496 (name "ghc-splitmix-bootstrap")
9497 (arguments `(#:tests? #f))
9498 (native-inputs '())
9499 (properties '((hidden? #t)))))
9500
dddbc90c
RV
9501(define-public ghc-statevar
9502 (package
9503 (name "ghc-statevar")
19419709 9504 (version "1.2")
dddbc90c
RV
9505 (source
9506 (origin
9507 (method url-fetch)
9508 (uri (string-append
9509 "https://hackage.haskell.org/package/StateVar/StateVar-"
9510 version
9511 ".tar.gz"))
9512 (sha256
9513 (base32
19419709 9514 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
9515 (build-system haskell-build-system)
9516 (home-page "https://hackage.haskell.org/package/StateVar")
9517 (synopsis "State variables for Haskell")
9518 (description "This package provides state variables, which are references
9519in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9520 (license license:bsd-3)))
9521
9522(define-public ghc-statistics
9523 (package
9524 (name "ghc-statistics")
9525 (version "0.14.0.2")
9526 (source
9527 (origin
9528 (method url-fetch)
9529 (uri (string-append "https://hackage.haskell.org/package/"
9530 "statistics-" version "/"
9531 "statistics-" version ".tar.gz"))
9532 (sha256
9533 (base32
9534 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
9535 (build-system haskell-build-system)
9536 (arguments
9537 '(#:cabal-revision
9538 ("2" "1bx70yqkn62ii17fjv3pig4hklrzkqd09zj67zzjiyjzmn04fir3")
9539 ;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
9540 #:tests? #f))
9541 (inputs
9542 `(("ghc-aeson" ,ghc-aeson)
9543 ("ghc-base-orphans" ,ghc-base-orphans)
9544 ("ghc-erf" ,ghc-erf)
9545 ("ghc-math-functions" ,ghc-math-functions)
9546 ("ghc-monad-par" ,ghc-monad-par)
9547 ("ghc-mwc-random" ,ghc-mwc-random)
9548 ("ghc-primitive" ,ghc-primitive)
9549 ("ghc-vector" ,ghc-vector)
9550 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9551 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9552 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9553 (native-inputs
9554 `(("ghc-hunit" ,ghc-hunit)
9555 ("ghc-quickcheck" ,ghc-quickcheck)
9556 ("ghc-ieee754" ,ghc-ieee754)
9557 ("ghc-test-framework" ,ghc-test-framework)
9558 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9559 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9560 (home-page "https://github.com/bos/mwc-random")
9561 (synopsis "Haskell library of statistical types, data, and functions")
9562 (description "This library provides a number of common functions
9563and types useful in statistics. We focus on high performance, numerical
9564robustness, and use of good algorithms. Where possible, we provide references
9565to the statistical literature.
9566
9567The library's facilities can be divided into four broad categories:
9568
9569@itemize
9570@item Working with widely used discrete and continuous probability
9571distributions. (There are dozens of exotic distributions in use; we focus
9572on the most common.)
9573
9574@item Computing with sample data: quantile estimation, kernel density
9575estimation, histograms, bootstrap methods, significance testing,
9576and regression and autocorrelation analysis.
9577
9578@item Random variate generation under several different distributions.
9579
9580@item Common statistical tests for significant differences between samples.
9581@end itemize")
9582 (license license:bsd-2)))
9583
9584(define-public ghc-stm-chans
9585 (package
9586 (name "ghc-stm-chans")
9587 (version "3.0.0.4")
9588 (source
9589 (origin
9590 (method url-fetch)
9591 (uri (string-append "https://hackage.haskell.org/package/"
9592 "stm-chans-" version "/"
9593 "stm-chans-" version ".tar.gz"))
9594 (sha256
9595 (base32
9596 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9597 (build-system haskell-build-system)
9598 (home-page "https://hackage.haskell.org/package/stm-chans")
9599 (synopsis "Additional types of channels for ghc-stm")
9600 (description "This Haskell package offers a collection of channel types,
9601similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9602features.")
9603 (license license:bsd-3)))
9604
9605(define-public ghc-stm-conduit
9606 (package
9607 (name "ghc-stm-conduit")
9608 (version "4.0.0")
9609 (source
9610 (origin
9611 (method url-fetch)
9612 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9613 "stm-conduit-" version ".tar.gz"))
9614 (sha256
9615 (base32
9616 "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
9617 (build-system haskell-build-system)
9618 (inputs
9619 `(("ghc-stm-chans" ,ghc-stm-chans)
9620 ("ghc-cereal" ,ghc-cereal)
9621 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9622 ("ghc-conduit" ,ghc-conduit)
9623 ("ghc-conduit-extra" ,ghc-conduit-extra)
9624 ("ghc-exceptions" ,ghc-exceptions)
9625 ("ghc-resourcet" ,ghc-resourcet)
9626 ("ghc-async" ,ghc-async)
9627 ("ghc-monad-loops" ,ghc-monad-loops)
9628 ("ghc-unliftio" ,ghc-unliftio)))
9629 (native-inputs
9630 `(("ghc-doctest" ,ghc-doctest)
9631 ("ghc-quickcheck" ,ghc-quickcheck)
9632 ("ghc-hunit" ,ghc-hunit)
9633 ("ghc-test-framework" ,ghc-test-framework)
9634 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9635 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9636 (home-page "https://github.com/cgaebel/stm-conduit")
9637 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9638 (description
9639 "This package provides two simple conduit wrappers around STM channels: a
9640source and a sink.")
9641 (license license:bsd-3)))
9642
9643(define-public ghc-stmonadtrans
9644 (package
9645 (name "ghc-stmonadtrans")
9646 (version "0.4.3")
9647 (source
9648 (origin
9649 (method url-fetch)
9650 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9651 "/STMonadTrans-" version ".tar.gz"))
9652 (sha256
9653 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9654 (build-system haskell-build-system)
9655 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9656 (synopsis "Monad transformer version of the ST monad")
9657 (description
9658 "This package provides a monad transformer version of the @code{ST} monad
9659for strict state threads.")
9660 (license license:bsd-3)))
9661
9662(define-public ghc-storable-complex
9663 (package
9664 (name "ghc-storable-complex")
4a35e3c3 9665 (version "0.2.3.0")
dddbc90c
RV
9666 (source
9667 (origin
9668 (method url-fetch)
9669 (uri (string-append
9670 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9671 version ".tar.gz"))
9672 (sha256
4a35e3c3 9673 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 9674 (build-system haskell-build-system)
4a35e3c3
TS
9675 (inputs
9676 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
9677 (home-page "https://github.com/cartazio/storable-complex")
9678 (synopsis "Haskell Storable instance for Complex")
9679 (description "This package provides a Haskell library including a
9680Storable instance for Complex which is binary compatible with C99, C++
9681and Fortran complex data types.")
9682 (license license:bsd-3)))
9683
ad80074a
JS
9684(define-public ghc-storable-record
9685 (package
9686 (name "ghc-storable-record")
9687 (version "0.0.4")
9688 (source
9689 (origin
9690 (method url-fetch)
9691 (uri
9692 (string-append
9693 "https://hackage.haskell.org/package/storable-record/"
9694 "storable-record-" version ".tar.gz"))
9695 (sha256
9696 (base32
9697 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
9698 (build-system haskell-build-system)
9699 (inputs
9700 `(("ghc-semigroups" ,ghc-semigroups)
9701 ("ghc-utility-ht" ,ghc-utility-ht)
9702 ("ghc-storablevector" ,ghc-storablevector)
9703 ("ghc-timeit" ,ghc-timeit)))
9704 (home-page "https://hackage.haskell.org/package/storable-record")
9705 (synopsis "Elegant definition of Storable instances for records")
9706 (description "With this package you can build a Storable instance of
9707a record type from Storable instances of its elements in an elegant way.
9708It does not do any magic, just a bit arithmetic to compute the right
9709offsets, that would be otherwise done manually or by a preprocessor like
9710C2HS. There is no guarantee that the generated memory layout is
9711compatible with that of a corresponding C struct. However, the module
9712generates the smallest layout that is possible with respect to the
9713alignment of the record elements.")
9714 (license license:bsd-3)))
9715
55f4c653
JS
9716(define-public ghc-storable-tuple
9717 (package
9718 (name "ghc-storable-tuple")
9719 (version "0.0.3.3")
9720 (source
9721 (origin
9722 (method url-fetch)
9723 (uri
9724 (string-append
9725 "https://hackage.haskell.org/package/storable-tuple/"
9726 "storable-tuple-" version ".tar.gz"))
9727 (sha256
9728 (base32
9729 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
9730 (build-system haskell-build-system)
9731 (inputs
9732 `(("ghc-storable-record" ,ghc-storable-record)
9733 ("ghc-utility-ht" ,ghc-utility-ht)
9734 ("ghc-base-orphans" ,ghc-base-orphans)))
9735 (home-page "https://hackage.haskell.org/package/storable-tuple")
9736 (synopsis "Storable instance for pairs and triples")
9737 (description "This package provides a Storable instance for pairs
9738and triples which should be binary compatible with C99 and C++. The
9739only purpose of this package is to provide a standard location for this
9740instance so that other packages needing this instance can play nicely
9741together.")
9742 (license license:bsd-3)))
9743
bc06ca45
JS
9744(define-public ghc-storablevector
9745 (package
9746 (name "ghc-storablevector")
9747 (version "0.2.13")
9748 (source
9749 (origin
9750 (method url-fetch)
9751 (uri
9752 (string-append
9753 "https://hackage.haskell.org/package/storablevector/storablevector-"
9754 version ".tar.gz"))
9755 (sha256
9756 (base32
9757 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
9758 (build-system haskell-build-system)
9759 (inputs
9760 `(("ghc-non-negative" ,ghc-non-negative)
9761 ("ghc-utility-ht" ,ghc-utility-ht)
9762 ("ghc-semigroups" ,ghc-semigroups)
9763 ("ghc-unsafe" ,ghc-unsafe)
9764 ("ghc-quickcheck" ,ghc-quickcheck)
9765 ("ghc-syb" ,ghc-syb)))
9766 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
9767 (synopsis "Fast, packed, strict storable arrays with a list interface")
9768 (description "This library provides fast, packed, strict storable
9769arrays with a list interface, a chunky lazy list interface with variable
9770chunk size and an interface for write access via the ST monad. This is
9771much like bytestring and binary but can be used for every
9772@code{Foreign.Storable.Storable} type. See also
9773@url{http://hackage.haskell.org/package/vector}, a library with a
9774similar intention.
9775
9776This library does not do advanced fusion optimization, since especially
9777for lazy vectors this would either be incorrect or not applicable. See
9778@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
9779a library that provides fusion with lazy lists.")
9780 (license license:bsd-3)))
9781
dddbc90c
RV
9782(define-public ghc-streaming-commons
9783 (package
9784 (name "ghc-streaming-commons")
9785 (version "0.2.1.1")
9786 (source
9787 (origin
9788 (method url-fetch)
9789 (uri (string-append "https://hackage.haskell.org/package/"
9790 "streaming-commons/streaming-commons-"
9791 version ".tar.gz"))
9792 (sha256
9793 (base32
9794 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9795 (build-system haskell-build-system)
9796 (inputs
9797 `(("ghc-async" ,ghc-async)
9798 ("ghc-blaze-builder" ,ghc-blaze-builder)
9799 ("ghc-network" ,ghc-network)
9800 ("ghc-random" ,ghc-random)
9801 ("ghc-zlib" ,ghc-zlib)))
9802 (native-inputs
9803 `(("ghc-quickcheck" ,ghc-quickcheck)
9804 ("ghc-hspec" ,ghc-hspec)
9805 ("hspec-discover" ,hspec-discover)))
9806 (home-page "https://hackage.haskell.org/package/streaming-commons")
9807 (synopsis "Conduit and pipes needed by some streaming data libraries")
9808 (description "This package provides low-dependency functionality commonly
9809needed by various Haskell streaming data libraries, such as @code{conduit} and
9810@code{pipe}s.")
9811 (license license:expat)))
9812
9813(define-public ghc-strict
9814 (package
9815 (name "ghc-strict")
9816 (version "0.3.2")
9817 (source
9818 (origin
9819 (method url-fetch)
9820 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
9821 version ".tar.gz"))
9822 (sha256
9823 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
9824 (build-system haskell-build-system)
9825 (home-page "https://hackage.haskell.org/package/strict")
9826 (synopsis "Strict data types and String IO")
9827 (description
9828 "This package provides strict versions of some standard Haskell data
9829types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
9830IO operations.")
9831 (license license:bsd-3)))
9832
9833(define-public ghc-stringbuilder
9834 (package
9835 (name "ghc-stringbuilder")
9836 (version "0.5.1")
9837 (source
9838 (origin
9839 (method url-fetch)
9840 (uri (string-append
9841 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
9842 version
9843 ".tar.gz"))
9844 (sha256
9845 (base32
9846 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
9847 (build-system haskell-build-system)
9848 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
9849 ; enabled
9850 (home-page "https://hackage.haskell.org/package/stringbuilder")
9851 (synopsis "Writer monad for multi-line string literals")
9852 (description "This package provides a writer monad for multi-line string
9853literals.")
9854 (license license:expat)))
9855
9856(define-public ghc-string-qq
9857 (package
9858 (name "ghc-string-qq")
4d6fddc3 9859 (version "0.0.4")
dddbc90c
RV
9860 (source
9861 (origin
9862 (method url-fetch)
9863 (uri (string-append
9864 "https://hackage.haskell.org/package/string-qq/string-qq-"
9865 version
9866 ".tar.gz"))
9867 (sha256
9868 (base32
4d6fddc3 9869 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 9870 (build-system haskell-build-system)
4d6fddc3
TS
9871 (native-inputs
9872 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
9873 (home-page "http://hackage.haskell.org/package/string-qq")
9874 (synopsis
9875 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
9876 (description
9877 "This package provides a quasiquoter for non-interpolated strings, texts
9878and bytestrings.")
9879 (license license:public-domain)))
9880
9881(define-public ghc-stringsearch
9882 (package
9883 (name "ghc-stringsearch")
9884 (version "0.3.6.6")
9885 (source
9886 (origin
9887 (method url-fetch)
9888 (uri (string-append
9889 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
9890 version
9891 ".tar.gz"))
9892 (sha256
9893 (base32
9894 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
9895 (build-system haskell-build-system)
9896 (home-page "https://bitbucket.org/dafis/stringsearch")
9897 (synopsis "Fast searching, splitting and replacing of ByteStrings")
9898 (description "This package provides several functions to quickly search
9899for substrings in strict or lazy @code{ByteStrings}. It also provides
9900functions for breaking or splitting on substrings and replacing all
9901occurrences of a substring (the first in case of overlaps) with another.")
9902 (license license:bsd-3)))
9903
9904(define-public ghc-stylish-haskell
9905 (package
9906 (name "ghc-stylish-haskell")
9907 (version "0.9.2.1")
9908 (source
9909 (origin
9910 (method url-fetch)
9911 (uri (string-append
9912 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
9913 version
9914 ".tar.gz"))
9915 (sha256
9916 (base32
9917 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
9918 (build-system haskell-build-system)
9919 (inputs
9920 `(("ghc-aeson" ,ghc-aeson)
9921 ("ghc-file-embed" ,ghc-file-embed)
9922 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
9923 ("ghc-semigroups" ,ghc-semigroups)
9924 ("ghc-syb" ,ghc-syb)
9925 ("ghc-yaml" ,ghc-yaml)
9926 ("ghc-strict" ,ghc-strict)
9927 ("ghc-optparse-applicative"
9928 ,ghc-optparse-applicative)))
9929 (native-inputs
9930 `(("ghc-hunit" ,ghc-hunit)
9931 ("ghc-test-framework" ,ghc-test-framework)
9932 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
9933 (home-page "https://github.com/jaspervdj/stylish-haskell")
9934 (synopsis "Haskell code prettifier")
9935 (description "Stylish-haskell is a Haskell code prettifier. The goal is
9936not to format all of the code in a file, to avoid \"getting in the way\".
9937However, this tool can e.g. clean up import statements and help doing various
9938tasks that get tedious very quickly. It can
9939@itemize
9940@item
9941Align and sort @code{import} statements
9942@item
9943Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
9944pragmas
9945@item
9946Remove trailing whitespaces
9947@item
9948Align branches in @code{case} and fields in records
9949@item
9950Convert line endings (customisable)
9951@item
9952Replace tabs by four spaces (turned off by default)
9953@item
9954Replace some ASCII sequences by their Unicode equivalent (turned off by
9955default)
9956@end itemize")
9957 (license license:bsd-3)))
9958
9959(define-public ghc-syb
9960 (package
9961 (name "ghc-syb")
07d65eef 9962 (version "0.7.1")
dddbc90c
RV
9963 (outputs '("out" "doc"))
9964 (source
9965 (origin
9966 (method url-fetch)
9967 (uri (string-append
9968 "https://hackage.haskell.org/package/syb/syb-"
9969 version
9970 ".tar.gz"))
9971 (sha256
9972 (base32
07d65eef 9973 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
9974 (build-system haskell-build-system)
9975 (inputs
9976 `(("ghc-hunit" ,ghc-hunit)))
9977 (home-page
9978 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
9979 (synopsis "Scrap Your Boilerplate")
9980 (description "This package contains the generics system described in the
9981/Scrap Your Boilerplate/ papers (see
9982@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
9983defines the @code{Data} class of types permitting folding and unfolding of
9984constructor applications, instances of this class for primitive types, and a
9985variety of traversals.")
9986 (license license:bsd-3)))
9987
9988(define-public ghc-system-fileio
9989 (package
9990 (name "ghc-system-fileio")
dcfb99d4 9991 (version "0.3.16.4")
dddbc90c
RV
9992 (source
9993 (origin
9994 (method url-fetch)
9995 (uri (string-append
9996 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
9997 version ".tar.gz"))
9998 (sha256
9999 (base32
dcfb99d4 10000 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 10001 (build-system haskell-build-system)
dcfb99d4
TS
10002 (arguments
10003 `(#:phases
10004 (modify-phases %standard-phases
10005 (add-before 'configure 'update-constraints
10006 (lambda _
10007 (substitute* "system-fileio.cabal"
10008 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
10009 #t)))))
dddbc90c
RV
10010 (inputs
10011 `(("ghc-system-filepath" ,ghc-system-filepath)
10012 ("ghc-chell" ,ghc-chell)
10013 ("ghc-temporary" ,ghc-temporary)))
10014 (home-page "https://github.com/fpco/haskell-filesystem")
10015 (synopsis "Consistent file system interaction across GHC versions")
10016 (description
10017 "This is a small wrapper around the directory, unix, and Win32 packages,
10018for use with system-filepath. It provides a consistent API to the various
10019versions of these packages distributed with different versions of GHC.
10020In particular, this library supports working with POSIX files that have paths
10021which can't be decoded in the current locale encoding.")
10022 (license license:expat)))
10023
10024;; See ghc-system-filepath-bootstrap. In addition this package depends on
10025;; ghc-system-filepath.
10026(define ghc-system-fileio-bootstrap
10027 (package
10028 (name "ghc-system-fileio-bootstrap")
10029 (version "0.3.16.3")
10030 (source
10031 (origin
10032 (method url-fetch)
10033 (uri (string-append
10034 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10035 version ".tar.gz"))
10036 (sha256
10037 (base32
10038 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10039 (build-system haskell-build-system)
10040 (arguments
10041 `(#:tests? #f))
10042 (inputs
10043 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10044 ("ghc-temporary" ,ghc-temporary)))
10045 (home-page "https://github.com/fpco/haskell-filesystem")
10046 (synopsis "Consistent file system interaction across GHC versions")
10047 (description
10048 "This is a small wrapper around the directory, unix, and Win32 packages,
10049for use with system-filepath. It provides a consistent API to the various
10050versions of these packages distributed with different versions of GHC.
10051In particular, this library supports working with POSIX files that have paths
10052which can't be decoded in the current locale encoding.")
10053 (license license:expat)))
10054
10055
10056(define-public ghc-system-filepath
10057 (package
10058 (name "ghc-system-filepath")
10059 (version "0.4.14")
10060 (source
10061 (origin
10062 (method url-fetch)
10063 (uri (string-append
10064 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10065 version ".tar.gz"))
10066 (sha256
10067 (base32
10068 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10069 (build-system haskell-build-system)
10070 ;; FIXME: One of the tests fails:
10071 ;; [ FAIL ] tests.validity.posix
10072 ;; note: seed=7310214548328823169
10073 ;; *** Failed! Falsifiable (after 24 tests):
10074 ;; 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"
10075 (arguments `(#:tests? #f))
10076 (inputs
10077 `(("ghc-chell" ,ghc-chell)
10078 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
10079 ("ghc-quickcheck" ,ghc-quickcheck)))
10080 (home-page "https://github.com/fpco/haskell-filesystem")
10081 (synopsis "High-level, byte-based file and directory path manipulations")
10082 (description
10083 "Provides a FilePath datatype and utility functions for operating on it.
10084Unlike the filepath package, this package does not simply reuse String,
10085increasing type safety.")
10086 (license license:expat)))
10087
10088;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
10089;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
10090;; which depends on ghc-chell and ghc-chell-quickcheck.
10091;; Therefore we bootstrap it with tests disabled.
10092(define ghc-system-filepath-bootstrap
10093 (package
10094 (name "ghc-system-filepath-bootstrap")
10095 (version "0.4.14")
10096 (source
10097 (origin
10098 (method url-fetch)
10099 (uri (string-append
10100 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10101 version ".tar.gz"))
10102 (sha256
10103 (base32
10104 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10105 (build-system haskell-build-system)
10106 (arguments
10107 `(#:tests? #f))
10108 (inputs
10109 `(("ghc-quickcheck" ,ghc-quickcheck)))
10110 (home-page "https://github.com/fpco/haskell-filesystem")
10111 (synopsis "High-level, byte-based file and directory path manipulations")
10112 (description
10113 "Provides a FilePath datatype and utility functions for operating on it.
10114Unlike the filepath package, this package does not simply reuse String,
10115increasing type safety.")
10116 (license license:expat)))
10117
10118
10119(define-public ghc-tagged
10120 (package
10121 (name "ghc-tagged")
f0f3756a 10122 (version "0.8.6")
dddbc90c
RV
10123 (source
10124 (origin
10125 (method url-fetch)
10126 (uri (string-append
10127 "https://hackage.haskell.org/package/tagged/tagged-"
10128 version
10129 ".tar.gz"))
10130 (sha256
10131 (base32
f0f3756a 10132 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
10133 (build-system haskell-build-system)
10134 (arguments
10135 `(#:cabal-revision
f0f3756a 10136 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
10137 (inputs
10138 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10139 (home-page "https://hackage.haskell.org/package/tagged")
10140 (synopsis "Haskell phantom types to avoid passing dummy arguments")
10141 (description "This library provides phantom types for Haskell 98, to avoid
10142having to unsafely pass dummy arguments.")
10143 (license license:bsd-3)))
10144
10145(define-public ghc-tar
10146 (package
10147 (name "ghc-tar")
ec83929f 10148 (version "0.5.1.1")
dddbc90c
RV
10149 (source
10150 (origin
10151 (method url-fetch)
10152 (uri (string-append
10153 "https://hackage.haskell.org/package/tar/tar-"
10154 version ".tar.gz"))
10155 (sha256
10156 (base32
ec83929f 10157 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
10158 (build-system haskell-build-system)
10159 ;; FIXME: 2/24 tests fail.
10160 (arguments `(#:tests? #f))
10161 (inputs
10162 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10163 ("ghc-quickcheck" ,ghc-quickcheck)
10164 ("ghc-tasty" ,ghc-tasty)
10165 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10166 (home-page "https://hackage.haskell.org/package/tar")
10167 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10168 (description
10169 "This library is for working with \\\"@.tar@\\\" archive files.
10170It can read and write a range of common variations of the tar archive format
10171including V7, POSIX USTAR and GNU formats. It provides support for packing and
10172unpacking portable archives. This makes it suitable for distribution but not
10173backup because details like file ownership and exact permissions are not
10174preserved. It also provides features for random access to archive content using
10175an index.")
10176 (license license:bsd-3)))
10177
10178(define-public ghc-temporary
10179 (package
10180 (name "ghc-temporary")
10181 (version "1.3")
10182 (source
10183 (origin
10184 (method url-fetch)
10185 (uri (string-append
10186 "https://hackage.haskell.org/package/temporary/temporary-"
10187 version
10188 ".tar.gz"))
10189 (sha256
10190 (base32
10191 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10192 (build-system haskell-build-system)
10193 (inputs
10194 `(("ghc-exceptions" ,ghc-exceptions)
10195 ("ghc-random" ,ghc-random)))
10196 (native-inputs
10197 `(("ghc-base-compat" ,ghc-base-compat)
10198 ("ghc-tasty" ,ghc-tasty)
10199 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10200 (home-page "https://www.github.com/batterseapower/temporary")
10201 (synopsis "Temporary file and directory support")
10202 (description "The functions for creating temporary files and directories
10203in the Haskelll base library are quite limited. This library just repackages
10204the Cabal implementations of its own temporary file and folder functions so
10205that you can use them without linking against Cabal or depending on it being
10206installed.")
10207 (license license:bsd-3)))
10208
10209(define-public ghc-temporary-rc
10210 (package
10211 (name "ghc-temporary-rc")
10212 (version "1.2.0.3")
10213 (source
10214 (origin
10215 (method url-fetch)
10216 (uri (string-append
10217 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10218 version
10219 ".tar.gz"))
10220 (sha256
10221 (base32
10222 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10223 (build-system haskell-build-system)
10224 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10225 (home-page
10226 "https://www.github.com/feuerbach/temporary")
10227 (synopsis
10228 "Portable temporary file and directory support")
10229 (description
10230 "The functions for creating temporary files and directories in the base
10231library are quite limited. The unixutils package contains some good ones, but
10232they aren't portable to Windows. This library just repackages the Cabal
10233implementations of its own temporary file and folder functions so that you can
10234use them without linking against Cabal or depending on it being installed.
10235This is a better maintained fork of the \"temporary\" package.")
10236 (license license:bsd-3)))
10237
10238(define-public ghc-terminal-size
10239 (package
10240 (name "ghc-terminal-size")
10241 (version "0.3.2.1")
10242 (source (origin
10243 (method url-fetch)
10244 (uri (string-append
10245 "https://hackage.haskell.org/package/terminal-size/"
10246 "terminal-size-" version ".tar.gz"))
10247 (sha256
10248 (base32
10249 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10250 (build-system haskell-build-system)
10251 (home-page "https://hackage.haskell.org/package/terminal-size")
10252 (synopsis "Get terminal window height and width")
10253 (description "Get terminal window height and width without ncurses
10254dependency.")
10255 (license license:bsd-3)))
10256
10257(define-public ghc-texmath
10258 (package
10259 (name "ghc-texmath")
10260 (version "0.11.0.1")
10261 (source (origin
10262 (method url-fetch)
10263 (uri (string-append "https://hackage.haskell.org/package/"
10264 "texmath/texmath-" version ".tar.gz"))
10265 (sha256
10266 (base32
10267 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
10268 (build-system haskell-build-system)
10269 (inputs
10270 `(("ghc-syb" ,ghc-syb)
10271 ("ghc-network-uri" ,ghc-network-uri)
10272 ("ghc-split" ,ghc-split)
10273 ("ghc-temporary" ,ghc-temporary)
10274 ("ghc-utf8-string" ,ghc-utf8-string)
10275 ("ghc-xml" ,ghc-xml)
10276 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10277 (home-page "https://github.com/jgm/texmath")
10278 (synopsis "Conversion between formats used to represent mathematics")
10279 (description
10280 "The texmath library provides functions to read and write TeX math,
10281presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10282Office). Support is also included for converting math formats to pandoc's
10283native format (allowing conversion, via pandoc, to a variety of different
10284markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10285it can parse and apply LaTeX macros.")
10286 (license license:gpl2+)))
10287
10288(define-public ghc-text-binary
10289 (package
10290 (name "ghc-text-binary")
10291 (version "0.2.1.1")
10292 (source
10293 (origin
10294 (method url-fetch)
10295 (uri (string-append "https://hackage.haskell.org/package/"
10296 "text-binary/text-binary-"
10297 version ".tar.gz"))
10298 (sha256
10299 (base32
10300 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10301 (build-system haskell-build-system)
10302 (home-page "https://github.com/kawu/text-binary")
10303 (synopsis "Binary instances for text types")
10304 (description
10305 "This package provides a compatibility layer providing @code{Binary}
10306instances for strict and lazy text types for versions older than 1.2.1 of the
10307text package.")
10308 (license license:bsd-2)))
10309
10310(define-public ghc-tf-random
10311 (package
10312 (name "ghc-tf-random")
10313 (version "0.5")
10314 (outputs '("out" "doc"))
10315 (source
10316 (origin
10317 (method url-fetch)
10318 (uri (string-append
10319 "https://hackage.haskell.org/package/tf-random/tf-random-"
10320 version
10321 ".tar.gz"))
10322 (sha256
10323 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10324 (build-system haskell-build-system)
10325 (inputs
10326 `(("ghc-primitive" ,ghc-primitive)
10327 ("ghc-random" ,ghc-random)))
10328 (home-page "https://hackage.haskell.org/package/tf-random")
10329 (synopsis "High-quality splittable pseudorandom number generator")
10330 (description "This package contains an implementation of a high-quality
10331splittable pseudorandom number generator. The generator is based on a
10332cryptographic hash function built on top of the ThreeFish block cipher. See
10333the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10334Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10335 (license license:bsd-3)))
10336
10337(define-public ghc-th-abstraction
10338 (package
10339 (name "ghc-th-abstraction")
1188eabb 10340 (version "0.3.1.0")
dddbc90c
RV
10341 (source
10342 (origin
10343 (method url-fetch)
10344 (uri (string-append "https://hackage.haskell.org/package/"
10345 "th-abstraction/th-abstraction-"
10346 version ".tar.gz"))
10347 (sha256
10348 (base32
1188eabb 10349 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
10350 (build-system haskell-build-system)
10351 (home-page "https://github.com/glguy/th-abstraction")
10352 (synopsis "Nicer interface for reified information about data types")
10353 (description
10354 "This package normalizes variations in the interface for inspecting
10355datatype information via Template Haskell so that packages and support a
10356single, easier to use informational datatype while supporting many versions of
10357Template Haskell.")
10358 (license license:isc)))
10359
10360(define-public ghc-th-expand-syns
10361 (package
10362 (name "ghc-th-expand-syns")
8c766600 10363 (version "0.4.5.0")
dddbc90c
RV
10364 (source (origin
10365 (method url-fetch)
10366 (uri (string-append "https://hackage.haskell.org/package/"
10367 "th-expand-syns/th-expand-syns-"
10368 version ".tar.gz"))
10369 (sha256
10370 (base32
8c766600 10371 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
10372 (build-system haskell-build-system)
10373 (inputs
10374 `(("ghc-syb" ,ghc-syb)))
10375 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10376 (synopsis "Expands type synonyms in Template Haskell ASTs")
10377 (description
10378 "This package enables users to expand type synonyms in Template Haskell
10379@dfn{abstract syntax trees} (ASTs).")
10380 (license license:bsd-3)))
10381
10382(define-public ghc-th-lift
10383 (package
10384 (name "ghc-th-lift")
bd76b20a 10385 (version "0.8.0.1")
dddbc90c
RV
10386 (source (origin
10387 (method url-fetch)
10388 (uri (string-append "https://hackage.haskell.org/package/"
10389 "th-lift/th-lift-" version ".tar.gz"))
10390 (sha256
10391 (base32
bd76b20a 10392 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
10393 (build-system haskell-build-system)
10394 (inputs
10395 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10396 (home-page "https://github.com/mboes/th-lift")
10397 (synopsis "Derive Template Haskell's Lift class for datatypes")
10398 (description
10399 "This is a Haskell library to derive Template Haskell's Lift class for
10400datatypes.")
10401 (license license:bsd-3)))
10402
10403(define-public ghc-th-lift-instances
10404 (package
10405 (name "ghc-th-lift-instances")
d3db399e 10406 (version "0.1.14")
dddbc90c
RV
10407 (source
10408 (origin
10409 (method url-fetch)
10410 (uri (string-append "https://hackage.haskell.org/package/"
10411 "th-lift-instances/th-lift-instances-"
10412 version ".tar.gz"))
10413 (sha256
10414 (base32
d3db399e 10415 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
10416 (build-system haskell-build-system)
10417 (inputs
10418 `(("ghc-th-lift" ,ghc-th-lift)
10419 ("ghc-vector" ,ghc-vector)
10420 ("ghc-quickcheck" ,ghc-quickcheck)))
10421 (home-page "https://github.com/bennofs/th-lift-instances/")
10422 (synopsis "Lift instances for template-haskell for common data types.")
10423 (description "Most data types in the Haskell platform do not have Lift
10424instances. This package provides orphan instances for @code{containers},
10425@code{text}, @code{bytestring} and @code{vector}.")
10426 (license license:bsd-3)))
10427
10428(define-public ghc-th-orphans
10429 (package
10430 (name "ghc-th-orphans")
882b23e2 10431 (version "0.13.9")
dddbc90c
RV
10432 (source (origin
10433 (method url-fetch)
10434 (uri (string-append "https://hackage.haskell.org/package/"
10435 "th-orphans/th-orphans-" version ".tar.gz"))
10436 (sha256
10437 (base32
882b23e2 10438 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
10439 (build-system haskell-build-system)
10440 (inputs
10441 `(("ghc-th-lift" ,ghc-th-lift)
10442 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10443 ("ghc-th-reify-many" ,ghc-th-reify-many)
10444 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10445 (native-inputs
10446 `(("ghc-hspec" ,ghc-hspec)))
10447 (home-page "https://hackage.haskell.org/package/th-orphans")
10448 (synopsis "Orphan instances for TH datatypes")
10449 (description
10450 "This package provides orphan instances for Template Haskell datatypes. In particular,
10451instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10452and @code{Eq} instances. These instances used to live in the haskell-src-meta
10453package, and that's where the version number started.")
10454 (license license:bsd-3)))
10455
10456(define-public ghc-threads
10457 (package
10458 (name "ghc-threads")
10459 (version "0.5.1.6")
10460 (source
10461 (origin
10462 (method url-fetch)
10463 (uri (string-append "https://hackage.haskell.org/package/"
10464 "threads/threads-" version ".tar.gz"))
10465 (sha256
10466 (base32
10467 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10468 (build-system haskell-build-system)
10469 (native-inputs
10470 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10471 ("ghc-hunit" ,ghc-hunit)
10472 ("ghc-test-framework" ,ghc-test-framework)
10473 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10474 (home-page "https://github.com/basvandijk/threads")
10475 (synopsis "Fork threads and wait for their result")
10476 (description "This package provides functions to fork threads and
10477wait for their result, whether it's an exception or a normal value.
10478Besides waiting for the termination of a single thread this package also
10479provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10480package is similar to the @code{threadmanager}, @code{async} and
10481@code{spawn} packages. The advantages of this package are:
10482
dddbc90c
RV
10483@itemize
10484@item Simpler API.
10485@item More efficient in both space and time.
10486@item No space-leak when forking a large number of threads.
10487@item Correct handling of asynchronous exceptions.
10488@item GHC specific functionality like @code{forkOn} and
10489@code{forkIOWithUnmask}.
10490@end itemize")
10491 (license license:bsd-3)))
10492
10493(define-public ghc-th-reify-many
10494 (package
10495 (name "ghc-th-reify-many")
32d4a6ae 10496 (version "0.1.9")
dddbc90c
RV
10497 (source (origin
10498 (method url-fetch)
10499 (uri (string-append "https://hackage.haskell.org/package/"
10500 "th-reify-many/th-reify-many-"
10501 version ".tar.gz"))
10502 (sha256
10503 (base32
32d4a6ae 10504 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
10505 (build-system haskell-build-system)
10506 (inputs
10507 `(("ghc-safe" ,ghc-safe)
10508 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10509 (home-page "https://github.com/mgsloan/th-reify-many")
10510 (synopsis "Recurseively reify template haskell datatype info")
10511 (description
10512 "th-reify-many provides functions for recursively reifying top level
10513declarations. The main intended use case is for enumerating the names of
10514datatypes reachable from an initial datatype, and passing these names to some
10515function which generates instances.")
10516 (license license:bsd-3)))
10517
75cfc9a2
TS
10518(define-public ghc-time-compat
10519 (package
10520 (name "ghc-time-compat")
10521 (version "1.9.2.2")
10522 (source
10523 (origin
10524 (method url-fetch)
10525 (uri (string-append "https://hackage.haskell.org/package/"
10526 "time-compat/time-compat-" version ".tar.gz"))
10527 (sha256
10528 (base32
10529 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
10530 (build-system haskell-build-system)
10531 (inputs
10532 `(("ghc-base-orphans" ,ghc-base-orphans)))
10533 (native-inputs
10534 `(("ghc-hunit" ,ghc-hunit)
10535 ("ghc-base-compat" ,ghc-base-compat)
10536 ("ghc-quickcheck" ,ghc-quickcheck)
10537 ("ghc-tagged" ,ghc-tagged)
10538 ("ghc-tasty" ,ghc-tasty)
10539 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10540 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10541 (arguments
10542 `(#:cabal-revision
10543 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
10544 (home-page "https://github.com/phadej/time-compat")
10545 (synopsis "Compatibility package for time")
10546 (description "This packages tries to compat as many @code{time}
10547features as possible.")
10548 (license license:bsd-3)))
10549
dddbc90c
RV
10550(define-public ghc-time-locale-compat
10551 (package
10552 (name "ghc-time-locale-compat")
10553 (version "0.1.1.5")
10554 (source
10555 (origin
10556 (method url-fetch)
10557 (uri (string-append "https://hackage.haskell.org/package/"
10558 "time-locale-compat/time-locale-compat-"
10559 version ".tar.gz"))
10560 (sha256
10561 (base32
10562 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10563 (build-system haskell-build-system)
10564 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10565 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10566 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10567 (description "This package contains a wrapped name module for
10568@code{TimeLocale}.")
10569 (license license:bsd-3)))
10570
7bbfa392
JS
10571(define-public ghc-timeit
10572 (package
10573 (name "ghc-timeit")
10574 (version "2.0")
10575 (source
10576 (origin
10577 (method url-fetch)
10578 (uri
10579 (string-append
10580 "https://hackage.haskell.org/package/timeit/timeit-"
10581 version ".tar.gz"))
10582 (sha256
10583 (base32
10584 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
10585 (build-system haskell-build-system)
10586 (home-page "https://github.com/merijn/timeit")
10587 (synopsis "Time monadic computations with an IO base")
10588 (description "This package provides a simple wrapper to show the
10589used CPU time of monadic computation with an IO base.")
10590 (license license:bsd-3)))
10591
dddbc90c
RV
10592(define-public ghc-tldr
10593 (package
10594 (name "ghc-tldr")
871ceb31 10595 (version "0.4.0.2")
dddbc90c
RV
10596 (source
10597 (origin
10598 (method url-fetch)
10599 (uri (string-append
10600 "https://hackage.haskell.org/package/tldr/tldr-"
10601 version
10602 ".tar.gz"))
10603 (sha256
10604 (base32
871ceb31 10605 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
10606 (build-system haskell-build-system)
10607 (inputs
10608 `(("ghc-cmark" ,ghc-cmark)
10609 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10610 ("ghc-typed-process" ,ghc-typed-process)
10611 ("ghc-semigroups" ,ghc-semigroups)))
10612 (native-inputs
10613 `(("ghc-tasty" ,ghc-tasty)
10614 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10615 (home-page "https://github.com/psibi/tldr-hs#readme")
10616 (synopsis "Haskell tldr client")
10617 (description "This package provides the @command{tldr} command and a
10618Haskell client library allowing users to update and view @code{tldr} pages
10619from a shell. The @code{tldr} pages are a community effort to simplify the
10620man pages with practical examples.")
10621 (license license:bsd-3)))
10622
10623(define-public ghc-transformers-base
10624 (package
10625 (name "ghc-transformers-base")
10626 (version "0.4.5.2")
10627 (source
10628 (origin
10629 (method url-fetch)
10630 (uri (string-append
10631 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10632 version
10633 ".tar.gz"))
10634 (sha256
10635 (base32
10636 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10637 (build-system haskell-build-system)
10638 (inputs
10639 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10640 (home-page
10641 "https://hackage.haskell.org/package/transformers-compat")
10642 (synopsis
10643 "Backported transformer library")
10644 (description
10645 "Backported versions of types that were added to transformers in
10646transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10647compatibility to run on old versions of the platform.")
10648 (license license:bsd-3)))
10649
10650(define-public ghc-transformers-compat
10651 (package
10652 (name "ghc-transformers-compat")
1c9c4d58 10653 (version "0.6.5")
dddbc90c
RV
10654 (source
10655 (origin
10656 (method url-fetch)
10657 (uri (string-append
10658 "https://hackage.haskell.org/package/transformers-compat"
10659 "/transformers-compat-" version ".tar.gz"))
10660 (sha256
10661 (base32
1c9c4d58 10662 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
10663 (build-system haskell-build-system)
10664 (home-page "https://github.com/ekmett/transformers-compat/")
10665 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10666 (description "This package includes backported versions of types that were
10667added to transformers in transformers 0.3 and 0.4 for users who need strict
10668transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10669but also need those types.")
10670 (license license:bsd-3)))
10671
10672(define-public ghc-tree-diff
10673 (package
10674 (name "ghc-tree-diff")
10675 (version "0.0.1")
10676 (source
10677 (origin
10678 (method url-fetch)
10679 (uri (string-append
10680 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10681 version
10682 ".tar.gz"))
10683 (sha256
10684 (base32
10685 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10686 (build-system haskell-build-system)
10687 (arguments
10688 `(#:cabal-revision
10689 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10690 #:phases
10691 (modify-phases %standard-phases
10692 (add-before 'configure 'update-constraints
10693 (lambda _
10694 (substitute* "tree-diff.cabal"
10695 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10696 "trifecta >=1.7.1.1 && <=2")))))))
10697 (inputs
10698 `(("ghc-aeson" ,ghc-aeson)
10699 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10700 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10701 ("ghc-base-compat" ,ghc-base-compat)
10702 ("ghc-generics-sop" ,ghc-generics-sop)
10703 ("ghc-hashable" ,ghc-hashable)
10704 ("ghc-memotrie" ,ghc-memotrie)
10705 ("ghc-parsers" ,ghc-parsers)
10706 ("ghc-quickcheck" ,ghc-quickcheck)
10707 ("ghc-scientific" ,ghc-scientific)
10708 ("ghc-tagged" ,ghc-tagged)
10709 ("ghc-unordered-containers" ,ghc-unordered-containers)
10710 ("ghc-uuid-types" ,ghc-uuid-types)
10711 ("ghc-vector" ,ghc-vector)))
10712 (native-inputs
10713 `(("ghc-base-compat" ,ghc-base-compat)
10714 ("ghc-quickcheck" ,ghc-quickcheck)
10715 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10716 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10717 ("ghc-trifecta" ,ghc-trifecta)
10718 ("ghc-tasty" ,ghc-tasty)
10719 ("ghc-tasty-golden" ,ghc-tasty-golden)
10720 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10721 (home-page "https://github.com/phadej/tree-diff")
10722 (synopsis "Compute difference between (expression) trees")
10723 (description "This Haskell library provides a function for computing
10724the difference between (expression) trees. It also provides a way to
10725compute the difference between arbitrary abstract datatypes (ADTs) using
10726@code{Generics}-derivable helpers.")
10727 (license license:bsd-3)))
10728
10729(define-public ghc-trifecta
10730 (package
10731 (name "ghc-trifecta")
10732 (version "2")
10733 (source (origin
10734 (method url-fetch)
10735 (uri (string-append
10736 "https://hackage.haskell.org/package/trifecta/"
10737 "trifecta-" version ".tar.gz"))
10738 (sha256
10739 (base32
10740 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10741 (build-system haskell-build-system)
10742 (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
10743 (inputs
10744 `(("ghc-reducers" ,ghc-reducers)
10745 ("ghc-semigroups" ,ghc-semigroups)
10746 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10747 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10748 ("ghc-blaze-builder" ,ghc-blaze-builder)
10749 ("ghc-blaze-html" ,ghc-blaze-html)
10750 ("ghc-blaze-markup" ,ghc-blaze-markup)
10751 ("ghc-charset" ,ghc-charset)
10752 ("ghc-comonad" ,ghc-comonad)
10753 ("ghc-fingertree" ,ghc-fingertree)
10754 ("ghc-hashable" ,ghc-hashable)
10755 ("ghc-lens" ,ghc-lens)
10756 ("ghc-parsers" ,ghc-parsers)
10757 ("ghc-profunctors" ,ghc-profunctors)
10758 ("ghc-unordered-containers" ,ghc-unordered-containers)
10759 ("ghc-utf8-string" ,ghc-utf8-string)))
10760 (native-inputs
10761 `(("cabal-doctest" ,cabal-doctest)
10762 ("ghc-doctest" ,ghc-doctest)
10763 ("ghc-quickcheck" ,ghc-quickcheck)))
10764 (home-page "https://github.com/ekmett/trifecta/")
10765 (synopsis "Parser combinator library with convenient diagnostics")
10766 (description "Trifecta is a modern parser combinator library for Haskell,
10767with slicing and Clang-style colored diagnostics.")
10768 (license license:bsd-3)))
10769
10770(define-public ghc-tuple-th
10771 (package
10772 (name "ghc-tuple-th")
10773 (version "0.2.5")
10774 (source
10775 (origin
10776 (method url-fetch)
10777 (uri (string-append "https://hackage.haskell.org/package/"
10778 "tuple-th-" version "/"
10779 "tuple-th-" version ".tar.gz"))
10780 (sha256
10781 (base32
10782 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10783 (build-system haskell-build-system)
10784 (home-page "https://github.com/DanielSchuessler/tuple-th")
10785 (synopsis "Generate utility functions for tuples of statically known size
10786for Haskell")
10787 (description "This Haskell package contains Template Haskell functions for
10788generating functions similar to those in @code{Data.List} for tuples of
10789statically known size.")
10790 (license license:bsd-3)))
10791
10792(define-public ghc-typed-process
10793 (package
10794 (name "ghc-typed-process")
72fb84a5 10795 (version "0.2.6.0")
dddbc90c
RV
10796 (source
10797 (origin
10798 (method url-fetch)
10799 (uri (string-append "https://hackage.haskell.org/package/"
10800 "typed-process/typed-process-"
10801 version ".tar.gz"))
10802 (sha256
10803 (base32
72fb84a5 10804 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
10805 (build-system haskell-build-system)
10806 (inputs
72fb84a5
TS
10807 `(("ghc-async" ,ghc-async)
10808 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
10809 (native-inputs
10810 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10811 ("ghc-hspec" ,ghc-hspec)
10812 ("hspec-discover" ,hspec-discover)
10813 ("ghc-temporary" ,ghc-temporary)))
10814 (home-page "https://haskell-lang.org/library/typed-process")
10815 (synopsis "Run external processes with strong typing of streams")
10816 (description
10817 "This library provides the ability to launch and interact with external
10818processes. It wraps around the @code{process} library, and intends to improve
10819upon it.")
10820 (license license:expat)))
10821
d392f803
AG
10822(define-public ghc-unagi-chan
10823 (package
10824 (name "ghc-unagi-chan")
10825 (version "0.4.1.2")
10826 (source
10827 (origin
10828 (method url-fetch)
10829 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
10830 "/unagi-chan-" version ".tar.gz"))
10831 (sha256
10832 (base32
10833 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
10834 (build-system haskell-build-system)
10835 (inputs
10836 `(("ghc-atomic-primops" ,ghc-atomic-primops)
10837 ("ghc-primitive" ,ghc-primitive)))
10838 (arguments
10839 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
10840 #:cabal-revision
10841 ("1"
10842 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
10843 (home-page "http://hackage.haskell.org/package/unagi-chan")
10844 (synopsis "Fast concurrent queues with a Chan-like API, and more")
10845 (description
10846 "This library provides implementations of concurrent FIFO queues (for
10847both general boxed and primitive unboxed values) that are fast, perform well
10848under contention, and offer a Chan-like interface. The library may be of
10849limited usefulness outside of x86 architectures where the fetch-and-add
10850instruction is not available.")
10851 (license license:bsd-3)))
10852
dddbc90c
RV
10853(define-public ghc-unbounded-delays
10854 (package
10855 (name "ghc-unbounded-delays")
10856 (version "0.1.1.0")
10857 (source
10858 (origin
10859 (method url-fetch)
10860 (uri (string-append
10861 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
10862 version
10863 ".tar.gz"))
10864 (sha256
10865 (base32
10866 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
10867 (build-system haskell-build-system)
10868 (home-page "https://github.com/basvandijk/unbounded-delays")
10869 (synopsis "Unbounded thread delays and timeouts")
10870 (description "The @code{threadDelay} and @code{timeout} functions from the
10871Haskell base library use the bounded @code{Int} type for specifying the delay
10872or timeout period. This package provides alternative functions which use the
10873unbounded @code{Integer} type.")
10874 (license license:bsd-3)))
10875
10876(define-public ghc-unexceptionalio
10877 (package
10878 (name "ghc-unexceptionalio")
10879 (version "0.4.0")
10880 (source
10881 (origin
10882 (method url-fetch)
10883 (uri (string-append "https://hackage.haskell.org/package/"
10884 "unexceptionalio-" version "/" "unexceptionalio-"
10885 version ".tar.gz"))
10886 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
10887 (build-system haskell-build-system)
10888 (home-page "https://github.com/singpolyma/unexceptionalio")
10889 (synopsis "IO without any non-error, synchronous exceptions")
10890 (description "When you've caught all the exceptions that can be
10891handled safely, this is what you're left with.")
10892 (license license:isc)))
10893
10894(define-public ghc-union-find
10895 (package
10896 (name "ghc-union-find")
10897 (version "0.2")
10898 (source (origin
10899 (method url-fetch)
10900 (uri (string-append
10901 "https://hackage.haskell.org/package/union-find/union-find-"
10902 version ".tar.gz"))
10903 (sha256
10904 (base32
10905 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
10906 (build-system haskell-build-system)
10907 (home-page "https://github.com/nominolo/union-find")
10908 (synopsis "Efficient union and equivalence testing of sets")
10909 (description
10910 "The Union/Find algorithm implements these operations in (effectively)
10911constant-time:
10912@enumerate
10913@item Check whether two elements are in the same equivalence class.
10914@item Create a union of two equivalence classes.
10915@item Look up the descriptor of the equivalence class.
10916@end enumerate\n")
10917 (license license:bsd-3)))
10918
10919(define-public ghc-uniplate
10920 (package
10921 (name "ghc-uniplate")
10922 (version "1.6.12")
10923 (source
10924 (origin
10925 (method url-fetch)
10926 (uri (string-append
10927 "https://hackage.haskell.org/package/uniplate/uniplate-"
10928 version
10929 ".tar.gz"))
10930 (sha256
10931 (base32
10932 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
10933 (build-system haskell-build-system)
10934 (inputs
10935 `(("ghc-syb" ,ghc-syb)
10936 ("ghc-hashable" ,ghc-hashable)
10937 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10938 (home-page "http://community.haskell.org/~ndm/uniplate/")
10939 (synopsis "Simple, concise and fast generic operations")
10940 (description "Uniplate is a library for writing simple and concise generic
10941operations. Uniplate has similar goals to the original Scrap Your Boilerplate
10942work, but is substantially simpler and faster.")
10943 (license license:bsd-3)))
10944
10945(define-public ghc-unix-compat
10946 (package
10947 (name "ghc-unix-compat")
bc82e9f5 10948 (version "0.5.2")
dddbc90c
RV
10949 (source
10950 (origin
10951 (method url-fetch)
10952 (uri (string-append
10953 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
10954 version
10955 ".tar.gz"))
10956 (sha256
10957 (base32
bc82e9f5 10958 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
10959 (build-system haskell-build-system)
10960 (home-page
10961 "https://github.com/jystic/unix-compat")
10962 (synopsis "Portable POSIX-compatibility layer")
10963 (description
10964 "This package provides portable implementations of parts of the unix
10965package. This package re-exports the unix package when available. When it
10966isn't available, portable implementations are used.")
10967 (license license:bsd-3)))
10968
10969(define-public ghc-unix-time
10970 (package
10971 (name "ghc-unix-time")
fad9cff2 10972 (version "0.4.7")
dddbc90c
RV
10973 (source
10974 (origin
10975 (method url-fetch)
10976 (uri (string-append
10977 "https://hackage.haskell.org/package/unix-time/unix-time-"
10978 version
10979 ".tar.gz"))
10980 (sha256
10981 (base32
fad9cff2 10982 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
10983 (build-system haskell-build-system)
10984 (arguments
10985 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
10986 ; is weird, that should be provided by GHC 7.10.2.
10987 (inputs
10988 `(("ghc-old-time" ,ghc-old-time)
10989 ("ghc-old-locale" ,ghc-old-locale)))
10990 (home-page "https://hackage.haskell.org/package/unix-time")
10991 (synopsis "Unix time parser/formatter and utilities")
10992 (description "This library provides fast parsing and formatting utilities
10993for Unix time in Haskell.")
10994 (license license:bsd-3)))
10995
10996(define-public ghc-unliftio
10997 (package
10998 (name "ghc-unliftio")
a4084db1 10999 (version "0.2.12")
dddbc90c
RV
11000 (source
11001 (origin
11002 (method url-fetch)
11003 (uri (string-append
11004 "https://hackage.haskell.org/package/unliftio/unliftio-"
11005 version
11006 ".tar.gz"))
11007 (sha256
11008 (base32
a4084db1 11009 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
11010 (build-system haskell-build-system)
11011 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
11012 (inputs
11013 `(("ghc-async" ,ghc-async)
11014 ("ghc-unliftio-core" ,ghc-unliftio-core)))
11015 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
11016 (home-page "https://github.com/fpco/unliftio")
11017 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
11018IO (batteries included)")
11019 (description "This Haskell package provides the core @code{MonadUnliftIO}
11020typeclass, a number of common instances, and a collection of common functions
11021working with it.")
11022 (license license:expat)))
11023
11024(define-public ghc-unliftio-core
11025 (package
11026 (name "ghc-unliftio-core")
2ae42618 11027 (version "0.1.2.0")
dddbc90c
RV
11028 (source
11029 (origin
11030 (method url-fetch)
11031 (uri (string-append "https://hackage.haskell.org/package/"
11032 "unliftio-core-" version "/"
11033 "unliftio-core-" version ".tar.gz"))
11034 (sha256
11035 (base32
2ae42618 11036 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
11037 (build-system haskell-build-system)
11038 (arguments
11039 `(#:cabal-revision
2ae42618 11040 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
11041 (home-page
11042 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
11043 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
11044 (description "This Haskell package provides the core @code{MonadUnliftIO}
11045typeclass, instances for base and transformers, and basic utility
11046functions.")
11047 (license license:expat)))
11048
11049(define-public ghc-unordered-containers
11050 (package
11051 (name "ghc-unordered-containers")
ca01f8d3 11052 (version "0.2.10.0")
dddbc90c
RV
11053 (outputs '("out" "doc"))
11054 (source
11055 (origin
11056 (method url-fetch)
11057 (uri (string-append
11058 "https://hackage.haskell.org/package/unordered-containers"
11059 "/unordered-containers-" version ".tar.gz"))
11060 (sha256
11061 (base32
ca01f8d3 11062 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
11063 (build-system haskell-build-system)
11064 (inputs
11065 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
11066 ("ghc-hunit" ,ghc-hunit)
11067 ("ghc-quickcheck" ,ghc-quickcheck)
11068 ("ghc-test-framework" ,ghc-test-framework)
11069 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11070 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11071 ("ghc-hashable" ,ghc-hashable)))
11072 (home-page
11073 "https://github.com/tibbe/unordered-containers")
11074 (synopsis
11075 "Efficient hashing-based container types")
11076 (description
11077 "Efficient hashing-based container types. The containers have been
11078optimized for performance critical use, both in terms of large data quantities
11079and high speed.")
11080 (license license:bsd-3)))
11081
11082(define-public ghc-unordered-containers-bootstrap
11083 (package
11084 (inherit ghc-unordered-containers)
11085 (name "ghc-unordered-containers-bootstrap")
11086 (arguments `(#:tests? #f))
11087 (inputs
11088 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11089 (properties '((hidden? #t)))))
dddbc90c 11090
a52f4c57
JS
11091(define-public ghc-unsafe
11092 (package
11093 (name "ghc-unsafe")
11094 (version "0.0")
11095 (source
11096 (origin
11097 (method url-fetch)
11098 (uri
11099 (string-append
11100 "https://hackage.haskell.org/package/unsafe/unsafe-"
11101 version ".tar.gz"))
11102 (sha256
11103 (base32
11104 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
11105 (build-system haskell-build-system)
11106 (home-page "https://hackage.haskell.org/package/unsafe")
11107 (synopsis "Unified interface to unsafe functions")
11108 (description "Safe Haskell introduced the notion of safe and unsafe
11109modules. In order to make as many as possible modules ``safe'', the
11110well-known unsafe functions were moved to distinguished modules. This
11111makes it hard to write packages that work with both old and new versions
11112of GHC. This package provides a single module System.Unsafe that
11113exports the unsafe functions from the base package. It provides them in
11114a style ready for qualification, that is, you should import them by
11115@code{import qualified System.Unsafe as Unsafe}.")
11116 (license license:bsd-3)))
11117
dddbc90c
RV
11118(define-public ghc-uri-bytestring
11119 (package
11120 (name "ghc-uri-bytestring")
11121 (version "0.3.2.0")
11122 (source
11123 (origin
11124 (method url-fetch)
11125 (uri (string-append "https://hackage.haskell.org/package/"
11126 "uri-bytestring-" version "/"
11127 "uri-bytestring-" version ".tar.gz"))
11128 (sha256
11129 (base32
11130 "1q04j5ybvk37zk2m0bkjwyhblz0ymdj0cn4rvsvdca1ikn5xdv5c"))))
11131 (build-system haskell-build-system)
11132 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11133 ("ghc-fail" ,ghc-fail)
11134 ("ghc-blaze-builder" ,ghc-blaze-builder)
11135 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
11136 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11137 ("ghc-hunit" ,ghc-hunit)
11138 ("ghc-quickcheck" ,ghc-quickcheck)
11139 ("ghc-tasty" ,ghc-tasty)
11140 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11141 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11142 ("ghc-base-compat" ,ghc-base-compat)
11143 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11144 ("ghc-semigroups" ,ghc-semigroups)
11145 ("ghc-generics-sop" ,ghc-generics-sop)))
11146 (home-page "https://github.com/Soostone/uri-bytestring")
11147 (synopsis "Haskell URI parsing as ByteStrings")
11148 (description "This Haskell package aims to be an RFC3986 compliant URI
11149parser that uses ByteStrings for parsing and representing the URI data.")
11150 (license license:bsd-3)))
11151
11152(define-public ghc-utf8-string
11153 (package
11154 (name "ghc-utf8-string")
11155 (version "1.0.1.1")
11156 (source
11157 (origin
11158 (method url-fetch)
11159 (uri (string-append
11160 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
11161 version
11162 ".tar.gz"))
11163 (sha256
11164 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
11165 (build-system haskell-build-system)
11166 (arguments
11167 `(#:cabal-revision
11168 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
11169 (home-page "https://github.com/glguy/utf8-string/")
11170 (synopsis "Support for reading and writing UTF8 Strings")
11171 (description
11172 "A UTF8 layer for Strings. The utf8-string package provides operations
11173for encoding UTF8 strings to Word8 lists and back, and for reading and writing
11174UTF8 without truncation.")
11175 (license license:bsd-3)))
11176
11177(define-public ghc-utility-ht
11178 (package
11179 (name "ghc-utility-ht")
11180 (version "0.0.14")
11181 (home-page "https://hackage.haskell.org/package/utility-ht")
11182 (source
11183 (origin
11184 (method url-fetch)
11185 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
11186 (sha256
11187 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
11188 (build-system haskell-build-system)
11189 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
11190 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
11191 (description "This package includes Hakell modules providing various
11192helper functions for Lists, Maybes, Tuples, Functions.")
11193 (license license:bsd-3)))
11194
11195(define-public ghc-uuid
11196 (package
11197 (name "ghc-uuid")
11198 (version "1.3.13")
11199 (source
11200 (origin
11201 (method url-fetch)
11202 (uri (string-append "https://hackage.haskell.org/package/"
11203 "uuid-" version "/"
11204 "uuid-" version ".tar.gz"))
11205 (sha256
11206 (base32
11207 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
11208 (build-system haskell-build-system)
11209 (arguments
11210 `(#:cabal-revision
11211 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
11212 #:phases
11213 (modify-phases %standard-phases
11214 (add-before 'configure 'strip-test-framework-constraints
11215 (lambda _
11216 (substitute* "uuid.cabal"
11217 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
11218 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
11219 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11220 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11221 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11222 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
11223 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
11224 ("ghc-entropy" ,ghc-entropy)
11225 ("ghc-network-info" ,ghc-network-info)
11226 ("ghc-random" ,ghc-random)
11227 ("ghc-uuid-types" ,ghc-uuid-types)))
11228 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11229 ("ghc-quickcheck" ,ghc-quickcheck)
11230 ("ghc-tasty" ,ghc-tasty)
11231 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11232 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11233 (home-page "https://github.com/hvr/uuid")
11234 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
11235 (description "This Haskell library provides utilities creating, comparing,
11236parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
11237 (license license:bsd-3)))
11238
11239(define-public ghc-uuid-types
11240 (package
11241 (name "ghc-uuid-types")
11242 (version "1.0.3")
11243 (source
11244 (origin
11245 (method url-fetch)
11246 (uri (string-append "https://hackage.haskell.org/package/"
11247 "uuid-types-" version "/"
11248 "uuid-types-" version ".tar.gz"))
11249 (sha256
11250 (base32
11251 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
11252 (build-system haskell-build-system)
11253 (arguments
11254 `(#:phases
11255 (modify-phases %standard-phases
11256 (add-before 'configure 'strip-test-framework-constraints
11257 (lambda _
11258 (substitute* "uuid-types.cabal"
11259 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
11260 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
11261 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11262 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11263 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11264 (inputs `(("ghc-hashable" ,ghc-hashable)
11265 ("ghc-random" ,ghc-random)))
11266 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11267 ("ghc-quickcheck" ,ghc-quickcheck)
11268 ("ghc-tasty" ,ghc-tasty)
11269 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11270 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11271 (home-page "https://github.com/hvr/uuid")
11272 (synopsis "Haskell type definitions for UUIDs")
11273 (description "This Haskell library contains type definitions for
11274@dfn{Universally Unique Identifiers} or
11275@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
11276functions.")
11277 (license license:bsd-3)))
11278
11279(define-public ghc-validation
11280 (package
11281 (name "ghc-validation")
11282 (version "1")
11283 (source
11284 (origin
11285 (method url-fetch)
11286 (uri (string-append
11287 "mirror://hackage/package/validation/validation-"
11288 version
11289 ".tar.gz"))
11290 (sha256
11291 (base32
11292 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
11293 (build-system haskell-build-system)
11294 (arguments
11295 `(#:cabal-revision
11296 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
11297 (inputs
11298 `(("ghc-semigroups" ,ghc-semigroups)
11299 ("ghc-semigroupoids" ,ghc-semigroupoids)
11300 ("ghc-bifunctors" ,ghc-bifunctors)
11301 ("ghc-lens" ,ghc-lens)))
11302 (native-inputs
11303 `(("ghc-hedgehog" ,ghc-hedgehog)
11304 ("ghc-hunit" ,ghc-hunit)))
11305 (home-page "https://github.com/qfpl/validation")
11306 (synopsis
11307 "Data-type like Either but with an accumulating Applicative")
11308 (description
11309 "A data-type like Either but with differing properties and type-class
11310instances.
11311
11312Library support is provided for this different representation, including
11313@code{lens}-related functions for converting between each and abstracting over
11314their similarities.
11315
11316The @code{Validation} data type is isomorphic to @code{Either}, but has an
11317instance of @code{Applicative} that accumulates on the error side. That is to
11318say, if two (or more) errors are encountered, they are appended using a
11319@{Semigroup} operation.
11320
11321As a consequence of this @code{Applicative} instance, there is no
11322corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11323example of, \"An applicative functor that is not a monad.\"")
11324 (license license:bsd-3)))
11325
11326(define-public ghc-validity
11327 (package
11328 (name "ghc-validity")
3f1ba75d 11329 (version "0.9.0.2")
dddbc90c
RV
11330 (source
11331 (origin
11332 (method url-fetch)
11333 (uri (string-append
11334 "https://hackage.haskell.org/package/validity/validity-"
11335 version
11336 ".tar.gz"))
11337 (sha256
11338 (base32
3f1ba75d 11339 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
11340 (build-system haskell-build-system)
11341 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11342 ("hspec-discover" ,hspec-discover)))
11343 (home-page
11344 "https://github.com/NorfairKing/validity")
11345 (synopsis "Validity typeclass")
11346 (description
11347 "Values of custom types usually have invariants imposed upon them. This
11348package provides the @code{Validity} type class, which makes these invariants
11349explicit by providing a function to check whether the invariants hold.")
11350 (license license:expat)))
11351
11352(define-public ghc-vault
11353 (package
11354 (name "ghc-vault")
11355 (version "0.3.1.2")
11356 (source
11357 (origin
11358 (method url-fetch)
11359 (uri (string-append
11360 "https://hackage.haskell.org/package/vault/vault-"
11361 version
11362 ".tar.gz"))
11363 (sha256
11364 (base32
11365 "072mbrihsdsb8c6xvg6lvk0rqjgvxvi8qkg4n6wwym5hq0pfa04y"))))
11366 (build-system haskell-build-system)
11367 (inputs
11368 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11369 ("ghc-hashable" ,ghc-hashable)
11370 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11371 (home-page
11372 "https://github.com/HeinrichApfelmus/vault")
11373 (synopsis "Persistent store for arbitrary values")
11374 (description "This package provides vaults for Haskell. A vault is a
11375persistent store for values of arbitrary types. It's like having first-class
11376access to the storage space behind @code{IORefs}. The data structure is
11377analogous to a bank vault, where you can access different bank boxes with
11378different keys; hence the name. Also provided is a @code{locker} type,
11379representing a store for a single element.")
11380 (license license:bsd-3)))
11381
11382(define-public ghc-vector
11383 (package
11384 (name "ghc-vector")
3ad67f6b 11385 (version "0.12.0.3")
dddbc90c
RV
11386 (outputs '("out" "doc"))
11387 (source
11388 (origin
11389 (method url-fetch)
11390 (uri (string-append
11391 "https://hackage.haskell.org/package/vector/vector-"
11392 version
11393 ".tar.gz"))
11394 (sha256
11395 (base32
3ad67f6b 11396 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
11397 (build-system haskell-build-system)
11398 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11399 ;; disabled for now.
11400 (arguments
3ad67f6b 11401 `(#:tests? #f))
dddbc90c
RV
11402 (inputs
11403 `(("ghc-primitive" ,ghc-primitive)
11404 ("ghc-random" ,ghc-random)
11405 ("ghc-quickcheck" ,ghc-quickcheck)
11406 ;; ("ghc-hunit" ,ghc-hunit)
11407 ;; ("ghc-test-framework" ,ghc-test-framework)
11408 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11409 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11410 ))
11411 (home-page "https://github.com/haskell/vector")
11412 (synopsis "Efficient Arrays")
11413 (description "This library provides an efficient implementation of
11414Int-indexed arrays (both mutable and immutable), with a powerful loop
11415optimisation framework.")
11416 (license license:bsd-3)))
11417
11418(define-public ghc-vector-algorithms
11419 (package
11420 (name "ghc-vector-algorithms")
e71f316f 11421 (version "0.8.0.1")
dddbc90c
RV
11422 (source
11423 (origin
11424 (method url-fetch)
11425 (uri (string-append "https://hackage.haskell.org/package/"
11426 "vector-algorithms-" version "/"
11427 "vector-algorithms-" version ".tar.gz"))
11428 (sha256
11429 (base32
e71f316f 11430 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
11431 (build-system haskell-build-system)
11432 (inputs
11433 `(("ghc-vector" ,ghc-vector)))
11434 (native-inputs
11435 `(("ghc-quickcheck" ,ghc-quickcheck)))
11436 (home-page "https://github.com/bos/math-functions")
11437 (synopsis "Algorithms for vector arrays in Haskell")
11438 (description "This Haskell library algorithms for vector arrays.")
11439 (license license:bsd-3)))
11440
11441(define-public ghc-vector-binary-instances
11442 (package
11443 (name "ghc-vector-binary-instances")
ca0701ef 11444 (version "0.2.5.1")
dddbc90c
RV
11445 (source
11446 (origin
11447 (method url-fetch)
11448 (uri (string-append
11449 "https://hackage.haskell.org/package/"
11450 "vector-binary-instances/vector-binary-instances-"
11451 version ".tar.gz"))
11452 (sha256
11453 (base32
ca0701ef 11454 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 11455 (build-system haskell-build-system)
dddbc90c
RV
11456 (inputs
11457 `(("ghc-vector" ,ghc-vector)))
11458 (native-inputs
11459 `(("ghc-tasty" ,ghc-tasty)
11460 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11461 (home-page "https://github.com/bos/vector-binary-instances")
11462 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11463 (description "This library provides instances of @code{Binary} for the
11464types defined in the @code{vector} package, making it easy to serialize
11465vectors to and from disk. We use the generic interface to vectors, so all
11466vector types are supported. Specific instances are provided for unboxed,
11467boxed and storable vectors.")
11468 (license license:bsd-3)))
11469
11470(define-public ghc-vector-builder
11471 (package
11472 (name "ghc-vector-builder")
11473 (version "0.3.6")
11474 (source
11475 (origin
11476 (method url-fetch)
11477 (uri (string-append "https://hackage.haskell.org/package/"
11478 "vector-builder-" version "/"
11479 "vector-builder-" version ".tar.gz"))
11480 (sha256
11481 (base32
11482 "06d2pa1fb3ydrl7l6rjazqyxv5i73v65x2f5fp0ypjxfbm6jsmn8"))))
11483 (build-system haskell-build-system)
11484 (inputs `(("ghc-vector" ,ghc-vector)
11485 ("ghc-semigroups" ,ghc-semigroups)
11486 ("ghc-base-prelude" ,ghc-base-prelude)))
11487 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11488 ("ghc-tasty" ,ghc-tasty)
11489 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11490 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11491 ("ghc-hunit" ,ghc-hunit)
11492 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11493 ("ghc-rerebase" ,ghc-rerebase)))
11494 (home-page "https://github.com/nikita-volkov/vector-builder")
11495 (synopsis "Vector builder for Haskell")
11496 (description "This Haskell package provides an API for constructing vectors.
11497It provides the composable @code{Builder} abstraction, which has instances of the
11498@code{Monoid} and @code{Semigroup} classes.
11499
11500You would first use the @code{Builder} abstraction to specify the structure of
11501the vector; then you can execute the builder to actually produce the
11502vector. ")
11503 (license license:expat)))
11504
11505(define-public ghc-vector-th-unbox
11506 (package
11507 (name "ghc-vector-th-unbox")
63056e61 11508 (version "0.2.1.7")
dddbc90c
RV
11509 (source
11510 (origin
11511 (method url-fetch)
11512 (uri (string-append "https://hackage.haskell.org/package/"
11513 "vector-th-unbox-" version "/"
11514 "vector-th-unbox-" version ".tar.gz"))
11515 (sha256
11516 (base32
63056e61 11517 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
11518 (build-system haskell-build-system)
11519 (inputs
11520 `(("ghc-vector" ,ghc-vector)
11521 ("ghc-data-default" ,ghc-data-default)))
11522 (home-page "https://github.com/liyang/vector-th-unbox")
11523 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
11524 (description "This Haskell library provides a Template Haskell
11525deriver for unboxed vectors, given a pair of coercion functions to
11526and from some existing type with an Unbox instance.")
11527 (license license:bsd-3)))
11528
11529(define-public ghc-void
11530 (package
11531 (name "ghc-void")
51889121 11532 (version "0.7.3")
dddbc90c
RV
11533 (source
11534 (origin
11535 (method url-fetch)
11536 (uri (string-append
11537 "https://hackage.haskell.org/package/void/void-"
11538 version
11539 ".tar.gz"))
11540 (sha256
11541 (base32
51889121 11542 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
11543 (build-system haskell-build-system)
11544 (inputs
11545 `(("ghc-semigroups" ,ghc-semigroups)
11546 ("ghc-hashable" ,ghc-hashable)))
11547 (home-page "https://github.com/ekmett/void")
11548 (synopsis
11549 "Logically uninhabited data type")
11550 (description
11551 "A Haskell 98 logically uninhabited data type, used to indicate that a
11552given term should not exist.")
11553 (license license:bsd-3)))
11554
11555(define-public ghc-wave
11556 (package
11557 (name "ghc-wave")
1631a0f7 11558 (version "0.2.0")
dddbc90c
RV
11559 (source (origin
11560 (method url-fetch)
11561 (uri (string-append
11562 "https://hackage.haskell.org/package/wave/wave-"
11563 version
11564 ".tar.gz"))
11565 (sha256
11566 (base32
1631a0f7 11567 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
11568 (build-system haskell-build-system)
11569 (arguments
11570 '(#:phases
11571 (modify-phases %standard-phases
11572 (add-before 'configure 'update-constraints
11573 (lambda _
11574 (substitute* "wave.cabal"
11575 (("temporary.* < 1\\.3")
11576 "temporary >= 1.1 && < 1.4")))))))
11577 (inputs
11578 `(("ghc-cereal" ,ghc-cereal)
11579 ("ghc-data-default-class"
11580 ,ghc-data-default-class)
11581 ("ghc-quickcheck" ,ghc-quickcheck)
11582 ("ghc-temporary" ,ghc-temporary)))
11583 (native-inputs
11584 `(("hspec-discover" ,hspec-discover)
11585 ("ghc-hspec" ,ghc-hspec)))
11586 (home-page "https://github.com/mrkkrp/wave")
11587 (synopsis "Work with WAVE and RF64 files in Haskell")
11588 (description "This package allows you to work with WAVE and RF64
11589files in Haskell.")
11590 (license license:bsd-3)))
11591
11592(define-public ghc-wcwidth
11593 (package
11594 (name "ghc-wcwidth")
11595 (version "0.0.2")
11596 (source
11597 (origin
11598 (method url-fetch)
11599 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11600 version ".tar.gz"))
11601 (sha256
11602 (base32
11603 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11604 (build-system haskell-build-system)
11605 (inputs
11606 `(("ghc-setlocale" ,ghc-setlocale)
11607 ("ghc-utf8-string" ,ghc-utf8-string)
11608 ("ghc-attoparsec" ,ghc-attoparsec)))
11609 (home-page "https://github.com/solidsnack/wcwidth/")
11610 (synopsis "Haskell bindings to wcwidth")
11611 (description "This package provides Haskell bindings to your system's
11612native wcwidth and a command line tool to examine the widths assigned by it.
11613The command line tool can compile a width table to Haskell code that assigns
11614widths to the Char type.")
11615 (license license:bsd-3)))
11616
11617(define-public ghc-wcwidth-bootstrap
11618 (package
11619 (inherit ghc-wcwidth)
11620 (name "ghc-wcwidth-bootstrap")
11621 (inputs
11622 `(("ghc-setlocale" ,ghc-setlocale)
11623 ("ghc-utf8-string" ,ghc-utf8-string)
11624 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 11625 (properties '((hidden? #t)))))
dddbc90c
RV
11626
11627(define-public ghc-weigh
11628 (package
11629 (name "ghc-weigh")
b6d9777f 11630 (version "0.0.14")
dddbc90c
RV
11631 (source
11632 (origin
11633 (method url-fetch)
11634 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11635 "weigh-" version ".tar.gz"))
11636 (sha256
11637 (base32
b6d9777f 11638 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
11639 (build-system haskell-build-system)
11640 (inputs
11641 `(("ghc-split" ,ghc-split)
11642 ("ghc-temporary" ,ghc-temporary)))
11643 (home-page "https://github.com/fpco/weigh#readme")
11644 (synopsis "Measure allocations of a Haskell functions/values")
11645 (description "This package provides tools to measure the memory usage of a
11646Haskell value or function.")
11647 (license license:bsd-3)))
11648
11649(define-public ghc-wl-pprint
11650 (package
11651 (name "ghc-wl-pprint")
11652 (version "1.2.1")
11653 (source (origin
11654 (method url-fetch)
11655 (uri (string-append
11656 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11657 version ".tar.gz"))
11658 (sha256
11659 (base32
11660 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11661 (build-system haskell-build-system)
11662 (home-page "https://hackage.haskell.org/package/wl-pprint")
11663 (synopsis "Wadler/Leijen pretty printer")
11664 (description
11665 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11666Printer}. This version allows the library user to declare overlapping
11667instances of the @code{Pretty} class.")
11668 (license license:bsd-3)))
11669
11670(define-public ghc-wl-pprint-annotated
11671 (package
11672 (name "ghc-wl-pprint-annotated")
11673 (version "0.1.0.1")
11674 (source
11675 (origin
11676 (method url-fetch)
11677 (uri (string-append
11678 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11679 version
11680 ".tar.gz"))
11681 (sha256
11682 (base32
11683 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11684 (build-system haskell-build-system)
11685 (native-inputs
11686 `(("ghc-tasty" ,ghc-tasty)
11687 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11688 (home-page
11689 "https://github.com/minad/wl-pprint-annotated#readme")
11690 (synopsis
11691 "Wadler/Leijen pretty printer with annotation support")
11692 (description
11693 "Annotations are useful for coloring. This is a limited version of
11694@code{wl-pprint-extras} without support for point effects and without the free
11695monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11696Compared to @code{annotated-wl-pprint} this library provides a slightly
11697modernized interface.")
11698 (license license:bsd-3)))
11699
11700(define-public ghc-wl-pprint-text
11701 (package
11702 (name "ghc-wl-pprint-text")
11703 (version "1.2.0.0")
11704 (source
11705 (origin
11706 (method url-fetch)
11707 (uri (string-append
11708 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11709 version ".tar.gz"))
11710 (sha256
11711 (base32
11712 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11713 (build-system haskell-build-system)
11714 (inputs
11715 `(("ghc-base-compat" ,ghc-base-compat)))
11716 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11717 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11718 (description
11719 "A clone of wl-pprint for use with the text library.")
11720 (license license:bsd-3)))
11721
11722(define-public ghc-word8
11723 (package
11724 (name "ghc-word8")
11725 (version "0.1.3")
11726 (source
11727 (origin
11728 (method url-fetch)
11729 (uri (string-append
11730 "https://hackage.haskell.org/package/word8/word8-"
11731 version
11732 ".tar.gz"))
11733 (sha256
11734 (base32
11735 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11736 (build-system haskell-build-system)
11737 (native-inputs
11738 `(("ghc-hspec" ,ghc-hspec)
11739 ("hspec-discover" ,hspec-discover)))
11740 (home-page "https://hackage.haskell.org/package/word8")
11741 (synopsis "Word8 library for Haskell")
11742 (description "Word8 library to be used with @code{Data.ByteString}.")
11743 (license license:bsd-3)))
11744
11745(define-public ghc-x11
11746 (package
11747 (name "ghc-x11")
6c4581a3 11748 (version "1.9.1")
dddbc90c
RV
11749 (source
11750 (origin
11751 (method url-fetch)
11752 (uri (string-append "https://hackage.haskell.org/package/X11/"
11753 "X11-" version ".tar.gz"))
11754 (sha256
6c4581a3 11755 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
11756 (build-system haskell-build-system)
11757 (inputs
11758 `(("libx11" ,libx11)
11759 ("libxrandr" ,libxrandr)
11760 ("libxinerama" ,libxinerama)
11761 ("libxscrnsaver" ,libxscrnsaver)
11762 ("ghc-data-default" ,ghc-data-default)))
11763 (home-page "https://github.com/haskell-pkg-janitors/X11")
11764 (synopsis "Bindings to the X11 graphics library")
11765 (description
11766 "This package provides Haskell bindings to the X11 graphics library. The
11767bindings are a direct translation of the C bindings.")
11768 (license license:bsd-3)))
11769
11770(define-public ghc-x11-xft
11771 (package
11772 (name "ghc-x11-xft")
11773 (version "0.3.1")
11774 (source
11775 (origin
11776 (method url-fetch)
11777 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11778 "X11-xft-" version ".tar.gz"))
11779 (sha256
11780 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11781 (inputs
11782 `(("ghc-x11" ,ghc-x11)
11783 ("ghc-utf8-string" ,ghc-utf8-string)
11784 ("libx11" ,libx11)
11785 ("libxft" ,libxft)
11786 ("xorgproto" ,xorgproto)))
11787 (native-inputs
11788 `(("pkg-config" ,pkg-config)))
11789 (build-system haskell-build-system)
11790 (home-page "https://hackage.haskell.org/package/X11-xft")
11791 (synopsis "Bindings to Xft")
11792 (description
11793 "Bindings to the Xft, X Free Type interface library, and some Xrender
11794parts.")
11795 (license license:lgpl2.1)))
11796
11797(define-public ghc-xdg-basedir
11798 (package
11799 (name "ghc-xdg-basedir")
11800 (version "0.2.2")
11801 (source
11802 (origin
11803 (method url-fetch)
11804 (uri (string-append
11805 "https://hackage.haskell.org/package/xdg-basedir/"
11806 "xdg-basedir-" version ".tar.gz"))
11807 (sha256
11808 (base32
11809 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
11810 (build-system haskell-build-system)
11811 (home-page "http://github.com/willdonnelly/xdg-basedir")
11812 (synopsis "XDG Base Directory library for Haskell")
11813 (description "This package provides a library implementing the XDG Base Directory spec.")
11814 (license license:bsd-3)))
11815
11816(define-public ghc-xml
11817 (package
11818 (name "ghc-xml")
11819 (version "1.3.14")
11820 (source
11821 (origin
11822 (method url-fetch)
11823 (uri (string-append
11824 "https://hackage.haskell.org/package/xml/xml-"
11825 version
11826 ".tar.gz"))
11827 (sha256
11828 (base32
11829 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
11830 (build-system haskell-build-system)
11831 (home-page "http://code.galois.com")
11832 (synopsis "Simple XML library for Haskell")
11833 (description "This package provides a simple XML library for Haskell.")
11834 (license license:bsd-3)))
11835
11836(define-public ghc-xml-conduit
11837 (package
11838 (name "ghc-xml-conduit")
11839 (version "1.8.0.1")
11840 (source
11841 (origin
11842 (method url-fetch)
11843 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
11844 "xml-conduit-" version ".tar.gz"))
11845 (sha256
11846 (base32
11847 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
11848 (build-system haskell-build-system)
11849 (inputs
11850 `(("ghc-conduit" ,ghc-conduit)
11851 ("ghc-conduit-extra" ,ghc-conduit-extra)
11852 ("ghc-doctest" ,ghc-doctest)
11853 ("ghc-resourcet" ,ghc-resourcet)
11854 ("ghc-xml-types" ,ghc-xml-types)
11855 ("ghc-attoparsec" ,ghc-attoparsec)
11856 ("ghc-data-default-class" ,ghc-data-default-class)
11857 ("ghc-blaze-markup" ,ghc-blaze-markup)
11858 ("ghc-blaze-html" ,ghc-blaze-html)
11859 ("ghc-monad-control" ,ghc-monad-control)
11860 ("ghc-hspec" ,ghc-hspec)
11861 ("ghc-hunit" ,ghc-hunit)))
11862 (home-page "https://github.com/snoyberg/xml")
11863 (synopsis "Utilities for dealing with XML with the conduit package")
11864 (description
11865 "This package provides pure-Haskell utilities for dealing with XML with
11866the @code{conduit} package.")
11867 (license license:expat)))
11868
11869(define-public ghc-xml-types
11870 (package
11871 (name "ghc-xml-types")
11872 (version "0.3.6")
11873 (source
11874 (origin
11875 (method url-fetch)
11876 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
11877 "xml-types-" version ".tar.gz"))
11878 (sha256
11879 (base32
11880 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
11881 (build-system haskell-build-system)
11882 (home-page "https://john-millikin.com/software/haskell-xml/")
11883 (synopsis "Basic types for representing XML")
11884 (description "This package provides basic types for representing XML
11885documents.")
11886 (license license:expat)))
11887
11888(define-public ghc-yaml
11889 (package
11890 (name "ghc-yaml")
11891 (version "0.8.32")
11892 (source (origin
11893 (method url-fetch)
11894 (uri (string-append "https://hackage.haskell.org/package/"
11895 "yaml/yaml-" version ".tar.gz"))
11896 (sha256
11897 (base32
11898 "0cbsyh4ilvjzq1q7pxls43k6pdqxg1l85xzibcwpbvmlvrizh86w"))))
11899 (build-system haskell-build-system)
11900 ;; The tests are broken on i686. They are fixed in 0.10.3.0.
11901 ;; See https://github.com/snoyberg/yaml/issues/158
11902 (arguments `(#:tests? #f))
11903 (inputs
11904 `(("ghc-conduit" ,ghc-conduit)
11905 ("ghc-resourcet" ,ghc-resourcet)
11906 ("ghc-aeson" ,ghc-aeson)
11907 ("ghc-unordered-containers" ,ghc-unordered-containers)
11908 ("ghc-vector" ,ghc-vector)
11909 ("ghc-attoparsec" ,ghc-attoparsec)
11910 ("ghc-scientific" ,ghc-scientific)
11911 ("ghc-semigroups" ,ghc-semigroups)
11912 ("ghc-temporary" ,ghc-temporary)
11913 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11914 ("ghc-base-compat" ,ghc-base-compat)))
11915 (native-inputs
11916 `(("ghc-hspec" ,ghc-hspec)
11917 ("ghc-hunit" ,ghc-hunit)
11918 ("hspec-discover" ,hspec-discover)
11919 ("ghc-mockery" ,ghc-mockery)))
11920 (home-page "https://github.com/snoyberg/yaml/")
11921 (synopsis "Parsing and rendering YAML documents")
11922 (description
11923 "This package provides a library to parse and render YAML documents.")
11924 (license license:bsd-3)))
11925
11926(define-public ghc-zip-archive
11927 (package
11928 (name "ghc-zip-archive")
93c1fdd3 11929 (version "0.4.1")
dddbc90c
RV
11930 (source
11931 (origin
11932 (method url-fetch)
11933 (uri (string-append
11934 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
11935 version
11936 ".tar.gz"))
11937 (sha256
11938 (base32
93c1fdd3 11939 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 11940 (build-system haskell-build-system)
93c1fdd3
TS
11941 (arguments
11942 `(#:phases
11943 (modify-phases %standard-phases
11944 (add-before 'check 'set-PATH-for-tests
11945 (lambda* (#:key inputs #:allow-other-keys)
11946 (let ((unzip (assoc-ref inputs "unzip"))
11947 (which (assoc-ref inputs "which"))
11948 (path (getenv "PATH")))
11949 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
11950 #t))))))
dddbc90c
RV
11951 (inputs
11952 `(("ghc-digest" ,ghc-digest)
11953 ("ghc-temporary" ,ghc-temporary)
11954 ("ghc-zlib" ,ghc-zlib)))
11955 (native-inputs
11956 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
11957 ("unzip" ,unzip)
11958 ("which" ,which)))
dddbc90c
RV
11959 (home-page "https://hackage.haskell.org/package/zip-archive")
11960 (synopsis "Zip archive library for Haskell")
11961 (description "The zip-archive library provides functions for creating,
11962modifying, and extracting files from zip archives in Haskell.")
11963 (license license:bsd-3)))
11964
11965(define-public ghc-zlib
11966 (package
11967 (name "ghc-zlib")
bf12089a 11968 (version "0.6.2.1")
dddbc90c
RV
11969 (outputs '("out" "doc"))
11970 (source
11971 (origin
11972 (method url-fetch)
11973 (uri (string-append
11974 "https://hackage.haskell.org/package/zlib/zlib-"
11975 version
11976 ".tar.gz"))
11977 (sha256
11978 (base32
bf12089a 11979 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
11980 (build-system haskell-build-system)
11981 (arguments
11982 `(#:phases
11983 (modify-phases %standard-phases
11984 (add-before 'configure 'strip-test-framework-constraints
11985 (lambda _
11986 (substitute* "zlib.cabal"
11987 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
11988 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
11989 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11990 (inputs `(("zlib" ,zlib)))
11991 (native-inputs
11992 `(("ghc-quickcheck" ,ghc-quickcheck)
11993 ("ghc-tasty" ,ghc-tasty)
11994 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11995 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11996 (home-page "https://hackage.haskell.org/package/zlib")
11997 (synopsis
11998 "Compression and decompression in the gzip and zlib formats")
11999 (description
12000 "This package provides a pure interface for compressing and decompressing
12001streams of data represented as lazy @code{ByteString}s. It uses the zlib C
12002library so it has high performance. It supports the @code{zlib}, @code{gzip}
12003and @code{raw} compression formats. It provides a convenient high level API
12004suitable for most tasks and for the few cases where more control is needed it
12005provides access to the full zlib feature set.")
bbf8bf31 12006 (license license:bsd-3)))
14e41996
RV
12007
12008(define-public ghc-zlib-bindings
12009 (package
12010 (name "ghc-zlib-bindings")
12011 (version "0.1.1.5")
12012 (source
12013 (origin
12014 (method url-fetch)
12015 (uri (string-append "https://hackage.haskell.org/package/"
12016 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
12017 (sha256
12018 (base32
12019 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
12020 (build-system haskell-build-system)
12021 (inputs
12022 `(("ghc-zlib" ,ghc-zlib)))
12023 (native-inputs
12024 `(("ghc-hspec" ,ghc-hspec)
12025 ("ghc-quickcheck" ,ghc-quickcheck)))
12026 (arguments
12027 `(#:cabal-revision
12028 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
12029 (home-page "https://github.com/snapframework/zlib-bindings")
12030 (synopsis "Low-level bindings to the @code{zlib} package")
12031 (description "This package provides low-level bindings to the
12032@code{zlib} package.")
12033 (license license:bsd-3)))