gnu: ghc-attoparsec: Update to 0.13.2.3.
[jackhill/guix/guix.git] / gnu / packages / haskell-xyz.scm
CommitLineData
6b34d01c 1;;; GNU Guix --- Functional package management for GNU
dddbc90c
RV
2;;; Copyright © 2015, 2016 Federico Beffa <beffa@fbengineering.ch>
3;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
4;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
5;;; Copyright © 2015, 2019 Eric Bavier <bavier@member.fsf.org>
6;;; Copyright © 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
7;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
799d8d3c 8;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
dddbc90c
RV
9;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
10;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
11;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
12;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
13;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
14;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
15;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
16;;; Copyright © 2018 Tonton <tonton@riseup.net>
17;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
18;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
19;;; Copyright © 2018, 2019 Gabriel Hondet <gabrielhondet@gmail.com>
6b34d01c 20;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
dddbc90c 21;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
a52f4c57 22;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
e405912c 23;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
9ad9ec2e 24;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
6b34d01c
RV
25;;;
26;;; This file is part of GNU Guix.
27;;;
28;;; GNU Guix is free software; you can redistribute it and/or modify it
29;;; under the terms of the GNU General Public License as published by
30;;; the Free Software Foundation; either version 3 of the License, or (at
31;;; your option) any later version.
32;;;
33;;; GNU Guix is distributed in the hope that it will be useful, but
34;;; WITHOUT ANY WARRANTY; without even the implied warranty of
35;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
36;;; GNU General Public License for more details.
37;;;
38;;; You should have received a copy of the GNU General Public License
39;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
40
41(define-module (gnu packages haskell-xyz)
42 #:use-module (gnu packages)
dddbc90c
RV
43 #:use-module (gnu packages base)
44 #:use-module (gnu packages compression)
45 #:use-module (gnu packages emacs)
46 #:use-module (gnu packages gcc)
47 #:use-module (gnu packages gl)
48 #:use-module (gnu packages graphviz)
49 #:use-module (gnu packages gtk)
50 #:use-module (gnu packages haskell-apps)
efb96749 51 #:use-module (gnu packages haskell-check)
dddbc90c
RV
52 #:use-module (gnu packages haskell-crypto)
53 #:use-module (gnu packages haskell-web)
54 #:use-module (gnu packages libffi)
55 #:use-module (gnu packages linux)
56 #:use-module (gnu packages lua)
57 #:use-module (gnu packages maths)
49e29df5 58 #:use-module (gnu packages ncurses)
dddbc90c
RV
59 #:use-module (gnu packages pcre)
60 #:use-module (gnu packages pkg-config)
61 #:use-module (gnu packages sdl)
62 #:use-module (gnu packages xml)
63 #:use-module (gnu packages xorg)
6b34d01c
RV
64 #:use-module (guix build-system haskell)
65 #:use-module (guix download)
dddbc90c 66 #:use-module (guix git-download)
4780db2c 67 #:use-module (guix utils)
6b34d01c
RV
68 #:use-module ((guix licenses) #:prefix license:)
69 #:use-module (guix packages))
70
dddbc90c 71(define-public ghc-abstract-deque
efb96749 72 (package
dddbc90c
RV
73 (name "ghc-abstract-deque")
74 (version "0.3")
efb96749
RV
75 (source
76 (origin
77 (method url-fetch)
78 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
79 "abstract-deque-" version "/"
80 "abstract-deque-" version ".tar.gz"))
efb96749
RV
81 (sha256
82 (base32
dddbc90c 83 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
efb96749 84 (build-system haskell-build-system)
dddbc90c
RV
85 (inputs `(("ghc-random" ,ghc-random)))
86 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
87 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
88 (description "This Haskell package provides an abstract interface to
89highly-parameterizable queues/deques.
90
91Background: There exists a feature space for queues that extends between:
efb96749
RV
92
93@itemize
dddbc90c
RV
94@item Simple, single-ended, non-concurrent, bounded queues
95
96@item Double-ended, thread-safe, growable queues with important points
97in between (such as the queues used for work stealing).
efb96749
RV
98@end itemize
99
dddbc90c
RV
100This package includes an interface for Deques that allows the programmer
101to use a single API for all of the above, while using the type system to
102select an efficient implementation given the requirements (using type families).
efb96749 103
dddbc90c
RV
104This package also includes a simple reference implementation based on
105@code{IORef} and @code{Data.Sequence}.")
efb96749
RV
106 (license license:bsd-3)))
107
dddbc90c 108(define-public ghc-abstract-par
658dbc7f 109 (package
dddbc90c
RV
110 (name "ghc-abstract-par")
111 (version "0.3.3")
658dbc7f
RV
112 (source
113 (origin
114 (method url-fetch)
115 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
116 "abstract-par-" version "/"
117 "abstract-par-" version ".tar.gz"))
658dbc7f
RV
118 (sha256
119 (base32
dddbc90c
RV
120 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
121 (build-system haskell-build-system)
122 (home-page "https://github.com/simonmar/monad-par")
123 (synopsis "Abstract parallelization interface for Haskell")
124 (description "This Haskell package is an abstract interface
125only. It provides a number of type clasess, but not an
126implementation. The type classes separate different levels
127of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
128module for more details.")
129 (license license:bsd-3)))
130
131(define-public ghc-adjunctions
132 (package
133 (name "ghc-adjunctions")
134 (version "4.4")
135 (source
136 (origin
137 (method url-fetch)
138 (uri (string-append
139 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
140 version
141 ".tar.gz"))
142 (sha256
143 (base32
144 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f
RV
145 (build-system haskell-build-system)
146 (inputs
dddbc90c
RV
147 `(("ghc-profunctors" ,ghc-profunctors)
148 ("ghc-comonad" ,ghc-comonad)
149 ("ghc-contravariant" ,ghc-contravariant)
150 ("ghc-distributive" ,ghc-distributive)
151 ("ghc-free" ,ghc-free)
152 ("ghc-tagged" ,ghc-tagged)
153 ("ghc-semigroupoids" ,ghc-semigroupoids)
154 ("ghc-semigroups" ,ghc-semigroups)
155 ("ghc-transformers-compat" ,ghc-transformers-compat)
156 ("ghc-void" ,ghc-void)))
658dbc7f 157 (native-inputs
dddbc90c
RV
158 `(("ghc-generic-deriving" ,ghc-generic-deriving)
159 ("ghc-hspec" ,ghc-hspec)
160 ("hspec-discover" ,hspec-discover)))
161 (home-page "https://github.com/ekmett/adjunctions/")
162 (synopsis "Adjunctions and representable functors")
163 (description "This library provides adjunctions and representable functors
164for Haskell.")
165 (license license:bsd-3)))
166
167(define-public ghc-aeson-compat
168 (package
169 (name "ghc-aeson-compat")
170 (version "0.3.8")
171 (source
172 (origin
173 (method url-fetch)
174 (uri (string-append "https://hackage.haskell.org/package/"
175 "aeson-compat-" version "/"
176 "aeson-compat-" version ".tar.gz"))
177 (sha256
178 (base32
179 "0j4v13pgk21zy8hqkbx8hw0n05jdl17qphxz9rj4h333pr547r3i"))))
180 (build-system haskell-build-system)
181 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
182 (inputs `(("ghc-base-compat" ,ghc-base-compat)
183 ("ghc-aeson" ,ghc-aeson)
184 ("ghc-attoparsec" ,ghc-attoparsec)
185 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
186 ("ghc-exceptions" ,ghc-exceptions)
187 ("ghc-hashable" ,ghc-hashable)
188 ("ghc-scientific" ,ghc-scientific)
189 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
190 ("ghc-unordered-containers" ,ghc-unordered-containers)
191 ("ghc-vector" ,ghc-vector)
192 ("ghc-tagged" ,ghc-tagged)
193 ("ghc-semigroups" ,ghc-semigroups)
194 ("ghc-nats" ,ghc-nats)))
195 (home-page "https://github.com/phadej/aeson-compat")
196 (synopsis "Compatibility layer for ghc-aeson")
197 (description "This Haskell package provides compatibility layer for
198ghc-aeson.")
199 (license license:bsd-3)))
200
201(define-public ghc-alex
202 (package
203 (name "ghc-alex")
204 (version "3.2.4")
205 (source
206 (origin
207 (method url-fetch)
208 (uri (string-append
209 "https://hackage.haskell.org/package/alex/alex-"
210 version
211 ".tar.gz"))
212 (sha256
213 (base32
214 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
215 (build-system haskell-build-system)
658dbc7f 216 (arguments
dddbc90c
RV
217 `(#:phases
218 (modify-phases %standard-phases
219 (add-before 'check 'set-check-variables
220 (lambda _
221 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
222 (getenv "PATH")))
223 (setenv "alex_datadir" (string-append (getcwd) "/data"))
224 #t)))))
225 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
226 (native-inputs
227 `(("which" ,which)))
228 (home-page "https://www.haskell.org/alex/")
229 (synopsis
230 "Tool for generating lexical analysers in Haskell")
231 (description
232 "Alex is a tool for generating lexical analysers in Haskell. It takes a
233description of tokens based on regular expressions and generates a Haskell
234module containing code for scanning text efficiently. It is similar to the
235tool lex or flex for C/C++.")
658dbc7f
RV
236 (license license:bsd-3)))
237
dddbc90c 238(define-public ghc-alsa-core
7b01a977 239 (package
dddbc90c
RV
240 (name "ghc-alsa-core")
241 (version "0.5.0.1")
242 (source
243 (origin
244 (method url-fetch)
245 (uri (string-append
246 "mirror://hackage/package/alsa-core/alsa-core-"
247 version
248 ".tar.gz"))
249 (sha256
250 (base32
251 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
252 (build-system haskell-build-system)
253 (inputs
254 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
255 ("alsa-lib" ,alsa-lib)))
256 (native-inputs
257 `(("pkg-config" ,pkg-config)))
258 (home-page "http://www.haskell.org/haskellwiki/ALSA")
259 (synopsis "Binding to the ALSA Library API (Exceptions)")
260 (description "This package provides access to ALSA infrastructure, that is
261needed by both alsa-seq and alsa-pcm.")
262 (license license:bsd-3)))
263
264(define-public ghc-annotated-wl-pprint
265 (package
266 (name "ghc-annotated-wl-pprint")
267 (version "0.7.0")
268 (source
269 (origin
270 (method url-fetch)
271 (uri (string-append
272 "https://hackage.haskell.org/package/annotated-wl-pprint"
273 "/annotated-wl-pprint-" version
274 ".tar.gz"))
275 (sha256
276 (base32
277 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
278 (build-system haskell-build-system)
279 (home-page
280 "https://github.com/david-christiansen/annotated-wl-pprint")
281 (synopsis
282 "The Wadler/Leijen Pretty Printer, with annotation support")
283 (description "This is a modified version of wl-pprint, which was based on
284Wadler's paper \"A Prettier Printer\". This version allows the library user
285to annotate the text with semantic information, which can later be rendered in
286a variety of ways.")
287 (license license:bsd-3)))
288
289(define-public ghc-ansi-terminal
290 (package
291 (name "ghc-ansi-terminal")
f1b4a73f 292 (version "0.9.1")
dddbc90c
RV
293 (source
294 (origin
295 (method url-fetch)
296 (uri (string-append
297 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
298 version
299 ".tar.gz"))
300 (sha256
301 (base32
f1b4a73f 302 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
dddbc90c
RV
303 (build-system haskell-build-system)
304 (inputs
305 `(("ghc-colour" ,ghc-colour)))
306 (home-page "https://github.com/feuerbach/ansi-terminal")
307 (synopsis "ANSI terminal support for Haskell")
308 (description "This package provides ANSI terminal support for Haskell. It
309allows cursor movement, screen clearing, color output showing or hiding the
310cursor, and changing the title.")
311 (license license:bsd-3)))
312
313(define-public ghc-ansi-wl-pprint
314 (package
315 (name "ghc-ansi-wl-pprint")
c38746eb 316 (version "0.6.9")
7b01a977
RV
317 (source
318 (origin
319 (method url-fetch)
320 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 321 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
322 version ".tar.gz"))
323 (sha256
324 (base32
c38746eb 325 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
7b01a977
RV
326 (build-system haskell-build-system)
327 (inputs
dddbc90c
RV
328 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
329 (home-page "https://github.com/ekmett/ansi-wl-pprint")
330 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
331 (description "This is a pretty printing library based on Wadler's paper
332\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
333colored output using the ansi-terminal package.")
334 (license license:bsd-3)))
335
336(define-public ghc-appar
337 (package
338 (name "ghc-appar")
1159d1a5 339 (version "0.1.8")
dddbc90c
RV
340 (source
341 (origin
342 (method url-fetch)
343 (uri (string-append
344 "https://hackage.haskell.org/package/appar/appar-"
345 version
346 ".tar.gz"))
347 (sha256
348 (base32
1159d1a5 349 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
350 (build-system haskell-build-system)
351 (home-page
352 "https://hackage.haskell.org/package/appar")
353 (synopsis "Simple applicative parser")
354 (description "This package provides a simple applicative parser in Parsec
355style.")
356 (license license:bsd-3)))
357
358(define-public ghc-async
359 (package
360 (name "ghc-async")
048ef066 361 (version "2.2.2")
dddbc90c
RV
362 (source
363 (origin
364 (method url-fetch)
365 (uri (string-append
366 "https://hackage.haskell.org/package/async/async-"
367 version
368 ".tar.gz"))
369 (sha256
370 (base32
048ef066 371 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
372 (build-system haskell-build-system)
373 (inputs
374 `(("ghc-hashable" ,ghc-hashable)
375 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
376 ("ghc-test-framework" ,ghc-test-framework)
377 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
378 (home-page "https://github.com/simonmar/async")
379 (synopsis "Library to run IO operations asynchronously")
380 (description "Async provides a library to run IO operations
381asynchronously, and wait for their results. It is a higher-level interface
382over threads in Haskell, in which @code{Async a} is a concurrent thread that
383will eventually deliver a value of type @code{a}.")
7b01a977
RV
384 (license license:bsd-3)))
385
9ad9ec2e
AG
386(define-public ghc-atomic-primops
387 (package
388 (name "ghc-atomic-primops")
389 (version "0.8.2")
390 (source
391 (origin
392 (method url-fetch)
393 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
394 "/atomic-primops-" version ".tar.gz"))
395 (sha256
396 (base32
397 "0cyr2x6xqz6s233znrz9rnrfj56m9bmnawwnka0lsqqy1hp8gy37"))))
398 (build-system haskell-build-system)
399 (inputs `(("ghc-primitive" ,ghc-primitive)))
400 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
401 (synopsis "Safe approach to CAS and other atomic ops")
402 (description
403 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
404use safely, because pointer equality is a highly unstable property in Haskell.
405This library provides a safer method based on the concept of @code{Ticket}s.")
406 (license license:bsd-3)))
407
dddbc90c 408(define-public ghc-atomic-write
79fcc5e5 409 (package
dddbc90c
RV
410 (name "ghc-atomic-write")
411 (version "0.2.0.5")
79fcc5e5
RV
412 (source
413 (origin
414 (method url-fetch)
dddbc90c
RV
415 (uri (string-append
416 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
417 version
418 ".tar.gz"))
79fcc5e5
RV
419 (sha256
420 (base32
dddbc90c
RV
421 "1iaq0hprxcv0sl1sgwcgmm87zraf738va1bciwnx2jkk3k1v9iyv"))))
422 (build-system haskell-build-system)
423 (inputs
424 `(("ghc-temporary" ,ghc-temporary)
425 ("ghc-unix-compat" ,ghc-unix-compat)))
426 (native-inputs
427 `(("ghc-temporary" ,ghc-temporary)
428 ("ghc-unix-compat" ,ghc-unix-compat)
429 ("ghc-hspec" ,ghc-hspec)
430 ("hspec-discover" ,hspec-discover)))
431 (home-page "https://github.com/stackbuilders/atomic-write")
432 (synopsis "Atomically write to a file")
433 (description
434 "Atomically write to a file on POSIX-compliant systems while preserving
435permissions. @code{mv} is an atomic operation. This makes it simple to write
436to a file atomically just by using the @code{mv} operation. However, this
437will destroy the permissions on the original file. This library preserves
438permissions while atomically writing to a file.")
439 (license license:expat)))
440
441(define-public ghc-attoparsec
442 (package
443 (name "ghc-attoparsec")
511c3204 444 (version "0.13.2.3")
dddbc90c
RV
445 (source
446 (origin
447 (method url-fetch)
448 (uri (string-append
449 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
450 version
451 ".tar.gz"))
452 (sha256
453 (base32
511c3204 454 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 455 (build-system haskell-build-system)
79fcc5e5 456 (arguments
dddbc90c
RV
457 `(#:phases
458 (modify-phases %standard-phases
459 (add-after 'unpack 'patch-for-newer-quickcheck
460 (lambda _
461 (substitute* "attoparsec.cabal"
462 (("QuickCheck >= 2\\.7 && < 2\\.10")
463 "QuickCheck >= 2.7 && < 2.12"))
464 ;; This test fails because of the newer QuickCheck:
465 ;; <https://github.com/bos/attoparsec/issues/134>.
466 (substitute* "tests/QC/ByteString.hs"
467 ((", testProperty \"satisfyWith\" satisfyWith")
468 "")))))))
469 (inputs
470 `(("ghc-scientific" ,ghc-scientific)))
471 (native-inputs
472 `(("ghc-tasty" ,ghc-tasty)
473 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
474 ("ghc-quickcheck" ,ghc-quickcheck)
475 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
476 ("ghc-vector" ,ghc-vector)))
477 (home-page "https://github.com/bos/attoparsec")
478 (synopsis "Fast combinator parsing for bytestrings and text")
479 (description "This library provides a fast parser combinator library,
480aimed particularly at dealing efficiently with network protocols and
481complicated text/binary file formats.")
79fcc5e5
RV
482 (license license:bsd-3)))
483
dddbc90c 484(define-public ghc-attoparsec-bootstrap
6b34d01c 485 (package
dddbc90c
RV
486 (inherit ghc-attoparsec)
487 (name "ghc-attoparsec-bootstrap")
488 (arguments `(#:tests? #f))
489 (inputs
490 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
491 (native-inputs '())
799d8d3c 492 (properties '((hidden? #t)))))
dddbc90c
RV
493
494(define-public ghc-attoparsec-iso8601
495 (package
496 (name "ghc-attoparsec-iso8601")
6b34d01c
RV
497 (version "1.0.0.0")
498 (source
499 (origin
500 (method url-fetch)
501 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
502 "attoparsec-iso8601-" version "/"
503 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
504 (sha256
505 (base32
dddbc90c 506 "12l55b76bhya9q89mfmqmy6sl5v39b6gzrw5rf3f70vkb23nsv5a"))))
6b34d01c 507 (build-system haskell-build-system)
dddbc90c
RV
508 (arguments
509 `(#:cabal-revision
510 ("1" "06f7pgmmc8456p3hc1y23kz1y127gfczy7s00wz1rls9g2sm2vi4")))
511 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
512 ("ghc-base-compat" ,ghc-base-compat)))
513 (home-page "https://github.com/bos/aeson")
514 (synopsis "Parse ISO 8601 dates")
515 (description "Haskell library for parsing of ISO 8601 dates, originally
516from aeson.")
6b34d01c 517 (license license:bsd-3)))
b57e99f5 518
dddbc90c 519(define-public ghc-auto-update
b57e99f5 520 (package
dddbc90c
RV
521 (name "ghc-auto-update")
522 (version "0.1.4")
523 (source
524 (origin
525 (method url-fetch)
526 (uri (string-append
527 "https://hackage.haskell.org/package/auto-update/auto-update-"
528 version
529 ".tar.gz"))
530 (sha256
531 (base32
532 "09dlh2alsx2mw5kvj931yhbj0aw7jmly2cm9xbscm2sf098w35jy"))))
533 (build-system haskell-build-system)
534 (home-page "https://github.com/yesodweb/wai")
535 (synopsis "Efficiently run periodic, on-demand actions")
536 (description "This library provides mechanisms to efficiently run
537periodic, on-demand actions in Haskell.")
538 (license license:expat)))
539
540(define-public ghc-aws
541 (package
542 (name "ghc-aws")
543 (version "0.20")
b57e99f5
RV
544 (source
545 (origin
546 (method url-fetch)
547 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
548 "aws-" version "/aws-" version ".tar.gz"))
549 (sha256 (base32
550 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
551 (build-system haskell-build-system)
552 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
553 (inputs
554 `(("ghc-aeson" ,ghc-aeson)
555 ("ghc-attoparsec" ,ghc-attoparsec)
556 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
557 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
558 ("ghc-blaze-builder" ,ghc-blaze-builder)
559 ("ghc-byteable" ,ghc-byteable)
560 ("ghc-case-insensitive" ,ghc-case-insensitive)
561 ("ghc-cereal" ,ghc-cereal)
562 ("ghc-conduit" ,ghc-conduit)
563 ("ghc-conduit-extra" ,ghc-conduit-extra)
564 ("ghc-cryptonite" ,ghc-cryptonite)
565 ("ghc-data-default" ,ghc-data-default)
566 ("ghc-http-conduit" ,ghc-http-conduit)
567 ("ghc-http-types" ,ghc-http-types)
568 ("ghc-lifted-base" ,ghc-lifted-base)
569 ("ghc-monad-control" ,ghc-monad-control)
570 ("ghc-network" ,ghc-network)
571 ("ghc-old-locale" ,ghc-old-locale)
572 ("ghc-safe" ,ghc-safe)
573 ("ghc-scientific" ,ghc-scientific)
574 ("ghc-tagged" ,ghc-tagged)
575 ("ghc-unordered-containers" ,ghc-unordered-containers)
576 ("ghc-utf8-string" ,ghc-utf8-string)
577 ("ghc-vector" ,ghc-vector)
578 ("ghc-xml-conduit" ,ghc-xml-conduit)))
579 (native-inputs
580 `(("ghc-quickcheck" ,ghc-quickcheck)
581 ("ghc-errors" ,ghc-errors)
582 ("ghc-http-client" ,ghc-http-client)
583 ("ghc-http-client-tls" ,ghc-http-client-tls)
584 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
585 ("ghc-tasty" ,ghc-tasty)
586 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
587 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
588 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
589 (home-page "https://github.com/aristidb/aws")
590 (synopsis "Amazon Web Services for Haskell")
591 (description "This package attempts to provide support for using
592Amazon Web Services like S3 (storage), SQS (queuing) and others to
593Haskell programmers. The ultimate goal is to support all Amazon
594Web Services.")
595 (license license:bsd-3)))
596
597(define-public ghc-base16-bytestring
598 (package
599 (name "ghc-base16-bytestring")
600 (version "0.1.1.6")
601 (source
602 (origin
603 (method url-fetch)
604 (uri (string-append
605 "https://hackage.haskell.org/package/base16-bytestring/"
606 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
607 (sha256
608 (base32
dddbc90c 609 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 610 (build-system haskell-build-system)
dddbc90c
RV
611 (home-page "https://github.com/bos/base16-bytestring")
612 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
613 (description
614 "This package provides a Haskell library for working with base16-encoded
615data quickly and efficiently, using the ByteString type.")
b57e99f5 616 (license license:bsd-3)))
bbf8bf31 617
dddbc90c 618(define-public ghc-base64-bytestring
bbf8bf31 619 (package
dddbc90c
RV
620 (name "ghc-base64-bytestring")
621 (version "1.0.0.2")
bbf8bf31
RV
622 (source
623 (origin
624 (method url-fetch)
dddbc90c
RV
625 (uri (string-append
626 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
627 version
628 ".tar.gz"))
629 (sha256
630 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
631 (build-system haskell-build-system)
632 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
633 (home-page "https://github.com/bos/base64-bytestring")
634 (synopsis "Base64 encoding and decoding for ByteStrings")
635 (description "This library provides fast base64 encoding and decoding for
636Haskell @code{ByteString}s.")
637 (license license:bsd-3)))
638
639(define-public ghc-base-compat
640 (package
641 (name "ghc-base-compat")
4daaa371 642 (version "0.10.5")
dddbc90c
RV
643 (source
644 (origin
645 (method url-fetch)
646 (uri (string-append
647 "https://hackage.haskell.org/package/base-compat/base-compat-"
648 version
649 ".tar.gz"))
bbf8bf31
RV
650 (sha256
651 (base32
4daaa371 652 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31
RV
653 (build-system haskell-build-system)
654 (native-inputs
dddbc90c
RV
655 `(("ghc-quickcheck" ,ghc-quickcheck)
656 ("ghc-hspec" ,ghc-hspec)
657 ("hspec-discover" ,hspec-discover)))
658 (home-page "https://hackage.haskell.org/package/base-compat")
659 (synopsis "Haskell compiler compatibility library")
660 (description "This library provides functions available in later versions
661of base to a wider range of compilers, without requiring the use of CPP
662pragmas in your code.")
663 (license license:bsd-3)))
664
f9d78c7f
TS
665(define-public ghc-base-compat-batteries
666 (package
667 (name "ghc-base-compat-batteries")
668 (version "0.10.5")
669 (source
670 (origin
671 (method url-fetch)
672 (uri (string-append "https://hackage.haskell.org/package/"
673 "base-compat-batteries/base-compat-batteries-"
674 version ".tar.gz"))
675 (sha256
676 (base32
677 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
678 (build-system haskell-build-system)
679 (inputs
680 `(("ghc-base-compat" ,ghc-base-compat)))
681 (native-inputs
682 `(("ghc-hspec" ,ghc-hspec)
683 ("ghc-quickcheck" ,ghc-quickcheck)
684 ("hspec-discover" ,hspec-discover)))
685 (arguments
686 `(#:cabal-revision
687 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
688 (home-page "http://hackage.haskell.org/package/base-compat-batteries")
689 (synopsis "base-compat with extra batteries")
690 (description "This library provides functions available in later
691versions of @code{base} to a wider range of compilers, without requiring
692you to use CPP pragmas in your code. This package provides the same API
693as the @code{base-compat} library, but depends on compatibility
694packages (such as @code{semigroups}) to offer a wider support window
695than @code{base-compat}, which has no dependencies.")
696 (license license:expat)))
697
dddbc90c
RV
698(define-public ghc-basement
699 (package
700 (name "ghc-basement")
8b56c1fd 701 (version "0.0.11")
dddbc90c
RV
702 (source
703 (origin
704 (method url-fetch)
705 (uri (string-append "https://hackage.haskell.org/package/"
706 "basement/basement-" version ".tar.gz"))
707 (sha256
708 (base32
8b56c1fd 709 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
710 (build-system haskell-build-system)
711 (home-page "https://github.com/haskell-foundation/foundation")
712 (synopsis "Basic primitives for Foundation starter pack")
713 (description
714 "This package contains basic primitives for the Foundation set of
715packages.")
716 (license license:bsd-3)))
717
718(define-public ghc-base-orphans
719 (package
720 (name "ghc-base-orphans")
780477fb 721 (version "0.8.1")
dddbc90c
RV
722 (source
723 (origin
724 (method url-fetch)
725 (uri (string-append
726 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
727 version
728 ".tar.gz"))
729 (sha256
730 (base32
780477fb 731 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
732 (build-system haskell-build-system)
733 (native-inputs
734 `(("ghc-quickcheck" ,ghc-quickcheck)
735 ("ghc-hspec" ,ghc-hspec)
736 ("hspec-discover" ,hspec-discover)))
737 (home-page "https://hackage.haskell.org/package/base-orphans")
738 (synopsis "Orphan instances for backwards compatibility")
739 (description "This package defines orphan instances that mimic instances
740available in later versions of base to a wider (older) range of compilers.")
741 (license license:bsd-3)))
742
743(define-public ghc-base-prelude
744 (package
745 (name "ghc-base-prelude")
746 (version "1.3")
747 (source
748 (origin
749 (method url-fetch)
750 (uri (string-append "https://hackage.haskell.org/package/"
751 "base-prelude-" version "/"
752 "base-prelude-" version ".tar.gz"))
753 (sha256
754 (base32
755 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
756 (build-system haskell-build-system)
757 (home-page "https://github.com/nikita-volkov/base-prelude")
758 (synopsis "The most complete prelude formed solely from the Haskell's base
759package")
760 (description "This Haskell package aims to reexport all the non-conflicting
761and most general definitions from the \"base\" package.
762
763This includes APIs for applicatives, arrows, monoids, foldables, traversables,
764exceptions, generics, ST, MVars and STM.
765
766This package will never have any dependencies other than \"base\".
767
768Versioning policy:
769
770The versioning policy of this package deviates from PVP in the sense
771that its exports in part are transitively determined by the version of \"base\".
772Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
773the bounds of \"base\" as well.")
774 (license license:expat)))
775
776(define-public ghc-base-unicode-symbols
777 (package
778 (name "ghc-base-unicode-symbols")
779 (version "0.2.3")
780 (source
781 (origin
782 (method url-fetch)
783 (uri (string-append
784 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
785 version
786 ".tar.gz"))
787 (sha256
788 (base32
789 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
790 (build-system haskell-build-system)
791 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
792 (synopsis "Unicode alternatives for common functions and operators")
793 (description "This package defines new symbols for a number of functions,
794operators and types in the base package. All symbols are documented with
795their actual definition and information regarding their Unicode code point.
796They should be completely interchangeable with their definitions. For
797further Unicode goodness you can enable the @code{UnicodeSyntax}
798@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
799language extension}. This extension enables Unicode characters to be used to
800stand for certain ASCII character sequences, i.e. → instead of @code{->},
801∀ instead of @code{forall} and many others.")
802 (license license:bsd-3)))
803
804(define-public ghc-bifunctors
805 (package
806 (name "ghc-bifunctors")
807 (version "5.5.3")
808 (source
809 (origin
810 (method url-fetch)
811 (uri (string-append
812 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
813 version
814 ".tar.gz"))
815 (sha256
816 (base32
817 "1jn9rxg643xnlhrknmjz88nblcpsr45xwjkwwnn5nxpasa7m4d6l"))))
818 (build-system haskell-build-system)
819 (inputs
820 `(("ghc-base-orphans" ,ghc-base-orphans)
821 ("ghc-comonad" ,ghc-comonad)
822 ("ghc-th-abstraction" ,ghc-th-abstraction)
823 ("ghc-transformers-compat" ,ghc-transformers-compat)
824 ("ghc-tagged" ,ghc-tagged)
825 ("ghc-semigroups" ,ghc-semigroups)))
826 (native-inputs
827 `(("ghc-hspec" ,ghc-hspec)
828 ("hspec-discover" ,hspec-discover)
829 ("ghc-quickcheck" ,ghc-quickcheck)))
830 (home-page "https://github.com/ekmett/bifunctors/")
831 (synopsis "Bifunctors for Haskell")
832 (description "This package provides bifunctors for Haskell.")
833 (license license:bsd-3)))
834
835(define-public ghc-bindings-dsl
836 (package
837 (name "ghc-bindings-dsl")
838 (version "1.0.25")
839 (source
840 (origin
841 (method url-fetch)
842 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
843 "bindings-DSL-" version ".tar.gz"))
844 (sha256
845 (base32
846 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
847 (build-system haskell-build-system)
848 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
849 (synopsis "FFI domain specific language, on top of hsc2hs")
850 (description
851 "This is a set of macros to be used when writing Haskell FFI. They were
852designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
853extract from them all Haskell code needed to mimic such interfaces. All
854Haskell names used are automatically derived from C names, structures are
855mapped to Haskell instances of @code{Storable}, and there are also macros you
856can use with C code to help write bindings to inline functions or macro
857functions.")
858 (license license:bsd-3)))
859
860(define-public ghc-blaze-builder
861 (package
862 (name "ghc-blaze-builder")
863 (version "0.4.1.0")
864 (source
865 (origin
866 (method url-fetch)
867 (uri (string-append
868 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
869 version
870 ".tar.gz"))
871 (sha256
872 (base32
873 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
874 (build-system haskell-build-system)
875 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
876 (inputs
877 `(("ghc-utf8-string" ,ghc-utf8-string)))
878 (home-page "https://github.com/lpsmith/blaze-builder")
879 (synopsis "Efficient buffered output")
880 (description "This library provides an implementation of the older
881@code{blaze-builder} interface in terms of the new builder that shipped with
882@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
883bridge to the new builder, so that code that uses the old interface can
884interoperate with code that uses the new implementation.")
885 (license license:bsd-3)))
886
887(define-public ghc-blaze-markup
888 (package
889 (name "ghc-blaze-markup")
7d30fcf3 890 (version "0.8.2.3")
dddbc90c
RV
891 (source
892 (origin
893 (method url-fetch)
894 (uri (string-append "https://hackage.haskell.org/package/"
895 "blaze-markup/blaze-markup-"
896 version ".tar.gz"))
897 (sha256
898 (base32
7d30fcf3 899 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
900 (build-system haskell-build-system)
901 (arguments
902 `(#:phases
903 (modify-phases %standard-phases
904 (add-before 'configure 'update-constraints
905 (lambda _
906 (substitute* "blaze-markup.cabal"
907 (("tasty >= 1\\.0 && < 1\\.1")
908 "tasty >= 1.0 && < 1.2")))))))
909 (inputs
910 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
911 (native-inputs
912 `(("ghc-hunit" ,ghc-hunit)
913 ("ghc-quickcheck" ,ghc-quickcheck)
914 ("ghc-tasty" ,ghc-tasty)
915 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
916 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
917 (home-page "https://jaspervdj.be/blaze")
918 (synopsis "Fast markup combinator library for Haskell")
919 (description "This library provides core modules of a markup combinator
920library for Haskell.")
921 (license license:bsd-3)))
922
923(define-public ghc-bloomfilter
924 (package
925 (name "ghc-bloomfilter")
926 (version "2.0.1.0")
927 (source
928 (origin
929 (method url-fetch)
930 (uri (string-append "https://hackage.haskell.org/package/"
931 "bloomfilter/bloomfilter-" version ".tar.gz"))
932 (sha256
933 (base32
934 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
935 (build-system haskell-build-system)
936 (native-inputs
937 `(("ghc-quickcheck" ,ghc-quickcheck)
938 ("ghc-random" ,ghc-random)
939 ("ghc-test-framework" ,ghc-test-framework)
940 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
941 (home-page "https://github.com/bos/bloomfilter")
942 (synopsis "Pure and impure Bloom filter implementations")
943 (description "This package provides both mutable and immutable Bloom
944filter data types, along with a family of hash functions and an easy-to-use
945interface.")
946 (license license:bsd-3)))
947
948(define-public ghc-boxes
949 (package
950 (name "ghc-boxes")
951 (version "0.1.5")
952 (source
953 (origin
954 (method url-fetch)
955 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
956 version ".tar.gz"))
957 (sha256
958 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
959 (build-system haskell-build-system)
960 (inputs
961 `(("ghc-split" ,ghc-split)
962 ("ghc-quickcheck" ,ghc-quickcheck)))
963 (home-page "https://hackage.haskell.org/package/boxes")
964 (synopsis "2D text pretty-printing library")
965 (description
966 "Boxes is a pretty-printing library for laying out text in two dimensions,
967using a simple box model.")
968 (license license:bsd-3)))
969
970(define-public ghc-byteable
971 (package
972 (name "ghc-byteable")
973 (version "0.1.1")
974 (source (origin
975 (method url-fetch)
976 (uri (string-append "https://hackage.haskell.org/package/"
977 "byteable/byteable-" version ".tar.gz"))
978 (sha256
979 (base32
980 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
981 (build-system haskell-build-system)
982 (home-page "https://github.com/vincenthz/hs-byteable")
983 (synopsis "Type class for sequence of bytes")
984 (description
985 "This package provides an abstract class to manipulate sequence of bytes.
986The use case of this class is abstracting manipulation of types that are just
987wrapping a bytestring with stronger and more meaniful name.")
988 (license license:bsd-3)))
989
990(define-public ghc-byteorder
991 (package
992 (name "ghc-byteorder")
993 (version "1.0.4")
994 (source
995 (origin
996 (method url-fetch)
997 (uri (string-append
998 "https://hackage.haskell.org/package/byteorder/byteorder-"
999 version
1000 ".tar.gz"))
1001 (sha256
1002 (base32
1003 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1004 (build-system haskell-build-system)
1005 (home-page
1006 "http://community.haskell.org/~aslatter/code/byteorder")
1007 (synopsis
1008 "Exposes the native endianness of the system")
1009 (description
1010 "This package is for working with the native byte-ordering of the
1011system.")
1012 (license license:bsd-3)))
1013
1014(define-public ghc-bytes
1015 (package
1016 (name "ghc-bytes")
1017 (version "0.15.5")
1018 (source
1019 (origin
1020 (method url-fetch)
1021 (uri
1022 (string-append "https://hackage.haskell.org/package/bytes-"
1023 version "/bytes-"
1024 version ".tar.gz"))
1025 (file-name (string-append name "-" version ".tar.gz"))
1026 (sha256
1027 (base32
1028 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1029 (build-system haskell-build-system)
1030 (inputs `(("ghc-cereal" ,ghc-cereal)
1031 ("cabal-doctest" ,cabal-doctest)
1032 ("ghc-doctest" ,ghc-doctest)
1033 ("ghc-scientific" ,ghc-scientific)
1034 ("ghc-transformers-compat" ,ghc-transformers-compat)
1035 ("ghc-unordered-containers" ,ghc-unordered-containers)
1036 ("ghc-void" ,ghc-void)
1037 ("ghc-vector" ,ghc-vector)))
1038 (synopsis "Serialization between @code{binary} and @code{cereal}")
1039 (description "This package provides a simple compatibility shim that lets
1040you work with both @code{binary} and @code{cereal} with one chunk of
1041serialization code.")
1042 (home-page "https://hackage.haskell.org/package/bytes")
1043 (license license:bsd-3)))
1044
1045(define-public ghc-bytestring-builder
1046 (package
1047 (name "ghc-bytestring-builder")
13ac8a7f 1048 (version "0.10.8.2.0")
dddbc90c
RV
1049 (source
1050 (origin
1051 (method url-fetch)
1052 (uri (string-append
1053 "https://hackage.haskell.org/package/bytestring-builder"
1054 "/bytestring-builder-" version ".tar.gz"))
1055 (sha256
1056 (base32
13ac8a7f 1057 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1058 (build-system haskell-build-system)
1059 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1060 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1061 (synopsis "The new bytestring builder, packaged outside of GHC")
1062 (description "This package provides the bytestring builder that is
1063debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1064Compatibility package for older packages.")
1065 (license license:bsd-3)))
1066
1067(define-public ghc-bytestring-handle
1068 (package
1069 (name "ghc-bytestring-handle")
1070 (version "0.1.0.6")
1071 (source
1072 (origin
1073 (method url-fetch)
1074 (uri (string-append
1075 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1076 version ".tar.gz"))
1077 (sha256
1078 (base32
1079 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1080 (build-system haskell-build-system)
1081 (arguments
853748c4
TS
1082 `(#:cabal-revision
1083 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1084 #:phases
dddbc90c
RV
1085 (modify-phases %standard-phases
1086 (add-before 'configure 'update-constraints
1087 (lambda _
1088 (substitute* "bytestring-handle.cabal"
1089 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1090 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1091 (inputs
1092 `(("ghc-hunit" ,ghc-hunit)
1093 ("ghc-quickcheck" ,ghc-quickcheck)
1094 ("ghc-test-framework" ,ghc-test-framework)
1095 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1096 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1097 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1098 (synopsis "ByteString-backed Handles")
1099 (description "ByteString-backed Handles") ; There is no description
1100 (license license:bsd-3)))
1101
1102(define-public ghc-bytestring-lexing
1103 (package
1104 (name "ghc-bytestring-lexing")
1105 (version "0.5.0.2")
1106 (source
1107 (origin
1108 (method url-fetch)
1109 (uri (string-append "https://hackage.haskell.org/package/"
1110 "bytestring-lexing/bytestring-lexing-"
1111 version ".tar.gz"))
1112 (sha256
1113 (base32
1114 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1115 (build-system haskell-build-system)
1116 (home-page "http://code.haskell.org/~wren/")
1117 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1118 (description
1119 "This package provides tools to parse and produce literals efficiently
1120from strict or lazy bytestrings.")
1121 (license license:bsd-2)))
1122
1123(define-public ghc-bzlib-conduit
1124 (package
1125 (name "ghc-bzlib-conduit")
1126 (version "0.3.0.1")
1127 (source
1128 (origin
1129 (method url-fetch)
1130 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1131 "bzlib-conduit-" version ".tar.gz"))
1132 (sha256
1133 (base32
1134 "0fd2hnr782s7qgipazg2yxwia9qqhkvm9bcm90773c3zkxa13n23"))))
1135 (build-system haskell-build-system)
1136 (inputs
1137 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1138 ("ghc-conduit" ,ghc-conduit)
1139 ("ghc-data-default-class" ,ghc-data-default-class)
1140 ("ghc-resourcet" ,ghc-resourcet)))
1141 (native-inputs
1142 `(("ghc-hspec" ,ghc-hspec)
1143 ("ghc-random" ,ghc-random)))
1144 (home-page "https://github.com/snoyberg/bzlib-conduit")
1145 (synopsis "Streaming compression/decompression via conduits")
1146 (description
1147 "This package provides Haskell bindings to bzlib and Conduit support for
1148streaming compression and decompression.")
1149 (license license:bsd-3)))
1150
1151(define-public ghc-c2hs
1152 (package
1153 (name "ghc-c2hs")
1154 (version "0.28.6")
1155 (source
1156 (origin
1157 (method url-fetch)
1158 (uri (string-append
1159 "https://hackage.haskell.org/package/c2hs/c2hs-"
1160 version
1161 ".tar.gz"))
1162 (sha256
1163 (base32
1164 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1165 (build-system haskell-build-system)
1166 (inputs
1167 `(("ghc-language-c" ,ghc-language-c)
1168 ("ghc-dlist" ,ghc-dlist)))
1169 (native-inputs
1170 `(("ghc-test-framework" ,ghc-test-framework)
1171 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1172 ("ghc-hunit" ,ghc-hunit)
1173 ("ghc-shelly" ,ghc-shelly)
1174 ("gcc" ,gcc)))
1175 (arguments
1176 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1177 ;; of glibc 2.28.
1178 #:tests? #f
1179
1180 #:phases
1181 (modify-phases %standard-phases
1182 (add-before 'check 'set-cc
1183 ;; add a cc executable in the path, needed for some tests to pass
1184 (lambda* (#:key inputs #:allow-other-keys)
1185 (let ((gcc (assoc-ref inputs "gcc"))
1186 (tmpbin (tmpnam))
1187 (curpath (getenv "PATH")))
1188 (mkdir-p tmpbin)
1189 (symlink (which "gcc") (string-append tmpbin "/cc"))
1190 (setenv "PATH" (string-append tmpbin ":" curpath)))
1191 #t))
1192 (add-after 'check 'remove-cc
1193 ;; clean the tmp dir made in 'set-cc
1194 (lambda _
1195 (let* ((cc-path (which "cc"))
1196 (cc-dir (dirname cc-path)))
1197 (delete-file-recursively cc-dir)
1198 #t))))))
1199 (home-page "https://github.com/haskell/c2hs")
1200 (synopsis "Create Haskell bindings to C libraries")
1201 (description "C->Haskell assists in the development of Haskell bindings to
1202C libraries. It extracts interface information from C header files and
1203generates Haskell code with foreign imports and marshaling. Unlike writing
1204foreign imports by hand (or using hsc2hs), this ensures that C functions are
1205imported with the correct Haskell types.")
1206 (license license:gpl2)))
1207
1208(define-public ghc-cairo
1209 (package
1210 (name "ghc-cairo")
1211 (version "0.13.5.0")
1212 (source
1213 (origin
1214 (method url-fetch)
1215 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1216 "cairo-" version ".tar.gz"))
1217 (sha256
1218 (base32
1219 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1220 (build-system haskell-build-system)
1221 (arguments
1222 `(#:modules ((guix build haskell-build-system)
1223 (guix build utils)
1224 (ice-9 match)
1225 (srfi srfi-26))
1226 #:phases
1227 (modify-phases %standard-phases
1228 ;; FIXME: This is a copy of the standard configure phase with a tiny
1229 ;; difference: this package needs the -package-db flag to be passed
1230 ;; to "runhaskell" in addition to the "configure" action, because it
1231 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1232 ;; this option the Setup.hs file cannot be evaluated. The
1233 ;; haskell-build-system should be changed to pass "-package-db" to
1234 ;; "runhaskell" in any case.
1235 (replace 'configure
1236 (lambda* (#:key outputs inputs tests? (configure-flags '())
1237 #:allow-other-keys)
1238 (let* ((out (assoc-ref outputs "out"))
1239 (name-version (strip-store-file-name out))
1240 (input-dirs (match inputs
1241 (((_ . dir) ...)
1242 dir)
1243 (_ '())))
1244 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1245 (params (append `(,(string-append "--prefix=" out))
1246 `(,(string-append "--libdir=" out "/lib"))
1247 `(,(string-append "--bindir=" out "/bin"))
1248 `(,(string-append
1249 "--docdir=" out
1250 "/share/doc/" name-version))
1251 '("--libsubdir=$compiler/$pkg-$version")
1252 '("--package-db=../package.conf.d")
1253 '("--global")
1254 `(,@(map
1255 (cut string-append "--extra-include-dirs=" <>)
1256 (search-path-as-list '("include") input-dirs)))
1257 `(,@(map
1258 (cut string-append "--extra-lib-dirs=" <>)
1259 (search-path-as-list '("lib") input-dirs)))
1260 (if tests?
1261 '("--enable-tests")
1262 '())
1263 configure-flags)))
1264 (unsetenv "GHC_PACKAGE_PATH")
1265 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1266 "Setup.hs" "configure" params)
1267 (setenv "GHC_PACKAGE_PATH" ghc-path)
1268 #t))))))
1269 (inputs
1270 `(("ghc-utf8-string" ,ghc-utf8-string)
1271 ("cairo" ,cairo)))
1272 (native-inputs
1273 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1274 ("pkg-config" ,pkg-config)))
1275 (home-page "http://projects.haskell.org/gtk2hs/")
1276 (synopsis "Haskell bindings to the Cairo vector graphics library")
1277 (description
1278 "Cairo is a library to render high quality vector graphics. There exist
1279various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1280documents, amongst others.")
1281 (license license:bsd-3)))
1282
1283(define-public ghc-call-stack
1284 (package
1285 (name "ghc-call-stack")
1286 (version "0.1.0")
1287 (source
1288 (origin
1289 (method url-fetch)
1290 (uri (string-append "https://hackage.haskell.org/package/"
1291 "call-stack/call-stack-"
1292 version ".tar.gz"))
1293 (sha256
1294 (base32
1295 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1296 (build-system haskell-build-system)
1297 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1298 (home-page "https://github.com/sol/call-stack#readme")
1299 (synopsis "Use GHC call-stacks in a backward compatible way")
1300 (description "This package provides a compatibility layer for using GHC
1301call stacks with different versions of the compiler.")
1302 (license license:expat)))
1303
1304;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1305;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1306(define-public ghc-call-stack-boot
1307 (hidden-package
1308 (package
1309 (inherit ghc-call-stack)
1310 (arguments '(#:tests? #f))
1311 (inputs '()))))
1312
1313(define-public ghc-case-insensitive
1314 (package
1315 (name "ghc-case-insensitive")
1316 (version "1.2.0.11")
1317 (outputs '("out" "doc"))
1318 (source
1319 (origin
1320 (method url-fetch)
1321 (uri (string-append
1322 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1323 version
1324 ".tar.gz"))
1325 (sha256
1326 (base32
1327 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1328 (build-system haskell-build-system)
1329 ;; these inputs are necessary to use this library
1330 (inputs
1331 `(("ghc-hashable" ,ghc-hashable)))
1332 (arguments
1333 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1334 (home-page
1335 "https://github.com/basvandijk/case-insensitive")
1336 (synopsis "Case insensitive string comparison")
1337 (description
1338 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1339constructor which can be parameterised by a string-like type like:
1340@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1341the resulting type will be insensitive to cases.")
1342 (license license:bsd-3)))
1343
1344(define-public ghc-cereal
1345 (package
1346 (name "ghc-cereal")
bd95427e 1347 (version "0.5.8.1")
dddbc90c
RV
1348 (source
1349 (origin
1350 (method url-fetch)
1351 (uri (string-append
1352 "https://hackage.haskell.org/package/cereal/cereal-"
1353 version
1354 ".tar.gz"))
1355 (sha256
1356 (base32
bd95427e 1357 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1358 (build-system haskell-build-system)
1359 (native-inputs
1360 `(("ghc-quickcheck" ,ghc-quickcheck)
1361 ("ghc-fail" ,ghc-fail)
1362 ("ghc-test-framework" ,ghc-test-framework)
1363 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1364 (home-page "https://hackage.haskell.org/package/cereal")
1365 (synopsis "Binary serialization library")
1366 (description "This package provides a binary serialization library,
1367similar to @code{binary}, that introduces an @code{isolate} primitive for
1368parser isolation, and labeled blocks for better error messages.")
1369 (license license:bsd-3)))
1370
1371(define-public ghc-cereal-conduit
1372 (package
1373 (name "ghc-cereal-conduit")
1374 (version "0.8.0")
1375 (source
1376 (origin
1377 (method url-fetch)
1378 (uri (string-append "https://hackage.haskell.org/package/"
1379 "cereal-conduit/cereal-conduit-"
1380 version ".tar.gz"))
1381 (sha256
1382 (base32
1383 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1384 (build-system haskell-build-system)
1385 (inputs
1386 `(("ghc-conduit" ,ghc-conduit)
1387 ("ghc-resourcet" ,ghc-resourcet)
1388 ("ghc-cereal" ,ghc-cereal)))
1389 (native-inputs
1390 `(("ghc-hunit" ,ghc-hunit)))
1391 (home-page "https://github.com/snoyberg/conduit")
1392 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1393 (description
1394 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1395@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1396 (license license:bsd-3)))
1397
1398(define-public ghc-cgi
1399 (package
1400 (name "ghc-cgi")
1401 (version "3001.3.0.2")
1402 (source
1403 (origin
1404 (method url-fetch)
1405 (uri (string-append
1406 "https://hackage.haskell.org/package/cgi/cgi-"
1407 version
1408 ".tar.gz"))
1409 (sha256
1410 (base32
1411 "1hbpplss1m4rdpm4ibip6fpimlhssqa14fl338kl2jbc463i64cj"))))
1412 (build-system haskell-build-system)
1413 (arguments
1414 `(#:phases
1415 (modify-phases %standard-phases
1416 (add-before 'configure 'update-constraints
1417 (lambda _
1418 (substitute* "cgi.cabal"
1419 (("exceptions < 0\\.9")
1420 "exceptions < 0.11")
1421 (("time >= 1\\.5 && < 1\\.7")
1422 "time >= 1.5 && < 1.9")
1423 (("doctest >= 0\\.8 && < 0\\.12")
1424 "doctest >= 0.8 && < 0.17")
1425 (("QuickCheck >= 2\\.8\\.1 && < 2\\.10")
1426 "QuickCheck >= 2.8.1 && < 2.12")))))))
1427 (inputs
1428 `(("ghc-exceptions" ,ghc-exceptions)
1429 ("ghc-multipart" ,ghc-multipart)
1430 ("ghc-network-uri" ,ghc-network-uri)
1431 ("ghc-network" ,ghc-network)))
1432 (native-inputs
1433 `(("ghc-doctest" ,ghc-doctest)
1434 ("ghc-quickcheck" ,ghc-quickcheck)))
1435 (home-page
1436 "https://github.com/cheecheeo/haskell-cgi")
1437 (synopsis "Library for writing CGI programs")
1438 (description
1439 "This is a Haskell library for writing CGI programs.")
1440 (license license:bsd-3)))
1441
1442(define-public ghc-charset
1443 (package
1444 (name "ghc-charset")
1445 (version "0.3.7.1")
1446 (source
1447 (origin
1448 (method url-fetch)
1449 (uri (string-append
1450 "https://hackage.haskell.org/package/charset/charset-"
1451 version
1452 ".tar.gz"))
1453 (sha256
1454 (base32
1455 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1456 (build-system haskell-build-system)
1457 (inputs
1458 `(("ghc-semigroups" ,ghc-semigroups)
1459 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1460 (home-page "https://github.com/ekmett/charset")
1461 (synopsis "Fast unicode character sets for Haskell")
1462 (description "This package provides fast unicode character sets for
1463Haskell, based on complemented PATRICIA tries.")
1464 (license license:bsd-3)))
1465
1466(define-public ghc-chart
1467 (package
1468 (name "ghc-chart")
1469 (version "1.9")
1470 (source
1471 (origin
1472 (method url-fetch)
1473 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1474 "Chart-" version ".tar.gz"))
1475 (sha256
1476 (base32
1477 "1f5azj17y8xsb3gjhf7gg1gnnlq12rxkmfjmgcly314d7vghs05z"))))
1478 (build-system haskell-build-system)
1479 (inputs
1480 `(("ghc-old-locale" ,ghc-old-locale)
1481 ("ghc-lens" ,ghc-lens)
1482 ("ghc-colour" ,ghc-colour)
1483 ("ghc-data-default-class" ,ghc-data-default-class)
1484 ("ghc-operational" ,ghc-operational)
1485 ("ghc-vector" ,ghc-vector)))
1486 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1487 (synopsis "Library for generating 2D charts and plots")
1488 (description
1489 "This package provides a library for generating 2D charts and plots, with
1490backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1491 (license license:bsd-3)))
1492
1493(define-public ghc-chart-cairo
1494 (package
1495 (name "ghc-chart-cairo")
1496 (version "1.9")
1497 (source
1498 (origin
1499 (method url-fetch)
1500 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1501 "Chart-cairo-" version ".tar.gz"))
1502 (sha256
1503 (base32
1504 "0iany6lfyfb1cw0pxfs5aw5k0a6x41m6ql9ad9w59biwdckbsyqr"))))
1505 (build-system haskell-build-system)
1506 (inputs
1507 `(("ghc-old-locale" ,ghc-old-locale)
1508 ("ghc-cairo" ,ghc-cairo)
1509 ("ghc-colour" ,ghc-colour)
1510 ("ghc-data-default-class" ,ghc-data-default-class)
1511 ("ghc-operational" ,ghc-operational)
1512 ("ghc-lens" ,ghc-lens)
1513 ("ghc-chart" ,ghc-chart)))
1514 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1515 (synopsis "Cairo backend for Charts")
1516 (description "This package provides a Cairo vector graphics rendering
1517backend for the Charts library.")
1518 (license license:bsd-3)))
1519
1520(define-public ghc-chasingbottoms
1521 (package
1522 (name "ghc-chasingbottoms")
1f67853e 1523 (version "1.3.1.7")
dddbc90c
RV
1524 (source
1525 (origin
1526 (method url-fetch)
1527 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1528 "ChasingBottoms-" version ".tar.gz"))
1529 (sha256
1530 (base32
1f67853e 1531 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1532 (build-system haskell-build-system)
1533 (inputs
1534 `(("ghc-quickcheck" ,ghc-quickcheck)
1535 ("ghc-random" ,ghc-random)
1536 ("ghc-syb" ,ghc-syb)))
1537 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1538 (synopsis "Testing of partial and infinite values in Haskell")
1539 (description
1540 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1541 ;; rendered properly.
1542 "This is a library for testing code involving bottoms or infinite values.
1543For the underlying theory and a larger example involving use of QuickCheck,
1544see the article
1545@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1546\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1547Partial and Infinite Values\"}.")
1548 (license license:expat)))
1549
1550(define-public ghc-cheapskate
1551 (package
1552 (name "ghc-cheapskate")
1553 (version "0.1.1")
1554 (source
1555 (origin
1556 (method url-fetch)
1557 (uri (string-append
1558 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1559 version
1560 ".tar.gz"))
1561 (sha256
1562 (base32
1563 "1hiqi7h76shjzs2zj0j8g6wnq2hbiq1hmfafdazr97fba2zl2432"))))
1564 (build-system haskell-build-system)
1565 (inputs
1566 `(("ghc-blaze-html" ,ghc-blaze-html)
1567 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1568 ("ghc-data-default" ,ghc-data-default)
1569 ("ghc-syb" ,ghc-syb)
1570 ("ghc-uniplate" ,ghc-uniplate)))
1571 (home-page "https://github.com/jgm/cheapskate")
1572 (synopsis "Experimental markdown processor")
1573 (description "Cheapskate is an experimental Markdown processor in pure
1574Haskell. It aims to process Markdown efficiently and in the most forgiving
1575possible way. It is designed to deal with any input, including garbage, with
1576linear performance. Output is sanitized by default for protection against
1577cross-site scripting (@dfn{XSS}) attacks.")
1578 (license license:bsd-3)))
1579
1580(define-public ghc-chell
1581 (package
1582 (name "ghc-chell")
1583 (version "0.4.0.2")
1584 (source
1585 (origin
1586 (method url-fetch)
1587 (uri (string-append
1588 "https://hackage.haskell.org/package/chell/chell-"
1589 version ".tar.gz"))
1590 (sha256
1591 (base32
1592 "10ingy9qnbmc8cqh4i9pskcw43l0mzk8f3d76b3qz3fig5ary3j9"))))
1593 (build-system haskell-build-system)
1594 (inputs
1595 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1596 ("ghc-patience" ,ghc-patience)
1597 ("ghc-random" ,ghc-random)
1598 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1599 (home-page "https://john-millikin.com/software/chell/")
1600 (synopsis "Simple and intuitive library for automated testing")
1601 (description
1602 "Chell is a simple and intuitive library for automated testing.
1603It natively supports assertion-based testing, and can use companion
1604libraries such as @code{chell-quickcheck} to support more complex
1605testing strategies.")
1606 (license license:expat)))
1607
1608(define-public ghc-chell-quickcheck
1609 (package
1610 (name "ghc-chell-quickcheck")
1611 (version "0.2.5.1")
1612 (source
1613 (origin
1614 (method url-fetch)
1615 (uri (string-append
1616 "https://hackage.haskell.org/package/chell-quickcheck/"
1617 "chell-quickcheck-" version ".tar.gz"))
1618 (sha256
1619 (base32
1620 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
1621 (build-system haskell-build-system)
1622 (arguments
1623 `(#:phases
1624 (modify-phases %standard-phases
1625 (add-before 'configure 'update-constraints
1626 (lambda _
1627 (substitute* "chell-quickcheck.cabal"
1628 (("QuickCheck >= 2\\.3 && < 2\\.11")
1629 "QuickCheck >= 2.3 && < 2.12")))))))
1630 (inputs
1631 `(("ghc-chell" ,ghc-chell)
1632 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1633 ("ghc-random" ,ghc-random)
1634 ("ghc-quickcheck" ,ghc-quickcheck)))
1635 (home-page "https://john-millikin.com/software/chell/")
1636 (synopsis "QuickCheck support for the Chell testing library")
1637 (description "More complex tests for @code{chell}.")
1638 (license license:expat)))
1639
1640(define ghc-chell-quickcheck-bootstrap
1641 (package
1642 (name "ghc-chell-quickcheck-bootstrap")
1643 (version "0.2.5.1")
1644 (source
1645 (origin
1646 (method url-fetch)
1647 (uri (string-append
1648 "https://hackage.haskell.org/package/chell-quickcheck/"
1649 "chell-quickcheck-" version ".tar.gz"))
1650 (sha256
1651 (base32
1652 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
1653 (build-system haskell-build-system)
1654 (inputs
1655 `(("ghc-chell" ,ghc-chell)
1656 ("ghc-random" ,ghc-random)
1657 ("ghc-quickcheck" ,ghc-quickcheck)))
1658 (arguments
1659 `(#:tests? #f
1660 #:phases
1661 (modify-phases %standard-phases
1662 (add-before 'configure 'update-constraints
1663 (lambda _
1664 (substitute* "chell-quickcheck.cabal"
1665 (("QuickCheck >= 2\\.3 && < 2\\.11")
1666 "QuickCheck >= 2.3 && < 2.12")))))))
1667 (home-page "https://john-millikin.com/software/chell/")
1668 (synopsis "QuickCheck support for the Chell testing library")
1669 (description "More complex tests for @code{chell}.")
1670 (license license:expat)))
1671
1672(define-public ghc-chunked-data
1673 (package
1674 (name "ghc-chunked-data")
1675 (version "0.3.1")
1676 (source
1677 (origin
1678 (method url-fetch)
1679 (uri (string-append "https://hackage.haskell.org/package/"
1680 "chunked-data-" version "/"
1681 "chunked-data-" version ".tar.gz"))
1682 (sha256
1683 (base32
1684 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1685 (build-system haskell-build-system)
1686 (inputs `(("ghc-vector" ,ghc-vector)
1687 ("ghc-semigroups" ,ghc-semigroups)))
1688 (home-page "https://github.com/snoyberg/mono-traversable")
1689 (synopsis "Typeclasses for dealing with various chunked data
1690representations for Haskell")
1691 (description "This Haskell package was originally present in
1692classy-prelude.")
1693 (license license:expat)))
1694
1695(define-public ghc-clock
1696 (package
1697 (name "ghc-clock")
0841b6f2 1698 (version "0.8")
dddbc90c
RV
1699 (source
1700 (origin
1701 (method url-fetch)
1702 (uri (string-append
1703 "https://hackage.haskell.org/package/"
1704 "clock/"
1705 "clock-" version ".tar.gz"))
1706 (sha256
0841b6f2 1707 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1708 (build-system haskell-build-system)
1709 (inputs
1710 `(("ghc-tasty" ,ghc-tasty)
1711 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1712 (home-page "https://hackage.haskell.org/package/clock")
1713 (synopsis "High-resolution clock for Haskell")
1714 (description "A package for convenient access to high-resolution clock and
1715timer functions of different operating systems via a unified API.")
1716 (license license:bsd-3)))
1717
1718;; This package builds `clock` without tests, since the tests rely on tasty
1719;; and tasty-quickcheck, which in turn require clock to build.
1720(define-public ghc-clock-bootstrap
1721 (package
1722 (inherit ghc-clock)
1723 (name "ghc-clock-bootstrap")
1724 (arguments '(#:tests? #f))
1725 (inputs '())
1726 (properties '((hidden? #t)))))
1727
1728(define-public ghc-cmark
1729 (package
1730 (name "ghc-cmark")
6bdd36c0 1731 (version "0.6")
dddbc90c
RV
1732 (source (origin
1733 (method url-fetch)
6bdd36c0 1734 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1735 ;; See cbits/cmark_version.h.
1736 (uri (string-append "https://hackage.haskell.org/package/"
1737 "cmark/cmark-" version ".tar.gz"))
1738 (sha256
1739 (base32
6bdd36c0 1740 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
1741 (build-system haskell-build-system)
1742 (native-inputs
1743 `(("ghc-hunit" ,ghc-hunit)))
1744 (home-page "https://github.com/jgm/commonmark-hs")
1745 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1746 (description
1747 "This package provides Haskell bindings for
1748@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1749CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1750sources, and does not require prior installation of the C library.")
1751 (license license:bsd-3)))
1752
1753(define-public ghc-cmark-gfm
1754 (package
1755 (name "ghc-cmark-gfm")
24fc8dae 1756 (version "0.2.0")
dddbc90c
RV
1757 (source
1758 (origin
1759 (method url-fetch)
1760 (uri (string-append "https://hackage.haskell.org/package/"
1761 "cmark-gfm/cmark-gfm-"
1762 version ".tar.gz"))
1763 (sha256
1764 (base32
24fc8dae 1765 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
1766 (build-system haskell-build-system)
1767 (native-inputs
1768 `(("ghc-hunit" ,ghc-hunit)))
1769 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1770 (synopsis
1771 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1772 (description
1773 "This package provides Haskell bindings for libcmark-gfm, the reference
1774parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1775It includes sources for libcmark-gfm and does not require prior installation
1776of the C library.")
1777 (license license:bsd-3)))
1778
1779(define-public ghc-cmdargs
1780 (package
1781 (name "ghc-cmdargs")
1782 (version "0.10.20")
1783 (source
1784 (origin
1785 (method url-fetch)
1786 (uri (string-append
1787 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1788 version ".tar.gz"))
1789 (sha256
1790 (base32
1791 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1792 (build-system haskell-build-system)
1793 (home-page
1794 "http://community.haskell.org/~ndm/cmdargs/")
1795 (synopsis "Command line argument processing")
1796 (description
1797 "This library provides an easy way to define command line parsers.")
1798 (license license:bsd-3)))
1799
1800(define-public ghc-code-page
1801 (package
1802 (name "ghc-code-page")
f6bb6519 1803 (version "0.2")
dddbc90c
RV
1804 (source
1805 (origin
1806 (method url-fetch)
1807 (uri (string-append
1808 "https://hackage.haskell.org/package/code-page/code-page-"
1809 version ".tar.gz"))
1810 (sha256
1811 (base32
f6bb6519 1812 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1813 (build-system haskell-build-system)
1814 (home-page "https://github.com/RyanGlScott/code-page")
1815 (synopsis "Windows code page library for Haskell")
1816 (description "A cross-platform library with functions for adjusting
1817code pages on Windows. On all other operating systems, the library does
1818nothing.")
1819 (license license:bsd-3)))
1820
1821(define-public ghc-colour
1822(package
1823 (name "ghc-colour")
bc9d1af9 1824 (version "2.3.5")
dddbc90c
RV
1825 (source
1826 (origin
1827 (method url-fetch)
1828 (uri (string-append
1829 "https://hackage.haskell.org/package/colour/colour-"
1830 version ".tar.gz"))
1831 (sha256
1832 (base32
bc9d1af9 1833 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1834 (arguments
1835 ;; The tests for this package have the following dependency cycle:
1836 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1837 `(#:tests? #f))
1838 (build-system haskell-build-system)
1839 (home-page "https://www.haskell.org/haskellwiki/Colour")
1840 (synopsis "Model for human colour perception")
1841 (description
1842 "This package provides a data type for colours and transparency.
1843Colours can be blended and composed. Various colour spaces are
1844supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1845 (license license:expat)))
1846
1847(define-public ghc-comonad
1848 (package
1849 (name "ghc-comonad")
1850 (version "5.0.4")
1851 (source
1852 (origin
1853 (method url-fetch)
1854 (uri (string-append
1855 "https://hackage.haskell.org/package/comonad/comonad-"
1856 version
1857 ".tar.gz"))
1858 (sha256
1859 (base32
1860 "09g870c4flp4k3fgbibsd0mmfjani1qcpbcl685v8x89kxzrva3q"))))
1861 (build-system haskell-build-system)
1862 (native-inputs
1863 `(("cabal-doctest" ,cabal-doctest)
1864 ("ghc-doctest" ,ghc-doctest)))
1865 (inputs
1866 `(("ghc-contravariant" ,ghc-contravariant)
1867 ("ghc-distributive" ,ghc-distributive)
1868 ("ghc-semigroups" ,ghc-semigroups)
1869 ("ghc-tagged" ,ghc-tagged)
1870 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1871 (home-page "https://github.com/ekmett/comonad/")
1872 (synopsis "Comonads for Haskell")
1873 (description "This library provides @code{Comonad}s for Haskell.")
1874 (license license:bsd-3)))
1875
1876(define-public ghc-concatenative
1877 (package
1878 (name "ghc-concatenative")
1879 (version "1.0.1")
1880 (source (origin
1881 (method url-fetch)
1882 (uri (string-append
1883 "https://hackage.haskell.org/package/concatenative/concatenative-"
1884 version ".tar.gz"))
1885 (sha256
1886 (base32
1887 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1888 (build-system haskell-build-system)
1889 (home-page
1890 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1891 (synopsis "Library for postfix control flow")
1892 (description
1893 "Concatenative gives Haskell Factor-style combinators and arrows for
1894postfix notation. For more information on stack based languages, see
1895@uref{https://concatenative.org}.")
1896 (license license:bsd-3)))
1897
1898(define-public ghc-concurrent-extra
1899 (package
1900 (name "ghc-concurrent-extra")
1901 (version "0.7.0.12")
1902 (source
1903 (origin
1904 (method url-fetch)
1905 (uri (string-append "https://hackage.haskell.org/package/"
1906 "concurrent-extra/concurrent-extra-"
1907 version ".tar.gz"))
1908 (sha256
1909 (base32
1910 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
1911 (build-system haskell-build-system)
1912 (arguments
1913 ;; XXX: The ReadWriteLock 'stressTest' fails.
1914 `(#:tests? #f))
1915 (inputs
1916 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
1917 (native-inputs
1918 `(("ghc-async" ,ghc-async)
1919 ("ghc-hunit" ,ghc-hunit)
1920 ("ghc-random" ,ghc-random)
1921 ("ghc-test-framework" ,ghc-test-framework)
1922 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
1923 (home-page "https://github.com/basvandijk/concurrent-extra")
1924 (synopsis "Extra concurrency primitives")
1925 (description "This Haskell library offers (among other things) the
1926following selection of synchronisation primitives:
1927
1928@itemize
1929@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
1930@item @code{Event}: Wake multiple threads by signalling an event.
1931@item @code{Lock}: Enforce exclusive access to a resource. Also known
1932as a binary semaphore or mutex. The package additionally provides an
1933alternative that works in the STM monad.
1934@item @code{RLock}: A lock which can be acquired multiple times by the
1935same thread. Also known as a reentrant mutex.
1936@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
1937to protect shared resources which may be concurrently read, but only
1938sequentially written.
1939@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
1940@end itemize
1941
1942Please consult the API documentation of the individual modules for more
1943detailed information.
1944
1945This package was inspired by the concurrency libraries of Java and
1946Python.")
1947 (license license:bsd-3)))
1948
1949(define-public ghc-concurrent-output
1950 (package
1951 (name "ghc-concurrent-output")
4fce0a4a 1952 (version "1.10.11")
dddbc90c
RV
1953 (source
1954 (origin
1955 (method url-fetch)
1956 (uri (string-append
1957 "mirror://hackage/package/concurrent-output/concurrent-output-"
1958 version
1959 ".tar.gz"))
1960 (sha256
1961 (base32
4fce0a4a 1962 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
1963 (build-system haskell-build-system)
1964 (inputs
1965 `(("ghc-async" ,ghc-async)
1966 ("ghc-exceptions" ,ghc-exceptions)
1967 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1968 ("ghc-terminal-size" ,ghc-terminal-size)))
1969 (home-page
1970 "https://hackage.haskell.org/package/concurrent-output")
1971 (synopsis
1972 "Ungarble output from several threads or commands")
1973 (description
1974 "Lets multiple threads and external processes concurrently output to the
1975console, without it getting all garbled up.
1976
1977Built on top of that is a way of defining multiple output regions, which are
1978automatically laid out on the screen and can be individually updated by
1979concurrent threads. Can be used for progress displays etc.")
1980 (license license:bsd-2)))
1981
1982(define-public ghc-conduit
1983 (package
1984 (name "ghc-conduit")
1985 (version "1.3.0.3")
1986 (source (origin
1987 (method url-fetch)
1988 (uri (string-append "https://hackage.haskell.org/package/"
1989 "conduit/conduit-" version ".tar.gz"))
1990 (sha256
1991 (base32
1992 "1sangm0qqi9dzlq95746a3kl14k8b09592a423shxjf2a0b1yx5v"))))
1993 (build-system haskell-build-system)
1994 (inputs
1995 `(("ghc-exceptions" ,ghc-exceptions)
1996 ("ghc-lifted-base" ,ghc-lifted-base)
1997 ("ghc-mono-traversable" ,ghc-mono-traversable)
1998 ("ghc-mmorph" ,ghc-mmorph)
1999 ("ghc-resourcet" ,ghc-resourcet)
2000 ("ghc-silently" ,ghc-silently)
2001 ("ghc-transformers-base" ,ghc-transformers-base)
2002 ("ghc-unliftio" ,ghc-unliftio)
2003 ("ghc-unliftio-core" ,ghc-unliftio-core)
2004 ("ghc-vector" ,ghc-vector)
2005 ("ghc-void" ,ghc-void)))
2006 (native-inputs
2007 `(("ghc-quickcheck" ,ghc-quickcheck)
2008 ("ghc-hspec" ,ghc-hspec)
2009 ("ghc-safe" ,ghc-safe)
2010 ("ghc-split" ,ghc-split)))
2011 (home-page "https://github.com/snoyberg/conduit")
2012 (synopsis "Streaming data library ")
2013 (description
2014 "The conduit package is a solution to the streaming data problem,
2015allowing for production, transformation, and consumption of streams of data
2016in constant memory. It is an alternative to lazy I/O which guarantees
2017deterministic resource handling, and fits in the same general solution
2018space as enumerator/iteratee and pipes.")
2019 (license license:expat)))
2020
2021(define-public ghc-conduit-algorithms
2022 (package
2023 (name "ghc-conduit-algorithms")
2024 (version "0.0.8.1")
2025 (source
2026 (origin
2027 (method url-fetch)
2028 (uri (string-append "https://hackage.haskell.org/package/"
2029 "conduit-algorithms/conduit-algorithms-"
2030 version ".tar.gz"))
2031 (sha256
2032 (base32
2033 "07gx2q3d1bbfw14q41rmqg0i4m018pci10lswc0k1ij6lw7sb9fd"))))
2034 (build-system haskell-build-system)
2035 (inputs
2036 `(("ghc-async" ,ghc-async)
2037 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2038 ("ghc-conduit" ,ghc-conduit)
2039 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2040 ("ghc-conduit-extra" ,ghc-conduit-extra)
2041 ("ghc-exceptions" ,ghc-exceptions)
2042 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2043 ("ghc-monad-control" ,ghc-monad-control)
2044 ("ghc-pqueue" ,ghc-pqueue)
2045 ("ghc-resourcet" ,ghc-resourcet)
2046 ("ghc-stm-conduit" ,ghc-stm-conduit)
2047 ("ghc-streaming-commons" ,ghc-streaming-commons)
2048 ("ghc-unliftio-core" ,ghc-unliftio-core)
2049 ("ghc-vector" ,ghc-vector)))
2050 (native-inputs
2051 `(("ghc-hunit" ,ghc-hunit)
2052 ("ghc-test-framework" ,ghc-test-framework)
2053 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2054 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2055 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2056 (synopsis "Conduit-based algorithms")
2057 (description
2058 "This package provides algorithms on @code{Conduits}, including higher
2059level asynchronous processing and some other utilities.")
2060 (license license:expat)))
2061
2062(define-public ghc-conduit-combinators
2063 (package
2064 (name "ghc-conduit-combinators")
2065 (version "1.3.0")
2066 (source
2067 (origin
2068 (method url-fetch)
2069 (uri (string-append "https://hackage.haskell.org/package/"
2070 "conduit-combinators-" version "/"
2071 "conduit-combinators-" version ".tar.gz"))
2072 (sha256
2073 (base32
2074 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2075 (build-system haskell-build-system)
2076 (inputs `(("ghc-conduit" ,ghc-conduit)
2077 ("ghc-conduit-extra" ,ghc-conduit-extra)
2078 ("ghc-transformers-base" ,ghc-transformers-base)
2079 ("ghc-primitive" ,ghc-primitive)
2080 ("ghc-vector" ,ghc-vector)
2081 ("ghc-void" ,ghc-void)
2082 ("ghc-mwc-random" ,ghc-mwc-random)
2083 ("ghc-unix-compat" ,ghc-unix-compat)
2084 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2085 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2086 ("ghc-resourcet" ,ghc-resourcet)
2087 ("ghc-monad-control" ,ghc-monad-control)
2088 ("ghc-chunked-data" ,ghc-chunked-data)
2089 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2090 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2091 ("ghc-silently" ,ghc-silently)
2092 ("ghc-safe" ,ghc-safe)
2093 ("ghc-quickcheck" ,ghc-quickcheck)))
2094 (home-page "https://github.com/snoyberg/mono-traversable")
2095 (synopsis "Commonly used conduit functions, for both chunked and
2096unchunked data")
2097 (description "This Haskell package provides a replacement for Data.Conduit.List,
2098as well as a convenient Conduit module.")
2099 (license license:expat)))
2100
2101(define-public ghc-conduit-extra
2102 (package
2103 (name "ghc-conduit-extra")
2104 (version "1.3.1.1")
2105 (source
2106 (origin
2107 (method url-fetch)
2108 (uri (string-append "https://hackage.haskell.org/package/"
2109 "conduit-extra/conduit-extra-"
2110 version ".tar.gz"))
2111 (sha256
2112 (base32
2113 "0jaj350vv6mbb26gdwcqz4gwzfzrjydv5pis2da49wz1npbakcfw"))))
2114 (build-system haskell-build-system)
2115 (inputs
2116 `(("ghc-conduit" ,ghc-conduit)
2117 ("ghc-exceptions" ,ghc-exceptions)
2118 ("ghc-monad-control" ,ghc-monad-control)
2119 ("ghc-transformers-base" ,ghc-transformers-base)
2120 ("ghc-typed-process" ,ghc-typed-process)
2121 ("ghc-async" ,ghc-async)
2122 ("ghc-attoparsec" ,ghc-attoparsec)
2123 ("ghc-blaze-builder" ,ghc-blaze-builder)
2124 ("ghc-network" ,ghc-network)
2125 ("ghc-primitive" ,ghc-primitive)
2126 ("ghc-resourcet" ,ghc-resourcet)
2127 ("ghc-streaming-commons" ,ghc-streaming-commons)
2128 ("ghc-hspec" ,ghc-hspec)
2129 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2130 ("ghc-quickcheck" ,ghc-quickcheck)))
2131 (native-inputs
2132 `(("hspec-discover" ,hspec-discover)))
2133 (home-page "https://github.com/snoyberg/conduit")
2134 (synopsis "Conduit adapters for common libraries")
2135 (description
2136 "The @code{conduit} package itself maintains relative small dependencies.
2137The purpose of this package is to collect commonly used utility functions
2138wrapping other library dependencies, without depending on heavier-weight
2139dependencies. The basic idea is that this package should only depend on
2140@code{haskell-platform} packages and @code{conduit}.")
2141 (license license:expat)))
2142
2143(define-public ghc-configurator
2144 (package
2145 (name "ghc-configurator")
2146 (version "0.3.0.0")
2147 (source
2148 (origin
2149 (method url-fetch)
2150 (uri (string-append "https://hackage.haskell.org/package/"
2151 "configurator/configurator-"
2152 version ".tar.gz"))
2153 (sha256
2154 (base32
2155 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2156 (build-system haskell-build-system)
2157 (inputs
2158 `(("ghc-attoparsec" ,ghc-attoparsec)
2159 ("ghc-hashable" ,ghc-hashable)
2160 ("ghc-unix-compat" ,ghc-unix-compat)
2161 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2162 (native-inputs
2163 `(("ghc-hunit" ,ghc-hunit)
2164 ("ghc-test-framework" ,ghc-test-framework)
2165 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2166 (home-page "http://github.com/bos/configurator")
2167 (synopsis "Configuration management")
2168 (description
2169 "This package provides a configuration management library for programs
2170and daemons. The features include:
2171
2172@enumerate
2173@item Automatic, dynamic reloading in response to modifications to
2174 configuration files.
2175@item A simple, but flexible, configuration language, supporting several of
2176 the most commonly needed types of data, along with interpolation of strings
2177 from the configuration or the system environment (e.g. @code{$(HOME)}).
2178@item Subscription-based notification of changes to configuration properties.
2179@item An @code{import} directive allows the configuration of a complex
2180 application to be split across several smaller files, or common configuration
2181 data to be shared across several applications.
2182@end enumerate\n")
2183 (license license:bsd-3)))
2184
2185(define-public ghc-connection
2186 (package
2187 (name "ghc-connection")
2188 (version "0.2.8")
2189 (source (origin
2190 (method url-fetch)
2191 (uri (string-append "https://hackage.haskell.org/package/"
2192 "connection/connection-"
2193 version ".tar.gz"))
2194 (sha256
2195 (base32
2196 "1swkb9w5vx9ph7x55y51dc0srj2z27nd9ibgn8c0qcl6hx7g9cbh"))))
2197 (build-system haskell-build-system)
2198 (inputs
2199 `(("ghc-byteable" ,ghc-byteable)
2200 ("ghc-data-default-class" ,ghc-data-default-class)
2201 ("ghc-network" ,ghc-network)
2202 ("ghc-tls" ,ghc-tls)
2203 ("ghc-socks" ,ghc-socks)
2204 ("ghc-x509" ,ghc-x509)
2205 ("ghc-x509-store" ,ghc-x509-store)
2206 ("ghc-x509-system" ,ghc-x509-system)
2207 ("ghc-x509-validation" ,ghc-x509-validation)))
2208 (home-page "https://github.com/vincenthz/hs-connection")
2209 (synopsis "Simple and easy network connections API")
2210 (description
2211 "This package provides a simple network library for all your connection
2212needs. It provides a very simple API to create sockets to a destination with
2213the choice of SSL/TLS, and SOCKS.")
2214 (license license:bsd-3)))
2215
2216(define-public ghc-constraints
2217 (package
2218 (name "ghc-constraints")
2219 (version "0.10.1")
2220 (source
2221 (origin
2222 (method url-fetch)
2223 (uri (string-append
2224 "https://hackage.haskell.org/package/constraints/constraints-"
2225 version ".tar.gz"))
2226 (sha256
2227 (base32
2228 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2229 (build-system haskell-build-system)
2230 (inputs
2231 `(("ghc-hashable" ,ghc-hashable)
2232 ("ghc-semigroups" ,ghc-semigroups)
2233 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2234 (native-inputs
2235 `(("ghc-hspec" ,ghc-hspec)
2236 ("hspec-discover" ,hspec-discover)))
2237 (home-page "https://github.com/ekmett/constraints/")
2238 (synopsis "Constraint manipulation")
2239 (description
2240 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2241They stopped crashing the compiler in GHC 7.6. This package provides
2242a vocabulary for working with them.")
2243 (license license:bsd-3)))
2244
2245(define-public ghc-contravariant
2246 (package
2247 (name "ghc-contravariant")
e7b35ff0 2248 (version "1.5.2")
dddbc90c
RV
2249 (source
2250 (origin
2251 (method url-fetch)
2252 (uri (string-append
2253 "https://hackage.haskell.org/package/contravariant/contravariant-"
2254 version
2255 ".tar.gz"))
2256 (sha256
2257 (base32
e7b35ff0 2258 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2259 (build-system haskell-build-system)
2260 (inputs
2261 `(("ghc-void" ,ghc-void)
2262 ("ghc-transformers-compat" ,ghc-transformers-compat)
2263 ("ghc-statevar" ,ghc-statevar)
2264 ("ghc-semigroups" ,ghc-semigroups)))
2265 (home-page
2266 "https://github.com/ekmett/contravariant/")
2267 (synopsis "Contravariant functors")
2268 (description "Contravariant functors for Haskell.")
2269 (license license:bsd-3)))
2270
2271(define-public ghc-contravariant-extras
2272 (package
2273 (name "ghc-contravariant-extras")
2274 (version "0.3.4")
2275 (source
2276 (origin
2277 (method url-fetch)
2278 (uri (string-append "https://hackage.haskell.org/package/"
2279 "contravariant-extras-" version "/"
2280 "contravariant-extras-" version ".tar.gz"))
2281 (sha256
2282 (base32
2283 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2284 (build-system haskell-build-system)
2285 (inputs
2286 `(("ghc-tuple-th" ,ghc-tuple-th)
2287 ("ghc-contravariant" ,ghc-contravariant)
2288 ("ghc-base-prelude" ,ghc-base-prelude)
2289 ("ghc-semigroups" ,ghc-semigroups)))
2290 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2291 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2292 (description "This Haskell package provides extras for the
2293@code{ghc-contravariant} package.")
2294 (license license:expat)))
2295
2296(define-public ghc-convertible
2297 (package
2298 (name "ghc-convertible")
2299 (version "1.1.1.0")
2300 (source
2301 (origin
2302 (method url-fetch)
2303 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2304 "convertible-" version ".tar.gz"))
2305 (sha256
2306 (base32
2307 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2308 (build-system haskell-build-system)
2309 (inputs
2310 `(("ghc-old-time" ,ghc-old-time)
2311 ("ghc-old-locale" ,ghc-old-locale)))
2312 (home-page "https://hackage.haskell.org/package/convertible")
2313 (synopsis "Typeclasses and instances for converting between types")
2314 (description
2315 "This package provides a typeclass with a single function that is
2316designed to help convert between different types: numeric values, dates and
2317times, and the like. The conversions perform bounds checking and return a
2318pure @code{Either} value. This means that you need not remember which specific
2319function performs the conversion you desire.")
2320 (license license:bsd-3)))
2321
2322(define-public ghc-data-accessor
2323 (package
2324 (name "ghc-data-accessor")
6dcca515 2325 (version "0.2.2.8")
dddbc90c
RV
2326 (source
2327 (origin
2328 (method url-fetch)
2329 (uri (string-append
2330 "mirror://hackage/package/data-accessor/data-accessor-"
2331 version ".tar.gz"))
2332 (sha256
6dcca515 2333 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2334 (build-system haskell-build-system)
2335 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2336 (synopsis
2337 "Haskell utilities for accessing and manipulating fields of records")
2338 (description "This package provides Haskell modules for accessing and
2339manipulating fields of records.")
2340 (license license:bsd-3)))
2341
2342(define-public ghc-data-accessor-transformers
2343 (package
2344 (name "ghc-data-accessor-transformers")
2345 (version "0.2.1.7")
2346 (source
2347 (origin
2348 (method url-fetch)
2349 (uri (string-append
2350 "mirror://hackage/package/data-accessor-transformers/"
2351 "data-accessor-transformers-" version ".tar.gz"))
2352 (sha256
2353 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2354 (build-system haskell-build-system)
2355 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2356 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2357 (synopsis "Use Accessor to access state in transformers State monad")
2358 (description "This package provides Haskell modules to allow use of
2359Accessor to access state in transformers State monad.")
2360 (license license:bsd-3)))
2361
2362(define-public ghc-data-default
2363 (package
2364 (name "ghc-data-default")
2365 (version "0.7.1.1")
2366 (source
2367 (origin
2368 (method url-fetch)
2369 (uri (string-append
2370 "https://hackage.haskell.org/package/data-default/data-default-"
2371 version
2372 ".tar.gz"))
2373 (sha256
2374 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2375 (build-system haskell-build-system)
2376 (inputs
2377 `(("ghc-data-default-class"
2378 ,ghc-data-default-class)
2379 ("ghc-data-default-instances-base"
2380 ,ghc-data-default-instances-base)
2381 ("ghc-data-default-instances-containers"
2382 ,ghc-data-default-instances-containers)
2383 ("ghc-data-default-instances-dlist"
2384 ,ghc-data-default-instances-dlist)
2385 ("ghc-data-default-instances-old-locale"
2386 ,ghc-data-default-instances-old-locale)))
2387 (home-page "https://hackage.haskell.org/package/data-default")
2388 (synopsis "Types with default values")
2389 (description
2390 "This package defines a class for types with a default value, and
2391provides instances for types from the base, containers, dlist and old-locale
2392packages.")
2393 (license license:bsd-3)))
2394
2395(define-public ghc-data-default-class
2396 (package
2397 (name "ghc-data-default-class")
2398 (version "0.1.2.0")
2399 (source
2400 (origin
2401 (method url-fetch)
2402 (uri (string-append
2403 "https://hackage.haskell.org/package/data-default-class/"
2404 "data-default-class-" version ".tar.gz"))
2405 (sha256
2406 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2407 (build-system haskell-build-system)
2408 (home-page "https://hackage.haskell.org/package/data-default-class")
2409 (synopsis "Types with default values")
2410 (description
2411 "This package defines a class for types with default values.")
2412 (license license:bsd-3)))
2413
2414(define-public ghc-data-default-instances-base
2415 (package
2416 (name "ghc-data-default-instances-base")
2417 (version "0.1.0.1")
2418 (source
2419 (origin
2420 (method url-fetch)
2421 (uri (string-append
2422 "https://hackage.haskell.org/package/"
2423 "data-default-instances-base/"
2424 "data-default-instances-base-" version ".tar.gz"))
2425 (sha256
2426 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2427 (build-system haskell-build-system)
2428 (inputs
2429 `(("ghc-data-default-class" ,ghc-data-default-class)))
2430 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2431 (synopsis "Default instances for types in base")
2432 (description
2433 "This package provides default instances for types from the base
2434package.")
2435 (license license:bsd-3)))
2436
2437(define-public ghc-data-default-instances-containers
2438 (package
2439 (name "ghc-data-default-instances-containers")
2440 (version "0.0.1")
2441 (source
2442 (origin
2443 (method url-fetch)
2444 (uri (string-append
2445 "https://hackage.haskell.org/package/"
2446 "data-default-instances-containers/"
2447 "data-default-instances-containers-" version ".tar.gz"))
2448 (sha256
2449 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2450 (build-system haskell-build-system)
2451 (inputs
2452 `(("ghc-data-default-class" ,ghc-data-default-class)))
2453 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2454 (synopsis "Default instances for types in containers")
2455 (description "Provides default instances for types from the containers
2456package.")
2457 (license license:bsd-3)))
2458
2459(define-public ghc-data-default-instances-dlist
2460 (package
2461 (name "ghc-data-default-instances-dlist")
2462 (version "0.0.1")
2463 (source
2464 (origin
2465 (method url-fetch)
2466 (uri (string-append
2467 "https://hackage.haskell.org/package/"
2468 "data-default-instances-dlist/"
2469 "data-default-instances-dlist-" version ".tar.gz"))
2470 (sha256
2471 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2472 (build-system haskell-build-system)
2473 (inputs
2474 `(("ghc-data-default-class" ,ghc-data-default-class)
2475 ("ghc-dlist" ,ghc-dlist)))
2476 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2477 (synopsis "Default instances for types in dlist")
2478 (description "Provides default instances for types from the dlist
2479package.")
2480 (license license:bsd-3)))
2481
2482(define-public ghc-data-default-instances-old-locale
2483 (package
2484 (name "ghc-data-default-instances-old-locale")
2485 (version "0.0.1")
2486 (source
2487 (origin
2488 (method url-fetch)
2489 (uri (string-append
2490 "https://hackage.haskell.org/package/"
2491 "data-default-instances-old-locale/"
2492 "data-default-instances-old-locale-" version ".tar.gz"))
2493 (sha256
2494 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2495 (build-system haskell-build-system)
2496 (inputs
2497 `(("ghc-data-default-class" ,ghc-data-default-class)
2498 ("ghc-old-locale" ,ghc-old-locale)))
2499 (home-page
2500 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2501 (synopsis "Default instances for types in old-locale")
2502 (description "Provides Default instances for types from the old-locale
2503 package.")
2504 (license license:bsd-3)))
2505
2506(define-public ghc-data-hash
2507 (package
2508 (name "ghc-data-hash")
2509 (version "0.2.0.1")
2510 (source
2511 (origin
2512 (method url-fetch)
2513 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2514 "/data-hash-" version ".tar.gz"))
2515 (sha256
2516 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2517 (build-system haskell-build-system)
2518 (inputs
2519 `(("ghc-quickcheck" ,ghc-quickcheck)
2520 ("ghc-test-framework" ,ghc-test-framework)
2521 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2522 (home-page "https://hackage.haskell.org/package/data-hash")
2523 (synopsis "Combinators for building fast hashing functions")
2524 (description
2525 "This package provides combinators for building fast hashing functions.
2526It includes hashing functions for all basic Haskell98 types.")
2527 (license license:bsd-3)))
2528
2529(define-public ghc-data-ordlist
2530 (package
2531 (name "ghc-data-ordlist")
2532 (version "0.4.7.0")
2533 (source
2534 (origin
2535 (method url-fetch)
2536 (uri (string-append
2537 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2538 version ".tar.gz"))
2539 (sha256
2540 (base32
2541 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2542 (build-system haskell-build-system)
2543 (home-page "https://hackage.haskell.org/package/data-ordlist")
2544 (synopsis "Set and bag operations on ordered lists")
2545 (description
2546 "This module provides set and multiset operations on ordered lists.")
2547 (license license:bsd-3)))
2548
2549(define-public ghc-deepseq-generics
2550 (package
2551 (name "ghc-deepseq-generics")
2552 (version "0.2.0.0")
2553 (source (origin
2554 (method url-fetch)
2555 (uri (string-append "https://hackage.haskell.org/package/"
2556 "deepseq-generics/deepseq-generics-"
2557 version ".tar.gz"))
2558 (sha256
2559 (base32
2560 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2561 (build-system haskell-build-system)
2562 (arguments
2563 `(#:cabal-revision
2564 ("2" "1pnidf8w8x0w5fsqgv8hhrw07slmhxwy5x4fikgk0bd6k76aqicb")))
2565 (native-inputs
2566 `(("ghc-hunit" ,ghc-hunit)
2567 ("ghc-test-framework" ,ghc-test-framework)
2568 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2569 (home-page "https://github.com/hvr/deepseq-generics")
2570 (synopsis "Generic RNF implementation")
2571 (description
2572 "This package provides a @code{GHC.Generics}-based
2573@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2574providing an @code{rnf} implementation.")
2575 (license license:bsd-3)))
2576
2577(define-public ghc-descriptive
2578 (package
2579 (name "ghc-descriptive")
2580 (version "0.9.5")
2581 (source
2582 (origin
2583 (method url-fetch)
2584 (uri (string-append
2585 "https://hackage.haskell.org/package/descriptive/descriptive-"
2586 version
2587 ".tar.gz"))
2588 (sha256
2589 (base32
2590 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2591 (build-system haskell-build-system)
2592 (inputs
2593 `(("ghc-aeson" ,ghc-aeson)
2594 ("ghc-bifunctors" ,ghc-bifunctors)
2595 ("ghc-scientific" ,ghc-scientific)
2596 ("ghc-vector" ,ghc-vector)))
2597 (native-inputs
2598 `(("ghc-hunit" ,ghc-hunit)
2599 ("ghc-hspec" ,ghc-hspec)))
2600 (home-page
2601 "https://github.com/chrisdone/descriptive")
2602 (synopsis
2603 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2604 (description
2605 "This package provides datatypes and functions for creating consumers
2606and parsers with useful semantics.")
2607 (license license:bsd-3)))
2608
2609(define-public ghc-diff
2610 (package
2611 (name "ghc-diff")
2612 (version "0.3.4")
2613 (source (origin
2614 (method url-fetch)
2615 (uri (string-append "https://hackage.haskell.org/package/"
2616 "Diff/Diff-" version ".tar.gz"))
2617 (sha256
2618 (base32
2619 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
2620 (build-system haskell-build-system)
2621 (native-inputs
2622 `(("ghc-quickcheck" ,ghc-quickcheck)
2623 ("ghc-test-framework" ,ghc-test-framework)
2624 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2625 (home-page "https://hub.darcs.net/sterlingclover/Diff")
2626 (synopsis "O(ND) diff algorithm in Haskell")
2627 (description
2628 "This package provides an implementation of the standard diff algorithm,
2629and utilities for pretty printing.")
2630 (license license:bsd-3)))
2631
2632(define-public ghc-disk-free-space
2633 (package
2634 (name "ghc-disk-free-space")
2635 (version "0.1.0.1")
2636 (source
2637 (origin
2638 (method url-fetch)
2639 (uri (string-append "https://hackage.haskell.org/package/"
2640 "disk-free-space/disk-free-space-"
2641 version ".tar.gz"))
2642 (sha256
2643 (base32
2644 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
2645 (build-system haskell-build-system)
2646 (home-page "https://github.com/redneb/disk-free-space")
2647 (synopsis "Retrieve information about disk space usage")
2648 (description "A cross-platform library for retrieving information about
2649disk space usage.")
2650 (license license:bsd-3)))
2651
2652(define-public ghc-distributive
2653 (package
2654 (name "ghc-distributive")
2655 (version "0.5.3")
2656 (source
2657 (origin
2658 (method url-fetch)
2659 (uri (string-append
2660 "https://hackage.haskell.org/package/distributive/distributive-"
2661 version
2662 ".tar.gz"))
2663 (sha256
2664 (base32
2665 "0y566r97sfyvhsmd4yxiz4ns2mqgwf5bdbp56wgxl6wlkidq0wwi"))))
2666 (build-system haskell-build-system)
2667 (arguments
2668 `(#:cabal-revision
2669 ("6" "06bd38rf31yrvvy989r44pm0id3dsxwcp6nxg7wk6ccj3n2b8rzk")))
2670 (inputs
2671 `(("ghc-tagged" ,ghc-tagged)
2672 ("ghc-base-orphans" ,ghc-base-orphans)
2673 ("ghc-transformers-compat" ,ghc-transformers-compat)
2674 ("ghc-semigroups" ,ghc-semigroups)
2675 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2676 (native-inputs
2677 `(("cabal-doctest" ,cabal-doctest)
2678 ("ghc-doctest" ,ghc-doctest)
2679 ("ghc-hspec" ,ghc-hspec)
2680 ("hspec-discover" ,hspec-discover)))
2681 (home-page "https://github.com/ekmett/distributive/")
2682 (synopsis "Distributive functors for Haskell")
2683 (description "This package provides distributive functors for Haskell.
2684Dual to @code{Traversable}.")
2685 (license license:bsd-3)))
2686
2687(define-public ghc-dlist
2688 (package
2689 (name "ghc-dlist")
197ddf33 2690 (version "0.8.0.7")
dddbc90c
RV
2691 (source
2692 (origin
2693 (method url-fetch)
2694 (uri (string-append
2695 "https://hackage.haskell.org/package/dlist/dlist-"
2696 version
2697 ".tar.gz"))
2698 (sha256
197ddf33 2699 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
2700 (build-system haskell-build-system)
2701 (inputs
2702 `(("ghc-quickcheck" ,ghc-quickcheck)))
2703 (home-page "https://github.com/spl/dlist")
2704 (synopsis "Difference lists")
2705 (description
2706 "Difference lists are a list-like type supporting O(1) append. This is
2707particularly useful for efficient logging and pretty printing (e.g. with the
2708Writer monad), where list append quickly becomes too expensive.")
2709 (license license:bsd-3)))
2710
2711(define-public ghc-doctemplates
2712 (package
2713 (name "ghc-doctemplates")
2714 (version "0.2.2.1")
2715 (source
2716 (origin
2717 (method url-fetch)
2718 (uri (string-append "https://hackage.haskell.org/package/"
2719 "doctemplates/doctemplates-"
2720 version ".tar.gz"))
2721 (sha256
2722 (base32
2723 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
2724 (build-system haskell-build-system)
2725 (inputs
2726 `(("ghc-aeson" ,ghc-aeson)
2727 ("ghc-blaze-markup" ,ghc-blaze-markup)
2728 ("ghc-blaze-html" ,ghc-blaze-html)
2729 ("ghc-vector" ,ghc-vector)
2730 ("ghc-unordered-containers" ,ghc-unordered-containers)
2731 ("ghc-scientific" ,ghc-scientific)))
2732 (native-inputs
2733 `(("ghc-hspec" ,ghc-hspec)))
2734 (home-page "https://github.com/jgm/doctemplates#readme")
2735 (synopsis "Pandoc-style document templates")
2736 (description
2737 "This package provides a simple text templating system used by pandoc.")
2738 (license license:bsd-3)))
2739
2740(define-public ghc-doctest
2741 (package
2742 (name "ghc-doctest")
19c14a0f 2743 (version "0.16.2")
dddbc90c
RV
2744 (source
2745 (origin
2746 (method url-fetch)
2747 (uri (string-append
2748 "https://hackage.haskell.org/package/doctest/doctest-"
2749 version
2750 ".tar.gz"))
2751 (sha256
2752 (base32
19c14a0f 2753 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
2754 (build-system haskell-build-system)
2755 (arguments `(#:tests? #f)) ; FIXME: missing test framework
2756 (inputs
2757 `(("ghc-syb" ,ghc-syb)
2758 ("ghc-paths" ,ghc-paths)
2759 ("ghc-base-compat" ,ghc-base-compat)
2760 ("ghc-code-page" ,ghc-code-page)
2761 ("ghc-hunit" ,ghc-hunit)
2762 ("ghc-hspec" ,ghc-hspec)
2763 ("ghc-quickcheck" ,ghc-quickcheck)
2764 ("ghc-stringbuilder" ,ghc-stringbuilder)
2765 ("ghc-silently" ,ghc-silently)
2766 ("ghc-setenv" ,ghc-setenv)))
2767 (home-page
2768 "https://github.com/sol/doctest#readme")
2769 (synopsis "Test interactive Haskell examples")
2770 (description "The doctest program checks examples in source code comments.
2771It is modeled after doctest for Python, see
2772@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
2773 (license license:expat)))
2774
2775(define-public ghc-double-conversion
2776 (package
2777 (name "ghc-double-conversion")
2778 (version "2.0.2.0")
2779 (source
2780 (origin
2781 (method url-fetch)
2782 (uri (string-append "https://hackage.haskell.org/package/"
2783 "double-conversion/double-conversion-"
2784 version ".tar.gz"))
2785 (sha256
2786 (base32
2787 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
2788 (build-system haskell-build-system)
2789 (native-inputs
2790 `(("ghc-hunit" ,ghc-hunit)
2791 ("ghc-test-framework" ,ghc-test-framework)
2792 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2793 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2794 (home-page "https://github.com/bos/double-conversion")
2795 (synopsis "Fast conversion between double precision floating point and text")
2796 (description
2797 "This package provides a library that performs fast, accurate conversion
2798between double precision floating point and text.")
2799 (license license:bsd-3)))
2800
2801(define-public ghc-easy-file
2802 (package
2803 (name "ghc-easy-file")
2804 (version "0.2.2")
2805 (source
2806 (origin
2807 (method url-fetch)
2808 (uri (string-append
2809 "https://hackage.haskell.org/package/easy-file/easy-file-"
2810 version
2811 ".tar.gz"))
2812 (sha256
2813 (base32
2814 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
2815 (build-system haskell-build-system)
2816 (home-page
2817 "https://github.com/kazu-yamamoto/easy-file")
2818 (synopsis "File handling library for Haskell")
2819 (description "This library provides file handling utilities for Haskell.")
2820 (license license:bsd-3)))
2821
2822(define-public ghc-easyplot
2823 (package
2824 (name "ghc-easyplot")
2825 (version "1.0")
2826 (source
2827 (origin
2828 (method url-fetch)
2829 (uri (string-append
2830 "https://hackage.haskell.org/package/easyplot/easyplot-"
2831 version ".tar.gz"))
2832 (sha256
2833 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
2834 (build-system haskell-build-system)
2835 (propagated-inputs `(("gnuplot" ,gnuplot)))
2836 (arguments
2837 `(#:phases (modify-phases %standard-phases
2838 (add-after 'unpack 'fix-setup-suffix
2839 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
2840 (home-page "https://hub.darcs.net/scravy/easyplot")
2841 (synopsis "Haskell plotting library based on gnuplot")
2842 (description "This package provides a plotting library for
2843Haskell, using gnuplot for rendering.")
2844 (license license:expat)))
2845
2846(define-public ghc-echo
2847 (package
2848 (name "ghc-echo")
2849 (version "0.1.3")
2850 (source
2851 (origin
2852 (method url-fetch)
2853 (uri (string-append
2854 "https://hackage.haskell.org/package/echo/echo-"
2855 version ".tar.gz"))
2856 (sha256
2857 (base32
2858 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
2859 (build-system haskell-build-system)
2860 (arguments
2861 `(#:cabal-revision
2862 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
2863 (home-page "https://github.com/RyanGlScott/echo")
2864 (synopsis "Echo terminal input portably")
2865 (description "The @code{base} library exposes the @code{hGetEcho} and
2866@code{hSetEcho} functions for querying and setting echo status, but
2867unfortunately, neither function works with MinTTY consoles on Windows.
2868This library provides an alternative interface which works with both
2869MinTTY and other consoles.")
2870 (license license:bsd-3)))
2871
2872(define-public ghc-edisonapi
2873 (package
2874 (name "ghc-edisonapi")
2875 (version "1.3.1")
2876 (source
2877 (origin
2878 (method url-fetch)
2879 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
2880 "/EdisonAPI-" version ".tar.gz"))
2881 (sha256
2882 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
2883 (build-system haskell-build-system)
2884 (home-page "http://rwd.rdockins.name/edison/home/")
2885 (synopsis "Library of efficient, purely-functional data structures (API)")
2886 (description
2887 "Edison is a library of purely functional data structures written by
2888Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
2889value EDiSon (Efficient Data Structures). Edison provides several families of
2890abstractions, each with multiple implementations. The main abstractions
2891provided by Edison are: Sequences such as stacks, queues, and dequeues;
2892Collections such as sets, bags and heaps; and Associative Collections such as
2893finite maps and priority queues where the priority and element are distinct.")
2894 (license license:expat)))
2895
2896(define-public ghc-edisoncore
2897 (package
2898 (name "ghc-edisoncore")
2899 (version "1.3.2.1")
2900 (source
2901 (origin
2902 (method url-fetch)
2903 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
2904 "/EdisonCore-" version ".tar.gz"))
2905 (sha256
2906 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
2907 (build-system haskell-build-system)
2908 (inputs
2909 `(("ghc-quickcheck" ,ghc-quickcheck)
2910 ("ghc-edisonapi" ,ghc-edisonapi)))
2911 (home-page "http://rwd.rdockins.name/edison/home/")
2912 (synopsis "Library of efficient, purely-functional data structures")
2913 (description
2914 "This package provides the core Edison data structure implementations,
2915including multiple sequence, set, bag, and finite map concrete implementations
2916with various performance characteristics.")
2917 (license license:expat)))
2918
2919(define-public ghc-edit-distance
2920 (package
2921 (name "ghc-edit-distance")
2922 (version "0.2.2.1")
2923 (source
2924 (origin
2925 (method url-fetch)
2926 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
2927 "/edit-distance-" version ".tar.gz"))
2928 (sha256
2929 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
2930 (build-system haskell-build-system)
2931 (arguments
2932 `(#:phases
2933 (modify-phases %standard-phases
2934 (add-before 'configure 'update-constraints
2935 (lambda _
2936 (substitute* "edit-distance.cabal"
2937 (("QuickCheck >= 2\\.4 && <2\\.9")
2938 "QuickCheck >= 2.4 && < 2.12")))))))
2939 (inputs
2940 `(("ghc-random" ,ghc-random)
2941 ("ghc-test-framework" ,ghc-test-framework)
2942 ("ghc-quickcheck" ,ghc-quickcheck)
2943 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2944 (home-page "https://github.com/phadej/edit-distance")
2945 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
2946 (description
2947 "This package provides optimized functions to determine the edit
2948distances for fuzzy matching, including Levenshtein and restricted
2949Damerau-Levenshtein algorithms.")
2950 (license license:bsd-3)))
2951
2952(define-public ghc-either
2953 (package
2954 (name "ghc-either")
2955 (version "5.0.1")
2956 (source
2957 (origin
2958 (method url-fetch)
2959 (uri (string-append "https://hackage.haskell.org/package/"
2960 "either-" version "/"
2961 "either-" version ".tar.gz"))
2962 (sha256
2963 (base32
2964 "064hjfld7dkzs78sy30k5qkiva3hx24rax6dvzz5ygr2c0zypdkc"))))
2965 (build-system haskell-build-system)
2966 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
2967 ("ghc-exceptions" ,ghc-exceptions)
2968 ("ghc-free" ,ghc-free)
2969 ("ghc-monad-control" ,ghc-monad-control)
2970 ("ghc-manodrandom" ,ghc-monadrandom)
2971 ("ghc-mmorph" ,ghc-mmorph)
2972 ("ghc-profunctors" ,ghc-profunctors)
2973 ("ghc-semigroups" ,ghc-semigroups)
2974 ("ghc-semigroupoids" ,ghc-semigroupoids)
2975 ("ghc-transformers-base" ,ghc-transformers-base)))
2976 (native-inputs
2977 `(("ghc-quickcheck" ,ghc-quickcheck)
2978 ("ghc-test-framework" ,ghc-test-framework)
2979 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2980 (home-page "https://github.com/ekmett/either")
2981 (synopsis "Provides an either monad transformer for Haskell")
2982 (description "This Haskell package provides an either monad transformer.")
2983 (license license:bsd-3)))
2984
2985(define-public ghc-email-validate
2986 (package
2987 (name "ghc-email-validate")
2988 (version "2.3.2.6")
2989 (source
2990 (origin
2991 (method url-fetch)
2992 (uri (string-append
2993 "https://hackage.haskell.org/package/"
2994 "email-validate/email-validate-"
2995 version
2996 ".tar.gz"))
2997 (sha256
2998 (base32
2999 "0chgylvc8xmhp933rdbmpg5sv4y7yg2h6kbf0ip1dzmbd5p55pa5"))))
3000 (build-system haskell-build-system)
3001 (inputs
3002 `(("ghc-attoparsec" ,ghc-attoparsec)
3003 ("ghc-hspec" ,ghc-hspec)
3004 ("ghc-quickcheck" ,ghc-quickcheck)
3005 ("ghc-doctest" ,ghc-doctest)))
3006 (home-page
3007 "https://github.com/Porges/email-validate-hs")
3008 (synopsis "Email address validator for Haskell")
3009 (description
3010 "This Haskell package provides a validator that can validate an email
3011address string against RFC 5322.")
3012 (license license:bsd-3)))
3013
3014(define-public ghc-enclosed-exceptions
3015 (package
3016 (name "ghc-enclosed-exceptions")
3017 (version "1.0.3")
3018 (source (origin
3019 (method url-fetch)
3020 (uri (string-append "https://hackage.haskell.org/package/"
3021 "enclosed-exceptions/enclosed-exceptions-"
3022 version ".tar.gz"))
3023 (sha256
3024 (base32
3025 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3026 (build-system haskell-build-system)
3027 ;; FIXME: one of the tests blocks forever:
3028 ;; "thread blocked indefinitely in an MVar operation"
3029 (arguments '(#:tests? #f))
3030 (inputs
3031 `(("ghc-lifted-base" ,ghc-lifted-base)
3032 ("ghc-monad-control" ,ghc-monad-control)
3033 ("ghc-async" ,ghc-async)
3034 ("ghc-transformers-base" ,ghc-transformers-base)))
3035 (native-inputs
3036 `(("ghc-hspec" ,ghc-hspec)
3037 ("ghc-quickcheck" ,ghc-quickcheck)))
3038 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3039 (synopsis "Catch all exceptions from within an enclosed computation")
3040 (description
3041 "This library implements a technique to catch all exceptions raised
3042within an enclosed computation, while remaining responsive to (external)
3043asynchronous exceptions.")
3044 (license license:expat)))
3045
3046(define-public ghc-equivalence
3047 (package
3048 (name "ghc-equivalence")
3049 (version "0.3.2")
3050 (source
3051 (origin
3052 (method url-fetch)
3053 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3054 "/equivalence-" version ".tar.gz"))
3055 (sha256
3056 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
3057 (build-system haskell-build-system)
3058 (inputs
3059 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3060 ("ghc-transformers-compat" ,ghc-transformers-compat)
3061 ("ghc-quickcheck" ,ghc-quickcheck)
3062 ("ghc-test-framework" ,ghc-test-framework)
3063 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3064 (home-page "https://github.com/pa-ba/equivalence")
3065 (synopsis "Maintaining an equivalence relation implemented as union-find")
3066 (description
3067 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3068Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
306922(2), 1975) in order to maintain an equivalence relation. This
3070implementation is a port of the @code{union-find} package using the @code{ST}
3071monad transformer (instead of the IO monad).")
3072 (license license:bsd-3)))
3073
3074(define-public ghc-erf
3075 (package
3076 (name "ghc-erf")
3077 (version "2.0.0.0")
3078 (source
3079 (origin
3080 (method url-fetch)
3081 (uri (string-append "https://hackage.haskell.org/package/"
3082 "erf-" version "/"
3083 "erf-" version ".tar.gz"))
3084 (sha256
3085 (base32
3086 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3087 (build-system haskell-build-system)
3088 (home-page "https://hackage.haskell.org/package/erf")
3089 (synopsis "The error function, erf, and related functions for Haskell")
3090 (description "This Haskell library provides a type class for the
3091error function, erf, and related functions. Instances for Float and
3092Double.")
3093 (license license:bsd-3)))
3094
3095(define-public ghc-errorcall-eq-instance
3096 (package
3097 (name "ghc-errorcall-eq-instance")
3098 (version "0.3.0")
3099 (source
3100 (origin
3101 (method url-fetch)
3102 (uri (string-append "https://hackage.haskell.org/package/"
3103 "errorcall-eq-instance/errorcall-eq-instance-"
3104 version ".tar.gz"))
3105 (sha256
3106 (base32
3107 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3108 (build-system haskell-build-system)
3109 (inputs
3110 `(("ghc-base-orphans" ,ghc-base-orphans)))
3111 (native-inputs
3112 `(("ghc-quickcheck" ,ghc-quickcheck)
3113 ("ghc-hspec" ,ghc-hspec)
3114 ("hspec-discover" ,hspec-discover)))
3115 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3116 (synopsis "Orphan Eq instance for ErrorCall")
3117 (description
3118 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3119This package provides an orphan instance.")
3120 (license license:expat)))
3121
3122(define-public ghc-errors
3123 (package
3124 (name "ghc-errors")
3125 (version "2.3.0")
3126 (source
3127 (origin
3128 (method url-fetch)
3129 (uri (string-append "https://hackage.haskell.org/package/"
3130 "errors-" version "/"
3131 "errors-" version ".tar.gz"))
3132 (sha256
3133 (base32
3134 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3135 (build-system haskell-build-system)
3136 (inputs
3137 `(("ghc-exceptions" ,ghc-exceptions)
3138 ("ghc-transformers-compat" ,ghc-transformers-compat)
3139 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3140 ("ghc-safe" ,ghc-safe)))
3141 (home-page "https://github.com/gabriel439/haskell-errors-library")
3142 (synopsis "Error handling library for Haskell")
3143 (description "This library encourages an error-handling style that
3144directly uses the type system, rather than out-of-band exceptions.")
3145 (license license:bsd-3)))
3146
3147(define-public ghc-esqueleto
3148 (let ((version "2.5.3")
3149 (revision "1")
3150 (commit "b81e0d951e510ebffca03c5a58658ad884cc6fbd"))
3151 (package
3152 (name "ghc-esqueleto")
3153 (version (git-version version revision commit))
3154 (source
3155 (origin
3156 (method git-fetch)
3157 (uri (git-reference
3158 (url "https://github.com/bitemyapp/esqueleto")
3159 (commit commit)))
3160 (file-name (git-file-name name version))
3161 (sha256
3162 (base32
3163 "0lz1qxms7cfg5p3j37inlych0r2fwhm8xbarcys3df9m7jy9nixa"))))
3164 (build-system haskell-build-system)
3165 (arguments
3166 `(#:haddock? #f ; Haddock reports an internal error.
3167 #:phases
3168 (modify-phases %standard-phases
3169 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3170 ;; SQLite backends. Since we only have Haskell packages for
3171 ;; SQLite, we remove the other two test suites. FIXME: Add the
3172 ;; other backends and run all three test suites.
3173 (add-before 'configure 'remove-non-sqlite-test-suites
3174 (lambda _
3175 (use-modules (ice-9 rdelim))
3176 (with-atomic-file-replacement "esqueleto.cabal"
3177 (lambda (in out)
3178 (let loop ((line (read-line in 'concat)) (deleting? #f))
3179 (cond
3180 ((eof-object? line) #t)
3181 ((string-every char-set:whitespace line)
3182 (unless deleting? (display line out))
3183 (loop (read-line in 'concat) #f))
3184 ((member line '("test-suite mysql\n"
3185 "test-suite postgresql\n"))
3186 (loop (read-line in 'concat) #t))
3187 (else
3188 (unless deleting? (display line out))
3189 (loop (read-line in 'concat) deleting?)))))))))))
3190 (inputs
3191 `(("ghc-blaze-html" ,ghc-blaze-html)
3192 ("ghc-conduit" ,ghc-conduit)
3193 ("ghc-monad-logger" ,ghc-monad-logger)
3194 ("ghc-persistent" ,ghc-persistent)
3195 ("ghc-resourcet" ,ghc-resourcet)
3196 ("ghc-tagged" ,ghc-tagged)
3197 ("ghc-unliftio" ,ghc-unliftio)
3198 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3199 (native-inputs
3200 `(("ghc-hspec" ,ghc-hspec)
3201 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3202 ("ghc-persistent-template" ,ghc-persistent-template)))
3203 (home-page "https://github.com/bitemyapp/esqueleto")
3204 (synopsis "Type-safe embedded domain specific language for SQL queries")
3205 (description "This library provides a type-safe embedded domain specific
3206language (EDSL) for SQL queries that works with SQL backends as provided by
3207@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3208to learn new concepts, just new syntax, and it's fairly easy to predict the
3209generated SQL and optimize it for your backend.")
3210 (license license:bsd-3))))
3211
3212(define-public ghc-exactprint
3213 (package
3214 (name "ghc-exactprint")
3215 (version "0.5.6.1")
3216 (source
3217 (origin
3218 (method url-fetch)
3219 (uri (string-append
3220 "https://hackage.haskell.org/package/"
3221 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3222 (sha256
3223 (base32
3224 "141k6qiys0m0r4br7ikp4i546vs3xcil9cwglzcdfcbnb5nj1z87"))))
3225 (build-system haskell-build-system)
3226 (inputs
3227 `(("ghc-paths" ,ghc-paths)
3228 ("ghc-syb" ,ghc-syb)
3229 ("ghc-free" ,ghc-free)))
3230 (native-inputs
3231 `(("ghc-hunit" ,ghc-hunit)
3232 ("ghc-diff" ,ghc-diff)
3233 ("ghc-silently" ,ghc-silently)
3234 ("ghc-filemanip" ,ghc-filemanip)))
3235 (home-page
3236 "http://hackage.haskell.org/package/ghc-exactprint")
3237 (synopsis "ExactPrint for GHC")
3238 (description
3239 "Using the API Annotations available from GHC 7.10.2, this library
3240provides a means to round-trip any code that can be compiled by GHC, currently
3241excluding @file{.lhs} files.")
3242 (license license:bsd-3)))
3243
3244(define-public ghc-exceptions
3245 (package
3246 (name "ghc-exceptions")
46d3e65b 3247 (version "0.10.3")
dddbc90c
RV
3248 (source
3249 (origin
3250 (method url-fetch)
3251 (uri (string-append
3252 "https://hackage.haskell.org/package/exceptions/exceptions-"
3253 version
3254 ".tar.gz"))
3255 (sha256
3256 (base32
46d3e65b 3257 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3258 (build-system haskell-build-system)
3259 (native-inputs
3260 `(("ghc-quickcheck" ,ghc-quickcheck)
3261 ("ghc-test-framework" ,ghc-test-framework)
3262 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3263 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3264 (inputs
3265 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3266 (home-page "https://github.com/ekmett/exceptions/")
3267 (synopsis "Extensible optionally-pure exceptions")
3268 (description "This library provides extensible optionally-pure exceptions
3269for Haskell.")
3270 (license license:bsd-3)))
3271
3272(define-public ghc-executable-path
3273 (package
3274 (name "ghc-executable-path")
3275 (version "0.0.3.1")
3276 (source (origin
3277 (method url-fetch)
3278 (uri (string-append "https://hackage.haskell.org/package/"
3279 "executable-path/executable-path-"
3280 version ".tar.gz"))
3281 (sha256
3282 (base32
3283 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3284 (build-system haskell-build-system)
3285 (home-page "https://hackage.haskell.org/package/executable-path")
3286 (synopsis "Find out the full path of the executable")
3287 (description
3288 "The documentation of @code{System.Environment.getProgName} says that
3289\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3290instead, for maximum portability, we just return the leafname of the program
3291as invoked.\" This library tries to provide the missing path.")
3292 (license license:public-domain)))
3293
3294(define-public ghc-extensible-exceptions
3295 (package
3296 (name "ghc-extensible-exceptions")
3297 (version "0.1.1.4")
3298 (source
3299 (origin
3300 (method url-fetch)
3301 (uri (string-append "https://hackage.haskell.org/package/"
3302 "extensible-exceptions/extensible-exceptions-"
3303 version ".tar.gz"))
3304 (sha256
3305 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3306 (build-system haskell-build-system)
3307 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3308 (synopsis "Extensible exceptions for Haskell")
3309 (description
3310 "This package provides extensible exceptions for both new and old
3311versions of GHC (i.e., < 6.10).")
3312 (license license:bsd-3)))
3313
3314(define-public ghc-extra
3315 (package
3316 (name "ghc-extra")
10650c44 3317 (version "1.6.18")
dddbc90c
RV
3318 (source
3319 (origin
3320 (method url-fetch)
3321 (uri (string-append
3322 "https://hackage.haskell.org/package/extra/extra-"
3323 version
3324 ".tar.gz"))
3325 (sha256
3326 (base32
10650c44 3327 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
dddbc90c
RV
3328 (build-system haskell-build-system)
3329 (inputs
3330 `(("ghc-clock" ,ghc-clock)
10650c44 3331 ("ghc-semigroups" ,ghc-semigroups)
dddbc90c
RV
3332 ("ghc-quickcheck" ,ghc-quickcheck)))
3333 (home-page "https://github.com/ndmitchell/extra")
3334 (synopsis "Extra Haskell functions")
3335 (description "This library provides extra functions for the standard
3336Haskell libraries. Most functions are simple additions, filling out missing
3337functionality. A few functions are available in later versions of GHC, but
3338this package makes them available back to GHC 7.2.")
3339 (license license:bsd-3)))
3340
3341(define-public ghc-fail
3342 (package
3343 (name "ghc-fail")
3344 (version "4.9.0.0")
3345 (source
3346 (origin
3347 (method url-fetch)
3348 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3349 version ".tar.gz"))
3350 (sha256
3351 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3352 (build-system haskell-build-system)
3353 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3354 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3355 (synopsis "Forward-compatible MonadFail class")
3356 (description
3357 "This package contains the @code{Control.Monad.Fail} module providing the
3358@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3359class that became available in
3360@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3361older @code{base} package versions. This package turns into an empty package
3362when used with GHC versions which already provide the
3363@code{Control.Monad.Fail} module.")
3364 (license license:bsd-3)))
3365
3366(define-public ghc-fast-logger
3367 (package
3368 (name "ghc-fast-logger")
d443a52a 3369 (version "2.4.17")
dddbc90c
RV
3370 (source
3371 (origin
3372 (method url-fetch)
3373 (uri (string-append
3374 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3375 version
3376 ".tar.gz"))
3377 (sha256
3378 (base32
d443a52a 3379 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
3380 (build-system haskell-build-system)
3381 (inputs
3382 `(("ghc-auto-update" ,ghc-auto-update)
3383 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
3384 ("ghc-unix-time" ,ghc-unix-time)
3385 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
3386 (native-inputs
3387 `(("hspec-discover" ,hspec-discover)
3388 ("ghc-hspec" ,ghc-hspec)))
3389 (home-page "https://hackage.haskell.org/package/fast-logger")
3390 (synopsis "Fast logging system")
3391 (description "This library provides a fast logging system for Haskell.")
3392 (license license:bsd-3)))
3393
3394(define-public ghc-feed
3395 (package
3396 (name "ghc-feed")
3397 (version "1.0.0.0")
3398 (source
3399 (origin
3400 (method url-fetch)
3401 (uri (string-append "https://hackage.haskell.org/package/"
3402 "feed/feed-" version ".tar.gz"))
3403 (sha256
3404 (base32
3405 "05rgg7x1984mgfhkmz792xj8lhwjgznixhygzr8blf517lns2nck"))))
3406 (build-system haskell-build-system)
3407 (arguments
3408 `(#:cabal-revision
3409 ("4" "0baavcavm3ywykcr9cm07aqr7sna98jba2n68lyn3kany8ri214d")))
3410 (inputs
3411 `(("ghc-base-compat" ,ghc-base-compat)
3412 ("ghc-old-locale" ,ghc-old-locale)
3413 ("ghc-old-time" ,ghc-old-time)
3414 ("ghc-safe" ,ghc-safe)
3415 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3416 ("ghc-utf8-string" ,ghc-utf8-string)
3417 ("ghc-xml-conduit" ,ghc-xml-conduit)
3418 ("ghc-xml-types" ,ghc-xml-types)))
3419 (native-inputs
3420 `(("ghc-hunit" ,ghc-hunit)
3421 ("ghc-test-framework" ,ghc-test-framework)
3422 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3423 (home-page "https://github.com/bergmark/feed")
3424 (synopsis "Haskell package for handling various syndication formats")
3425 (description "This Haskell package includes tools for generating and
3426consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3427 (license license:bsd-3)))
3428
3429(define-public ghc-fgl
3430 (package
3431 (name "ghc-fgl")
17482b26 3432 (version "5.7.0.1")
dddbc90c
RV
3433 (outputs '("out" "doc"))
3434 (source
3435 (origin
3436 (method url-fetch)
3437 (uri (string-append
3438 "https://hackage.haskell.org/package/fgl/fgl-"
3439 version
3440 ".tar.gz"))
3441 (sha256
3442 (base32
17482b26 3443 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
3444 (build-system haskell-build-system)
3445 (arguments
3446 `(#:phases
3447 (modify-phases %standard-phases
3448 (add-before 'configure 'update-constraints
3449 (lambda _
3450 (substitute* "fgl.cabal"
17482b26
TS
3451 (("QuickCheck >= 2\\.8 && < 2\\.13")
3452 "QuickCheck >= 2.8 && < 2.14")
3453 (("hspec >= 2\\.1 && < 2\\.7")
3454 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3455 (inputs
3456 `(("ghc-hspec" ,ghc-hspec)
3457 ("ghc-quickcheck" ,ghc-quickcheck)))
3458 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3459 (synopsis
3460 "Martin Erwig's Functional Graph Library")
3461 (description "The functional graph library, FGL, is a collection of type
3462and function definitions to address graph problems. The basis of the library
3463is an inductive definition of graphs in the style of algebraic data types that
3464encourages inductive, recursive definitions of graph algorithms.")
3465 (license license:bsd-3)))
3466
3467(define-public ghc-fgl-arbitrary
3468 (package
3469 (name "ghc-fgl-arbitrary")
3470 (version "0.2.0.3")
3471 (source
3472 (origin
3473 (method url-fetch)
3474 (uri (string-append
3475 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3476 version ".tar.gz"))
3477 (sha256
3478 (base32
3479 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3480 (build-system haskell-build-system)
3481 (arguments
3482 `(#:phases
3483 (modify-phases %standard-phases
3484 (add-before 'configure 'update-constraints
3485 (lambda _
3486 (substitute* "fgl-arbitrary.cabal"
3487 (("QuickCheck >= 2\\.3 && < 2\\.10")
3488 "QuickCheck >= 2.3 && < 2.12")
3489 (("hspec >= 2\\.1 && < 2\\.5")
3490 "hspec >= 2.1 && < 2.6")))))))
3491 (inputs
3492 `(("ghc-fgl" ,ghc-fgl)
3493 ("ghc-quickcheck" ,ghc-quickcheck)
3494 ("ghc-hspec" ,ghc-hspec)))
3495 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3496 (synopsis "QuickCheck support for fgl")
3497 (description
3498 "Provides Arbitrary instances for fgl graphs to avoid adding a
3499QuickCheck dependency for fgl whilst still making the instances
3500available to others. Also available are non-fgl-specific functions
3501for generating graph-like data structures.")
3502 (license license:bsd-3)))
3503
3504(define-public ghc-file-embed
3505 (package
3506 (name "ghc-file-embed")
b5920d50 3507 (version "0.0.11")
dddbc90c
RV
3508 (source
3509 (origin
3510 (method url-fetch)
3511 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3512 "file-embed-" version ".tar.gz"))
3513 (sha256
3514 (base32
b5920d50 3515 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
3516 (build-system haskell-build-system)
3517 (home-page "https://github.com/snoyberg/file-embed")
3518 (synopsis "Use Template Haskell to embed file contents directly")
3519 (description
3520 "This package allows you to use Template Haskell to read a file or all
3521the files in a directory, and turn them into @code{(path, bytestring)} pairs
3522embedded in your Haskell code.")
3523 (license license:bsd-3)))
3524
3525(define-public ghc-filemanip
3526 (package
3527 (name "ghc-filemanip")
3528 (version "0.3.6.3")
3529 (source (origin
3530 (method url-fetch)
3531 (uri (string-append "https://hackage.haskell.org/package/"
3532 "filemanip/filemanip-" version ".tar.gz"))
3533 (sha256
3534 (base32
3535 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3536 (build-system haskell-build-system)
3537 (inputs
3538 `(("ghc-unix-compat" ,ghc-unix-compat)))
3539 (home-page "https://github.com/bos/filemanip")
3540 (synopsis "File and directory manipulation for Haskell")
3541 (description
3542 "This package provides a Haskell library for working with files and
3543directories. It includes code for pattern matching, finding files, modifying
3544file contents, and more.")
3545 (license license:bsd-3)))
3546
3547(define-public ghc-findbin
3548 (package
3549 (name "ghc-findbin")
3550 (version "0.0.5")
3551 (source
3552 (origin
3553 (method url-fetch)
3554 (uri (string-append
3555 "https://hackage.haskell.org/package/FindBin/FindBin-"
3556 version ".tar.gz"))
3557 (sha256
3558 (base32
3559 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3560 (build-system haskell-build-system)
3561 (home-page "https://github.com/audreyt/findbin")
3562 (synopsis "Get the absolute path of the running program")
3563 (description
3564 "This module locates the full directory of the running program, to allow
3565the use of paths relative to it. FindBin supports invocation of Haskell
3566programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3567an executable.")
3568 (license license:bsd-3)))
3569
3570(define-public ghc-fingertree
3571 (package
3572 (name "ghc-fingertree")
aac14fdc 3573 (version "0.1.4.2")
dddbc90c
RV
3574 (source
3575 (origin
3576 (method url-fetch)
3577 (uri (string-append
3578 "https://hackage.haskell.org/package/fingertree/fingertree-"
3579 version ".tar.gz"))
3580 (sha256
3581 (base32
aac14fdc 3582 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
3583 (build-system haskell-build-system)
3584 (native-inputs
3585 `(("ghc-hunit" ,ghc-hunit)
3586 ("ghc-quickcheck" ,ghc-quickcheck)
3587 ("ghc-test-framework" ,ghc-test-framework)
3588 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3589 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3590 (home-page "https://hackage.haskell.org/package/fingertree")
3591 (synopsis "Generic finger-tree structure")
3592 (description "This library provides finger trees, a general sequence
3593representation with arbitrary annotations, for use as a base for
3594implementations of various collection types. It includes examples, as
3595described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3596simple general-purpose data structure\".")
3597 (license license:bsd-3)))
3598
3599(define-public ghc-fixed
3600 (package
3601 (name "ghc-fixed")
099dda5b 3602 (version "0.3")
dddbc90c
RV
3603 (source
3604 (origin
3605 (method url-fetch)
3606 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
3607 version ".tar.gz"))
3608 (sha256
3609 (base32
099dda5b 3610 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
3611 (build-system haskell-build-system)
3612 (home-page "https://github.com/ekmett/fixed")
3613 (synopsis "Signed 15.16 precision fixed point arithmetic")
3614 (description
3615 "This package provides functions for signed 15.16 precision fixed point
3616arithmetic.")
3617 (license license:bsd-3)))
3618
f169f713
JS
3619(define-public ghc-fmlist
3620 (package
3621 (name "ghc-fmlist")
fe9b83a6 3622 (version "0.9.3")
f169f713
JS
3623 (source
3624 (origin
3625 (method url-fetch)
3626 (uri
3627 (string-append
3628 "https://hackage.haskell.org/package/fmlist/fmlist-"
3629 version ".tar.gz"))
3630 (sha256
3631 (base32
fe9b83a6 3632 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
3633 (build-system haskell-build-system)
3634 (home-page "https://github.com/sjoerdvisscher/fmlist")
3635 (synopsis "FoldMap lists")
3636 (description "FoldMap lists are lists represented by their
3637@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
3638append, just like DLists, but other operations might have favorable
3639performance characteristics as well. These wild claims are still
3640completely unverified though.")
3641 (license license:bsd-3)))
3642
dddbc90c
RV
3643(define-public ghc-foldl
3644 (package
3645 (name "ghc-foldl")
3646 (version "1.4.3")
3647 (source
3648 (origin
3649 (method url-fetch)
3650 (uri (string-append "https://hackage.haskell.org/package/"
3651 "foldl-" version "/"
3652 "foldl-" version ".tar.gz"))
3653 (sha256
3654 (base32
3655 "13n0ca3hw5jzqf6rxsdbhbwkn61a9zlm13f0f205s60j3sc72jzk"))))
3656 (build-system haskell-build-system)
3657 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3658 ("ghc-primitive" ,ghc-primitive)
3659 ("ghc-vector" ,ghc-vector)
3660 ("ghc-unordered-containers" ,ghc-unordered-containers)
3661 ("ghc-hashable" ,ghc-hashable)
3662 ("ghc-contravariant" ,ghc-contravariant)
3663 ("ghc-semigroups" ,ghc-semigroups)
3664 ("ghc-profunctors" ,ghc-profunctors)
3665 ("ghc-semigroupoids" ,ghc-semigroupoids)
3666 ("ghc-comonad" ,ghc-comonad)
3667 ("ghc-vector-builder" ,ghc-vector-builder)))
3668 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
3669 (synopsis "Composable, streaming, and efficient left folds for Haskell")
3670 (description "This Haskell library provides strict left folds that stream
3671in constant memory, and you can combine folds using @code{Applicative} style
3672to derive new folds. Derived folds still traverse the container just once
3673and are often as efficient as hand-written folds.")
3674 (license license:bsd-3)))
3675
3676(define-public ghc-foundation
3677 (package
3678 (name "ghc-foundation")
0a702df9 3679 (version "0.0.25")
dddbc90c
RV
3680 (source
3681 (origin
3682 (method url-fetch)
3683 (uri (string-append "https://hackage.haskell.org/package/"
3684 "foundation/foundation-" version ".tar.gz"))
3685 (sha256
3686 (base32
0a702df9 3687 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c
RV
3688 (build-system haskell-build-system)
3689 (inputs `(("ghc-basement" ,ghc-basement)))
3690 (home-page "https://github.com/haskell-foundation/foundation")
3691 (synopsis "Alternative prelude with batteries and no dependencies")
3692 (description
3693 "This package provides a custom prelude with no dependencies apart from
3694the base package.
3695
3696Foundation has the following goals:
3697
3698@enumerate
3699@item provide a base like sets of modules that provide a consistent set of
3700 features and bugfixes across multiple versions of GHC (unlike base).
3701@item provide a better and more efficient prelude than base's prelude.
3702@item be self-sufficient: no external dependencies apart from base;
3703@item provide better data-types: packed unicode string by default, arrays;
3704@item Numerical classes that better represent mathematical things (no more
3705 all-in-one @code{Num});
3706@item I/O system with less lazy IO.
3707@end enumerate\n")
3708 (license license:bsd-3)))
3709
3710(define-public ghc-free
3711 (package
3712 (name "ghc-free")
3713 (version "5.0.2")
3714 (source
3715 (origin
3716 (method url-fetch)
3717 (uri (string-append
3718 "https://hackage.haskell.org/package/free/free-"
3719 version
3720 ".tar.gz"))
3721 (sha256
3722 (base32
3723 "15m3n9vhz7z3kzv1w3wlfa3x8jp4cbrkwmrcjr7jlx39iqffn1gg"))))
3724 (build-system haskell-build-system)
3725 (inputs
3726 `(("ghc-prelude-extras" ,ghc-prelude-extras)
3727 ("ghc-profunctors" ,ghc-profunctors)
3728 ("ghc-exceptions" ,ghc-exceptions)
3729 ("ghc-bifunctors" ,ghc-bifunctors)
3730 ("ghc-comonad" ,ghc-comonad)
3731 ("ghc-distributive" ,ghc-distributive)
3732 ("ghc-semigroupoids" ,ghc-semigroupoids)
3733 ("ghc-semigroups" ,ghc-semigroups)
3734 ("ghc-transformers-base" ,ghc-transformers-base)
3735 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3736 (home-page "https://github.com/ekmett/free/")
3737 (synopsis "Unrestricted monads for Haskell")
3738 (description "This library provides free monads, which are useful for many
3739tree-like structures and domain specific languages. If @code{f} is a
3740@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
3741whose nodes are labeled with the constructors of @code{f}. The word \"free\"
3742is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
3743f} makes no constraining assumptions beyond those given by @code{f} and the
3744definition of @code{Monad}.")
3745 (license license:bsd-3)))
3746
3747(define-public ghc-fsnotify
3748 (package
3749 (name "ghc-fsnotify")
3750 (version "0.3.0.1")
3751 (source (origin
3752 (method url-fetch)
3753 (uri (string-append
3754 "https://hackage.haskell.org/package/fsnotify/"
3755 "fsnotify-" version ".tar.gz"))
3756 (sha256
3757 (base32
3758 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
3759 (build-system haskell-build-system)
3760 (inputs
3761 `(("ghc-async" ,ghc-async)
3762 ("ghc-unix-compat" ,ghc-unix-compat)
3763 ("ghc-hinotify" ,ghc-hinotify)
3764 ("ghc-tasty" ,ghc-tasty)
3765 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3766 ("ghc-random" ,ghc-random)
3767 ("ghc-shelly" ,ghc-shelly)
3768 ("ghc-temporary" ,ghc-temporary)))
3769 (home-page "https://github.com/haskell-fswatch/hfsnotify")
3770 (synopsis "Cross platform library for file change notification.")
3771 (description "Cross platform library for file creation, modification, and
3772deletion notification. This library builds upon existing libraries for platform
3773specific Windows, Mac, and Linux file system event notification.")
3774 (license license:bsd-3)))
3775
3776(define-public ghc-generic-deriving
3777 (package
3778 (name "ghc-generic-deriving")
55c1e6be 3779 (version "1.12.4")
dddbc90c
RV
3780 (source
3781 (origin
3782 (method url-fetch)
3783 (uri (string-append
3784 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
3785 version
3786 ".tar.gz"))
3787 (sha256
3788 (base32
55c1e6be 3789 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
3790 (build-system haskell-build-system)
3791 (inputs
3792 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
3793 (native-inputs
3794 `(("ghc-hspec" ,ghc-hspec)
3795 ("hspec-discover" ,hspec-discover)))
3796 (home-page "https://hackage.haskell.org/package/generic-deriving")
3797 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3798 (description "This package provides functionality for generalising the
3799deriving mechanism in Haskell to arbitrary classes.")
3800 (license license:bsd-3)))
3801
3802(define-public ghc-generics-sop
3803 (package
3804 (name "ghc-generics-sop")
3ed40e10 3805 (version "0.4.0.1")
dddbc90c
RV
3806 (source
3807 (origin
3808 (method url-fetch)
3809 (uri (string-append "https://hackage.haskell.org/package/"
3810 "generics-sop-" version "/"
3811 "generics-sop-" version ".tar.gz"))
3812 (sha256
3813 (base32
3ed40e10 3814 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 3815 (build-system haskell-build-system)
3ed40e10
TS
3816 (inputs
3817 `(("ghc-sop-core" ,ghc-sop-core)
3818 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
3819 (home-page "https://github.com/well-typed/generics-sop")
3820 (synopsis "Generic Programming using True Sums of Products for Haskell")
3821 (description "This Haskell package supports the definition of generic
3822functions. Datatypes are viewed in a uniform, structured way: the choice
3823between constructors is represented using an n-ary sum, and the arguments of
3824each constructor are represented using an n-ary product.")
3825 (license license:bsd-3)))
3826
3827(define-public ghc-geniplate-mirror
3828 (package
3829 (name "ghc-geniplate-mirror")
3830 (version "0.7.6")
3831 (source
3832 (origin
3833 (method url-fetch)
3834 (uri (string-append "https://hackage.haskell.org/package"
3835 "/geniplate-mirror"
3836 "/geniplate-mirror-" version ".tar.gz"))
3837 (sha256
3838 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
3839 (build-system haskell-build-system)
3840 (home-page "https://github.com/danr/geniplate")
3841 (synopsis "Use Template Haskell to generate Uniplate-like functions")
3842 (description
3843 "Use Template Haskell to generate Uniplate-like functions. This is a
3844maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
3845geniplate} package, written by Lennart Augustsson.")
3846 (license license:bsd-3)))
3847
3848(define-public ghc-genvalidity
3849 (package
3850 (name "ghc-genvalidity")
920f44a1 3851 (version "0.8.0.0")
dddbc90c
RV
3852 (source
3853 (origin
3854 (method url-fetch)
3855 (uri (string-append
3856 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
3857 version
3858 ".tar.gz"))
3859 (sha256
3860 (base32
920f44a1 3861 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
3862 (build-system haskell-build-system)
3863 (inputs
3864 `(("ghc-quickcheck" ,ghc-quickcheck)
3865 ("ghc-validity" ,ghc-validity)))
3866 (native-inputs
3867 `(("ghc-hspec" ,ghc-hspec)
3868 ("hspec-discover" ,hspec-discover)
3869 ("ghc-hspec-core" ,ghc-hspec-core)))
3870 (home-page
3871 "https://github.com/NorfairKing/validity")
3872 (synopsis
3873 "Testing utilities for the @code{validity} library")
3874 (description
3875 "This package provides testing utilities that are useful in conjunction
3876with the @code{Validity} typeclass.")
3877 (license license:expat)))
3878
3879(define-public ghc-genvalidity-property
3880 (package
3881 (name "ghc-genvalidity-property")
3882 (version "0.2.1.1")
3883 (source
3884 (origin
3885 (method url-fetch)
3886 (uri (string-append
3887 "https://hackage.haskell.org/package/"
3888 "genvalidity-property/genvalidity-property-"
3889 version
3890 ".tar.gz"))
3891 (sha256
3892 (base32
3893 "0cjw5i2pydidda9bnp6x37ylhxdk9g874x5sadr6sscg5kq85a1b"))))
3894 (build-system haskell-build-system)
3895 (inputs
3896 `(("ghc-quickcheck" ,ghc-quickcheck)
3897 ("ghc-genvalidity" ,ghc-genvalidity)
3898 ("ghc-hspec" ,ghc-hspec)
3899 ("hspec-discover" ,hspec-discover)
3900 ("ghc-validity" ,ghc-validity)))
3901 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
3902 (home-page
3903 "https://github.com/NorfairKing/validity")
3904 (synopsis
3905 "Standard properties for functions on @code{Validity} types")
3906 (description
3907 "This package supplements the @code{Validity} typeclass with standard
3908properties for functions operating on them.")
3909 (license license:expat)))
3910
3911(define-public ghc-gitrev
3912 (package
3913 (name "ghc-gitrev")
3914 (version "1.3.1")
3915 (source
3916 (origin
3917 (method url-fetch)
3918 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
3919 version ".tar.gz"))
3920 (sha256
3921 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
3922 (build-system haskell-build-system)
3923 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
3924 (home-page "https://github.com/acfoltzer/gitrev")
3925 (synopsis "Compile git revision info into Haskell projects")
3926 (description
3927 "This package provides some handy Template Haskell splices for including
3928the current git hash and branch in the code of your project. This is useful
3929for including in panic messages, @command{--version} output, or diagnostic
3930info for more informative bug reports.")
3931 (license license:bsd-3)))
3932
3933(define-public ghc-glob
3934 (package
3935 (name "ghc-glob")
b900f486 3936 (version "0.10.0")
dddbc90c
RV
3937 (source
3938 (origin
3939 (method url-fetch)
3940 (uri (string-append "https://hackage.haskell.org/package/"
3941 "Glob-" version "/"
3942 "Glob-" version ".tar.gz"))
3943 (sha256
3944 (base32
b900f486 3945 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
3946 (build-system haskell-build-system)
3947 (inputs
3948 `(("ghc-dlist" ,ghc-dlist)
3949 ("ghc-semigroups" ,ghc-semigroups)
3950 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3951 (native-inputs
3952 `(("ghc-hunit" ,ghc-hunit)
3953 ("ghc-quickcheck" ,ghc-quickcheck)
3954 ("ghc-test-framework" ,ghc-test-framework)
3955 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3956 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3957 (home-page "http://iki.fi/matti.niemenmaa/glob/")
3958 (synopsis "Haskell library matching glob patterns against file paths")
3959 (description "This package provides a Haskell library for @dfn{globbing}:
3960matching patterns against file paths.")
3961 (license license:bsd-3)))
3962
3963(define-public ghc-gluraw
3964 (package
3965 (name "ghc-gluraw")
3966 (version "2.0.0.4")
3967 (source
3968 (origin
3969 (method url-fetch)
3970 (uri (string-append
3971 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
3972 version
3973 ".tar.gz"))
3974 (sha256
3975 (base32
3976 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
3977 (build-system haskell-build-system)
3978 (inputs
3979 `(("ghc-openglraw" ,ghc-openglraw)))
3980 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3981 (synopsis "Raw Haskell bindings GLU")
3982 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
3983utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
3984basis for a nicer interface.")
3985 (license license:bsd-3)))
3986
3987(define-public ghc-glut
3988 (package
3989 (name "ghc-glut")
3990 (version "2.7.0.14")
3991 (source
3992 (origin
3993 (method url-fetch)
3994 (uri (string-append
3995 "https://hackage.haskell.org/package/GLUT/GLUT-"
3996 version
3997 ".tar.gz"))
3998 (sha256
3999 (base32
4000 "01i162fly4q1751fp60lgkzlb8kr0qqbvmxj74zc6skb19qggy2w"))))
4001 (build-system haskell-build-system)
4002 (inputs
4003 `(("ghc-statevar" ,ghc-statevar)
4004 ("ghc-opengl" ,ghc-opengl)
4005 ("ghc-openglraw" ,ghc-openglraw)
4006 ("freeglut" ,freeglut)))
4007 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4008 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4009 (description "This library provides Haskell bindings for the OpenGL
4010Utility Toolkit, a window system-independent toolkit for writing OpenGL
4011programs.")
4012 (license license:bsd-3)))
4013
4014(define-public ghc-gnuplot
4015 (package
4016 (name "ghc-gnuplot")
4017 (version "0.5.5.2")
4018 (source
4019 (origin
4020 (method url-fetch)
4021 (uri (string-append
4022 "mirror://hackage/package/gnuplot/gnuplot-"
4023 version ".tar.gz"))
4024 (sha256
4025 (base32 "1mlppnc13ygjzmf6ldydys4wvy35yb3xjwwfgf9rbi7nfcqjr6mn"))))
4026 (build-system haskell-build-system)
4027 (inputs
4028 `(("ghc-temporary" ,ghc-temporary)
4029 ("ghc-utility-ht" ,ghc-utility-ht)
4030 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4031 ("ghc-data-accessor" ,ghc-data-accessor)
4032 ("ghc-semigroups" ,ghc-semigroups)
4033 ("gnuplot" ,gnuplot)))
4034 (arguments
4035 `(#:phases
4036 (modify-phases %standard-phases
4037 (add-before 'configure 'fix-path-to-gnuplot
4038 (lambda* (#:key inputs #:allow-other-keys)
4039 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4040 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4041 (("(gnuplotName = ).*$" all cmd)
4042 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4043 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4044 (synopsis "2D and 3D plots using gnuplot")
4045 (description "This package provides a Haskell module for creating 2D and
40463D plots using gnuplot.")
4047 (license license:bsd-3)))
4048
4049(define-public ghc-graphviz
4050 (package
4051 (name "ghc-graphviz")
4052 (version "2999.20.0.2")
4053 (source (origin
4054 (method url-fetch)
4055 (uri (string-append "https://hackage.haskell.org/package/"
4056 "graphviz/graphviz-" version ".tar.gz"))
4057 (sha256
4058 (base32
4059 "0kj7ap0gnliviq2p8lscw1m06capnsa90vpvcys24nqy5nw2wrp7"))))
4060 (build-system haskell-build-system)
4061 (inputs
4062 `(("ghc-quickcheck" ,ghc-quickcheck)
4063 ("ghc-colour" ,ghc-colour)
4064 ("ghc-dlist" ,ghc-dlist)
4065 ("ghc-fgl" ,ghc-fgl)
4066 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4067 ("ghc-polyparse" ,ghc-polyparse)
4068 ("ghc-temporary" ,ghc-temporary)
4069 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4070 (native-inputs
4071 `(("ghc-hspec" ,ghc-hspec)
4072 ("graphviz" ,graphviz)
4073 ("hspec-discover" ,hspec-discover)))
4074 (home-page "https://hackage.haskell.org/package/graphviz")
4075 (synopsis "Bindings to Graphviz for graph visualisation")
4076 (description
4077 "This library provides bindings for the Dot language used by
4078the @uref{https://graphviz.org/, Graphviz} suite of programs for
4079visualising graphs, as well as functions to call those programs.
4080Main features of the graphviz library include:
4081
4082@enumerate
4083@item Almost complete coverage of all Graphviz attributes and syntax
4084@item Support for specifying clusters
4085@item The ability to use a custom node type
4086@item Functions for running a Graphviz layout tool with all specified output types
4087@item Generate and parse Dot code with two options: strict and liberal
4088@item Functions to convert FGL graphs and other graph-like data structures
4089@item Round-trip support for passing an FGL graph through Graphviz to augment node
4090and edge labels with positional information, etc.
4091@end enumerate\n")
4092 (license license:bsd-3)))
4093
4094(define-public ghc-gtk2hs-buildtools
4095 (package
4096 (name "ghc-gtk2hs-buildtools")
4097 (version "0.13.4.0")
4098 (source
4099 (origin
4100 (method url-fetch)
4101 (uri (string-append "https://hackage.haskell.org/package/"
4102 "gtk2hs-buildtools/gtk2hs-buildtools-"
4103 version ".tar.gz"))
4104 (sha256
4105 (base32
4106 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
4107 (build-system haskell-build-system)
4108 (inputs
4109 `(("ghc-random" ,ghc-random)
4110 ("ghc-hashtables" ,ghc-hashtables)))
4111 (native-inputs
4112 `(("ghc-alex" ,ghc-alex)
4113 ("ghc-happy" ,ghc-happy)))
4114 (home-page "http://projects.haskell.org/gtk2hs/")
4115 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4116 (description
4117 "This package provides a set of helper programs necessary to build the
4118Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4119that is used to generate FFI declarations, a tool to build a type hierarchy
4120that mirrors the C type hierarchy of GObjects found in glib, and a generator
4121for signal declarations that are used to call back from C to Haskell. These
4122tools are not needed to actually run Gtk2Hs programs.")
4123 (license license:gpl2)))
4124
4125(define-public ghc-hackage-security
4126 (package
4127 (name "ghc-hackage-security")
4128 (version "0.5.3.0")
4129 (source
4130 (origin
4131 (method url-fetch)
4132 (uri (string-append "https://hackage.haskell.org/package/"
4133 "hackage-security/hackage-security-"
4134 version ".tar.gz"))
4135 (sha256
4136 (base32
4137 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4138 (build-system haskell-build-system)
4139 (arguments
4140 `(#:tests? #f)) ; Tests fail because of framework updates.
4141 (inputs
4142 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4143 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4144 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4145 ("ghc-ed25519" ,ghc-ed25519)
4146 ("ghc-network" ,ghc-network)
4147 ("ghc-network-uri" ,ghc-network-uri)
4148 ("ghc-tar" ,ghc-tar)
4149 ("ghc-zlib" ,ghc-zlib)))
4150 (native-inputs
4151 `(("ghc-network-uri" ,ghc-network-uri)
4152 ("ghc-quickcheck" ,ghc-quickcheck)
4153 ("ghc-tar" ,ghc-tar)
4154 ("ghc-tasty" ,ghc-tasty)
4155 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4156 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4157 ("ghc-temporary" ,ghc-temporary)
4158 ("ghc-zlib" ,ghc-zlib)))
4159 (home-page "https://github.com/haskell/hackage-security")
4160 (synopsis "Hackage security library")
4161 (description "This Hackage security library provides both server and
4162client utilities for securing @uref{http://hackage.haskell.org/, the
4163Hackage package server}. It is based on
4164@uref{http://theupdateframework.com/, The Update Framework}, a set of
4165recommendations developed by security researchers at various universities
4166in the US as well as developers on the @uref{https://www.torproject.org/,
4167Tor project}.")
4168 (license license:bsd-3)))
4169
4170(define-public ghc-haddock
4171 (package
4172 (name "ghc-haddock")
4173 (version "2.19.0.1")
4174 (source
4175 (origin
4176 (method url-fetch)
4177 (uri (string-append
4178 "https://hackage.haskell.org/package/haddock/haddock-"
4179 version
4180 ".tar.gz"))
4181 (sha256
4182 (base32
4183 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4184 (build-system haskell-build-system)
4185 (arguments
4186 `(#:phases
4187 (modify-phases %standard-phases
4188 ;; There are four test suites that require the ghc-haddock-test
4189 ;; package, which no longer builds with GHC 8.4.3. This phase
4190 ;; removes these four test suites from the Cabal file, so that we
4191 ;; do not need ghc-haddock-test as an input.
4192 (add-before 'configure 'remove-haddock-test-test-suites
4193 (lambda _
4194 (use-modules (ice-9 rdelim))
4195 (with-atomic-file-replacement "haddock.cabal"
4196 (lambda (in out)
4197 (let loop ((line (read-line in 'concat)) (deleting? #f))
4198 (cond
4199 ((eof-object? line) #t)
4200 ((string-every char-set:whitespace line)
4201 (unless deleting? (display line out))
4202 (loop (read-line in 'concat) #f))
4203 ((member line '("test-suite html-test\n"
4204 "test-suite hypsrc-test\n"
4205 "test-suite latex-test\n"
4206 "test-suite hoogle-test\n"))
4207 (loop (read-line in 'concat) #t))
4208 (else
4209 (unless deleting? (display line out))
4210 (loop (read-line in 'concat) deleting?)))))))))))
4211 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4212 (native-inputs
4213 `(("ghc-hspec" ,ghc-hspec)))
4214 (home-page "https://www.haskell.org/haddock/")
4215 (synopsis
4216 "Documentation-generation tool for Haskell libraries")
4217 (description
4218 "Haddock is a documentation-generation tool for Haskell libraries.")
4219 (license license:bsd-3)))
4220
4221(define-public ghc-haddock-api
4222 (package
4223 (name "ghc-haddock-api")
4224 (version "2.19.0.1")
4225 (source
4226 (origin
4227 (method url-fetch)
4228 (uri (string-append
4229 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4230 version
4231 ".tar.gz"))
4232 (sha256
4233 (base32
4234 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4235 (build-system haskell-build-system)
4236 (arguments
4237 `(#:phases
4238 (modify-phases %standard-phases
4239 (add-before 'configure 'update-constraints
4240 (lambda _
4241 (substitute* "haddock-api.cabal"
4242 (("Cabal \\^>= 2\\.0\\.0")
4243 "Cabal ^>= 2.2.0")
4244 (("hspec \\^>= 2\\.4\\.4")
4245 "hspec >= 2.4.4 && < 2.6")))))))
4246 (inputs
4247 `(("ghc-paths" ,ghc-paths)
4248 ("ghc-haddock-library" ,ghc-haddock-library)))
4249 (native-inputs
4250 `(("ghc-quickcheck" ,ghc-quickcheck)
4251 ("ghc-hspec" ,ghc-hspec)
4252 ("hspec-discover" ,hspec-discover)))
4253 (home-page "https://www.haskell.org/haddock/")
4254 (synopsis "API for documentation-generation tool Haddock")
4255 (description "This package provides an API to Haddock, the
4256documentation-generation tool for Haskell libraries.")
4257 (license license:bsd-3)))
4258
4259(define-public ghc-haddock-library
4260 (package
4261 (name "ghc-haddock-library")
4262 (version "1.5.0.1")
4263 (source
4264 (origin
4265 (method url-fetch)
4266 (uri (string-append
4267 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4268 version
4269 ".tar.gz"))
4270 (sha256
4271 (base32
4272 "1cmbg8l5xrwpliclwy3l057raypjqy0hsg1h1743ahaj8gq10b7z"))
4273 (patches (search-patches
4274 "ghc-haddock-library-unbundle.patch"))
4275 (modules '((guix build utils)))
4276 (snippet '(begin
4277 (delete-file-recursively "vendor")
4278 #t))))
4279 (build-system haskell-build-system)
4280 (arguments
4281 `(#:phases
4282 (modify-phases %standard-phases
4283 (add-before 'configure 'relax-test-suite-dependencies
4284 (lambda _
4285 (substitute* "haddock-library.cabal"
4286 (("base-compat\\s*\\^>= 0\\.9\\.3") "base-compat")
4287 (("hspec\\s*\\^>= 2\\.4\\.4") "hspec"))))
4288 ;; The release tarball does not contain the "fixtures/examples"
4289 ;; directory, which is required for testing. In the upstream
4290 ;; repository, the directory exists and is populated. Here, we
4291 ;; create an empty directory to placate the tests.
4292 (add-before 'check 'add-examples-directory
4293 (lambda _
4294 (mkdir "fixtures/examples")
4295 #t)))))
4296 (native-inputs
4297 `(("ghc-base-compat" ,ghc-base-compat)
4298 ("ghc-hspec" ,ghc-hspec)
4299 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4300 ("ghc-quickcheck" ,ghc-quickcheck)
4301 ("ghc-tree-diff" ,ghc-tree-diff)
4302 ("hspec-discover" ,hspec-discover)))
4303 (home-page "https://www.haskell.org/haddock/")
4304 (synopsis "Library exposing some functionality of Haddock")
4305 (description
4306 "Haddock is a documentation-generation tool for Haskell libraries. These
4307modules expose some functionality of it without pulling in the GHC dependency.
4308Please note that the API is likely to change so specify upper bounds in your
4309project if you can't release often. For interacting with Haddock itself, see
4310the ‘haddock’ package.")
4311 (license license:bsd-3)))
4312
4313(define-public ghc-half
4314 (package
4315 (name "ghc-half")
4316 (version "0.3")
4317 (source
4318 (origin
4319 (method url-fetch)
4320 (uri (string-append
4321 "https://hackage.haskell.org/package/half/half-"
4322 version ".tar.gz"))
4323 (sha256
4324 (base32
4325 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4326 (build-system haskell-build-system)
4327 (native-inputs
4328 `(("ghc-hspec" ,ghc-hspec)
4329 ("ghc-quickcheck" ,ghc-quickcheck)))
4330 (home-page "https://github.com/ekmett/half")
4331 (synopsis "Half-precision floating-point computations")
4332 (description "This library provides a half-precision floating-point
4333computation library for Haskell.")
4334 (license license:bsd-3)))
4335
4336(define-public ghc-happy
4337 (package
4338 (name "ghc-happy")
90e7b0e4 4339 (version "1.19.12")
dddbc90c
RV
4340 (source
4341 (origin
4342 (method url-fetch)
4343 (uri (string-append
4344 "https://hackage.haskell.org/package/happy/happy-"
4345 version
4346 ".tar.gz"))
4347 (sha256
4348 (base32
90e7b0e4 4349 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4350 (build-system haskell-build-system)
4351 (arguments
4352 `(#:phases
4353 (modify-phases %standard-phases
4354 (add-after 'unpack 'skip-test-issue93
4355 (lambda _
4356 ;; Tests run out of memory on a system with 2GB of available RAM,
4357 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4358 (substitute* "tests/Makefile"
4359 ((" issue93.y ") " "))
4360 #t)))))
4361 (home-page "https://hackage.haskell.org/package/happy")
4362 (synopsis "Parser generator for Haskell")
4363 (description "Happy is a parser generator for Haskell. Given a grammar
4364specification in BNF, Happy generates Haskell code to parse the grammar.
4365Happy works in a similar way to the yacc tool for C.")
4366 (license license:bsd-3)))
4367
4368(define-public ghc-hashable
4369 (package
4370 (name "ghc-hashable")
4371 (version "1.2.7.0")
4372 (outputs '("out" "doc"))
4373 (source
4374 (origin
4375 (method url-fetch)
4376 (uri (string-append
4377 "https://hackage.haskell.org/package/hashable/hashable-"
4378 version
4379 ".tar.gz"))
4380 (sha256
4381 (base32
4382 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4383 (build-system haskell-build-system)
65a16a45
TS
4384 (arguments
4385 `(#:cabal-revision
4386 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
4387 (inputs
4388 `(("ghc-random" ,ghc-random)))
4389 (native-inputs
4390 `(("ghc-test-framework" ,ghc-test-framework)
4391 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4392 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4393 ("ghc-hunit" ,ghc-hunit)
4394 ("ghc-quickcheck" ,ghc-quickcheck)))
4395 (home-page "https://github.com/tibbe/hashable")
4396 (synopsis "Class for types that can be converted to a hash value")
4397 (description
4398 "This package defines a class, @code{Hashable}, for types that can be
4399converted to a hash value. This class exists for the benefit of hashing-based
4400data structures. The package provides instances for basic types and a way to
4401combine hash values.")
4402 (license license:bsd-3)))
4403
4404(define-public ghc-hashable-bootstrap
4405 (package
4406 (inherit ghc-hashable)
4407 (name "ghc-hashable-bootstrap")
65a16a45
TS
4408 (arguments
4409 `(#:tests? #f
4410 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
4411 (native-inputs '())
4412 (properties '((hidden? #t)))))
4413
4414(define-public ghc-hashable-time
4415 (package
4416 (name "ghc-hashable-time")
f5051e31 4417 (version "0.2.0.2")
dddbc90c
RV
4418 (source
4419 (origin
4420 (method url-fetch)
4421 (uri (string-append
4422 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4423 version
4424 ".tar.gz"))
4425 (sha256
4426 (base32
f5051e31 4427 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
4428 (build-system haskell-build-system)
4429 (arguments
4430 `(#:cabal-revision
f5051e31 4431 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c
RV
4432 (inputs `(("ghc-hashable" ,ghc-hashable)))
4433 (home-page "http://hackage.haskell.org/package/hashable-time")
4434 (synopsis "Hashable instances for Data.Time")
4435 (description
4436 "This package provides @code{Hashable} instances for types in
4437@code{Data.Time}.")
4438 (license license:bsd-3)))
4439
4440(define-public ghc-hashtables
4441 (package
4442 (name "ghc-hashtables")
19edf0d0 4443 (version "1.2.3.4")
dddbc90c
RV
4444 (source
4445 (origin
4446 (method url-fetch)
4447 (uri (string-append
4448 "https://hackage.haskell.org/package/hashtables/hashtables-"
4449 version ".tar.gz"))
4450 (sha256
19edf0d0 4451 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
4452 (build-system haskell-build-system)
4453 (inputs
4454 `(("ghc-hashable" ,ghc-hashable)
4455 ("ghc-primitive" ,ghc-primitive)
4456 ("ghc-vector" ,ghc-vector)))
4457 (home-page "https://github.com/gregorycollins/hashtables")
4458 (synopsis "Haskell Mutable hash tables in the ST monad")
4459 (description "This package provides a Haskell library including a
4460couple of different implementations of mutable hash tables in the ST
4461monad, as well as a typeclass abstracting their common operations, and
4462a set of wrappers to use the hash tables in the IO monad.")
4463 (license license:bsd-3)))
4464
4465(define-public ghc-haskell-lexer
4466 (package
4467 (name "ghc-haskell-lexer")
4468 (version "1.0.2")
4469 (source
4470 (origin
4471 (method url-fetch)
4472 (uri (string-append
4473 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4474 version ".tar.gz"))
4475 (sha256
4476 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4477 (build-system haskell-build-system)
4478 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4479 (synopsis "Fully compliant Haskell 98 lexer")
4480 (description
4481 "This package provides a fully compliant Haskell 98 lexer.")
4482 (license license:bsd-3)))
4483
4484(define-public ghc-haskell-src
4485 (package
4486 (name "ghc-haskell-src")
4487 (version "1.0.3.0")
4488 (source
4489 (origin
4490 (method url-fetch)
4491 (uri (string-append
4492 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4493 version
4494 ".tar.gz"))
4495 (sha256
4496 (base32
4497 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4498 (build-system haskell-build-system)
4499 (inputs
4500 `(("ghc-happy" ,ghc-happy)
4501 ("ghc-syb" ,ghc-syb)))
4502 (home-page
4503 "https://hackage.haskell.org/package/haskell-src")
4504 (synopsis
4505 "Support for manipulating Haskell source code")
4506 (description
4507 "The @code{haskell-src} package provides support for manipulating Haskell
4508source code. The package provides a lexer, parser and pretty-printer, and a
4509definition of a Haskell abstract syntax tree (AST). Common uses of this
4510package are to parse or generate Haskell 98 code.")
4511 (license license:bsd-3)))
4512
4513(define-public ghc-haskell-src-exts
4514 (package
4515 (name "ghc-haskell-src-exts")
4516 (version "1.20.2")
4517 (source
4518 (origin
4519 (method url-fetch)
4520 (uri (string-append
4521 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4522 version
4523 ".tar.gz"))
4524 (sha256
4525 (base32
4526 "1sm3z4v1p5yffg01ldgavz71s3bvfhjfa13k428rk14bpkl8crlz"))))
4527 (build-system haskell-build-system)
4528 (inputs
4529 `(("cpphs" ,cpphs)
4530 ("ghc-happy" ,ghc-happy)
4531 ("ghc-pretty-show" ,ghc-pretty-show)))
4532 (native-inputs
4533 `(("ghc-smallcheck" ,ghc-smallcheck)
4534 ("ghc-tasty" ,ghc-tasty)
4535 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4536 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4537 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4538 (synopsis "Library for manipulating Haskell source")
4539 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4540extension of the standard @code{haskell-src} package, and handles most
4541registered syntactic extensions to Haskell. All extensions implemented in GHC
4542are supported. Apart from these standard extensions, it also handles regular
4543patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4544 (license license:bsd-3)))
4545
4546(define-public ghc-haskell-src-exts-util
4547 (package
4548 (name "ghc-haskell-src-exts-util")
4549 (version "0.2.3")
4550 (source
4551 (origin
4552 (method url-fetch)
4553 (uri (string-append "https://hackage.haskell.org/package/"
4554 "haskell-src-exts-util/haskell-src-exts-util-"
4555 version ".tar.gz"))
4556 (sha256
4557 (base32
4558 "1803718paq89f8pdck4mb88hv2k1ah9lxzq0lgjgwi9n88ryycz8"))))
4559 (build-system haskell-build-system)
4560 (inputs
4561 `(("ghc-data-default" ,ghc-data-default)
4562 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4563 ("ghc-semigroups" ,ghc-semigroups)
4564 ("ghc-uniplate" ,ghc-uniplate)))
4565 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4566 (synopsis "Helper functions for working with haskell-src-exts trees")
4567 (description
4568 "This package provides helper functions for working with
4569@code{haskell-src-exts} trees.")
4570 (license license:bsd-3)))
4571
4572(define-public ghc-haskell-src-meta
4573 (package
4574 (name "ghc-haskell-src-meta")
4575 (version "0.8.0.3")
4576 (source (origin
4577 (method url-fetch)
4578 (uri (string-append "https://hackage.haskell.org/package/"
4579 "haskell-src-meta/haskell-src-meta-"
4580 version ".tar.gz"))
4581 (sha256
4582 (base32
4583 "08jq156zv4m0fjq6712n99c1jwxnpa6kj6sq8ch0r1l0a1ay6ww4"))))
4584 (build-system haskell-build-system)
4585 (inputs
4586 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4587 ("ghc-syb" ,ghc-syb)
4588 ("ghc-th-orphans" ,ghc-th-orphans)))
4589 (native-inputs
4590 `(("ghc-hunit" ,ghc-hunit)
4591 ("ghc-test-framework" ,ghc-test-framework)
4592 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4593 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4594 (synopsis "Parse source to template-haskell abstract syntax")
4595 (description
4596 "This package provides tools to parse Haskell sources to the
4597template-haskell abstract syntax.")
4598 (license license:bsd-3)))
4599
4600(define-public ghc-hasktags
4601 (package
4602 (name "ghc-hasktags")
4603 (version "0.71.2")
4604 (source
4605 (origin
4606 (method url-fetch)
4607 (uri (string-append
4608 "https://hackage.haskell.org/package/hasktags/hasktags-"
4609 version
4610 ".tar.gz"))
4611 (sha256
4612 (base32
4613 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4614 (build-system haskell-build-system)
4615 (inputs
4616 `(("ghc-system-filepath" ,ghc-system-filepath)
4617 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4618 (native-inputs
4619 `(("ghc-json" ,ghc-json)
4620 ("ghc-utf8-string" ,ghc-utf8-string)
4621 ("ghc-microlens-platform" ,ghc-microlens-platform)
4622 ("ghc-hunit" ,ghc-hunit)))
4623 (home-page "http://github.com/MarcWeber/hasktags")
4624 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4625 (description
4626 "This package provides a means of generating tag files for Emacs and
4627Vim.")
4628 (license license:bsd-3)))
4629
4630(define-public ghc-hex
4631 (package
4632 (name "ghc-hex")
4633 (version "0.1.2")
4634 (source
4635 (origin
4636 (method url-fetch)
4637 (uri (string-append "https://hackage.haskell.org/package/"
4638 "hex-" version "/"
4639 "hex-" version ".tar.gz"))
4640 (sha256
4641 (base32
4642 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4643 (build-system haskell-build-system)
4644 (home-page "https://hackage.haskell.org/package/hex")
4645 (synopsis "Convert strings into hexadecimal and back")
4646 (description "This package provides conversion functions between
4647bytestrings and their hexademical representation.")
4648 (license license:bsd-3)))
4649
4650(define-public ghc-highlighting-kate
4651 (package
4652 (name "ghc-highlighting-kate")
4653 (version "0.6.4")
4654 (source (origin
4655 (method url-fetch)
4656 (uri (string-append "https://hackage.haskell.org/package/"
4657 "highlighting-kate/highlighting-kate-"
4658 version ".tar.gz"))
4659 (sha256
4660 (base32
4661 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4662 (build-system haskell-build-system)
4663 (inputs
4664 `(("ghc-diff" ,ghc-diff)
4665 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4666 (native-inputs
4667 `(("ghc-blaze-html" ,ghc-blaze-html)
4668 ("ghc-utf8-string" ,ghc-utf8-string)))
4669 (home-page "https://github.com/jgm/highlighting-kate")
4670 (synopsis "Syntax highlighting library")
4671 (description
4672 "Highlighting-kate is a syntax highlighting library with support for
4673nearly one hundred languages. The syntax parsers are automatically generated
4674from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4675supported by Kate can be added. An (optional) command-line program is
4676provided, along with a utility for generating new parsers from Kate XML syntax
4677descriptions.")
4678 (license license:gpl2+)))
4679
4680(define-public ghc-hindent
4681 (package
4682 (name "ghc-hindent")
4683 (version "5.3.0")
4684 (source
4685 (origin
4686 (method url-fetch)
4687 (uri (string-append
4688 "https://hackage.haskell.org/package/hindent/hindent-"
4689 version
4690 ".tar.gz"))
4691 (sha256
4692 (base32
4693 "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg"))))
4694 (build-system haskell-build-system)
4695 (arguments
4696 `(#:modules ((guix build haskell-build-system)
4697 (guix build utils)
4698 (guix build emacs-utils))
4699 #:imported-modules (,@%haskell-build-system-modules
4700 (guix build emacs-utils))
4701 #:phases
4702 (modify-phases %standard-phases
4703 (add-after 'install 'emacs-install
4704 (lambda* (#:key inputs outputs #:allow-other-keys)
4705 (let* ((out (assoc-ref outputs "out"))
4706 (elisp-file "elisp/hindent.el")
4707 (dest (string-append out "/share/emacs/site-lisp"
4708 "/guix.d/hindent-" ,version))
4709 (emacs (string-append (assoc-ref inputs "emacs")
4710 "/bin/emacs")))
4711 (make-file-writable elisp-file)
4712 (emacs-substitute-variables elisp-file
4713 ("hindent-process-path"
4714 (string-append out "/bin/hindent")))
4715 (install-file elisp-file dest)
4716 (emacs-generate-autoloads "hindent" dest)))))))
4717 (inputs
4718 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4719 ("ghc-monad-loops" ,ghc-monad-loops)
4720 ("ghc-utf8-string" ,ghc-utf8-string)
4721 ("ghc-exceptions" ,ghc-exceptions)
4722 ("ghc-yaml" ,ghc-yaml)
4723 ("ghc-unix-compat" ,ghc-unix-compat)
4724 ("ghc-path" ,ghc-path)
4725 ("ghc-path-io" ,ghc-path-io)
4726 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4727 (native-inputs
4728 `(("ghc-hspec" ,ghc-hspec)
4729 ("ghc-diff" ,ghc-diff)
4730 ("emacs" ,emacs-minimal)))
4731 (home-page
4732 "https://github.com/commercialhaskell/hindent")
4733 (synopsis "Extensible Haskell pretty printer")
4734 (description
4735 "This package provides automatic formatting for Haskell files. Both a
4736library and an executable.")
4737 (license license:bsd-3)))
4738
4739(define-public ghc-hinotify
4740 (package
4741 (name "ghc-hinotify")
c2342abb 4742 (version "0.4")
dddbc90c
RV
4743 (source (origin
4744 (method url-fetch)
4745 (uri (string-append
4746 "https://hackage.haskell.org/package/hinotify/"
4747 "hinotify-" version ".tar.gz"))
4748 (sha256
4749 (base32
c2342abb 4750 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
4751 (build-system haskell-build-system)
4752 (inputs
4753 `(("ghc-async" ,ghc-async)))
4754 (home-page "https://github.com/kolmodin/hinotify.git")
4755 (synopsis "Haskell binding to inotify")
4756 (description "This library provides a wrapper to the Linux kernel's inotify
4757feature, allowing applications to subscribe to notifications when a file is
4758accessed or modified.")
4759 (license license:bsd-3)))
4760
4761(define-public ghc-hmatrix
4762 (package
4763 (name "ghc-hmatrix")
65e29ed1 4764 (version "0.20.0.0")
dddbc90c
RV
4765 (source
4766 (origin
4767 (method url-fetch)
4768 (uri (string-append
4769 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
4770 version ".tar.gz"))
4771 (sha256
65e29ed1 4772 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
4773 (build-system haskell-build-system)
4774 (inputs
4775 `(("ghc-random" ,ghc-random)
4776 ("ghc-split" ,ghc-split)
4777 ("ghc-storable-complex" ,ghc-storable-complex)
4778 ("ghc-semigroups" ,ghc-semigroups)
4779 ("ghc-vector" ,ghc-vector)
4780 ;;("openblas" ,openblas)
4781 ("lapack" ,lapack)))
4782 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
4783 ;; disables inclusion of the LAPACK functions.
4784 ;; (arguments `(#:configure-flags '("--flags=openblas")))
4785 (home-page "https://github.com/albertoruiz/hmatrix")
4786 (synopsis "Haskell numeric linear algebra library")
4787 (description "The HMatrix package provices a Haskell library for
4788dealing with linear systems, matrix decompositions, and other
4789numerical computations based on BLAS and LAPACK.")
4790 (license license:bsd-3)))
4791
4792(define-public ghc-hmatrix-gsl
4793 (package
4794 (name "ghc-hmatrix-gsl")
4795 (version "0.19.0.1")
4796 (source
4797 (origin
4798 (method url-fetch)
4799 (uri (string-append
4800 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
4801 version ".tar.gz"))
4802 (sha256
4803 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
4804 (build-system haskell-build-system)
4805 (inputs
4806 `(("ghc-hmatrix" ,ghc-hmatrix)
4807 ("ghc-vector" ,ghc-vector)
4808 ("ghc-random" ,ghc-random)
4809 ("gsl" ,gsl)))
4810 (native-inputs `(("pkg-config" ,pkg-config)))
4811 (home-page "https://github.com/albertoruiz/hmatrix")
4812 (synopsis "Haskell GSL binding")
4813 (description "This Haskell library provides a purely functional
4814interface to selected numerical computations, internally implemented
4815using GSL.")
4816 (license license:gpl3+)))
4817
4818(define-public ghc-hmatrix-gsl-stats
4819 (package
4820 (name "ghc-hmatrix-gsl-stats")
e9b359f5 4821 (version "0.4.1.8")
dddbc90c
RV
4822 (source
4823 (origin
4824 (method url-fetch)
4825 (uri
4826 (string-append
4827 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4828 version ".tar.gz"))
4829 (sha256
e9b359f5 4830 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
4831 (build-system haskell-build-system)
4832 (inputs
4833 `(("ghc-vector" ,ghc-vector)
4834 ("ghc-storable-complex" ,ghc-storable-complex)
4835 ("ghc-hmatrix" ,ghc-hmatrix)
4836 ("gsl" ,gsl)))
4837 (native-inputs `(("pkg-config" ,pkg-config)))
4838 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
4839 (synopsis "GSL Statistics interface for Haskell")
4840 (description "This Haskell library provides a purely functional
4841interface for statistics based on hmatrix and GSL.")
4842 (license license:bsd-3)))
4843
4844(define-public ghc-hmatrix-special
4845 (package
4846 (name "ghc-hmatrix-special")
4847 (version "0.19.0.0")
4848 (source
4849 (origin
4850 (method url-fetch)
4851 (uri
4852 (string-append
4853 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
4854 version ".tar.gz"))
4855 (sha256
4856 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
4857 (build-system haskell-build-system)
4858 (inputs
4859 `(("ghc-hmatrix" ,ghc-hmatrix)
4860 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
4861 (home-page "https://github.com/albertoruiz/hmatrix")
4862 (synopsis "Haskell interface to GSL special functions")
4863 (description "This library provides an interface to GSL special
4864functions for Haskell.")
4865 (license license:gpl3+)))
4866
4867(define-public ghc-hostname
4868 (package
4869 (name "ghc-hostname")
4870 (version "1.0")
4871 (source
4872 (origin
4873 (method url-fetch)
4874 (uri (string-append "https://hackage.haskell.org/package/hostname/"
4875 "hostname-" version ".tar.gz"))
4876 (sha256
4877 (base32
4878 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
4879 (build-system haskell-build-system)
4880 (home-page "https://hackage.haskell.org/package/hostname")
4881 (synopsis "Hostname in Haskell")
4882 (description "Network.HostName is a simple package providing a means to
4883determine the hostname.")
4884 (license license:bsd-3)))
4885
4886(define-public ghc-hourglass
4887 (package
4888 (name "ghc-hourglass")
4889 (version "0.2.12")
4890 (source (origin
4891 (method url-fetch)
4892 (uri (string-append "https://hackage.haskell.org/package/"
4893 "hourglass/hourglass-" version ".tar.gz"))
4894 (sha256
4895 (base32
4896 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
4897 (build-system haskell-build-system)
4898 (inputs
4899 `(("ghc-old-locale" ,ghc-old-locale)))
4900 (native-inputs
4901 `(("ghc-tasty" ,ghc-tasty)
4902 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4903 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4904 (home-page "https://github.com/vincenthz/hs-hourglass")
4905 (synopsis "Simple time-related library for Haskell")
4906 (description
4907 "This is a simple time library providing a simple but powerful and
4908performant API. The backbone of the library are the @code{Timeable} and
4909@code{Time} type classes. Each @code{Timeable} instances can be converted to
4910a type that has a @code{Time} instances, and thus are different
4911representations of current time.")
4912 (license license:bsd-3)))
4913
4914(define-public ghc-hpack
4915 (package
4916 (name "ghc-hpack")
4917 (version "0.28.2")
4918 (source
4919 (origin
4920 (method url-fetch)
4921 (uri (string-append "https://hackage.haskell.org/package/hpack/"
4922 "hpack-" version ".tar.gz"))
4923 (sha256
4924 (base32
4925 "18w0h76jdp3mk9vin8da9iz3cwhcxmw787xy8wlh8bxcpcr16q5r"))))
4926 (build-system haskell-build-system)
4927 (inputs
4928 `(("ghc-aeson" ,ghc-aeson)
4929 ("ghc-bifunctors" ,ghc-bifunctors)
4930 ("ghc-cryptonite" ,ghc-cryptonite)
4931 ("ghc-glob" ,ghc-glob)
4932 ("ghc-http-client" ,ghc-http-client)
4933 ("ghc-http-client-tls" ,ghc-http-client-tls)
4934 ("ghc-http-types" ,ghc-http-types)
4935 ("ghc-scientific" ,ghc-scientific)
4936 ("ghc-unordered-containers" ,ghc-unordered-containers)
4937 ("ghc-vector" ,ghc-vector)
4938 ("ghc-yaml" ,ghc-yaml)))
4939 (native-inputs
4940 `(("ghc-hspec" ,ghc-hspec)
4941 ("ghc-hunit" ,ghc-hunit)
4942 ("ghc-interpolate" ,ghc-interpolate)
4943 ("ghc-mockery" ,ghc-mockery)
4944 ("ghc-quickcheck" ,ghc-quickcheck)
4945 ("ghc-temporary" ,ghc-temporary)
4946 ("hspec-discover" ,hspec-discover)))
4947 (home-page "https://github.com/sol/hpack")
4948 (synopsis "Tools for an alternative Haskell package format")
4949 (description
4950 "Hpack is a format for Haskell packages. It is an alternative to the
4951Cabal package format and follows different design principles. Hpack packages
4952are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
4953@code{stack} support @code{package.yaml} natively. For other build tools the
4954@code{hpack} executable can be used to generate a @code{.cabal} file from
4955@code{package.yaml}.")
4956 (license license:expat)))
4957
4958(define-public ghc-hs-bibutils
4959 (package
4960 (name "ghc-hs-bibutils")
ebcb4f23 4961 (version "6.7.0.0")
dddbc90c
RV
4962 (source
4963 (origin
4964 (method url-fetch)
4965 (uri (string-append
4966 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
4967 version ".tar.gz"))
4968 (sha256
4969 (base32
ebcb4f23 4970 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
4971 (build-system haskell-build-system)
4972 (inputs `(("ghc-syb" ,ghc-syb)))
4973 (home-page "https://hackage.haskell.org/package/hs-bibutils")
4974 (synopsis "Haskell bindings to bibutils")
4975 (description
4976 "This package provides Haskell bindings to @code{bibutils}, a library
4977that interconverts between various bibliography formats using a common
4978MODS-format XML intermediate.")
4979 (license license:gpl2+)))
4980
4981(define-public ghc-hslogger
4982 (package
4983 (name "ghc-hslogger")
4984 (version "1.2.10")
4985 (source
4986 (origin
4987 (method url-fetch)
4988 (uri (string-append "https://hackage.haskell.org/package/"
4989 "hslogger-" version "/" "hslogger-"
4990 version ".tar.gz"))
4991 (sha256 (base32
4992 "0as5gvlh6pi2gflakp695qnlizyyp059dqrhvjl4gjxalja6xjnp"))))
4993 (build-system haskell-build-system)
4994 (inputs
4995 `(("ghc-network" ,ghc-network)
4996 ("ghc-old-locale" ,ghc-old-locale)))
4997 (native-inputs
4998 `(("ghc-hunit" ,ghc-hunit)))
4999 (home-page "https://software.complete.org/hslogger")
5000 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5001 (description "Hslogger lets each log message have a priority and source be
5002associated with it. The programmer can then define global handlers that route
5003or filter messages based on the priority and source. It also has a syslog
5004handler built in.")
5005 (license license:bsd-3)))
5006
5007(define-public ghc-hslua
5008 (package
5009 (name "ghc-hslua")
5010 (version "0.9.5.2")
5011 (source (origin
5012 (method url-fetch)
5013 (uri (string-append "https://hackage.haskell.org/package/"
5014 "hslua/hslua-" version ".tar.gz"))
5015 (sha256
5016 (base32
5017 "1rdvv01p214zfjh6fcqjjgqwi8y42wad6cqzhlcv5gvclzw2ck8f"))))
5018 (build-system haskell-build-system)
5019 (arguments
5020 `(#:configure-flags '("-fsystem-lua")))
5021 (inputs
5022 `(("lua" ,lua)
5023 ("ghc-exceptions" ,ghc-exceptions)
5024 ("ghc-fail" ,ghc-fail)))
5025 (native-inputs
5026 `(("ghc-tasty" ,ghc-tasty)
5027 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5028 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5029 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5030 ("ghc-quickcheck" ,ghc-quickcheck)
5031 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5032 (home-page "https://hackage.haskell.org/package/hslua")
5033 (synopsis "Lua language interpreter embedding in Haskell")
5034 (description
5035 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5036described in @url{https://www.lua.org/}.")
5037 (license license:expat)))
5038
5039(define-public ghc-hslua-module-text
5040 (package
5041 (name "ghc-hslua-module-text")
5042 (version "0.1.2.1")
5043 (source
5044 (origin
5045 (method url-fetch)
5046 (uri (string-append "https://hackage.haskell.org/package/"
5047 "hslua-module-text/hslua-module-text-"
5048 version ".tar.gz"))
5049 (sha256
5050 (base32
5051 "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf"))))
5052 (build-system haskell-build-system)
5053 (arguments
5054 `(#:cabal-revision
5055 ("1" "0vajlsd7y6pwa08635q0cx8z5c1c55bk7fvavw7g2vmyvxqjzx6n")))
5056 (inputs
5057 `(("ghc-hslua" ,ghc-hslua)))
5058 (native-inputs
5059 `(("ghc-tasty" ,ghc-tasty)
5060 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5061 (home-page "https://github.com/hslua/hslua-module-text")
5062 (synopsis "Lua module for text")
5063 (description
5064 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5065for Haskell. The functions provided by this module are @code{upper},
5066@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5067 (license license:expat)))
5068
5069(define-public ghc-http-api-data
5070 (package
5071 (name "ghc-http-api-data")
5072 (version "0.3.8.1")
5073 (source
5074 (origin
5075 (method url-fetch)
5076 (uri (string-append "https://hackage.haskell.org/package/"
5077 "http-api-data-" version "/"
5078 "http-api-data-" version ".tar.gz"))
5079 (sha256
5080 (base32
5081 "1cq6459b8wz6nvkvpi89dg189n5q2xdq4rdq435hf150555vmskf"))))
5082 (build-system haskell-build-system)
5083 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9
5084 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5085 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
5086 ("ghc-hashable" ,ghc-hashable)
5087 ("ghc-http-types" ,ghc-http-types)
5088 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
5089 ("ghc-unordered-containers" ,ghc-unordered-containers)
5090 ("ghc-uri-bytestring" ,ghc-uri-bytestring)
5091 ("ghc-uuid-types" ,ghc-uuid-types)))
5092 (home-page "https://github.com/fizruk/http-api-data")
5093 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5094query parameters")
5095 (description "This Haskell package defines typeclasses used for converting
5096Haskell data types to and from HTTP API data.")
5097 (license license:bsd-3)))
5098
5099(define-public ghc-ieee754
5100 (package
5101 (name "ghc-ieee754")
5102 (version "0.8.0")
5103 (source (origin
5104 (method url-fetch)
5105 (uri (string-append
5106 "https://hackage.haskell.org/package/ieee754/"
5107 "ieee754-" version ".tar.gz"))
5108 (sha256
5109 (base32
5110 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5111 (build-system haskell-build-system)
5112 (home-page "https://github.com/patperry/hs-ieee754")
5113 (synopsis "Utilities for dealing with IEEE floating point numbers")
5114 (description "Utilities for dealing with IEEE floating point numbers,
5115ported from the Tango math library; approximate and exact equality comparisons
5116for general types.")
5117 (license license:bsd-3)))
5118
5119(define-public ghc-ifelse
5120 (package
5121 (name "ghc-ifelse")
5122 (version "0.85")
5123 (source
5124 (origin
5125 (method url-fetch)
5126 (uri (string-append "https://hackage.haskell.org/package/"
5127 "IfElse/IfElse-" version ".tar.gz"))
5128 (sha256
5129 (base32
5130 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5131 (build-system haskell-build-system)
5132 (home-page "http://hackage.haskell.org/package/IfElse")
5133 (synopsis "Monadic control flow with anaphoric variants")
5134 (description "This library provides functions for control flow inside of
5135monads with anaphoric variants on @code{if} and @code{when} and a C-like
5136@code{switch} function.")
5137 (license license:bsd-3)))
5138
5139(define-public ghc-indents
5140 (package
5141 (name "ghc-indents")
d66473fb 5142 (version "0.5.0.1")
dddbc90c
RV
5143 (source (origin
5144 (method url-fetch)
5145 (uri (string-append
5146 "https://hackage.haskell.org/package/indents/indents-"
5147 version ".tar.gz"))
5148 (sha256
5149 (base32
d66473fb 5150 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5151 (build-system haskell-build-system)
5152 ;; This package needs an older version of tasty.
5153 (arguments '(#:tests? #f))
5154 (inputs
5155 `(("ghc-concatenative" ,ghc-concatenative)))
5156 (native-inputs
5157 `(("ghc-tasty" ,ghc-tasty)
5158 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5159 (home-page "http://patch-tag.com/r/salazar/indents")
5160 (synopsis "Indentation sensitive parser-combinators for parsec")
5161 (description
5162 "This library provides functions for use in parsing indentation sensitive
5163contexts. It parses blocks of lines all indented to the same level as well as
5164lines continued at an indented level below.")
5165 (license license:bsd-3)))
5166
5167(define-public ghc-inline-c
5168 (package
5169 (name "ghc-inline-c")
5170 (version "0.6.1.0")
5171 (source
5172 (origin
5173 (method url-fetch)
5174 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5175 "inline-c-" version ".tar.gz"))
5176 (sha256
5177 (base32
5178 "0vbfrsqsi7mdziqsnj68bsqlwbqxxhvrmy9rv6w8z18d1m8w3n6h"))))
5179 (build-system haskell-build-system)
5180 (inputs
5181 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5182 ("ghc-cryptohash" ,ghc-cryptohash)
5183 ("ghc-hashable" ,ghc-hashable)
5184 ("ghc-parsers" ,ghc-parsers)
5185 ("ghc-unordered-containers" ,ghc-unordered-containers)
5186 ("ghc-vector" ,ghc-vector)))
5187 (native-inputs
5188 `(("ghc-quickcheck" ,ghc-quickcheck)
5189 ("ghc-hspec" ,ghc-hspec)
5190 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5191 ("ghc-regex-posix" ,ghc-regex-posix)))
5192 (home-page "http://hackage.haskell.org/package/inline-c")
5193 (synopsis "Write Haskell source files including C code inline")
5194 (description
5195 "inline-c lets you seamlessly call C libraries and embed high-performance
5196inline C code in Haskell modules. Haskell and C can be freely intermixed in
5197the same source file, and data passed to and from code in either language with
5198minimal overhead. No FFI required.")
5199 (license license:expat)))
5200
5201(define-public ghc-inline-c-cpp
5202 (package
5203 (name "ghc-inline-c-cpp")
5204 (version "0.2.2.1")
5205 (source
5206 (origin
5207 (method url-fetch)
5208 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5209 "inline-c-cpp-" version ".tar.gz"))
5210 (sha256
5211 (base32
5212 "1rk7fmpkmxw9hhwr8df29kadnf0ybnwj64ggdbnsdrpfyhnkisci"))))
5213 (build-system haskell-build-system)
5214 (inputs
5215 `(("ghc-inline-c" ,ghc-inline-c)
5216 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5217 (native-inputs
5218 `(("ghc-hspec" ,ghc-hspec)))
5219 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5220 (synopsis "Lets you embed C++ code into Haskell")
5221 (description
5222 "This package provides utilities to inline C++ code into Haskell using
5223@code{inline-c}.")
5224 (license license:expat)))
5225
5226(define-public ghc-integer-logarithms
5227 (package
5228 (name "ghc-integer-logarithms")
86a704db 5229 (version "1.0.3")
dddbc90c
RV
5230 (source
5231 (origin
5232 (method url-fetch)
5233 (uri (string-append "https://hackage.haskell.org/package/"
5234 "integer-logarithms/integer-logarithms-"
5235 version ".tar.gz"))
5236 (sha256
5237 (base32
86a704db 5238 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5239 (build-system haskell-build-system)
5240 (arguments
5241 `(#:phases
5242 (modify-phases %standard-phases
5243 (add-before 'configure 'update-constraints
5244 (lambda _
5245 (substitute* "integer-logarithms.cabal"
5246 (("tasty >= 0\\.10 && < 1\\.1")
5247 "tasty >= 0.10 && < 1.2")))))))
5248 (native-inputs
5249 `(("ghc-quickcheck" ,ghc-quickcheck)
5250 ("ghc-smallcheck" ,ghc-smallcheck)
5251 ("ghc-tasty" ,ghc-tasty)
5252 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5253 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5254 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5255 (home-page "https://github.com/Bodigrim/integer-logarithms")
5256 (synopsis "Integer logarithms")
5257 (description
5258 "This package provides the following modules:
5259@code{Math.NumberTheory.Logarithms} and
5260@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5261@code{GHC.Integer.Logarithms.Compat} and
5262@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5263in migrated modules.")
5264 (license license:expat)))
5265
5266(define-public ghc-integer-logarithms-bootstrap
5267 (package
5268 (inherit ghc-integer-logarithms)
5269 (name "ghc-integer-logarithms-bootstrap")
5270 (arguments `(#:tests? #f))
5271 (native-inputs '())
799d8d3c 5272 (properties '((hidden? #t)))))
dddbc90c
RV
5273
5274(define-public ghc-interpolate
5275 (package
5276 (name "ghc-interpolate")
5277 (version "0.2.0")
5278 (source
5279 (origin
5280 (method url-fetch)
5281 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5282 "interpolate-" version ".tar.gz"))
5283 (sha256
5284 (base32
5285 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5286 (build-system haskell-build-system)
5287 (inputs
5288 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5289 (native-inputs
5290 `(("ghc-base-compat" ,ghc-base-compat)
5291 ("ghc-hspec" ,ghc-hspec)
5292 ("ghc-quickcheck" ,ghc-quickcheck)
5293 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5294 ("hspec-discover" ,hspec-discover)))
5295 (home-page "https://github.com/sol/interpolate")
5296 (synopsis "String interpolation library")
5297 (description "This package provides a string interpolation library for
5298Haskell.")
5299 (license license:expat)))
5300
5301(define-public ghc-intervalmap
5302 (package
5303 (name "ghc-intervalmap")
e4946e32 5304 (version "0.6.1.1")
dddbc90c
RV
5305 (source
5306 (origin
5307 (method url-fetch)
5308 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5309 "IntervalMap-" version ".tar.gz"))
5310 (sha256
5311 (base32
e4946e32 5312 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
5313 (build-system haskell-build-system)
5314 (native-inputs
5315 `(("ghc-quickcheck" ,ghc-quickcheck)))
5316 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5317 (synopsis "Containers for intervals, with efficient search")
5318 (description
5319 "This package provides ordered containers of intervals, with efficient
5320search for all keys containing a point or overlapping an interval. See the
5321example code on the home page for a quick introduction.")
5322 (license license:bsd-3)))
5323
5324(define-public ghc-invariant
5325 (package
5326 (name "ghc-invariant")
5327 (version "0.5.1")
5328 (source
5329 (origin
5330 (method url-fetch)
5331 (uri (string-append
5332 "https://hackage.haskell.org/package/invariant/invariant-"
5333 version ".tar.gz"))
5334 (sha256
5335 (base32
5336 "0aqj7z55632qdg45074kgn9qfdxzb0a2f8lgjzr0l0i4mm2rr37b"))))
5337 (build-system haskell-build-system)
5338 (inputs
5339 `(("ghc-bifunctors" ,ghc-bifunctors)
5340 ("ghc-comonad" ,ghc-comonad)
5341 ("ghc-contravariant" ,ghc-contravariant)
5342 ("ghc-profunctors" ,ghc-profunctors)
5343 ("ghc-semigroups" ,ghc-semigroups)
5344 ("ghc-statevar" ,ghc-statevar)
5345 ("ghc-tagged" ,ghc-tagged)
5346 ("ghc-th-abstraction" ,ghc-th-abstraction)
5347 ("ghc-transformers-compat" ,ghc-transformers-compat)
5348 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5349 (native-inputs
5350 `(("ghc-hspec" ,ghc-hspec)
5351 ("ghc-quickcheck" ,ghc-quickcheck)
5352 ("hspec-discover" ,hspec-discover)))
5353 (home-page "https://github.com/nfrisby/invariant-functors")
5354 (synopsis "Haskell98 invariant functors")
5355 (description "Haskell98 invariant functors (also known as exponential
5356functors). For more information, see Edward Kmett's article
5357@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5358 (license license:bsd-2)))
5359
5360(define-public ghc-io-streams
5361 (package
5362 (name "ghc-io-streams")
5363 (version "1.5.0.1")
5364 (source
5365 (origin
5366 (method url-fetch)
5367 (uri (string-append "https://hackage.haskell.org/package/"
5368 "io-streams/io-streams-" version ".tar.gz"))
5369 (sha256
5370 (base32
5371 "12rcdg2d70644bvn838fxcjkssqj8pssnx5y657si5rijcbkgjsx"))))
5372 (build-system haskell-build-system)
5373 (inputs
5374 `(("ghc-attoparsec" ,ghc-attoparsec)
5375 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5376 ("ghc-network" ,ghc-network)
5377 ("ghc-primitive" ,ghc-primitive)
5378 ("ghc-vector" ,ghc-vector)
5379 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5380 (native-inputs
5381 `(("ghc-hunit" ,ghc-hunit)
5382 ("ghc-quickcheck" ,ghc-quickcheck)
5383 ("ghc-test-framework" ,ghc-test-framework)
5384 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5385 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5386 ("ghc-zlib" ,ghc-zlib)))
5387 (arguments
5388 `(#:cabal-revision
5389 ("2" "1mcab95d6hm098myh9gp7sh10srigjphgvm8s9pfs7jg5hzghy14")))
5390 (home-page "http://hackage.haskell.org/package/io-streams")
5391 (synopsis "Simple and composable stream I/O")
5392 (description "This library contains simple and easy-to-use
5393primitives for I/O using streams.")
5394 (license license:bsd-3)))
5395
5396(define-public ghc-io-streams-haproxy
5397 (package
5398 (name "ghc-io-streams-haproxy")
5399 (version "1.0.0.2")
5400 (source
5401 (origin
5402 (method url-fetch)
5403 (uri (string-append "https://hackage.haskell.org/package/"
5404 "io-streams-haproxy/io-streams-haproxy-"
5405 version ".tar.gz"))
5406 (sha256
5407 (base32
5408 "11nh9q158mgnvvb23s5ffg87lkhl5smk039yl43jghxmb214z0bp"))))
5409 (build-system haskell-build-system)
5410 (inputs
5411 `(("ghc-attoparsec" ,ghc-attoparsec)
5412 ("ghc-io-streams" ,ghc-io-streams)
5413 ("ghc-network" ,ghc-network)))
5414 (native-inputs
5415 `(("ghc-hunit" ,ghc-hunit)
5416 ("ghc-test-framework" ,ghc-test-framework)
5417 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5418 (arguments
5419 `(#:cabal-revision
5420 ("4" "06c51a057n5bc9xfbp2m4jz5ds4z1xvmsx5mppch6qfwbz7x5i9l")))
5421 (home-page "http://snapframework.com/")
5422 (synopsis "HAProxy protocol 1.5 support for io-streams")
5423 (description "HAProxy protocol version 1.5 support
5424(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5425for applications using io-streams. The proxy protocol allows information
5426about a networked peer (like remote address and port) to be propagated
5427through a forwarding proxy that is configured to speak this protocol.")
5428 (license license:bsd-3)))
5429
5430(define-public ghc-iproute
5431 (package
5432 (name "ghc-iproute")
5433 (version "1.7.5")
5434 (source
5435 (origin
5436 (method url-fetch)
5437 (uri (string-append
5438 "https://hackage.haskell.org/package/iproute/iproute-"
5439 version
5440 ".tar.gz"))
5441 (sha256
5442 (base32
5443 "1vw1nm3s8vz1hqnjnqd3wh5rr4q3m2r4izn5ynhf93h9185qwqzd"))))
5444 (build-system haskell-build-system)
5445 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5446 ; exported by ghc-byteorder. Doctest issue.
5447 (inputs
5448 `(("ghc-appar" ,ghc-appar)
5449 ("ghc-byteorder" ,ghc-byteorder)
5450 ("ghc-network" ,ghc-network)
5451 ("ghc-safe" ,ghc-safe)))
5452 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5453 (synopsis "IP routing table")
5454 (description "IP Routing Table is a tree of IP ranges to search one of
5455them on the longest match base. It is a kind of TRIE with one way branching
5456removed. Both IPv4 and IPv6 are supported.")
5457 (license license:bsd-3)))
5458
5459(define-public ghc-iwlib
5460 (package
5461 (name "ghc-iwlib")
5462 (version "0.1.0")
5463 (source
5464 (origin
5465 (method url-fetch)
5466 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5467 version ".tar.gz"))
5468 (sha256
5469 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5470 (build-system haskell-build-system)
5471 (inputs
5472 `(("wireless-tools" ,wireless-tools)))
5473 (home-page "https://github.com/jaor/iwlib")
5474 (synopsis "Haskell binding to the iw wireless networking library")
5475 (description
5476 "IWlib is a thin Haskell binding to the iw C library. It provides
5477information about the current wireless network connections, and adapters on
5478supported systems.")
5479 (license license:bsd-3)))
5480
5481(define-public ghc-json
5482 (package
5483 (name "ghc-json")
0ad3d574 5484 (version "0.9.3")
dddbc90c
RV
5485 (source
5486 (origin
5487 (method url-fetch)
5488 (uri (string-append "https://hackage.haskell.org/package/json/"
5489 "json-" version ".tar.gz"))
5490 (sha256
5491 (base32
0ad3d574 5492 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
5493 (build-system haskell-build-system)
5494 (inputs
5495 `(("ghc-syb" ,ghc-syb)))
5496 (home-page "https://hackage.haskell.org/package/json")
5497 (synopsis "Serializes Haskell data to and from JSON")
5498 (description "This package provides a parser and pretty printer for
5499converting between Haskell values and JSON.
5500JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5501 (license license:bsd-3)))
5502
5503(define-public ghc-juicypixels
5504 (package
5505 (name "ghc-juicypixels")
b50b6004 5506 (version "3.3.4")
dddbc90c
RV
5507 (source (origin
5508 (method url-fetch)
5509 (uri (string-append "https://hackage.haskell.org/package/"
5510 "JuicyPixels/JuicyPixels-"
5511 version ".tar.gz"))
5512 (sha256
5513 (base32
b50b6004 5514 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
5515 (build-system haskell-build-system)
5516 (inputs
5517 `(("ghc-zlib" ,ghc-zlib)
5518 ("ghc-vector" ,ghc-vector)
5519 ("ghc-primitive" ,ghc-primitive)
5520 ("ghc-mmap" ,ghc-mmap)))
5521 (home-page "https://github.com/Twinside/Juicy.Pixels")
5522 (synopsis "Picture loading and serialization library")
5523 (description
5524 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5525TIFF and GIF formats.")
5526 (license license:bsd-3)))
5527
5528(define-public ghc-kan-extensions
5529 (package
5530 (name "ghc-kan-extensions")
5531 (version "5.2")
5532 (source
5533 (origin
5534 (method url-fetch)
5535 (uri (string-append
5536 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5537 version
5538 ".tar.gz"))
5539 (sha256
5540 (base32
5541 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5542 (build-system haskell-build-system)
5543 (inputs
5544 `(("ghc-adjunctions" ,ghc-adjunctions)
5545 ("ghc-comonad" ,ghc-comonad)
5546 ("ghc-contravariant" ,ghc-contravariant)
5547 ("ghc-distributive" ,ghc-distributive)
5548 ("ghc-free" ,ghc-free)
5549 ("ghc-invariant" ,ghc-invariant)
5550 ("ghc-semigroupoids" ,ghc-semigroupoids)
5551 ("ghc-tagged" ,ghc-tagged)
5552 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5553 (home-page "https://github.com/ekmett/kan-extensions/")
5554 (synopsis "Kan extensions library")
5555 (description "This library provides Kan extensions, Kan lifts, various
5556forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5557 (license license:bsd-3)))
5558
5559(define-public ghc-language-c
5560 (package
5561 (name "ghc-language-c")
4e1cf651 5562 (version "0.8.3")
dddbc90c
RV
5563 (source
5564 (origin
5565 (method url-fetch)
5566 (uri (string-append "https://hackage.haskell.org/package/"
5567 "language-c/language-c-" version ".tar.gz"))
5568 (sha256
5569 (base32
4e1cf651 5570 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
5571 (build-system haskell-build-system)
5572 (inputs `(("ghc-syb" ,ghc-syb)))
5573 (native-inputs
5574 `(("ghc-happy" ,ghc-happy)
5575 ("ghc-alex" ,ghc-alex)))
5576 (home-page "https://visq.github.io/language-c/")
5577 (synopsis "Analysis and generation of C code")
5578 (description
5579 "Language C is a Haskell library for the analysis and generation of C code.
5580It features a complete, well-tested parser and pretty printer for all of C99
5581and a large set of GNU extensions.")
5582 (license license:bsd-3)))
5583
5584(define-public ghc-language-glsl
5585 (package
5586 (name "ghc-language-glsl")
5587 (version "0.3.0")
5588 (source
5589 (origin
5590 (method url-fetch)
5591 (uri (string-append "https://hackage.haskell.org/package/"
5592 "language-glsl/language-glsl-" version ".tar.gz"))
5593 (sha256
5594 (base32
5595 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
5596 (build-system haskell-build-system)
5597 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
5598 (arguments
5599 `(#:tests? #f
5600 #:cabal-revision
5601 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
5602 (home-page "http://hackage.haskell.org/package/language-glsl")
5603 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
5604 (description "This package is a Haskell library for the
5605representation, parsing, and pretty-printing of GLSL 1.50 code.")
5606 (license license:bsd-3)))
5607
5608(define-public ghc-language-haskell-extract
5609 (package
5610 (name "ghc-language-haskell-extract")
5611 (version "0.2.4")
5612 (source
5613 (origin
5614 (method url-fetch)
5615 (uri (string-append "https://hackage.haskell.org/package/"
5616 "language-haskell-extract-" version "/"
5617 "language-haskell-extract-" version ".tar.gz"))
5618 (sha256
5619 (base32
5620 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
5621 (build-system haskell-build-system)
5622 (inputs
5623 `(("ghc-regex-posix" ,ghc-regex-posix)))
5624 (home-page "https://github.com/finnsson/template-helper")
5625 (synopsis "Haskell module to automatically extract functions from
5626the local code")
5627 (description "This package contains helper functions on top of
5628Template Haskell.
5629
5630For example, @code{functionExtractor} extracts all functions after a
5631regexp-pattern, which can be useful if you wish to extract all functions
5632beginning with @code{test} (for a test framework) or all functions beginning
5633with @code{wc} (for a web service).")
5634 (license license:bsd-3)))
5635
5636(define-public ghc-lens
5637 (package
5638 (name "ghc-lens")
5639 (version "4.16.1")
5640 (source
5641 (origin
5642 (method url-fetch)
5643 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5644 version ".tar.gz"))
5645 (sha256
5646 (base32
5647 "1im4drhbydbawd6i0jsrzpqihnmx4ywpkg7yg94ddwsw3mxwkgpm"))))
5648 (build-system haskell-build-system)
5649 (arguments
5650 `(#:cabal-revision
5651 ("2" "11h83lj5mba4grhz1qx3irz10ysm9c3k7k6i6xv2cr60q8xin3ri")))
5652 (inputs
5653 `(("ghc-base-orphans" ,ghc-base-orphans)
5654 ("ghc-bifunctors" ,ghc-bifunctors)
5655 ("ghc-distributive" ,ghc-distributive)
5656 ("ghc-exceptions" ,ghc-exceptions)
5657 ("ghc-free" ,ghc-free)
5658 ("ghc-kan-extensions" ,ghc-kan-extensions)
5659 ("ghc-parallel" ,ghc-parallel)
5660 ("ghc-reflection" ,ghc-reflection)
5661 ("ghc-semigroupoids" ,ghc-semigroupoids)
5662 ("ghc-vector" ,ghc-vector)
5663 ("ghc-call-stack" ,ghc-call-stack)
5664 ("ghc-comonad" ,ghc-comonad)
5665 ("ghc-contravariant" ,ghc-contravariant)
5666 ("ghc-hashable" ,ghc-hashable)
5667 ("ghc-profunctors" ,ghc-profunctors)
5668 ("ghc-semigroups" ,ghc-semigroups)
5669 ("ghc-tagged" ,ghc-tagged)
5670 ("ghc-transformers-compat" ,ghc-transformers-compat)
5671 ("ghc-unordered-containers" ,ghc-unordered-containers)
5672 ("ghc-void" ,ghc-void)
5673 ("ghc-generic-deriving" ,ghc-generic-deriving)
5674 ("ghc-nats" ,ghc-nats)
5675 ("ghc-simple-reflect" ,ghc-simple-reflect)
5676 ("hlint" ,hlint)))
5677 (native-inputs
5678 `(("cabal-doctest" ,cabal-doctest)
5679 ("ghc-doctest" ,ghc-doctest)
5680 ("ghc-hunit" ,ghc-hunit)
5681 ("ghc-test-framework" ,ghc-test-framework)
5682 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5683 ("ghc-test-framework-th" ,ghc-test-framework-th)
5684 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5685 ("ghc-quickcheck" ,ghc-quickcheck)))
5686 (home-page "https://github.com/ekmett/lens/")
5687 (synopsis "Lenses, Folds and Traversals")
5688 (description "This library provides @code{Control.Lens}. The combinators
5689in @code{Control.Lens} provide a highly generic toolbox for composing families
5690of getters, folds, isomorphisms, traversals, setters and lenses and their
5691indexed variants.")
5692 (license license:bsd-3)))
5693
5694(define-public ghc-libffi
5695 (package
5696 (name "ghc-libffi")
5697 (version "0.1")
5698 (source
5699 (origin
5700 (method url-fetch)
5701 (uri (string-append "https://hackage.haskell.org/package/"
5702 "libffi/libffi-" version ".tar.gz"))
5703 (sha256
5704 (base32
5705 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
5706 (build-system haskell-build-system)
5707 (native-inputs `(("pkg-config" ,pkg-config)))
5708 (inputs `(("libffi" ,libffi)))
5709 (home-page "http://hackage.haskell.org/package/libffi")
5710 (synopsis "Haskell binding to libffi")
5711 (description
5712 "A binding to libffi, allowing C functions of types only known at runtime
5713to be called from Haskell.")
5714 (license license:bsd-3)))
5715
5716(define-public ghc-libmpd
5717 (package
5718 (name "ghc-libmpd")
5719 (version "0.9.0.9")
5720 (source
5721 (origin
5722 (method url-fetch)
5723 (uri (string-append
5724 "mirror://hackage/package/libmpd/libmpd-"
5725 version
5726 ".tar.gz"))
5727 (sha256
5728 (base32
5729 "1931m23iqb4wddpdidm4ph746zpaw41kkjzmb074j7yyfpk7x1jv"))))
5730 (build-system haskell-build-system)
5731 ;; Tests fail on i686.
5732 ;; See https://github.com/vimus/libmpd-haskell/issues/112
5733 (arguments `(#:tests? #f))
5734 (inputs
5735 `(("ghc-attoparsec" ,ghc-attoparsec)
5736 ("ghc-old-locale" ,ghc-old-locale)
5737 ("ghc-data-default-class" ,ghc-data-default-class)
5738 ("ghc-network" ,ghc-network)
5739 ("ghc-utf8-string" ,ghc-utf8-string)))
5740 (native-inputs
5741 `(("ghc-quickcheck" ,ghc-quickcheck)
5742 ("ghc-hspec" ,ghc-hspec)
5743 ("hspec-discover" ,hspec-discover)))
5744 (home-page "https://github.com/vimus/libmpd-haskell")
5745 (synopsis "Haskell client library for the Music Player Daemon")
5746 (description "This package provides a pure Haskell client library for the
5747Music Player Daemon.")
5748 (license license:expat)))
5749
5750(define-public ghc-libxml
5751 (package
5752 (name "ghc-libxml")
5753 (version "0.1.1")
5754 (source
5755 (origin
5756 (method url-fetch)
5757 (uri (string-append "https://hackage.haskell.org/package/libxml/"
5758 "libxml-" version ".tar.gz"))
5759 (sha256
5760 (base32
5761 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
5762 (build-system haskell-build-system)
5763 (inputs
5764 `(("libxml2" ,libxml2)))
5765 (arguments
5766 `(#:configure-flags
5767 `(,(string-append "--extra-include-dirs="
5768 (assoc-ref %build-inputs "libxml2")
5769 "/include/libxml2"))))
5770 (home-page "https://hackage.haskell.org/package/libxml")
5771 (synopsis "Haskell bindings to libxml2")
5772 (description
5773 "This library provides minimal Haskell binding to libxml2.")
5774 (license license:bsd-3)))
5775
5776(define-public ghc-lifted-async
5777 (package
5778 (name "ghc-lifted-async")
5779 (version "0.10.0.2")
5780 (source
5781 (origin
5782 (method url-fetch)
5783 (uri (string-append
5784 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
5785 version ".tar.gz"))
5786 (sha256
5787 (base32
5788 "1073r512c1x2m1v0jar9bwqg656slg7jd1jhsyj6m8awgx1l1mwf"))))
5789 (build-system haskell-build-system)
5790 (inputs
5791 `(("ghc-async" ,ghc-async)
5792 ("ghc-lifted-base" ,ghc-lifted-base)
5793 ("ghc-transformers-base" ,ghc-transformers-base)
5794 ("ghc-monad-control" ,ghc-monad-control)
5795 ("ghc-constraints" ,ghc-constraints)
5796 ("ghc-hunit" ,ghc-hunit)
5797 ("ghc-tasty" ,ghc-tasty)
5798 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5799 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5800 ("ghc-tasty-th" ,ghc-tasty-th)))
5801 (home-page "https://github.com/maoe/lifted-async")
5802 (synopsis "Run lifted IO operations asynchronously and wait for their results")
5803 (description
5804 "This package provides IO operations from @code{async} package lifted to any
5805instance of @code{MonadBase} or @code{MonadBaseControl}.")
5806 (license license:bsd-3)))
5807
5808(define-public ghc-lifted-base
5809 (package
5810 (name "ghc-lifted-base")
5811 (version "0.2.3.12")
5812 (source
5813 (origin
5814 (method url-fetch)
5815 (uri (string-append
5816 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
5817 version
5818 ".tar.gz"))
5819 (sha256
5820 (base32
5821 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
5822 (build-system haskell-build-system)
5823 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
5824 (inputs
5825 `(("ghc-transformers-base" ,ghc-transformers-base)
5826 ("ghc-monad-control" ,ghc-monad-control)
5827 ("ghc-transformers-compat" ,ghc-transformers-compat)
5828 ("ghc-hunit" ,ghc-hunit)))
5829 (home-page "https://github.com/basvandijk/lifted-base")
5830 (synopsis "Lifted IO operations from the base library")
5831 (description "Lifted-base exports IO operations from the @code{base}
5832library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5833Note that not all modules from @code{base} are converted yet. The package
5834includes a copy of the @code{monad-peel} test suite written by Anders
5835Kaseorg.")
5836 (license license:bsd-3)))
5837
5838(define-public ghc-linear
5839 (package
5840 (name "ghc-linear")
5841 (version "1.20.8")
5842 (source
5843 (origin
5844 (method url-fetch)
5845 (uri (string-append "https://hackage.haskell.org/package/linear/"
5846 "linear-" version ".tar.gz"))
5847 (sha256
5848 (base32
5849 "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"))))
5850 (build-system haskell-build-system)
5851 (inputs
5852 `(("ghc-adjunctions" ,ghc-adjunctions)
5853 ("ghc-base-orphans" ,ghc-base-orphans)
5854 ("ghc-bytes" ,ghc-bytes)
5855 ("ghc-cereal" ,ghc-cereal)
5856 ("ghc-distributive" ,ghc-distributive)
5857 ("ghc-hashable" ,ghc-hashable)
5858 ("ghc-lens" ,ghc-lens)
5859 ("ghc-reflection" ,ghc-reflection)
5860 ("ghc-semigroups" ,ghc-semigroups)
5861 ("ghc-semigroupoids" ,ghc-semigroupoids)
5862 ("ghc-tagged" ,ghc-tagged)
5863 ("ghc-transformers-compat" ,ghc-transformers-compat)
5864 ("ghc-unordered-containers" ,ghc-unordered-containers)
5865 ("ghc-vector" ,ghc-vector)
5866 ("ghc-void" ,ghc-void)))
5867 (native-inputs
5868 `(("cabal-doctest" ,cabal-doctest)
5869 ("ghc-doctest" ,ghc-doctest)
5870 ("ghc-simple-reflect" ,ghc-simple-reflect)
5871 ("ghc-test-framework" ,ghc-test-framework)
5872 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5873 ("ghc-hunit" ,ghc-hunit)))
5874 (home-page "http://github.com/ekmett/linear/")
5875 (synopsis "Linear algebra library for Haskell")
5876 (description
5877 "This package provides types and combinators for linear algebra on free
5878vector spaces.")
5879 (license license:bsd-3)))
1307e4c7
JS
5880
5881(define-public ghc-listlike
5882 (package
5883 (name "ghc-listlike")
5884 (version "4.6.2")
5885 (source
5886 (origin
5887 (method url-fetch)
5888 (uri
5889 (string-append
5890 "https://hackage.haskell.org/package/ListLike/ListLike-"
5891 version ".tar.gz"))
5892 (sha256
5893 (base32
5894 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
5895 (build-system haskell-build-system)
5896 (inputs
5897 `(("ghc-vector" ,ghc-vector)
5898 ("ghc-dlist" ,ghc-dlist)
5899 ("ghc-fmlist" ,ghc-fmlist)
5900 ("ghc-hunit" ,ghc-hunit)
5901 ("ghc-quickcheck" ,ghc-quickcheck)
5902 ("ghc-random" ,ghc-random)
5903 ("ghc-utf8-string" ,ghc-utf8-string)))
5904 (home-page "https://github.com/JohnLato/listlike")
5905 (synopsis "Generic support for list-like structures")
5906 (description "The ListLike module provides a common interface to the
5907various Haskell types that are list-like. Predefined interfaces include
5908standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
5909Custom types can easily be made ListLike instances as well.
5910
5911ListLike also provides for String-like types, such as String and
5912ByteString, for types that support input and output, and for types that
5913can handle infinite lists.")
5914 (license license:bsd-3)))
dddbc90c
RV
5915
5916(define-public ghc-logging-facade
5917 (package
5918 (name "ghc-logging-facade")
5919 (version "0.3.0")
5920 (source (origin
5921 (method url-fetch)
5922 (uri (string-append "https://hackage.haskell.org/package/"
5923 "logging-facade/logging-facade-"
5924 version ".tar.gz"))
5925 (sha256
5926 (base32
5927 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
5928 (build-system haskell-build-system)
5929 (native-inputs
5930 `(("ghc-hspec" ,ghc-hspec)
5931 ("hspec-discover" ,hspec-discover)))
5932 (home-page "https://hackage.haskell.org/package/logging-facade")
5933 (synopsis "Simple logging abstraction that allows multiple back-ends")
5934 (description
5935 "This package provides a simple logging abstraction that allows multiple
5936back-ends.")
5937 (license license:expat)))
5938
5939(define-public ghc-logict
5940 (package
5941 (name "ghc-logict")
79d9326f 5942 (version "0.7.0.2")
dddbc90c
RV
5943 (source
5944 (origin
5945 (method url-fetch)
5946 (uri (string-append
5947 "https://hackage.haskell.org/package/logict/logict-"
5948 version
5949 ".tar.gz"))
5950 (sha256
5951 (base32
79d9326f 5952 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 5953 (build-system haskell-build-system)
79d9326f
TS
5954 (native-inputs
5955 `(("ghc-tasty" ,ghc-tasty)
5956 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5957 (home-page "http://code.haskell.org/~dolio/")
5958 (synopsis "Backtracking logic-programming monad")
5959 (description "This library provides a continuation-based, backtracking,
5960logic programming monad. An adaptation of the two-continuation implementation
5961found in the paper \"Backtracking, Interleaving, and Terminating Monad
5962Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
5963online}.")
5964 (license license:bsd-3)))
5965
5966(define-public ghc-lzma
5967 (package
5968 (name "ghc-lzma")
5969 (version "0.0.0.3")
5970 (source
5971 (origin
5972 (method url-fetch)
5973 (uri (string-append "https://hackage.haskell.org/package/lzma/"
5974 "lzma-" version ".tar.gz"))
5975 (sha256
5976 (base32
5977 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
5978 (build-system haskell-build-system)
5979 (arguments
5980 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
5981 #:cabal-revision
5982 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
5983 (native-inputs
5984 `(("ghc-hunit" ,ghc-hunit)
5985 ("ghc-quickcheck" ,ghc-quickcheck)
5986 ("ghc-tasty" ,ghc-tasty)
5987 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5988 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
5989 (home-page "https://github.com/hvr/lzma")
5990 (synopsis "LZMA/XZ compression and decompression")
5991 (description
5992 "This package provides a pure interface for compressing and
5993decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
5994monadic incremental interface is provided as well.")
5995 (license license:bsd-3)))
5996
5997(define-public ghc-lzma-conduit
5998 (package
5999 (name "ghc-lzma-conduit")
6000 (version "1.2.1")
6001 (source
6002 (origin
6003 (method url-fetch)
6004 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6005 "lzma-conduit-" version ".tar.gz"))
6006 (sha256
6007 (base32
6008 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6009 (build-system haskell-build-system)
6010 (inputs
6011 `(("ghc-conduit" ,ghc-conduit)
6012 ("ghc-lzma" ,ghc-lzma)
6013 ("ghc-resourcet" ,ghc-resourcet)))
6014 (native-inputs
6015 `(("ghc-base-compat" ,ghc-base-compat)
6016 ("ghc-test-framework" ,ghc-test-framework)
6017 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6018 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6019 ("ghc-hunit" ,ghc-hunit)
6020 ("ghc-quickcheck" ,ghc-quickcheck)))
6021 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6022 (synopsis "Conduit interface for lzma/xz compression")
6023 (description
6024 "This package provides a @code{Conduit} interface for the LZMA
6025compression algorithm used in the @code{.xz} file format.")
6026 (license license:bsd-3)))
6027
e405912c
KM
6028(define-public ghc-magic
6029 (package
6030 (name "ghc-magic")
6031 (version "1.1")
6032 (source
6033 (origin
6034 (method url-fetch)
6035 (uri (string-append
6036 "https://hackage.haskell.org/package/magic/magic-"
6037 version ".tar.gz"))
6038 (sha256
6039 (base32
6040 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6041 (build-system haskell-build-system)
6042 (home-page "http://hackage.haskell.org/package/magic")
6043 (synopsis "Interface to C file/magic library")
6044 (description
6045 "This package provides a full-featured binding to the C libmagic library.
6046With it, you can determine the type of a file by examining its contents rather
6047than its name.")
6048 (license license:bsd-3)))
6049
dddbc90c
RV
6050(define-public ghc-markdown-unlit
6051 (package
6052 (name "ghc-markdown-unlit")
6053 (version "0.5.0")
6054 (source (origin
6055 (method url-fetch)
6056 (uri (string-append
6057 "mirror://hackage/package/markdown-unlit/"
6058 "markdown-unlit-" version ".tar.gz"))
6059 (sha256
6060 (base32
6061 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6062 (build-system haskell-build-system)
6063 (inputs
6064 `(("ghc-base-compat" ,ghc-base-compat)
6065 ("ghc-hspec" ,ghc-hspec)
6066 ("ghc-quickcheck" ,ghc-quickcheck)
6067 ("ghc-silently" ,ghc-silently)
6068 ("ghc-stringbuilder" ,ghc-stringbuilder)
6069 ("ghc-temporary" ,ghc-temporary)
6070 ("hspec-discover" ,hspec-discover)))
6071 (home-page "https://github.com/sol/markdown-unlit#readme")
6072 (synopsis "Literate Haskell support for Markdown")
6073 (description "This package allows you to have a README.md that at the
6074same time is a literate Haskell program.")
6075 (license license:expat)))
6076
6077(define-public ghc-math-functions
6078 (package
6079 (name "ghc-math-functions")
b45de2bf 6080 (version "0.3.3.0")
dddbc90c
RV
6081 (source
6082 (origin
6083 (method url-fetch)
6084 (uri (string-append "https://hackage.haskell.org/package/"
6085 "math-functions-" version "/"
6086 "math-functions-" version ".tar.gz"))
6087 (sha256
6088 (base32
b45de2bf 6089 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6090 (build-system haskell-build-system)
6091 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6092 (inputs
b45de2bf
TS
6093 `(("ghc-data-default-class" ,ghc-data-default-class)
6094 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6095 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6096 (native-inputs
6097 `(("ghc-hunit" ,ghc-hunit)
6098 ("ghc-quickcheck" ,ghc-quickcheck)
6099 ("ghc-erf" ,ghc-erf)
6100 ("ghc-test-framework" ,ghc-test-framework)
6101 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6102 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6103 (home-page "https://github.com/bos/math-functions")
6104 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6105 (description "This Haskell library provides implementations of
6106special mathematical functions and Chebyshev polynomials. These
6107functions are often useful in statistical and numerical computing.")
6108 (license license:bsd-3)))
6109
6110(define-public ghc-megaparsec
6111 (package
6112 (name "ghc-megaparsec")
6113 (version "6.5.0")
6114 (source
6115 (origin
6116 (method url-fetch)
6117 (uri (string-append "https://hackage.haskell.org/package/"
6118 "megaparsec/megaparsec-"
6119 version ".tar.gz"))
6120 (sha256
6121 (base32
6122 "12iggy7qpf8x93jm64zf0g215xwy779bqyfyjk2bhmxqqr1yzgdy"))))
6123 (build-system haskell-build-system)
6124 (arguments
6125 `(#:cabal-revision
6126 ("4" "0ij3asi5vwlhbgwsy6nhli9a0qb7926mg809fsgyl1rnhs9fvpx1")))
6127 (inputs
6128 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6129 ("ghc-parser-combinators" ,ghc-parser-combinators)
6130 ("ghc-scientific" ,ghc-scientific)))
6131 (native-inputs
6132 `(("ghc-quickcheck" ,ghc-quickcheck)
6133 ("ghc-hspec" ,ghc-hspec)
6134 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6135 ("hspec-discover" ,hspec-discover)))
6136 (home-page "https://github.com/mrkkrp/megaparsec")
6137 (synopsis "Monadic parser combinators")
6138 (description
6139 "This is an industrial-strength monadic parser combinator library.
6140Megaparsec is a feature-rich package that strikes a nice balance between
6141speed, flexibility, and quality of parse errors.")
6142 (license license:bsd-2)))
6143
4780db2c
EB
6144;;; Idris 1.3.2 requires 'megaparse>=7.0.4' but we'd like to keep the public
6145;;; package at the current Stackage LTS version:
6146(define-public ghc-megaparsec-7
6147 (hidden-package
6148 (package
6149 (inherit ghc-megaparsec)
6150 (version "7.0.5")
6151 (source
6152 (origin
6153 (method url-fetch)
6154 (uri (string-append "https://hackage.haskell.org/package/megaparsec/"
6155 "megaparsec-" version ".tar.gz"))
6156 (sha256
6157 (base32
6158 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
6159 (arguments (strip-keyword-arguments (list #:cabal-revision)
6160 (package-arguments ghc-megaparsec))))))
6161
dddbc90c
RV
6162(define-public ghc-memory
6163 (package
6164 (name "ghc-memory")
d2c7d336 6165 (version "0.14.18")
dddbc90c
RV
6166 (source (origin
6167 (method url-fetch)
6168 (uri (string-append "https://hackage.haskell.org/package/"
6169 "memory/memory-" version ".tar.gz"))
6170 (sha256
6171 (base32
d2c7d336 6172 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
6173 (build-system haskell-build-system)
6174 (inputs
6175 `(("ghc-basement" ,ghc-basement)
6176 ("ghc-foundation" ,ghc-foundation)))
6177 (native-inputs
6178 `(("ghc-tasty" ,ghc-tasty)
6179 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6180 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6181 (home-page "https://github.com/vincenthz/hs-memory")
6182 (synopsis "Memory abstractions for Haskell")
6183 (description
6184 "This package provides memory abstractions, such as chunk of memory,
6185polymorphic byte array management and manipulation functions. It contains a
6186polymorphic byte array abstraction and functions similar to strict ByteString,
6187different type of byte array abstraction, raw memory IO operations (memory
6188set, memory copy, ..) and more")
6189 (license license:bsd-3)))
6190
6191(define-public ghc-memotrie
6192 (package
6193 (name "ghc-memotrie")
6194 (version "0.6.9")
6195 (source
6196 (origin
6197 (method url-fetch)
6198 (uri (string-append
6199 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6200 version
6201 ".tar.gz"))
6202 (sha256
6203 (base32
6204 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6205 (build-system haskell-build-system)
6206 (inputs
6207 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6208 (home-page "https://github.com/conal/MemoTrie")
6209 (synopsis "Trie-based memo functions")
6210 (description "This package provides a functional library for creating
6211efficient memo functions using tries.")
6212 (license license:bsd-3)))
6213
6214(define-public ghc-microlens
6215 (package
6216 (name "ghc-microlens")
82478c58 6217 (version "0.4.10")
dddbc90c
RV
6218 (source
6219 (origin
6220 (method url-fetch)
6221 (uri (string-append "https://hackage.haskell.org/package/"
6222 "microlens-" version "/"
6223 "microlens-" version ".tar.gz"))
6224 (sha256
6225 (base32
82478c58 6226 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
6227 (build-system haskell-build-system)
6228 (home-page
6229 "https://github.com/aelve/microlens")
6230 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6231 (description "This Haskell package provides a lens library, just like
6232@code{ghc-lens}, but smaller. It provides essential lenses and
6233traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6234nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6235combinators (like @code{failing} and @code{singular}), but everything else is
6236stripped. As the result, this package has no dependencies.")
6237 (license license:bsd-3)))
6238
6239(define-public ghc-microlens-ghc
6240 (package
6241 (name "ghc-microlens-ghc")
027beb55 6242 (version "0.4.10")
dddbc90c
RV
6243 (source
6244 (origin
6245 (method url-fetch)
6246 (uri (string-append
6247 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6248 version
6249 ".tar.gz"))
6250 (sha256
6251 (base32
027beb55 6252 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
6253 (build-system haskell-build-system)
6254 (inputs `(("ghc-microlens" ,ghc-microlens)))
6255 (home-page "https://github.com/monadfix/microlens")
6256 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6257 (description "This library provides everything that @code{microlens}
6258provides plus instances to make @code{each}, @code{at}, and @code{ix}
6259usable with arrays, @code{ByteString}, and containers. This package is
6260a part of the @uref{http://hackage.haskell.org/package/microlens,
6261microlens} family; see the readme
6262@uref{https://github.com/aelve/microlens#readme, on Github}.")
6263 (license license:bsd-3)))
6264
6265(define-public ghc-microlens-mtl
6266 (package
6267 (name "ghc-microlens-mtl")
6268 (version "0.1.11.1")
6269 (source
6270 (origin
6271 (method url-fetch)
6272 (uri (string-append
6273 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6274 version
6275 ".tar.gz"))
6276 (sha256
6277 (base32
6278 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6279 (build-system haskell-build-system)
6280 (inputs
6281 `(("ghc-microlens" ,ghc-microlens)
6282 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6283 (home-page "https://github.com/monadfix/microlens")
6284 (synopsis
6285 "@code{microlens} support for Reader/Writer/State from mtl")
6286 (description
6287 "This package contains functions (like @code{view} or @code{+=}) which
6288work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6289mtl package. This package is a part of the
6290@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6291readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6292 (license license:bsd-3)))
6293
6294(define-public ghc-microlens-platform
6295 (package
6296 (name "ghc-microlens-platform")
85decc1f 6297 (version "0.3.11")
dddbc90c
RV
6298 (source
6299 (origin
6300 (method url-fetch)
6301 (uri (string-append
6302 "https://hackage.haskell.org/package/"
6303 "microlens-platform/microlens-platform-" version ".tar.gz"))
6304 (sha256
6305 (base32
85decc1f 6306 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
6307 (build-system haskell-build-system)
6308 (inputs
6309 `(("ghc-hashable" ,ghc-hashable)
6310 ("ghc-microlens" ,ghc-microlens)
6311 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6312 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6313 ("ghc-microlens-th" ,ghc-microlens-th)
6314 ("ghc-unordered-containers" ,ghc-unordered-containers)
6315 ("ghc-vector" ,ghc-vector)))
6316 (home-page "https://github.com/monadfix/microlens")
6317 (synopsis "Feature-complete microlens")
6318 (description
6319 "This package exports a module which is the recommended starting point
6320for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6321you aren't trying to keep your dependencies minimal. By importing
6322@code{Lens.Micro.Platform} you get all functions and instances from
6323@uref{http://hackage.haskell.org/package/microlens, microlens},
6324@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6325@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6326@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6327well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6328minor and major versions of @code{microlens-platform} are incremented whenever
6329the minor and major versions of any other @code{microlens} package are
6330incremented, so you can depend on the exact version of
6331@code{microlens-platform} without specifying the version of @code{microlens}
6332you need. This package is a part of the
6333@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6334readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6335 (license license:bsd-3)))
6336
6337(define-public ghc-microlens-th
6338 (package
6339 (name "ghc-microlens-th")
7ae52867 6340 (version "0.4.2.3")
dddbc90c
RV
6341 (source
6342 (origin
6343 (method url-fetch)
6344 (uri (string-append "https://hackage.haskell.org/package/"
6345 "microlens-th-" version "/"
6346 "microlens-th-" version ".tar.gz"))
6347 (sha256
6348 (base32
7ae52867 6349 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 6350 (build-system haskell-build-system)
7ae52867
TS
6351 (arguments
6352 `(#:cabal-revision
6353 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
6354 (inputs `(("ghc-microlens" ,ghc-microlens)
6355 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6356 (home-page
6357 "https://github.com/aelve/microlens")
6358 (synopsis "Automatic generation of record lenses for
6359@code{ghc-microlens}")
6360 (description "This Haskell package lets you automatically generate lenses
6361for data types; code was extracted from the lens package, and therefore
6362generated lenses are fully compatible with ones generated by lens (and can be
6363used both from lens and microlens).")
6364 (license license:bsd-3)))
6365
6366(define-public ghc-missingh
6367 (package
6368 (name "ghc-missingh")
6369 (version "1.4.0.1")
6370 (source
6371 (origin
6372 (method url-fetch)
6373 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6374 "MissingH-" version ".tar.gz"))
6375 (sha256
6376 (base32
6377 "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"))))
6378 (build-system haskell-build-system)
6379 ;; Tests require the unmaintained testpack package, which depends on the
6380 ;; outdated QuickCheck version 2.7, which can no longer be built with
6381 ;; recent versions of GHC and Haskell libraries.
6382 (arguments '(#:tests? #f))
6383 (inputs
6384 `(("ghc-network" ,ghc-network)
6385 ("ghc-hunit" ,ghc-hunit)
6386 ("ghc-regex-compat" ,ghc-regex-compat)
6387 ("ghc-hslogger" ,ghc-hslogger)
6388 ("ghc-random" ,ghc-random)
6389 ("ghc-old-time" ,ghc-old-time)
6390 ("ghc-old-locale" ,ghc-old-locale)))
6391 (native-inputs
6392 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6393 ("ghc-quickcheck" ,ghc-quickcheck)
6394 ("ghc-hunit" ,ghc-hunit)))
6395 (home-page "http://software.complete.org/missingh")
6396 (synopsis "Large utility library")
6397 (description
6398 "MissingH is a library of all sorts of utility functions for Haskell
6399programmers. It is written in pure Haskell and thus should be extremely
6400portable and easy to use.")
6401 (license license:bsd-3)))
6402
6403(define-public ghc-mmap
6404 (package
6405 (name "ghc-mmap")
6406 (version "0.5.9")
6407 (source (origin
6408 (method url-fetch)
6409 (uri (string-append "https://hackage.haskell.org/package/"
6410 "mmap/mmap-" version ".tar.gz"))
6411 (sha256
6412 (base32
6413 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6414 (build-system haskell-build-system)
6415 (home-page "https://hackage.haskell.org/package/mmap")
6416 (synopsis "Memory mapped files for Haskell")
6417 (description
6418 "This library provides a wrapper to @code{mmap}, allowing files or
6419devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6420@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6421do on-demand loading.")
6422 (license license:bsd-3)))
6423
6424(define-public ghc-mmorph
6425 (package
6426 (name "ghc-mmorph")
e0389704 6427 (version "1.1.3")
dddbc90c
RV
6428 (source
6429 (origin
6430 (method url-fetch)
6431 (uri (string-append
6432 "https://hackage.haskell.org/package/mmorph/mmorph-"
6433 version
6434 ".tar.gz"))
6435 (sha256
6436 (base32
e0389704 6437 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
6438 (build-system haskell-build-system)
6439 (inputs
6440 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6441 (home-page "https://hackage.haskell.org/package/mmorph")
6442 (synopsis "Monad morphisms")
6443 (description
6444 "This library provides monad morphism utilities, most commonly used for
6445manipulating monad transformer stacks.")
6446 (license license:bsd-3)))
6447
6448(define-public ghc-mockery
6449 (package
6450 (name "ghc-mockery")
6451 (version "0.3.5")
6452 (source (origin
6453 (method url-fetch)
6454 (uri (string-append "https://hackage.haskell.org/package/"
6455 "mockery/mockery-" version ".tar.gz"))
6456 (sha256
6457 (base32
6458 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6459 (build-system haskell-build-system)
6460 (inputs
6461 `(("ghc-temporary" ,ghc-temporary)
6462 ("ghc-logging-facade" ,ghc-logging-facade)
6463 ("ghc-base-compat" ,ghc-base-compat)))
6464 (native-inputs
6465 `(("ghc-hspec" ,ghc-hspec)
6466 ("hspec-discover" ,hspec-discover)))
6467 (home-page "https://hackage.haskell.org/package/mockery")
6468 (synopsis "Support functions for automated testing")
6469 (description
6470 "The mockery package provides support functions for automated testing.")
6471 (license license:expat)))
6472
6473(define-public ghc-monad-control
6474 (package
6475 (name "ghc-monad-control")
6476 (version "1.0.2.3")
6477 (source
6478 (origin
6479 (method url-fetch)
6480 (uri (string-append
6481 "https://hackage.haskell.org/package/monad-control"
6482 "/monad-control-" version ".tar.gz"))
6483 (sha256
6484 (base32
6485 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6486 (build-system haskell-build-system)
6487 (inputs
6488 `(("ghc-transformers-base" ,ghc-transformers-base)
6489 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6490 (home-page "https://github.com/basvandijk/monad-control")
6491 (synopsis "Monad transformers to lift control operations like exception
6492catching")
6493 (description "This package defines the type class @code{MonadBaseControl},
6494a subset of @code{MonadBase} into which generic control operations such as
6495@code{catch} can be lifted from @code{IO} or any other base monad.")
6496 (license license:bsd-3)))
6497
6498(define-public ghc-monad-logger
6499 (package
6500 (name "ghc-monad-logger")
6501 (version "0.3.29")
6502 (source
6503 (origin
6504 (method url-fetch)
6505 (uri (string-append "https://hackage.haskell.org/package/"
6506 "monad-logger-" version "/"
6507 "monad-logger-" version ".tar.gz"))
6508 (sha256
6509 (base32
6510 "1z516s4pa9n94zf0l45mylssg07xr1d1m6zrz900p0iv3vfd07mv"))))
6511 (build-system haskell-build-system)
6512 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6513 ("ghc-stm-chans" ,ghc-stm-chans)
6514 ("ghc-lifted-base" ,ghc-lifted-base)
6515 ("ghc-resourcet" ,ghc-resourcet)
6516 ("ghc-conduit" ,ghc-conduit)
6517 ("ghc-conduit-extra" ,ghc-conduit-extra)
6518 ("ghc-fast-logger" ,ghc-fast-logger)
6519 ("ghc-transformers-base" ,ghc-transformers-base)
6520 ("ghc-monad-control" ,ghc-monad-control)
6521 ("ghc-monad-loops" ,ghc-monad-loops)
6522 ("ghc-blaze-builder" ,ghc-blaze-builder)
6523 ("ghc-exceptions" ,ghc-exceptions)))
6524 (home-page "https://github.com/kazu-yamamoto/logger")
6525 (synopsis "Provides a class of monads which can log messages for Haskell")
6526 (description "This Haskell package uses a monad transformer approach
6527for logging.
6528
6529This package provides Template Haskell functions for determining source
6530code locations of messages.")
6531 (license license:expat)))
6532
6533(define-public ghc-monad-loops
6534 (package
6535 (name "ghc-monad-loops")
6536 (version "0.4.3")
6537 (source
6538 (origin
6539 (method url-fetch)
6540 (uri (string-append "https://hackage.haskell.org/package/"
6541 "monad-loops-" version "/"
6542 "monad-loops-" version ".tar.gz"))
6543 (sha256
6544 (base32
6545 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6546 (build-system haskell-build-system)
6547 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6548 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6549 (home-page "https://github.com/mokus0/monad-loops")
6550 (synopsis "Monadic loops for Haskell")
6551 (description "This Haskell package provides some useful control
6552operators for looping.")
6553 (license license:public-domain)))
6554
6555(define-public ghc-monad-par
6556 (package
6557 (name "ghc-monad-par")
6558 (version "0.3.4.8")
6559 (source
6560 (origin
6561 (method url-fetch)
6562 (uri (string-append "https://hackage.haskell.org/package/"
6563 "monad-par-" version "/"
6564 "monad-par-" version ".tar.gz"))
6565 (sha256
6566 (base32
6567 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6568 (build-system haskell-build-system)
6569 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6570 ("ghc-abstract-deque" ,ghc-abstract-deque)
6571 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6572 ("ghc-mwc-random" ,ghc-mwc-random)
6573 ("ghc-parallel" ,ghc-parallel)))
6574 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6575 ("ghc-hunit" ,ghc-hunit)
6576 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6577 ("ghc-test-framework-quickcheck2"
6578 ,ghc-test-framework-quickcheck2)
6579 ("ghc-test-framework" ,ghc-test-framework)
6580 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6581 (home-page "https://github.com/simonmar/monad-par")
6582 (synopsis "Haskell library for parallel programming based on a monad")
6583 (description "The @code{Par} monad offers an API for parallel
6584programming. The library works for parallelising both pure and @code{IO}
6585computations, although only the pure version is deterministic. The default
6586implementation provides a work-stealing scheduler and supports forking tasks
6587that are much lighter weight than IO-threads.")
6588 (license license:bsd-3)))
6589
6590(define-public ghc-monad-par-extras
6591 (package
6592 (name "ghc-monad-par-extras")
6593 (version "0.3.3")
6594 (source
6595 (origin
6596 (method url-fetch)
6597 (uri (string-append "https://hackage.haskell.org/package/"
6598 "monad-par-extras-" version "/"
6599 "monad-par-extras-" version ".tar.gz"))
6600 (sha256
6601 (base32
6602 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6603 (build-system haskell-build-system)
6604 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6605 ("ghc-cereal" ,ghc-cereal)
6606 ("ghc-random" ,ghc-random)))
6607 (home-page "https://github.com/simonmar/monad-par")
6608 (synopsis "Combinators and extra features for Par monads for Haskell")
6609 (description "This Haskell package provides additional data structures,
6610and other added capabilities layered on top of the @code{Par} monad.")
6611 (license license:bsd-3)))
6612
6613(define-public ghc-monadplus
6614 (package
6615 (name "ghc-monadplus")
6616 (version "1.4.2")
6617 (source
6618 (origin
6619 (method url-fetch)
6620 (uri (string-append "https://hackage.haskell.org/package/monadplus"
6621 "/monadplus-" version ".tar.gz"))
6622 (sha256
6623 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
6624 (build-system haskell-build-system)
6625 (home-page "https://hackage.haskell.org/package/monadplus")
6626 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
6627 (description
6628 "This package generalizes many common stream operations such as
6629@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
6630arbitrary @code{MonadPlus} instances.")
6631 (license license:bsd-3)))
6632
6633(define-public ghc-monadrandom
6634 (package
6635 (name "ghc-monadrandom")
6636 (version "0.5.1.1")
6637 (source
6638 (origin
6639 (method url-fetch)
6640 (uri (string-append "https://hackage.haskell.org/package/"
6641 "MonadRandom-" version "/"
6642 "MonadRandom-" version ".tar.gz"))
6643 (sha256
6644 (base32
6645 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
6646 (build-system haskell-build-system)
6647 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6648 ("ghc-primitive" ,ghc-primitive)
6649 ("ghc-fail" ,ghc-fail)
6650 ("ghc-random" ,ghc-random)))
6651 (home-page "https://github.com/byorgey/MonadRandom")
6652 (synopsis "Random-number generation monad for Haskell")
6653 (description "This Haskell package provides support for computations
6654which consume random values.")
6655 (license license:bsd-3)))
6656
6657(define-public ghc-monads-tf
6658 (package
6659 (name "ghc-monads-tf")
6660 (version "0.1.0.3")
6661 (source
6662 (origin
6663 (method url-fetch)
6664 (uri (string-append
6665 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
6666 version ".tar.gz"))
6667 (sha256
6668 (base32
6669 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
6670 (build-system haskell-build-system)
6671 (home-page "https://hackage.haskell.org/package/monads-tf")
6672 (synopsis "Monad classes, using type families")
6673 (description
6674 "Monad classes using type families, with instances for various monad transformers,
6675inspired by the paper 'Functional Programming with Overloading and Higher-Order
6676Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
6677the @code{mtl-tf} package.")
6678 (license license:bsd-3)))
6679
6680(define-public ghc-mono-traversable
6681 (package
6682 (name "ghc-mono-traversable")
6683 (version "1.0.9.0")
6684 (source
6685 (origin
6686 (method url-fetch)
6687 (uri (string-append "https://hackage.haskell.org/package/"
6688 "mono-traversable-" version "/"
6689 "mono-traversable-" version ".tar.gz"))
6690 (sha256
6691 (base32
6692 "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
6693 (build-system haskell-build-system)
6694 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
6695 ("ghc-hashable" ,ghc-hashable)
6696 ("ghc-vector" ,ghc-vector)
6697 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
6698 ("ghc-split" ,ghc-split)))
6699 (native-inputs `(("ghc-hspec" ,ghc-hspec)
6700 ("ghc-hunit" ,ghc-hunit)
6701 ("ghc-quickcheck" ,ghc-quickcheck)
6702 ("ghc-semigroups" ,ghc-semigroups)
6703 ("ghc-foldl" ,ghc-foldl)))
6704 (home-page "https://github.com/snoyberg/mono-traversable")
6705 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
6706containers")
6707 (description "This Haskell package provides Monomorphic variants of the
6708Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
6709basic typeclasses, you understand mono-traversable. In addition to what
6710you are used to, it adds on an IsSequence typeclass and has code for marking
6711data structures as non-empty.")
6712 (license license:expat)))
6713
6714(define-public ghc-murmur-hash
6715 (package
6716 (name "ghc-murmur-hash")
6717 (version "0.1.0.9")
6718 (source
6719 (origin
6720 (method url-fetch)
6721 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
6722 "/murmur-hash-" version ".tar.gz"))
6723 (sha256
6724 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
6725 (build-system haskell-build-system)
6726 (home-page "https://github.com/nominolo/murmur-hash")
6727 (synopsis "MurmurHash2 implementation for Haskell")
6728 (description
6729 "This package provides an implementation of MurmurHash2, a good, fast,
6730general-purpose, non-cryptographic hashing function. See
6731@url{https://sites.google.com/site/murmurhash/} for details. This
6732implementation is pure Haskell, so it might be a bit slower than a C FFI
6733binding.")
6734 (license license:bsd-3)))
6735
6736(define-public ghc-mwc-random
6737 (package
6738 (name "ghc-mwc-random")
33268e2c 6739 (version "0.14.0.0")
dddbc90c
RV
6740 (source
6741 (origin
6742 (method url-fetch)
6743 (uri (string-append "https://hackage.haskell.org/package/"
6744 "mwc-random-" version "/"
6745 "mwc-random-" version ".tar.gz"))
6746 (sha256
6747 (base32
33268e2c 6748 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
6749 (build-system haskell-build-system)
6750 (inputs
6751 `(("ghc-primitive" ,ghc-primitive)
6752 ("ghc-vector" ,ghc-vector)
6753 ("ghc-math-functions" ,ghc-math-functions)))
6754 (arguments
6755 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
6756 (native-inputs
6757 `(("ghc-hunit" ,ghc-hunit)
6758 ("ghc-quickcheck" ,ghc-quickcheck)
6759 ("ghc-test-framework" ,ghc-test-framework)
6760 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6761 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6762 (home-page "https://github.com/bos/mwc-random")
6763 (synopsis "Random number generation library for Haskell")
6764 (description "This Haskell package contains code for generating
6765high quality random numbers that follow either a uniform or normal
6766distribution. The generated numbers are suitable for use in
6767statistical applications.
6768
6769The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
6770multiply-with-carry generator, which has a period of 2^{8222} and
6771fares well in tests of randomness. It is also extremely fast,
6772between 2 and 3 times faster than the Mersenne Twister.")
6773 (license license:bsd-3)))
6774
6775(define-public ghc-nats
6776 (package
6777 (name "ghc-nats")
6778 (version "1.1.2")
6779 (source
6780 (origin
6781 (method url-fetch)
6782 (uri (string-append
6783 "https://hackage.haskell.org/package/nats/nats-"
6784 version
6785 ".tar.gz"))
6786 (sha256
6787 (base32
6788 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
6789 (build-system haskell-build-system)
6790 (arguments `(#:haddock? #f))
6791 (inputs
6792 `(("ghc-hashable" ,ghc-hashable)))
6793 (home-page "https://hackage.haskell.org/package/nats")
6794 (synopsis "Natural numbers")
6795 (description "This library provides the natural numbers for Haskell.")
6796 (license license:bsd-3)))
6797
6798(define-public ghc-nats-bootstrap
6799 (package
6800 (inherit ghc-nats)
6801 (name "ghc-nats-bootstrap")
6802 (inputs
6803 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
6804 (properties '((hidden? #t)))))
6805
52915062
EF
6806(define-public ghc-ncurses
6807 (package
6808 (name "ghc-ncurses")
6809 (version "0.2.16")
6810 (source
6811 (origin
6812 (method url-fetch)
6813 (uri (string-append
6814 "https://hackage.haskell.org/package/ncurses/ncurses-"
6815 version ".tar.gz"))
6816 (sha256
6817 (base32
6818 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
6819 (build-system haskell-build-system)
6820 (arguments
6821 '(#:phases
6822 (modify-phases %standard-phases
6823 (add-before 'build 'fix-includes
6824 (lambda _
6825 (substitute* '("cbits/hsncurses-shim.h"
6826 "lib/UI/NCurses.chs"
6827 "lib/UI/NCurses/Enums.chs"
6828 "lib/UI/NCurses/Panel.chs")
6829 (("<ncursesw/") "<"))
6830 #t)))
6831 #:cabal-revision
6832 ("1"
6833 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
6834 (inputs `(("ncurses" ,ncurses)))
6835 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
6836 (home-page "https://john-millikin.com/software/haskell-ncurses/")
6837 (synopsis "Modernised bindings to GNU ncurses")
6838 (description "GNU ncurses is a library for creating command-line application
6839with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
6840ncurses.")
6841 (license license:gpl3)))
6842
dddbc90c
RV
6843(define-public ghc-network
6844 (package
6845 (name "ghc-network")
6846 (version "2.6.3.6")
6847 (outputs '("out" "doc"))
6848 (source
6849 (origin
6850 (method url-fetch)
6851 (uri (string-append
6852 "https://hackage.haskell.org/package/network/network-"
6853 version
6854 ".tar.gz"))
6855 (sha256
6856 (base32
6857 "198mam7ahny48p9fajznbqq16a8ya2gw0xm3gnm1si1rmc4hdplv"))))
6858 (build-system haskell-build-system)
6859 ;; The regression tests depend on an unpublished module.
6860 (arguments `(#:tests? #f))
6861 (native-inputs
6862 `(("ghc-hunit" ,ghc-hunit)
6863 ("ghc-doctest" ,ghc-doctest)
6864 ("ghc-test-framework" ,ghc-test-framework)
6865 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6866 (home-page "https://github.com/haskell/network")
6867 (synopsis "Low-level networking interface")
6868 (description
6869 "This package provides a low-level networking interface.")
6870 (license license:bsd-3)))
4780db2c
EB
6871
6872;;; Until we update our default GHC to >=8.6 we cannot update our ghc-network
6873;;; package, since the 'cabal-install' package that supports the current
6874;;; 'Cabal' module requires 'network==2.6.*'. Here we provide an updated
6875;;; version to be used for our idris package.
6876(define-public ghc-network-2.8
6877 (hidden-package
6878 (package
6879 (inherit ghc-network)
6880 (version "2.8.0.1")
6881 (source
6882 (origin
6883 (method url-fetch)
6884 (uri (string-append "https://hackage.haskell.org/package/network/"
6885 "network-" version ".tar.gz"))
6886 (sha256
6887 (base32
6888 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1")))))))
dddbc90c
RV
6889
6890(define-public ghc-network-info
6891 (package
6892 (name "ghc-network-info")
6893 (version "0.2.0.10")
6894 (source
6895 (origin
6896 (method url-fetch)
6897 (uri (string-append "https://hackage.haskell.org/package/"
6898 "network-info-" version "/"
6899 "network-info-" version ".tar.gz"))
6900 (sha256
6901 (base32
6902 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
6903 (build-system haskell-build-system)
6904 (home-page "https://github.com/jystic/network-info")
6905 (synopsis "Access the local computer's basic network configuration")
6906 (description "This Haskell library provides simple read-only access to the
6907local computer's networking configuration. It is currently capable of
6908getting a list of all the network interfaces and their respective
6909IPv4, IPv6 and MAC addresses.")
6910 (license license:bsd-3)))
6911
6912(define-public ghc-network-uri
6913 (package
6914 (name "ghc-network-uri")
6915 (version "2.6.1.0")
6916 (outputs '("out" "doc"))
6917 (source
6918 (origin
6919 (method url-fetch)
6920 (uri (string-append
6921 "https://hackage.haskell.org/package/network-uri/network-uri-"
6922 version
6923 ".tar.gz"))
6924 (sha256
6925 (base32
6926 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
6927 (build-system haskell-build-system)
6928 (arguments
6929 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
6930 (inputs
6931 `(("ghc-network" ,ghc-network)))
6932 (native-inputs
6933 `(("ghc-hunit" ,ghc-hunit)))
6934 (home-page
6935 "https://github.com/haskell/network-uri")
6936 (synopsis "Library for URI manipulation")
6937 (description "This package provides an URI manipulation interface. In
6938@code{network-2.6} the @code{Network.URI} module was split off from the
6939@code{network} package into this package.")
6940 (license license:bsd-3)))
6941
6942(define-public ghc-newtype-generics
6943 (package
6944 (name "ghc-newtype-generics")
c07e16dd 6945 (version "0.5.4")
dddbc90c
RV
6946 (source
6947 (origin
6948 (method url-fetch)
6949 (uri (string-append "https://hackage.haskell.org/package/"
6950 "newtype-generics/newtype-generics-"
6951 version ".tar.gz"))
6952 (sha256
6953 (base32
c07e16dd 6954 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
6955 (build-system haskell-build-system)
6956 (native-inputs
6957 `(("ghc-hspec" ,ghc-hspec)
6958 ("hspec-discover" ,hspec-discover)))
6959 (home-page "http://github.com/sjakobi/newtype-generics")
6960 (synopsis "Typeclass and set of functions for working with newtypes")
6961 (description "The @code{Newtype} typeclass represents the packing and
6962unpacking of a newtype, and allows you to operate under that newtype with
6963functions such as @code{ala}. Generics support was added in version 0.4,
6964making this package a full replacement for the original newtype package,
6965and an alternative to newtype-th.")
6966 (license license:bsd-3)))
6967
6b652f5a
JS
6968(define-public ghc-non-negative
6969 (package
6970 (name "ghc-non-negative")
6971 (version "0.1.2")
6972 (source
6973 (origin
6974 (method url-fetch)
6975 (uri
6976 (string-append
6977 "https://hackage.haskell.org/package/non-negative/non-negative-"
6978 version ".tar.gz"))
6979 (sha256
6980 (base32
6981 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
6982 (build-system haskell-build-system)
6983 (inputs
6984 `(("ghc-semigroups" ,ghc-semigroups)
6985 ("ghc-utility-ht" ,ghc-utility-ht)
6986 ("ghc-quickcheck" ,ghc-quickcheck)))
6987 (home-page "https://hackage.haskell.org/package/non-negative")
6988 (synopsis "Non-negative numbers class")
6989 (description "This library provides a class for non-negative numbers,
6990a wrapper which can turn any ordered numeric type into a member of that
6991class, and a lazy number type for non-negative numbers (a generalization
6992of Peano numbers).")
6993 (license license:gpl3+)))
6994
dddbc90c
RV
6995(define-public ghc-objectname
6996 (package
6997 (name "ghc-objectname")
6998 (version "1.1.0.1")
6999 (source
7000 (origin
7001 (method url-fetch)
7002 (uri (string-append
7003 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
7004 version
7005 ".tar.gz"))
7006 (sha256
7007 (base32
7008 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
7009 (build-system haskell-build-system)
7010 (home-page "https://hackage.haskell.org/package/ObjectName")
7011 (synopsis "Helper library for Haskell OpenGL")
7012 (description "This tiny package contains the class ObjectName, which
7013corresponds to the general notion of explicitly handled identifiers for API
7014objects, e.g. a texture object name in OpenGL or a buffer object name in
7015OpenAL.")
7016 (license license:bsd-3)))
7017
7018(define-public ghc-old-locale
7019 (package
7020 (name "ghc-old-locale")
7021 (version "1.0.0.7")
7022 (source
7023 (origin
7024 (method url-fetch)
7025 (uri (string-append
7026 "https://hackage.haskell.org/package/old-locale/old-locale-"
7027 version
7028 ".tar.gz"))
7029 (sha256
7030 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7031 (build-system haskell-build-system)
7032 (arguments
7033 `(#:cabal-revision
7034 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7035 (home-page "https://hackage.haskell.org/package/old-locale")
7036 (synopsis "Adapt to locale conventions")
7037 (description
7038 "This package provides the ability to adapt to locale conventions such as
7039date and time formats.")
7040 (license license:bsd-3)))
7041
7042(define-public ghc-old-time
7043 (package
7044 (name "ghc-old-time")
7045 (version "1.1.0.3")
7046 (source
7047 (origin
7048 (method url-fetch)
7049 (uri (string-append
7050 "https://hackage.haskell.org/package/old-time/old-time-"
7051 version
7052 ".tar.gz"))
7053 (sha256
7054 (base32
7055 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7056 (build-system haskell-build-system)
7057 (arguments
7058 `(#:cabal-revision
7059 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7060 (inputs
7061 `(("ghc-old-locale" ,ghc-old-locale)))
7062 (home-page "https://hackage.haskell.org/package/old-time")
7063 (synopsis "Time compatibility library for Haskell")
7064 (description "Old-time is a package for backwards compatibility with the
7065old @code{time} library. For new projects, the newer
7066@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7067 (license license:bsd-3)))
7068
7069(define-public ghc-opengl
7070 (package
7071 (name "ghc-opengl")
7072 (version "3.0.2.2")
7073 (source
7074 (origin
7075 (method url-fetch)
7076 (uri (string-append
7077 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7078 version
7079 ".tar.gz"))
7080 (sha256
7081 (base32
7082 "19vxwvx2n8zq2klj176l25n2b64ybp0b8mhm4p46gvpcivz41fjc"))))
7083 (build-system haskell-build-system)
7084 (inputs
7085 `(("ghc-objectname" ,ghc-objectname)
7086 ("ghc-gluraw" ,ghc-gluraw)
7087 ("ghc-statevar" ,ghc-statevar)
7088 ("ghc-openglraw" ,ghc-openglraw)))
7089 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7090 (synopsis "Haskell bindings for the OpenGL graphics system")
7091 (description "This package provides Haskell bindings for the OpenGL
7092graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7093version 1.3).")
7094 (license license:bsd-3)))
7095
7096(define-public ghc-openglraw
7097 (package
7098 (name "ghc-openglraw")
15ebc815 7099 (version "3.3.3.0")
dddbc90c
RV
7100 (source
7101 (origin
7102 (method url-fetch)
7103 (uri (string-append
7104 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7105 version
7106 ".tar.gz"))
7107 (sha256
7108 (base32
15ebc815 7109 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
7110 (build-system haskell-build-system)
7111 (inputs
7112 `(("ghc-half" ,ghc-half)
7113 ("ghc-fixed" ,ghc-fixed)
7114 ("glu" ,glu)))
7115 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7116 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7117 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7118graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7119of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7120offers access to all necessary functions, tokens and types plus a general
7121facility for loading extension entries. The module hierarchy closely mirrors
7122the naming structure of the OpenGL extensions, making it easy to find the
7123right module to import. All API entries are loaded dynamically, so no special
7124C header files are needed for building this package. If an API entry is not
7125found at runtime, a userError is thrown.")
7126 (license license:bsd-3)))
7127
7128(define-public ghc-operational
7129 (package
7130 (name "ghc-operational")
7131 (version "0.2.3.5")
7132 (source
7133 (origin
7134 (method url-fetch)
7135 (uri (string-append "https://hackage.haskell.org/package/operational/"
7136 "operational-" version ".tar.gz"))
7137 (sha256
7138 (base32
7139 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7140 (build-system haskell-build-system)
7141 (inputs
7142 `(("ghc-random" ,ghc-random)))
7143 (home-page "http://wiki.haskell.org/Operational")
7144 (synopsis "Implementation of difficult monads made easy with operational semantics")
7145 (description
7146 "This library makes it easy to implement monads with tricky control
7147flow. This is useful for: writing web applications in a sequential style,
7148programming games with a uniform interface for human and AI players and easy
7149replay capababilities, implementing fast parser monads, designing monadic
7150DSLs, etc.")
7151 (license license:bsd-3)))
7152
7153(define-public ghc-options
7154 (package
7155 (name "ghc-options")
7156 (version "1.2.1.1")
7157 (source
7158 (origin
7159 (method url-fetch)
7160 (uri (string-append
7161 "https://hackage.haskell.org/package/options/options-"
7162 version ".tar.gz"))
7163 (sha256
7164 (base32
7165 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7166 (build-system haskell-build-system)
7167 (inputs
7168 `(("ghc-monads-tf" ,ghc-monads-tf)
7169 ("ghc-chell" ,ghc-chell)
7170 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7171 (home-page "https://john-millikin.com/software/haskell-options/")
7172 (synopsis "Powerful and easy-to-use command-line option parser")
7173 (description
7174 "The @code{options} package lets library and application developers
7175easily work with command-line options.")
7176 (license license:expat)))
7177
7178;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7179(define ghc-options-bootstrap
7180 (package
7181 (name "ghc-options-bootstrap")
7182 (version "1.2.1.1")
7183 (source
7184 (origin
7185 (method url-fetch)
7186 (uri (string-append
7187 "https://hackage.haskell.org/package/options/options-"
7188 version ".tar.gz"))
7189 (sha256
7190 (base32
7191 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7192 (build-system haskell-build-system)
7193 (arguments
7194 `(#:tests? #f))
7195 (inputs
7196 `(("ghc-monads-tf" ,ghc-monads-tf)))
7197 (home-page "https://john-millikin.com/software/haskell-options/")
7198 (synopsis "Powerful and easy-to-use command-line option parser")
7199 (description
7200 "The @code{options} package lets library and application developers
7201easily work with command-line options.")
7202 (license license:expat)))
7203
7204
7205(define-public ghc-optparse-applicative
7206 (package
7207 (name "ghc-optparse-applicative")
74bf6965 7208 (version "0.14.3.0")
dddbc90c
RV
7209 (source
7210 (origin
7211 (method url-fetch)
7212 (uri (string-append
7213 "https://hackage.haskell.org/package/optparse-applicative"
7214 "/optparse-applicative-" version ".tar.gz"))
7215 (sha256
7216 (base32
74bf6965 7217 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 7218 (build-system haskell-build-system)
74bf6965
TS
7219 (arguments
7220 `(#:cabal-revision
7221 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
7222 (inputs
7223 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7224 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7225 (native-inputs
7226 `(("ghc-quickcheck" ,ghc-quickcheck)))
7227 (home-page "https://github.com/pcapriotti/optparse-applicative")
7228 (synopsis "Utilities and combinators for parsing command line options")
7229 (description "This package provides utilities and combinators for parsing
7230command line options in Haskell.")
7231 (license license:bsd-3)))
7232
7233(define-public ghc-pandoc
7234 (package
7235 (name "ghc-pandoc")
7236 (version "2.2.1")
7237 (source
7238 (origin
7239 (method url-fetch)
7240 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7241 version ".tar.gz"))
7242 (sha256
7243 (base32
7244 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
7245 (build-system haskell-build-system)
7246 (arguments
7247 `(#:phases
7248 (modify-phases %standard-phases
7249 (add-before 'configure 'update-constraints
7250 (lambda _
7251 (substitute* "pandoc.cabal"
7252 (("tasty >= 0\\.11 && < 1\\.1")
7253 "tasty >= 0.11 && < 1.1.1"))))
7254 (add-before 'configure 'patch-tests
7255 (lambda _
7256 ;; These tests fail benignly and have been adjusted upstream:
7257 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
7258 (substitute* "test/Tests/Old.hs"
7259 (("lhsWriterTests \"html\"") "[]")))))))
7260 (inputs
7261 `(("ghc-aeson" ,ghc-aeson)
7262 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7263 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7264 ("ghc-blaze-html" ,ghc-blaze-html)
7265 ("ghc-blaze-markup" ,ghc-blaze-markup)
7266 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7267 ("ghc-data-default" ,ghc-data-default)
7268 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7269 ("ghc-diff" ,ghc-diff)
7270 ("ghc-doctemplates" ,ghc-doctemplates)
7271 ("ghc-executable-path" ,ghc-executable-path)
7272 ("ghc-glob" ,ghc-glob)
7273 ("ghc-haddock-library" ,ghc-haddock-library)
7274 ("ghc-hslua" ,ghc-hslua)
7275 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7276 ("ghc-http" ,ghc-http)
7277 ("ghc-http-client" ,ghc-http-client)
7278 ("ghc-http-client-tls" ,ghc-http-client-tls)
7279 ("ghc-http-types" ,ghc-http-types)
7280 ("ghc-juicypixels" ,ghc-juicypixels)
7281 ("ghc-network" ,ghc-network)
7282 ("ghc-network-uri" ,ghc-network-uri)
7283 ("ghc-old-locale" ,ghc-old-locale)
7284 ("ghc-pandoc-types" ,ghc-pandoc-types)
7285 ("ghc-random" ,ghc-random)
7286 ("ghc-scientific" ,ghc-scientific)
7287 ("ghc-sha" ,ghc-sha)
7288 ("ghc-skylighting" ,ghc-skylighting)
7289 ("ghc-split" ,ghc-split)
7290 ("ghc-syb" ,ghc-syb)
7291 ("ghc-tagsoup" ,ghc-tagsoup)
7292 ("ghc-temporary" ,ghc-temporary)
7293 ("ghc-texmath" ,ghc-texmath)
7294 ("ghc-unordered-containers" ,ghc-unordered-containers)
7295 ("ghc-vector" ,ghc-vector)
7296 ("ghc-xml" ,ghc-xml)
7297 ("ghc-yaml" ,ghc-yaml)
7298 ("ghc-zip-archive" ,ghc-zip-archive)
7299 ("ghc-zlib" ,ghc-zlib)))
7300 (native-inputs
7301 `(("ghc-tasty" ,ghc-tasty)
7302 ("ghc-tasty-golden" ,ghc-tasty-golden)
7303 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7304 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7305 ("ghc-quickcheck" ,ghc-quickcheck)
7306 ("ghc-hunit" ,ghc-hunit)))
7307 (home-page "https://pandoc.org")
7308 (synopsis "Conversion between markup formats")
7309 (description
7310 "Pandoc is a Haskell library for converting from one markup format to
7311another, and a command-line tool that uses this library. It can read and
7312write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7313LaTeX, DocBook, and many more.
7314
7315Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7316definition lists, tables, and other features. A compatibility mode is
7317provided for those who need a drop-in replacement for Markdown.pl.")
7318 (license license:gpl2+)))
7319
7320(define-public ghc-pandoc-citeproc
7321 (package
7322 (name "ghc-pandoc-citeproc")
7323 (version "0.14.3.1")
7324 (source
7325 (origin
7326 (method url-fetch)
7327 (uri (string-append "https://hackage.haskell.org/package/"
7328 "pandoc-citeproc/pandoc-citeproc-"
7329 version ".tar.gz"))
7330 (sha256
7331 (base32
7332 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7333 (build-system haskell-build-system)
7334 (arguments
7335 `(#:phases
7336 (modify-phases %standard-phases
7337 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7338 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7339 (add-before 'configure 'patch-tests
7340 (lambda _
7341 (substitute* "tests/test-pandoc-citeproc.hs"
7342 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7343 "let allTests = citeprocTests"))))
7344 ;; Tests need to be run after installation.
7345 (delete 'check)
7346 (add-after 'install 'post-install-check
7347 (assoc-ref %standard-phases 'check)))))
7348 (inputs
7349 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7350 ("ghc-pandoc" ,ghc-pandoc)
7351 ("ghc-tagsoup" ,ghc-tagsoup)
7352 ("ghc-aeson" ,ghc-aeson)
7353 ("ghc-vector" ,ghc-vector)
7354 ("ghc-xml-conduit" ,ghc-xml-conduit)
7355 ("ghc-unordered-containers" ,ghc-unordered-containers)
7356 ("ghc-data-default" ,ghc-data-default)
7357 ("ghc-setenv" ,ghc-setenv)
7358 ("ghc-split" ,ghc-split)
7359 ("ghc-yaml" ,ghc-yaml)
7360 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7361 ("ghc-rfc5051" ,ghc-rfc5051)
7362 ("ghc-syb" ,ghc-syb)
7363 ("ghc-old-locale" ,ghc-old-locale)
7364 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7365 ("ghc-attoparsec" ,ghc-attoparsec)
7366 ("ghc-temporary" ,ghc-temporary)))
7367 (home-page "https://github.com/jgm/pandoc-citeproc")
7368 (synopsis "Library for using pandoc with citeproc")
7369 (description
7370 "The @code{pandoc-citeproc} library exports functions for using the
7371citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7372rendering bibliographic reference citations into a variety of styles using a
7373macro language called @dfn{Citation Style Language} (CSL). This package also
7374contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7375and also has a mode for converting bibliographic databases a YAML format
7376suitable for inclusion in pandoc YAML metadata.")
7377 (license license:bsd-3)))
7378
7379(define-public ghc-pandoc-types
7380 (package
7381 (name "ghc-pandoc-types")
7382 (version "1.17.5.1")
7383 (source (origin
7384 (method url-fetch)
7385 (uri (string-append "https://hackage.haskell.org/package/"
7386 "pandoc-types/pandoc-types-"
7387 version ".tar.gz"))
7388 (sha256
7389 (base32
7390 "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
7391 (build-system haskell-build-system)
7392 (inputs
7393 `(("ghc-syb" ,ghc-syb)
7394 ("ghc-aeson" ,ghc-aeson)
7395 ("ghc-string-qq" ,ghc-string-qq)))
7396 (native-inputs
7397 `(("ghc-quickcheck" ,ghc-quickcheck)
7398 ("ghc-test-framework" ,ghc-test-framework)
7399 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7400 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7401 ("ghc-hunit" ,ghc-hunit)))
7402 (home-page "http://johnmacfarlane.net/pandoc")
7403 (synopsis "Types for representing a structured document")
7404 (description
7405 "This module defines the @code{Pandoc} data structure, which is used by
7406pandoc to represent structured documents. It also provides functions for
7407building up, manipulating and serialising @code{Pandoc} structures.")
7408 (license license:bsd-3)))
7409
7410(define-public ghc-parallel
7411 (package
7412 (name "ghc-parallel")
7413 (version "3.2.2.0")
7414 (outputs '("out" "doc"))
7415 (source
7416 (origin
7417 (method url-fetch)
7418 (uri (string-append
7419 "https://hackage.haskell.org/package/parallel/parallel-"
7420 version
7421 ".tar.gz"))
7422 (sha256
7423 (base32
7424 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7425 (build-system haskell-build-system)
7426 (home-page "https://hackage.haskell.org/package/parallel")
7427 (synopsis "Parallel programming library")
7428 (description
7429 "This package provides a library for parallel programming.")
7430 (license license:bsd-3)))
7431
7432(define-public ghc-parsec-numbers
7433 (package
7434 (name "ghc-parsec-numbers")
7435 (version "0.1.0")
7436 (source
7437 (origin
7438 (method url-fetch)
7439 (uri (string-append "https://hackage.haskell.org/package/"
7440 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7441 (sha256
7442 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7443 (build-system haskell-build-system)
7444 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7445 (synopsis "Utilities for parsing numbers from strings")
7446 (description
7447 "This package provides the number parsers without the need to use a large
7448(and unportable) token parser.")
7449 (license license:bsd-3)))
7450
7451(define-public ghc-parser-combinators
7452 (package
7453 (name "ghc-parser-combinators")
2f173160 7454 (version "1.1.0")
dddbc90c
RV
7455 (source
7456 (origin
7457 (method url-fetch)
7458 (uri (string-append "https://hackage.haskell.org/package/"
7459 "parser-combinators/parser-combinators-"
7460 version ".tar.gz"))
7461 (sha256
7462 (base32
2f173160 7463 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
7464 (build-system haskell-build-system)
7465 (home-page "https://github.com/mrkkrp/parser-combinators")
7466 (synopsis "Commonly useful parser combinators")
7467 (description
7468 "This is a lightweight package providing commonly useful parser
7469combinators.")
7470 (license license:bsd-3)))
7471
7472(define-public ghc-parsers
7473 (package
7474 (name "ghc-parsers")
7475 (version "0.12.9")
7476 (source
7477 (origin
7478 (method url-fetch)
7479 (uri (string-append
7480 "https://hackage.haskell.org/package/parsers/parsers-"
7481 version
7482 ".tar.gz"))
7483 (sha256
7484 (base32
7485 "1r05sc1mcglk8w596kq9a1brfn9c2vll8lq16j07ln0vsz4jzrc1"))))
7486 (build-system haskell-build-system)
7487 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7488 ; -package attoparsec-0.13.0.1"
7489 (inputs
7490 `(("ghc-base-orphans" ,ghc-base-orphans)
7491 ("ghc-attoparsec" ,ghc-attoparsec)
7492 ("ghc-scientific" ,ghc-scientific)
7493 ("ghc-charset" ,ghc-charset)
7494 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7495 (home-page "https://github.com/ekmett/parsers/")
7496 (synopsis "Parsing combinators")
7497 (description "This library provides convenient combinators for working
7498with and building parsing combinator libraries. Given a few simple instances,
7499you get access to a large number of canned definitions. Instances exist for
7500the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7501@code{Text.Read}.")
7502 (license license:bsd-3)))
7503
7504(define-public ghc-path
7505 (package
7506 (name "ghc-path")
7507 (version "0.6.1")
7508 (source
7509 (origin
7510 (method url-fetch)
7511 (uri (string-append
7512 "https://hackage.haskell.org/package/path/path-"
7513 version
7514 ".tar.gz"))
7515 (sha256
7516 (base32
7517 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7518 (build-system haskell-build-system)
7519 (arguments
7520 ;; TODO: There are some Windows-related tests and modules that need to be
7521 ;; danced around.
7522 `(#:tests? #f
7523 #:cabal-revision
7524 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7525 (inputs
7526 `(("ghc-aeson" ,ghc-aeson)
7527 ("ghc-exceptions" ,ghc-exceptions)
7528 ("ghc-hashable" ,ghc-hashable)))
7529 (native-inputs
7530 `(("ghc-hspec" ,ghc-hspec)
7531 ("ghc-quickcheck" ,ghc-quickcheck)
7532 ("ghc-genvalidity" ,ghc-genvalidity)
7533 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7534 ("ghc-hspec" ,ghc-hspec)
7535 ("ghc-validity" ,ghc-validity)))
7536 (home-page
7537 "http://hackage.haskell.org/package/path")
7538 (synopsis "Support for well-typed paths")
7539 (description "This package introduces a type for paths upholding useful
7540invariants.")
7541 (license license:bsd-3)))
7542
7543(define-public ghc-path-io
7544 (package
7545 (name "ghc-path-io")
7546 (version "1.3.3")
7547 (source
7548 (origin
7549 (method url-fetch)
7550 (uri (string-append
7551 "https://hackage.haskell.org/package/path-io/path-io-"
7552 version
7553 ".tar.gz"))
7554 (sha256
7555 (base32
7556 "1g9m3qliqjk1img894wsb89diym5zrq51qkkrwhz4sbm9a8hbv1a"))))
7557 (build-system haskell-build-system)
7558 (inputs
7559 `(("ghc-dlist" ,ghc-dlist)
7560 ("ghc-exceptions" ,ghc-exceptions)
7561 ("ghc-path" ,ghc-path)
7562 ("ghc-transformers-base" ,ghc-transformers-base)
7563 ("ghc-unix-compat" ,ghc-unix-compat)
7564 ("ghc-temporary" ,ghc-temporary)))
7565 (native-inputs
7566 `(("ghc-hspec" ,ghc-hspec)))
7567 (arguments
7568 `(#:cabal-revision
7569 ("3" "1h9hsibbflkxpjl2fqamqiv3x3gasf51apnmklrs9l9x8r32hzcc")))
7570 (home-page
7571 "https://github.com/mrkkrp/path-io")
7572 (synopsis "Functions for manipulating well-typed paths")
7573 (description "This package provides an interface to the @code{directory}
7574package for users of @code{path}. It also implements some missing stuff like
7575recursive scanning and copying of directories, working with temporary
7576files/directories, and more.")
7577 (license license:bsd-3)))
7578
7579(define-public ghc-paths
7580 (package
7581 (name "ghc-paths")
9a8adeb1 7582 (version "0.1.0.12")
dddbc90c
RV
7583 (outputs '("out" "doc"))
7584 (source
7585 (origin
7586 (method url-fetch)
7587 (uri (string-append
7588 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7589 version
7590 ".tar.gz"))
7591 (sha256
7592 (base32
9a8adeb1 7593 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
7594 (build-system haskell-build-system)
7595 (home-page "https://github.com/simonmar/ghc-paths")
7596 (synopsis
7597 "Knowledge of GHC's installation directories")
7598 (description
7599 "Knowledge of GHC's installation directories.")
7600 (license license:bsd-3)))
7601
7602(define-public ghc-patience
7603 (package
7604 (name "ghc-patience")
7605 (version "0.1.1")
7606 (source
7607 (origin
7608 (method url-fetch)
7609 (uri (string-append
7610 "https://hackage.haskell.org/package/patience/patience-"
7611 version ".tar.gz"))
7612 (sha256
7613 (base32
7614 "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"))))
7615 (build-system haskell-build-system)
7616 (home-page "https://hackage.haskell.org/package/patience")
7617 (synopsis "Patience diff and longest increasing subsequence")
7618 (description
7619 "This library implements the 'patience diff' algorithm, as well as the
7620patience algorithm for the longest increasing subsequence problem.
7621Patience diff computes the difference between two lists, for example the lines
7622of two versions of a source file. It provides a good balance between
7623performance, nice output for humans, and simplicity of implementation.")
7624 (license license:bsd-3)))
7625
7626(define-public ghc-pcre-light
7627 (package
7628 (name "ghc-pcre-light")
7629 (version "0.4.0.4")
7630 (source
7631 (origin
7632 (method url-fetch)
7633 (uri (string-append
7634 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7635 version
7636 ".tar.gz"))
7637 (sha256
7638 (base32
7639 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7640 (build-system haskell-build-system)
7641 (inputs
7642 `(("pcre" ,pcre)))
7643 (native-inputs
7644 `(("pkg-config" ,pkg-config)))
7645 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7646 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7647 (description "This package provides a small, efficient, and portable regex
7648library for Perl 5 compatible regular expressions. The PCRE library is a set
7649of functions that implement regular expression pattern matching using the same
7650syntax and semantics as Perl 5.")
7651 (license license:bsd-3)))
7652
7653(define-public ghc-persistent
7654 (package
7655 (name "ghc-persistent")
7656 (version "2.8.2")
7657 (source
7658 (origin
7659 (method url-fetch)
7660 (uri (string-append "https://hackage.haskell.org/package/"
7661 "persistent-" version "/"
7662 "persistent-" version ".tar.gz"))
7663 (sha256
7664 (base32
7665 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
7666 (build-system haskell-build-system)
7667 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7668 ("ghc-conduit" ,ghc-conduit)
7669 ("ghc-resourcet" ,ghc-resourcet)
7670 ("ghc-exceptions" ,ghc-exceptions)
7671 ("ghc-monad-control" ,ghc-monad-control)
7672 ("ghc-lifted-base" ,ghc-lifted-base)
7673 ("ghc-resource-pool" ,ghc-resource-pool)
7674 ("ghc-path-pieces" ,ghc-path-pieces)
7675 ("ghc-http-api-data" ,ghc-http-api-data)
7676 ("ghc-aeson" ,ghc-aeson)
7677 ("ghc-monad-logger" ,ghc-monad-logger)
7678 ("ghc-transformers-base" ,ghc-transformers-base)
7679 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7680 ("ghc-unordered-containers" ,ghc-unordered-containers)
7681 ("ghc-vector" ,ghc-vector)
7682 ("ghc-attoparsec" ,ghc-attoparsec)
7683 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7684 ("ghc-blaze-html" ,ghc-blaze-html)
7685 ("ghc-blaze-markup" ,ghc-blaze-markup)
7686 ("ghc-silently" ,ghc-silently)
7687 ("ghc-fast-logger" ,ghc-fast-logger)
7688 ("ghc-scientific" ,ghc-scientific)
7689 ("ghc-tagged" ,ghc-tagged)
7690 ("ghc-void" ,ghc-void)))
7691 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7692 (home-page "https://www.yesodweb.com/book/persistent")
7693 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7694 (description "This Haskell package allows Haskell programs to access data
7695storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7696way.")
7697 (license license:expat)))
7698
7699(define-public ghc-persistent-sqlite
7700 (package
7701 (name "ghc-persistent-sqlite")
7702 (version "2.8.2")
7703 (source
7704 (origin
7705 (method url-fetch)
7706 (uri (string-append "https://hackage.haskell.org/package/"
7707 "persistent-sqlite-" version "/"
7708 "persistent-sqlite-" version ".tar.gz"))
7709 (sha256
7710 (base32
7711 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7712 (build-system haskell-build-system)
7713 (inputs `(("ghc-persistent" ,ghc-persistent)
7714 ("ghc-unliftio-core" ,ghc-unliftio-core)
7715 ("ghc-aeson" ,ghc-aeson)
7716 ("ghc-conduit" ,ghc-conduit)
7717 ("ghc-monad-logger" ,ghc-monad-logger)
7718 ("ghc-microlens-th" ,ghc-microlens-th)
7719 ("ghc-resourcet" ,ghc-resourcet)
7720 ("ghc-old-locale" ,ghc-old-locale)
7721 ("ghc-resource-pool" ,ghc-resource-pool)
7722 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7723 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7724 ("ghc-persistent-template" ,ghc-persistent-template)
7725 ("ghc-temporary" ,ghc-temporary)))
7726 (home-page
7727 "https://www.yesodweb.com/book/persistent")
7728 (synopsis "Backend for the persistent library using sqlite3")
7729 (description "This Haskell package includes a thin sqlite3 wrapper based
7730on the direct-sqlite package, as well as the entire C library, so there are no
7731system dependencies.")
7732 (license license:expat)))
7733
7734(define-public ghc-persistent-template
7735 (package
7736 (name "ghc-persistent-template")
7737 (version "2.5.4")
7738 (source
7739 (origin
7740 (method url-fetch)
7741 (uri (string-append "https://hackage.haskell.org/package/"
7742 "persistent-template-" version "/"
7743 "persistent-template-" version ".tar.gz"))
7744 (sha256
7745 (base32
7746 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7747 (build-system haskell-build-system)
7748 (arguments
7749 `(#:cabal-revision
7750 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7751 (inputs `(("ghc-persistent" ,ghc-persistent)
7752 ("ghc-monad-control" ,ghc-monad-control)
7753 ("ghc-aeson" ,ghc-aeson)
7754 ("ghc-aeson-compat" ,ghc-aeson-compat)
7755 ("ghc-monad-logger" ,ghc-monad-logger)
7756 ("ghc-unordered-containers" ,ghc-unordered-containers)
7757 ("ghc-tagged" ,ghc-tagged)
7758 ("ghc-path-pieces" ,ghc-path-pieces)
7759 ("ghc-http-api-data" ,ghc-http-api-data)))
7760 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7761 ("ghc-quickcheck" ,ghc-quickcheck)))
7762 (home-page "https://www.yesodweb.com/book/persistent")
7763 (synopsis "Type-safe, non-relational, multi-backend persistence")
7764 (description "This Haskell package provides interfaces and helper
7765functions for the ghc-persistent package.")
7766 (license license:expat)))
7767
7768(define-public ghc-polyparse
7769 (package
7770 (name "ghc-polyparse")
9822b9ca 7771 (version "1.12.1")
dddbc90c
RV
7772 (source
7773 (origin
7774 (method url-fetch)
7775 (uri (string-append
7776 "https://hackage.haskell.org/package/polyparse/polyparse-"
7777 version
7778 ".tar.gz"))
7779 (sha256
7780 (base32
9822b9ca 7781 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
7782 (build-system haskell-build-system)
7783 (home-page
7784 "http://code.haskell.org/~malcolm/polyparse/")
7785 (synopsis
7786 "Alternative parser combinator libraries")
7787 (description
7788 "This package provides a variety of alternative parser combinator
7789libraries, including the original HuttonMeijer set. The Poly sets have
7790features like good error reporting, arbitrary token type, running state, lazy
7791parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7792standard Read class, for better deserialisation of Haskell values from
7793Strings.")
7794 (license license:lgpl2.1)))
7795
7796(define-public ghc-pqueue
7797 (package
7798 (name "ghc-pqueue")
142415b0 7799 (version "1.4.1.2")
dddbc90c
RV
7800 (source
7801 (origin
7802 (method url-fetch)
7803 (uri (string-append "https://hackage.haskell.org/package/"
7804 "pqueue/pqueue-" version ".tar.gz"))
7805 (sha256
7806 (base32
142415b0 7807 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
7808 (build-system haskell-build-system)
7809 (native-inputs
7810 `(("ghc-quickcheck" ,ghc-quickcheck)))
7811 (home-page "https://hackage.haskell.org/package/pqueue")
7812 (synopsis "Reliable, persistent, fast priority queues")
7813 (description
7814 "This package provides a fast, reliable priority queue implementation
7815based on a binomial heap.")
7816 (license license:bsd-3)))
7817
7818(define-public ghc-prelude-extras
7819 (package
7820 (name "ghc-prelude-extras")
7821 (version "0.4.0.3")
7822 (source
7823 (origin
7824 (method url-fetch)
7825 (uri (string-append
7826 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7827 version
7828 ".tar.gz"))
7829 (sha256
7830 (base32
7831 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7832 (build-system haskell-build-system)
7833 (home-page "https://github.com/ekmett/prelude-extras")
7834 (synopsis "Higher order versions of Prelude classes")
7835 (description "This library provides higher order versions of
7836@code{Prelude} classes to ease programming with polymorphic recursion and
7837reduce @code{UndecidableInstances}.")
7838 (license license:bsd-3)))
7839
7840(define-public ghc-prettyclass
7841 (package
7842 (name "ghc-prettyclass")
7843 (version "1.0.0.0")
7844 (source
7845 (origin
7846 (method url-fetch)
7847 (uri (string-append "https://hackage.haskell.org/package/"
7848 "prettyclass/prettyclass-" version ".tar.gz"))
7849 (sha256
7850 (base32
7851 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7852 (build-system haskell-build-system)
7853 (home-page "http://hackage.haskell.org/package/prettyclass")
7854 (synopsis "Pretty printing class similar to Show")
7855 (description "This package provides a pretty printing class similar
7856to @code{Show}, based on the HughesPJ pretty printing library. It
7857provides the pretty printing class and instances for the Prelude
7858types.")
7859 (license license:bsd-3)))
7860
7861(define-public ghc-pretty-hex
7862 (package
7863 (name "ghc-pretty-hex")
7864 (version "1.0")
7865 (source
7866 (origin
7867 (method url-fetch)
7868 (uri (string-append "https://hackage.haskell.org/package/"
7869 "pretty-hex-" version "/"
7870 "pretty-hex-" version ".tar.gz"))
7871 (sha256
7872 (base32
7873 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7874 (build-system haskell-build-system)
7875 (home-page "https://github.com/GaloisInc/hexdump")
7876 (synopsis "Haskell library for hex dumps of ByteStrings")
7877 (description "This Haskell library generates pretty hex dumps of
7878ByteStrings in the style of other common *nix hex dump tools.")
7879 (license license:bsd-3)))
7880
7881(define-public ghc-pretty-show
7882 (package
7883 (name "ghc-pretty-show")
7683a084 7884 (version "1.9.5")
dddbc90c
RV
7885 (source
7886 (origin
7887 (method url-fetch)
7888 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
7889 "pretty-show-" version ".tar.gz"))
7890 (sha256
7891 (base32
7683a084 7892 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
7893 (build-system haskell-build-system)
7894 (inputs
7895 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
7896 ("ghc-happy" ,ghc-happy)))
7897 (home-page "http://wiki.github.com/yav/pretty-show")
7898 (synopsis "Tools for working with derived `Show` instances")
7899 (description
7900 "This package provides a library and an executable for working with
7901derived @code{Show} instances. By using the library, derived @code{Show}
7902instances can be parsed into a generic data structure. The @code{ppsh} tool
7903uses the library to produce human-readable versions of @code{Show} instances,
7904which can be quite handy for debugging Haskell programs. We can also render
7905complex generic values into an interactive Html page, for easier
7906examination.")
7907 (license license:expat)))
7908
7909(define-public ghc-primitive
7910 (package
7911 (name "ghc-primitive")
7912 (version "0.6.4.0")
7913 (outputs '("out" "doc"))
7914 (source
7915 (origin
7916 (method url-fetch)
7917 (uri (string-append
7918 "https://hackage.haskell.org/package/primitive/primitive-"
7919 version
7920 ".tar.gz"))
7921 (sha256
7922 (base32
7923 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
7924 (build-system haskell-build-system)
6cf0daa4
TS
7925 (arguments
7926 `(#:cabal-revision
7927 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
7928 (home-page
7929 "https://github.com/haskell/primitive")
7930 (synopsis "Primitive memory-related operations")
7931 (description
7932 "This package provides various primitive memory-related operations.")
7933 (license license:bsd-3)))
7934
21f5b9a9
JS
7935(define-public ghc-process-extras
7936 (package
7937 (name "ghc-process-extras")
7938 (version "0.7.4")
7939 (source
7940 (origin
7941 (method url-fetch)
7942 (uri
7943 (string-append
7944 "https://hackage.haskell.org/package/process-extras/"
7945 "process-extras-" version ".tar.gz"))
7946 (sha256
7947 (base32
7948 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
7949 (build-system haskell-build-system)
7950 (inputs
7951 `(("ghc-data-default" ,ghc-data-default)
7952 ("ghc-generic-deriving" ,ghc-generic-deriving)
7953 ("ghc-hunit" ,ghc-hunit)
7954 ("ghc-listlike" ,ghc-listlike)))
7955 (home-page "https://github.com/seereason/process-extras")
7956 (synopsis "Extra tools for managing processes")
f74b6983 7957 (description "This package extends
21f5b9a9
JS
7958@url{http://hackage.haskell.org/package/process}. It allows you to read
7959process input and output as ByteStrings or Text, or write your own
7960ProcessOutput instance. It also provides lazy process input and output,
7961and a ProcessMaker class for more flexibility in the process creation
7962API.")
7963 (license license:expat)))
7964
dddbc90c
RV
7965(define-public ghc-profunctors
7966 (package
7967 (name "ghc-profunctors")
7968 (version "5.2.2")
7969 (source
7970 (origin
7971 (method url-fetch)
7972 (uri (string-append
7973 "https://hackage.haskell.org/package/profunctors/profunctors-"
7974 version
7975 ".tar.gz"))
7976 (sha256
7977 (base32
7978 "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9"))))
7979 (build-system haskell-build-system)
7980 (arguments
7981 `(#:cabal-revision
7982 ("2" "1ywlg9z8nlhd2avgb8c6gbkv8zyk7hvc25926bafyg0m0k8y1amq")))
7983 (inputs
7984 `(("ghc-base-orphans" ,ghc-base-orphans)
7985 ("ghc-bifunctors" ,ghc-bifunctors)
7986 ("ghc-comonad" ,ghc-comonad)
7987 ("ghc-contravariant" ,ghc-contravariant)
7988 ("ghc-distributive" ,ghc-distributive)
7989 ("ghc-semigroups" ,ghc-semigroups)
7990 ("ghc-tagged" ,ghc-tagged)))
7991 (home-page "https://github.com/ekmett/profunctors/")
7992 (synopsis "Profunctors for Haskell")
7993 (description "This library provides profunctors for Haskell.")
7994 (license license:bsd-3)))
7995
7996(define-public ghc-psqueues
7997 (package
7998 (name "ghc-psqueues")
5d133942 7999 (version "0.2.7.2")
dddbc90c
RV
8000 (source
8001 (origin
8002 (method url-fetch)
8003 (uri (string-append "https://hackage.haskell.org/package/"
8004 "psqueues-" version "/"
8005 "psqueues-" version ".tar.gz"))
8006 (sha256
8007 (base32
5d133942 8008 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
8009 (build-system haskell-build-system)
8010 (inputs
8011 `(("ghc-hashable" ,ghc-hashable)))
8012 (native-inputs
8013 `(("ghc-hunit" ,ghc-hunit)
8014 ("ghc-quickcheck" ,ghc-quickcheck)
8015 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
8016 ("ghc-tasty" ,ghc-tasty)
8017 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8018 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
8019 (home-page "https://github.com/jaspervdj/psqueues")
8020 (synopsis "Pure priority search queues")
8021 (description "The psqueues package provides
8022@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
8023three different flavors:
8024
8025@itemize
8026@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8027fast insertion, deletion and lookup. This implementation is based on Ralf
8028Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8029Implementation Technique for Priority Search Queues}.
8030
8031Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
8032PSQueue} library, although it is considerably faster and provides a slightly
8033different API.
8034
8035@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8036key type to @code{Int} and uses a
8037@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8038with an additional min-heap property.
8039
8040@item @code{HashPSQ k p v} is a fairly straightforward extension
8041of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8042@code{IntPSQ}. If there are any hash collisions, it uses an
8043@code{OrdPSQ} to resolve those. The performance of this implementation
8044is comparable to that of @code{IntPSQ}, but it is more widely
8045applicable since the keys are not restricted to @code{Int},
8046but rather to any @code{Hashable} datatype.
8047@end itemize
8048
8049Each of the three implementations provides the same API, so they can
8050be used interchangeably.
8051
8052Typical applications of Priority Search Queues include:
8053
8054@itemize
8055@item Caches, and more specifically LRU Caches;
8056@item Schedulers;
8057@item Pathfinding algorithms, such as Dijkstra's and A*.
8058@end itemize")
8059 (license license:bsd-3)))
8060
8061(define-public ghc-random
8062 (package
8063 (name "ghc-random")
8064 (version "1.1")
8065 (outputs '("out" "doc"))
8066 (source
8067 (origin
8068 (method url-fetch)
8069 (uri (string-append
8070 "https://hackage.haskell.org/package/random/random-"
8071 version
8072 ".tar.gz"))
8073 (sha256
8074 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8075 (build-system haskell-build-system)
8076 (home-page "https://hackage.haskell.org/package/random")
8077 (synopsis "Random number library")
8078 (description "This package provides a basic random number generation
8079library, including the ability to split random number generators.")
8080 (license license:bsd-3)))
8081
8082(define-public ghc-raw-strings-qq
8083 (package
8084 (name "ghc-raw-strings-qq")
8085 (version "1.1")
8086 (source
8087 (origin
8088 (method url-fetch)
8089 (uri (string-append "https://hackage.haskell.org/package/"
8090 "raw-strings-qq/raw-strings-qq-"
8091 version ".tar.gz"))
8092 (sha256
8093 (base32
8094 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8095 (build-system haskell-build-system)
8096 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8097 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8098 (synopsis "Raw string literals for Haskell")
8099 (description
8100 "This package provides a quasiquoter for raw string literals, i.e. string
8101literals that don't recognise the standard escape sequences. Basically, they
8102make your code more readable by freeing you from the responsibility to escape
8103backslashes. They are useful when working with regular expressions,
8104DOS/Windows paths and markup languages (such as XML).")
8105 (license license:bsd-3)))
8106
8107(define-public ghc-readable
8108 (package
8109 (name "ghc-readable")
8110 (version "0.3.1")
8111 (source
8112 (origin
8113 (method url-fetch)
8114 (uri (string-append "https://hackage.haskell.org/package/"
8115 "readable/readable-" version ".tar.gz"))
8116 (sha256
8117 (base32
8118 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8119 (build-system haskell-build-system)
8120 (home-page "https://github.com/mightybyte/readable")
8121 (synopsis "Type class for reading from Text and ByteString")
8122 (description "This package provides a @code{Readable} type class for
8123reading data types from @code{ByteString} and @code{Text}. It also
8124includes efficient implementations for common data types.")
8125 (license license:bsd-3)))
8126
8127(define-public ghc-rebase
8128 (package
8129 (name "ghc-rebase")
8130 (version "1.2.4")
8131 (source
8132 (origin
8133 (method url-fetch)
8134 (uri (string-append "https://hackage.haskell.org/package/"
8135 "rebase-" version "/"
8136 "rebase-" version ".tar.gz"))
8137 (sha256
8138 (base32
8139 "1gah2qwfpzwamnikbc5h4nv6dgvv9h16di9ka7946za3nibyasya"))))
8140 (build-system haskell-build-system)
8141 (inputs `(("ghc-hashable" ,ghc-hashable)
8142 ("ghc-vector" ,ghc-vector)
8143 ("ghc-unordered-containers" ,ghc-unordered-containers)
8144 ("ghc-scientific" ,ghc-scientific)
8145 ("ghc-uuid" ,ghc-uuid)
8146 ("ghc-dlist" ,ghc-dlist)
8147 ("ghc-void" ,ghc-void)
8148 ("ghc-bifunctors" ,ghc-bifunctors)
8149 ("ghc-profunctors" ,ghc-profunctors)
8150 ("ghc-contravariant" ,ghc-contravariant)
8151 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8152 ("ghc-semigroups" ,ghc-semigroups)
8153 ("ghc-either" ,ghc-either)
8154 ("ghc-fail" ,ghc-fail)
8155 ("ghc-base-prelude" ,ghc-base-prelude)))
8156 (home-page "https://github.com/nikita-volkov/rebase")
8157 (synopsis "Progressive alternative to the base package
8158for Haskell")
8159 (description "This Haskell package is intended for those who are
8160tired of keeping long lists of dependencies to the same essential libraries
8161in each package as well as the endless imports of the same APIs all over again.
8162
8163It also supports the modern tendencies in the language.
8164
8165To solve those problems this package does the following:
8166
8167@itemize
8168@item Reexport the original APIs under the @code{Rebase} namespace.
8169
8170@item Export all the possible non-conflicting symbols from the
8171@code{Rebase.Prelude} module.
8172
8173@item Give priority to the modern practices in the conflicting cases.
8174@end itemize
8175
8176The policy behind the package is only to reexport the non-ambiguous and
8177non-controversial APIs, which the community has obviously settled on.
8178The package is intended to rapidly evolve with the contribution from
8179the community, with the missing features being added with pull-requests.")
8180 (license license:expat)))
8181
8182(define-public ghc-reducers
8183 (package
8184 (name "ghc-reducers")
8185 (version "3.12.3")
8186 (source
8187 (origin
8188 (method url-fetch)
8189 (uri (string-append
8190 "https://hackage.haskell.org/package/reducers/reducers-"
8191 version
8192 ".tar.gz"))
8193 (sha256
8194 (base32
8195 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8196 (build-system haskell-build-system)
8197 (inputs
8198 `(("ghc-fingertree" ,ghc-fingertree)
8199 ("ghc-hashable" ,ghc-hashable)
8200 ("ghc-unordered-containers" ,ghc-unordered-containers)
8201 ("ghc-semigroupoids" ,ghc-semigroupoids)
8202 ("ghc-semigroups" ,ghc-semigroups)))
8203 (home-page "https://github.com/ekmett/reducers/")
8204 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8205 (description "This library provides various semigroups, specialized
8206containers and a general map/reduce framework for Haskell.")
8207 (license license:bsd-3)))
8208
8209(define-public ghc-refact
8210 (package
8211 (name "ghc-refact")
8212 (version "0.3.0.2")
8213 (source
8214 (origin
8215 (method url-fetch)
8216 (uri (string-append "https://hackage.haskell.org/package/"
8217 "refact/refact-"
8218 version ".tar.gz"))
8219 (sha256
8220 (base32
8221 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8222 (build-system haskell-build-system)
8223 (home-page "http://hackage.haskell.org/package/refact")
8224 (synopsis "Specify refactorings to perform with apply-refact")
8225 (description
8226 "This library provides a datatype which can be interpreted by
8227@code{apply-refact}. It exists as a separate library so that applications can
8228specify refactorings without depending on GHC.")
8229 (license license:bsd-3)))
8230
8231(define-public ghc-reflection
8232 (package
8233 (name "ghc-reflection")
d215f1cc 8234 (version "2.1.5")
dddbc90c
RV
8235 (source
8236 (origin
8237 (method url-fetch)
8238 (uri (string-append
8239 "https://hackage.haskell.org/package/reflection/reflection-"
8240 version
8241 ".tar.gz"))
8242 (sha256
8243 (base32
d215f1cc 8244 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
8245 (build-system haskell-build-system)
8246 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
8247 (native-inputs
8248 `(("ghc-hspec" ,ghc-hspec)
8249 ("ghc-quickcheck" ,ghc-quickcheck)
8250 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
8251 (home-page "https://github.com/ekmett/reflection")
8252 (synopsis "Reify arbitrary terms into types that can be reflected back
8253into terms")
8254 (description "This package addresses the 'configuration problem' which is
8255propagating configurations that are available at run-time, allowing multiple
8256configurations to coexist without resorting to mutable global variables or
8257@code{System.IO.Unsafe.unsafePerformIO}.")
8258 (license license:bsd-3)))
8259
8260(define-public ghc-regex
8261 (package
8262 (name "ghc-regex")
b9a5e634 8263 (version "1.0.2.0")
dddbc90c
RV
8264 (source
8265 (origin
8266 (method url-fetch)
8267 (uri (string-append "https://hackage.haskell.org/package/regex/"
8268 "regex-" version ".tar.gz"))
8269 (sha256
8270 (base32
b9a5e634 8271 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
8272 (build-system haskell-build-system)
8273 (arguments
8274 `(#:phases
8275 (modify-phases %standard-phases
8276 (add-after 'unpack 'relax-dependencies
8277 (lambda _
8278 (substitute* "regex.cabal"
8279 (("base-compat.*>=.*0.6.*")
8280 "base-compat >= 0.6\n")
8281 (("template-haskell.*>=.*2.7.*")
8282 "template-haskell >= 2.7\n"))
8283 #t)))))
8284 (inputs
8285 `(("ghc-base-compat" ,ghc-base-compat)
8286 ("ghc-hashable" ,ghc-hashable)
8287 ("ghc-regex-base" ,ghc-regex-base)
8288 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8289 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8290 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8291 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8292 ("ghc-unordered-containers" ,ghc-unordered-containers)
8293 ("ghc-utf8-string" ,ghc-utf8-string)))
8294 (home-page "http://regex.uk")
8295 (synopsis "Toolkit for regex-base")
8296 (description
8297 "This package provides a regular expression toolkit for @code{regex-base}
8298with compile-time checking of regular expression syntax, data types for
8299matches and captures, a text replacement toolkit, portable options, high-level
8300AWK-like tools for building text processing apps, regular expression macros
8301with parsers and test bench, comprehensive documentation, tutorials and
8302copious examples.")
8303 (license license:bsd-3)))
8304
8305(define-public ghc-regex-applicative
8306 (package
8307 (name "ghc-regex-applicative")
30f60e42 8308 (version "0.3.3.1")
dddbc90c
RV
8309 (source
8310 (origin
8311 (method url-fetch)
8312 (uri (string-append
8313 "https://hackage.haskell.org/package/regex-applicative/"
8314 "regex-applicative-" version ".tar.gz"))
8315 (sha256
8316 (base32
30f60e42 8317 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
8318 (build-system haskell-build-system)
8319 (inputs
8320 `(("ghc-smallcheck" ,ghc-smallcheck)
8321 ("ghc-tasty" ,ghc-tasty)
8322 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8323 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8324 (home-page "https://github.com/feuerbach/regex-applicative")
8325 (synopsis "Regex-based parsing with applicative interface")
8326 (description
8327 "@code{regex-applicative} is a Haskell library for parsing using
8328regular expressions. Parsers can be built using Applicative interface.")
8329 (license license:expat)))
8330
8331(define-public ghc-regex-base
8332 (package
8333 (name "ghc-regex-base")
8334 (version "0.93.2")
8335 (source
8336 (origin
8337 (method url-fetch)
8338 (uri (string-append
8339 "https://hackage.haskell.org/package/regex-base/regex-base-"
8340 version
8341 ".tar.gz"))
8342 (sha256
8343 (base32
8344 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8345 (build-system haskell-build-system)
8346 (home-page
8347 "https://sourceforge.net/projects/lazy-regex")
8348 (synopsis "Replaces/Enhances Text.Regex")
8349 (description "@code{Text.Regex.Base} provides the interface API for
8350regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8351 (license license:bsd-3)))
8352
8353(define-public ghc-regex-compat
8354 (package
8355 (name "ghc-regex-compat")
8356 (version "0.95.1")
8357 (source
8358 (origin
8359 (method url-fetch)
8360 (uri (string-append
8361 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8362 version
8363 ".tar.gz"))
8364 (sha256
8365 (base32
8366 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8367 (build-system haskell-build-system)
8368 (inputs
8369 `(("ghc-regex-base" ,ghc-regex-base)
8370 ("ghc-regex-posix" ,ghc-regex-posix)))
8371 (home-page "https://sourceforge.net/projects/lazy-regex")
8372 (synopsis "Replaces/Enhances Text.Regex")
8373 (description "This library provides one module layer over
8374@code{regex-posix} to replace @code{Text.Regex}.")
8375 (license license:bsd-3)))
8376
8377(define-public ghc-regex-compat-tdfa
8378 (package
8379 (name "ghc-regex-compat-tdfa")
8380 (version "0.95.1.4")
8381 (source
8382 (origin
8383 (method url-fetch)
8384 (uri (string-append
8385 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8386 version ".tar.gz"))
8387 (sha256
8388 (base32
8389 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8390 (build-system haskell-build-system)
8391 (inputs
8392 `(("ghc-regex-base" ,ghc-regex-base)
8393 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8394 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8395 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8396 (description
8397 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8398@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8399This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8400this problem.")
8401 (license license:bsd-3)))
8402
8403(define-public ghc-regex-pcre-builtin
8404 (package
8405 (name "ghc-regex-pcre-builtin")
ee946143 8406 (version "0.94.5.8.8.35")
dddbc90c
RV
8407 (source (origin
8408 (method url-fetch)
8409 (uri (string-append "https://hackage.haskell.org/package/"
8410 "regex-pcre-builtin/regex-pcre-builtin-"
8411 version ".tar.gz"))
8412 (sha256
8413 (base32
ee946143 8414 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
8415 (build-system haskell-build-system)
8416 (inputs
8417 `(("ghc-regex-base" ,ghc-regex-base)))
8418 (home-page "https://hackage.haskell.org/package/regex-pcre")
8419 (synopsis "Enhancement of the builtin Text.Regex library")
8420 (description
8421 "This package is an enhancement of the @code{Text.Regex} library,
8422providing the PCRE backend to accompany regex-base, with bundled code from
8423@url{https://www.pcre.org}.")
8424 (license license:bsd-3)))
8425
8426(define-public ghc-regex-posix
8427 (package
8428 (name "ghc-regex-posix")
8429 (version "0.95.2")
8430 (source
8431 (origin
8432 (method url-fetch)
8433 (uri (string-append
8434 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8435 version
8436 ".tar.gz"))
8437 (sha256
8438 (base32
8439 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8440 (build-system haskell-build-system)
8441 (inputs
8442 `(("ghc-regex-base" ,ghc-regex-base)))
8443 (home-page "https://sourceforge.net/projects/lazy-regex")
8444 (synopsis "POSIX regular expressions for Haskell")
8445 (description "This library provides the POSIX regex backend used by the
8446Haskell library @code{regex-base}.")
8447 (license license:bsd-3)))
8448
8449(define-public ghc-regex-tdfa
8450 (package
8451 (name "ghc-regex-tdfa")
ce684db0 8452 (version "1.2.3.2")
dddbc90c
RV
8453 (source
8454 (origin
8455 (method url-fetch)
8456 (uri (string-append
8457 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8458 version ".tar.gz"))
8459 (sha256
8460 (base32
ce684db0 8461 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
8462 (build-system haskell-build-system)
8463 (inputs
8464 `(("ghc-regex-base" ,ghc-regex-base)))
8465 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8466 (synopsis "POSIX extended regular expressions in Haskell.")
8467 (description
8468 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8469extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8470inspired by libtre.")
8471 (license license:bsd-3)))
8472
8473(define-public ghc-regex-tdfa-text
8474 (package
8475 (name "ghc-regex-tdfa-text")
8476 (version "1.0.0.3")
8477 (source
8478 (origin
8479 (method url-fetch)
8480 (uri (string-append
8481 "https://hackage.haskell.org/package/regex-tdfa-text/"
8482 "regex-tdfa-text-" version ".tar.gz"))
8483 (sha256
8484 (base32
8485 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8486 (build-system haskell-build-system)
8487 (inputs
8488 `(("ghc-regex-base" ,ghc-regex-base)
8489 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8490 (home-page
8491 "http://hackage.haskell.org/package/regex-tdfa-text")
8492 (synopsis "Text interface for regex-tdfa")
8493 (description
8494 "This provides an extra text interface for regex-tdfa.")
8495 (license license:bsd-3)))
8496
8497(define-public ghc-rerebase
8498 (package
8499 (name "ghc-rerebase")
8500 (version "1.2.2")
8501 (source
8502 (origin
8503 (method url-fetch)
8504 (uri (string-append
8505 "https://hackage.haskell.org/package/rerebase/rerebase-"
8506 version ".tar.gz"))
8507 (sha256
8508 (base32
8509 "11v6rmz7ql2rdx6mhb3lsal952lwihclfhh0m7fcnii5br0906ks"))))
8510 (build-system haskell-build-system)
8511 (inputs
8512 `(("ghc-rebase" ,ghc-rebase)))
8513 (home-page "https://github.com/nikita-volkov/rerebase")
8514 (synopsis "Reexports from ``base'' with many other standard libraries")
8515 (description "A rich drop-in replacement for @code{base}. For details and
8516documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8517the project's home page}.")
8518 (license license:expat)))
8519
8520(define-public ghc-resolv
8521 (package
8522 (name "ghc-resolv")
8523 (version "0.1.1.1")
8524 (source
8525 (origin
8526 (method url-fetch)
8527 (uri (string-append
8528 "https://hackage.haskell.org/package/resolv/resolv-"
8529 version ".tar.gz"))
8530 (sha256
8531 (base32
8532 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
8533 (build-system haskell-build-system)
8534 (arguments
8535 `(#:cabal-revision
8536 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
8537 #:tests? #f)) ; The required test frameworks are too old.
8538 (inputs
8539 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8540 (home-page "https://github.com/haskell/hackage-security")
8541 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8542 (description "This package implements an API for accessing the
8543@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8544resolver service via the standard @code{libresolv} system library (whose
8545API is often available directly via the standard @code{libc} C library) on
8546Unix systems.")
8547 (license license:gpl3)))
8548
8549(define-public ghc-resource-pool
8550 (package
8551 (name "ghc-resource-pool")
8552 (version "0.2.3.2")
8553 (source
8554 (origin
8555 (method url-fetch)
8556 (uri (string-append "https://hackage.haskell.org/package/"
8557 "resource-pool-" version "/"
8558 "resource-pool-" version ".tar.gz"))
8559 (sha256
8560 (base32
8561 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8562 (build-system haskell-build-system)
8563 (inputs `(("ghc-hashable" ,ghc-hashable)
8564 ("ghc-monad-control" ,ghc-monad-control)
8565 ("ghc-transformers-base" ,ghc-transformers-base)
8566 ("ghc-vector" ,ghc-vector)))
8567 (home-page "https://github.com/bos/pool")
8568 (synopsis "Striped resource pooling implementation in Haskell")
8569 (description "This Haskell package provides striped pooling abstraction
8570for managing flexibly-sized collections of resources such as database
8571connections.")
8572 (license license:bsd-3)))
8573
8574(define-public ghc-resourcet
8575 (package
8576 (name "ghc-resourcet")
9ac341ac 8577 (version "1.2.2")
dddbc90c
RV
8578 (source
8579 (origin
8580 (method url-fetch)
8581 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8582 "resourcet-" version ".tar.gz"))
8583 (sha256
8584 (base32
9ac341ac 8585 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
8586 (build-system haskell-build-system)
8587 (inputs
8588 `(("ghc-transformers-base" ,ghc-transformers-base)
8589 ("ghc-monad-control" ,ghc-monad-control)
8590 ("ghc-transformers-compat" ,ghc-transformers-compat)
8591 ("ghc-mmorph" ,ghc-mmorph)
8592 ("ghc-exceptions" ,ghc-exceptions)
8593 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8594 (native-inputs
8595 `(("ghc-lifted-base" ,ghc-lifted-base)
8596 ("ghc-hspec" ,ghc-hspec)))
8597 (home-page "https://github.com/snoyberg/conduit")
8598 (synopsis "Deterministic allocation and freeing of scarce resources")
8599 (description "ResourceT is a monad transformer which creates a region of
8600code where you can safely allocate resources.")
8601 (license license:bsd-3)))
8602
8603(define-public ghc-rfc5051
8604 (package
8605 (name "ghc-rfc5051")
ec42ab7c 8606 (version "0.1.0.4")
dddbc90c
RV
8607 (source
8608 (origin
8609 (method url-fetch)
8610 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8611 "rfc5051-" version ".tar.gz"))
8612 (sha256
8613 (base32
ec42ab7c 8614 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
8615 (build-system haskell-build-system)
8616 (home-page "https://hackage.haskell.org/package/rfc5051")
8617 (synopsis "Simple unicode collation as per RFC5051")
8618 (description
8619 "This library implements @code{unicode-casemap}, the simple, non
8620locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8621unicode collation can be done using @code{text-icu}, but that is a big
8622dependency that depends on a large C library, and @code{rfc5051} might be
8623better for some purposes.")
8624 (license license:bsd-3)))
8625
8626(define-public ghc-rio
8627 (package
8628 (name "ghc-rio")
8629 (version "0.1.5.0")
8630 (source
8631 (origin
8632 (method url-fetch)
8633 (uri (string-append
8634 "https://hackage.haskell.org/package/rio/rio-"
8635 version ".tar.gz"))
8636 (sha256
8637 (base32
8638 "064h8a4hp53a479d3ak0vmqbx8hi0cpg7zn4wp23rjy26dka8p7g"))))
8639 (build-system haskell-build-system)
8640 (inputs
8641 `(("ghc-exceptions" ,ghc-exceptions)
8642 ("ghc-hashable" ,ghc-hashable)
8643 ("ghc-microlens" ,ghc-microlens)
8644 ("ghc-primitive" ,ghc-primitive)
8645 ("ghc-typed-process" ,ghc-typed-process)
8646 ("ghc-unliftio" ,ghc-unliftio)
8647 ("ghc-unordered-containers" ,ghc-unordered-containers)
8648 ("ghc-vector" ,ghc-vector)))
8649 (native-inputs
8650 `(("ghc-hspec" ,ghc-hspec)
8651 ("hspec-discover" ,hspec-discover)))
8652 (home-page "https://github.com/commercialhaskell/rio#readme")
8653 (synopsis "A standard library for Haskell")
8654 (description "This package works as a prelude replacement for Haskell,
8655providing more functionality and types out of the box than the standard
8656prelude (such as common data types like @code{ByteString} and
8657@code{Text}), as well as removing common ``gotchas'', like partial
8658functions and lazy I/O. The guiding principle here is:
8659@itemize
8660@item If something is safe to use in general and has no expected naming
8661conflicts, expose it.
8662@item If something should not always be used, or has naming conflicts,
8663expose it from another module in the hierarchy.
8664@end itemize")
8665 (license license:expat)))
8666
8667(define-public ghc-safe
8668 (package
8669 (name "ghc-safe")
8670 (version "0.3.17")
8671 (source
8672 (origin
8673 (method url-fetch)
8674 (uri (string-append
8675 "https://hackage.haskell.org/package/safe/safe-"
8676 version
8677 ".tar.gz"))
8678 (sha256
8679 (base32
8680 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8681 (build-system haskell-build-system)
8682 (native-inputs
8683 `(("ghc-quickcheck" ,ghc-quickcheck)))
8684 (home-page "https://github.com/ndmitchell/safe#readme")
8685 (synopsis "Library of safe (exception free) functions")
8686 (description "This library provides wrappers around @code{Prelude} and
8687@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8688exceptions.")
8689 (license license:bsd-3)))
8690
8691(define-public ghc-safe-exceptions
8692 (package
8693 (name "ghc-safe-exceptions")
8694 (version "0.1.7.0")
8695 (source
8696 (origin
8697 (method url-fetch)
8698 (uri (string-append "https://hackage.haskell.org/package/"
8699 "safe-exceptions/safe-exceptions-"
8700 version ".tar.gz"))
8701 (sha256
8702 (base32
8703 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8704 (build-system haskell-build-system)
8705 (arguments
8706 '(#:cabal-revision
8707 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8708 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8709 (native-inputs
8710 `(("ghc-hspec" ,ghc-hspec)
8711 ("ghc-void" ,ghc-void)
8712 ("hspec-discover" ,hspec-discover)))
8713 (home-page "https://github.com/fpco/safe-exceptions")
8714 (synopsis "Safe, consistent, and easy exception handling")
8715 (description "Runtime exceptions - as exposed in @code{base} by the
8716@code{Control.Exception} module - have long been an intimidating part of the
8717Haskell ecosystem. This package is intended to overcome this. It provides a
8718safe and simple API on top of the existing exception handling machinery. The
8719API is equivalent to the underlying implementation in terms of power but
8720encourages best practices to minimize the chances of getting the exception
8721handling wrong.")
8722 (license license:expat)))
8723
8724(define-public ghc-safeio
8725 (package
8726 (name "ghc-safeio")
8727 (version "0.0.5.0")
8728 (source
8729 (origin
8730 (method url-fetch)
8731 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8732 "safeio-" version ".tar.gz"))
8733 (sha256
8734 (base32
8735 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8736 (build-system haskell-build-system)
8737 (inputs
8738 `(("ghc-conduit" ,ghc-conduit)
8739 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8740 ("ghc-exceptions" ,ghc-exceptions)
8741 ("ghc-resourcet" ,ghc-resourcet)))
8742 (native-inputs
8743 `(("ghc-hunit" ,ghc-hunit)
8744 ("ghc-test-framework" ,ghc-test-framework)
8745 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8746 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8747 (home-page "https://github.com/luispedro/safeio")
8748 (synopsis "Write output to disk atomically")
8749 (description
8750 "This package implements utilities to perform atomic output so as to
8751avoid the problem of partial intermediate files.")
8752 (license license:expat)))
8753
8754(define-public ghc-safesemaphore
8755 (package
8756 (name "ghc-safesemaphore")
8757 (version "0.10.1")
8758 (source
8759 (origin
8760 (method url-fetch)
8761 (uri (string-append "https://hackage.haskell.org/package/"
8762 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8763 (sha256
8764 (base32
8765 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8766 (build-system haskell-build-system)
8767 (native-inputs
8768 `(("ghc-hunit" ,ghc-hunit)))
8769 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8770 (synopsis "Exception safe semaphores")
8771 (description "This library provides exception safe semaphores that can be
8772used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8773are not exception safe and can be broken by @code{killThread}.")
8774 (license license:bsd-3)))
8775
8776(define-public ghc-sandi
8777 (package
8778 (name "ghc-sandi")
8779 (version "0.4.2")
8780 (source
8781 (origin
8782 (method url-fetch)
8783 (uri (string-append
8784 "https://hackage.haskell.org/package/sandi/sandi-"
8785 version ".tar.gz"))
8786 (sha256
8787 (base32
8788 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8789 (build-system haskell-build-system)
8790 (inputs
8791 `(("ghc-stringsearch" ,ghc-stringsearch)
8792 ("ghc-conduit" ,ghc-conduit)
8793 ("ghc-exceptions" ,ghc-exceptions)
8794 ("ghc-hunit" ,ghc-hunit)
8795 ("ghc-tasty" ,ghc-tasty)
8796 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8797 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8798 ("ghc-tasty-th" ,ghc-tasty-th)))
8799 (home-page "https://hackage.haskell.org/package/sandi")
8800 (synopsis "Data encoding library")
8801 (description "Reasonably fast data encoding library.")
8802 (license license:bsd-3)))
8803
8804(define-public ghc-scientific
8805 (package
8806 (name "ghc-scientific")
8807 (version "0.3.6.2")
8808 (source
8809 (origin
8810 (method url-fetch)
8811 (uri (string-append
8812 "https://hackage.haskell.org/package/scientific/scientific-"
8813 version
8814 ".tar.gz"))
8815 (sha256
8816 (base32
8817 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8818 (build-system haskell-build-system)
8819 (inputs
8820 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8821 ("ghc-hashable" ,ghc-hashable)
8822 ("ghc-primitive" ,ghc-primitive)))
8823 (native-inputs
8824 `(("ghc-tasty" ,ghc-tasty)
8825 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8826 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8827 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8828 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8829 ("ghc-smallcheck" ,ghc-smallcheck)
8830 ("ghc-quickcheck" ,ghc-quickcheck)))
8831 (home-page "https://github.com/basvandijk/scientific")
8832 (synopsis "Numbers represented using scientific notation")
8833 (description "This package provides @code{Data.Scientific}, which provides
8834the number type @code{Scientific}. Scientific numbers are arbitrary precision
8835and space efficient. They are represented using
8836@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
8837notation}.")
8838 (license license:bsd-3)))
8839
8840(define-public ghc-scientific-bootstrap
8841 (package
8842 (inherit ghc-scientific)
8843 (name "ghc-scientific-bootstrap")
8844 (arguments `(#:tests? #f))
8845 (inputs
8846 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
8847 ("ghc-hashable" ,ghc-hashable)
8848 ("ghc-primitive" ,ghc-primitive)))
8849 (native-inputs '())
799d8d3c 8850 (properties '((hidden? #t)))))
dddbc90c
RV
8851
8852(define-public ghc-sdl
8853 (package
8854 (name "ghc-sdl")
8855 (version "0.6.7.0")
8856 (source
8857 (origin
8858 (method url-fetch)
8859 (uri (string-append
8860 "https://hackage.haskell.org/package/SDL/SDL-"
8861 version
8862 ".tar.gz"))
8863 (sha256
8864 (base32
8865 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
8866 (build-system haskell-build-system)
8867 (inputs
8868 `(("sdl" ,sdl)))
8869 (home-page "https://hackage.haskell.org/package/SDL")
8870 (synopsis "LibSDL for Haskell")
8871 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
8872multimedia library designed to provide low level access to audio, keyboard,
8873mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
8874by MPEG playback software, emulators, and many popular games, including the
8875award winning Linux port of \"Civilization: Call To Power.\"")
8876 (license license:bsd-3)))
8877
1874cdc1
RV
8878(define-public ghc-sdl2
8879 (package
8880 (name "ghc-sdl2")
8881 (version "2.4.1.0")
8882 (source
8883 (origin
8884 (method url-fetch)
8885 (uri (string-append "https://hackage.haskell.org/package/"
8886 "sdl2/sdl2-" version ".tar.gz"))
8887 (sha256
8888 (base32
8889 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
8890 (build-system haskell-build-system)
8891 (arguments '(#:tests? #f)) ; tests require graphical environment
8892 (inputs
8893 `(("ghc-exceptions" ,ghc-exceptions)
8894 ("ghc-linear" ,ghc-linear)
8895 ("ghc-statevar" ,ghc-statevar)
8896 ("ghc-vector" ,ghc-vector)
8897 ("sdl2" ,sdl2)))
8898 (native-inputs
8899 `(("ghc-weigh" ,ghc-weigh)
8900 ("pkg-config" ,pkg-config)))
8901 (home-page "http://hackage.haskell.org/package/sdl2")
8902 (synopsis "High- and low-level bindings to the SDL library")
8903 (description
8904 "This package contains bindings to the SDL 2 library, in both high- and
8905low-level forms. The @code{SDL} namespace contains high-level bindings, where
8906enumerations are split into sum types, and we perform automatic
8907error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
8908translation of the C API into Haskell FFI calls. As such, this does not
8909contain sum types nor error checking. Thus this namespace is suitable for
8910building your own abstraction over SDL, but is not recommended for day-to-day
8911programming.")
8912 (license license:bsd-3)))
8913
8914(define-public ghc-sdl2-image
8915 (package
8916 (name "ghc-sdl2-image")
8917 (version "2.0.0")
8918 (source
8919 (origin
8920 (method url-fetch)
8921 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
8922 "sdl2-image-" version ".tar.gz"))
8923 (sha256
8924 (base32
8925 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
8926 (build-system haskell-build-system)
8927 (inputs
8928 `(("ghc-sdl2" ,ghc-sdl2)
8929 ("sdl2-image" ,sdl2-image)))
8930 (native-inputs
8931 `(("pkg-config" ,pkg-config)))
8932 (home-page "http://hackage.haskell.org/package/sdl2-image")
8933 (synopsis "Bindings to SDL2_image")
8934 (description "This package provides Haskell bindings to
8935@code{SDL2_image}.")
8936 (license license:expat)))
8937
8938(define-public ghc-sdl2-mixer
8939 (package
8940 (name "ghc-sdl2-mixer")
8941 (version "1.1.0")
8942 (source
8943 (origin
8944 (method url-fetch)
8945 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
8946 "sdl2-mixer-" version ".tar.gz"))
8947 (sha256
8948 (base32
8949 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
8950 (build-system haskell-build-system)
8951 (inputs
8952 `(("ghc-data-default-class" ,ghc-data-default-class)
8953 ("ghc-lifted-base" ,ghc-lifted-base)
8954 ("ghc-monad-control" ,ghc-monad-control)
8955 ("ghc-sdl2" ,ghc-sdl2)
8956 ("ghc-vector" ,ghc-vector)
8957 ("sdl2-mixer" ,sdl2-mixer)))
8958 (native-inputs
8959 `(("pkg-config" ,pkg-config)))
8960 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
8961 (synopsis "Bindings to SDL2 mixer")
8962 (description "This package provides Haskell bindings to
8963@code{SDL2_mixer}.")
8964 (license license:bsd-3)))
8965
dddbc90c
RV
8966(define-public ghc-sdl-image
8967 (package
8968 (name "ghc-sdl-image")
8969 (version "0.6.2.0")
8970 (source
8971 (origin
8972 (method url-fetch)
8973 (uri (string-append
8974 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
8975 version
8976 ".tar.gz"))
8977 (sha256
8978 (base32
8979 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
8980 (build-system haskell-build-system)
8981 (arguments
8982 `(#:configure-flags
8983 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
8984 (sdl-image-include (string-append sdl-image "/include/SDL")))
8985 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
8986 (inputs
8987 `(("ghc-sdl" ,ghc-sdl)
8988 ("sdl-image" ,sdl-image)))
8989 (home-page "https://hackage.haskell.org/package/SDL-image")
8990 (synopsis "Haskell bindings to libSDL_image")
8991 (description "SDL_image is an image file loading library. It loads images
8992as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
8993PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
8994 (license license:bsd-3)))
8995
8996(define-public ghc-sdl-mixer
8997 (package
8998 (name "ghc-sdl-mixer")
8999 (version "0.6.3.0")
9000 (source
9001 (origin
9002 (method url-fetch)
9003 (uri (string-append
9004 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
9005 version
9006 ".tar.gz"))
9007 (sha256
9008 (base32
9009 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
9010 (build-system haskell-build-system)
9011 (arguments
9012 `(#:configure-flags
9013 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
9014 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
9015 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
9016 (inputs
9017 `(("ghc-sdl" ,ghc-sdl)
9018 ("sdl-mixer" ,sdl-mixer)))
9019 (home-page "https://hackage.haskell.org/package/SDL-mixer")
9020 (synopsis "Haskell bindings to libSDL_mixer")
9021 (description "SDL_mixer is a sample multi-channel audio mixer library. It
9022supports any number of simultaneously playing channels of 16 bit stereo audio,
9023plus a single channel of music, mixed by the popular MikMod MOD, Timidity
9024MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
9025 (license license:bsd-3)))
9026
9027(define-public ghc-securemem
9028 (package
9029 (name "ghc-securemem")
9030 (version "0.1.10")
9031 (source
9032 (origin
9033 (method url-fetch)
9034 (uri (string-append "https://hackage.haskell.org/package/"
9035 "securemem-" version "/"
9036 "securemem-" version ".tar.gz"))
9037 (sha256
9038 (base32
9039 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
9040 (build-system haskell-build-system)
9041 (inputs `(("ghc-byteable" ,ghc-byteable)
9042 ("ghc-memory" ,ghc-memory)))
9043 (home-page "https://github.com/vincenthz/hs-securemem")
9044 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9045Haskell")
9046 (description "SecureMem is similar to ByteString, except that it provides
9047a memory chunk that will be auto-scrubbed after it run out of scope.")
9048 (license license:bsd-3)))
9049
9050(define-public ghc-semigroupoids
9051 (package
9052 (name "ghc-semigroupoids")
9053 (version "5.2.2")
9054 (source
9055 (origin
9056 (method url-fetch)
9057 (uri (string-append
9058 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9059 version
9060 ".tar.gz"))
9061 (sha256
9062 (base32
9063 "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
9064 (build-system haskell-build-system)
9065 (arguments
9066 `(#:cabal-revision
9067 ("4" "0pqfrxzypjq6z8lgdkzq4vhcyqkpk5326hny0r6snpc3gm78r4ij")))
9068 (inputs
9069 `(("ghc-base-orphans" ,ghc-base-orphans)
9070 ("ghc-transformers-compat" ,ghc-transformers-compat)
9071 ("ghc-bifunctors" ,ghc-bifunctors)
9072 ("ghc-comonad" ,ghc-comonad)
9073 ("ghc-contravariant" ,ghc-contravariant)
9074 ("ghc-distributive" ,ghc-distributive)
9075 ("ghc-hashable" ,ghc-hashable)
9076 ("ghc-semigroups" ,ghc-semigroups)
9077 ("ghc-tagged" ,ghc-tagged)
9078 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9079 (native-inputs
9080 `(("cabal-doctest" ,cabal-doctest)
9081 ("ghc-doctest" ,ghc-doctest)))
9082 (home-page "https://github.com/ekmett/semigroupoids")
9083 (synopsis "Semigroupoids operations for Haskell")
9084 (description "This library provides a wide array of (semi)groupoids and
9085operations for working with them. A @code{Semigroupoid} is a @code{Category}
9086without the requirement of identity arrows for every object in the category.
9087A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9088Finally, to work with these weaker structures it is beneficial to have
9089containers that can provide stronger guarantees about their contents, so
9090versions of @code{Traversable} and @code{Foldable} that can be folded with
9091just a @code{Semigroup} are added.")
9092 (license license:bsd-3)))
9093
9094(define-public ghc-semigroups
9095 (package
9096 (name "ghc-semigroups")
9097 (version "0.18.5")
9098 (source
9099 (origin
9100 (method url-fetch)
9101 (uri (string-append
9102 "https://hackage.haskell.org/package/semigroups/semigroups-"
9103 version
9104 ".tar.gz"))
9105 (sha256
9106 (base32
9107 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9108 (build-system haskell-build-system)
9109 (inputs
9110 `(("ghc-nats" ,ghc-nats)
9111 ("ghc-tagged" ,ghc-tagged)
9112 ("ghc-unordered-containers" ,ghc-unordered-containers)
9113 ("ghc-hashable" ,ghc-hashable)))
9114 (home-page "https://github.com/ekmett/semigroups/")
9115 (synopsis "Semigroup operations for Haskell")
9116 (description "This package provides semigroups for Haskell. In
9117mathematics, a semigroup is an algebraic structure consisting of a set
9118together with an associative binary operation. A semigroup generalizes a
9119monoid in that there might not exist an identity element. It
9120also (originally) generalized a group (a monoid with all inverses) to a type
9121where every element did not have to have an inverse, thus the name
9122semigroup.")
9123 (license license:bsd-3)))
9124
9125(define-public ghc-semigroups-bootstrap
9126 (package
9127 (inherit ghc-semigroups)
9128 (name "ghc-semigroups-bootstrap")
9129 (inputs
9130 `(("ghc-nats" ,ghc-nats-bootstrap)
9131 ("ghc-tagged" ,ghc-tagged)
9132 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9133 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9134 (properties '((hidden? #t)))))
dddbc90c
RV
9135
9136(define-public ghc-setenv
9137 (package
9138 (name "ghc-setenv")
9139 (version "0.1.1.3")
9140 (source
9141 (origin
9142 (method url-fetch)
9143 (uri (string-append
9144 "https://hackage.haskell.org/package/setenv/setenv-"
9145 version
9146 ".tar.gz"))
9147 (sha256
9148 (base32
9149 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9150 (build-system haskell-build-system)
9151 (home-page "https://hackage.haskell.org/package/setenv")
9152 (synopsis "Library for setting environment variables")
9153 (description "This package provides a Haskell library for setting
9154environment variables.")
9155 (license license:expat)))
9156
9157(define-public ghc-setlocale
9158 (package
9159 (name "ghc-setlocale")
9d7cfc9b 9160 (version "1.0.0.9")
dddbc90c
RV
9161 (source (origin
9162 (method url-fetch)
9163 (uri (string-append
9164 "https://hackage.haskell.org/package/setlocale-"
9165 version "/setlocale-" version ".tar.gz"))
9166 (sha256
9167 (base32
9d7cfc9b 9168 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
9169 (build-system haskell-build-system)
9170 (home-page "https://hackage.haskell.org/package/setlocale")
9171 (synopsis "Haskell bindings to setlocale")
9172 (description "This package provides Haskell bindings to the
9173@code{setlocale} C function.")
9174 (license license:bsd-3)))
9175
9176(define-public ghc-shakespeare
9177 (package
9178 (name "ghc-shakespeare")
9179 (version "2.0.15")
9180 (source
9181 (origin
9182 (method url-fetch)
9183 (uri (string-append "https://hackage.haskell.org/package/"
9184 "shakespeare-" version "/"
9185 "shakespeare-" version ".tar.gz"))
9186 (sha256
9187 (base32
9188 "1vk4b19zvwy4mpwaq9z3l3kfmz75gfyf7alhh0y112gspgpccm23"))))
9189 (build-system haskell-build-system)
9190 (inputs `(("ghc-aeson" ,ghc-aeson)
9191 ("ghc-blaze-markup" ,ghc-blaze-markup)
9192 ("ghc-blaze-html" ,ghc-blaze-html)
9193 ("ghc-exceptions" ,ghc-exceptions)
9194 ("ghc-vector" ,ghc-vector)
9195 ("ghc-unordered-containers" ,ghc-unordered-containers)
9196 ("ghc-scientific" ,ghc-scientific)))
9197 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9198 ("ghc-hunit" ,ghc-hunit)
9199 ("hspec-discover" ,hspec-discover)))
9200 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9201 (synopsis "Family of type-safe template languages for Haskell")
9202 (description "This Haskell package provides a family of type-safe
9203templates with simple variable interpolation. Shakespeare templates can
9204be used inline with a quasi-quoter or in an external file and it
9205interpolates variables according to the type being inserted.")
9206 (license license:expat)))
9207
9208(define-public ghc-shelly
9209 (package
9210 (name "ghc-shelly")
9211 (version "1.8.1")
9212 (source
9213 (origin
9214 (method url-fetch)
9215 (uri (string-append
9216 "https://hackage.haskell.org/package/shelly/shelly-"
9217 version ".tar.gz"))
9218 (sha256
9219 (base32
9220 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9221 (build-system haskell-build-system)
9222 (inputs
9223 `(("ghc-unix-compat" ,ghc-unix-compat)
9224 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9225 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9226 ("ghc-monad-control" ,ghc-monad-control)
9227 ("ghc-lifted-base" ,ghc-lifted-base)
9228 ("ghc-lifted-async" ,ghc-lifted-async)
9229 ("ghc-exceptions" ,ghc-exceptions)
9230 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9231 ("ghc-async" ,ghc-async)
9232 ("ghc-transformers-base" ,ghc-transformers-base)
9233 ("ghc-hunit" ,ghc-hunit)
9234 ("ghc-hspec" ,ghc-hspec)
9235 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9236 (home-page "https://github.com/yesodweb/Shelly.hs")
9237 (synopsis "Shell-like (systems) programming in Haskell")
9238 (description
9239 "Shelly provides convenient systems programming in Haskell, similar in
9240spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9241 (license license:bsd-3)))
9242
9243(define-public ghc-silently
9244 (package
9245 (name "ghc-silently")
544bb369 9246 (version "1.2.5.1")
dddbc90c
RV
9247 (source
9248 (origin
9249 (method url-fetch)
9250 (uri (string-append
9251 "https://hackage.haskell.org/package/silently/silently-"
9252 version
9253 ".tar.gz"))
9254 (sha256
9255 (base32
544bb369 9256 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
9257 (build-system haskell-build-system)
9258 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9259 ;; (inputs
9260 ;; `(("ghc-temporary" ,ghc-temporary)))
9261 (home-page "https://github.com/hspec/silently")
9262 (synopsis "Prevent writing to stdout")
9263 (description "This package provides functions to prevent or capture
9264writing to stdout and other handles.")
9265 (license license:bsd-3)))
9266
9267(define-public ghc-simple-reflect
9268 (package
9269 (name "ghc-simple-reflect")
9270 (version "0.3.3")
9271 (source
9272 (origin
9273 (method url-fetch)
9274 (uri (string-append
9275 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9276 version
9277 ".tar.gz"))
9278 (sha256
9279 (base32
9280 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9281 (build-system haskell-build-system)
9282 (home-page
9283 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9284 (synopsis
9285 "Simple reflection of expressions containing variables")
9286 (description
9287 "This package allows simple reflection of expressions containing
9288variables. Reflection here means that a Haskell expression is turned into a
9289string. The primary aim of this package is teaching and understanding; there
9290are no options for manipulating the reflected expressions beyond showing
9291them.")
9292 (license license:bsd-3)))
9293
9294(define-public ghc-simple-sendfile
9295 (package
9296 (name "ghc-simple-sendfile")
9297 (version "0.2.27")
9298 (source
9299 (origin
9300 (method url-fetch)
9301 (uri (string-append "https://hackage.haskell.org/package/"
9302 "simple-sendfile-" version "/"
9303 "simple-sendfile-" version ".tar.gz"))
9304 (sha256
9305 (base32
9306 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
9307 (build-system haskell-build-system)
9308 (inputs
9309 `(("ghc-conduit" ,ghc-conduit)
9310 ("ghc-conduit-extra" ,ghc-conduit-extra)
9311 ("ghc-network" ,ghc-network)
9312 ("ghc-resourcet" ,ghc-resourcet)))
9313 (native-inputs
9314 `(("ghc-hspec" ,ghc-hspec)
9315 ("hspec-discover" ,hspec-discover)))
9316 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9317 (synopsis "Cross platform library for the sendfile system call")
9318 (description "This library tries to call minimum system calls which
9319are the bottleneck of web servers.")
9320 (license license:bsd-3)))
9321
9322(define-public ghc-skylighting-core
9323 (package
9324 (name "ghc-skylighting-core")
9325 (version "0.7.2")
9326 (source (origin
9327 (method url-fetch)
9328 (uri (string-append "https://hackage.haskell.org/package/"
9329 "skylighting-core/skylighting-core-"
9330 version ".tar.gz"))
9331 (sha256
9332 (base32
9333 "066fwmwsd7xcvwlinfk2izlzq0xp8697i6lnbgsbl71jdybyackq"))))
9334 (build-system haskell-build-system)
9335 (inputs
9336 `(("ghc-aeson" ,ghc-aeson)
9337 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9338 ("ghc-attoparsec" ,ghc-attoparsec)
9339 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9340 ("ghc-blaze-html" ,ghc-blaze-html)
9341 ("ghc-case-insensitive" ,ghc-case-insensitive)
9342 ("ghc-colour" ,ghc-colour)
9343 ("ghc-hxt" ,ghc-hxt)
9344 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9345 ("ghc-safe" ,ghc-safe)
9346 ("ghc-utf8-string" ,ghc-utf8-string)))
9347 (native-inputs
9348 `(("ghc-diff" ,ghc-diff)
9349 ("ghc-hunit" ,ghc-hunit)
9350 ("ghc-pretty-show" ,ghc-pretty-show)
9351 ("ghc-quickcheck" ,ghc-quickcheck)
9352 ("ghc-tasty" ,ghc-tasty)
9353 ("ghc-tasty-golden" ,ghc-tasty-golden)
9354 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9355 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9356 (home-page "https://github.com/jgm/skylighting")
9357 (synopsis "Syntax highlighting library")
9358 (description "Skylighting is a syntax highlighting library with support
9359for over one hundred languages. It derives its tokenizers from XML syntax
9360definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9361supported by that framework can be added. An optional command-line program is
9362provided. Skylighting is intended to be the successor to highlighting-kate.")
9363 (license license:gpl2)))
9364
9365(define-public ghc-skylighting
9366 (package
9367 (inherit ghc-skylighting-core)
9368 (name "ghc-skylighting")
9369 (version "0.7.2")
9370 (source (origin
9371 (method url-fetch)
9372 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9373 version "/skylighting-" version ".tar.gz"))
9374 (sha256
9375 (base32
9376 "1rh3z1a7a4clvksdw1qlpmhxqkfahwypi70k91whgfamzsqpxdch"))))
9377 (inputs
9378 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9379 ,@(package-inputs ghc-skylighting-core)))))
9380
9381(define-public ghc-smallcheck
9382 (package
9383 (name "ghc-smallcheck")
9384 (version "1.1.5")
9385 (source
9386 (origin
9387 (method url-fetch)
9388 (uri (string-append
9389 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9390 version
9391 ".tar.gz"))
9392 (sha256
9393 (base32
9394 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9395 (build-system haskell-build-system)
9396 (inputs
9397 `(("ghc-logict" ,ghc-logict)))
9398 (home-page
9399 "https://github.com/feuerbach/smallcheck")
9400 (synopsis "Property-based testing library")
9401 (description "SmallCheck is a testing library that allows to verify
9402properties for all test cases up to some depth. The test cases are generated
9403automatically by SmallCheck.")
9404 (license license:bsd-3)))
9405
9406(define-public ghc-socks
9407 (package
9408 (name "ghc-socks")
9409 (version "0.5.6")
9410 (source (origin
9411 (method url-fetch)
9412 (uri (string-append "https://hackage.haskell.org/package/"
9413 "socks/socks-" version ".tar.gz"))
9414 (sha256
9415 (base32
9416 "0f44qy74i0n6ll3jym0a2ipafkpw1h67amcpqmj8iq95h21wsqzs"))))
9417 (build-system haskell-build-system)
9418 (inputs
9419 `(("ghc-cereal" ,ghc-cereal)
9420 ("ghc-network" ,ghc-network)))
9421 (home-page "https://github.com/vincenthz/hs-socks")
9422 (synopsis "SOCKS proxy (version 5) implementation")
9423 (description
9424 "This library provides a SOCKS proxy (version 5) implementation.")
9425 (license license:bsd-3)))
9426
081d85d6
TS
9427(define-public ghc-sop-core
9428 (package
9429 (name "ghc-sop-core")
9430 (version "0.4.0.0")
9431 (source
9432 (origin
9433 (method url-fetch)
9434 (uri (string-append "https://hackage.haskell.org/package/"
9435 "sop-core/sop-core-" version ".tar.gz"))
9436 (sha256
9437 (base32
9438 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
9439 (build-system haskell-build-system)
9440 (home-page "http://hackage.haskell.org/package/sop-core")
9441 (synopsis "True Sums of Products")
9442 (description "This package provides an implementation of
9443@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
9444is the main module of this library and contains more detailed
9445documentation. The main use case of this package is to serve as the
9446core of @url{https://hackage.haskell.org/package/generics-sop,
9447generics-sop}.")
9448 (license license:bsd-3)))
9449
dddbc90c
RV
9450(define-public ghc-split
9451 (package
9452 (name "ghc-split")
9453 (version "0.2.3.3")
9454 (outputs '("out" "doc"))
9455 (source
9456 (origin
9457 (method url-fetch)
9458 (uri (string-append
9459 "https://hackage.haskell.org/package/split/split-"
9460 version
9461 ".tar.gz"))
9462 (sha256
9463 (base32
9464 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9465 (build-system haskell-build-system)
9bbc21a7
TS
9466 (arguments
9467 `(#:cabal-revision
9468 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
9469 (native-inputs
9470 `(("ghc-quickcheck" ,ghc-quickcheck)))
9471 (home-page "https://hackage.haskell.org/package/split")
9472 (synopsis "Combinator library for splitting lists")
9473 (description "This package provides a collection of Haskell functions for
9474splitting lists into parts, akin to the @code{split} function found in several
9475mainstream languages.")
9476 (license license:bsd-3)))
9477
7799d17f 9478(define-public ghc-splitmix
49367c92 9479 (package
7799d17f 9480 (name "ghc-splitmix")
49367c92
TS
9481 (version "0.0.3")
9482 (source
9483 (origin
9484 (method url-fetch)
9485 (uri (string-append "https://hackage.haskell.org/package/"
9486 "splitmix/splitmix-" version ".tar.gz"))
9487 (sha256
9488 (base32
9489 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 9490 (build-system haskell-build-system)
49367c92
TS
9491 (inputs
9492 `(("ghc-random" ,ghc-random)))
7799d17f
TS
9493 (native-inputs
9494 `(("ghc-hunit" ,ghc-hunit)
9495 ("ghc-async" ,ghc-async)
9496 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
9497 ("ghc-tf-random" ,ghc-tf-random)
9498 ("ghc-vector" ,ghc-vector)))
49367c92
TS
9499 (home-page "http://hackage.haskell.org/package/splitmix")
9500 (synopsis "Fast and splittable pseudorandom number generator")
9501 (description "This package provides a Pure Haskell implementation of the
9502SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
9503pseudorandom number generator that is quite fast: 9 64-bit
9504arithmetic/logical operations per 64 bits generated. SplitMix is tested
9505with two standard statistical test suites (DieHarder and TestU01, this
9506implementation only using the former) and it appears to be adequate for
9507\"everyday\" use, such as Monte Carlo algorithms and randomized data
9508structures where speed is important. In particular, it @strong{should not
9509be used for cryptographic or security applications}, because generated
9510sequences of pseudorandom values are too predictable (the mixing functions
9511are easily inverted, and two successive outputs suffice to reconstruct the
9512internal state).")
9513 (license license:bsd-3)))
9514
7799d17f
TS
9515(define-public ghc-splitmix-bootstrap
9516 (package
9517 (inherit ghc-splitmix)
9518 (name "ghc-splitmix-bootstrap")
9519 (arguments `(#:tests? #f))
9520 (native-inputs '())
9521 (properties '((hidden? #t)))))
9522
dddbc90c
RV
9523(define-public ghc-statevar
9524 (package
9525 (name "ghc-statevar")
19419709 9526 (version "1.2")
dddbc90c
RV
9527 (source
9528 (origin
9529 (method url-fetch)
9530 (uri (string-append
9531 "https://hackage.haskell.org/package/StateVar/StateVar-"
9532 version
9533 ".tar.gz"))
9534 (sha256
9535 (base32
19419709 9536 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
9537 (build-system haskell-build-system)
9538 (home-page "https://hackage.haskell.org/package/StateVar")
9539 (synopsis "State variables for Haskell")
9540 (description "This package provides state variables, which are references
9541in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9542 (license license:bsd-3)))
9543
9544(define-public ghc-statistics
9545 (package
9546 (name "ghc-statistics")
9547 (version "0.14.0.2")
9548 (source
9549 (origin
9550 (method url-fetch)
9551 (uri (string-append "https://hackage.haskell.org/package/"
9552 "statistics-" version "/"
9553 "statistics-" version ".tar.gz"))
9554 (sha256
9555 (base32
9556 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
9557 (build-system haskell-build-system)
9558 (arguments
9559 '(#:cabal-revision
9560 ("2" "1bx70yqkn62ii17fjv3pig4hklrzkqd09zj67zzjiyjzmn04fir3")
9561 ;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
9562 #:tests? #f))
9563 (inputs
9564 `(("ghc-aeson" ,ghc-aeson)
9565 ("ghc-base-orphans" ,ghc-base-orphans)
9566 ("ghc-erf" ,ghc-erf)
9567 ("ghc-math-functions" ,ghc-math-functions)
9568 ("ghc-monad-par" ,ghc-monad-par)
9569 ("ghc-mwc-random" ,ghc-mwc-random)
9570 ("ghc-primitive" ,ghc-primitive)
9571 ("ghc-vector" ,ghc-vector)
9572 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9573 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9574 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9575 (native-inputs
9576 `(("ghc-hunit" ,ghc-hunit)
9577 ("ghc-quickcheck" ,ghc-quickcheck)
9578 ("ghc-ieee754" ,ghc-ieee754)
9579 ("ghc-test-framework" ,ghc-test-framework)
9580 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9581 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9582 (home-page "https://github.com/bos/mwc-random")
9583 (synopsis "Haskell library of statistical types, data, and functions")
9584 (description "This library provides a number of common functions
9585and types useful in statistics. We focus on high performance, numerical
9586robustness, and use of good algorithms. Where possible, we provide references
9587to the statistical literature.
9588
9589The library's facilities can be divided into four broad categories:
9590
9591@itemize
9592@item Working with widely used discrete and continuous probability
9593distributions. (There are dozens of exotic distributions in use; we focus
9594on the most common.)
9595
9596@item Computing with sample data: quantile estimation, kernel density
9597estimation, histograms, bootstrap methods, significance testing,
9598and regression and autocorrelation analysis.
9599
9600@item Random variate generation under several different distributions.
9601
9602@item Common statistical tests for significant differences between samples.
9603@end itemize")
9604 (license license:bsd-2)))
9605
9606(define-public ghc-stm-chans
9607 (package
9608 (name "ghc-stm-chans")
9609 (version "3.0.0.4")
9610 (source
9611 (origin
9612 (method url-fetch)
9613 (uri (string-append "https://hackage.haskell.org/package/"
9614 "stm-chans-" version "/"
9615 "stm-chans-" version ".tar.gz"))
9616 (sha256
9617 (base32
9618 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9619 (build-system haskell-build-system)
9620 (home-page "https://hackage.haskell.org/package/stm-chans")
9621 (synopsis "Additional types of channels for ghc-stm")
9622 (description "This Haskell package offers a collection of channel types,
9623similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9624features.")
9625 (license license:bsd-3)))
9626
9627(define-public ghc-stm-conduit
9628 (package
9629 (name "ghc-stm-conduit")
9630 (version "4.0.0")
9631 (source
9632 (origin
9633 (method url-fetch)
9634 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9635 "stm-conduit-" version ".tar.gz"))
9636 (sha256
9637 (base32
9638 "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
9639 (build-system haskell-build-system)
9640 (inputs
9641 `(("ghc-stm-chans" ,ghc-stm-chans)
9642 ("ghc-cereal" ,ghc-cereal)
9643 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9644 ("ghc-conduit" ,ghc-conduit)
9645 ("ghc-conduit-extra" ,ghc-conduit-extra)
9646 ("ghc-exceptions" ,ghc-exceptions)
9647 ("ghc-resourcet" ,ghc-resourcet)
9648 ("ghc-async" ,ghc-async)
9649 ("ghc-monad-loops" ,ghc-monad-loops)
9650 ("ghc-unliftio" ,ghc-unliftio)))
9651 (native-inputs
9652 `(("ghc-doctest" ,ghc-doctest)
9653 ("ghc-quickcheck" ,ghc-quickcheck)
9654 ("ghc-hunit" ,ghc-hunit)
9655 ("ghc-test-framework" ,ghc-test-framework)
9656 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9657 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9658 (home-page "https://github.com/cgaebel/stm-conduit")
9659 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9660 (description
9661 "This package provides two simple conduit wrappers around STM channels: a
9662source and a sink.")
9663 (license license:bsd-3)))
9664
9665(define-public ghc-stmonadtrans
9666 (package
9667 (name "ghc-stmonadtrans")
9668 (version "0.4.3")
9669 (source
9670 (origin
9671 (method url-fetch)
9672 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9673 "/STMonadTrans-" version ".tar.gz"))
9674 (sha256
9675 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9676 (build-system haskell-build-system)
9677 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9678 (synopsis "Monad transformer version of the ST monad")
9679 (description
9680 "This package provides a monad transformer version of the @code{ST} monad
9681for strict state threads.")
9682 (license license:bsd-3)))
9683
9684(define-public ghc-storable-complex
9685 (package
9686 (name "ghc-storable-complex")
4a35e3c3 9687 (version "0.2.3.0")
dddbc90c
RV
9688 (source
9689 (origin
9690 (method url-fetch)
9691 (uri (string-append
9692 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9693 version ".tar.gz"))
9694 (sha256
4a35e3c3 9695 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 9696 (build-system haskell-build-system)
4a35e3c3
TS
9697 (inputs
9698 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
9699 (home-page "https://github.com/cartazio/storable-complex")
9700 (synopsis "Haskell Storable instance for Complex")
9701 (description "This package provides a Haskell library including a
9702Storable instance for Complex which is binary compatible with C99, C++
9703and Fortran complex data types.")
9704 (license license:bsd-3)))
9705
ad80074a
JS
9706(define-public ghc-storable-record
9707 (package
9708 (name "ghc-storable-record")
9709 (version "0.0.4")
9710 (source
9711 (origin
9712 (method url-fetch)
9713 (uri
9714 (string-append
9715 "https://hackage.haskell.org/package/storable-record/"
9716 "storable-record-" version ".tar.gz"))
9717 (sha256
9718 (base32
9719 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
9720 (build-system haskell-build-system)
9721 (inputs
9722 `(("ghc-semigroups" ,ghc-semigroups)
9723 ("ghc-utility-ht" ,ghc-utility-ht)
9724 ("ghc-storablevector" ,ghc-storablevector)
9725 ("ghc-timeit" ,ghc-timeit)))
9726 (home-page "https://hackage.haskell.org/package/storable-record")
9727 (synopsis "Elegant definition of Storable instances for records")
9728 (description "With this package you can build a Storable instance of
9729a record type from Storable instances of its elements in an elegant way.
9730It does not do any magic, just a bit arithmetic to compute the right
9731offsets, that would be otherwise done manually or by a preprocessor like
9732C2HS. There is no guarantee that the generated memory layout is
9733compatible with that of a corresponding C struct. However, the module
9734generates the smallest layout that is possible with respect to the
9735alignment of the record elements.")
9736 (license license:bsd-3)))
9737
55f4c653
JS
9738(define-public ghc-storable-tuple
9739 (package
9740 (name "ghc-storable-tuple")
9741 (version "0.0.3.3")
9742 (source
9743 (origin
9744 (method url-fetch)
9745 (uri
9746 (string-append
9747 "https://hackage.haskell.org/package/storable-tuple/"
9748 "storable-tuple-" version ".tar.gz"))
9749 (sha256
9750 (base32
9751 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
9752 (build-system haskell-build-system)
9753 (inputs
9754 `(("ghc-storable-record" ,ghc-storable-record)
9755 ("ghc-utility-ht" ,ghc-utility-ht)
9756 ("ghc-base-orphans" ,ghc-base-orphans)))
9757 (home-page "https://hackage.haskell.org/package/storable-tuple")
9758 (synopsis "Storable instance for pairs and triples")
9759 (description "This package provides a Storable instance for pairs
9760and triples which should be binary compatible with C99 and C++. The
9761only purpose of this package is to provide a standard location for this
9762instance so that other packages needing this instance can play nicely
9763together.")
9764 (license license:bsd-3)))
9765
bc06ca45
JS
9766(define-public ghc-storablevector
9767 (package
9768 (name "ghc-storablevector")
9769 (version "0.2.13")
9770 (source
9771 (origin
9772 (method url-fetch)
9773 (uri
9774 (string-append
9775 "https://hackage.haskell.org/package/storablevector/storablevector-"
9776 version ".tar.gz"))
9777 (sha256
9778 (base32
9779 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
9780 (build-system haskell-build-system)
9781 (inputs
9782 `(("ghc-non-negative" ,ghc-non-negative)
9783 ("ghc-utility-ht" ,ghc-utility-ht)
9784 ("ghc-semigroups" ,ghc-semigroups)
9785 ("ghc-unsafe" ,ghc-unsafe)
9786 ("ghc-quickcheck" ,ghc-quickcheck)
9787 ("ghc-syb" ,ghc-syb)))
9788 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
9789 (synopsis "Fast, packed, strict storable arrays with a list interface")
9790 (description "This library provides fast, packed, strict storable
9791arrays with a list interface, a chunky lazy list interface with variable
9792chunk size and an interface for write access via the ST monad. This is
9793much like bytestring and binary but can be used for every
9794@code{Foreign.Storable.Storable} type. See also
9795@url{http://hackage.haskell.org/package/vector}, a library with a
9796similar intention.
9797
9798This library does not do advanced fusion optimization, since especially
9799for lazy vectors this would either be incorrect or not applicable. See
9800@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
9801a library that provides fusion with lazy lists.")
9802 (license license:bsd-3)))
9803
dddbc90c
RV
9804(define-public ghc-streaming-commons
9805 (package
9806 (name "ghc-streaming-commons")
9807 (version "0.2.1.1")
9808 (source
9809 (origin
9810 (method url-fetch)
9811 (uri (string-append "https://hackage.haskell.org/package/"
9812 "streaming-commons/streaming-commons-"
9813 version ".tar.gz"))
9814 (sha256
9815 (base32
9816 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9817 (build-system haskell-build-system)
9818 (inputs
9819 `(("ghc-async" ,ghc-async)
9820 ("ghc-blaze-builder" ,ghc-blaze-builder)
9821 ("ghc-network" ,ghc-network)
9822 ("ghc-random" ,ghc-random)
9823 ("ghc-zlib" ,ghc-zlib)))
9824 (native-inputs
9825 `(("ghc-quickcheck" ,ghc-quickcheck)
9826 ("ghc-hspec" ,ghc-hspec)
9827 ("hspec-discover" ,hspec-discover)))
9828 (home-page "https://hackage.haskell.org/package/streaming-commons")
9829 (synopsis "Conduit and pipes needed by some streaming data libraries")
9830 (description "This package provides low-dependency functionality commonly
9831needed by various Haskell streaming data libraries, such as @code{conduit} and
9832@code{pipe}s.")
9833 (license license:expat)))
9834
9835(define-public ghc-strict
9836 (package
9837 (name "ghc-strict")
9838 (version "0.3.2")
9839 (source
9840 (origin
9841 (method url-fetch)
9842 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
9843 version ".tar.gz"))
9844 (sha256
9845 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
9846 (build-system haskell-build-system)
9847 (home-page "https://hackage.haskell.org/package/strict")
9848 (synopsis "Strict data types and String IO")
9849 (description
9850 "This package provides strict versions of some standard Haskell data
9851types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
9852IO operations.")
9853 (license license:bsd-3)))
9854
9855(define-public ghc-stringbuilder
9856 (package
9857 (name "ghc-stringbuilder")
9858 (version "0.5.1")
9859 (source
9860 (origin
9861 (method url-fetch)
9862 (uri (string-append
9863 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
9864 version
9865 ".tar.gz"))
9866 (sha256
9867 (base32
9868 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
9869 (build-system haskell-build-system)
9870 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
9871 ; enabled
9872 (home-page "https://hackage.haskell.org/package/stringbuilder")
9873 (synopsis "Writer monad for multi-line string literals")
9874 (description "This package provides a writer monad for multi-line string
9875literals.")
9876 (license license:expat)))
9877
9878(define-public ghc-string-qq
9879 (package
9880 (name "ghc-string-qq")
4d6fddc3 9881 (version "0.0.4")
dddbc90c
RV
9882 (source
9883 (origin
9884 (method url-fetch)
9885 (uri (string-append
9886 "https://hackage.haskell.org/package/string-qq/string-qq-"
9887 version
9888 ".tar.gz"))
9889 (sha256
9890 (base32
4d6fddc3 9891 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 9892 (build-system haskell-build-system)
4d6fddc3
TS
9893 (native-inputs
9894 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
9895 (home-page "http://hackage.haskell.org/package/string-qq")
9896 (synopsis
9897 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
9898 (description
9899 "This package provides a quasiquoter for non-interpolated strings, texts
9900and bytestrings.")
9901 (license license:public-domain)))
9902
9903(define-public ghc-stringsearch
9904 (package
9905 (name "ghc-stringsearch")
9906 (version "0.3.6.6")
9907 (source
9908 (origin
9909 (method url-fetch)
9910 (uri (string-append
9911 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
9912 version
9913 ".tar.gz"))
9914 (sha256
9915 (base32
9916 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
9917 (build-system haskell-build-system)
9918 (home-page "https://bitbucket.org/dafis/stringsearch")
9919 (synopsis "Fast searching, splitting and replacing of ByteStrings")
9920 (description "This package provides several functions to quickly search
9921for substrings in strict or lazy @code{ByteStrings}. It also provides
9922functions for breaking or splitting on substrings and replacing all
9923occurrences of a substring (the first in case of overlaps) with another.")
9924 (license license:bsd-3)))
9925
9926(define-public ghc-stylish-haskell
9927 (package
9928 (name "ghc-stylish-haskell")
9929 (version "0.9.2.1")
9930 (source
9931 (origin
9932 (method url-fetch)
9933 (uri (string-append
9934 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
9935 version
9936 ".tar.gz"))
9937 (sha256
9938 (base32
9939 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
9940 (build-system haskell-build-system)
9941 (inputs
9942 `(("ghc-aeson" ,ghc-aeson)
9943 ("ghc-file-embed" ,ghc-file-embed)
9944 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
9945 ("ghc-semigroups" ,ghc-semigroups)
9946 ("ghc-syb" ,ghc-syb)
9947 ("ghc-yaml" ,ghc-yaml)
9948 ("ghc-strict" ,ghc-strict)
9949 ("ghc-optparse-applicative"
9950 ,ghc-optparse-applicative)))
9951 (native-inputs
9952 `(("ghc-hunit" ,ghc-hunit)
9953 ("ghc-test-framework" ,ghc-test-framework)
9954 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
9955 (home-page "https://github.com/jaspervdj/stylish-haskell")
9956 (synopsis "Haskell code prettifier")
9957 (description "Stylish-haskell is a Haskell code prettifier. The goal is
9958not to format all of the code in a file, to avoid \"getting in the way\".
9959However, this tool can e.g. clean up import statements and help doing various
9960tasks that get tedious very quickly. It can
9961@itemize
9962@item
9963Align and sort @code{import} statements
9964@item
9965Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
9966pragmas
9967@item
9968Remove trailing whitespaces
9969@item
9970Align branches in @code{case} and fields in records
9971@item
9972Convert line endings (customisable)
9973@item
9974Replace tabs by four spaces (turned off by default)
9975@item
9976Replace some ASCII sequences by their Unicode equivalent (turned off by
9977default)
9978@end itemize")
9979 (license license:bsd-3)))
9980
9981(define-public ghc-syb
9982 (package
9983 (name "ghc-syb")
07d65eef 9984 (version "0.7.1")
dddbc90c
RV
9985 (outputs '("out" "doc"))
9986 (source
9987 (origin
9988 (method url-fetch)
9989 (uri (string-append
9990 "https://hackage.haskell.org/package/syb/syb-"
9991 version
9992 ".tar.gz"))
9993 (sha256
9994 (base32
07d65eef 9995 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
9996 (build-system haskell-build-system)
9997 (inputs
9998 `(("ghc-hunit" ,ghc-hunit)))
9999 (home-page
10000 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
10001 (synopsis "Scrap Your Boilerplate")
10002 (description "This package contains the generics system described in the
10003/Scrap Your Boilerplate/ papers (see
10004@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
10005defines the @code{Data} class of types permitting folding and unfolding of
10006constructor applications, instances of this class for primitive types, and a
10007variety of traversals.")
10008 (license license:bsd-3)))
10009
10010(define-public ghc-system-fileio
10011 (package
10012 (name "ghc-system-fileio")
10013 (version "0.3.16.3")
10014 (source
10015 (origin
10016 (method url-fetch)
10017 (uri (string-append
10018 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10019 version ".tar.gz"))
10020 (sha256
10021 (base32
10022 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10023 (build-system haskell-build-system)
10024 (inputs
10025 `(("ghc-system-filepath" ,ghc-system-filepath)
10026 ("ghc-chell" ,ghc-chell)
10027 ("ghc-temporary" ,ghc-temporary)))
10028 (home-page "https://github.com/fpco/haskell-filesystem")
10029 (synopsis "Consistent file system interaction across GHC versions")
10030 (description
10031 "This is a small wrapper around the directory, unix, and Win32 packages,
10032for use with system-filepath. It provides a consistent API to the various
10033versions of these packages distributed with different versions of GHC.
10034In particular, this library supports working with POSIX files that have paths
10035which can't be decoded in the current locale encoding.")
10036 (license license:expat)))
10037
10038;; See ghc-system-filepath-bootstrap. In addition this package depends on
10039;; ghc-system-filepath.
10040(define ghc-system-fileio-bootstrap
10041 (package
10042 (name "ghc-system-fileio-bootstrap")
10043 (version "0.3.16.3")
10044 (source
10045 (origin
10046 (method url-fetch)
10047 (uri (string-append
10048 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10049 version ".tar.gz"))
10050 (sha256
10051 (base32
10052 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10053 (build-system haskell-build-system)
10054 (arguments
10055 `(#:tests? #f))
10056 (inputs
10057 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10058 ("ghc-temporary" ,ghc-temporary)))
10059 (home-page "https://github.com/fpco/haskell-filesystem")
10060 (synopsis "Consistent file system interaction across GHC versions")
10061 (description
10062 "This is a small wrapper around the directory, unix, and Win32 packages,
10063for use with system-filepath. It provides a consistent API to the various
10064versions of these packages distributed with different versions of GHC.
10065In particular, this library supports working with POSIX files that have paths
10066which can't be decoded in the current locale encoding.")
10067 (license license:expat)))
10068
10069
10070(define-public ghc-system-filepath
10071 (package
10072 (name "ghc-system-filepath")
10073 (version "0.4.14")
10074 (source
10075 (origin
10076 (method url-fetch)
10077 (uri (string-append
10078 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10079 version ".tar.gz"))
10080 (sha256
10081 (base32
10082 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10083 (build-system haskell-build-system)
10084 ;; FIXME: One of the tests fails:
10085 ;; [ FAIL ] tests.validity.posix
10086 ;; note: seed=7310214548328823169
10087 ;; *** Failed! Falsifiable (after 24 tests):
10088 ;; FilePath "/r2\ENQ52\t ;$/o\US=/okG\146\&6\n<u\DC3/5\182\223a\DELN\EOT#\NUL/`[m/\USEKV\ETX([)b6/\ACK\SOo\245\ETBO/f\128\STX`|\EM\"/*\EMA\USD3/\143\&4/\CAN?\SUBee\CANR/9/B0\187Kx4/Vqr\232'b:/\a\234\DLE.\"\179/\ENQ{J/|/G)@^\237/\219ml/\DC3pd\ESC"
10089 (arguments `(#:tests? #f))
10090 (inputs
10091 `(("ghc-chell" ,ghc-chell)
10092 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
10093 ("ghc-quickcheck" ,ghc-quickcheck)))
10094 (home-page "https://github.com/fpco/haskell-filesystem")
10095 (synopsis "High-level, byte-based file and directory path manipulations")
10096 (description
10097 "Provides a FilePath datatype and utility functions for operating on it.
10098Unlike the filepath package, this package does not simply reuse String,
10099increasing type safety.")
10100 (license license:expat)))
10101
10102;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
10103;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
10104;; which depends on ghc-chell and ghc-chell-quickcheck.
10105;; Therefore we bootstrap it with tests disabled.
10106(define ghc-system-filepath-bootstrap
10107 (package
10108 (name "ghc-system-filepath-bootstrap")
10109 (version "0.4.14")
10110 (source
10111 (origin
10112 (method url-fetch)
10113 (uri (string-append
10114 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10115 version ".tar.gz"))
10116 (sha256
10117 (base32
10118 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10119 (build-system haskell-build-system)
10120 (arguments
10121 `(#:tests? #f))
10122 (inputs
10123 `(("ghc-quickcheck" ,ghc-quickcheck)))
10124 (home-page "https://github.com/fpco/haskell-filesystem")
10125 (synopsis "High-level, byte-based file and directory path manipulations")
10126 (description
10127 "Provides a FilePath datatype and utility functions for operating on it.
10128Unlike the filepath package, this package does not simply reuse String,
10129increasing type safety.")
10130 (license license:expat)))
10131
10132
10133(define-public ghc-tagged
10134 (package
10135 (name "ghc-tagged")
f0f3756a 10136 (version "0.8.6")
dddbc90c
RV
10137 (source
10138 (origin
10139 (method url-fetch)
10140 (uri (string-append
10141 "https://hackage.haskell.org/package/tagged/tagged-"
10142 version
10143 ".tar.gz"))
10144 (sha256
10145 (base32
f0f3756a 10146 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
10147 (build-system haskell-build-system)
10148 (arguments
10149 `(#:cabal-revision
f0f3756a 10150 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
10151 (inputs
10152 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10153 (home-page "https://hackage.haskell.org/package/tagged")
10154 (synopsis "Haskell phantom types to avoid passing dummy arguments")
10155 (description "This library provides phantom types for Haskell 98, to avoid
10156having to unsafely pass dummy arguments.")
10157 (license license:bsd-3)))
10158
10159(define-public ghc-tar
10160 (package
10161 (name "ghc-tar")
ec83929f 10162 (version "0.5.1.1")
dddbc90c
RV
10163 (source
10164 (origin
10165 (method url-fetch)
10166 (uri (string-append
10167 "https://hackage.haskell.org/package/tar/tar-"
10168 version ".tar.gz"))
10169 (sha256
10170 (base32
ec83929f 10171 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
10172 (build-system haskell-build-system)
10173 ;; FIXME: 2/24 tests fail.
10174 (arguments `(#:tests? #f))
10175 (inputs
10176 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10177 ("ghc-quickcheck" ,ghc-quickcheck)
10178 ("ghc-tasty" ,ghc-tasty)
10179 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10180 (home-page "https://hackage.haskell.org/package/tar")
10181 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10182 (description
10183 "This library is for working with \\\"@.tar@\\\" archive files.
10184It can read and write a range of common variations of the tar archive format
10185including V7, POSIX USTAR and GNU formats. It provides support for packing and
10186unpacking portable archives. This makes it suitable for distribution but not
10187backup because details like file ownership and exact permissions are not
10188preserved. It also provides features for random access to archive content using
10189an index.")
10190 (license license:bsd-3)))
10191
10192(define-public ghc-temporary
10193 (package
10194 (name "ghc-temporary")
10195 (version "1.3")
10196 (source
10197 (origin
10198 (method url-fetch)
10199 (uri (string-append
10200 "https://hackage.haskell.org/package/temporary/temporary-"
10201 version
10202 ".tar.gz"))
10203 (sha256
10204 (base32
10205 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10206 (build-system haskell-build-system)
10207 (inputs
10208 `(("ghc-exceptions" ,ghc-exceptions)
10209 ("ghc-random" ,ghc-random)))
10210 (native-inputs
10211 `(("ghc-base-compat" ,ghc-base-compat)
10212 ("ghc-tasty" ,ghc-tasty)
10213 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10214 (home-page "https://www.github.com/batterseapower/temporary")
10215 (synopsis "Temporary file and directory support")
10216 (description "The functions for creating temporary files and directories
10217in the Haskelll base library are quite limited. This library just repackages
10218the Cabal implementations of its own temporary file and folder functions so
10219that you can use them without linking against Cabal or depending on it being
10220installed.")
10221 (license license:bsd-3)))
10222
10223(define-public ghc-temporary-rc
10224 (package
10225 (name "ghc-temporary-rc")
10226 (version "1.2.0.3")
10227 (source
10228 (origin
10229 (method url-fetch)
10230 (uri (string-append
10231 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10232 version
10233 ".tar.gz"))
10234 (sha256
10235 (base32
10236 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10237 (build-system haskell-build-system)
10238 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10239 (home-page
10240 "https://www.github.com/feuerbach/temporary")
10241 (synopsis
10242 "Portable temporary file and directory support")
10243 (description
10244 "The functions for creating temporary files and directories in the base
10245library are quite limited. The unixutils package contains some good ones, but
10246they aren't portable to Windows. This library just repackages the Cabal
10247implementations of its own temporary file and folder functions so that you can
10248use them without linking against Cabal or depending on it being installed.
10249This is a better maintained fork of the \"temporary\" package.")
10250 (license license:bsd-3)))
10251
10252(define-public ghc-terminal-size
10253 (package
10254 (name "ghc-terminal-size")
10255 (version "0.3.2.1")
10256 (source (origin
10257 (method url-fetch)
10258 (uri (string-append
10259 "https://hackage.haskell.org/package/terminal-size/"
10260 "terminal-size-" version ".tar.gz"))
10261 (sha256
10262 (base32
10263 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10264 (build-system haskell-build-system)
10265 (home-page "https://hackage.haskell.org/package/terminal-size")
10266 (synopsis "Get terminal window height and width")
10267 (description "Get terminal window height and width without ncurses
10268dependency.")
10269 (license license:bsd-3)))
10270
10271(define-public ghc-texmath
10272 (package
10273 (name "ghc-texmath")
10274 (version "0.11.0.1")
10275 (source (origin
10276 (method url-fetch)
10277 (uri (string-append "https://hackage.haskell.org/package/"
10278 "texmath/texmath-" version ".tar.gz"))
10279 (sha256
10280 (base32
10281 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
10282 (build-system haskell-build-system)
10283 (inputs
10284 `(("ghc-syb" ,ghc-syb)
10285 ("ghc-network-uri" ,ghc-network-uri)
10286 ("ghc-split" ,ghc-split)
10287 ("ghc-temporary" ,ghc-temporary)
10288 ("ghc-utf8-string" ,ghc-utf8-string)
10289 ("ghc-xml" ,ghc-xml)
10290 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10291 (home-page "https://github.com/jgm/texmath")
10292 (synopsis "Conversion between formats used to represent mathematics")
10293 (description
10294 "The texmath library provides functions to read and write TeX math,
10295presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10296Office). Support is also included for converting math formats to pandoc's
10297native format (allowing conversion, via pandoc, to a variety of different
10298markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10299it can parse and apply LaTeX macros.")
10300 (license license:gpl2+)))
10301
10302(define-public ghc-text-binary
10303 (package
10304 (name "ghc-text-binary")
10305 (version "0.2.1.1")
10306 (source
10307 (origin
10308 (method url-fetch)
10309 (uri (string-append "https://hackage.haskell.org/package/"
10310 "text-binary/text-binary-"
10311 version ".tar.gz"))
10312 (sha256
10313 (base32
10314 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10315 (build-system haskell-build-system)
10316 (home-page "https://github.com/kawu/text-binary")
10317 (synopsis "Binary instances for text types")
10318 (description
10319 "This package provides a compatibility layer providing @code{Binary}
10320instances for strict and lazy text types for versions older than 1.2.1 of the
10321text package.")
10322 (license license:bsd-2)))
10323
10324(define-public ghc-tf-random
10325 (package
10326 (name "ghc-tf-random")
10327 (version "0.5")
10328 (outputs '("out" "doc"))
10329 (source
10330 (origin
10331 (method url-fetch)
10332 (uri (string-append
10333 "https://hackage.haskell.org/package/tf-random/tf-random-"
10334 version
10335 ".tar.gz"))
10336 (sha256
10337 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10338 (build-system haskell-build-system)
10339 (inputs
10340 `(("ghc-primitive" ,ghc-primitive)
10341 ("ghc-random" ,ghc-random)))
10342 (home-page "https://hackage.haskell.org/package/tf-random")
10343 (synopsis "High-quality splittable pseudorandom number generator")
10344 (description "This package contains an implementation of a high-quality
10345splittable pseudorandom number generator. The generator is based on a
10346cryptographic hash function built on top of the ThreeFish block cipher. See
10347the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10348Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10349 (license license:bsd-3)))
10350
10351(define-public ghc-th-abstraction
10352 (package
10353 (name "ghc-th-abstraction")
1188eabb 10354 (version "0.3.1.0")
dddbc90c
RV
10355 (source
10356 (origin
10357 (method url-fetch)
10358 (uri (string-append "https://hackage.haskell.org/package/"
10359 "th-abstraction/th-abstraction-"
10360 version ".tar.gz"))
10361 (sha256
10362 (base32
1188eabb 10363 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
10364 (build-system haskell-build-system)
10365 (home-page "https://github.com/glguy/th-abstraction")
10366 (synopsis "Nicer interface for reified information about data types")
10367 (description
10368 "This package normalizes variations in the interface for inspecting
10369datatype information via Template Haskell so that packages and support a
10370single, easier to use informational datatype while supporting many versions of
10371Template Haskell.")
10372 (license license:isc)))
10373
10374(define-public ghc-th-expand-syns
10375 (package
10376 (name "ghc-th-expand-syns")
8c766600 10377 (version "0.4.5.0")
dddbc90c
RV
10378 (source (origin
10379 (method url-fetch)
10380 (uri (string-append "https://hackage.haskell.org/package/"
10381 "th-expand-syns/th-expand-syns-"
10382 version ".tar.gz"))
10383 (sha256
10384 (base32
8c766600 10385 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
10386 (build-system haskell-build-system)
10387 (inputs
10388 `(("ghc-syb" ,ghc-syb)))
10389 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10390 (synopsis "Expands type synonyms in Template Haskell ASTs")
10391 (description
10392 "This package enables users to expand type synonyms in Template Haskell
10393@dfn{abstract syntax trees} (ASTs).")
10394 (license license:bsd-3)))
10395
10396(define-public ghc-th-lift
10397 (package
10398 (name "ghc-th-lift")
bd76b20a 10399 (version "0.8.0.1")
dddbc90c
RV
10400 (source (origin
10401 (method url-fetch)
10402 (uri (string-append "https://hackage.haskell.org/package/"
10403 "th-lift/th-lift-" version ".tar.gz"))
10404 (sha256
10405 (base32
bd76b20a 10406 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
10407 (build-system haskell-build-system)
10408 (inputs
10409 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10410 (home-page "https://github.com/mboes/th-lift")
10411 (synopsis "Derive Template Haskell's Lift class for datatypes")
10412 (description
10413 "This is a Haskell library to derive Template Haskell's Lift class for
10414datatypes.")
10415 (license license:bsd-3)))
10416
10417(define-public ghc-th-lift-instances
10418 (package
10419 (name "ghc-th-lift-instances")
d3db399e 10420 (version "0.1.14")
dddbc90c
RV
10421 (source
10422 (origin
10423 (method url-fetch)
10424 (uri (string-append "https://hackage.haskell.org/package/"
10425 "th-lift-instances/th-lift-instances-"
10426 version ".tar.gz"))
10427 (sha256
10428 (base32
d3db399e 10429 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
10430 (build-system haskell-build-system)
10431 (inputs
10432 `(("ghc-th-lift" ,ghc-th-lift)
10433 ("ghc-vector" ,ghc-vector)
10434 ("ghc-quickcheck" ,ghc-quickcheck)))
10435 (home-page "https://github.com/bennofs/th-lift-instances/")
10436 (synopsis "Lift instances for template-haskell for common data types.")
10437 (description "Most data types in the Haskell platform do not have Lift
10438instances. This package provides orphan instances for @code{containers},
10439@code{text}, @code{bytestring} and @code{vector}.")
10440 (license license:bsd-3)))
10441
10442(define-public ghc-th-orphans
10443 (package
10444 (name "ghc-th-orphans")
882b23e2 10445 (version "0.13.9")
dddbc90c
RV
10446 (source (origin
10447 (method url-fetch)
10448 (uri (string-append "https://hackage.haskell.org/package/"
10449 "th-orphans/th-orphans-" version ".tar.gz"))
10450 (sha256
10451 (base32
882b23e2 10452 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
10453 (build-system haskell-build-system)
10454 (inputs
10455 `(("ghc-th-lift" ,ghc-th-lift)
10456 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10457 ("ghc-th-reify-many" ,ghc-th-reify-many)
10458 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10459 (native-inputs
10460 `(("ghc-hspec" ,ghc-hspec)))
10461 (home-page "https://hackage.haskell.org/package/th-orphans")
10462 (synopsis "Orphan instances for TH datatypes")
10463 (description
10464 "This package provides orphan instances for Template Haskell datatypes. In particular,
10465instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10466and @code{Eq} instances. These instances used to live in the haskell-src-meta
10467package, and that's where the version number started.")
10468 (license license:bsd-3)))
10469
10470(define-public ghc-threads
10471 (package
10472 (name "ghc-threads")
10473 (version "0.5.1.6")
10474 (source
10475 (origin
10476 (method url-fetch)
10477 (uri (string-append "https://hackage.haskell.org/package/"
10478 "threads/threads-" version ".tar.gz"))
10479 (sha256
10480 (base32
10481 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10482 (build-system haskell-build-system)
10483 (native-inputs
10484 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10485 ("ghc-hunit" ,ghc-hunit)
10486 ("ghc-test-framework" ,ghc-test-framework)
10487 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10488 (home-page "https://github.com/basvandijk/threads")
10489 (synopsis "Fork threads and wait for their result")
10490 (description "This package provides functions to fork threads and
10491wait for their result, whether it's an exception or a normal value.
10492Besides waiting for the termination of a single thread this package also
10493provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10494package is similar to the @code{threadmanager}, @code{async} and
10495@code{spawn} packages. The advantages of this package are:
10496
dddbc90c
RV
10497@itemize
10498@item Simpler API.
10499@item More efficient in both space and time.
10500@item No space-leak when forking a large number of threads.
10501@item Correct handling of asynchronous exceptions.
10502@item GHC specific functionality like @code{forkOn} and
10503@code{forkIOWithUnmask}.
10504@end itemize")
10505 (license license:bsd-3)))
10506
10507(define-public ghc-th-reify-many
10508 (package
10509 (name "ghc-th-reify-many")
32d4a6ae 10510 (version "0.1.9")
dddbc90c
RV
10511 (source (origin
10512 (method url-fetch)
10513 (uri (string-append "https://hackage.haskell.org/package/"
10514 "th-reify-many/th-reify-many-"
10515 version ".tar.gz"))
10516 (sha256
10517 (base32
32d4a6ae 10518 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
10519 (build-system haskell-build-system)
10520 (inputs
10521 `(("ghc-safe" ,ghc-safe)
10522 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10523 (home-page "https://github.com/mgsloan/th-reify-many")
10524 (synopsis "Recurseively reify template haskell datatype info")
10525 (description
10526 "th-reify-many provides functions for recursively reifying top level
10527declarations. The main intended use case is for enumerating the names of
10528datatypes reachable from an initial datatype, and passing these names to some
10529function which generates instances.")
10530 (license license:bsd-3)))
10531
10532(define-public ghc-time-locale-compat
10533 (package
10534 (name "ghc-time-locale-compat")
10535 (version "0.1.1.5")
10536 (source
10537 (origin
10538 (method url-fetch)
10539 (uri (string-append "https://hackage.haskell.org/package/"
10540 "time-locale-compat/time-locale-compat-"
10541 version ".tar.gz"))
10542 (sha256
10543 (base32
10544 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10545 (build-system haskell-build-system)
10546 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10547 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10548 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10549 (description "This package contains a wrapped name module for
10550@code{TimeLocale}.")
10551 (license license:bsd-3)))
10552
7bbfa392
JS
10553(define-public ghc-timeit
10554 (package
10555 (name "ghc-timeit")
10556 (version "2.0")
10557 (source
10558 (origin
10559 (method url-fetch)
10560 (uri
10561 (string-append
10562 "https://hackage.haskell.org/package/timeit/timeit-"
10563 version ".tar.gz"))
10564 (sha256
10565 (base32
10566 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
10567 (build-system haskell-build-system)
10568 (home-page "https://github.com/merijn/timeit")
10569 (synopsis "Time monadic computations with an IO base")
10570 (description "This package provides a simple wrapper to show the
10571used CPU time of monadic computation with an IO base.")
10572 (license license:bsd-3)))
10573
dddbc90c
RV
10574(define-public ghc-tldr
10575 (package
10576 (name "ghc-tldr")
10577 (version "0.4.0.1")
10578 (source
10579 (origin
10580 (method url-fetch)
10581 (uri (string-append
10582 "https://hackage.haskell.org/package/tldr/tldr-"
10583 version
10584 ".tar.gz"))
10585 (sha256
10586 (base32
10587 "0nc581y9jjzwd8l88g48c72mla7k6q1w102akl7gl5jsk9ljamd3"))))
10588 (build-system haskell-build-system)
10589 (inputs
10590 `(("ghc-cmark" ,ghc-cmark)
10591 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10592 ("ghc-typed-process" ,ghc-typed-process)
10593 ("ghc-semigroups" ,ghc-semigroups)))
10594 (native-inputs
10595 `(("ghc-tasty" ,ghc-tasty)
10596 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10597 (home-page "https://github.com/psibi/tldr-hs#readme")
10598 (synopsis "Haskell tldr client")
10599 (description "This package provides the @command{tldr} command and a
10600Haskell client library allowing users to update and view @code{tldr} pages
10601from a shell. The @code{tldr} pages are a community effort to simplify the
10602man pages with practical examples.")
10603 (license license:bsd-3)))
10604
10605(define-public ghc-transformers-base
10606 (package
10607 (name "ghc-transformers-base")
10608 (version "0.4.5.2")
10609 (source
10610 (origin
10611 (method url-fetch)
10612 (uri (string-append
10613 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10614 version
10615 ".tar.gz"))
10616 (sha256
10617 (base32
10618 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10619 (build-system haskell-build-system)
10620 (inputs
10621 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10622 (home-page
10623 "https://hackage.haskell.org/package/transformers-compat")
10624 (synopsis
10625 "Backported transformer library")
10626 (description
10627 "Backported versions of types that were added to transformers in
10628transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10629compatibility to run on old versions of the platform.")
10630 (license license:bsd-3)))
10631
10632(define-public ghc-transformers-compat
10633 (package
10634 (name "ghc-transformers-compat")
1c9c4d58 10635 (version "0.6.5")
dddbc90c
RV
10636 (source
10637 (origin
10638 (method url-fetch)
10639 (uri (string-append
10640 "https://hackage.haskell.org/package/transformers-compat"
10641 "/transformers-compat-" version ".tar.gz"))
10642 (sha256
10643 (base32
1c9c4d58 10644 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
10645 (build-system haskell-build-system)
10646 (home-page "https://github.com/ekmett/transformers-compat/")
10647 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10648 (description "This package includes backported versions of types that were
10649added to transformers in transformers 0.3 and 0.4 for users who need strict
10650transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10651but also need those types.")
10652 (license license:bsd-3)))
10653
10654(define-public ghc-tree-diff
10655 (package
10656 (name "ghc-tree-diff")
10657 (version "0.0.1")
10658 (source
10659 (origin
10660 (method url-fetch)
10661 (uri (string-append
10662 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10663 version
10664 ".tar.gz"))
10665 (sha256
10666 (base32
10667 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10668 (build-system haskell-build-system)
10669 (arguments
10670 `(#:cabal-revision
10671 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10672 #:phases
10673 (modify-phases %standard-phases
10674 (add-before 'configure 'update-constraints
10675 (lambda _
10676 (substitute* "tree-diff.cabal"
10677 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10678 "trifecta >=1.7.1.1 && <=2")))))))
10679 (inputs
10680 `(("ghc-aeson" ,ghc-aeson)
10681 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10682 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10683 ("ghc-base-compat" ,ghc-base-compat)
10684 ("ghc-generics-sop" ,ghc-generics-sop)
10685 ("ghc-hashable" ,ghc-hashable)
10686 ("ghc-memotrie" ,ghc-memotrie)
10687 ("ghc-parsers" ,ghc-parsers)
10688 ("ghc-quickcheck" ,ghc-quickcheck)
10689 ("ghc-scientific" ,ghc-scientific)
10690 ("ghc-tagged" ,ghc-tagged)
10691 ("ghc-unordered-containers" ,ghc-unordered-containers)
10692 ("ghc-uuid-types" ,ghc-uuid-types)
10693 ("ghc-vector" ,ghc-vector)))
10694 (native-inputs
10695 `(("ghc-base-compat" ,ghc-base-compat)
10696 ("ghc-quickcheck" ,ghc-quickcheck)
10697 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10698 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10699 ("ghc-trifecta" ,ghc-trifecta)
10700 ("ghc-tasty" ,ghc-tasty)
10701 ("ghc-tasty-golden" ,ghc-tasty-golden)
10702 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10703 (home-page "https://github.com/phadej/tree-diff")
10704 (synopsis "Compute difference between (expression) trees")
10705 (description "This Haskell library provides a function for computing
10706the difference between (expression) trees. It also provides a way to
10707compute the difference between arbitrary abstract datatypes (ADTs) using
10708@code{Generics}-derivable helpers.")
10709 (license license:bsd-3)))
10710
10711(define-public ghc-trifecta
10712 (package
10713 (name "ghc-trifecta")
10714 (version "2")
10715 (source (origin
10716 (method url-fetch)
10717 (uri (string-append
10718 "https://hackage.haskell.org/package/trifecta/"
10719 "trifecta-" version ".tar.gz"))
10720 (sha256
10721 (base32
10722 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10723 (build-system haskell-build-system)
10724 (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
10725 (inputs
10726 `(("ghc-reducers" ,ghc-reducers)
10727 ("ghc-semigroups" ,ghc-semigroups)
10728 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10729 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10730 ("ghc-blaze-builder" ,ghc-blaze-builder)
10731 ("ghc-blaze-html" ,ghc-blaze-html)
10732 ("ghc-blaze-markup" ,ghc-blaze-markup)
10733 ("ghc-charset" ,ghc-charset)
10734 ("ghc-comonad" ,ghc-comonad)
10735 ("ghc-fingertree" ,ghc-fingertree)
10736 ("ghc-hashable" ,ghc-hashable)
10737 ("ghc-lens" ,ghc-lens)
10738 ("ghc-parsers" ,ghc-parsers)
10739 ("ghc-profunctors" ,ghc-profunctors)
10740 ("ghc-unordered-containers" ,ghc-unordered-containers)
10741 ("ghc-utf8-string" ,ghc-utf8-string)))
10742 (native-inputs
10743 `(("cabal-doctest" ,cabal-doctest)
10744 ("ghc-doctest" ,ghc-doctest)
10745 ("ghc-quickcheck" ,ghc-quickcheck)))
10746 (home-page "https://github.com/ekmett/trifecta/")
10747 (synopsis "Parser combinator library with convenient diagnostics")
10748 (description "Trifecta is a modern parser combinator library for Haskell,
10749with slicing and Clang-style colored diagnostics.")
10750 (license license:bsd-3)))
10751
10752(define-public ghc-tuple-th
10753 (package
10754 (name "ghc-tuple-th")
10755 (version "0.2.5")
10756 (source
10757 (origin
10758 (method url-fetch)
10759 (uri (string-append "https://hackage.haskell.org/package/"
10760 "tuple-th-" version "/"
10761 "tuple-th-" version ".tar.gz"))
10762 (sha256
10763 (base32
10764 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10765 (build-system haskell-build-system)
10766 (home-page "https://github.com/DanielSchuessler/tuple-th")
10767 (synopsis "Generate utility functions for tuples of statically known size
10768for Haskell")
10769 (description "This Haskell package contains Template Haskell functions for
10770generating functions similar to those in @code{Data.List} for tuples of
10771statically known size.")
10772 (license license:bsd-3)))
10773
10774(define-public ghc-typed-process
10775 (package
10776 (name "ghc-typed-process")
10777 (version "0.2.3.0")
10778 (source
10779 (origin
10780 (method url-fetch)
10781 (uri (string-append "https://hackage.haskell.org/package/"
10782 "typed-process/typed-process-"
10783 version ".tar.gz"))
10784 (sha256
10785 (base32
10786 "0j36vrc9w841m5qbwqra1lwiznx31xfnhin1sm8x2c2739csbpn0"))))
10787 (build-system haskell-build-system)
10788 (inputs
10789 `(("ghc-async" ,ghc-async)))
10790 (native-inputs
10791 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10792 ("ghc-hspec" ,ghc-hspec)
10793 ("hspec-discover" ,hspec-discover)
10794 ("ghc-temporary" ,ghc-temporary)))
10795 (home-page "https://haskell-lang.org/library/typed-process")
10796 (synopsis "Run external processes with strong typing of streams")
10797 (description
10798 "This library provides the ability to launch and interact with external
10799processes. It wraps around the @code{process} library, and intends to improve
10800upon it.")
10801 (license license:expat)))
10802
d392f803
AG
10803(define-public ghc-unagi-chan
10804 (package
10805 (name "ghc-unagi-chan")
10806 (version "0.4.1.2")
10807 (source
10808 (origin
10809 (method url-fetch)
10810 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
10811 "/unagi-chan-" version ".tar.gz"))
10812 (sha256
10813 (base32
10814 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
10815 (build-system haskell-build-system)
10816 (inputs
10817 `(("ghc-atomic-primops" ,ghc-atomic-primops)
10818 ("ghc-primitive" ,ghc-primitive)))
10819 (arguments
10820 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
10821 #:cabal-revision
10822 ("1"
10823 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
10824 (home-page "http://hackage.haskell.org/package/unagi-chan")
10825 (synopsis "Fast concurrent queues with a Chan-like API, and more")
10826 (description
10827 "This library provides implementations of concurrent FIFO queues (for
10828both general boxed and primitive unboxed values) that are fast, perform well
10829under contention, and offer a Chan-like interface. The library may be of
10830limited usefulness outside of x86 architectures where the fetch-and-add
10831instruction is not available.")
10832 (license license:bsd-3)))
10833
dddbc90c
RV
10834(define-public ghc-unbounded-delays
10835 (package
10836 (name "ghc-unbounded-delays")
10837 (version "0.1.1.0")
10838 (source
10839 (origin
10840 (method url-fetch)
10841 (uri (string-append
10842 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
10843 version
10844 ".tar.gz"))
10845 (sha256
10846 (base32
10847 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
10848 (build-system haskell-build-system)
10849 (home-page "https://github.com/basvandijk/unbounded-delays")
10850 (synopsis "Unbounded thread delays and timeouts")
10851 (description "The @code{threadDelay} and @code{timeout} functions from the
10852Haskell base library use the bounded @code{Int} type for specifying the delay
10853or timeout period. This package provides alternative functions which use the
10854unbounded @code{Integer} type.")
10855 (license license:bsd-3)))
10856
10857(define-public ghc-unexceptionalio
10858 (package
10859 (name "ghc-unexceptionalio")
10860 (version "0.4.0")
10861 (source
10862 (origin
10863 (method url-fetch)
10864 (uri (string-append "https://hackage.haskell.org/package/"
10865 "unexceptionalio-" version "/" "unexceptionalio-"
10866 version ".tar.gz"))
10867 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
10868 (build-system haskell-build-system)
10869 (home-page "https://github.com/singpolyma/unexceptionalio")
10870 (synopsis "IO without any non-error, synchronous exceptions")
10871 (description "When you've caught all the exceptions that can be
10872handled safely, this is what you're left with.")
10873 (license license:isc)))
10874
10875(define-public ghc-union-find
10876 (package
10877 (name "ghc-union-find")
10878 (version "0.2")
10879 (source (origin
10880 (method url-fetch)
10881 (uri (string-append
10882 "https://hackage.haskell.org/package/union-find/union-find-"
10883 version ".tar.gz"))
10884 (sha256
10885 (base32
10886 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
10887 (build-system haskell-build-system)
10888 (home-page "https://github.com/nominolo/union-find")
10889 (synopsis "Efficient union and equivalence testing of sets")
10890 (description
10891 "The Union/Find algorithm implements these operations in (effectively)
10892constant-time:
10893@enumerate
10894@item Check whether two elements are in the same equivalence class.
10895@item Create a union of two equivalence classes.
10896@item Look up the descriptor of the equivalence class.
10897@end enumerate\n")
10898 (license license:bsd-3)))
10899
10900(define-public ghc-uniplate
10901 (package
10902 (name "ghc-uniplate")
10903 (version "1.6.12")
10904 (source
10905 (origin
10906 (method url-fetch)
10907 (uri (string-append
10908 "https://hackage.haskell.org/package/uniplate/uniplate-"
10909 version
10910 ".tar.gz"))
10911 (sha256
10912 (base32
10913 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
10914 (build-system haskell-build-system)
10915 (inputs
10916 `(("ghc-syb" ,ghc-syb)
10917 ("ghc-hashable" ,ghc-hashable)
10918 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10919 (home-page "http://community.haskell.org/~ndm/uniplate/")
10920 (synopsis "Simple, concise and fast generic operations")
10921 (description "Uniplate is a library for writing simple and concise generic
10922operations. Uniplate has similar goals to the original Scrap Your Boilerplate
10923work, but is substantially simpler and faster.")
10924 (license license:bsd-3)))
10925
10926(define-public ghc-unix-compat
10927 (package
10928 (name "ghc-unix-compat")
bc82e9f5 10929 (version "0.5.2")
dddbc90c
RV
10930 (source
10931 (origin
10932 (method url-fetch)
10933 (uri (string-append
10934 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
10935 version
10936 ".tar.gz"))
10937 (sha256
10938 (base32
bc82e9f5 10939 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
10940 (build-system haskell-build-system)
10941 (home-page
10942 "https://github.com/jystic/unix-compat")
10943 (synopsis "Portable POSIX-compatibility layer")
10944 (description
10945 "This package provides portable implementations of parts of the unix
10946package. This package re-exports the unix package when available. When it
10947isn't available, portable implementations are used.")
10948 (license license:bsd-3)))
10949
10950(define-public ghc-unix-time
10951 (package
10952 (name "ghc-unix-time")
fad9cff2 10953 (version "0.4.7")
dddbc90c
RV
10954 (source
10955 (origin
10956 (method url-fetch)
10957 (uri (string-append
10958 "https://hackage.haskell.org/package/unix-time/unix-time-"
10959 version
10960 ".tar.gz"))
10961 (sha256
10962 (base32
fad9cff2 10963 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
10964 (build-system haskell-build-system)
10965 (arguments
10966 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
10967 ; is weird, that should be provided by GHC 7.10.2.
10968 (inputs
10969 `(("ghc-old-time" ,ghc-old-time)
10970 ("ghc-old-locale" ,ghc-old-locale)))
10971 (home-page "https://hackage.haskell.org/package/unix-time")
10972 (synopsis "Unix time parser/formatter and utilities")
10973 (description "This library provides fast parsing and formatting utilities
10974for Unix time in Haskell.")
10975 (license license:bsd-3)))
10976
10977(define-public ghc-unliftio
10978 (package
10979 (name "ghc-unliftio")
a4084db1 10980 (version "0.2.12")
dddbc90c
RV
10981 (source
10982 (origin
10983 (method url-fetch)
10984 (uri (string-append
10985 "https://hackage.haskell.org/package/unliftio/unliftio-"
10986 version
10987 ".tar.gz"))
10988 (sha256
10989 (base32
a4084db1 10990 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
10991 (build-system haskell-build-system)
10992 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
10993 (inputs
10994 `(("ghc-async" ,ghc-async)
10995 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10996 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
10997 (home-page "https://github.com/fpco/unliftio")
10998 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
10999IO (batteries included)")
11000 (description "This Haskell package provides the core @code{MonadUnliftIO}
11001typeclass, a number of common instances, and a collection of common functions
11002working with it.")
11003 (license license:expat)))
11004
11005(define-public ghc-unliftio-core
11006 (package
11007 (name "ghc-unliftio-core")
2ae42618 11008 (version "0.1.2.0")
dddbc90c
RV
11009 (source
11010 (origin
11011 (method url-fetch)
11012 (uri (string-append "https://hackage.haskell.org/package/"
11013 "unliftio-core-" version "/"
11014 "unliftio-core-" version ".tar.gz"))
11015 (sha256
11016 (base32
2ae42618 11017 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
11018 (build-system haskell-build-system)
11019 (arguments
11020 `(#:cabal-revision
2ae42618 11021 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
11022 (home-page
11023 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
11024 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
11025 (description "This Haskell package provides the core @code{MonadUnliftIO}
11026typeclass, instances for base and transformers, and basic utility
11027functions.")
11028 (license license:expat)))
11029
11030(define-public ghc-unordered-containers
11031 (package
11032 (name "ghc-unordered-containers")
ca01f8d3 11033 (version "0.2.10.0")
dddbc90c
RV
11034 (outputs '("out" "doc"))
11035 (source
11036 (origin
11037 (method url-fetch)
11038 (uri (string-append
11039 "https://hackage.haskell.org/package/unordered-containers"
11040 "/unordered-containers-" version ".tar.gz"))
11041 (sha256
11042 (base32
ca01f8d3 11043 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
11044 (build-system haskell-build-system)
11045 (inputs
11046 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
11047 ("ghc-hunit" ,ghc-hunit)
11048 ("ghc-quickcheck" ,ghc-quickcheck)
11049 ("ghc-test-framework" ,ghc-test-framework)
11050 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11051 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11052 ("ghc-hashable" ,ghc-hashable)))
11053 (home-page
11054 "https://github.com/tibbe/unordered-containers")
11055 (synopsis
11056 "Efficient hashing-based container types")
11057 (description
11058 "Efficient hashing-based container types. The containers have been
11059optimized for performance critical use, both in terms of large data quantities
11060and high speed.")
11061 (license license:bsd-3)))
11062
11063(define-public ghc-unordered-containers-bootstrap
11064 (package
11065 (inherit ghc-unordered-containers)
11066 (name "ghc-unordered-containers-bootstrap")
11067 (arguments `(#:tests? #f))
11068 (inputs
11069 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11070 (properties '((hidden? #t)))))
dddbc90c 11071
a52f4c57
JS
11072(define-public ghc-unsafe
11073 (package
11074 (name "ghc-unsafe")
11075 (version "0.0")
11076 (source
11077 (origin
11078 (method url-fetch)
11079 (uri
11080 (string-append
11081 "https://hackage.haskell.org/package/unsafe/unsafe-"
11082 version ".tar.gz"))
11083 (sha256
11084 (base32
11085 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
11086 (build-system haskell-build-system)
11087 (home-page "https://hackage.haskell.org/package/unsafe")
11088 (synopsis "Unified interface to unsafe functions")
11089 (description "Safe Haskell introduced the notion of safe and unsafe
11090modules. In order to make as many as possible modules ``safe'', the
11091well-known unsafe functions were moved to distinguished modules. This
11092makes it hard to write packages that work with both old and new versions
11093of GHC. This package provides a single module System.Unsafe that
11094exports the unsafe functions from the base package. It provides them in
11095a style ready for qualification, that is, you should import them by
11096@code{import qualified System.Unsafe as Unsafe}.")
11097 (license license:bsd-3)))
11098
dddbc90c
RV
11099(define-public ghc-uri-bytestring
11100 (package
11101 (name "ghc-uri-bytestring")
11102 (version "0.3.2.0")
11103 (source
11104 (origin
11105 (method url-fetch)
11106 (uri (string-append "https://hackage.haskell.org/package/"
11107 "uri-bytestring-" version "/"
11108 "uri-bytestring-" version ".tar.gz"))
11109 (sha256
11110 (base32
11111 "1q04j5ybvk37zk2m0bkjwyhblz0ymdj0cn4rvsvdca1ikn5xdv5c"))))
11112 (build-system haskell-build-system)
11113 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11114 ("ghc-fail" ,ghc-fail)
11115 ("ghc-blaze-builder" ,ghc-blaze-builder)
11116 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
11117 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11118 ("ghc-hunit" ,ghc-hunit)
11119 ("ghc-quickcheck" ,ghc-quickcheck)
11120 ("ghc-tasty" ,ghc-tasty)
11121 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11122 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11123 ("ghc-base-compat" ,ghc-base-compat)
11124 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11125 ("ghc-semigroups" ,ghc-semigroups)
11126 ("ghc-generics-sop" ,ghc-generics-sop)))
11127 (home-page "https://github.com/Soostone/uri-bytestring")
11128 (synopsis "Haskell URI parsing as ByteStrings")
11129 (description "This Haskell package aims to be an RFC3986 compliant URI
11130parser that uses ByteStrings for parsing and representing the URI data.")
11131 (license license:bsd-3)))
11132
11133(define-public ghc-utf8-string
11134 (package
11135 (name "ghc-utf8-string")
11136 (version "1.0.1.1")
11137 (source
11138 (origin
11139 (method url-fetch)
11140 (uri (string-append
11141 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
11142 version
11143 ".tar.gz"))
11144 (sha256
11145 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
11146 (build-system haskell-build-system)
11147 (arguments
11148 `(#:cabal-revision
11149 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
11150 (home-page "https://github.com/glguy/utf8-string/")
11151 (synopsis "Support for reading and writing UTF8 Strings")
11152 (description
11153 "A UTF8 layer for Strings. The utf8-string package provides operations
11154for encoding UTF8 strings to Word8 lists and back, and for reading and writing
11155UTF8 without truncation.")
11156 (license license:bsd-3)))
11157
11158(define-public ghc-utility-ht
11159 (package
11160 (name "ghc-utility-ht")
11161 (version "0.0.14")
11162 (home-page "https://hackage.haskell.org/package/utility-ht")
11163 (source
11164 (origin
11165 (method url-fetch)
11166 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
11167 (sha256
11168 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
11169 (build-system haskell-build-system)
11170 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
11171 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
11172 (description "This package includes Hakell modules providing various
11173helper functions for Lists, Maybes, Tuples, Functions.")
11174 (license license:bsd-3)))
11175
11176(define-public ghc-uuid
11177 (package
11178 (name "ghc-uuid")
11179 (version "1.3.13")
11180 (source
11181 (origin
11182 (method url-fetch)
11183 (uri (string-append "https://hackage.haskell.org/package/"
11184 "uuid-" version "/"
11185 "uuid-" version ".tar.gz"))
11186 (sha256
11187 (base32
11188 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
11189 (build-system haskell-build-system)
11190 (arguments
11191 `(#:cabal-revision
11192 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
11193 #:phases
11194 (modify-phases %standard-phases
11195 (add-before 'configure 'strip-test-framework-constraints
11196 (lambda _
11197 (substitute* "uuid.cabal"
11198 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
11199 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
11200 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11201 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11202 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11203 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
11204 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
11205 ("ghc-entropy" ,ghc-entropy)
11206 ("ghc-network-info" ,ghc-network-info)
11207 ("ghc-random" ,ghc-random)
11208 ("ghc-uuid-types" ,ghc-uuid-types)))
11209 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11210 ("ghc-quickcheck" ,ghc-quickcheck)
11211 ("ghc-tasty" ,ghc-tasty)
11212 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11213 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11214 (home-page "https://github.com/hvr/uuid")
11215 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
11216 (description "This Haskell library provides utilities creating, comparing,
11217parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
11218 (license license:bsd-3)))
11219
11220(define-public ghc-uuid-types
11221 (package
11222 (name "ghc-uuid-types")
11223 (version "1.0.3")
11224 (source
11225 (origin
11226 (method url-fetch)
11227 (uri (string-append "https://hackage.haskell.org/package/"
11228 "uuid-types-" version "/"
11229 "uuid-types-" version ".tar.gz"))
11230 (sha256
11231 (base32
11232 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
11233 (build-system haskell-build-system)
11234 (arguments
11235 `(#:phases
11236 (modify-phases %standard-phases
11237 (add-before 'configure 'strip-test-framework-constraints
11238 (lambda _
11239 (substitute* "uuid-types.cabal"
11240 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
11241 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
11242 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11243 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11244 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11245 (inputs `(("ghc-hashable" ,ghc-hashable)
11246 ("ghc-random" ,ghc-random)))
11247 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11248 ("ghc-quickcheck" ,ghc-quickcheck)
11249 ("ghc-tasty" ,ghc-tasty)
11250 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11251 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11252 (home-page "https://github.com/hvr/uuid")
11253 (synopsis "Haskell type definitions for UUIDs")
11254 (description "This Haskell library contains type definitions for
11255@dfn{Universally Unique Identifiers} or
11256@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
11257functions.")
11258 (license license:bsd-3)))
11259
11260(define-public ghc-validation
11261 (package
11262 (name "ghc-validation")
11263 (version "1")
11264 (source
11265 (origin
11266 (method url-fetch)
11267 (uri (string-append
11268 "mirror://hackage/package/validation/validation-"
11269 version
11270 ".tar.gz"))
11271 (sha256
11272 (base32
11273 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
11274 (build-system haskell-build-system)
11275 (arguments
11276 `(#:cabal-revision
11277 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
11278 (inputs
11279 `(("ghc-semigroups" ,ghc-semigroups)
11280 ("ghc-semigroupoids" ,ghc-semigroupoids)
11281 ("ghc-bifunctors" ,ghc-bifunctors)
11282 ("ghc-lens" ,ghc-lens)))
11283 (native-inputs
11284 `(("ghc-hedgehog" ,ghc-hedgehog)
11285 ("ghc-hunit" ,ghc-hunit)))
11286 (home-page "https://github.com/qfpl/validation")
11287 (synopsis
11288 "Data-type like Either but with an accumulating Applicative")
11289 (description
11290 "A data-type like Either but with differing properties and type-class
11291instances.
11292
11293Library support is provided for this different representation, including
11294@code{lens}-related functions for converting between each and abstracting over
11295their similarities.
11296
11297The @code{Validation} data type is isomorphic to @code{Either}, but has an
11298instance of @code{Applicative} that accumulates on the error side. That is to
11299say, if two (or more) errors are encountered, they are appended using a
11300@{Semigroup} operation.
11301
11302As a consequence of this @code{Applicative} instance, there is no
11303corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11304example of, \"An applicative functor that is not a monad.\"")
11305 (license license:bsd-3)))
11306
11307(define-public ghc-validity
11308 (package
11309 (name "ghc-validity")
3f1ba75d 11310 (version "0.9.0.2")
dddbc90c
RV
11311 (source
11312 (origin
11313 (method url-fetch)
11314 (uri (string-append
11315 "https://hackage.haskell.org/package/validity/validity-"
11316 version
11317 ".tar.gz"))
11318 (sha256
11319 (base32
3f1ba75d 11320 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
11321 (build-system haskell-build-system)
11322 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11323 ("hspec-discover" ,hspec-discover)))
11324 (home-page
11325 "https://github.com/NorfairKing/validity")
11326 (synopsis "Validity typeclass")
11327 (description
11328 "Values of custom types usually have invariants imposed upon them. This
11329package provides the @code{Validity} type class, which makes these invariants
11330explicit by providing a function to check whether the invariants hold.")
11331 (license license:expat)))
11332
11333(define-public ghc-vault
11334 (package
11335 (name "ghc-vault")
11336 (version "0.3.1.2")
11337 (source
11338 (origin
11339 (method url-fetch)
11340 (uri (string-append
11341 "https://hackage.haskell.org/package/vault/vault-"
11342 version
11343 ".tar.gz"))
11344 (sha256
11345 (base32
11346 "072mbrihsdsb8c6xvg6lvk0rqjgvxvi8qkg4n6wwym5hq0pfa04y"))))
11347 (build-system haskell-build-system)
11348 (inputs
11349 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11350 ("ghc-hashable" ,ghc-hashable)
11351 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11352 (home-page
11353 "https://github.com/HeinrichApfelmus/vault")
11354 (synopsis "Persistent store for arbitrary values")
11355 (description "This package provides vaults for Haskell. A vault is a
11356persistent store for values of arbitrary types. It's like having first-class
11357access to the storage space behind @code{IORefs}. The data structure is
11358analogous to a bank vault, where you can access different bank boxes with
11359different keys; hence the name. Also provided is a @code{locker} type,
11360representing a store for a single element.")
11361 (license license:bsd-3)))
11362
11363(define-public ghc-vector
11364 (package
11365 (name "ghc-vector")
3ad67f6b 11366 (version "0.12.0.3")
dddbc90c
RV
11367 (outputs '("out" "doc"))
11368 (source
11369 (origin
11370 (method url-fetch)
11371 (uri (string-append
11372 "https://hackage.haskell.org/package/vector/vector-"
11373 version
11374 ".tar.gz"))
11375 (sha256
11376 (base32
3ad67f6b 11377 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
11378 (build-system haskell-build-system)
11379 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11380 ;; disabled for now.
11381 (arguments
3ad67f6b 11382 `(#:tests? #f))
dddbc90c
RV
11383 (inputs
11384 `(("ghc-primitive" ,ghc-primitive)
11385 ("ghc-random" ,ghc-random)
11386 ("ghc-quickcheck" ,ghc-quickcheck)
11387 ;; ("ghc-hunit" ,ghc-hunit)
11388 ;; ("ghc-test-framework" ,ghc-test-framework)
11389 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11390 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11391 ))
11392 (home-page "https://github.com/haskell/vector")
11393 (synopsis "Efficient Arrays")
11394 (description "This library provides an efficient implementation of
11395Int-indexed arrays (both mutable and immutable), with a powerful loop
11396optimisation framework.")
11397 (license license:bsd-3)))
11398
11399(define-public ghc-vector-algorithms
11400 (package
11401 (name "ghc-vector-algorithms")
e71f316f 11402 (version "0.8.0.1")
dddbc90c
RV
11403 (source
11404 (origin
11405 (method url-fetch)
11406 (uri (string-append "https://hackage.haskell.org/package/"
11407 "vector-algorithms-" version "/"
11408 "vector-algorithms-" version ".tar.gz"))
11409 (sha256
11410 (base32
e71f316f 11411 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
11412 (build-system haskell-build-system)
11413 (inputs
11414 `(("ghc-vector" ,ghc-vector)))
11415 (native-inputs
11416 `(("ghc-quickcheck" ,ghc-quickcheck)))
11417 (home-page "https://github.com/bos/math-functions")
11418 (synopsis "Algorithms for vector arrays in Haskell")
11419 (description "This Haskell library algorithms for vector arrays.")
11420 (license license:bsd-3)))
11421
11422(define-public ghc-vector-binary-instances
11423 (package
11424 (name "ghc-vector-binary-instances")
ca0701ef 11425 (version "0.2.5.1")
dddbc90c
RV
11426 (source
11427 (origin
11428 (method url-fetch)
11429 (uri (string-append
11430 "https://hackage.haskell.org/package/"
11431 "vector-binary-instances/vector-binary-instances-"
11432 version ".tar.gz"))
11433 (sha256
11434 (base32
ca0701ef 11435 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 11436 (build-system haskell-build-system)
dddbc90c
RV
11437 (inputs
11438 `(("ghc-vector" ,ghc-vector)))
11439 (native-inputs
11440 `(("ghc-tasty" ,ghc-tasty)
11441 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11442 (home-page "https://github.com/bos/vector-binary-instances")
11443 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11444 (description "This library provides instances of @code{Binary} for the
11445types defined in the @code{vector} package, making it easy to serialize
11446vectors to and from disk. We use the generic interface to vectors, so all
11447vector types are supported. Specific instances are provided for unboxed,
11448boxed and storable vectors.")
11449 (license license:bsd-3)))
11450
11451(define-public ghc-vector-builder
11452 (package
11453 (name "ghc-vector-builder")
11454 (version "0.3.6")
11455 (source
11456 (origin
11457 (method url-fetch)
11458 (uri (string-append "https://hackage.haskell.org/package/"
11459 "vector-builder-" version "/"
11460 "vector-builder-" version ".tar.gz"))
11461 (sha256
11462 (base32
11463 "06d2pa1fb3ydrl7l6rjazqyxv5i73v65x2f5fp0ypjxfbm6jsmn8"))))
11464 (build-system haskell-build-system)
11465 (inputs `(("ghc-vector" ,ghc-vector)
11466 ("ghc-semigroups" ,ghc-semigroups)
11467 ("ghc-base-prelude" ,ghc-base-prelude)))
11468 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11469 ("ghc-tasty" ,ghc-tasty)
11470 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11471 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11472 ("ghc-hunit" ,ghc-hunit)
11473 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11474 ("ghc-rerebase" ,ghc-rerebase)))
11475 (home-page "https://github.com/nikita-volkov/vector-builder")
11476 (synopsis "Vector builder for Haskell")
11477 (description "This Haskell package provides an API for constructing vectors.
11478It provides the composable @code{Builder} abstraction, which has instances of the
11479@code{Monoid} and @code{Semigroup} classes.
11480
11481You would first use the @code{Builder} abstraction to specify the structure of
11482the vector; then you can execute the builder to actually produce the
11483vector. ")
11484 (license license:expat)))
11485
11486(define-public ghc-vector-th-unbox
11487 (package
11488 (name "ghc-vector-th-unbox")
63056e61 11489 (version "0.2.1.7")
dddbc90c
RV
11490 (source
11491 (origin
11492 (method url-fetch)
11493 (uri (string-append "https://hackage.haskell.org/package/"
11494 "vector-th-unbox-" version "/"
11495 "vector-th-unbox-" version ".tar.gz"))
11496 (sha256
11497 (base32
63056e61 11498 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
11499 (build-system haskell-build-system)
11500 (inputs
11501 `(("ghc-vector" ,ghc-vector)
11502 ("ghc-data-default" ,ghc-data-default)))
11503 (home-page "https://github.com/liyang/vector-th-unbox")
11504 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
11505 (description "This Haskell library provides a Template Haskell
11506deriver for unboxed vectors, given a pair of coercion functions to
11507and from some existing type with an Unbox instance.")
11508 (license license:bsd-3)))
11509
11510(define-public ghc-void
11511 (package
11512 (name "ghc-void")
51889121 11513 (version "0.7.3")
dddbc90c
RV
11514 (source
11515 (origin
11516 (method url-fetch)
11517 (uri (string-append
11518 "https://hackage.haskell.org/package/void/void-"
11519 version
11520 ".tar.gz"))
11521 (sha256
11522 (base32
51889121 11523 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
11524 (build-system haskell-build-system)
11525 (inputs
11526 `(("ghc-semigroups" ,ghc-semigroups)
11527 ("ghc-hashable" ,ghc-hashable)))
11528 (home-page "https://github.com/ekmett/void")
11529 (synopsis
11530 "Logically uninhabited data type")
11531 (description
11532 "A Haskell 98 logically uninhabited data type, used to indicate that a
11533given term should not exist.")
11534 (license license:bsd-3)))
11535
11536(define-public ghc-wave
11537 (package
11538 (name "ghc-wave")
11539 (version "0.1.5")
11540 (source (origin
11541 (method url-fetch)
11542 (uri (string-append
11543 "https://hackage.haskell.org/package/wave/wave-"
11544 version
11545 ".tar.gz"))
11546 (sha256
11547 (base32
11548 "03zycmwrchhqvi37fdvlzz2d1vl4hy0i8xyys1zznw38qfq0h2i5"))))
11549 (build-system haskell-build-system)
11550 (arguments
11551 '(#:phases
11552 (modify-phases %standard-phases
11553 (add-before 'configure 'update-constraints
11554 (lambda _
11555 (substitute* "wave.cabal"
11556 (("temporary.* < 1\\.3")
11557 "temporary >= 1.1 && < 1.4")))))))
11558 (inputs
11559 `(("ghc-cereal" ,ghc-cereal)
11560 ("ghc-data-default-class"
11561 ,ghc-data-default-class)
11562 ("ghc-quickcheck" ,ghc-quickcheck)
11563 ("ghc-temporary" ,ghc-temporary)))
11564 (native-inputs
11565 `(("hspec-discover" ,hspec-discover)
11566 ("ghc-hspec" ,ghc-hspec)))
11567 (home-page "https://github.com/mrkkrp/wave")
11568 (synopsis "Work with WAVE and RF64 files in Haskell")
11569 (description "This package allows you to work with WAVE and RF64
11570files in Haskell.")
11571 (license license:bsd-3)))
11572
11573(define-public ghc-wcwidth
11574 (package
11575 (name "ghc-wcwidth")
11576 (version "0.0.2")
11577 (source
11578 (origin
11579 (method url-fetch)
11580 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11581 version ".tar.gz"))
11582 (sha256
11583 (base32
11584 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11585 (build-system haskell-build-system)
11586 (inputs
11587 `(("ghc-setlocale" ,ghc-setlocale)
11588 ("ghc-utf8-string" ,ghc-utf8-string)
11589 ("ghc-attoparsec" ,ghc-attoparsec)))
11590 (home-page "https://github.com/solidsnack/wcwidth/")
11591 (synopsis "Haskell bindings to wcwidth")
11592 (description "This package provides Haskell bindings to your system's
11593native wcwidth and a command line tool to examine the widths assigned by it.
11594The command line tool can compile a width table to Haskell code that assigns
11595widths to the Char type.")
11596 (license license:bsd-3)))
11597
11598(define-public ghc-wcwidth-bootstrap
11599 (package
11600 (inherit ghc-wcwidth)
11601 (name "ghc-wcwidth-bootstrap")
11602 (inputs
11603 `(("ghc-setlocale" ,ghc-setlocale)
11604 ("ghc-utf8-string" ,ghc-utf8-string)
11605 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 11606 (properties '((hidden? #t)))))
dddbc90c
RV
11607
11608(define-public ghc-weigh
11609 (package
11610 (name "ghc-weigh")
11611 (version "0.0.12")
11612 (source
11613 (origin
11614 (method url-fetch)
11615 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11616 "weigh-" version ".tar.gz"))
11617 (sha256
11618 (base32
11619 "0zw2a997gxgdzqmd7j730kxgynzmjvvlkw84dajmfzf1v9pbij7x"))))
11620 (build-system haskell-build-system)
11621 (inputs
11622 `(("ghc-split" ,ghc-split)
11623 ("ghc-temporary" ,ghc-temporary)))
11624 (home-page "https://github.com/fpco/weigh#readme")
11625 (synopsis "Measure allocations of a Haskell functions/values")
11626 (description "This package provides tools to measure the memory usage of a
11627Haskell value or function.")
11628 (license license:bsd-3)))
11629
11630(define-public ghc-wl-pprint
11631 (package
11632 (name "ghc-wl-pprint")
11633 (version "1.2.1")
11634 (source (origin
11635 (method url-fetch)
11636 (uri (string-append
11637 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11638 version ".tar.gz"))
11639 (sha256
11640 (base32
11641 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11642 (build-system haskell-build-system)
11643 (home-page "https://hackage.haskell.org/package/wl-pprint")
11644 (synopsis "Wadler/Leijen pretty printer")
11645 (description
11646 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11647Printer}. This version allows the library user to declare overlapping
11648instances of the @code{Pretty} class.")
11649 (license license:bsd-3)))
11650
11651(define-public ghc-wl-pprint-annotated
11652 (package
11653 (name "ghc-wl-pprint-annotated")
11654 (version "0.1.0.1")
11655 (source
11656 (origin
11657 (method url-fetch)
11658 (uri (string-append
11659 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11660 version
11661 ".tar.gz"))
11662 (sha256
11663 (base32
11664 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11665 (build-system haskell-build-system)
11666 (native-inputs
11667 `(("ghc-tasty" ,ghc-tasty)
11668 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11669 (home-page
11670 "https://github.com/minad/wl-pprint-annotated#readme")
11671 (synopsis
11672 "Wadler/Leijen pretty printer with annotation support")
11673 (description
11674 "Annotations are useful for coloring. This is a limited version of
11675@code{wl-pprint-extras} without support for point effects and without the free
11676monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11677Compared to @code{annotated-wl-pprint} this library provides a slightly
11678modernized interface.")
11679 (license license:bsd-3)))
11680
11681(define-public ghc-wl-pprint-text
11682 (package
11683 (name "ghc-wl-pprint-text")
11684 (version "1.2.0.0")
11685 (source
11686 (origin
11687 (method url-fetch)
11688 (uri (string-append
11689 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11690 version ".tar.gz"))
11691 (sha256
11692 (base32
11693 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11694 (build-system haskell-build-system)
11695 (inputs
11696 `(("ghc-base-compat" ,ghc-base-compat)))
11697 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11698 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11699 (description
11700 "A clone of wl-pprint for use with the text library.")
11701 (license license:bsd-3)))
11702
11703(define-public ghc-word8
11704 (package
11705 (name "ghc-word8")
11706 (version "0.1.3")
11707 (source
11708 (origin
11709 (method url-fetch)
11710 (uri (string-append
11711 "https://hackage.haskell.org/package/word8/word8-"
11712 version
11713 ".tar.gz"))
11714 (sha256
11715 (base32
11716 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11717 (build-system haskell-build-system)
11718 (native-inputs
11719 `(("ghc-hspec" ,ghc-hspec)
11720 ("hspec-discover" ,hspec-discover)))
11721 (home-page "https://hackage.haskell.org/package/word8")
11722 (synopsis "Word8 library for Haskell")
11723 (description "Word8 library to be used with @code{Data.ByteString}.")
11724 (license license:bsd-3)))
11725
11726(define-public ghc-x11
11727 (package
11728 (name "ghc-x11")
6c4581a3 11729 (version "1.9.1")
dddbc90c
RV
11730 (source
11731 (origin
11732 (method url-fetch)
11733 (uri (string-append "https://hackage.haskell.org/package/X11/"
11734 "X11-" version ".tar.gz"))
11735 (sha256
6c4581a3 11736 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
11737 (build-system haskell-build-system)
11738 (inputs
11739 `(("libx11" ,libx11)
11740 ("libxrandr" ,libxrandr)
11741 ("libxinerama" ,libxinerama)
11742 ("libxscrnsaver" ,libxscrnsaver)
11743 ("ghc-data-default" ,ghc-data-default)))
11744 (home-page "https://github.com/haskell-pkg-janitors/X11")
11745 (synopsis "Bindings to the X11 graphics library")
11746 (description
11747 "This package provides Haskell bindings to the X11 graphics library. The
11748bindings are a direct translation of the C bindings.")
11749 (license license:bsd-3)))
11750
11751(define-public ghc-x11-xft
11752 (package
11753 (name "ghc-x11-xft")
11754 (version "0.3.1")
11755 (source
11756 (origin
11757 (method url-fetch)
11758 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11759 "X11-xft-" version ".tar.gz"))
11760 (sha256
11761 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11762 (inputs
11763 `(("ghc-x11" ,ghc-x11)
11764 ("ghc-utf8-string" ,ghc-utf8-string)
11765 ("libx11" ,libx11)
11766 ("libxft" ,libxft)
11767 ("xorgproto" ,xorgproto)))
11768 (native-inputs
11769 `(("pkg-config" ,pkg-config)))
11770 (build-system haskell-build-system)
11771 (home-page "https://hackage.haskell.org/package/X11-xft")
11772 (synopsis "Bindings to Xft")
11773 (description
11774 "Bindings to the Xft, X Free Type interface library, and some Xrender
11775parts.")
11776 (license license:lgpl2.1)))
11777
11778(define-public ghc-xdg-basedir
11779 (package
11780 (name "ghc-xdg-basedir")
11781 (version "0.2.2")
11782 (source
11783 (origin
11784 (method url-fetch)
11785 (uri (string-append
11786 "https://hackage.haskell.org/package/xdg-basedir/"
11787 "xdg-basedir-" version ".tar.gz"))
11788 (sha256
11789 (base32
11790 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
11791 (build-system haskell-build-system)
11792 (home-page "http://github.com/willdonnelly/xdg-basedir")
11793 (synopsis "XDG Base Directory library for Haskell")
11794 (description "This package provides a library implementing the XDG Base Directory spec.")
11795 (license license:bsd-3)))
11796
11797(define-public ghc-xml
11798 (package
11799 (name "ghc-xml")
11800 (version "1.3.14")
11801 (source
11802 (origin
11803 (method url-fetch)
11804 (uri (string-append
11805 "https://hackage.haskell.org/package/xml/xml-"
11806 version
11807 ".tar.gz"))
11808 (sha256
11809 (base32
11810 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
11811 (build-system haskell-build-system)
11812 (home-page "http://code.galois.com")
11813 (synopsis "Simple XML library for Haskell")
11814 (description "This package provides a simple XML library for Haskell.")
11815 (license license:bsd-3)))
11816
11817(define-public ghc-xml-conduit
11818 (package
11819 (name "ghc-xml-conduit")
11820 (version "1.8.0.1")
11821 (source
11822 (origin
11823 (method url-fetch)
11824 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
11825 "xml-conduit-" version ".tar.gz"))
11826 (sha256
11827 (base32
11828 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
11829 (build-system haskell-build-system)
11830 (inputs
11831 `(("ghc-conduit" ,ghc-conduit)
11832 ("ghc-conduit-extra" ,ghc-conduit-extra)
11833 ("ghc-doctest" ,ghc-doctest)
11834 ("ghc-resourcet" ,ghc-resourcet)
11835 ("ghc-xml-types" ,ghc-xml-types)
11836 ("ghc-attoparsec" ,ghc-attoparsec)
11837 ("ghc-data-default-class" ,ghc-data-default-class)
11838 ("ghc-blaze-markup" ,ghc-blaze-markup)
11839 ("ghc-blaze-html" ,ghc-blaze-html)
11840 ("ghc-monad-control" ,ghc-monad-control)
11841 ("ghc-hspec" ,ghc-hspec)
11842 ("ghc-hunit" ,ghc-hunit)))
11843 (home-page "https://github.com/snoyberg/xml")
11844 (synopsis "Utilities for dealing with XML with the conduit package")
11845 (description
11846 "This package provides pure-Haskell utilities for dealing with XML with
11847the @code{conduit} package.")
11848 (license license:expat)))
11849
11850(define-public ghc-xml-types
11851 (package
11852 (name "ghc-xml-types")
11853 (version "0.3.6")
11854 (source
11855 (origin
11856 (method url-fetch)
11857 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
11858 "xml-types-" version ".tar.gz"))
11859 (sha256
11860 (base32
11861 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
11862 (build-system haskell-build-system)
11863 (home-page "https://john-millikin.com/software/haskell-xml/")
11864 (synopsis "Basic types for representing XML")
11865 (description "This package provides basic types for representing XML
11866documents.")
11867 (license license:expat)))
11868
11869(define-public ghc-yaml
11870 (package
11871 (name "ghc-yaml")
11872 (version "0.8.32")
11873 (source (origin
11874 (method url-fetch)
11875 (uri (string-append "https://hackage.haskell.org/package/"
11876 "yaml/yaml-" version ".tar.gz"))
11877 (sha256
11878 (base32
11879 "0cbsyh4ilvjzq1q7pxls43k6pdqxg1l85xzibcwpbvmlvrizh86w"))))
11880 (build-system haskell-build-system)
11881 ;; The tests are broken on i686. They are fixed in 0.10.3.0.
11882 ;; See https://github.com/snoyberg/yaml/issues/158
11883 (arguments `(#:tests? #f))
11884 (inputs
11885 `(("ghc-conduit" ,ghc-conduit)
11886 ("ghc-resourcet" ,ghc-resourcet)
11887 ("ghc-aeson" ,ghc-aeson)
11888 ("ghc-unordered-containers" ,ghc-unordered-containers)
11889 ("ghc-vector" ,ghc-vector)
11890 ("ghc-attoparsec" ,ghc-attoparsec)
11891 ("ghc-scientific" ,ghc-scientific)
11892 ("ghc-semigroups" ,ghc-semigroups)
11893 ("ghc-temporary" ,ghc-temporary)
11894 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11895 ("ghc-base-compat" ,ghc-base-compat)))
11896 (native-inputs
11897 `(("ghc-hspec" ,ghc-hspec)
11898 ("ghc-hunit" ,ghc-hunit)
11899 ("hspec-discover" ,hspec-discover)
11900 ("ghc-mockery" ,ghc-mockery)))
11901 (home-page "https://github.com/snoyberg/yaml/")
11902 (synopsis "Parsing and rendering YAML documents")
11903 (description
11904 "This package provides a library to parse and render YAML documents.")
11905 (license license:bsd-3)))
11906
11907(define-public ghc-zip-archive
11908 (package
11909 (name "ghc-zip-archive")
11910 (version "0.3.3")
11911 (source
11912 (origin
11913 (method url-fetch)
11914 (uri (string-append
11915 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
11916 version
11917 ".tar.gz"))
11918 (sha256
11919 (base32
11920 "0kf8xyac168bng8a0za2jwrbss7a4ralvci9g54hnvl0gkkxx2lq"))))
11921 (build-system haskell-build-system)
11922 (inputs
11923 `(("ghc-digest" ,ghc-digest)
11924 ("ghc-temporary" ,ghc-temporary)
11925 ("ghc-zlib" ,ghc-zlib)))
11926 (native-inputs
11927 `(("ghc-hunit" ,ghc-hunit)
11928 ("unzip" ,unzip)))
11929 (home-page "https://hackage.haskell.org/package/zip-archive")
11930 (synopsis "Zip archive library for Haskell")
11931 (description "The zip-archive library provides functions for creating,
11932modifying, and extracting files from zip archives in Haskell.")
11933 (license license:bsd-3)))
11934
11935(define-public ghc-zlib
11936 (package
11937 (name "ghc-zlib")
bf12089a 11938 (version "0.6.2.1")
dddbc90c
RV
11939 (outputs '("out" "doc"))
11940 (source
11941 (origin
11942 (method url-fetch)
11943 (uri (string-append
11944 "https://hackage.haskell.org/package/zlib/zlib-"
11945 version
11946 ".tar.gz"))
11947 (sha256
11948 (base32
bf12089a 11949 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
11950 (build-system haskell-build-system)
11951 (arguments
11952 `(#:phases
11953 (modify-phases %standard-phases
11954 (add-before 'configure 'strip-test-framework-constraints
11955 (lambda _
11956 (substitute* "zlib.cabal"
11957 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
11958 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
11959 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11960 (inputs `(("zlib" ,zlib)))
11961 (native-inputs
11962 `(("ghc-quickcheck" ,ghc-quickcheck)
11963 ("ghc-tasty" ,ghc-tasty)
11964 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11965 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11966 (home-page "https://hackage.haskell.org/package/zlib")
11967 (synopsis
11968 "Compression and decompression in the gzip and zlib formats")
11969 (description
11970 "This package provides a pure interface for compressing and decompressing
11971streams of data represented as lazy @code{ByteString}s. It uses the zlib C
11972library so it has high performance. It supports the @code{zlib}, @code{gzip}
11973and @code{raw} compression formats. It provides a convenient high level API
11974suitable for most tasks and for the few cases where more control is needed it
11975provides access to the full zlib feature set.")
bbf8bf31 11976 (license license:bsd-3)))
14e41996
RV
11977
11978(define-public ghc-zlib-bindings
11979 (package
11980 (name "ghc-zlib-bindings")
11981 (version "0.1.1.5")
11982 (source
11983 (origin
11984 (method url-fetch)
11985 (uri (string-append "https://hackage.haskell.org/package/"
11986 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
11987 (sha256
11988 (base32
11989 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
11990 (build-system haskell-build-system)
11991 (inputs
11992 `(("ghc-zlib" ,ghc-zlib)))
11993 (native-inputs
11994 `(("ghc-hspec" ,ghc-hspec)
11995 ("ghc-quickcheck" ,ghc-quickcheck)))
11996 (arguments
11997 `(#:cabal-revision
11998 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
11999 (home-page "https://github.com/snapframework/zlib-bindings")
12000 (synopsis "Low-level bindings to the @code{zlib} package")
12001 (description "This package provides low-level bindings to the
12002@code{zlib} package.")
12003 (license license:bsd-3)))