gnu: ghc-fgl: Update to 5.7.0.1.
[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")
444 (version "0.13.2.2")
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
454 "0j6qcwd146yzlkc9mcvzvnixsyl65n2a68l28322q5v9p4g4g4yx"))))
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
665(define-public ghc-basement
666 (package
667 (name "ghc-basement")
8b56c1fd 668 (version "0.0.11")
dddbc90c
RV
669 (source
670 (origin
671 (method url-fetch)
672 (uri (string-append "https://hackage.haskell.org/package/"
673 "basement/basement-" version ".tar.gz"))
674 (sha256
675 (base32
8b56c1fd 676 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
677 (build-system haskell-build-system)
678 (home-page "https://github.com/haskell-foundation/foundation")
679 (synopsis "Basic primitives for Foundation starter pack")
680 (description
681 "This package contains basic primitives for the Foundation set of
682packages.")
683 (license license:bsd-3)))
684
685(define-public ghc-base-orphans
686 (package
687 (name "ghc-base-orphans")
688 (version "0.7")
689 (source
690 (origin
691 (method url-fetch)
692 (uri (string-append
693 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
694 version
695 ".tar.gz"))
696 (sha256
697 (base32
698 "057f9npnqk71ccfh95djfkpd54dzazphj06grwxa3fyhwcwxrb8a"))))
699 (build-system haskell-build-system)
700 (native-inputs
701 `(("ghc-quickcheck" ,ghc-quickcheck)
702 ("ghc-hspec" ,ghc-hspec)
703 ("hspec-discover" ,hspec-discover)))
704 (home-page "https://hackage.haskell.org/package/base-orphans")
705 (synopsis "Orphan instances for backwards compatibility")
706 (description "This package defines orphan instances that mimic instances
707available in later versions of base to a wider (older) range of compilers.")
708 (license license:bsd-3)))
709
710(define-public ghc-base-prelude
711 (package
712 (name "ghc-base-prelude")
713 (version "1.3")
714 (source
715 (origin
716 (method url-fetch)
717 (uri (string-append "https://hackage.haskell.org/package/"
718 "base-prelude-" version "/"
719 "base-prelude-" version ".tar.gz"))
720 (sha256
721 (base32
722 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
723 (build-system haskell-build-system)
724 (home-page "https://github.com/nikita-volkov/base-prelude")
725 (synopsis "The most complete prelude formed solely from the Haskell's base
726package")
727 (description "This Haskell package aims to reexport all the non-conflicting
728and most general definitions from the \"base\" package.
729
730This includes APIs for applicatives, arrows, monoids, foldables, traversables,
731exceptions, generics, ST, MVars and STM.
732
733This package will never have any dependencies other than \"base\".
734
735Versioning policy:
736
737The versioning policy of this package deviates from PVP in the sense
738that its exports in part are transitively determined by the version of \"base\".
739Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
740the bounds of \"base\" as well.")
741 (license license:expat)))
742
743(define-public ghc-base-unicode-symbols
744 (package
745 (name "ghc-base-unicode-symbols")
746 (version "0.2.3")
747 (source
748 (origin
749 (method url-fetch)
750 (uri (string-append
751 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
752 version
753 ".tar.gz"))
754 (sha256
755 (base32
756 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
757 (build-system haskell-build-system)
758 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
759 (synopsis "Unicode alternatives for common functions and operators")
760 (description "This package defines new symbols for a number of functions,
761operators and types in the base package. All symbols are documented with
762their actual definition and information regarding their Unicode code point.
763They should be completely interchangeable with their definitions. For
764further Unicode goodness you can enable the @code{UnicodeSyntax}
765@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
766language extension}. This extension enables Unicode characters to be used to
767stand for certain ASCII character sequences, i.e. → instead of @code{->},
768∀ instead of @code{forall} and many others.")
769 (license license:bsd-3)))
770
771(define-public ghc-bifunctors
772 (package
773 (name "ghc-bifunctors")
774 (version "5.5.3")
775 (source
776 (origin
777 (method url-fetch)
778 (uri (string-append
779 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
780 version
781 ".tar.gz"))
782 (sha256
783 (base32
784 "1jn9rxg643xnlhrknmjz88nblcpsr45xwjkwwnn5nxpasa7m4d6l"))))
785 (build-system haskell-build-system)
786 (inputs
787 `(("ghc-base-orphans" ,ghc-base-orphans)
788 ("ghc-comonad" ,ghc-comonad)
789 ("ghc-th-abstraction" ,ghc-th-abstraction)
790 ("ghc-transformers-compat" ,ghc-transformers-compat)
791 ("ghc-tagged" ,ghc-tagged)
792 ("ghc-semigroups" ,ghc-semigroups)))
793 (native-inputs
794 `(("ghc-hspec" ,ghc-hspec)
795 ("hspec-discover" ,hspec-discover)
796 ("ghc-quickcheck" ,ghc-quickcheck)))
797 (home-page "https://github.com/ekmett/bifunctors/")
798 (synopsis "Bifunctors for Haskell")
799 (description "This package provides bifunctors for Haskell.")
800 (license license:bsd-3)))
801
802(define-public ghc-bindings-dsl
803 (package
804 (name "ghc-bindings-dsl")
805 (version "1.0.25")
806 (source
807 (origin
808 (method url-fetch)
809 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
810 "bindings-DSL-" version ".tar.gz"))
811 (sha256
812 (base32
813 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
814 (build-system haskell-build-system)
815 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
816 (synopsis "FFI domain specific language, on top of hsc2hs")
817 (description
818 "This is a set of macros to be used when writing Haskell FFI. They were
819designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
820extract from them all Haskell code needed to mimic such interfaces. All
821Haskell names used are automatically derived from C names, structures are
822mapped to Haskell instances of @code{Storable}, and there are also macros you
823can use with C code to help write bindings to inline functions or macro
824functions.")
825 (license license:bsd-3)))
826
827(define-public ghc-blaze-builder
828 (package
829 (name "ghc-blaze-builder")
830 (version "0.4.1.0")
831 (source
832 (origin
833 (method url-fetch)
834 (uri (string-append
835 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
836 version
837 ".tar.gz"))
838 (sha256
839 (base32
840 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
841 (build-system haskell-build-system)
842 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
843 (inputs
844 `(("ghc-utf8-string" ,ghc-utf8-string)))
845 (home-page "https://github.com/lpsmith/blaze-builder")
846 (synopsis "Efficient buffered output")
847 (description "This library provides an implementation of the older
848@code{blaze-builder} interface in terms of the new builder that shipped with
849@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
850bridge to the new builder, so that code that uses the old interface can
851interoperate with code that uses the new implementation.")
852 (license license:bsd-3)))
853
854(define-public ghc-blaze-markup
855 (package
856 (name "ghc-blaze-markup")
7d30fcf3 857 (version "0.8.2.3")
dddbc90c
RV
858 (source
859 (origin
860 (method url-fetch)
861 (uri (string-append "https://hackage.haskell.org/package/"
862 "blaze-markup/blaze-markup-"
863 version ".tar.gz"))
864 (sha256
865 (base32
7d30fcf3 866 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
867 (build-system haskell-build-system)
868 (arguments
869 `(#:phases
870 (modify-phases %standard-phases
871 (add-before 'configure 'update-constraints
872 (lambda _
873 (substitute* "blaze-markup.cabal"
874 (("tasty >= 1\\.0 && < 1\\.1")
875 "tasty >= 1.0 && < 1.2")))))))
876 (inputs
877 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
878 (native-inputs
879 `(("ghc-hunit" ,ghc-hunit)
880 ("ghc-quickcheck" ,ghc-quickcheck)
881 ("ghc-tasty" ,ghc-tasty)
882 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
883 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
884 (home-page "https://jaspervdj.be/blaze")
885 (synopsis "Fast markup combinator library for Haskell")
886 (description "This library provides core modules of a markup combinator
887library for Haskell.")
888 (license license:bsd-3)))
889
890(define-public ghc-bloomfilter
891 (package
892 (name "ghc-bloomfilter")
893 (version "2.0.1.0")
894 (source
895 (origin
896 (method url-fetch)
897 (uri (string-append "https://hackage.haskell.org/package/"
898 "bloomfilter/bloomfilter-" version ".tar.gz"))
899 (sha256
900 (base32
901 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
902 (build-system haskell-build-system)
903 (native-inputs
904 `(("ghc-quickcheck" ,ghc-quickcheck)
905 ("ghc-random" ,ghc-random)
906 ("ghc-test-framework" ,ghc-test-framework)
907 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
908 (home-page "https://github.com/bos/bloomfilter")
909 (synopsis "Pure and impure Bloom filter implementations")
910 (description "This package provides both mutable and immutable Bloom
911filter data types, along with a family of hash functions and an easy-to-use
912interface.")
913 (license license:bsd-3)))
914
915(define-public ghc-boxes
916 (package
917 (name "ghc-boxes")
918 (version "0.1.5")
919 (source
920 (origin
921 (method url-fetch)
922 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
923 version ".tar.gz"))
924 (sha256
925 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
926 (build-system haskell-build-system)
927 (inputs
928 `(("ghc-split" ,ghc-split)
929 ("ghc-quickcheck" ,ghc-quickcheck)))
930 (home-page "https://hackage.haskell.org/package/boxes")
931 (synopsis "2D text pretty-printing library")
932 (description
933 "Boxes is a pretty-printing library for laying out text in two dimensions,
934using a simple box model.")
935 (license license:bsd-3)))
936
937(define-public ghc-byteable
938 (package
939 (name "ghc-byteable")
940 (version "0.1.1")
941 (source (origin
942 (method url-fetch)
943 (uri (string-append "https://hackage.haskell.org/package/"
944 "byteable/byteable-" version ".tar.gz"))
945 (sha256
946 (base32
947 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
948 (build-system haskell-build-system)
949 (home-page "https://github.com/vincenthz/hs-byteable")
950 (synopsis "Type class for sequence of bytes")
951 (description
952 "This package provides an abstract class to manipulate sequence of bytes.
953The use case of this class is abstracting manipulation of types that are just
954wrapping a bytestring with stronger and more meaniful name.")
955 (license license:bsd-3)))
956
957(define-public ghc-byteorder
958 (package
959 (name "ghc-byteorder")
960 (version "1.0.4")
961 (source
962 (origin
963 (method url-fetch)
964 (uri (string-append
965 "https://hackage.haskell.org/package/byteorder/byteorder-"
966 version
967 ".tar.gz"))
968 (sha256
969 (base32
970 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
971 (build-system haskell-build-system)
972 (home-page
973 "http://community.haskell.org/~aslatter/code/byteorder")
974 (synopsis
975 "Exposes the native endianness of the system")
976 (description
977 "This package is for working with the native byte-ordering of the
978system.")
979 (license license:bsd-3)))
980
981(define-public ghc-bytes
982 (package
983 (name "ghc-bytes")
984 (version "0.15.5")
985 (source
986 (origin
987 (method url-fetch)
988 (uri
989 (string-append "https://hackage.haskell.org/package/bytes-"
990 version "/bytes-"
991 version ".tar.gz"))
992 (file-name (string-append name "-" version ".tar.gz"))
993 (sha256
994 (base32
995 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
996 (build-system haskell-build-system)
997 (inputs `(("ghc-cereal" ,ghc-cereal)
998 ("cabal-doctest" ,cabal-doctest)
999 ("ghc-doctest" ,ghc-doctest)
1000 ("ghc-scientific" ,ghc-scientific)
1001 ("ghc-transformers-compat" ,ghc-transformers-compat)
1002 ("ghc-unordered-containers" ,ghc-unordered-containers)
1003 ("ghc-void" ,ghc-void)
1004 ("ghc-vector" ,ghc-vector)))
1005 (synopsis "Serialization between @code{binary} and @code{cereal}")
1006 (description "This package provides a simple compatibility shim that lets
1007you work with both @code{binary} and @code{cereal} with one chunk of
1008serialization code.")
1009 (home-page "https://hackage.haskell.org/package/bytes")
1010 (license license:bsd-3)))
1011
1012(define-public ghc-bytestring-builder
1013 (package
1014 (name "ghc-bytestring-builder")
13ac8a7f 1015 (version "0.10.8.2.0")
dddbc90c
RV
1016 (source
1017 (origin
1018 (method url-fetch)
1019 (uri (string-append
1020 "https://hackage.haskell.org/package/bytestring-builder"
1021 "/bytestring-builder-" version ".tar.gz"))
1022 (sha256
1023 (base32
13ac8a7f 1024 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1025 (build-system haskell-build-system)
1026 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1027 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1028 (synopsis "The new bytestring builder, packaged outside of GHC")
1029 (description "This package provides the bytestring builder that is
1030debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1031Compatibility package for older packages.")
1032 (license license:bsd-3)))
1033
1034(define-public ghc-bytestring-handle
1035 (package
1036 (name "ghc-bytestring-handle")
1037 (version "0.1.0.6")
1038 (source
1039 (origin
1040 (method url-fetch)
1041 (uri (string-append
1042 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1043 version ".tar.gz"))
1044 (sha256
1045 (base32
1046 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1047 (build-system haskell-build-system)
1048 (arguments
853748c4
TS
1049 `(#:cabal-revision
1050 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1051 #:phases
dddbc90c
RV
1052 (modify-phases %standard-phases
1053 (add-before 'configure 'update-constraints
1054 (lambda _
1055 (substitute* "bytestring-handle.cabal"
1056 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1057 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1058 (inputs
1059 `(("ghc-hunit" ,ghc-hunit)
1060 ("ghc-quickcheck" ,ghc-quickcheck)
1061 ("ghc-test-framework" ,ghc-test-framework)
1062 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1063 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1064 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1065 (synopsis "ByteString-backed Handles")
1066 (description "ByteString-backed Handles") ; There is no description
1067 (license license:bsd-3)))
1068
1069(define-public ghc-bytestring-lexing
1070 (package
1071 (name "ghc-bytestring-lexing")
1072 (version "0.5.0.2")
1073 (source
1074 (origin
1075 (method url-fetch)
1076 (uri (string-append "https://hackage.haskell.org/package/"
1077 "bytestring-lexing/bytestring-lexing-"
1078 version ".tar.gz"))
1079 (sha256
1080 (base32
1081 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1082 (build-system haskell-build-system)
1083 (home-page "http://code.haskell.org/~wren/")
1084 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1085 (description
1086 "This package provides tools to parse and produce literals efficiently
1087from strict or lazy bytestrings.")
1088 (license license:bsd-2)))
1089
1090(define-public ghc-bzlib-conduit
1091 (package
1092 (name "ghc-bzlib-conduit")
1093 (version "0.3.0.1")
1094 (source
1095 (origin
1096 (method url-fetch)
1097 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1098 "bzlib-conduit-" version ".tar.gz"))
1099 (sha256
1100 (base32
1101 "0fd2hnr782s7qgipazg2yxwia9qqhkvm9bcm90773c3zkxa13n23"))))
1102 (build-system haskell-build-system)
1103 (inputs
1104 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1105 ("ghc-conduit" ,ghc-conduit)
1106 ("ghc-data-default-class" ,ghc-data-default-class)
1107 ("ghc-resourcet" ,ghc-resourcet)))
1108 (native-inputs
1109 `(("ghc-hspec" ,ghc-hspec)
1110 ("ghc-random" ,ghc-random)))
1111 (home-page "https://github.com/snoyberg/bzlib-conduit")
1112 (synopsis "Streaming compression/decompression via conduits")
1113 (description
1114 "This package provides Haskell bindings to bzlib and Conduit support for
1115streaming compression and decompression.")
1116 (license license:bsd-3)))
1117
1118(define-public ghc-c2hs
1119 (package
1120 (name "ghc-c2hs")
1121 (version "0.28.6")
1122 (source
1123 (origin
1124 (method url-fetch)
1125 (uri (string-append
1126 "https://hackage.haskell.org/package/c2hs/c2hs-"
1127 version
1128 ".tar.gz"))
1129 (sha256
1130 (base32
1131 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1132 (build-system haskell-build-system)
1133 (inputs
1134 `(("ghc-language-c" ,ghc-language-c)
1135 ("ghc-dlist" ,ghc-dlist)))
1136 (native-inputs
1137 `(("ghc-test-framework" ,ghc-test-framework)
1138 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1139 ("ghc-hunit" ,ghc-hunit)
1140 ("ghc-shelly" ,ghc-shelly)
1141 ("gcc" ,gcc)))
1142 (arguments
1143 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1144 ;; of glibc 2.28.
1145 #:tests? #f
1146
1147 #:phases
1148 (modify-phases %standard-phases
1149 (add-before 'check 'set-cc
1150 ;; add a cc executable in the path, needed for some tests to pass
1151 (lambda* (#:key inputs #:allow-other-keys)
1152 (let ((gcc (assoc-ref inputs "gcc"))
1153 (tmpbin (tmpnam))
1154 (curpath (getenv "PATH")))
1155 (mkdir-p tmpbin)
1156 (symlink (which "gcc") (string-append tmpbin "/cc"))
1157 (setenv "PATH" (string-append tmpbin ":" curpath)))
1158 #t))
1159 (add-after 'check 'remove-cc
1160 ;; clean the tmp dir made in 'set-cc
1161 (lambda _
1162 (let* ((cc-path (which "cc"))
1163 (cc-dir (dirname cc-path)))
1164 (delete-file-recursively cc-dir)
1165 #t))))))
1166 (home-page "https://github.com/haskell/c2hs")
1167 (synopsis "Create Haskell bindings to C libraries")
1168 (description "C->Haskell assists in the development of Haskell bindings to
1169C libraries. It extracts interface information from C header files and
1170generates Haskell code with foreign imports and marshaling. Unlike writing
1171foreign imports by hand (or using hsc2hs), this ensures that C functions are
1172imported with the correct Haskell types.")
1173 (license license:gpl2)))
1174
1175(define-public ghc-cairo
1176 (package
1177 (name "ghc-cairo")
1178 (version "0.13.5.0")
1179 (source
1180 (origin
1181 (method url-fetch)
1182 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1183 "cairo-" version ".tar.gz"))
1184 (sha256
1185 (base32
1186 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1187 (build-system haskell-build-system)
1188 (arguments
1189 `(#:modules ((guix build haskell-build-system)
1190 (guix build utils)
1191 (ice-9 match)
1192 (srfi srfi-26))
1193 #:phases
1194 (modify-phases %standard-phases
1195 ;; FIXME: This is a copy of the standard configure phase with a tiny
1196 ;; difference: this package needs the -package-db flag to be passed
1197 ;; to "runhaskell" in addition to the "configure" action, because it
1198 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1199 ;; this option the Setup.hs file cannot be evaluated. The
1200 ;; haskell-build-system should be changed to pass "-package-db" to
1201 ;; "runhaskell" in any case.
1202 (replace 'configure
1203 (lambda* (#:key outputs inputs tests? (configure-flags '())
1204 #:allow-other-keys)
1205 (let* ((out (assoc-ref outputs "out"))
1206 (name-version (strip-store-file-name out))
1207 (input-dirs (match inputs
1208 (((_ . dir) ...)
1209 dir)
1210 (_ '())))
1211 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1212 (params (append `(,(string-append "--prefix=" out))
1213 `(,(string-append "--libdir=" out "/lib"))
1214 `(,(string-append "--bindir=" out "/bin"))
1215 `(,(string-append
1216 "--docdir=" out
1217 "/share/doc/" name-version))
1218 '("--libsubdir=$compiler/$pkg-$version")
1219 '("--package-db=../package.conf.d")
1220 '("--global")
1221 `(,@(map
1222 (cut string-append "--extra-include-dirs=" <>)
1223 (search-path-as-list '("include") input-dirs)))
1224 `(,@(map
1225 (cut string-append "--extra-lib-dirs=" <>)
1226 (search-path-as-list '("lib") input-dirs)))
1227 (if tests?
1228 '("--enable-tests")
1229 '())
1230 configure-flags)))
1231 (unsetenv "GHC_PACKAGE_PATH")
1232 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1233 "Setup.hs" "configure" params)
1234 (setenv "GHC_PACKAGE_PATH" ghc-path)
1235 #t))))))
1236 (inputs
1237 `(("ghc-utf8-string" ,ghc-utf8-string)
1238 ("cairo" ,cairo)))
1239 (native-inputs
1240 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1241 ("pkg-config" ,pkg-config)))
1242 (home-page "http://projects.haskell.org/gtk2hs/")
1243 (synopsis "Haskell bindings to the Cairo vector graphics library")
1244 (description
1245 "Cairo is a library to render high quality vector graphics. There exist
1246various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1247documents, amongst others.")
1248 (license license:bsd-3)))
1249
1250(define-public ghc-call-stack
1251 (package
1252 (name "ghc-call-stack")
1253 (version "0.1.0")
1254 (source
1255 (origin
1256 (method url-fetch)
1257 (uri (string-append "https://hackage.haskell.org/package/"
1258 "call-stack/call-stack-"
1259 version ".tar.gz"))
1260 (sha256
1261 (base32
1262 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1263 (build-system haskell-build-system)
1264 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1265 (home-page "https://github.com/sol/call-stack#readme")
1266 (synopsis "Use GHC call-stacks in a backward compatible way")
1267 (description "This package provides a compatibility layer for using GHC
1268call stacks with different versions of the compiler.")
1269 (license license:expat)))
1270
1271;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1272;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1273(define-public ghc-call-stack-boot
1274 (hidden-package
1275 (package
1276 (inherit ghc-call-stack)
1277 (arguments '(#:tests? #f))
1278 (inputs '()))))
1279
1280(define-public ghc-case-insensitive
1281 (package
1282 (name "ghc-case-insensitive")
1283 (version "1.2.0.11")
1284 (outputs '("out" "doc"))
1285 (source
1286 (origin
1287 (method url-fetch)
1288 (uri (string-append
1289 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1290 version
1291 ".tar.gz"))
1292 (sha256
1293 (base32
1294 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1295 (build-system haskell-build-system)
1296 ;; these inputs are necessary to use this library
1297 (inputs
1298 `(("ghc-hashable" ,ghc-hashable)))
1299 (arguments
1300 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1301 (home-page
1302 "https://github.com/basvandijk/case-insensitive")
1303 (synopsis "Case insensitive string comparison")
1304 (description
1305 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1306constructor which can be parameterised by a string-like type like:
1307@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1308the resulting type will be insensitive to cases.")
1309 (license license:bsd-3)))
1310
1311(define-public ghc-cereal
1312 (package
1313 (name "ghc-cereal")
bd95427e 1314 (version "0.5.8.1")
dddbc90c
RV
1315 (source
1316 (origin
1317 (method url-fetch)
1318 (uri (string-append
1319 "https://hackage.haskell.org/package/cereal/cereal-"
1320 version
1321 ".tar.gz"))
1322 (sha256
1323 (base32
bd95427e 1324 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1325 (build-system haskell-build-system)
1326 (native-inputs
1327 `(("ghc-quickcheck" ,ghc-quickcheck)
1328 ("ghc-fail" ,ghc-fail)
1329 ("ghc-test-framework" ,ghc-test-framework)
1330 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1331 (home-page "https://hackage.haskell.org/package/cereal")
1332 (synopsis "Binary serialization library")
1333 (description "This package provides a binary serialization library,
1334similar to @code{binary}, that introduces an @code{isolate} primitive for
1335parser isolation, and labeled blocks for better error messages.")
1336 (license license:bsd-3)))
1337
1338(define-public ghc-cereal-conduit
1339 (package
1340 (name "ghc-cereal-conduit")
1341 (version "0.8.0")
1342 (source
1343 (origin
1344 (method url-fetch)
1345 (uri (string-append "https://hackage.haskell.org/package/"
1346 "cereal-conduit/cereal-conduit-"
1347 version ".tar.gz"))
1348 (sha256
1349 (base32
1350 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1351 (build-system haskell-build-system)
1352 (inputs
1353 `(("ghc-conduit" ,ghc-conduit)
1354 ("ghc-resourcet" ,ghc-resourcet)
1355 ("ghc-cereal" ,ghc-cereal)))
1356 (native-inputs
1357 `(("ghc-hunit" ,ghc-hunit)))
1358 (home-page "https://github.com/snoyberg/conduit")
1359 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1360 (description
1361 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1362@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1363 (license license:bsd-3)))
1364
1365(define-public ghc-cgi
1366 (package
1367 (name "ghc-cgi")
1368 (version "3001.3.0.2")
1369 (source
1370 (origin
1371 (method url-fetch)
1372 (uri (string-append
1373 "https://hackage.haskell.org/package/cgi/cgi-"
1374 version
1375 ".tar.gz"))
1376 (sha256
1377 (base32
1378 "1hbpplss1m4rdpm4ibip6fpimlhssqa14fl338kl2jbc463i64cj"))))
1379 (build-system haskell-build-system)
1380 (arguments
1381 `(#:phases
1382 (modify-phases %standard-phases
1383 (add-before 'configure 'update-constraints
1384 (lambda _
1385 (substitute* "cgi.cabal"
1386 (("exceptions < 0\\.9")
1387 "exceptions < 0.11")
1388 (("time >= 1\\.5 && < 1\\.7")
1389 "time >= 1.5 && < 1.9")
1390 (("doctest >= 0\\.8 && < 0\\.12")
1391 "doctest >= 0.8 && < 0.17")
1392 (("QuickCheck >= 2\\.8\\.1 && < 2\\.10")
1393 "QuickCheck >= 2.8.1 && < 2.12")))))))
1394 (inputs
1395 `(("ghc-exceptions" ,ghc-exceptions)
1396 ("ghc-multipart" ,ghc-multipart)
1397 ("ghc-network-uri" ,ghc-network-uri)
1398 ("ghc-network" ,ghc-network)))
1399 (native-inputs
1400 `(("ghc-doctest" ,ghc-doctest)
1401 ("ghc-quickcheck" ,ghc-quickcheck)))
1402 (home-page
1403 "https://github.com/cheecheeo/haskell-cgi")
1404 (synopsis "Library for writing CGI programs")
1405 (description
1406 "This is a Haskell library for writing CGI programs.")
1407 (license license:bsd-3)))
1408
1409(define-public ghc-charset
1410 (package
1411 (name "ghc-charset")
1412 (version "0.3.7.1")
1413 (source
1414 (origin
1415 (method url-fetch)
1416 (uri (string-append
1417 "https://hackage.haskell.org/package/charset/charset-"
1418 version
1419 ".tar.gz"))
1420 (sha256
1421 (base32
1422 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1423 (build-system haskell-build-system)
1424 (inputs
1425 `(("ghc-semigroups" ,ghc-semigroups)
1426 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1427 (home-page "https://github.com/ekmett/charset")
1428 (synopsis "Fast unicode character sets for Haskell")
1429 (description "This package provides fast unicode character sets for
1430Haskell, based on complemented PATRICIA tries.")
1431 (license license:bsd-3)))
1432
1433(define-public ghc-chart
1434 (package
1435 (name "ghc-chart")
1436 (version "1.9")
1437 (source
1438 (origin
1439 (method url-fetch)
1440 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1441 "Chart-" version ".tar.gz"))
1442 (sha256
1443 (base32
1444 "1f5azj17y8xsb3gjhf7gg1gnnlq12rxkmfjmgcly314d7vghs05z"))))
1445 (build-system haskell-build-system)
1446 (inputs
1447 `(("ghc-old-locale" ,ghc-old-locale)
1448 ("ghc-lens" ,ghc-lens)
1449 ("ghc-colour" ,ghc-colour)
1450 ("ghc-data-default-class" ,ghc-data-default-class)
1451 ("ghc-operational" ,ghc-operational)
1452 ("ghc-vector" ,ghc-vector)))
1453 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1454 (synopsis "Library for generating 2D charts and plots")
1455 (description
1456 "This package provides a library for generating 2D charts and plots, with
1457backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1458 (license license:bsd-3)))
1459
1460(define-public ghc-chart-cairo
1461 (package
1462 (name "ghc-chart-cairo")
1463 (version "1.9")
1464 (source
1465 (origin
1466 (method url-fetch)
1467 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1468 "Chart-cairo-" version ".tar.gz"))
1469 (sha256
1470 (base32
1471 "0iany6lfyfb1cw0pxfs5aw5k0a6x41m6ql9ad9w59biwdckbsyqr"))))
1472 (build-system haskell-build-system)
1473 (inputs
1474 `(("ghc-old-locale" ,ghc-old-locale)
1475 ("ghc-cairo" ,ghc-cairo)
1476 ("ghc-colour" ,ghc-colour)
1477 ("ghc-data-default-class" ,ghc-data-default-class)
1478 ("ghc-operational" ,ghc-operational)
1479 ("ghc-lens" ,ghc-lens)
1480 ("ghc-chart" ,ghc-chart)))
1481 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1482 (synopsis "Cairo backend for Charts")
1483 (description "This package provides a Cairo vector graphics rendering
1484backend for the Charts library.")
1485 (license license:bsd-3)))
1486
1487(define-public ghc-chasingbottoms
1488 (package
1489 (name "ghc-chasingbottoms")
1f67853e 1490 (version "1.3.1.7")
dddbc90c
RV
1491 (source
1492 (origin
1493 (method url-fetch)
1494 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1495 "ChasingBottoms-" version ".tar.gz"))
1496 (sha256
1497 (base32
1f67853e 1498 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1499 (build-system haskell-build-system)
1500 (inputs
1501 `(("ghc-quickcheck" ,ghc-quickcheck)
1502 ("ghc-random" ,ghc-random)
1503 ("ghc-syb" ,ghc-syb)))
1504 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1505 (synopsis "Testing of partial and infinite values in Haskell")
1506 (description
1507 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1508 ;; rendered properly.
1509 "This is a library for testing code involving bottoms or infinite values.
1510For the underlying theory and a larger example involving use of QuickCheck,
1511see the article
1512@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1513\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1514Partial and Infinite Values\"}.")
1515 (license license:expat)))
1516
1517(define-public ghc-cheapskate
1518 (package
1519 (name "ghc-cheapskate")
1520 (version "0.1.1")
1521 (source
1522 (origin
1523 (method url-fetch)
1524 (uri (string-append
1525 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1526 version
1527 ".tar.gz"))
1528 (sha256
1529 (base32
1530 "1hiqi7h76shjzs2zj0j8g6wnq2hbiq1hmfafdazr97fba2zl2432"))))
1531 (build-system haskell-build-system)
1532 (inputs
1533 `(("ghc-blaze-html" ,ghc-blaze-html)
1534 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1535 ("ghc-data-default" ,ghc-data-default)
1536 ("ghc-syb" ,ghc-syb)
1537 ("ghc-uniplate" ,ghc-uniplate)))
1538 (home-page "https://github.com/jgm/cheapskate")
1539 (synopsis "Experimental markdown processor")
1540 (description "Cheapskate is an experimental Markdown processor in pure
1541Haskell. It aims to process Markdown efficiently and in the most forgiving
1542possible way. It is designed to deal with any input, including garbage, with
1543linear performance. Output is sanitized by default for protection against
1544cross-site scripting (@dfn{XSS}) attacks.")
1545 (license license:bsd-3)))
1546
1547(define-public ghc-chell
1548 (package
1549 (name "ghc-chell")
1550 (version "0.4.0.2")
1551 (source
1552 (origin
1553 (method url-fetch)
1554 (uri (string-append
1555 "https://hackage.haskell.org/package/chell/chell-"
1556 version ".tar.gz"))
1557 (sha256
1558 (base32
1559 "10ingy9qnbmc8cqh4i9pskcw43l0mzk8f3d76b3qz3fig5ary3j9"))))
1560 (build-system haskell-build-system)
1561 (inputs
1562 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1563 ("ghc-patience" ,ghc-patience)
1564 ("ghc-random" ,ghc-random)
1565 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1566 (home-page "https://john-millikin.com/software/chell/")
1567 (synopsis "Simple and intuitive library for automated testing")
1568 (description
1569 "Chell is a simple and intuitive library for automated testing.
1570It natively supports assertion-based testing, and can use companion
1571libraries such as @code{chell-quickcheck} to support more complex
1572testing strategies.")
1573 (license license:expat)))
1574
1575(define-public ghc-chell-quickcheck
1576 (package
1577 (name "ghc-chell-quickcheck")
1578 (version "0.2.5.1")
1579 (source
1580 (origin
1581 (method url-fetch)
1582 (uri (string-append
1583 "https://hackage.haskell.org/package/chell-quickcheck/"
1584 "chell-quickcheck-" version ".tar.gz"))
1585 (sha256
1586 (base32
1587 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
1588 (build-system haskell-build-system)
1589 (arguments
1590 `(#:phases
1591 (modify-phases %standard-phases
1592 (add-before 'configure 'update-constraints
1593 (lambda _
1594 (substitute* "chell-quickcheck.cabal"
1595 (("QuickCheck >= 2\\.3 && < 2\\.11")
1596 "QuickCheck >= 2.3 && < 2.12")))))))
1597 (inputs
1598 `(("ghc-chell" ,ghc-chell)
1599 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1600 ("ghc-random" ,ghc-random)
1601 ("ghc-quickcheck" ,ghc-quickcheck)))
1602 (home-page "https://john-millikin.com/software/chell/")
1603 (synopsis "QuickCheck support for the Chell testing library")
1604 (description "More complex tests for @code{chell}.")
1605 (license license:expat)))
1606
1607(define ghc-chell-quickcheck-bootstrap
1608 (package
1609 (name "ghc-chell-quickcheck-bootstrap")
1610 (version "0.2.5.1")
1611 (source
1612 (origin
1613 (method url-fetch)
1614 (uri (string-append
1615 "https://hackage.haskell.org/package/chell-quickcheck/"
1616 "chell-quickcheck-" version ".tar.gz"))
1617 (sha256
1618 (base32
1619 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
1620 (build-system haskell-build-system)
1621 (inputs
1622 `(("ghc-chell" ,ghc-chell)
1623 ("ghc-random" ,ghc-random)
1624 ("ghc-quickcheck" ,ghc-quickcheck)))
1625 (arguments
1626 `(#:tests? #f
1627 #:phases
1628 (modify-phases %standard-phases
1629 (add-before 'configure 'update-constraints
1630 (lambda _
1631 (substitute* "chell-quickcheck.cabal"
1632 (("QuickCheck >= 2\\.3 && < 2\\.11")
1633 "QuickCheck >= 2.3 && < 2.12")))))))
1634 (home-page "https://john-millikin.com/software/chell/")
1635 (synopsis "QuickCheck support for the Chell testing library")
1636 (description "More complex tests for @code{chell}.")
1637 (license license:expat)))
1638
1639(define-public ghc-chunked-data
1640 (package
1641 (name "ghc-chunked-data")
1642 (version "0.3.1")
1643 (source
1644 (origin
1645 (method url-fetch)
1646 (uri (string-append "https://hackage.haskell.org/package/"
1647 "chunked-data-" version "/"
1648 "chunked-data-" version ".tar.gz"))
1649 (sha256
1650 (base32
1651 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1652 (build-system haskell-build-system)
1653 (inputs `(("ghc-vector" ,ghc-vector)
1654 ("ghc-semigroups" ,ghc-semigroups)))
1655 (home-page "https://github.com/snoyberg/mono-traversable")
1656 (synopsis "Typeclasses for dealing with various chunked data
1657representations for Haskell")
1658 (description "This Haskell package was originally present in
1659classy-prelude.")
1660 (license license:expat)))
1661
1662(define-public ghc-clock
1663 (package
1664 (name "ghc-clock")
0841b6f2 1665 (version "0.8")
dddbc90c
RV
1666 (source
1667 (origin
1668 (method url-fetch)
1669 (uri (string-append
1670 "https://hackage.haskell.org/package/"
1671 "clock/"
1672 "clock-" version ".tar.gz"))
1673 (sha256
0841b6f2 1674 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1675 (build-system haskell-build-system)
1676 (inputs
1677 `(("ghc-tasty" ,ghc-tasty)
1678 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1679 (home-page "https://hackage.haskell.org/package/clock")
1680 (synopsis "High-resolution clock for Haskell")
1681 (description "A package for convenient access to high-resolution clock and
1682timer functions of different operating systems via a unified API.")
1683 (license license:bsd-3)))
1684
1685;; This package builds `clock` without tests, since the tests rely on tasty
1686;; and tasty-quickcheck, which in turn require clock to build.
1687(define-public ghc-clock-bootstrap
1688 (package
1689 (inherit ghc-clock)
1690 (name "ghc-clock-bootstrap")
1691 (arguments '(#:tests? #f))
1692 (inputs '())
1693 (properties '((hidden? #t)))))
1694
1695(define-public ghc-cmark
1696 (package
1697 (name "ghc-cmark")
6bdd36c0 1698 (version "0.6")
dddbc90c
RV
1699 (source (origin
1700 (method url-fetch)
6bdd36c0 1701 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1702 ;; See cbits/cmark_version.h.
1703 (uri (string-append "https://hackage.haskell.org/package/"
1704 "cmark/cmark-" version ".tar.gz"))
1705 (sha256
1706 (base32
6bdd36c0 1707 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
1708 (build-system haskell-build-system)
1709 (native-inputs
1710 `(("ghc-hunit" ,ghc-hunit)))
1711 (home-page "https://github.com/jgm/commonmark-hs")
1712 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1713 (description
1714 "This package provides Haskell bindings for
1715@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1716CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1717sources, and does not require prior installation of the C library.")
1718 (license license:bsd-3)))
1719
1720(define-public ghc-cmark-gfm
1721 (package
1722 (name "ghc-cmark-gfm")
24fc8dae 1723 (version "0.2.0")
dddbc90c
RV
1724 (source
1725 (origin
1726 (method url-fetch)
1727 (uri (string-append "https://hackage.haskell.org/package/"
1728 "cmark-gfm/cmark-gfm-"
1729 version ".tar.gz"))
1730 (sha256
1731 (base32
24fc8dae 1732 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
1733 (build-system haskell-build-system)
1734 (native-inputs
1735 `(("ghc-hunit" ,ghc-hunit)))
1736 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1737 (synopsis
1738 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1739 (description
1740 "This package provides Haskell bindings for libcmark-gfm, the reference
1741parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1742It includes sources for libcmark-gfm and does not require prior installation
1743of the C library.")
1744 (license license:bsd-3)))
1745
1746(define-public ghc-cmdargs
1747 (package
1748 (name "ghc-cmdargs")
1749 (version "0.10.20")
1750 (source
1751 (origin
1752 (method url-fetch)
1753 (uri (string-append
1754 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1755 version ".tar.gz"))
1756 (sha256
1757 (base32
1758 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1759 (build-system haskell-build-system)
1760 (home-page
1761 "http://community.haskell.org/~ndm/cmdargs/")
1762 (synopsis "Command line argument processing")
1763 (description
1764 "This library provides an easy way to define command line parsers.")
1765 (license license:bsd-3)))
1766
1767(define-public ghc-code-page
1768 (package
1769 (name "ghc-code-page")
f6bb6519 1770 (version "0.2")
dddbc90c
RV
1771 (source
1772 (origin
1773 (method url-fetch)
1774 (uri (string-append
1775 "https://hackage.haskell.org/package/code-page/code-page-"
1776 version ".tar.gz"))
1777 (sha256
1778 (base32
f6bb6519 1779 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1780 (build-system haskell-build-system)
1781 (home-page "https://github.com/RyanGlScott/code-page")
1782 (synopsis "Windows code page library for Haskell")
1783 (description "A cross-platform library with functions for adjusting
1784code pages on Windows. On all other operating systems, the library does
1785nothing.")
1786 (license license:bsd-3)))
1787
1788(define-public ghc-colour
1789(package
1790 (name "ghc-colour")
bc9d1af9 1791 (version "2.3.5")
dddbc90c
RV
1792 (source
1793 (origin
1794 (method url-fetch)
1795 (uri (string-append
1796 "https://hackage.haskell.org/package/colour/colour-"
1797 version ".tar.gz"))
1798 (sha256
1799 (base32
bc9d1af9 1800 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1801 (arguments
1802 ;; The tests for this package have the following dependency cycle:
1803 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1804 `(#:tests? #f))
1805 (build-system haskell-build-system)
1806 (home-page "https://www.haskell.org/haskellwiki/Colour")
1807 (synopsis "Model for human colour perception")
1808 (description
1809 "This package provides a data type for colours and transparency.
1810Colours can be blended and composed. Various colour spaces are
1811supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1812 (license license:expat)))
1813
1814(define-public ghc-comonad
1815 (package
1816 (name "ghc-comonad")
1817 (version "5.0.4")
1818 (source
1819 (origin
1820 (method url-fetch)
1821 (uri (string-append
1822 "https://hackage.haskell.org/package/comonad/comonad-"
1823 version
1824 ".tar.gz"))
1825 (sha256
1826 (base32
1827 "09g870c4flp4k3fgbibsd0mmfjani1qcpbcl685v8x89kxzrva3q"))))
1828 (build-system haskell-build-system)
1829 (native-inputs
1830 `(("cabal-doctest" ,cabal-doctest)
1831 ("ghc-doctest" ,ghc-doctest)))
1832 (inputs
1833 `(("ghc-contravariant" ,ghc-contravariant)
1834 ("ghc-distributive" ,ghc-distributive)
1835 ("ghc-semigroups" ,ghc-semigroups)
1836 ("ghc-tagged" ,ghc-tagged)
1837 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1838 (home-page "https://github.com/ekmett/comonad/")
1839 (synopsis "Comonads for Haskell")
1840 (description "This library provides @code{Comonad}s for Haskell.")
1841 (license license:bsd-3)))
1842
1843(define-public ghc-concatenative
1844 (package
1845 (name "ghc-concatenative")
1846 (version "1.0.1")
1847 (source (origin
1848 (method url-fetch)
1849 (uri (string-append
1850 "https://hackage.haskell.org/package/concatenative/concatenative-"
1851 version ".tar.gz"))
1852 (sha256
1853 (base32
1854 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1855 (build-system haskell-build-system)
1856 (home-page
1857 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1858 (synopsis "Library for postfix control flow")
1859 (description
1860 "Concatenative gives Haskell Factor-style combinators and arrows for
1861postfix notation. For more information on stack based languages, see
1862@uref{https://concatenative.org}.")
1863 (license license:bsd-3)))
1864
1865(define-public ghc-concurrent-extra
1866 (package
1867 (name "ghc-concurrent-extra")
1868 (version "0.7.0.12")
1869 (source
1870 (origin
1871 (method url-fetch)
1872 (uri (string-append "https://hackage.haskell.org/package/"
1873 "concurrent-extra/concurrent-extra-"
1874 version ".tar.gz"))
1875 (sha256
1876 (base32
1877 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
1878 (build-system haskell-build-system)
1879 (arguments
1880 ;; XXX: The ReadWriteLock 'stressTest' fails.
1881 `(#:tests? #f))
1882 (inputs
1883 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
1884 (native-inputs
1885 `(("ghc-async" ,ghc-async)
1886 ("ghc-hunit" ,ghc-hunit)
1887 ("ghc-random" ,ghc-random)
1888 ("ghc-test-framework" ,ghc-test-framework)
1889 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
1890 (home-page "https://github.com/basvandijk/concurrent-extra")
1891 (synopsis "Extra concurrency primitives")
1892 (description "This Haskell library offers (among other things) the
1893following selection of synchronisation primitives:
1894
1895@itemize
1896@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
1897@item @code{Event}: Wake multiple threads by signalling an event.
1898@item @code{Lock}: Enforce exclusive access to a resource. Also known
1899as a binary semaphore or mutex. The package additionally provides an
1900alternative that works in the STM monad.
1901@item @code{RLock}: A lock which can be acquired multiple times by the
1902same thread. Also known as a reentrant mutex.
1903@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
1904to protect shared resources which may be concurrently read, but only
1905sequentially written.
1906@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
1907@end itemize
1908
1909Please consult the API documentation of the individual modules for more
1910detailed information.
1911
1912This package was inspired by the concurrency libraries of Java and
1913Python.")
1914 (license license:bsd-3)))
1915
1916(define-public ghc-concurrent-output
1917 (package
1918 (name "ghc-concurrent-output")
4fce0a4a 1919 (version "1.10.11")
dddbc90c
RV
1920 (source
1921 (origin
1922 (method url-fetch)
1923 (uri (string-append
1924 "mirror://hackage/package/concurrent-output/concurrent-output-"
1925 version
1926 ".tar.gz"))
1927 (sha256
1928 (base32
4fce0a4a 1929 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
1930 (build-system haskell-build-system)
1931 (inputs
1932 `(("ghc-async" ,ghc-async)
1933 ("ghc-exceptions" ,ghc-exceptions)
1934 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1935 ("ghc-terminal-size" ,ghc-terminal-size)))
1936 (home-page
1937 "https://hackage.haskell.org/package/concurrent-output")
1938 (synopsis
1939 "Ungarble output from several threads or commands")
1940 (description
1941 "Lets multiple threads and external processes concurrently output to the
1942console, without it getting all garbled up.
1943
1944Built on top of that is a way of defining multiple output regions, which are
1945automatically laid out on the screen and can be individually updated by
1946concurrent threads. Can be used for progress displays etc.")
1947 (license license:bsd-2)))
1948
1949(define-public ghc-conduit
1950 (package
1951 (name "ghc-conduit")
1952 (version "1.3.0.3")
1953 (source (origin
1954 (method url-fetch)
1955 (uri (string-append "https://hackage.haskell.org/package/"
1956 "conduit/conduit-" version ".tar.gz"))
1957 (sha256
1958 (base32
1959 "1sangm0qqi9dzlq95746a3kl14k8b09592a423shxjf2a0b1yx5v"))))
1960 (build-system haskell-build-system)
1961 (inputs
1962 `(("ghc-exceptions" ,ghc-exceptions)
1963 ("ghc-lifted-base" ,ghc-lifted-base)
1964 ("ghc-mono-traversable" ,ghc-mono-traversable)
1965 ("ghc-mmorph" ,ghc-mmorph)
1966 ("ghc-resourcet" ,ghc-resourcet)
1967 ("ghc-silently" ,ghc-silently)
1968 ("ghc-transformers-base" ,ghc-transformers-base)
1969 ("ghc-unliftio" ,ghc-unliftio)
1970 ("ghc-unliftio-core" ,ghc-unliftio-core)
1971 ("ghc-vector" ,ghc-vector)
1972 ("ghc-void" ,ghc-void)))
1973 (native-inputs
1974 `(("ghc-quickcheck" ,ghc-quickcheck)
1975 ("ghc-hspec" ,ghc-hspec)
1976 ("ghc-safe" ,ghc-safe)
1977 ("ghc-split" ,ghc-split)))
1978 (home-page "https://github.com/snoyberg/conduit")
1979 (synopsis "Streaming data library ")
1980 (description
1981 "The conduit package is a solution to the streaming data problem,
1982allowing for production, transformation, and consumption of streams of data
1983in constant memory. It is an alternative to lazy I/O which guarantees
1984deterministic resource handling, and fits in the same general solution
1985space as enumerator/iteratee and pipes.")
1986 (license license:expat)))
1987
1988(define-public ghc-conduit-algorithms
1989 (package
1990 (name "ghc-conduit-algorithms")
1991 (version "0.0.8.1")
1992 (source
1993 (origin
1994 (method url-fetch)
1995 (uri (string-append "https://hackage.haskell.org/package/"
1996 "conduit-algorithms/conduit-algorithms-"
1997 version ".tar.gz"))
1998 (sha256
1999 (base32
2000 "07gx2q3d1bbfw14q41rmqg0i4m018pci10lswc0k1ij6lw7sb9fd"))))
2001 (build-system haskell-build-system)
2002 (inputs
2003 `(("ghc-async" ,ghc-async)
2004 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2005 ("ghc-conduit" ,ghc-conduit)
2006 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2007 ("ghc-conduit-extra" ,ghc-conduit-extra)
2008 ("ghc-exceptions" ,ghc-exceptions)
2009 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2010 ("ghc-monad-control" ,ghc-monad-control)
2011 ("ghc-pqueue" ,ghc-pqueue)
2012 ("ghc-resourcet" ,ghc-resourcet)
2013 ("ghc-stm-conduit" ,ghc-stm-conduit)
2014 ("ghc-streaming-commons" ,ghc-streaming-commons)
2015 ("ghc-unliftio-core" ,ghc-unliftio-core)
2016 ("ghc-vector" ,ghc-vector)))
2017 (native-inputs
2018 `(("ghc-hunit" ,ghc-hunit)
2019 ("ghc-test-framework" ,ghc-test-framework)
2020 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2021 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2022 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2023 (synopsis "Conduit-based algorithms")
2024 (description
2025 "This package provides algorithms on @code{Conduits}, including higher
2026level asynchronous processing and some other utilities.")
2027 (license license:expat)))
2028
2029(define-public ghc-conduit-combinators
2030 (package
2031 (name "ghc-conduit-combinators")
2032 (version "1.3.0")
2033 (source
2034 (origin
2035 (method url-fetch)
2036 (uri (string-append "https://hackage.haskell.org/package/"
2037 "conduit-combinators-" version "/"
2038 "conduit-combinators-" version ".tar.gz"))
2039 (sha256
2040 (base32
2041 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2042 (build-system haskell-build-system)
2043 (inputs `(("ghc-conduit" ,ghc-conduit)
2044 ("ghc-conduit-extra" ,ghc-conduit-extra)
2045 ("ghc-transformers-base" ,ghc-transformers-base)
2046 ("ghc-primitive" ,ghc-primitive)
2047 ("ghc-vector" ,ghc-vector)
2048 ("ghc-void" ,ghc-void)
2049 ("ghc-mwc-random" ,ghc-mwc-random)
2050 ("ghc-unix-compat" ,ghc-unix-compat)
2051 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2052 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2053 ("ghc-resourcet" ,ghc-resourcet)
2054 ("ghc-monad-control" ,ghc-monad-control)
2055 ("ghc-chunked-data" ,ghc-chunked-data)
2056 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2057 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2058 ("ghc-silently" ,ghc-silently)
2059 ("ghc-safe" ,ghc-safe)
2060 ("ghc-quickcheck" ,ghc-quickcheck)))
2061 (home-page "https://github.com/snoyberg/mono-traversable")
2062 (synopsis "Commonly used conduit functions, for both chunked and
2063unchunked data")
2064 (description "This Haskell package provides a replacement for Data.Conduit.List,
2065as well as a convenient Conduit module.")
2066 (license license:expat)))
2067
2068(define-public ghc-conduit-extra
2069 (package
2070 (name "ghc-conduit-extra")
2071 (version "1.3.1.1")
2072 (source
2073 (origin
2074 (method url-fetch)
2075 (uri (string-append "https://hackage.haskell.org/package/"
2076 "conduit-extra/conduit-extra-"
2077 version ".tar.gz"))
2078 (sha256
2079 (base32
2080 "0jaj350vv6mbb26gdwcqz4gwzfzrjydv5pis2da49wz1npbakcfw"))))
2081 (build-system haskell-build-system)
2082 (inputs
2083 `(("ghc-conduit" ,ghc-conduit)
2084 ("ghc-exceptions" ,ghc-exceptions)
2085 ("ghc-monad-control" ,ghc-monad-control)
2086 ("ghc-transformers-base" ,ghc-transformers-base)
2087 ("ghc-typed-process" ,ghc-typed-process)
2088 ("ghc-async" ,ghc-async)
2089 ("ghc-attoparsec" ,ghc-attoparsec)
2090 ("ghc-blaze-builder" ,ghc-blaze-builder)
2091 ("ghc-network" ,ghc-network)
2092 ("ghc-primitive" ,ghc-primitive)
2093 ("ghc-resourcet" ,ghc-resourcet)
2094 ("ghc-streaming-commons" ,ghc-streaming-commons)
2095 ("ghc-hspec" ,ghc-hspec)
2096 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2097 ("ghc-quickcheck" ,ghc-quickcheck)))
2098 (native-inputs
2099 `(("hspec-discover" ,hspec-discover)))
2100 (home-page "https://github.com/snoyberg/conduit")
2101 (synopsis "Conduit adapters for common libraries")
2102 (description
2103 "The @code{conduit} package itself maintains relative small dependencies.
2104The purpose of this package is to collect commonly used utility functions
2105wrapping other library dependencies, without depending on heavier-weight
2106dependencies. The basic idea is that this package should only depend on
2107@code{haskell-platform} packages and @code{conduit}.")
2108 (license license:expat)))
2109
2110(define-public ghc-configurator
2111 (package
2112 (name "ghc-configurator")
2113 (version "0.3.0.0")
2114 (source
2115 (origin
2116 (method url-fetch)
2117 (uri (string-append "https://hackage.haskell.org/package/"
2118 "configurator/configurator-"
2119 version ".tar.gz"))
2120 (sha256
2121 (base32
2122 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2123 (build-system haskell-build-system)
2124 (inputs
2125 `(("ghc-attoparsec" ,ghc-attoparsec)
2126 ("ghc-hashable" ,ghc-hashable)
2127 ("ghc-unix-compat" ,ghc-unix-compat)
2128 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2129 (native-inputs
2130 `(("ghc-hunit" ,ghc-hunit)
2131 ("ghc-test-framework" ,ghc-test-framework)
2132 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2133 (home-page "http://github.com/bos/configurator")
2134 (synopsis "Configuration management")
2135 (description
2136 "This package provides a configuration management library for programs
2137and daemons. The features include:
2138
2139@enumerate
2140@item Automatic, dynamic reloading in response to modifications to
2141 configuration files.
2142@item A simple, but flexible, configuration language, supporting several of
2143 the most commonly needed types of data, along with interpolation of strings
2144 from the configuration or the system environment (e.g. @code{$(HOME)}).
2145@item Subscription-based notification of changes to configuration properties.
2146@item An @code{import} directive allows the configuration of a complex
2147 application to be split across several smaller files, or common configuration
2148 data to be shared across several applications.
2149@end enumerate\n")
2150 (license license:bsd-3)))
2151
2152(define-public ghc-connection
2153 (package
2154 (name "ghc-connection")
2155 (version "0.2.8")
2156 (source (origin
2157 (method url-fetch)
2158 (uri (string-append "https://hackage.haskell.org/package/"
2159 "connection/connection-"
2160 version ".tar.gz"))
2161 (sha256
2162 (base32
2163 "1swkb9w5vx9ph7x55y51dc0srj2z27nd9ibgn8c0qcl6hx7g9cbh"))))
2164 (build-system haskell-build-system)
2165 (inputs
2166 `(("ghc-byteable" ,ghc-byteable)
2167 ("ghc-data-default-class" ,ghc-data-default-class)
2168 ("ghc-network" ,ghc-network)
2169 ("ghc-tls" ,ghc-tls)
2170 ("ghc-socks" ,ghc-socks)
2171 ("ghc-x509" ,ghc-x509)
2172 ("ghc-x509-store" ,ghc-x509-store)
2173 ("ghc-x509-system" ,ghc-x509-system)
2174 ("ghc-x509-validation" ,ghc-x509-validation)))
2175 (home-page "https://github.com/vincenthz/hs-connection")
2176 (synopsis "Simple and easy network connections API")
2177 (description
2178 "This package provides a simple network library for all your connection
2179needs. It provides a very simple API to create sockets to a destination with
2180the choice of SSL/TLS, and SOCKS.")
2181 (license license:bsd-3)))
2182
2183(define-public ghc-constraints
2184 (package
2185 (name "ghc-constraints")
2186 (version "0.10.1")
2187 (source
2188 (origin
2189 (method url-fetch)
2190 (uri (string-append
2191 "https://hackage.haskell.org/package/constraints/constraints-"
2192 version ".tar.gz"))
2193 (sha256
2194 (base32
2195 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2196 (build-system haskell-build-system)
2197 (inputs
2198 `(("ghc-hashable" ,ghc-hashable)
2199 ("ghc-semigroups" ,ghc-semigroups)
2200 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2201 (native-inputs
2202 `(("ghc-hspec" ,ghc-hspec)
2203 ("hspec-discover" ,hspec-discover)))
2204 (home-page "https://github.com/ekmett/constraints/")
2205 (synopsis "Constraint manipulation")
2206 (description
2207 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2208They stopped crashing the compiler in GHC 7.6. This package provides
2209a vocabulary for working with them.")
2210 (license license:bsd-3)))
2211
2212(define-public ghc-contravariant
2213 (package
2214 (name "ghc-contravariant")
e7b35ff0 2215 (version "1.5.2")
dddbc90c
RV
2216 (source
2217 (origin
2218 (method url-fetch)
2219 (uri (string-append
2220 "https://hackage.haskell.org/package/contravariant/contravariant-"
2221 version
2222 ".tar.gz"))
2223 (sha256
2224 (base32
e7b35ff0 2225 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2226 (build-system haskell-build-system)
2227 (inputs
2228 `(("ghc-void" ,ghc-void)
2229 ("ghc-transformers-compat" ,ghc-transformers-compat)
2230 ("ghc-statevar" ,ghc-statevar)
2231 ("ghc-semigroups" ,ghc-semigroups)))
2232 (home-page
2233 "https://github.com/ekmett/contravariant/")
2234 (synopsis "Contravariant functors")
2235 (description "Contravariant functors for Haskell.")
2236 (license license:bsd-3)))
2237
2238(define-public ghc-contravariant-extras
2239 (package
2240 (name "ghc-contravariant-extras")
2241 (version "0.3.4")
2242 (source
2243 (origin
2244 (method url-fetch)
2245 (uri (string-append "https://hackage.haskell.org/package/"
2246 "contravariant-extras-" version "/"
2247 "contravariant-extras-" version ".tar.gz"))
2248 (sha256
2249 (base32
2250 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2251 (build-system haskell-build-system)
2252 (inputs
2253 `(("ghc-tuple-th" ,ghc-tuple-th)
2254 ("ghc-contravariant" ,ghc-contravariant)
2255 ("ghc-base-prelude" ,ghc-base-prelude)
2256 ("ghc-semigroups" ,ghc-semigroups)))
2257 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2258 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2259 (description "This Haskell package provides extras for the
2260@code{ghc-contravariant} package.")
2261 (license license:expat)))
2262
2263(define-public ghc-convertible
2264 (package
2265 (name "ghc-convertible")
2266 (version "1.1.1.0")
2267 (source
2268 (origin
2269 (method url-fetch)
2270 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2271 "convertible-" version ".tar.gz"))
2272 (sha256
2273 (base32
2274 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2275 (build-system haskell-build-system)
2276 (inputs
2277 `(("ghc-old-time" ,ghc-old-time)
2278 ("ghc-old-locale" ,ghc-old-locale)))
2279 (home-page "https://hackage.haskell.org/package/convertible")
2280 (synopsis "Typeclasses and instances for converting between types")
2281 (description
2282 "This package provides a typeclass with a single function that is
2283designed to help convert between different types: numeric values, dates and
2284times, and the like. The conversions perform bounds checking and return a
2285pure @code{Either} value. This means that you need not remember which specific
2286function performs the conversion you desire.")
2287 (license license:bsd-3)))
2288
2289(define-public ghc-data-accessor
2290 (package
2291 (name "ghc-data-accessor")
6dcca515 2292 (version "0.2.2.8")
dddbc90c
RV
2293 (source
2294 (origin
2295 (method url-fetch)
2296 (uri (string-append
2297 "mirror://hackage/package/data-accessor/data-accessor-"
2298 version ".tar.gz"))
2299 (sha256
6dcca515 2300 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2301 (build-system haskell-build-system)
2302 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2303 (synopsis
2304 "Haskell utilities for accessing and manipulating fields of records")
2305 (description "This package provides Haskell modules for accessing and
2306manipulating fields of records.")
2307 (license license:bsd-3)))
2308
2309(define-public ghc-data-accessor-transformers
2310 (package
2311 (name "ghc-data-accessor-transformers")
2312 (version "0.2.1.7")
2313 (source
2314 (origin
2315 (method url-fetch)
2316 (uri (string-append
2317 "mirror://hackage/package/data-accessor-transformers/"
2318 "data-accessor-transformers-" version ".tar.gz"))
2319 (sha256
2320 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2321 (build-system haskell-build-system)
2322 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2323 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2324 (synopsis "Use Accessor to access state in transformers State monad")
2325 (description "This package provides Haskell modules to allow use of
2326Accessor to access state in transformers State monad.")
2327 (license license:bsd-3)))
2328
2329(define-public ghc-data-default
2330 (package
2331 (name "ghc-data-default")
2332 (version "0.7.1.1")
2333 (source
2334 (origin
2335 (method url-fetch)
2336 (uri (string-append
2337 "https://hackage.haskell.org/package/data-default/data-default-"
2338 version
2339 ".tar.gz"))
2340 (sha256
2341 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2342 (build-system haskell-build-system)
2343 (inputs
2344 `(("ghc-data-default-class"
2345 ,ghc-data-default-class)
2346 ("ghc-data-default-instances-base"
2347 ,ghc-data-default-instances-base)
2348 ("ghc-data-default-instances-containers"
2349 ,ghc-data-default-instances-containers)
2350 ("ghc-data-default-instances-dlist"
2351 ,ghc-data-default-instances-dlist)
2352 ("ghc-data-default-instances-old-locale"
2353 ,ghc-data-default-instances-old-locale)))
2354 (home-page "https://hackage.haskell.org/package/data-default")
2355 (synopsis "Types with default values")
2356 (description
2357 "This package defines a class for types with a default value, and
2358provides instances for types from the base, containers, dlist and old-locale
2359packages.")
2360 (license license:bsd-3)))
2361
2362(define-public ghc-data-default-class
2363 (package
2364 (name "ghc-data-default-class")
2365 (version "0.1.2.0")
2366 (source
2367 (origin
2368 (method url-fetch)
2369 (uri (string-append
2370 "https://hackage.haskell.org/package/data-default-class/"
2371 "data-default-class-" version ".tar.gz"))
2372 (sha256
2373 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2374 (build-system haskell-build-system)
2375 (home-page "https://hackage.haskell.org/package/data-default-class")
2376 (synopsis "Types with default values")
2377 (description
2378 "This package defines a class for types with default values.")
2379 (license license:bsd-3)))
2380
2381(define-public ghc-data-default-instances-base
2382 (package
2383 (name "ghc-data-default-instances-base")
2384 (version "0.1.0.1")
2385 (source
2386 (origin
2387 (method url-fetch)
2388 (uri (string-append
2389 "https://hackage.haskell.org/package/"
2390 "data-default-instances-base/"
2391 "data-default-instances-base-" version ".tar.gz"))
2392 (sha256
2393 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2394 (build-system haskell-build-system)
2395 (inputs
2396 `(("ghc-data-default-class" ,ghc-data-default-class)))
2397 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2398 (synopsis "Default instances for types in base")
2399 (description
2400 "This package provides default instances for types from the base
2401package.")
2402 (license license:bsd-3)))
2403
2404(define-public ghc-data-default-instances-containers
2405 (package
2406 (name "ghc-data-default-instances-containers")
2407 (version "0.0.1")
2408 (source
2409 (origin
2410 (method url-fetch)
2411 (uri (string-append
2412 "https://hackage.haskell.org/package/"
2413 "data-default-instances-containers/"
2414 "data-default-instances-containers-" version ".tar.gz"))
2415 (sha256
2416 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2417 (build-system haskell-build-system)
2418 (inputs
2419 `(("ghc-data-default-class" ,ghc-data-default-class)))
2420 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2421 (synopsis "Default instances for types in containers")
2422 (description "Provides default instances for types from the containers
2423package.")
2424 (license license:bsd-3)))
2425
2426(define-public ghc-data-default-instances-dlist
2427 (package
2428 (name "ghc-data-default-instances-dlist")
2429 (version "0.0.1")
2430 (source
2431 (origin
2432 (method url-fetch)
2433 (uri (string-append
2434 "https://hackage.haskell.org/package/"
2435 "data-default-instances-dlist/"
2436 "data-default-instances-dlist-" version ".tar.gz"))
2437 (sha256
2438 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2439 (build-system haskell-build-system)
2440 (inputs
2441 `(("ghc-data-default-class" ,ghc-data-default-class)
2442 ("ghc-dlist" ,ghc-dlist)))
2443 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2444 (synopsis "Default instances for types in dlist")
2445 (description "Provides default instances for types from the dlist
2446package.")
2447 (license license:bsd-3)))
2448
2449(define-public ghc-data-default-instances-old-locale
2450 (package
2451 (name "ghc-data-default-instances-old-locale")
2452 (version "0.0.1")
2453 (source
2454 (origin
2455 (method url-fetch)
2456 (uri (string-append
2457 "https://hackage.haskell.org/package/"
2458 "data-default-instances-old-locale/"
2459 "data-default-instances-old-locale-" version ".tar.gz"))
2460 (sha256
2461 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2462 (build-system haskell-build-system)
2463 (inputs
2464 `(("ghc-data-default-class" ,ghc-data-default-class)
2465 ("ghc-old-locale" ,ghc-old-locale)))
2466 (home-page
2467 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2468 (synopsis "Default instances for types in old-locale")
2469 (description "Provides Default instances for types from the old-locale
2470 package.")
2471 (license license:bsd-3)))
2472
2473(define-public ghc-data-hash
2474 (package
2475 (name "ghc-data-hash")
2476 (version "0.2.0.1")
2477 (source
2478 (origin
2479 (method url-fetch)
2480 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2481 "/data-hash-" version ".tar.gz"))
2482 (sha256
2483 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2484 (build-system haskell-build-system)
2485 (inputs
2486 `(("ghc-quickcheck" ,ghc-quickcheck)
2487 ("ghc-test-framework" ,ghc-test-framework)
2488 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2489 (home-page "https://hackage.haskell.org/package/data-hash")
2490 (synopsis "Combinators for building fast hashing functions")
2491 (description
2492 "This package provides combinators for building fast hashing functions.
2493It includes hashing functions for all basic Haskell98 types.")
2494 (license license:bsd-3)))
2495
2496(define-public ghc-data-ordlist
2497 (package
2498 (name "ghc-data-ordlist")
2499 (version "0.4.7.0")
2500 (source
2501 (origin
2502 (method url-fetch)
2503 (uri (string-append
2504 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2505 version ".tar.gz"))
2506 (sha256
2507 (base32
2508 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2509 (build-system haskell-build-system)
2510 (home-page "https://hackage.haskell.org/package/data-ordlist")
2511 (synopsis "Set and bag operations on ordered lists")
2512 (description
2513 "This module provides set and multiset operations on ordered lists.")
2514 (license license:bsd-3)))
2515
2516(define-public ghc-deepseq-generics
2517 (package
2518 (name "ghc-deepseq-generics")
2519 (version "0.2.0.0")
2520 (source (origin
2521 (method url-fetch)
2522 (uri (string-append "https://hackage.haskell.org/package/"
2523 "deepseq-generics/deepseq-generics-"
2524 version ".tar.gz"))
2525 (sha256
2526 (base32
2527 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2528 (build-system haskell-build-system)
2529 (arguments
2530 `(#:cabal-revision
2531 ("2" "1pnidf8w8x0w5fsqgv8hhrw07slmhxwy5x4fikgk0bd6k76aqicb")))
2532 (native-inputs
2533 `(("ghc-hunit" ,ghc-hunit)
2534 ("ghc-test-framework" ,ghc-test-framework)
2535 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2536 (home-page "https://github.com/hvr/deepseq-generics")
2537 (synopsis "Generic RNF implementation")
2538 (description
2539 "This package provides a @code{GHC.Generics}-based
2540@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2541providing an @code{rnf} implementation.")
2542 (license license:bsd-3)))
2543
2544(define-public ghc-descriptive
2545 (package
2546 (name "ghc-descriptive")
2547 (version "0.9.5")
2548 (source
2549 (origin
2550 (method url-fetch)
2551 (uri (string-append
2552 "https://hackage.haskell.org/package/descriptive/descriptive-"
2553 version
2554 ".tar.gz"))
2555 (sha256
2556 (base32
2557 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2558 (build-system haskell-build-system)
2559 (inputs
2560 `(("ghc-aeson" ,ghc-aeson)
2561 ("ghc-bifunctors" ,ghc-bifunctors)
2562 ("ghc-scientific" ,ghc-scientific)
2563 ("ghc-vector" ,ghc-vector)))
2564 (native-inputs
2565 `(("ghc-hunit" ,ghc-hunit)
2566 ("ghc-hspec" ,ghc-hspec)))
2567 (home-page
2568 "https://github.com/chrisdone/descriptive")
2569 (synopsis
2570 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2571 (description
2572 "This package provides datatypes and functions for creating consumers
2573and parsers with useful semantics.")
2574 (license license:bsd-3)))
2575
2576(define-public ghc-diff
2577 (package
2578 (name "ghc-diff")
2579 (version "0.3.4")
2580 (source (origin
2581 (method url-fetch)
2582 (uri (string-append "https://hackage.haskell.org/package/"
2583 "Diff/Diff-" version ".tar.gz"))
2584 (sha256
2585 (base32
2586 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
2587 (build-system haskell-build-system)
2588 (native-inputs
2589 `(("ghc-quickcheck" ,ghc-quickcheck)
2590 ("ghc-test-framework" ,ghc-test-framework)
2591 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2592 (home-page "https://hub.darcs.net/sterlingclover/Diff")
2593 (synopsis "O(ND) diff algorithm in Haskell")
2594 (description
2595 "This package provides an implementation of the standard diff algorithm,
2596and utilities for pretty printing.")
2597 (license license:bsd-3)))
2598
2599(define-public ghc-disk-free-space
2600 (package
2601 (name "ghc-disk-free-space")
2602 (version "0.1.0.1")
2603 (source
2604 (origin
2605 (method url-fetch)
2606 (uri (string-append "https://hackage.haskell.org/package/"
2607 "disk-free-space/disk-free-space-"
2608 version ".tar.gz"))
2609 (sha256
2610 (base32
2611 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
2612 (build-system haskell-build-system)
2613 (home-page "https://github.com/redneb/disk-free-space")
2614 (synopsis "Retrieve information about disk space usage")
2615 (description "A cross-platform library for retrieving information about
2616disk space usage.")
2617 (license license:bsd-3)))
2618
2619(define-public ghc-distributive
2620 (package
2621 (name "ghc-distributive")
2622 (version "0.5.3")
2623 (source
2624 (origin
2625 (method url-fetch)
2626 (uri (string-append
2627 "https://hackage.haskell.org/package/distributive/distributive-"
2628 version
2629 ".tar.gz"))
2630 (sha256
2631 (base32
2632 "0y566r97sfyvhsmd4yxiz4ns2mqgwf5bdbp56wgxl6wlkidq0wwi"))))
2633 (build-system haskell-build-system)
2634 (arguments
2635 `(#:cabal-revision
2636 ("6" "06bd38rf31yrvvy989r44pm0id3dsxwcp6nxg7wk6ccj3n2b8rzk")))
2637 (inputs
2638 `(("ghc-tagged" ,ghc-tagged)
2639 ("ghc-base-orphans" ,ghc-base-orphans)
2640 ("ghc-transformers-compat" ,ghc-transformers-compat)
2641 ("ghc-semigroups" ,ghc-semigroups)
2642 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2643 (native-inputs
2644 `(("cabal-doctest" ,cabal-doctest)
2645 ("ghc-doctest" ,ghc-doctest)
2646 ("ghc-hspec" ,ghc-hspec)
2647 ("hspec-discover" ,hspec-discover)))
2648 (home-page "https://github.com/ekmett/distributive/")
2649 (synopsis "Distributive functors for Haskell")
2650 (description "This package provides distributive functors for Haskell.
2651Dual to @code{Traversable}.")
2652 (license license:bsd-3)))
2653
2654(define-public ghc-dlist
2655 (package
2656 (name "ghc-dlist")
197ddf33 2657 (version "0.8.0.7")
dddbc90c
RV
2658 (source
2659 (origin
2660 (method url-fetch)
2661 (uri (string-append
2662 "https://hackage.haskell.org/package/dlist/dlist-"
2663 version
2664 ".tar.gz"))
2665 (sha256
197ddf33 2666 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
2667 (build-system haskell-build-system)
2668 (inputs
2669 `(("ghc-quickcheck" ,ghc-quickcheck)))
2670 (home-page "https://github.com/spl/dlist")
2671 (synopsis "Difference lists")
2672 (description
2673 "Difference lists are a list-like type supporting O(1) append. This is
2674particularly useful for efficient logging and pretty printing (e.g. with the
2675Writer monad), where list append quickly becomes too expensive.")
2676 (license license:bsd-3)))
2677
2678(define-public ghc-doctemplates
2679 (package
2680 (name "ghc-doctemplates")
2681 (version "0.2.2.1")
2682 (source
2683 (origin
2684 (method url-fetch)
2685 (uri (string-append "https://hackage.haskell.org/package/"
2686 "doctemplates/doctemplates-"
2687 version ".tar.gz"))
2688 (sha256
2689 (base32
2690 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
2691 (build-system haskell-build-system)
2692 (inputs
2693 `(("ghc-aeson" ,ghc-aeson)
2694 ("ghc-blaze-markup" ,ghc-blaze-markup)
2695 ("ghc-blaze-html" ,ghc-blaze-html)
2696 ("ghc-vector" ,ghc-vector)
2697 ("ghc-unordered-containers" ,ghc-unordered-containers)
2698 ("ghc-scientific" ,ghc-scientific)))
2699 (native-inputs
2700 `(("ghc-hspec" ,ghc-hspec)))
2701 (home-page "https://github.com/jgm/doctemplates#readme")
2702 (synopsis "Pandoc-style document templates")
2703 (description
2704 "This package provides a simple text templating system used by pandoc.")
2705 (license license:bsd-3)))
2706
2707(define-public ghc-doctest
2708 (package
2709 (name "ghc-doctest")
2710 (version "0.16.0")
2711 (source
2712 (origin
2713 (method url-fetch)
2714 (uri (string-append
2715 "https://hackage.haskell.org/package/doctest/doctest-"
2716 version
2717 ".tar.gz"))
2718 (sha256
2719 (base32
2720 "0hkccch65s3kp0b36h7bqhilnpi4bx8kngncm7ma9vbd3dwacjdv"))))
2721 (build-system haskell-build-system)
2722 (arguments `(#:tests? #f)) ; FIXME: missing test framework
2723 (inputs
2724 `(("ghc-syb" ,ghc-syb)
2725 ("ghc-paths" ,ghc-paths)
2726 ("ghc-base-compat" ,ghc-base-compat)
2727 ("ghc-code-page" ,ghc-code-page)
2728 ("ghc-hunit" ,ghc-hunit)
2729 ("ghc-hspec" ,ghc-hspec)
2730 ("ghc-quickcheck" ,ghc-quickcheck)
2731 ("ghc-stringbuilder" ,ghc-stringbuilder)
2732 ("ghc-silently" ,ghc-silently)
2733 ("ghc-setenv" ,ghc-setenv)))
2734 (home-page
2735 "https://github.com/sol/doctest#readme")
2736 (synopsis "Test interactive Haskell examples")
2737 (description "The doctest program checks examples in source code comments.
2738It is modeled after doctest for Python, see
2739@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
2740 (license license:expat)))
2741
2742(define-public ghc-double-conversion
2743 (package
2744 (name "ghc-double-conversion")
2745 (version "2.0.2.0")
2746 (source
2747 (origin
2748 (method url-fetch)
2749 (uri (string-append "https://hackage.haskell.org/package/"
2750 "double-conversion/double-conversion-"
2751 version ".tar.gz"))
2752 (sha256
2753 (base32
2754 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
2755 (build-system haskell-build-system)
2756 (native-inputs
2757 `(("ghc-hunit" ,ghc-hunit)
2758 ("ghc-test-framework" ,ghc-test-framework)
2759 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2760 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2761 (home-page "https://github.com/bos/double-conversion")
2762 (synopsis "Fast conversion between double precision floating point and text")
2763 (description
2764 "This package provides a library that performs fast, accurate conversion
2765between double precision floating point and text.")
2766 (license license:bsd-3)))
2767
2768(define-public ghc-easy-file
2769 (package
2770 (name "ghc-easy-file")
2771 (version "0.2.2")
2772 (source
2773 (origin
2774 (method url-fetch)
2775 (uri (string-append
2776 "https://hackage.haskell.org/package/easy-file/easy-file-"
2777 version
2778 ".tar.gz"))
2779 (sha256
2780 (base32
2781 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
2782 (build-system haskell-build-system)
2783 (home-page
2784 "https://github.com/kazu-yamamoto/easy-file")
2785 (synopsis "File handling library for Haskell")
2786 (description "This library provides file handling utilities for Haskell.")
2787 (license license:bsd-3)))
2788
2789(define-public ghc-easyplot
2790 (package
2791 (name "ghc-easyplot")
2792 (version "1.0")
2793 (source
2794 (origin
2795 (method url-fetch)
2796 (uri (string-append
2797 "https://hackage.haskell.org/package/easyplot/easyplot-"
2798 version ".tar.gz"))
2799 (sha256
2800 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
2801 (build-system haskell-build-system)
2802 (propagated-inputs `(("gnuplot" ,gnuplot)))
2803 (arguments
2804 `(#:phases (modify-phases %standard-phases
2805 (add-after 'unpack 'fix-setup-suffix
2806 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
2807 (home-page "https://hub.darcs.net/scravy/easyplot")
2808 (synopsis "Haskell plotting library based on gnuplot")
2809 (description "This package provides a plotting library for
2810Haskell, using gnuplot for rendering.")
2811 (license license:expat)))
2812
2813(define-public ghc-echo
2814 (package
2815 (name "ghc-echo")
2816 (version "0.1.3")
2817 (source
2818 (origin
2819 (method url-fetch)
2820 (uri (string-append
2821 "https://hackage.haskell.org/package/echo/echo-"
2822 version ".tar.gz"))
2823 (sha256
2824 (base32
2825 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
2826 (build-system haskell-build-system)
2827 (arguments
2828 `(#:cabal-revision
2829 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
2830 (home-page "https://github.com/RyanGlScott/echo")
2831 (synopsis "Echo terminal input portably")
2832 (description "The @code{base} library exposes the @code{hGetEcho} and
2833@code{hSetEcho} functions for querying and setting echo status, but
2834unfortunately, neither function works with MinTTY consoles on Windows.
2835This library provides an alternative interface which works with both
2836MinTTY and other consoles.")
2837 (license license:bsd-3)))
2838
2839(define-public ghc-edisonapi
2840 (package
2841 (name "ghc-edisonapi")
2842 (version "1.3.1")
2843 (source
2844 (origin
2845 (method url-fetch)
2846 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
2847 "/EdisonAPI-" version ".tar.gz"))
2848 (sha256
2849 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
2850 (build-system haskell-build-system)
2851 (home-page "http://rwd.rdockins.name/edison/home/")
2852 (synopsis "Library of efficient, purely-functional data structures (API)")
2853 (description
2854 "Edison is a library of purely functional data structures written by
2855Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
2856value EDiSon (Efficient Data Structures). Edison provides several families of
2857abstractions, each with multiple implementations. The main abstractions
2858provided by Edison are: Sequences such as stacks, queues, and dequeues;
2859Collections such as sets, bags and heaps; and Associative Collections such as
2860finite maps and priority queues where the priority and element are distinct.")
2861 (license license:expat)))
2862
2863(define-public ghc-edisoncore
2864 (package
2865 (name "ghc-edisoncore")
2866 (version "1.3.2.1")
2867 (source
2868 (origin
2869 (method url-fetch)
2870 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
2871 "/EdisonCore-" version ".tar.gz"))
2872 (sha256
2873 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
2874 (build-system haskell-build-system)
2875 (inputs
2876 `(("ghc-quickcheck" ,ghc-quickcheck)
2877 ("ghc-edisonapi" ,ghc-edisonapi)))
2878 (home-page "http://rwd.rdockins.name/edison/home/")
2879 (synopsis "Library of efficient, purely-functional data structures")
2880 (description
2881 "This package provides the core Edison data structure implementations,
2882including multiple sequence, set, bag, and finite map concrete implementations
2883with various performance characteristics.")
2884 (license license:expat)))
2885
2886(define-public ghc-edit-distance
2887 (package
2888 (name "ghc-edit-distance")
2889 (version "0.2.2.1")
2890 (source
2891 (origin
2892 (method url-fetch)
2893 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
2894 "/edit-distance-" version ".tar.gz"))
2895 (sha256
2896 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
2897 (build-system haskell-build-system)
2898 (arguments
2899 `(#:phases
2900 (modify-phases %standard-phases
2901 (add-before 'configure 'update-constraints
2902 (lambda _
2903 (substitute* "edit-distance.cabal"
2904 (("QuickCheck >= 2\\.4 && <2\\.9")
2905 "QuickCheck >= 2.4 && < 2.12")))))))
2906 (inputs
2907 `(("ghc-random" ,ghc-random)
2908 ("ghc-test-framework" ,ghc-test-framework)
2909 ("ghc-quickcheck" ,ghc-quickcheck)
2910 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2911 (home-page "https://github.com/phadej/edit-distance")
2912 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
2913 (description
2914 "This package provides optimized functions to determine the edit
2915distances for fuzzy matching, including Levenshtein and restricted
2916Damerau-Levenshtein algorithms.")
2917 (license license:bsd-3)))
2918
2919(define-public ghc-either
2920 (package
2921 (name "ghc-either")
2922 (version "5.0.1")
2923 (source
2924 (origin
2925 (method url-fetch)
2926 (uri (string-append "https://hackage.haskell.org/package/"
2927 "either-" version "/"
2928 "either-" version ".tar.gz"))
2929 (sha256
2930 (base32
2931 "064hjfld7dkzs78sy30k5qkiva3hx24rax6dvzz5ygr2c0zypdkc"))))
2932 (build-system haskell-build-system)
2933 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
2934 ("ghc-exceptions" ,ghc-exceptions)
2935 ("ghc-free" ,ghc-free)
2936 ("ghc-monad-control" ,ghc-monad-control)
2937 ("ghc-manodrandom" ,ghc-monadrandom)
2938 ("ghc-mmorph" ,ghc-mmorph)
2939 ("ghc-profunctors" ,ghc-profunctors)
2940 ("ghc-semigroups" ,ghc-semigroups)
2941 ("ghc-semigroupoids" ,ghc-semigroupoids)
2942 ("ghc-transformers-base" ,ghc-transformers-base)))
2943 (native-inputs
2944 `(("ghc-quickcheck" ,ghc-quickcheck)
2945 ("ghc-test-framework" ,ghc-test-framework)
2946 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2947 (home-page "https://github.com/ekmett/either")
2948 (synopsis "Provides an either monad transformer for Haskell")
2949 (description "This Haskell package provides an either monad transformer.")
2950 (license license:bsd-3)))
2951
2952(define-public ghc-email-validate
2953 (package
2954 (name "ghc-email-validate")
2955 (version "2.3.2.6")
2956 (source
2957 (origin
2958 (method url-fetch)
2959 (uri (string-append
2960 "https://hackage.haskell.org/package/"
2961 "email-validate/email-validate-"
2962 version
2963 ".tar.gz"))
2964 (sha256
2965 (base32
2966 "0chgylvc8xmhp933rdbmpg5sv4y7yg2h6kbf0ip1dzmbd5p55pa5"))))
2967 (build-system haskell-build-system)
2968 (inputs
2969 `(("ghc-attoparsec" ,ghc-attoparsec)
2970 ("ghc-hspec" ,ghc-hspec)
2971 ("ghc-quickcheck" ,ghc-quickcheck)
2972 ("ghc-doctest" ,ghc-doctest)))
2973 (home-page
2974 "https://github.com/Porges/email-validate-hs")
2975 (synopsis "Email address validator for Haskell")
2976 (description
2977 "This Haskell package provides a validator that can validate an email
2978address string against RFC 5322.")
2979 (license license:bsd-3)))
2980
2981(define-public ghc-enclosed-exceptions
2982 (package
2983 (name "ghc-enclosed-exceptions")
2984 (version "1.0.3")
2985 (source (origin
2986 (method url-fetch)
2987 (uri (string-append "https://hackage.haskell.org/package/"
2988 "enclosed-exceptions/enclosed-exceptions-"
2989 version ".tar.gz"))
2990 (sha256
2991 (base32
2992 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
2993 (build-system haskell-build-system)
2994 ;; FIXME: one of the tests blocks forever:
2995 ;; "thread blocked indefinitely in an MVar operation"
2996 (arguments '(#:tests? #f))
2997 (inputs
2998 `(("ghc-lifted-base" ,ghc-lifted-base)
2999 ("ghc-monad-control" ,ghc-monad-control)
3000 ("ghc-async" ,ghc-async)
3001 ("ghc-transformers-base" ,ghc-transformers-base)))
3002 (native-inputs
3003 `(("ghc-hspec" ,ghc-hspec)
3004 ("ghc-quickcheck" ,ghc-quickcheck)))
3005 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3006 (synopsis "Catch all exceptions from within an enclosed computation")
3007 (description
3008 "This library implements a technique to catch all exceptions raised
3009within an enclosed computation, while remaining responsive to (external)
3010asynchronous exceptions.")
3011 (license license:expat)))
3012
3013(define-public ghc-equivalence
3014 (package
3015 (name "ghc-equivalence")
3016 (version "0.3.2")
3017 (source
3018 (origin
3019 (method url-fetch)
3020 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3021 "/equivalence-" version ".tar.gz"))
3022 (sha256
3023 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
3024 (build-system haskell-build-system)
3025 (inputs
3026 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3027 ("ghc-transformers-compat" ,ghc-transformers-compat)
3028 ("ghc-quickcheck" ,ghc-quickcheck)
3029 ("ghc-test-framework" ,ghc-test-framework)
3030 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3031 (home-page "https://github.com/pa-ba/equivalence")
3032 (synopsis "Maintaining an equivalence relation implemented as union-find")
3033 (description
3034 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3035Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
303622(2), 1975) in order to maintain an equivalence relation. This
3037implementation is a port of the @code{union-find} package using the @code{ST}
3038monad transformer (instead of the IO monad).")
3039 (license license:bsd-3)))
3040
3041(define-public ghc-erf
3042 (package
3043 (name "ghc-erf")
3044 (version "2.0.0.0")
3045 (source
3046 (origin
3047 (method url-fetch)
3048 (uri (string-append "https://hackage.haskell.org/package/"
3049 "erf-" version "/"
3050 "erf-" version ".tar.gz"))
3051 (sha256
3052 (base32
3053 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3054 (build-system haskell-build-system)
3055 (home-page "https://hackage.haskell.org/package/erf")
3056 (synopsis "The error function, erf, and related functions for Haskell")
3057 (description "This Haskell library provides a type class for the
3058error function, erf, and related functions. Instances for Float and
3059Double.")
3060 (license license:bsd-3)))
3061
3062(define-public ghc-errorcall-eq-instance
3063 (package
3064 (name "ghc-errorcall-eq-instance")
3065 (version "0.3.0")
3066 (source
3067 (origin
3068 (method url-fetch)
3069 (uri (string-append "https://hackage.haskell.org/package/"
3070 "errorcall-eq-instance/errorcall-eq-instance-"
3071 version ".tar.gz"))
3072 (sha256
3073 (base32
3074 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3075 (build-system haskell-build-system)
3076 (inputs
3077 `(("ghc-base-orphans" ,ghc-base-orphans)))
3078 (native-inputs
3079 `(("ghc-quickcheck" ,ghc-quickcheck)
3080 ("ghc-hspec" ,ghc-hspec)
3081 ("hspec-discover" ,hspec-discover)))
3082 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3083 (synopsis "Orphan Eq instance for ErrorCall")
3084 (description
3085 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3086This package provides an orphan instance.")
3087 (license license:expat)))
3088
3089(define-public ghc-errors
3090 (package
3091 (name "ghc-errors")
3092 (version "2.3.0")
3093 (source
3094 (origin
3095 (method url-fetch)
3096 (uri (string-append "https://hackage.haskell.org/package/"
3097 "errors-" version "/"
3098 "errors-" version ".tar.gz"))
3099 (sha256
3100 (base32
3101 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3102 (build-system haskell-build-system)
3103 (inputs
3104 `(("ghc-exceptions" ,ghc-exceptions)
3105 ("ghc-transformers-compat" ,ghc-transformers-compat)
3106 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3107 ("ghc-safe" ,ghc-safe)))
3108 (home-page "https://github.com/gabriel439/haskell-errors-library")
3109 (synopsis "Error handling library for Haskell")
3110 (description "This library encourages an error-handling style that
3111directly uses the type system, rather than out-of-band exceptions.")
3112 (license license:bsd-3)))
3113
3114(define-public ghc-esqueleto
3115 (let ((version "2.5.3")
3116 (revision "1")
3117 (commit "b81e0d951e510ebffca03c5a58658ad884cc6fbd"))
3118 (package
3119 (name "ghc-esqueleto")
3120 (version (git-version version revision commit))
3121 (source
3122 (origin
3123 (method git-fetch)
3124 (uri (git-reference
3125 (url "https://github.com/bitemyapp/esqueleto")
3126 (commit commit)))
3127 (file-name (git-file-name name version))
3128 (sha256
3129 (base32
3130 "0lz1qxms7cfg5p3j37inlych0r2fwhm8xbarcys3df9m7jy9nixa"))))
3131 (build-system haskell-build-system)
3132 (arguments
3133 `(#:haddock? #f ; Haddock reports an internal error.
3134 #:phases
3135 (modify-phases %standard-phases
3136 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3137 ;; SQLite backends. Since we only have Haskell packages for
3138 ;; SQLite, we remove the other two test suites. FIXME: Add the
3139 ;; other backends and run all three test suites.
3140 (add-before 'configure 'remove-non-sqlite-test-suites
3141 (lambda _
3142 (use-modules (ice-9 rdelim))
3143 (with-atomic-file-replacement "esqueleto.cabal"
3144 (lambda (in out)
3145 (let loop ((line (read-line in 'concat)) (deleting? #f))
3146 (cond
3147 ((eof-object? line) #t)
3148 ((string-every char-set:whitespace line)
3149 (unless deleting? (display line out))
3150 (loop (read-line in 'concat) #f))
3151 ((member line '("test-suite mysql\n"
3152 "test-suite postgresql\n"))
3153 (loop (read-line in 'concat) #t))
3154 (else
3155 (unless deleting? (display line out))
3156 (loop (read-line in 'concat) deleting?)))))))))))
3157 (inputs
3158 `(("ghc-blaze-html" ,ghc-blaze-html)
3159 ("ghc-conduit" ,ghc-conduit)
3160 ("ghc-monad-logger" ,ghc-monad-logger)
3161 ("ghc-persistent" ,ghc-persistent)
3162 ("ghc-resourcet" ,ghc-resourcet)
3163 ("ghc-tagged" ,ghc-tagged)
3164 ("ghc-unliftio" ,ghc-unliftio)
3165 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3166 (native-inputs
3167 `(("ghc-hspec" ,ghc-hspec)
3168 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3169 ("ghc-persistent-template" ,ghc-persistent-template)))
3170 (home-page "https://github.com/bitemyapp/esqueleto")
3171 (synopsis "Type-safe embedded domain specific language for SQL queries")
3172 (description "This library provides a type-safe embedded domain specific
3173language (EDSL) for SQL queries that works with SQL backends as provided by
3174@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3175to learn new concepts, just new syntax, and it's fairly easy to predict the
3176generated SQL and optimize it for your backend.")
3177 (license license:bsd-3))))
3178
3179(define-public ghc-exactprint
3180 (package
3181 (name "ghc-exactprint")
3182 (version "0.5.6.1")
3183 (source
3184 (origin
3185 (method url-fetch)
3186 (uri (string-append
3187 "https://hackage.haskell.org/package/"
3188 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3189 (sha256
3190 (base32
3191 "141k6qiys0m0r4br7ikp4i546vs3xcil9cwglzcdfcbnb5nj1z87"))))
3192 (build-system haskell-build-system)
3193 (inputs
3194 `(("ghc-paths" ,ghc-paths)
3195 ("ghc-syb" ,ghc-syb)
3196 ("ghc-free" ,ghc-free)))
3197 (native-inputs
3198 `(("ghc-hunit" ,ghc-hunit)
3199 ("ghc-diff" ,ghc-diff)
3200 ("ghc-silently" ,ghc-silently)
3201 ("ghc-filemanip" ,ghc-filemanip)))
3202 (home-page
3203 "http://hackage.haskell.org/package/ghc-exactprint")
3204 (synopsis "ExactPrint for GHC")
3205 (description
3206 "Using the API Annotations available from GHC 7.10.2, this library
3207provides a means to round-trip any code that can be compiled by GHC, currently
3208excluding @file{.lhs} files.")
3209 (license license:bsd-3)))
3210
3211(define-public ghc-exceptions
3212 (package
3213 (name "ghc-exceptions")
46d3e65b 3214 (version "0.10.3")
dddbc90c
RV
3215 (source
3216 (origin
3217 (method url-fetch)
3218 (uri (string-append
3219 "https://hackage.haskell.org/package/exceptions/exceptions-"
3220 version
3221 ".tar.gz"))
3222 (sha256
3223 (base32
46d3e65b 3224 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3225 (build-system haskell-build-system)
3226 (native-inputs
3227 `(("ghc-quickcheck" ,ghc-quickcheck)
3228 ("ghc-test-framework" ,ghc-test-framework)
3229 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3230 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3231 (inputs
3232 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3233 (home-page "https://github.com/ekmett/exceptions/")
3234 (synopsis "Extensible optionally-pure exceptions")
3235 (description "This library provides extensible optionally-pure exceptions
3236for Haskell.")
3237 (license license:bsd-3)))
3238
3239(define-public ghc-executable-path
3240 (package
3241 (name "ghc-executable-path")
3242 (version "0.0.3.1")
3243 (source (origin
3244 (method url-fetch)
3245 (uri (string-append "https://hackage.haskell.org/package/"
3246 "executable-path/executable-path-"
3247 version ".tar.gz"))
3248 (sha256
3249 (base32
3250 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3251 (build-system haskell-build-system)
3252 (home-page "https://hackage.haskell.org/package/executable-path")
3253 (synopsis "Find out the full path of the executable")
3254 (description
3255 "The documentation of @code{System.Environment.getProgName} says that
3256\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3257instead, for maximum portability, we just return the leafname of the program
3258as invoked.\" This library tries to provide the missing path.")
3259 (license license:public-domain)))
3260
3261(define-public ghc-extensible-exceptions
3262 (package
3263 (name "ghc-extensible-exceptions")
3264 (version "0.1.1.4")
3265 (source
3266 (origin
3267 (method url-fetch)
3268 (uri (string-append "https://hackage.haskell.org/package/"
3269 "extensible-exceptions/extensible-exceptions-"
3270 version ".tar.gz"))
3271 (sha256
3272 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3273 (build-system haskell-build-system)
3274 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3275 (synopsis "Extensible exceptions for Haskell")
3276 (description
3277 "This package provides extensible exceptions for both new and old
3278versions of GHC (i.e., < 6.10).")
3279 (license license:bsd-3)))
3280
3281(define-public ghc-extra
3282 (package
3283 (name "ghc-extra")
10650c44 3284 (version "1.6.18")
dddbc90c
RV
3285 (source
3286 (origin
3287 (method url-fetch)
3288 (uri (string-append
3289 "https://hackage.haskell.org/package/extra/extra-"
3290 version
3291 ".tar.gz"))
3292 (sha256
3293 (base32
10650c44 3294 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
dddbc90c
RV
3295 (build-system haskell-build-system)
3296 (inputs
3297 `(("ghc-clock" ,ghc-clock)
10650c44 3298 ("ghc-semigroups" ,ghc-semigroups)
dddbc90c
RV
3299 ("ghc-quickcheck" ,ghc-quickcheck)))
3300 (home-page "https://github.com/ndmitchell/extra")
3301 (synopsis "Extra Haskell functions")
3302 (description "This library provides extra functions for the standard
3303Haskell libraries. Most functions are simple additions, filling out missing
3304functionality. A few functions are available in later versions of GHC, but
3305this package makes them available back to GHC 7.2.")
3306 (license license:bsd-3)))
3307
3308(define-public ghc-fail
3309 (package
3310 (name "ghc-fail")
3311 (version "4.9.0.0")
3312 (source
3313 (origin
3314 (method url-fetch)
3315 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3316 version ".tar.gz"))
3317 (sha256
3318 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3319 (build-system haskell-build-system)
3320 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3321 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3322 (synopsis "Forward-compatible MonadFail class")
3323 (description
3324 "This package contains the @code{Control.Monad.Fail} module providing the
3325@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3326class that became available in
3327@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3328older @code{base} package versions. This package turns into an empty package
3329when used with GHC versions which already provide the
3330@code{Control.Monad.Fail} module.")
3331 (license license:bsd-3)))
3332
3333(define-public ghc-fast-logger
3334 (package
3335 (name "ghc-fast-logger")
3336 (version "2.4.11")
3337 (source
3338 (origin
3339 (method url-fetch)
3340 (uri (string-append
3341 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3342 version
3343 ".tar.gz"))
3344 (sha256
3345 (base32
3346 "1ad2vq4nifdxshqk9yrmghqizhkgybfz134kpr6padglb2mxxrdv"))))
3347 (build-system haskell-build-system)
3348 (inputs
3349 `(("ghc-auto-update" ,ghc-auto-update)
3350 ("ghc-easy-file" ,ghc-easy-file)
3351 ("ghc-unix-time" ,ghc-unix-time)))
3352 (native-inputs
3353 `(("hspec-discover" ,hspec-discover)
3354 ("ghc-hspec" ,ghc-hspec)))
3355 (home-page "https://hackage.haskell.org/package/fast-logger")
3356 (synopsis "Fast logging system")
3357 (description "This library provides a fast logging system for Haskell.")
3358 (license license:bsd-3)))
3359
3360(define-public ghc-feed
3361 (package
3362 (name "ghc-feed")
3363 (version "1.0.0.0")
3364 (source
3365 (origin
3366 (method url-fetch)
3367 (uri (string-append "https://hackage.haskell.org/package/"
3368 "feed/feed-" version ".tar.gz"))
3369 (sha256
3370 (base32
3371 "05rgg7x1984mgfhkmz792xj8lhwjgznixhygzr8blf517lns2nck"))))
3372 (build-system haskell-build-system)
3373 (arguments
3374 `(#:cabal-revision
3375 ("4" "0baavcavm3ywykcr9cm07aqr7sna98jba2n68lyn3kany8ri214d")))
3376 (inputs
3377 `(("ghc-base-compat" ,ghc-base-compat)
3378 ("ghc-old-locale" ,ghc-old-locale)
3379 ("ghc-old-time" ,ghc-old-time)
3380 ("ghc-safe" ,ghc-safe)
3381 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3382 ("ghc-utf8-string" ,ghc-utf8-string)
3383 ("ghc-xml-conduit" ,ghc-xml-conduit)
3384 ("ghc-xml-types" ,ghc-xml-types)))
3385 (native-inputs
3386 `(("ghc-hunit" ,ghc-hunit)
3387 ("ghc-test-framework" ,ghc-test-framework)
3388 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3389 (home-page "https://github.com/bergmark/feed")
3390 (synopsis "Haskell package for handling various syndication formats")
3391 (description "This Haskell package includes tools for generating and
3392consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3393 (license license:bsd-3)))
3394
3395(define-public ghc-fgl
3396 (package
3397 (name "ghc-fgl")
17482b26 3398 (version "5.7.0.1")
dddbc90c
RV
3399 (outputs '("out" "doc"))
3400 (source
3401 (origin
3402 (method url-fetch)
3403 (uri (string-append
3404 "https://hackage.haskell.org/package/fgl/fgl-"
3405 version
3406 ".tar.gz"))
3407 (sha256
3408 (base32
17482b26 3409 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
3410 (build-system haskell-build-system)
3411 (arguments
3412 `(#:phases
3413 (modify-phases %standard-phases
3414 (add-before 'configure 'update-constraints
3415 (lambda _
3416 (substitute* "fgl.cabal"
17482b26
TS
3417 (("QuickCheck >= 2\\.8 && < 2\\.13")
3418 "QuickCheck >= 2.8 && < 2.14")
3419 (("hspec >= 2\\.1 && < 2\\.7")
3420 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3421 (inputs
3422 `(("ghc-hspec" ,ghc-hspec)
3423 ("ghc-quickcheck" ,ghc-quickcheck)))
3424 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3425 (synopsis
3426 "Martin Erwig's Functional Graph Library")
3427 (description "The functional graph library, FGL, is a collection of type
3428and function definitions to address graph problems. The basis of the library
3429is an inductive definition of graphs in the style of algebraic data types that
3430encourages inductive, recursive definitions of graph algorithms.")
3431 (license license:bsd-3)))
3432
3433(define-public ghc-fgl-arbitrary
3434 (package
3435 (name "ghc-fgl-arbitrary")
3436 (version "0.2.0.3")
3437 (source
3438 (origin
3439 (method url-fetch)
3440 (uri (string-append
3441 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3442 version ".tar.gz"))
3443 (sha256
3444 (base32
3445 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3446 (build-system haskell-build-system)
3447 (arguments
3448 `(#:phases
3449 (modify-phases %standard-phases
3450 (add-before 'configure 'update-constraints
3451 (lambda _
3452 (substitute* "fgl-arbitrary.cabal"
3453 (("QuickCheck >= 2\\.3 && < 2\\.10")
3454 "QuickCheck >= 2.3 && < 2.12")
3455 (("hspec >= 2\\.1 && < 2\\.5")
3456 "hspec >= 2.1 && < 2.6")))))))
3457 (inputs
3458 `(("ghc-fgl" ,ghc-fgl)
3459 ("ghc-quickcheck" ,ghc-quickcheck)
3460 ("ghc-hspec" ,ghc-hspec)))
3461 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3462 (synopsis "QuickCheck support for fgl")
3463 (description
3464 "Provides Arbitrary instances for fgl graphs to avoid adding a
3465QuickCheck dependency for fgl whilst still making the instances
3466available to others. Also available are non-fgl-specific functions
3467for generating graph-like data structures.")
3468 (license license:bsd-3)))
3469
3470(define-public ghc-file-embed
3471 (package
3472 (name "ghc-file-embed")
b5920d50 3473 (version "0.0.11")
dddbc90c
RV
3474 (source
3475 (origin
3476 (method url-fetch)
3477 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3478 "file-embed-" version ".tar.gz"))
3479 (sha256
3480 (base32
b5920d50 3481 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
3482 (build-system haskell-build-system)
3483 (home-page "https://github.com/snoyberg/file-embed")
3484 (synopsis "Use Template Haskell to embed file contents directly")
3485 (description
3486 "This package allows you to use Template Haskell to read a file or all
3487the files in a directory, and turn them into @code{(path, bytestring)} pairs
3488embedded in your Haskell code.")
3489 (license license:bsd-3)))
3490
3491(define-public ghc-filemanip
3492 (package
3493 (name "ghc-filemanip")
3494 (version "0.3.6.3")
3495 (source (origin
3496 (method url-fetch)
3497 (uri (string-append "https://hackage.haskell.org/package/"
3498 "filemanip/filemanip-" version ".tar.gz"))
3499 (sha256
3500 (base32
3501 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3502 (build-system haskell-build-system)
3503 (inputs
3504 `(("ghc-unix-compat" ,ghc-unix-compat)))
3505 (home-page "https://github.com/bos/filemanip")
3506 (synopsis "File and directory manipulation for Haskell")
3507 (description
3508 "This package provides a Haskell library for working with files and
3509directories. It includes code for pattern matching, finding files, modifying
3510file contents, and more.")
3511 (license license:bsd-3)))
3512
3513(define-public ghc-findbin
3514 (package
3515 (name "ghc-findbin")
3516 (version "0.0.5")
3517 (source
3518 (origin
3519 (method url-fetch)
3520 (uri (string-append
3521 "https://hackage.haskell.org/package/FindBin/FindBin-"
3522 version ".tar.gz"))
3523 (sha256
3524 (base32
3525 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3526 (build-system haskell-build-system)
3527 (home-page "https://github.com/audreyt/findbin")
3528 (synopsis "Get the absolute path of the running program")
3529 (description
3530 "This module locates the full directory of the running program, to allow
3531the use of paths relative to it. FindBin supports invocation of Haskell
3532programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3533an executable.")
3534 (license license:bsd-3)))
3535
3536(define-public ghc-fingertree
3537 (package
3538 (name "ghc-fingertree")
aac14fdc 3539 (version "0.1.4.2")
dddbc90c
RV
3540 (source
3541 (origin
3542 (method url-fetch)
3543 (uri (string-append
3544 "https://hackage.haskell.org/package/fingertree/fingertree-"
3545 version ".tar.gz"))
3546 (sha256
3547 (base32
aac14fdc 3548 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
3549 (build-system haskell-build-system)
3550 (native-inputs
3551 `(("ghc-hunit" ,ghc-hunit)
3552 ("ghc-quickcheck" ,ghc-quickcheck)
3553 ("ghc-test-framework" ,ghc-test-framework)
3554 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3555 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3556 (home-page "https://hackage.haskell.org/package/fingertree")
3557 (synopsis "Generic finger-tree structure")
3558 (description "This library provides finger trees, a general sequence
3559representation with arbitrary annotations, for use as a base for
3560implementations of various collection types. It includes examples, as
3561described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3562simple general-purpose data structure\".")
3563 (license license:bsd-3)))
3564
3565(define-public ghc-fixed
3566 (package
3567 (name "ghc-fixed")
099dda5b 3568 (version "0.3")
dddbc90c
RV
3569 (source
3570 (origin
3571 (method url-fetch)
3572 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
3573 version ".tar.gz"))
3574 (sha256
3575 (base32
099dda5b 3576 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
3577 (build-system haskell-build-system)
3578 (home-page "https://github.com/ekmett/fixed")
3579 (synopsis "Signed 15.16 precision fixed point arithmetic")
3580 (description
3581 "This package provides functions for signed 15.16 precision fixed point
3582arithmetic.")
3583 (license license:bsd-3)))
3584
f169f713
JS
3585(define-public ghc-fmlist
3586 (package
3587 (name "ghc-fmlist")
fe9b83a6 3588 (version "0.9.3")
f169f713
JS
3589 (source
3590 (origin
3591 (method url-fetch)
3592 (uri
3593 (string-append
3594 "https://hackage.haskell.org/package/fmlist/fmlist-"
3595 version ".tar.gz"))
3596 (sha256
3597 (base32
fe9b83a6 3598 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
3599 (build-system haskell-build-system)
3600 (home-page "https://github.com/sjoerdvisscher/fmlist")
3601 (synopsis "FoldMap lists")
3602 (description "FoldMap lists are lists represented by their
3603@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
3604append, just like DLists, but other operations might have favorable
3605performance characteristics as well. These wild claims are still
3606completely unverified though.")
3607 (license license:bsd-3)))
3608
dddbc90c
RV
3609(define-public ghc-foldl
3610 (package
3611 (name "ghc-foldl")
3612 (version "1.4.3")
3613 (source
3614 (origin
3615 (method url-fetch)
3616 (uri (string-append "https://hackage.haskell.org/package/"
3617 "foldl-" version "/"
3618 "foldl-" version ".tar.gz"))
3619 (sha256
3620 (base32
3621 "13n0ca3hw5jzqf6rxsdbhbwkn61a9zlm13f0f205s60j3sc72jzk"))))
3622 (build-system haskell-build-system)
3623 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3624 ("ghc-primitive" ,ghc-primitive)
3625 ("ghc-vector" ,ghc-vector)
3626 ("ghc-unordered-containers" ,ghc-unordered-containers)
3627 ("ghc-hashable" ,ghc-hashable)
3628 ("ghc-contravariant" ,ghc-contravariant)
3629 ("ghc-semigroups" ,ghc-semigroups)
3630 ("ghc-profunctors" ,ghc-profunctors)
3631 ("ghc-semigroupoids" ,ghc-semigroupoids)
3632 ("ghc-comonad" ,ghc-comonad)
3633 ("ghc-vector-builder" ,ghc-vector-builder)))
3634 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
3635 (synopsis "Composable, streaming, and efficient left folds for Haskell")
3636 (description "This Haskell library provides strict left folds that stream
3637in constant memory, and you can combine folds using @code{Applicative} style
3638to derive new folds. Derived folds still traverse the container just once
3639and are often as efficient as hand-written folds.")
3640 (license license:bsd-3)))
3641
3642(define-public ghc-foundation
3643 (package
3644 (name "ghc-foundation")
0a702df9 3645 (version "0.0.25")
dddbc90c
RV
3646 (source
3647 (origin
3648 (method url-fetch)
3649 (uri (string-append "https://hackage.haskell.org/package/"
3650 "foundation/foundation-" version ".tar.gz"))
3651 (sha256
3652 (base32
0a702df9 3653 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c
RV
3654 (build-system haskell-build-system)
3655 (inputs `(("ghc-basement" ,ghc-basement)))
3656 (home-page "https://github.com/haskell-foundation/foundation")
3657 (synopsis "Alternative prelude with batteries and no dependencies")
3658 (description
3659 "This package provides a custom prelude with no dependencies apart from
3660the base package.
3661
3662Foundation has the following goals:
3663
3664@enumerate
3665@item provide a base like sets of modules that provide a consistent set of
3666 features and bugfixes across multiple versions of GHC (unlike base).
3667@item provide a better and more efficient prelude than base's prelude.
3668@item be self-sufficient: no external dependencies apart from base;
3669@item provide better data-types: packed unicode string by default, arrays;
3670@item Numerical classes that better represent mathematical things (no more
3671 all-in-one @code{Num});
3672@item I/O system with less lazy IO.
3673@end enumerate\n")
3674 (license license:bsd-3)))
3675
3676(define-public ghc-free
3677 (package
3678 (name "ghc-free")
3679 (version "5.0.2")
3680 (source
3681 (origin
3682 (method url-fetch)
3683 (uri (string-append
3684 "https://hackage.haskell.org/package/free/free-"
3685 version
3686 ".tar.gz"))
3687 (sha256
3688 (base32
3689 "15m3n9vhz7z3kzv1w3wlfa3x8jp4cbrkwmrcjr7jlx39iqffn1gg"))))
3690 (build-system haskell-build-system)
3691 (inputs
3692 `(("ghc-prelude-extras" ,ghc-prelude-extras)
3693 ("ghc-profunctors" ,ghc-profunctors)
3694 ("ghc-exceptions" ,ghc-exceptions)
3695 ("ghc-bifunctors" ,ghc-bifunctors)
3696 ("ghc-comonad" ,ghc-comonad)
3697 ("ghc-distributive" ,ghc-distributive)
3698 ("ghc-semigroupoids" ,ghc-semigroupoids)
3699 ("ghc-semigroups" ,ghc-semigroups)
3700 ("ghc-transformers-base" ,ghc-transformers-base)
3701 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3702 (home-page "https://github.com/ekmett/free/")
3703 (synopsis "Unrestricted monads for Haskell")
3704 (description "This library provides free monads, which are useful for many
3705tree-like structures and domain specific languages. If @code{f} is a
3706@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
3707whose nodes are labeled with the constructors of @code{f}. The word \"free\"
3708is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
3709f} makes no constraining assumptions beyond those given by @code{f} and the
3710definition of @code{Monad}.")
3711 (license license:bsd-3)))
3712
3713(define-public ghc-fsnotify
3714 (package
3715 (name "ghc-fsnotify")
3716 (version "0.3.0.1")
3717 (source (origin
3718 (method url-fetch)
3719 (uri (string-append
3720 "https://hackage.haskell.org/package/fsnotify/"
3721 "fsnotify-" version ".tar.gz"))
3722 (sha256
3723 (base32
3724 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
3725 (build-system haskell-build-system)
3726 (inputs
3727 `(("ghc-async" ,ghc-async)
3728 ("ghc-unix-compat" ,ghc-unix-compat)
3729 ("ghc-hinotify" ,ghc-hinotify)
3730 ("ghc-tasty" ,ghc-tasty)
3731 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3732 ("ghc-random" ,ghc-random)
3733 ("ghc-shelly" ,ghc-shelly)
3734 ("ghc-temporary" ,ghc-temporary)))
3735 (home-page "https://github.com/haskell-fswatch/hfsnotify")
3736 (synopsis "Cross platform library for file change notification.")
3737 (description "Cross platform library for file creation, modification, and
3738deletion notification. This library builds upon existing libraries for platform
3739specific Windows, Mac, and Linux file system event notification.")
3740 (license license:bsd-3)))
3741
3742(define-public ghc-generic-deriving
3743 (package
3744 (name "ghc-generic-deriving")
3745 (version "1.12.2")
3746 (source
3747 (origin
3748 (method url-fetch)
3749 (uri (string-append
3750 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
3751 version
3752 ".tar.gz"))
3753 (sha256
3754 (base32
3755 "1i7d6cpj9yhaqb79zays3nqchhaacacjz9bkc0zlwj73y5gvi22n"))))
3756 (build-system haskell-build-system)
3757 (inputs
3758 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
3759 (native-inputs
3760 `(("ghc-hspec" ,ghc-hspec)
3761 ("hspec-discover" ,hspec-discover)))
3762 (home-page "https://hackage.haskell.org/package/generic-deriving")
3763 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3764 (description "This package provides functionality for generalising the
3765deriving mechanism in Haskell to arbitrary classes.")
3766 (license license:bsd-3)))
3767
3768(define-public ghc-generics-sop
3769 (package
3770 (name "ghc-generics-sop")
3ed40e10 3771 (version "0.4.0.1")
dddbc90c
RV
3772 (source
3773 (origin
3774 (method url-fetch)
3775 (uri (string-append "https://hackage.haskell.org/package/"
3776 "generics-sop-" version "/"
3777 "generics-sop-" version ".tar.gz"))
3778 (sha256
3779 (base32
3ed40e10 3780 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 3781 (build-system haskell-build-system)
3ed40e10
TS
3782 (inputs
3783 `(("ghc-sop-core" ,ghc-sop-core)
3784 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
3785 (home-page "https://github.com/well-typed/generics-sop")
3786 (synopsis "Generic Programming using True Sums of Products for Haskell")
3787 (description "This Haskell package supports the definition of generic
3788functions. Datatypes are viewed in a uniform, structured way: the choice
3789between constructors is represented using an n-ary sum, and the arguments of
3790each constructor are represented using an n-ary product.")
3791 (license license:bsd-3)))
3792
3793(define-public ghc-geniplate-mirror
3794 (package
3795 (name "ghc-geniplate-mirror")
3796 (version "0.7.6")
3797 (source
3798 (origin
3799 (method url-fetch)
3800 (uri (string-append "https://hackage.haskell.org/package"
3801 "/geniplate-mirror"
3802 "/geniplate-mirror-" version ".tar.gz"))
3803 (sha256
3804 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
3805 (build-system haskell-build-system)
3806 (home-page "https://github.com/danr/geniplate")
3807 (synopsis "Use Template Haskell to generate Uniplate-like functions")
3808 (description
3809 "Use Template Haskell to generate Uniplate-like functions. This is a
3810maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
3811geniplate} package, written by Lennart Augustsson.")
3812 (license license:bsd-3)))
3813
3814(define-public ghc-genvalidity
3815 (package
3816 (name "ghc-genvalidity")
3817 (version "0.5.1.0")
3818 (source
3819 (origin
3820 (method url-fetch)
3821 (uri (string-append
3822 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
3823 version
3824 ".tar.gz"))
3825 (sha256
3826 (base32
3827 "17ykq38j9a2lzir6dqz5jgy6ndaafrpkhqhcg96c5ppg7wcxaaj0"))))
3828 (build-system haskell-build-system)
3829 (inputs
3830 `(("ghc-quickcheck" ,ghc-quickcheck)
3831 ("ghc-validity" ,ghc-validity)))
3832 (native-inputs
3833 `(("ghc-hspec" ,ghc-hspec)
3834 ("hspec-discover" ,hspec-discover)
3835 ("ghc-hspec-core" ,ghc-hspec-core)))
3836 (home-page
3837 "https://github.com/NorfairKing/validity")
3838 (synopsis
3839 "Testing utilities for the @code{validity} library")
3840 (description
3841 "This package provides testing utilities that are useful in conjunction
3842with the @code{Validity} typeclass.")
3843 (license license:expat)))
3844
3845(define-public ghc-genvalidity-property
3846 (package
3847 (name "ghc-genvalidity-property")
3848 (version "0.2.1.1")
3849 (source
3850 (origin
3851 (method url-fetch)
3852 (uri (string-append
3853 "https://hackage.haskell.org/package/"
3854 "genvalidity-property/genvalidity-property-"
3855 version
3856 ".tar.gz"))
3857 (sha256
3858 (base32
3859 "0cjw5i2pydidda9bnp6x37ylhxdk9g874x5sadr6sscg5kq85a1b"))))
3860 (build-system haskell-build-system)
3861 (inputs
3862 `(("ghc-quickcheck" ,ghc-quickcheck)
3863 ("ghc-genvalidity" ,ghc-genvalidity)
3864 ("ghc-hspec" ,ghc-hspec)
3865 ("hspec-discover" ,hspec-discover)
3866 ("ghc-validity" ,ghc-validity)))
3867 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
3868 (home-page
3869 "https://github.com/NorfairKing/validity")
3870 (synopsis
3871 "Standard properties for functions on @code{Validity} types")
3872 (description
3873 "This package supplements the @code{Validity} typeclass with standard
3874properties for functions operating on them.")
3875 (license license:expat)))
3876
3877(define-public ghc-gitrev
3878 (package
3879 (name "ghc-gitrev")
3880 (version "1.3.1")
3881 (source
3882 (origin
3883 (method url-fetch)
3884 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
3885 version ".tar.gz"))
3886 (sha256
3887 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
3888 (build-system haskell-build-system)
3889 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
3890 (home-page "https://github.com/acfoltzer/gitrev")
3891 (synopsis "Compile git revision info into Haskell projects")
3892 (description
3893 "This package provides some handy Template Haskell splices for including
3894the current git hash and branch in the code of your project. This is useful
3895for including in panic messages, @command{--version} output, or diagnostic
3896info for more informative bug reports.")
3897 (license license:bsd-3)))
3898
3899(define-public ghc-glob
3900 (package
3901 (name "ghc-glob")
b900f486 3902 (version "0.10.0")
dddbc90c
RV
3903 (source
3904 (origin
3905 (method url-fetch)
3906 (uri (string-append "https://hackage.haskell.org/package/"
3907 "Glob-" version "/"
3908 "Glob-" version ".tar.gz"))
3909 (sha256
3910 (base32
b900f486 3911 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
3912 (build-system haskell-build-system)
3913 (inputs
3914 `(("ghc-dlist" ,ghc-dlist)
3915 ("ghc-semigroups" ,ghc-semigroups)
3916 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3917 (native-inputs
3918 `(("ghc-hunit" ,ghc-hunit)
3919 ("ghc-quickcheck" ,ghc-quickcheck)
3920 ("ghc-test-framework" ,ghc-test-framework)
3921 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3922 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3923 (home-page "http://iki.fi/matti.niemenmaa/glob/")
3924 (synopsis "Haskell library matching glob patterns against file paths")
3925 (description "This package provides a Haskell library for @dfn{globbing}:
3926matching patterns against file paths.")
3927 (license license:bsd-3)))
3928
3929(define-public ghc-gluraw
3930 (package
3931 (name "ghc-gluraw")
3932 (version "2.0.0.4")
3933 (source
3934 (origin
3935 (method url-fetch)
3936 (uri (string-append
3937 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
3938 version
3939 ".tar.gz"))
3940 (sha256
3941 (base32
3942 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
3943 (build-system haskell-build-system)
3944 (inputs
3945 `(("ghc-openglraw" ,ghc-openglraw)))
3946 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3947 (synopsis "Raw Haskell bindings GLU")
3948 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
3949utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
3950basis for a nicer interface.")
3951 (license license:bsd-3)))
3952
3953(define-public ghc-glut
3954 (package
3955 (name "ghc-glut")
3956 (version "2.7.0.14")
3957 (source
3958 (origin
3959 (method url-fetch)
3960 (uri (string-append
3961 "https://hackage.haskell.org/package/GLUT/GLUT-"
3962 version
3963 ".tar.gz"))
3964 (sha256
3965 (base32
3966 "01i162fly4q1751fp60lgkzlb8kr0qqbvmxj74zc6skb19qggy2w"))))
3967 (build-system haskell-build-system)
3968 (inputs
3969 `(("ghc-statevar" ,ghc-statevar)
3970 ("ghc-opengl" ,ghc-opengl)
3971 ("ghc-openglraw" ,ghc-openglraw)
3972 ("freeglut" ,freeglut)))
3973 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3974 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
3975 (description "This library provides Haskell bindings for the OpenGL
3976Utility Toolkit, a window system-independent toolkit for writing OpenGL
3977programs.")
3978 (license license:bsd-3)))
3979
3980(define-public ghc-gnuplot
3981 (package
3982 (name "ghc-gnuplot")
3983 (version "0.5.5.2")
3984 (source
3985 (origin
3986 (method url-fetch)
3987 (uri (string-append
3988 "mirror://hackage/package/gnuplot/gnuplot-"
3989 version ".tar.gz"))
3990 (sha256
3991 (base32 "1mlppnc13ygjzmf6ldydys4wvy35yb3xjwwfgf9rbi7nfcqjr6mn"))))
3992 (build-system haskell-build-system)
3993 (inputs
3994 `(("ghc-temporary" ,ghc-temporary)
3995 ("ghc-utility-ht" ,ghc-utility-ht)
3996 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
3997 ("ghc-data-accessor" ,ghc-data-accessor)
3998 ("ghc-semigroups" ,ghc-semigroups)
3999 ("gnuplot" ,gnuplot)))
4000 (arguments
4001 `(#:phases
4002 (modify-phases %standard-phases
4003 (add-before 'configure 'fix-path-to-gnuplot
4004 (lambda* (#:key inputs #:allow-other-keys)
4005 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4006 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4007 (("(gnuplotName = ).*$" all cmd)
4008 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4009 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4010 (synopsis "2D and 3D plots using gnuplot")
4011 (description "This package provides a Haskell module for creating 2D and
40123D plots using gnuplot.")
4013 (license license:bsd-3)))
4014
4015(define-public ghc-graphviz
4016 (package
4017 (name "ghc-graphviz")
4018 (version "2999.20.0.2")
4019 (source (origin
4020 (method url-fetch)
4021 (uri (string-append "https://hackage.haskell.org/package/"
4022 "graphviz/graphviz-" version ".tar.gz"))
4023 (sha256
4024 (base32
4025 "0kj7ap0gnliviq2p8lscw1m06capnsa90vpvcys24nqy5nw2wrp7"))))
4026 (build-system haskell-build-system)
4027 (inputs
4028 `(("ghc-quickcheck" ,ghc-quickcheck)
4029 ("ghc-colour" ,ghc-colour)
4030 ("ghc-dlist" ,ghc-dlist)
4031 ("ghc-fgl" ,ghc-fgl)
4032 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4033 ("ghc-polyparse" ,ghc-polyparse)
4034 ("ghc-temporary" ,ghc-temporary)
4035 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4036 (native-inputs
4037 `(("ghc-hspec" ,ghc-hspec)
4038 ("graphviz" ,graphviz)
4039 ("hspec-discover" ,hspec-discover)))
4040 (home-page "https://hackage.haskell.org/package/graphviz")
4041 (synopsis "Bindings to Graphviz for graph visualisation")
4042 (description
4043 "This library provides bindings for the Dot language used by
4044the @uref{https://graphviz.org/, Graphviz} suite of programs for
4045visualising graphs, as well as functions to call those programs.
4046Main features of the graphviz library include:
4047
4048@enumerate
4049@item Almost complete coverage of all Graphviz attributes and syntax
4050@item Support for specifying clusters
4051@item The ability to use a custom node type
4052@item Functions for running a Graphviz layout tool with all specified output types
4053@item Generate and parse Dot code with two options: strict and liberal
4054@item Functions to convert FGL graphs and other graph-like data structures
4055@item Round-trip support for passing an FGL graph through Graphviz to augment node
4056and edge labels with positional information, etc.
4057@end enumerate\n")
4058 (license license:bsd-3)))
4059
4060(define-public ghc-gtk2hs-buildtools
4061 (package
4062 (name "ghc-gtk2hs-buildtools")
4063 (version "0.13.4.0")
4064 (source
4065 (origin
4066 (method url-fetch)
4067 (uri (string-append "https://hackage.haskell.org/package/"
4068 "gtk2hs-buildtools/gtk2hs-buildtools-"
4069 version ".tar.gz"))
4070 (sha256
4071 (base32
4072 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
4073 (build-system haskell-build-system)
4074 (inputs
4075 `(("ghc-random" ,ghc-random)
4076 ("ghc-hashtables" ,ghc-hashtables)))
4077 (native-inputs
4078 `(("ghc-alex" ,ghc-alex)
4079 ("ghc-happy" ,ghc-happy)))
4080 (home-page "http://projects.haskell.org/gtk2hs/")
4081 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4082 (description
4083 "This package provides a set of helper programs necessary to build the
4084Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4085that is used to generate FFI declarations, a tool to build a type hierarchy
4086that mirrors the C type hierarchy of GObjects found in glib, and a generator
4087for signal declarations that are used to call back from C to Haskell. These
4088tools are not needed to actually run Gtk2Hs programs.")
4089 (license license:gpl2)))
4090
4091(define-public ghc-hackage-security
4092 (package
4093 (name "ghc-hackage-security")
4094 (version "0.5.3.0")
4095 (source
4096 (origin
4097 (method url-fetch)
4098 (uri (string-append "https://hackage.haskell.org/package/"
4099 "hackage-security/hackage-security-"
4100 version ".tar.gz"))
4101 (sha256
4102 (base32
4103 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4104 (build-system haskell-build-system)
4105 (arguments
4106 `(#:tests? #f)) ; Tests fail because of framework updates.
4107 (inputs
4108 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4109 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4110 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4111 ("ghc-ed25519" ,ghc-ed25519)
4112 ("ghc-network" ,ghc-network)
4113 ("ghc-network-uri" ,ghc-network-uri)
4114 ("ghc-tar" ,ghc-tar)
4115 ("ghc-zlib" ,ghc-zlib)))
4116 (native-inputs
4117 `(("ghc-network-uri" ,ghc-network-uri)
4118 ("ghc-quickcheck" ,ghc-quickcheck)
4119 ("ghc-tar" ,ghc-tar)
4120 ("ghc-tasty" ,ghc-tasty)
4121 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4122 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4123 ("ghc-temporary" ,ghc-temporary)
4124 ("ghc-zlib" ,ghc-zlib)))
4125 (home-page "https://github.com/haskell/hackage-security")
4126 (synopsis "Hackage security library")
4127 (description "This Hackage security library provides both server and
4128client utilities for securing @uref{http://hackage.haskell.org/, the
4129Hackage package server}. It is based on
4130@uref{http://theupdateframework.com/, The Update Framework}, a set of
4131recommendations developed by security researchers at various universities
4132in the US as well as developers on the @uref{https://www.torproject.org/,
4133Tor project}.")
4134 (license license:bsd-3)))
4135
4136(define-public ghc-haddock
4137 (package
4138 (name "ghc-haddock")
4139 (version "2.19.0.1")
4140 (source
4141 (origin
4142 (method url-fetch)
4143 (uri (string-append
4144 "https://hackage.haskell.org/package/haddock/haddock-"
4145 version
4146 ".tar.gz"))
4147 (sha256
4148 (base32
4149 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4150 (build-system haskell-build-system)
4151 (arguments
4152 `(#:phases
4153 (modify-phases %standard-phases
4154 ;; There are four test suites that require the ghc-haddock-test
4155 ;; package, which no longer builds with GHC 8.4.3. This phase
4156 ;; removes these four test suites from the Cabal file, so that we
4157 ;; do not need ghc-haddock-test as an input.
4158 (add-before 'configure 'remove-haddock-test-test-suites
4159 (lambda _
4160 (use-modules (ice-9 rdelim))
4161 (with-atomic-file-replacement "haddock.cabal"
4162 (lambda (in out)
4163 (let loop ((line (read-line in 'concat)) (deleting? #f))
4164 (cond
4165 ((eof-object? line) #t)
4166 ((string-every char-set:whitespace line)
4167 (unless deleting? (display line out))
4168 (loop (read-line in 'concat) #f))
4169 ((member line '("test-suite html-test\n"
4170 "test-suite hypsrc-test\n"
4171 "test-suite latex-test\n"
4172 "test-suite hoogle-test\n"))
4173 (loop (read-line in 'concat) #t))
4174 (else
4175 (unless deleting? (display line out))
4176 (loop (read-line in 'concat) deleting?)))))))))))
4177 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4178 (native-inputs
4179 `(("ghc-hspec" ,ghc-hspec)))
4180 (home-page "https://www.haskell.org/haddock/")
4181 (synopsis
4182 "Documentation-generation tool for Haskell libraries")
4183 (description
4184 "Haddock is a documentation-generation tool for Haskell libraries.")
4185 (license license:bsd-3)))
4186
4187(define-public ghc-haddock-api
4188 (package
4189 (name "ghc-haddock-api")
4190 (version "2.19.0.1")
4191 (source
4192 (origin
4193 (method url-fetch)
4194 (uri (string-append
4195 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4196 version
4197 ".tar.gz"))
4198 (sha256
4199 (base32
4200 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4201 (build-system haskell-build-system)
4202 (arguments
4203 `(#:phases
4204 (modify-phases %standard-phases
4205 (add-before 'configure 'update-constraints
4206 (lambda _
4207 (substitute* "haddock-api.cabal"
4208 (("Cabal \\^>= 2\\.0\\.0")
4209 "Cabal ^>= 2.2.0")
4210 (("hspec \\^>= 2\\.4\\.4")
4211 "hspec >= 2.4.4 && < 2.6")))))))
4212 (inputs
4213 `(("ghc-paths" ,ghc-paths)
4214 ("ghc-haddock-library" ,ghc-haddock-library)))
4215 (native-inputs
4216 `(("ghc-quickcheck" ,ghc-quickcheck)
4217 ("ghc-hspec" ,ghc-hspec)
4218 ("hspec-discover" ,hspec-discover)))
4219 (home-page "https://www.haskell.org/haddock/")
4220 (synopsis "API for documentation-generation tool Haddock")
4221 (description "This package provides an API to Haddock, the
4222documentation-generation tool for Haskell libraries.")
4223 (license license:bsd-3)))
4224
4225(define-public ghc-haddock-library
4226 (package
4227 (name "ghc-haddock-library")
4228 (version "1.5.0.1")
4229 (source
4230 (origin
4231 (method url-fetch)
4232 (uri (string-append
4233 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4234 version
4235 ".tar.gz"))
4236 (sha256
4237 (base32
4238 "1cmbg8l5xrwpliclwy3l057raypjqy0hsg1h1743ahaj8gq10b7z"))
4239 (patches (search-patches
4240 "ghc-haddock-library-unbundle.patch"))
4241 (modules '((guix build utils)))
4242 (snippet '(begin
4243 (delete-file-recursively "vendor")
4244 #t))))
4245 (build-system haskell-build-system)
4246 (arguments
4247 `(#:phases
4248 (modify-phases %standard-phases
4249 (add-before 'configure 'relax-test-suite-dependencies
4250 (lambda _
4251 (substitute* "haddock-library.cabal"
4252 (("base-compat\\s*\\^>= 0\\.9\\.3") "base-compat")
4253 (("hspec\\s*\\^>= 2\\.4\\.4") "hspec"))))
4254 ;; The release tarball does not contain the "fixtures/examples"
4255 ;; directory, which is required for testing. In the upstream
4256 ;; repository, the directory exists and is populated. Here, we
4257 ;; create an empty directory to placate the tests.
4258 (add-before 'check 'add-examples-directory
4259 (lambda _
4260 (mkdir "fixtures/examples")
4261 #t)))))
4262 (native-inputs
4263 `(("ghc-base-compat" ,ghc-base-compat)
4264 ("ghc-hspec" ,ghc-hspec)
4265 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4266 ("ghc-quickcheck" ,ghc-quickcheck)
4267 ("ghc-tree-diff" ,ghc-tree-diff)
4268 ("hspec-discover" ,hspec-discover)))
4269 (home-page "https://www.haskell.org/haddock/")
4270 (synopsis "Library exposing some functionality of Haddock")
4271 (description
4272 "Haddock is a documentation-generation tool for Haskell libraries. These
4273modules expose some functionality of it without pulling in the GHC dependency.
4274Please note that the API is likely to change so specify upper bounds in your
4275project if you can't release often. For interacting with Haddock itself, see
4276the ‘haddock’ package.")
4277 (license license:bsd-3)))
4278
4279(define-public ghc-half
4280 (package
4281 (name "ghc-half")
4282 (version "0.3")
4283 (source
4284 (origin
4285 (method url-fetch)
4286 (uri (string-append
4287 "https://hackage.haskell.org/package/half/half-"
4288 version ".tar.gz"))
4289 (sha256
4290 (base32
4291 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4292 (build-system haskell-build-system)
4293 (native-inputs
4294 `(("ghc-hspec" ,ghc-hspec)
4295 ("ghc-quickcheck" ,ghc-quickcheck)))
4296 (home-page "https://github.com/ekmett/half")
4297 (synopsis "Half-precision floating-point computations")
4298 (description "This library provides a half-precision floating-point
4299computation library for Haskell.")
4300 (license license:bsd-3)))
4301
4302(define-public ghc-happy
4303 (package
4304 (name "ghc-happy")
90e7b0e4 4305 (version "1.19.12")
dddbc90c
RV
4306 (source
4307 (origin
4308 (method url-fetch)
4309 (uri (string-append
4310 "https://hackage.haskell.org/package/happy/happy-"
4311 version
4312 ".tar.gz"))
4313 (sha256
4314 (base32
90e7b0e4 4315 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4316 (build-system haskell-build-system)
4317 (arguments
4318 `(#:phases
4319 (modify-phases %standard-phases
4320 (add-after 'unpack 'skip-test-issue93
4321 (lambda _
4322 ;; Tests run out of memory on a system with 2GB of available RAM,
4323 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4324 (substitute* "tests/Makefile"
4325 ((" issue93.y ") " "))
4326 #t)))))
4327 (home-page "https://hackage.haskell.org/package/happy")
4328 (synopsis "Parser generator for Haskell")
4329 (description "Happy is a parser generator for Haskell. Given a grammar
4330specification in BNF, Happy generates Haskell code to parse the grammar.
4331Happy works in a similar way to the yacc tool for C.")
4332 (license license:bsd-3)))
4333
4334(define-public ghc-hashable
4335 (package
4336 (name "ghc-hashable")
4337 (version "1.2.7.0")
4338 (outputs '("out" "doc"))
4339 (source
4340 (origin
4341 (method url-fetch)
4342 (uri (string-append
4343 "https://hackage.haskell.org/package/hashable/hashable-"
4344 version
4345 ".tar.gz"))
4346 (sha256
4347 (base32
4348 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4349 (build-system haskell-build-system)
65a16a45
TS
4350 (arguments
4351 `(#:cabal-revision
4352 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
4353 (inputs
4354 `(("ghc-random" ,ghc-random)))
4355 (native-inputs
4356 `(("ghc-test-framework" ,ghc-test-framework)
4357 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4358 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4359 ("ghc-hunit" ,ghc-hunit)
4360 ("ghc-quickcheck" ,ghc-quickcheck)))
4361 (home-page "https://github.com/tibbe/hashable")
4362 (synopsis "Class for types that can be converted to a hash value")
4363 (description
4364 "This package defines a class, @code{Hashable}, for types that can be
4365converted to a hash value. This class exists for the benefit of hashing-based
4366data structures. The package provides instances for basic types and a way to
4367combine hash values.")
4368 (license license:bsd-3)))
4369
4370(define-public ghc-hashable-bootstrap
4371 (package
4372 (inherit ghc-hashable)
4373 (name "ghc-hashable-bootstrap")
65a16a45
TS
4374 (arguments
4375 `(#:tests? #f
4376 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
4377 (native-inputs '())
4378 (properties '((hidden? #t)))))
4379
4380(define-public ghc-hashable-time
4381 (package
4382 (name "ghc-hashable-time")
f5051e31 4383 (version "0.2.0.2")
dddbc90c
RV
4384 (source
4385 (origin
4386 (method url-fetch)
4387 (uri (string-append
4388 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4389 version
4390 ".tar.gz"))
4391 (sha256
4392 (base32
f5051e31 4393 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
4394 (build-system haskell-build-system)
4395 (arguments
4396 `(#:cabal-revision
f5051e31 4397 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c
RV
4398 (inputs `(("ghc-hashable" ,ghc-hashable)))
4399 (home-page "http://hackage.haskell.org/package/hashable-time")
4400 (synopsis "Hashable instances for Data.Time")
4401 (description
4402 "This package provides @code{Hashable} instances for types in
4403@code{Data.Time}.")
4404 (license license:bsd-3)))
4405
4406(define-public ghc-hashtables
4407 (package
4408 (name "ghc-hashtables")
19edf0d0 4409 (version "1.2.3.4")
dddbc90c
RV
4410 (source
4411 (origin
4412 (method url-fetch)
4413 (uri (string-append
4414 "https://hackage.haskell.org/package/hashtables/hashtables-"
4415 version ".tar.gz"))
4416 (sha256
19edf0d0 4417 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
4418 (build-system haskell-build-system)
4419 (inputs
4420 `(("ghc-hashable" ,ghc-hashable)
4421 ("ghc-primitive" ,ghc-primitive)
4422 ("ghc-vector" ,ghc-vector)))
4423 (home-page "https://github.com/gregorycollins/hashtables")
4424 (synopsis "Haskell Mutable hash tables in the ST monad")
4425 (description "This package provides a Haskell library including a
4426couple of different implementations of mutable hash tables in the ST
4427monad, as well as a typeclass abstracting their common operations, and
4428a set of wrappers to use the hash tables in the IO monad.")
4429 (license license:bsd-3)))
4430
4431(define-public ghc-haskell-lexer
4432 (package
4433 (name "ghc-haskell-lexer")
4434 (version "1.0.2")
4435 (source
4436 (origin
4437 (method url-fetch)
4438 (uri (string-append
4439 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4440 version ".tar.gz"))
4441 (sha256
4442 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4443 (build-system haskell-build-system)
4444 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4445 (synopsis "Fully compliant Haskell 98 lexer")
4446 (description
4447 "This package provides a fully compliant Haskell 98 lexer.")
4448 (license license:bsd-3)))
4449
4450(define-public ghc-haskell-src
4451 (package
4452 (name "ghc-haskell-src")
4453 (version "1.0.3.0")
4454 (source
4455 (origin
4456 (method url-fetch)
4457 (uri (string-append
4458 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4459 version
4460 ".tar.gz"))
4461 (sha256
4462 (base32
4463 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4464 (build-system haskell-build-system)
4465 (inputs
4466 `(("ghc-happy" ,ghc-happy)
4467 ("ghc-syb" ,ghc-syb)))
4468 (home-page
4469 "https://hackage.haskell.org/package/haskell-src")
4470 (synopsis
4471 "Support for manipulating Haskell source code")
4472 (description
4473 "The @code{haskell-src} package provides support for manipulating Haskell
4474source code. The package provides a lexer, parser and pretty-printer, and a
4475definition of a Haskell abstract syntax tree (AST). Common uses of this
4476package are to parse or generate Haskell 98 code.")
4477 (license license:bsd-3)))
4478
4479(define-public ghc-haskell-src-exts
4480 (package
4481 (name "ghc-haskell-src-exts")
4482 (version "1.20.2")
4483 (source
4484 (origin
4485 (method url-fetch)
4486 (uri (string-append
4487 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4488 version
4489 ".tar.gz"))
4490 (sha256
4491 (base32
4492 "1sm3z4v1p5yffg01ldgavz71s3bvfhjfa13k428rk14bpkl8crlz"))))
4493 (build-system haskell-build-system)
4494 (inputs
4495 `(("cpphs" ,cpphs)
4496 ("ghc-happy" ,ghc-happy)
4497 ("ghc-pretty-show" ,ghc-pretty-show)))
4498 (native-inputs
4499 `(("ghc-smallcheck" ,ghc-smallcheck)
4500 ("ghc-tasty" ,ghc-tasty)
4501 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4502 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4503 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4504 (synopsis "Library for manipulating Haskell source")
4505 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4506extension of the standard @code{haskell-src} package, and handles most
4507registered syntactic extensions to Haskell. All extensions implemented in GHC
4508are supported. Apart from these standard extensions, it also handles regular
4509patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4510 (license license:bsd-3)))
4511
4512(define-public ghc-haskell-src-exts-util
4513 (package
4514 (name "ghc-haskell-src-exts-util")
4515 (version "0.2.3")
4516 (source
4517 (origin
4518 (method url-fetch)
4519 (uri (string-append "https://hackage.haskell.org/package/"
4520 "haskell-src-exts-util/haskell-src-exts-util-"
4521 version ".tar.gz"))
4522 (sha256
4523 (base32
4524 "1803718paq89f8pdck4mb88hv2k1ah9lxzq0lgjgwi9n88ryycz8"))))
4525 (build-system haskell-build-system)
4526 (inputs
4527 `(("ghc-data-default" ,ghc-data-default)
4528 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4529 ("ghc-semigroups" ,ghc-semigroups)
4530 ("ghc-uniplate" ,ghc-uniplate)))
4531 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4532 (synopsis "Helper functions for working with haskell-src-exts trees")
4533 (description
4534 "This package provides helper functions for working with
4535@code{haskell-src-exts} trees.")
4536 (license license:bsd-3)))
4537
4538(define-public ghc-haskell-src-meta
4539 (package
4540 (name "ghc-haskell-src-meta")
4541 (version "0.8.0.3")
4542 (source (origin
4543 (method url-fetch)
4544 (uri (string-append "https://hackage.haskell.org/package/"
4545 "haskell-src-meta/haskell-src-meta-"
4546 version ".tar.gz"))
4547 (sha256
4548 (base32
4549 "08jq156zv4m0fjq6712n99c1jwxnpa6kj6sq8ch0r1l0a1ay6ww4"))))
4550 (build-system haskell-build-system)
4551 (inputs
4552 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4553 ("ghc-syb" ,ghc-syb)
4554 ("ghc-th-orphans" ,ghc-th-orphans)))
4555 (native-inputs
4556 `(("ghc-hunit" ,ghc-hunit)
4557 ("ghc-test-framework" ,ghc-test-framework)
4558 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4559 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4560 (synopsis "Parse source to template-haskell abstract syntax")
4561 (description
4562 "This package provides tools to parse Haskell sources to the
4563template-haskell abstract syntax.")
4564 (license license:bsd-3)))
4565
4566(define-public ghc-hasktags
4567 (package
4568 (name "ghc-hasktags")
4569 (version "0.71.2")
4570 (source
4571 (origin
4572 (method url-fetch)
4573 (uri (string-append
4574 "https://hackage.haskell.org/package/hasktags/hasktags-"
4575 version
4576 ".tar.gz"))
4577 (sha256
4578 (base32
4579 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4580 (build-system haskell-build-system)
4581 (inputs
4582 `(("ghc-system-filepath" ,ghc-system-filepath)
4583 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4584 (native-inputs
4585 `(("ghc-json" ,ghc-json)
4586 ("ghc-utf8-string" ,ghc-utf8-string)
4587 ("ghc-microlens-platform" ,ghc-microlens-platform)
4588 ("ghc-hunit" ,ghc-hunit)))
4589 (home-page "http://github.com/MarcWeber/hasktags")
4590 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4591 (description
4592 "This package provides a means of generating tag files for Emacs and
4593Vim.")
4594 (license license:bsd-3)))
4595
4596(define-public ghc-hex
4597 (package
4598 (name "ghc-hex")
4599 (version "0.1.2")
4600 (source
4601 (origin
4602 (method url-fetch)
4603 (uri (string-append "https://hackage.haskell.org/package/"
4604 "hex-" version "/"
4605 "hex-" version ".tar.gz"))
4606 (sha256
4607 (base32
4608 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4609 (build-system haskell-build-system)
4610 (home-page "https://hackage.haskell.org/package/hex")
4611 (synopsis "Convert strings into hexadecimal and back")
4612 (description "This package provides conversion functions between
4613bytestrings and their hexademical representation.")
4614 (license license:bsd-3)))
4615
4616(define-public ghc-highlighting-kate
4617 (package
4618 (name "ghc-highlighting-kate")
4619 (version "0.6.4")
4620 (source (origin
4621 (method url-fetch)
4622 (uri (string-append "https://hackage.haskell.org/package/"
4623 "highlighting-kate/highlighting-kate-"
4624 version ".tar.gz"))
4625 (sha256
4626 (base32
4627 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4628 (build-system haskell-build-system)
4629 (inputs
4630 `(("ghc-diff" ,ghc-diff)
4631 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4632 (native-inputs
4633 `(("ghc-blaze-html" ,ghc-blaze-html)
4634 ("ghc-utf8-string" ,ghc-utf8-string)))
4635 (home-page "https://github.com/jgm/highlighting-kate")
4636 (synopsis "Syntax highlighting library")
4637 (description
4638 "Highlighting-kate is a syntax highlighting library with support for
4639nearly one hundred languages. The syntax parsers are automatically generated
4640from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4641supported by Kate can be added. An (optional) command-line program is
4642provided, along with a utility for generating new parsers from Kate XML syntax
4643descriptions.")
4644 (license license:gpl2+)))
4645
4646(define-public ghc-hindent
4647 (package
4648 (name "ghc-hindent")
4649 (version "5.3.0")
4650 (source
4651 (origin
4652 (method url-fetch)
4653 (uri (string-append
4654 "https://hackage.haskell.org/package/hindent/hindent-"
4655 version
4656 ".tar.gz"))
4657 (sha256
4658 (base32
4659 "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg"))))
4660 (build-system haskell-build-system)
4661 (arguments
4662 `(#:modules ((guix build haskell-build-system)
4663 (guix build utils)
4664 (guix build emacs-utils))
4665 #:imported-modules (,@%haskell-build-system-modules
4666 (guix build emacs-utils))
4667 #:phases
4668 (modify-phases %standard-phases
4669 (add-after 'install 'emacs-install
4670 (lambda* (#:key inputs outputs #:allow-other-keys)
4671 (let* ((out (assoc-ref outputs "out"))
4672 (elisp-file "elisp/hindent.el")
4673 (dest (string-append out "/share/emacs/site-lisp"
4674 "/guix.d/hindent-" ,version))
4675 (emacs (string-append (assoc-ref inputs "emacs")
4676 "/bin/emacs")))
4677 (make-file-writable elisp-file)
4678 (emacs-substitute-variables elisp-file
4679 ("hindent-process-path"
4680 (string-append out "/bin/hindent")))
4681 (install-file elisp-file dest)
4682 (emacs-generate-autoloads "hindent" dest)))))))
4683 (inputs
4684 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4685 ("ghc-monad-loops" ,ghc-monad-loops)
4686 ("ghc-utf8-string" ,ghc-utf8-string)
4687 ("ghc-exceptions" ,ghc-exceptions)
4688 ("ghc-yaml" ,ghc-yaml)
4689 ("ghc-unix-compat" ,ghc-unix-compat)
4690 ("ghc-path" ,ghc-path)
4691 ("ghc-path-io" ,ghc-path-io)
4692 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4693 (native-inputs
4694 `(("ghc-hspec" ,ghc-hspec)
4695 ("ghc-diff" ,ghc-diff)
4696 ("emacs" ,emacs-minimal)))
4697 (home-page
4698 "https://github.com/commercialhaskell/hindent")
4699 (synopsis "Extensible Haskell pretty printer")
4700 (description
4701 "This package provides automatic formatting for Haskell files. Both a
4702library and an executable.")
4703 (license license:bsd-3)))
4704
4705(define-public ghc-hinotify
4706 (package
4707 (name "ghc-hinotify")
c2342abb 4708 (version "0.4")
dddbc90c
RV
4709 (source (origin
4710 (method url-fetch)
4711 (uri (string-append
4712 "https://hackage.haskell.org/package/hinotify/"
4713 "hinotify-" version ".tar.gz"))
4714 (sha256
4715 (base32
c2342abb 4716 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
4717 (build-system haskell-build-system)
4718 (inputs
4719 `(("ghc-async" ,ghc-async)))
4720 (home-page "https://github.com/kolmodin/hinotify.git")
4721 (synopsis "Haskell binding to inotify")
4722 (description "This library provides a wrapper to the Linux kernel's inotify
4723feature, allowing applications to subscribe to notifications when a file is
4724accessed or modified.")
4725 (license license:bsd-3)))
4726
4727(define-public ghc-hmatrix
4728 (package
4729 (name "ghc-hmatrix")
65e29ed1 4730 (version "0.20.0.0")
dddbc90c
RV
4731 (source
4732 (origin
4733 (method url-fetch)
4734 (uri (string-append
4735 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
4736 version ".tar.gz"))
4737 (sha256
65e29ed1 4738 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
4739 (build-system haskell-build-system)
4740 (inputs
4741 `(("ghc-random" ,ghc-random)
4742 ("ghc-split" ,ghc-split)
4743 ("ghc-storable-complex" ,ghc-storable-complex)
4744 ("ghc-semigroups" ,ghc-semigroups)
4745 ("ghc-vector" ,ghc-vector)
4746 ;;("openblas" ,openblas)
4747 ("lapack" ,lapack)))
4748 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
4749 ;; disables inclusion of the LAPACK functions.
4750 ;; (arguments `(#:configure-flags '("--flags=openblas")))
4751 (home-page "https://github.com/albertoruiz/hmatrix")
4752 (synopsis "Haskell numeric linear algebra library")
4753 (description "The HMatrix package provices a Haskell library for
4754dealing with linear systems, matrix decompositions, and other
4755numerical computations based on BLAS and LAPACK.")
4756 (license license:bsd-3)))
4757
4758(define-public ghc-hmatrix-gsl
4759 (package
4760 (name "ghc-hmatrix-gsl")
4761 (version "0.19.0.1")
4762 (source
4763 (origin
4764 (method url-fetch)
4765 (uri (string-append
4766 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
4767 version ".tar.gz"))
4768 (sha256
4769 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
4770 (build-system haskell-build-system)
4771 (inputs
4772 `(("ghc-hmatrix" ,ghc-hmatrix)
4773 ("ghc-vector" ,ghc-vector)
4774 ("ghc-random" ,ghc-random)
4775 ("gsl" ,gsl)))
4776 (native-inputs `(("pkg-config" ,pkg-config)))
4777 (home-page "https://github.com/albertoruiz/hmatrix")
4778 (synopsis "Haskell GSL binding")
4779 (description "This Haskell library provides a purely functional
4780interface to selected numerical computations, internally implemented
4781using GSL.")
4782 (license license:gpl3+)))
4783
4784(define-public ghc-hmatrix-gsl-stats
4785 (package
4786 (name "ghc-hmatrix-gsl-stats")
e9b359f5 4787 (version "0.4.1.8")
dddbc90c
RV
4788 (source
4789 (origin
4790 (method url-fetch)
4791 (uri
4792 (string-append
4793 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4794 version ".tar.gz"))
4795 (sha256
e9b359f5 4796 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
4797 (build-system haskell-build-system)
4798 (inputs
4799 `(("ghc-vector" ,ghc-vector)
4800 ("ghc-storable-complex" ,ghc-storable-complex)
4801 ("ghc-hmatrix" ,ghc-hmatrix)
4802 ("gsl" ,gsl)))
4803 (native-inputs `(("pkg-config" ,pkg-config)))
4804 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
4805 (synopsis "GSL Statistics interface for Haskell")
4806 (description "This Haskell library provides a purely functional
4807interface for statistics based on hmatrix and GSL.")
4808 (license license:bsd-3)))
4809
4810(define-public ghc-hmatrix-special
4811 (package
4812 (name "ghc-hmatrix-special")
4813 (version "0.19.0.0")
4814 (source
4815 (origin
4816 (method url-fetch)
4817 (uri
4818 (string-append
4819 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
4820 version ".tar.gz"))
4821 (sha256
4822 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
4823 (build-system haskell-build-system)
4824 (inputs
4825 `(("ghc-hmatrix" ,ghc-hmatrix)
4826 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
4827 (home-page "https://github.com/albertoruiz/hmatrix")
4828 (synopsis "Haskell interface to GSL special functions")
4829 (description "This library provides an interface to GSL special
4830functions for Haskell.")
4831 (license license:gpl3+)))
4832
4833(define-public ghc-hostname
4834 (package
4835 (name "ghc-hostname")
4836 (version "1.0")
4837 (source
4838 (origin
4839 (method url-fetch)
4840 (uri (string-append "https://hackage.haskell.org/package/hostname/"
4841 "hostname-" version ".tar.gz"))
4842 (sha256
4843 (base32
4844 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
4845 (build-system haskell-build-system)
4846 (home-page "https://hackage.haskell.org/package/hostname")
4847 (synopsis "Hostname in Haskell")
4848 (description "Network.HostName is a simple package providing a means to
4849determine the hostname.")
4850 (license license:bsd-3)))
4851
4852(define-public ghc-hourglass
4853 (package
4854 (name "ghc-hourglass")
4855 (version "0.2.12")
4856 (source (origin
4857 (method url-fetch)
4858 (uri (string-append "https://hackage.haskell.org/package/"
4859 "hourglass/hourglass-" version ".tar.gz"))
4860 (sha256
4861 (base32
4862 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
4863 (build-system haskell-build-system)
4864 (inputs
4865 `(("ghc-old-locale" ,ghc-old-locale)))
4866 (native-inputs
4867 `(("ghc-tasty" ,ghc-tasty)
4868 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4869 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4870 (home-page "https://github.com/vincenthz/hs-hourglass")
4871 (synopsis "Simple time-related library for Haskell")
4872 (description
4873 "This is a simple time library providing a simple but powerful and
4874performant API. The backbone of the library are the @code{Timeable} and
4875@code{Time} type classes. Each @code{Timeable} instances can be converted to
4876a type that has a @code{Time} instances, and thus are different
4877representations of current time.")
4878 (license license:bsd-3)))
4879
4880(define-public ghc-hpack
4881 (package
4882 (name "ghc-hpack")
4883 (version "0.28.2")
4884 (source
4885 (origin
4886 (method url-fetch)
4887 (uri (string-append "https://hackage.haskell.org/package/hpack/"
4888 "hpack-" version ".tar.gz"))
4889 (sha256
4890 (base32
4891 "18w0h76jdp3mk9vin8da9iz3cwhcxmw787xy8wlh8bxcpcr16q5r"))))
4892 (build-system haskell-build-system)
4893 (inputs
4894 `(("ghc-aeson" ,ghc-aeson)
4895 ("ghc-bifunctors" ,ghc-bifunctors)
4896 ("ghc-cryptonite" ,ghc-cryptonite)
4897 ("ghc-glob" ,ghc-glob)
4898 ("ghc-http-client" ,ghc-http-client)
4899 ("ghc-http-client-tls" ,ghc-http-client-tls)
4900 ("ghc-http-types" ,ghc-http-types)
4901 ("ghc-scientific" ,ghc-scientific)
4902 ("ghc-unordered-containers" ,ghc-unordered-containers)
4903 ("ghc-vector" ,ghc-vector)
4904 ("ghc-yaml" ,ghc-yaml)))
4905 (native-inputs
4906 `(("ghc-hspec" ,ghc-hspec)
4907 ("ghc-hunit" ,ghc-hunit)
4908 ("ghc-interpolate" ,ghc-interpolate)
4909 ("ghc-mockery" ,ghc-mockery)
4910 ("ghc-quickcheck" ,ghc-quickcheck)
4911 ("ghc-temporary" ,ghc-temporary)
4912 ("hspec-discover" ,hspec-discover)))
4913 (home-page "https://github.com/sol/hpack")
4914 (synopsis "Tools for an alternative Haskell package format")
4915 (description
4916 "Hpack is a format for Haskell packages. It is an alternative to the
4917Cabal package format and follows different design principles. Hpack packages
4918are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
4919@code{stack} support @code{package.yaml} natively. For other build tools the
4920@code{hpack} executable can be used to generate a @code{.cabal} file from
4921@code{package.yaml}.")
4922 (license license:expat)))
4923
4924(define-public ghc-hs-bibutils
4925 (package
4926 (name "ghc-hs-bibutils")
ebcb4f23 4927 (version "6.7.0.0")
dddbc90c
RV
4928 (source
4929 (origin
4930 (method url-fetch)
4931 (uri (string-append
4932 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
4933 version ".tar.gz"))
4934 (sha256
4935 (base32
ebcb4f23 4936 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
4937 (build-system haskell-build-system)
4938 (inputs `(("ghc-syb" ,ghc-syb)))
4939 (home-page "https://hackage.haskell.org/package/hs-bibutils")
4940 (synopsis "Haskell bindings to bibutils")
4941 (description
4942 "This package provides Haskell bindings to @code{bibutils}, a library
4943that interconverts between various bibliography formats using a common
4944MODS-format XML intermediate.")
4945 (license license:gpl2+)))
4946
4947(define-public ghc-hslogger
4948 (package
4949 (name "ghc-hslogger")
4950 (version "1.2.10")
4951 (source
4952 (origin
4953 (method url-fetch)
4954 (uri (string-append "https://hackage.haskell.org/package/"
4955 "hslogger-" version "/" "hslogger-"
4956 version ".tar.gz"))
4957 (sha256 (base32
4958 "0as5gvlh6pi2gflakp695qnlizyyp059dqrhvjl4gjxalja6xjnp"))))
4959 (build-system haskell-build-system)
4960 (inputs
4961 `(("ghc-network" ,ghc-network)
4962 ("ghc-old-locale" ,ghc-old-locale)))
4963 (native-inputs
4964 `(("ghc-hunit" ,ghc-hunit)))
4965 (home-page "https://software.complete.org/hslogger")
4966 (synopsis "Logging framework for Haskell, similar to Python's logging module")
4967 (description "Hslogger lets each log message have a priority and source be
4968associated with it. The programmer can then define global handlers that route
4969or filter messages based on the priority and source. It also has a syslog
4970handler built in.")
4971 (license license:bsd-3)))
4972
4973(define-public ghc-hslua
4974 (package
4975 (name "ghc-hslua")
4976 (version "0.9.5.2")
4977 (source (origin
4978 (method url-fetch)
4979 (uri (string-append "https://hackage.haskell.org/package/"
4980 "hslua/hslua-" version ".tar.gz"))
4981 (sha256
4982 (base32
4983 "1rdvv01p214zfjh6fcqjjgqwi8y42wad6cqzhlcv5gvclzw2ck8f"))))
4984 (build-system haskell-build-system)
4985 (arguments
4986 `(#:configure-flags '("-fsystem-lua")))
4987 (inputs
4988 `(("lua" ,lua)
4989 ("ghc-exceptions" ,ghc-exceptions)
4990 ("ghc-fail" ,ghc-fail)))
4991 (native-inputs
4992 `(("ghc-tasty" ,ghc-tasty)
4993 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
4994 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4995 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4996 ("ghc-quickcheck" ,ghc-quickcheck)
4997 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
4998 (home-page "https://hackage.haskell.org/package/hslua")
4999 (synopsis "Lua language interpreter embedding in Haskell")
5000 (description
5001 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5002described in @url{https://www.lua.org/}.")
5003 (license license:expat)))
5004
5005(define-public ghc-hslua-module-text
5006 (package
5007 (name "ghc-hslua-module-text")
5008 (version "0.1.2.1")
5009 (source
5010 (origin
5011 (method url-fetch)
5012 (uri (string-append "https://hackage.haskell.org/package/"
5013 "hslua-module-text/hslua-module-text-"
5014 version ".tar.gz"))
5015 (sha256
5016 (base32
5017 "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf"))))
5018 (build-system haskell-build-system)
5019 (arguments
5020 `(#:cabal-revision
5021 ("1" "0vajlsd7y6pwa08635q0cx8z5c1c55bk7fvavw7g2vmyvxqjzx6n")))
5022 (inputs
5023 `(("ghc-hslua" ,ghc-hslua)))
5024 (native-inputs
5025 `(("ghc-tasty" ,ghc-tasty)
5026 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5027 (home-page "https://github.com/hslua/hslua-module-text")
5028 (synopsis "Lua module for text")
5029 (description
5030 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5031for Haskell. The functions provided by this module are @code{upper},
5032@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5033 (license license:expat)))
5034
5035(define-public ghc-http-api-data
5036 (package
5037 (name "ghc-http-api-data")
5038 (version "0.3.8.1")
5039 (source
5040 (origin
5041 (method url-fetch)
5042 (uri (string-append "https://hackage.haskell.org/package/"
5043 "http-api-data-" version "/"
5044 "http-api-data-" version ".tar.gz"))
5045 (sha256
5046 (base32
5047 "1cq6459b8wz6nvkvpi89dg189n5q2xdq4rdq435hf150555vmskf"))))
5048 (build-system haskell-build-system)
5049 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9
5050 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5051 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
5052 ("ghc-hashable" ,ghc-hashable)
5053 ("ghc-http-types" ,ghc-http-types)
5054 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
5055 ("ghc-unordered-containers" ,ghc-unordered-containers)
5056 ("ghc-uri-bytestring" ,ghc-uri-bytestring)
5057 ("ghc-uuid-types" ,ghc-uuid-types)))
5058 (home-page "https://github.com/fizruk/http-api-data")
5059 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5060query parameters")
5061 (description "This Haskell package defines typeclasses used for converting
5062Haskell data types to and from HTTP API data.")
5063 (license license:bsd-3)))
5064
5065(define-public ghc-ieee754
5066 (package
5067 (name "ghc-ieee754")
5068 (version "0.8.0")
5069 (source (origin
5070 (method url-fetch)
5071 (uri (string-append
5072 "https://hackage.haskell.org/package/ieee754/"
5073 "ieee754-" version ".tar.gz"))
5074 (sha256
5075 (base32
5076 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5077 (build-system haskell-build-system)
5078 (home-page "https://github.com/patperry/hs-ieee754")
5079 (synopsis "Utilities for dealing with IEEE floating point numbers")
5080 (description "Utilities for dealing with IEEE floating point numbers,
5081ported from the Tango math library; approximate and exact equality comparisons
5082for general types.")
5083 (license license:bsd-3)))
5084
5085(define-public ghc-ifelse
5086 (package
5087 (name "ghc-ifelse")
5088 (version "0.85")
5089 (source
5090 (origin
5091 (method url-fetch)
5092 (uri (string-append "https://hackage.haskell.org/package/"
5093 "IfElse/IfElse-" version ".tar.gz"))
5094 (sha256
5095 (base32
5096 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5097 (build-system haskell-build-system)
5098 (home-page "http://hackage.haskell.org/package/IfElse")
5099 (synopsis "Monadic control flow with anaphoric variants")
5100 (description "This library provides functions for control flow inside of
5101monads with anaphoric variants on @code{if} and @code{when} and a C-like
5102@code{switch} function.")
5103 (license license:bsd-3)))
5104
5105(define-public ghc-indents
5106 (package
5107 (name "ghc-indents")
d66473fb 5108 (version "0.5.0.1")
dddbc90c
RV
5109 (source (origin
5110 (method url-fetch)
5111 (uri (string-append
5112 "https://hackage.haskell.org/package/indents/indents-"
5113 version ".tar.gz"))
5114 (sha256
5115 (base32
d66473fb 5116 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5117 (build-system haskell-build-system)
5118 ;; This package needs an older version of tasty.
5119 (arguments '(#:tests? #f))
5120 (inputs
5121 `(("ghc-concatenative" ,ghc-concatenative)))
5122 (native-inputs
5123 `(("ghc-tasty" ,ghc-tasty)
5124 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5125 (home-page "http://patch-tag.com/r/salazar/indents")
5126 (synopsis "Indentation sensitive parser-combinators for parsec")
5127 (description
5128 "This library provides functions for use in parsing indentation sensitive
5129contexts. It parses blocks of lines all indented to the same level as well as
5130lines continued at an indented level below.")
5131 (license license:bsd-3)))
5132
5133(define-public ghc-inline-c
5134 (package
5135 (name "ghc-inline-c")
5136 (version "0.6.1.0")
5137 (source
5138 (origin
5139 (method url-fetch)
5140 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5141 "inline-c-" version ".tar.gz"))
5142 (sha256
5143 (base32
5144 "0vbfrsqsi7mdziqsnj68bsqlwbqxxhvrmy9rv6w8z18d1m8w3n6h"))))
5145 (build-system haskell-build-system)
5146 (inputs
5147 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5148 ("ghc-cryptohash" ,ghc-cryptohash)
5149 ("ghc-hashable" ,ghc-hashable)
5150 ("ghc-parsers" ,ghc-parsers)
5151 ("ghc-unordered-containers" ,ghc-unordered-containers)
5152 ("ghc-vector" ,ghc-vector)))
5153 (native-inputs
5154 `(("ghc-quickcheck" ,ghc-quickcheck)
5155 ("ghc-hspec" ,ghc-hspec)
5156 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5157 ("ghc-regex-posix" ,ghc-regex-posix)))
5158 (home-page "http://hackage.haskell.org/package/inline-c")
5159 (synopsis "Write Haskell source files including C code inline")
5160 (description
5161 "inline-c lets you seamlessly call C libraries and embed high-performance
5162inline C code in Haskell modules. Haskell and C can be freely intermixed in
5163the same source file, and data passed to and from code in either language with
5164minimal overhead. No FFI required.")
5165 (license license:expat)))
5166
5167(define-public ghc-inline-c-cpp
5168 (package
5169 (name "ghc-inline-c-cpp")
5170 (version "0.2.2.1")
5171 (source
5172 (origin
5173 (method url-fetch)
5174 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5175 "inline-c-cpp-" version ".tar.gz"))
5176 (sha256
5177 (base32
5178 "1rk7fmpkmxw9hhwr8df29kadnf0ybnwj64ggdbnsdrpfyhnkisci"))))
5179 (build-system haskell-build-system)
5180 (inputs
5181 `(("ghc-inline-c" ,ghc-inline-c)
5182 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5183 (native-inputs
5184 `(("ghc-hspec" ,ghc-hspec)))
5185 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5186 (synopsis "Lets you embed C++ code into Haskell")
5187 (description
5188 "This package provides utilities to inline C++ code into Haskell using
5189@code{inline-c}.")
5190 (license license:expat)))
5191
5192(define-public ghc-integer-logarithms
5193 (package
5194 (name "ghc-integer-logarithms")
86a704db 5195 (version "1.0.3")
dddbc90c
RV
5196 (source
5197 (origin
5198 (method url-fetch)
5199 (uri (string-append "https://hackage.haskell.org/package/"
5200 "integer-logarithms/integer-logarithms-"
5201 version ".tar.gz"))
5202 (sha256
5203 (base32
86a704db 5204 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5205 (build-system haskell-build-system)
5206 (arguments
5207 `(#:phases
5208 (modify-phases %standard-phases
5209 (add-before 'configure 'update-constraints
5210 (lambda _
5211 (substitute* "integer-logarithms.cabal"
5212 (("tasty >= 0\\.10 && < 1\\.1")
5213 "tasty >= 0.10 && < 1.2")))))))
5214 (native-inputs
5215 `(("ghc-quickcheck" ,ghc-quickcheck)
5216 ("ghc-smallcheck" ,ghc-smallcheck)
5217 ("ghc-tasty" ,ghc-tasty)
5218 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5219 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5220 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5221 (home-page "https://github.com/Bodigrim/integer-logarithms")
5222 (synopsis "Integer logarithms")
5223 (description
5224 "This package provides the following modules:
5225@code{Math.NumberTheory.Logarithms} and
5226@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5227@code{GHC.Integer.Logarithms.Compat} and
5228@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5229in migrated modules.")
5230 (license license:expat)))
5231
5232(define-public ghc-integer-logarithms-bootstrap
5233 (package
5234 (inherit ghc-integer-logarithms)
5235 (name "ghc-integer-logarithms-bootstrap")
5236 (arguments `(#:tests? #f))
5237 (native-inputs '())
799d8d3c 5238 (properties '((hidden? #t)))))
dddbc90c
RV
5239
5240(define-public ghc-interpolate
5241 (package
5242 (name "ghc-interpolate")
5243 (version "0.2.0")
5244 (source
5245 (origin
5246 (method url-fetch)
5247 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5248 "interpolate-" version ".tar.gz"))
5249 (sha256
5250 (base32
5251 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5252 (build-system haskell-build-system)
5253 (inputs
5254 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5255 (native-inputs
5256 `(("ghc-base-compat" ,ghc-base-compat)
5257 ("ghc-hspec" ,ghc-hspec)
5258 ("ghc-quickcheck" ,ghc-quickcheck)
5259 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5260 ("hspec-discover" ,hspec-discover)))
5261 (home-page "https://github.com/sol/interpolate")
5262 (synopsis "String interpolation library")
5263 (description "This package provides a string interpolation library for
5264Haskell.")
5265 (license license:expat)))
5266
5267(define-public ghc-intervalmap
5268 (package
5269 (name "ghc-intervalmap")
e4946e32 5270 (version "0.6.1.1")
dddbc90c
RV
5271 (source
5272 (origin
5273 (method url-fetch)
5274 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5275 "IntervalMap-" version ".tar.gz"))
5276 (sha256
5277 (base32
e4946e32 5278 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
5279 (build-system haskell-build-system)
5280 (native-inputs
5281 `(("ghc-quickcheck" ,ghc-quickcheck)))
5282 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5283 (synopsis "Containers for intervals, with efficient search")
5284 (description
5285 "This package provides ordered containers of intervals, with efficient
5286search for all keys containing a point or overlapping an interval. See the
5287example code on the home page for a quick introduction.")
5288 (license license:bsd-3)))
5289
5290(define-public ghc-invariant
5291 (package
5292 (name "ghc-invariant")
5293 (version "0.5.1")
5294 (source
5295 (origin
5296 (method url-fetch)
5297 (uri (string-append
5298 "https://hackage.haskell.org/package/invariant/invariant-"
5299 version ".tar.gz"))
5300 (sha256
5301 (base32
5302 "0aqj7z55632qdg45074kgn9qfdxzb0a2f8lgjzr0l0i4mm2rr37b"))))
5303 (build-system haskell-build-system)
5304 (inputs
5305 `(("ghc-bifunctors" ,ghc-bifunctors)
5306 ("ghc-comonad" ,ghc-comonad)
5307 ("ghc-contravariant" ,ghc-contravariant)
5308 ("ghc-profunctors" ,ghc-profunctors)
5309 ("ghc-semigroups" ,ghc-semigroups)
5310 ("ghc-statevar" ,ghc-statevar)
5311 ("ghc-tagged" ,ghc-tagged)
5312 ("ghc-th-abstraction" ,ghc-th-abstraction)
5313 ("ghc-transformers-compat" ,ghc-transformers-compat)
5314 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5315 (native-inputs
5316 `(("ghc-hspec" ,ghc-hspec)
5317 ("ghc-quickcheck" ,ghc-quickcheck)
5318 ("hspec-discover" ,hspec-discover)))
5319 (home-page "https://github.com/nfrisby/invariant-functors")
5320 (synopsis "Haskell98 invariant functors")
5321 (description "Haskell98 invariant functors (also known as exponential
5322functors). For more information, see Edward Kmett's article
5323@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5324 (license license:bsd-2)))
5325
5326(define-public ghc-io-streams
5327 (package
5328 (name "ghc-io-streams")
5329 (version "1.5.0.1")
5330 (source
5331 (origin
5332 (method url-fetch)
5333 (uri (string-append "https://hackage.haskell.org/package/"
5334 "io-streams/io-streams-" version ".tar.gz"))
5335 (sha256
5336 (base32
5337 "12rcdg2d70644bvn838fxcjkssqj8pssnx5y657si5rijcbkgjsx"))))
5338 (build-system haskell-build-system)
5339 (inputs
5340 `(("ghc-attoparsec" ,ghc-attoparsec)
5341 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5342 ("ghc-network" ,ghc-network)
5343 ("ghc-primitive" ,ghc-primitive)
5344 ("ghc-vector" ,ghc-vector)
5345 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5346 (native-inputs
5347 `(("ghc-hunit" ,ghc-hunit)
5348 ("ghc-quickcheck" ,ghc-quickcheck)
5349 ("ghc-test-framework" ,ghc-test-framework)
5350 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5351 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5352 ("ghc-zlib" ,ghc-zlib)))
5353 (arguments
5354 `(#:cabal-revision
5355 ("2" "1mcab95d6hm098myh9gp7sh10srigjphgvm8s9pfs7jg5hzghy14")))
5356 (home-page "http://hackage.haskell.org/package/io-streams")
5357 (synopsis "Simple and composable stream I/O")
5358 (description "This library contains simple and easy-to-use
5359primitives for I/O using streams.")
5360 (license license:bsd-3)))
5361
5362(define-public ghc-io-streams-haproxy
5363 (package
5364 (name "ghc-io-streams-haproxy")
5365 (version "1.0.0.2")
5366 (source
5367 (origin
5368 (method url-fetch)
5369 (uri (string-append "https://hackage.haskell.org/package/"
5370 "io-streams-haproxy/io-streams-haproxy-"
5371 version ".tar.gz"))
5372 (sha256
5373 (base32
5374 "11nh9q158mgnvvb23s5ffg87lkhl5smk039yl43jghxmb214z0bp"))))
5375 (build-system haskell-build-system)
5376 (inputs
5377 `(("ghc-attoparsec" ,ghc-attoparsec)
5378 ("ghc-io-streams" ,ghc-io-streams)
5379 ("ghc-network" ,ghc-network)))
5380 (native-inputs
5381 `(("ghc-hunit" ,ghc-hunit)
5382 ("ghc-test-framework" ,ghc-test-framework)
5383 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5384 (arguments
5385 `(#:cabal-revision
5386 ("4" "06c51a057n5bc9xfbp2m4jz5ds4z1xvmsx5mppch6qfwbz7x5i9l")))
5387 (home-page "http://snapframework.com/")
5388 (synopsis "HAProxy protocol 1.5 support for io-streams")
5389 (description "HAProxy protocol version 1.5 support
5390(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5391for applications using io-streams. The proxy protocol allows information
5392about a networked peer (like remote address and port) to be propagated
5393through a forwarding proxy that is configured to speak this protocol.")
5394 (license license:bsd-3)))
5395
5396(define-public ghc-iproute
5397 (package
5398 (name "ghc-iproute")
5399 (version "1.7.5")
5400 (source
5401 (origin
5402 (method url-fetch)
5403 (uri (string-append
5404 "https://hackage.haskell.org/package/iproute/iproute-"
5405 version
5406 ".tar.gz"))
5407 (sha256
5408 (base32
5409 "1vw1nm3s8vz1hqnjnqd3wh5rr4q3m2r4izn5ynhf93h9185qwqzd"))))
5410 (build-system haskell-build-system)
5411 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5412 ; exported by ghc-byteorder. Doctest issue.
5413 (inputs
5414 `(("ghc-appar" ,ghc-appar)
5415 ("ghc-byteorder" ,ghc-byteorder)
5416 ("ghc-network" ,ghc-network)
5417 ("ghc-safe" ,ghc-safe)))
5418 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5419 (synopsis "IP routing table")
5420 (description "IP Routing Table is a tree of IP ranges to search one of
5421them on the longest match base. It is a kind of TRIE with one way branching
5422removed. Both IPv4 and IPv6 are supported.")
5423 (license license:bsd-3)))
5424
5425(define-public ghc-iwlib
5426 (package
5427 (name "ghc-iwlib")
5428 (version "0.1.0")
5429 (source
5430 (origin
5431 (method url-fetch)
5432 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5433 version ".tar.gz"))
5434 (sha256
5435 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5436 (build-system haskell-build-system)
5437 (inputs
5438 `(("wireless-tools" ,wireless-tools)))
5439 (home-page "https://github.com/jaor/iwlib")
5440 (synopsis "Haskell binding to the iw wireless networking library")
5441 (description
5442 "IWlib is a thin Haskell binding to the iw C library. It provides
5443information about the current wireless network connections, and adapters on
5444supported systems.")
5445 (license license:bsd-3)))
5446
5447(define-public ghc-json
5448 (package
5449 (name "ghc-json")
0ad3d574 5450 (version "0.9.3")
dddbc90c
RV
5451 (source
5452 (origin
5453 (method url-fetch)
5454 (uri (string-append "https://hackage.haskell.org/package/json/"
5455 "json-" version ".tar.gz"))
5456 (sha256
5457 (base32
0ad3d574 5458 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
5459 (build-system haskell-build-system)
5460 (inputs
5461 `(("ghc-syb" ,ghc-syb)))
5462 (home-page "https://hackage.haskell.org/package/json")
5463 (synopsis "Serializes Haskell data to and from JSON")
5464 (description "This package provides a parser and pretty printer for
5465converting between Haskell values and JSON.
5466JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5467 (license license:bsd-3)))
5468
5469(define-public ghc-juicypixels
5470 (package
5471 (name "ghc-juicypixels")
b50b6004 5472 (version "3.3.4")
dddbc90c
RV
5473 (source (origin
5474 (method url-fetch)
5475 (uri (string-append "https://hackage.haskell.org/package/"
5476 "JuicyPixels/JuicyPixels-"
5477 version ".tar.gz"))
5478 (sha256
5479 (base32
b50b6004 5480 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
5481 (build-system haskell-build-system)
5482 (inputs
5483 `(("ghc-zlib" ,ghc-zlib)
5484 ("ghc-vector" ,ghc-vector)
5485 ("ghc-primitive" ,ghc-primitive)
5486 ("ghc-mmap" ,ghc-mmap)))
5487 (home-page "https://github.com/Twinside/Juicy.Pixels")
5488 (synopsis "Picture loading and serialization library")
5489 (description
5490 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5491TIFF and GIF formats.")
5492 (license license:bsd-3)))
5493
5494(define-public ghc-kan-extensions
5495 (package
5496 (name "ghc-kan-extensions")
5497 (version "5.2")
5498 (source
5499 (origin
5500 (method url-fetch)
5501 (uri (string-append
5502 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5503 version
5504 ".tar.gz"))
5505 (sha256
5506 (base32
5507 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5508 (build-system haskell-build-system)
5509 (inputs
5510 `(("ghc-adjunctions" ,ghc-adjunctions)
5511 ("ghc-comonad" ,ghc-comonad)
5512 ("ghc-contravariant" ,ghc-contravariant)
5513 ("ghc-distributive" ,ghc-distributive)
5514 ("ghc-free" ,ghc-free)
5515 ("ghc-invariant" ,ghc-invariant)
5516 ("ghc-semigroupoids" ,ghc-semigroupoids)
5517 ("ghc-tagged" ,ghc-tagged)
5518 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5519 (home-page "https://github.com/ekmett/kan-extensions/")
5520 (synopsis "Kan extensions library")
5521 (description "This library provides Kan extensions, Kan lifts, various
5522forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5523 (license license:bsd-3)))
5524
5525(define-public ghc-language-c
5526 (package
5527 (name "ghc-language-c")
4e1cf651 5528 (version "0.8.3")
dddbc90c
RV
5529 (source
5530 (origin
5531 (method url-fetch)
5532 (uri (string-append "https://hackage.haskell.org/package/"
5533 "language-c/language-c-" version ".tar.gz"))
5534 (sha256
5535 (base32
4e1cf651 5536 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
5537 (build-system haskell-build-system)
5538 (inputs `(("ghc-syb" ,ghc-syb)))
5539 (native-inputs
5540 `(("ghc-happy" ,ghc-happy)
5541 ("ghc-alex" ,ghc-alex)))
5542 (home-page "https://visq.github.io/language-c/")
5543 (synopsis "Analysis and generation of C code")
5544 (description
5545 "Language C is a Haskell library for the analysis and generation of C code.
5546It features a complete, well-tested parser and pretty printer for all of C99
5547and a large set of GNU extensions.")
5548 (license license:bsd-3)))
5549
5550(define-public ghc-language-glsl
5551 (package
5552 (name "ghc-language-glsl")
5553 (version "0.3.0")
5554 (source
5555 (origin
5556 (method url-fetch)
5557 (uri (string-append "https://hackage.haskell.org/package/"
5558 "language-glsl/language-glsl-" version ".tar.gz"))
5559 (sha256
5560 (base32
5561 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
5562 (build-system haskell-build-system)
5563 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
5564 (arguments
5565 `(#:tests? #f
5566 #:cabal-revision
5567 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
5568 (home-page "http://hackage.haskell.org/package/language-glsl")
5569 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
5570 (description "This package is a Haskell library for the
5571representation, parsing, and pretty-printing of GLSL 1.50 code.")
5572 (license license:bsd-3)))
5573
5574(define-public ghc-language-haskell-extract
5575 (package
5576 (name "ghc-language-haskell-extract")
5577 (version "0.2.4")
5578 (source
5579 (origin
5580 (method url-fetch)
5581 (uri (string-append "https://hackage.haskell.org/package/"
5582 "language-haskell-extract-" version "/"
5583 "language-haskell-extract-" version ".tar.gz"))
5584 (sha256
5585 (base32
5586 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
5587 (build-system haskell-build-system)
5588 (inputs
5589 `(("ghc-regex-posix" ,ghc-regex-posix)))
5590 (home-page "https://github.com/finnsson/template-helper")
5591 (synopsis "Haskell module to automatically extract functions from
5592the local code")
5593 (description "This package contains helper functions on top of
5594Template Haskell.
5595
5596For example, @code{functionExtractor} extracts all functions after a
5597regexp-pattern, which can be useful if you wish to extract all functions
5598beginning with @code{test} (for a test framework) or all functions beginning
5599with @code{wc} (for a web service).")
5600 (license license:bsd-3)))
5601
5602(define-public ghc-lens
5603 (package
5604 (name "ghc-lens")
5605 (version "4.16.1")
5606 (source
5607 (origin
5608 (method url-fetch)
5609 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5610 version ".tar.gz"))
5611 (sha256
5612 (base32
5613 "1im4drhbydbawd6i0jsrzpqihnmx4ywpkg7yg94ddwsw3mxwkgpm"))))
5614 (build-system haskell-build-system)
5615 (arguments
5616 `(#:cabal-revision
5617 ("2" "11h83lj5mba4grhz1qx3irz10ysm9c3k7k6i6xv2cr60q8xin3ri")))
5618 (inputs
5619 `(("ghc-base-orphans" ,ghc-base-orphans)
5620 ("ghc-bifunctors" ,ghc-bifunctors)
5621 ("ghc-distributive" ,ghc-distributive)
5622 ("ghc-exceptions" ,ghc-exceptions)
5623 ("ghc-free" ,ghc-free)
5624 ("ghc-kan-extensions" ,ghc-kan-extensions)
5625 ("ghc-parallel" ,ghc-parallel)
5626 ("ghc-reflection" ,ghc-reflection)
5627 ("ghc-semigroupoids" ,ghc-semigroupoids)
5628 ("ghc-vector" ,ghc-vector)
5629 ("ghc-call-stack" ,ghc-call-stack)
5630 ("ghc-comonad" ,ghc-comonad)
5631 ("ghc-contravariant" ,ghc-contravariant)
5632 ("ghc-hashable" ,ghc-hashable)
5633 ("ghc-profunctors" ,ghc-profunctors)
5634 ("ghc-semigroups" ,ghc-semigroups)
5635 ("ghc-tagged" ,ghc-tagged)
5636 ("ghc-transformers-compat" ,ghc-transformers-compat)
5637 ("ghc-unordered-containers" ,ghc-unordered-containers)
5638 ("ghc-void" ,ghc-void)
5639 ("ghc-generic-deriving" ,ghc-generic-deriving)
5640 ("ghc-nats" ,ghc-nats)
5641 ("ghc-simple-reflect" ,ghc-simple-reflect)
5642 ("hlint" ,hlint)))
5643 (native-inputs
5644 `(("cabal-doctest" ,cabal-doctest)
5645 ("ghc-doctest" ,ghc-doctest)
5646 ("ghc-hunit" ,ghc-hunit)
5647 ("ghc-test-framework" ,ghc-test-framework)
5648 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5649 ("ghc-test-framework-th" ,ghc-test-framework-th)
5650 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5651 ("ghc-quickcheck" ,ghc-quickcheck)))
5652 (home-page "https://github.com/ekmett/lens/")
5653 (synopsis "Lenses, Folds and Traversals")
5654 (description "This library provides @code{Control.Lens}. The combinators
5655in @code{Control.Lens} provide a highly generic toolbox for composing families
5656of getters, folds, isomorphisms, traversals, setters and lenses and their
5657indexed variants.")
5658 (license license:bsd-3)))
5659
5660(define-public ghc-libffi
5661 (package
5662 (name "ghc-libffi")
5663 (version "0.1")
5664 (source
5665 (origin
5666 (method url-fetch)
5667 (uri (string-append "https://hackage.haskell.org/package/"
5668 "libffi/libffi-" version ".tar.gz"))
5669 (sha256
5670 (base32
5671 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
5672 (build-system haskell-build-system)
5673 (native-inputs `(("pkg-config" ,pkg-config)))
5674 (inputs `(("libffi" ,libffi)))
5675 (home-page "http://hackage.haskell.org/package/libffi")
5676 (synopsis "Haskell binding to libffi")
5677 (description
5678 "A binding to libffi, allowing C functions of types only known at runtime
5679to be called from Haskell.")
5680 (license license:bsd-3)))
5681
5682(define-public ghc-libmpd
5683 (package
5684 (name "ghc-libmpd")
5685 (version "0.9.0.9")
5686 (source
5687 (origin
5688 (method url-fetch)
5689 (uri (string-append
5690 "mirror://hackage/package/libmpd/libmpd-"
5691 version
5692 ".tar.gz"))
5693 (sha256
5694 (base32
5695 "1931m23iqb4wddpdidm4ph746zpaw41kkjzmb074j7yyfpk7x1jv"))))
5696 (build-system haskell-build-system)
5697 ;; Tests fail on i686.
5698 ;; See https://github.com/vimus/libmpd-haskell/issues/112
5699 (arguments `(#:tests? #f))
5700 (inputs
5701 `(("ghc-attoparsec" ,ghc-attoparsec)
5702 ("ghc-old-locale" ,ghc-old-locale)
5703 ("ghc-data-default-class" ,ghc-data-default-class)
5704 ("ghc-network" ,ghc-network)
5705 ("ghc-utf8-string" ,ghc-utf8-string)))
5706 (native-inputs
5707 `(("ghc-quickcheck" ,ghc-quickcheck)
5708 ("ghc-hspec" ,ghc-hspec)
5709 ("hspec-discover" ,hspec-discover)))
5710 (home-page "https://github.com/vimus/libmpd-haskell")
5711 (synopsis "Haskell client library for the Music Player Daemon")
5712 (description "This package provides a pure Haskell client library for the
5713Music Player Daemon.")
5714 (license license:expat)))
5715
5716(define-public ghc-libxml
5717 (package
5718 (name "ghc-libxml")
5719 (version "0.1.1")
5720 (source
5721 (origin
5722 (method url-fetch)
5723 (uri (string-append "https://hackage.haskell.org/package/libxml/"
5724 "libxml-" version ".tar.gz"))
5725 (sha256
5726 (base32
5727 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
5728 (build-system haskell-build-system)
5729 (inputs
5730 `(("libxml2" ,libxml2)))
5731 (arguments
5732 `(#:configure-flags
5733 `(,(string-append "--extra-include-dirs="
5734 (assoc-ref %build-inputs "libxml2")
5735 "/include/libxml2"))))
5736 (home-page "https://hackage.haskell.org/package/libxml")
5737 (synopsis "Haskell bindings to libxml2")
5738 (description
5739 "This library provides minimal Haskell binding to libxml2.")
5740 (license license:bsd-3)))
5741
5742(define-public ghc-lifted-async
5743 (package
5744 (name "ghc-lifted-async")
5745 (version "0.10.0.2")
5746 (source
5747 (origin
5748 (method url-fetch)
5749 (uri (string-append
5750 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
5751 version ".tar.gz"))
5752 (sha256
5753 (base32
5754 "1073r512c1x2m1v0jar9bwqg656slg7jd1jhsyj6m8awgx1l1mwf"))))
5755 (build-system haskell-build-system)
5756 (inputs
5757 `(("ghc-async" ,ghc-async)
5758 ("ghc-lifted-base" ,ghc-lifted-base)
5759 ("ghc-transformers-base" ,ghc-transformers-base)
5760 ("ghc-monad-control" ,ghc-monad-control)
5761 ("ghc-constraints" ,ghc-constraints)
5762 ("ghc-hunit" ,ghc-hunit)
5763 ("ghc-tasty" ,ghc-tasty)
5764 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5765 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5766 ("ghc-tasty-th" ,ghc-tasty-th)))
5767 (home-page "https://github.com/maoe/lifted-async")
5768 (synopsis "Run lifted IO operations asynchronously and wait for their results")
5769 (description
5770 "This package provides IO operations from @code{async} package lifted to any
5771instance of @code{MonadBase} or @code{MonadBaseControl}.")
5772 (license license:bsd-3)))
5773
5774(define-public ghc-lifted-base
5775 (package
5776 (name "ghc-lifted-base")
5777 (version "0.2.3.12")
5778 (source
5779 (origin
5780 (method url-fetch)
5781 (uri (string-append
5782 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
5783 version
5784 ".tar.gz"))
5785 (sha256
5786 (base32
5787 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
5788 (build-system haskell-build-system)
5789 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
5790 (inputs
5791 `(("ghc-transformers-base" ,ghc-transformers-base)
5792 ("ghc-monad-control" ,ghc-monad-control)
5793 ("ghc-transformers-compat" ,ghc-transformers-compat)
5794 ("ghc-hunit" ,ghc-hunit)))
5795 (home-page "https://github.com/basvandijk/lifted-base")
5796 (synopsis "Lifted IO operations from the base library")
5797 (description "Lifted-base exports IO operations from the @code{base}
5798library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5799Note that not all modules from @code{base} are converted yet. The package
5800includes a copy of the @code{monad-peel} test suite written by Anders
5801Kaseorg.")
5802 (license license:bsd-3)))
5803
5804(define-public ghc-linear
5805 (package
5806 (name "ghc-linear")
5807 (version "1.20.8")
5808 (source
5809 (origin
5810 (method url-fetch)
5811 (uri (string-append "https://hackage.haskell.org/package/linear/"
5812 "linear-" version ".tar.gz"))
5813 (sha256
5814 (base32
5815 "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"))))
5816 (build-system haskell-build-system)
5817 (inputs
5818 `(("ghc-adjunctions" ,ghc-adjunctions)
5819 ("ghc-base-orphans" ,ghc-base-orphans)
5820 ("ghc-bytes" ,ghc-bytes)
5821 ("ghc-cereal" ,ghc-cereal)
5822 ("ghc-distributive" ,ghc-distributive)
5823 ("ghc-hashable" ,ghc-hashable)
5824 ("ghc-lens" ,ghc-lens)
5825 ("ghc-reflection" ,ghc-reflection)
5826 ("ghc-semigroups" ,ghc-semigroups)
5827 ("ghc-semigroupoids" ,ghc-semigroupoids)
5828 ("ghc-tagged" ,ghc-tagged)
5829 ("ghc-transformers-compat" ,ghc-transformers-compat)
5830 ("ghc-unordered-containers" ,ghc-unordered-containers)
5831 ("ghc-vector" ,ghc-vector)
5832 ("ghc-void" ,ghc-void)))
5833 (native-inputs
5834 `(("cabal-doctest" ,cabal-doctest)
5835 ("ghc-doctest" ,ghc-doctest)
5836 ("ghc-simple-reflect" ,ghc-simple-reflect)
5837 ("ghc-test-framework" ,ghc-test-framework)
5838 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5839 ("ghc-hunit" ,ghc-hunit)))
5840 (home-page "http://github.com/ekmett/linear/")
5841 (synopsis "Linear algebra library for Haskell")
5842 (description
5843 "This package provides types and combinators for linear algebra on free
5844vector spaces.")
5845 (license license:bsd-3)))
1307e4c7
JS
5846
5847(define-public ghc-listlike
5848 (package
5849 (name "ghc-listlike")
5850 (version "4.6.2")
5851 (source
5852 (origin
5853 (method url-fetch)
5854 (uri
5855 (string-append
5856 "https://hackage.haskell.org/package/ListLike/ListLike-"
5857 version ".tar.gz"))
5858 (sha256
5859 (base32
5860 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
5861 (build-system haskell-build-system)
5862 (inputs
5863 `(("ghc-vector" ,ghc-vector)
5864 ("ghc-dlist" ,ghc-dlist)
5865 ("ghc-fmlist" ,ghc-fmlist)
5866 ("ghc-hunit" ,ghc-hunit)
5867 ("ghc-quickcheck" ,ghc-quickcheck)
5868 ("ghc-random" ,ghc-random)
5869 ("ghc-utf8-string" ,ghc-utf8-string)))
5870 (home-page "https://github.com/JohnLato/listlike")
5871 (synopsis "Generic support for list-like structures")
5872 (description "The ListLike module provides a common interface to the
5873various Haskell types that are list-like. Predefined interfaces include
5874standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
5875Custom types can easily be made ListLike instances as well.
5876
5877ListLike also provides for String-like types, such as String and
5878ByteString, for types that support input and output, and for types that
5879can handle infinite lists.")
5880 (license license:bsd-3)))
dddbc90c
RV
5881
5882(define-public ghc-logging-facade
5883 (package
5884 (name "ghc-logging-facade")
5885 (version "0.3.0")
5886 (source (origin
5887 (method url-fetch)
5888 (uri (string-append "https://hackage.haskell.org/package/"
5889 "logging-facade/logging-facade-"
5890 version ".tar.gz"))
5891 (sha256
5892 (base32
5893 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
5894 (build-system haskell-build-system)
5895 (native-inputs
5896 `(("ghc-hspec" ,ghc-hspec)
5897 ("hspec-discover" ,hspec-discover)))
5898 (home-page "https://hackage.haskell.org/package/logging-facade")
5899 (synopsis "Simple logging abstraction that allows multiple back-ends")
5900 (description
5901 "This package provides a simple logging abstraction that allows multiple
5902back-ends.")
5903 (license license:expat)))
5904
5905(define-public ghc-logict
5906 (package
5907 (name "ghc-logict")
79d9326f 5908 (version "0.7.0.2")
dddbc90c
RV
5909 (source
5910 (origin
5911 (method url-fetch)
5912 (uri (string-append
5913 "https://hackage.haskell.org/package/logict/logict-"
5914 version
5915 ".tar.gz"))
5916 (sha256
5917 (base32
79d9326f 5918 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 5919 (build-system haskell-build-system)
79d9326f
TS
5920 (native-inputs
5921 `(("ghc-tasty" ,ghc-tasty)
5922 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5923 (home-page "http://code.haskell.org/~dolio/")
5924 (synopsis "Backtracking logic-programming monad")
5925 (description "This library provides a continuation-based, backtracking,
5926logic programming monad. An adaptation of the two-continuation implementation
5927found in the paper \"Backtracking, Interleaving, and Terminating Monad
5928Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
5929online}.")
5930 (license license:bsd-3)))
5931
5932(define-public ghc-lzma
5933 (package
5934 (name "ghc-lzma")
5935 (version "0.0.0.3")
5936 (source
5937 (origin
5938 (method url-fetch)
5939 (uri (string-append "https://hackage.haskell.org/package/lzma/"
5940 "lzma-" version ".tar.gz"))
5941 (sha256
5942 (base32
5943 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
5944 (build-system haskell-build-system)
5945 (arguments
5946 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
5947 #:cabal-revision
5948 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
5949 (native-inputs
5950 `(("ghc-hunit" ,ghc-hunit)
5951 ("ghc-quickcheck" ,ghc-quickcheck)
5952 ("ghc-tasty" ,ghc-tasty)
5953 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5954 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
5955 (home-page "https://github.com/hvr/lzma")
5956 (synopsis "LZMA/XZ compression and decompression")
5957 (description
5958 "This package provides a pure interface for compressing and
5959decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
5960monadic incremental interface is provided as well.")
5961 (license license:bsd-3)))
5962
5963(define-public ghc-lzma-conduit
5964 (package
5965 (name "ghc-lzma-conduit")
5966 (version "1.2.1")
5967 (source
5968 (origin
5969 (method url-fetch)
5970 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
5971 "lzma-conduit-" version ".tar.gz"))
5972 (sha256
5973 (base32
5974 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
5975 (build-system haskell-build-system)
5976 (inputs
5977 `(("ghc-conduit" ,ghc-conduit)
5978 ("ghc-lzma" ,ghc-lzma)
5979 ("ghc-resourcet" ,ghc-resourcet)))
5980 (native-inputs
5981 `(("ghc-base-compat" ,ghc-base-compat)
5982 ("ghc-test-framework" ,ghc-test-framework)
5983 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5984 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5985 ("ghc-hunit" ,ghc-hunit)
5986 ("ghc-quickcheck" ,ghc-quickcheck)))
5987 (home-page "https://github.com/alphaHeavy/lzma-conduit")
5988 (synopsis "Conduit interface for lzma/xz compression")
5989 (description
5990 "This package provides a @code{Conduit} interface for the LZMA
5991compression algorithm used in the @code{.xz} file format.")
5992 (license license:bsd-3)))
5993
e405912c
KM
5994(define-public ghc-magic
5995 (package
5996 (name "ghc-magic")
5997 (version "1.1")
5998 (source
5999 (origin
6000 (method url-fetch)
6001 (uri (string-append
6002 "https://hackage.haskell.org/package/magic/magic-"
6003 version ".tar.gz"))
6004 (sha256
6005 (base32
6006 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6007 (build-system haskell-build-system)
6008 (home-page "http://hackage.haskell.org/package/magic")
6009 (synopsis "Interface to C file/magic library")
6010 (description
6011 "This package provides a full-featured binding to the C libmagic library.
6012With it, you can determine the type of a file by examining its contents rather
6013than its name.")
6014 (license license:bsd-3)))
6015
dddbc90c
RV
6016(define-public ghc-markdown-unlit
6017 (package
6018 (name "ghc-markdown-unlit")
6019 (version "0.5.0")
6020 (source (origin
6021 (method url-fetch)
6022 (uri (string-append
6023 "mirror://hackage/package/markdown-unlit/"
6024 "markdown-unlit-" version ".tar.gz"))
6025 (sha256
6026 (base32
6027 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6028 (build-system haskell-build-system)
6029 (inputs
6030 `(("ghc-base-compat" ,ghc-base-compat)
6031 ("ghc-hspec" ,ghc-hspec)
6032 ("ghc-quickcheck" ,ghc-quickcheck)
6033 ("ghc-silently" ,ghc-silently)
6034 ("ghc-stringbuilder" ,ghc-stringbuilder)
6035 ("ghc-temporary" ,ghc-temporary)
6036 ("hspec-discover" ,hspec-discover)))
6037 (home-page "https://github.com/sol/markdown-unlit#readme")
6038 (synopsis "Literate Haskell support for Markdown")
6039 (description "This package allows you to have a README.md that at the
6040same time is a literate Haskell program.")
6041 (license license:expat)))
6042
6043(define-public ghc-math-functions
6044 (package
6045 (name "ghc-math-functions")
b45de2bf 6046 (version "0.3.3.0")
dddbc90c
RV
6047 (source
6048 (origin
6049 (method url-fetch)
6050 (uri (string-append "https://hackage.haskell.org/package/"
6051 "math-functions-" version "/"
6052 "math-functions-" version ".tar.gz"))
6053 (sha256
6054 (base32
b45de2bf 6055 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6056 (build-system haskell-build-system)
6057 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6058 (inputs
b45de2bf
TS
6059 `(("ghc-data-default-class" ,ghc-data-default-class)
6060 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6061 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6062 (native-inputs
6063 `(("ghc-hunit" ,ghc-hunit)
6064 ("ghc-quickcheck" ,ghc-quickcheck)
6065 ("ghc-erf" ,ghc-erf)
6066 ("ghc-test-framework" ,ghc-test-framework)
6067 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6068 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6069 (home-page "https://github.com/bos/math-functions")
6070 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6071 (description "This Haskell library provides implementations of
6072special mathematical functions and Chebyshev polynomials. These
6073functions are often useful in statistical and numerical computing.")
6074 (license license:bsd-3)))
6075
6076(define-public ghc-megaparsec
6077 (package
6078 (name "ghc-megaparsec")
6079 (version "6.5.0")
6080 (source
6081 (origin
6082 (method url-fetch)
6083 (uri (string-append "https://hackage.haskell.org/package/"
6084 "megaparsec/megaparsec-"
6085 version ".tar.gz"))
6086 (sha256
6087 (base32
6088 "12iggy7qpf8x93jm64zf0g215xwy779bqyfyjk2bhmxqqr1yzgdy"))))
6089 (build-system haskell-build-system)
6090 (arguments
6091 `(#:cabal-revision
6092 ("4" "0ij3asi5vwlhbgwsy6nhli9a0qb7926mg809fsgyl1rnhs9fvpx1")))
6093 (inputs
6094 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6095 ("ghc-parser-combinators" ,ghc-parser-combinators)
6096 ("ghc-scientific" ,ghc-scientific)))
6097 (native-inputs
6098 `(("ghc-quickcheck" ,ghc-quickcheck)
6099 ("ghc-hspec" ,ghc-hspec)
6100 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6101 ("hspec-discover" ,hspec-discover)))
6102 (home-page "https://github.com/mrkkrp/megaparsec")
6103 (synopsis "Monadic parser combinators")
6104 (description
6105 "This is an industrial-strength monadic parser combinator library.
6106Megaparsec is a feature-rich package that strikes a nice balance between
6107speed, flexibility, and quality of parse errors.")
6108 (license license:bsd-2)))
6109
4780db2c
EB
6110;;; Idris 1.3.2 requires 'megaparse>=7.0.4' but we'd like to keep the public
6111;;; package at the current Stackage LTS version:
6112(define-public ghc-megaparsec-7
6113 (hidden-package
6114 (package
6115 (inherit ghc-megaparsec)
6116 (version "7.0.5")
6117 (source
6118 (origin
6119 (method url-fetch)
6120 (uri (string-append "https://hackage.haskell.org/package/megaparsec/"
6121 "megaparsec-" version ".tar.gz"))
6122 (sha256
6123 (base32
6124 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
6125 (arguments (strip-keyword-arguments (list #:cabal-revision)
6126 (package-arguments ghc-megaparsec))))))
6127
dddbc90c
RV
6128(define-public ghc-memory
6129 (package
6130 (name "ghc-memory")
d2c7d336 6131 (version "0.14.18")
dddbc90c
RV
6132 (source (origin
6133 (method url-fetch)
6134 (uri (string-append "https://hackage.haskell.org/package/"
6135 "memory/memory-" version ".tar.gz"))
6136 (sha256
6137 (base32
d2c7d336 6138 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
6139 (build-system haskell-build-system)
6140 (inputs
6141 `(("ghc-basement" ,ghc-basement)
6142 ("ghc-foundation" ,ghc-foundation)))
6143 (native-inputs
6144 `(("ghc-tasty" ,ghc-tasty)
6145 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6146 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6147 (home-page "https://github.com/vincenthz/hs-memory")
6148 (synopsis "Memory abstractions for Haskell")
6149 (description
6150 "This package provides memory abstractions, such as chunk of memory,
6151polymorphic byte array management and manipulation functions. It contains a
6152polymorphic byte array abstraction and functions similar to strict ByteString,
6153different type of byte array abstraction, raw memory IO operations (memory
6154set, memory copy, ..) and more")
6155 (license license:bsd-3)))
6156
6157(define-public ghc-memotrie
6158 (package
6159 (name "ghc-memotrie")
6160 (version "0.6.9")
6161 (source
6162 (origin
6163 (method url-fetch)
6164 (uri (string-append
6165 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6166 version
6167 ".tar.gz"))
6168 (sha256
6169 (base32
6170 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6171 (build-system haskell-build-system)
6172 (inputs
6173 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6174 (home-page "https://github.com/conal/MemoTrie")
6175 (synopsis "Trie-based memo functions")
6176 (description "This package provides a functional library for creating
6177efficient memo functions using tries.")
6178 (license license:bsd-3)))
6179
6180(define-public ghc-microlens
6181 (package
6182 (name "ghc-microlens")
82478c58 6183 (version "0.4.10")
dddbc90c
RV
6184 (source
6185 (origin
6186 (method url-fetch)
6187 (uri (string-append "https://hackage.haskell.org/package/"
6188 "microlens-" version "/"
6189 "microlens-" version ".tar.gz"))
6190 (sha256
6191 (base32
82478c58 6192 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
6193 (build-system haskell-build-system)
6194 (home-page
6195 "https://github.com/aelve/microlens")
6196 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6197 (description "This Haskell package provides a lens library, just like
6198@code{ghc-lens}, but smaller. It provides essential lenses and
6199traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6200nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6201combinators (like @code{failing} and @code{singular}), but everything else is
6202stripped. As the result, this package has no dependencies.")
6203 (license license:bsd-3)))
6204
6205(define-public ghc-microlens-ghc
6206 (package
6207 (name "ghc-microlens-ghc")
027beb55 6208 (version "0.4.10")
dddbc90c
RV
6209 (source
6210 (origin
6211 (method url-fetch)
6212 (uri (string-append
6213 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6214 version
6215 ".tar.gz"))
6216 (sha256
6217 (base32
027beb55 6218 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
6219 (build-system haskell-build-system)
6220 (inputs `(("ghc-microlens" ,ghc-microlens)))
6221 (home-page "https://github.com/monadfix/microlens")
6222 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6223 (description "This library provides everything that @code{microlens}
6224provides plus instances to make @code{each}, @code{at}, and @code{ix}
6225usable with arrays, @code{ByteString}, and containers. This package is
6226a part of the @uref{http://hackage.haskell.org/package/microlens,
6227microlens} family; see the readme
6228@uref{https://github.com/aelve/microlens#readme, on Github}.")
6229 (license license:bsd-3)))
6230
6231(define-public ghc-microlens-mtl
6232 (package
6233 (name "ghc-microlens-mtl")
6234 (version "0.1.11.1")
6235 (source
6236 (origin
6237 (method url-fetch)
6238 (uri (string-append
6239 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6240 version
6241 ".tar.gz"))
6242 (sha256
6243 (base32
6244 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6245 (build-system haskell-build-system)
6246 (inputs
6247 `(("ghc-microlens" ,ghc-microlens)
6248 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6249 (home-page "https://github.com/monadfix/microlens")
6250 (synopsis
6251 "@code{microlens} support for Reader/Writer/State from mtl")
6252 (description
6253 "This package contains functions (like @code{view} or @code{+=}) which
6254work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6255mtl package. This package is a part of the
6256@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6257readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6258 (license license:bsd-3)))
6259
6260(define-public ghc-microlens-platform
6261 (package
6262 (name "ghc-microlens-platform")
85decc1f 6263 (version "0.3.11")
dddbc90c
RV
6264 (source
6265 (origin
6266 (method url-fetch)
6267 (uri (string-append
6268 "https://hackage.haskell.org/package/"
6269 "microlens-platform/microlens-platform-" version ".tar.gz"))
6270 (sha256
6271 (base32
85decc1f 6272 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
6273 (build-system haskell-build-system)
6274 (inputs
6275 `(("ghc-hashable" ,ghc-hashable)
6276 ("ghc-microlens" ,ghc-microlens)
6277 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6278 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6279 ("ghc-microlens-th" ,ghc-microlens-th)
6280 ("ghc-unordered-containers" ,ghc-unordered-containers)
6281 ("ghc-vector" ,ghc-vector)))
6282 (home-page "https://github.com/monadfix/microlens")
6283 (synopsis "Feature-complete microlens")
6284 (description
6285 "This package exports a module which is the recommended starting point
6286for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6287you aren't trying to keep your dependencies minimal. By importing
6288@code{Lens.Micro.Platform} you get all functions and instances from
6289@uref{http://hackage.haskell.org/package/microlens, microlens},
6290@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6291@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6292@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6293well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6294minor and major versions of @code{microlens-platform} are incremented whenever
6295the minor and major versions of any other @code{microlens} package are
6296incremented, so you can depend on the exact version of
6297@code{microlens-platform} without specifying the version of @code{microlens}
6298you need. This package is a part of the
6299@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6300readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6301 (license license:bsd-3)))
6302
6303(define-public ghc-microlens-th
6304 (package
6305 (name "ghc-microlens-th")
7ae52867 6306 (version "0.4.2.3")
dddbc90c
RV
6307 (source
6308 (origin
6309 (method url-fetch)
6310 (uri (string-append "https://hackage.haskell.org/package/"
6311 "microlens-th-" version "/"
6312 "microlens-th-" version ".tar.gz"))
6313 (sha256
6314 (base32
7ae52867 6315 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 6316 (build-system haskell-build-system)
7ae52867
TS
6317 (arguments
6318 `(#:cabal-revision
6319 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
6320 (inputs `(("ghc-microlens" ,ghc-microlens)
6321 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6322 (home-page
6323 "https://github.com/aelve/microlens")
6324 (synopsis "Automatic generation of record lenses for
6325@code{ghc-microlens}")
6326 (description "This Haskell package lets you automatically generate lenses
6327for data types; code was extracted from the lens package, and therefore
6328generated lenses are fully compatible with ones generated by lens (and can be
6329used both from lens and microlens).")
6330 (license license:bsd-3)))
6331
6332(define-public ghc-missingh
6333 (package
6334 (name "ghc-missingh")
6335 (version "1.4.0.1")
6336 (source
6337 (origin
6338 (method url-fetch)
6339 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6340 "MissingH-" version ".tar.gz"))
6341 (sha256
6342 (base32
6343 "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"))))
6344 (build-system haskell-build-system)
6345 ;; Tests require the unmaintained testpack package, which depends on the
6346 ;; outdated QuickCheck version 2.7, which can no longer be built with
6347 ;; recent versions of GHC and Haskell libraries.
6348 (arguments '(#:tests? #f))
6349 (inputs
6350 `(("ghc-network" ,ghc-network)
6351 ("ghc-hunit" ,ghc-hunit)
6352 ("ghc-regex-compat" ,ghc-regex-compat)
6353 ("ghc-hslogger" ,ghc-hslogger)
6354 ("ghc-random" ,ghc-random)
6355 ("ghc-old-time" ,ghc-old-time)
6356 ("ghc-old-locale" ,ghc-old-locale)))
6357 (native-inputs
6358 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6359 ("ghc-quickcheck" ,ghc-quickcheck)
6360 ("ghc-hunit" ,ghc-hunit)))
6361 (home-page "http://software.complete.org/missingh")
6362 (synopsis "Large utility library")
6363 (description
6364 "MissingH is a library of all sorts of utility functions for Haskell
6365programmers. It is written in pure Haskell and thus should be extremely
6366portable and easy to use.")
6367 (license license:bsd-3)))
6368
6369(define-public ghc-mmap
6370 (package
6371 (name "ghc-mmap")
6372 (version "0.5.9")
6373 (source (origin
6374 (method url-fetch)
6375 (uri (string-append "https://hackage.haskell.org/package/"
6376 "mmap/mmap-" version ".tar.gz"))
6377 (sha256
6378 (base32
6379 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6380 (build-system haskell-build-system)
6381 (home-page "https://hackage.haskell.org/package/mmap")
6382 (synopsis "Memory mapped files for Haskell")
6383 (description
6384 "This library provides a wrapper to @code{mmap}, allowing files or
6385devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6386@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6387do on-demand loading.")
6388 (license license:bsd-3)))
6389
6390(define-public ghc-mmorph
6391 (package
6392 (name "ghc-mmorph")
e0389704 6393 (version "1.1.3")
dddbc90c
RV
6394 (source
6395 (origin
6396 (method url-fetch)
6397 (uri (string-append
6398 "https://hackage.haskell.org/package/mmorph/mmorph-"
6399 version
6400 ".tar.gz"))
6401 (sha256
6402 (base32
e0389704 6403 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
6404 (build-system haskell-build-system)
6405 (inputs
6406 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6407 (home-page "https://hackage.haskell.org/package/mmorph")
6408 (synopsis "Monad morphisms")
6409 (description
6410 "This library provides monad morphism utilities, most commonly used for
6411manipulating monad transformer stacks.")
6412 (license license:bsd-3)))
6413
6414(define-public ghc-mockery
6415 (package
6416 (name "ghc-mockery")
6417 (version "0.3.5")
6418 (source (origin
6419 (method url-fetch)
6420 (uri (string-append "https://hackage.haskell.org/package/"
6421 "mockery/mockery-" version ".tar.gz"))
6422 (sha256
6423 (base32
6424 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6425 (build-system haskell-build-system)
6426 (inputs
6427 `(("ghc-temporary" ,ghc-temporary)
6428 ("ghc-logging-facade" ,ghc-logging-facade)
6429 ("ghc-base-compat" ,ghc-base-compat)))
6430 (native-inputs
6431 `(("ghc-hspec" ,ghc-hspec)
6432 ("hspec-discover" ,hspec-discover)))
6433 (home-page "https://hackage.haskell.org/package/mockery")
6434 (synopsis "Support functions for automated testing")
6435 (description
6436 "The mockery package provides support functions for automated testing.")
6437 (license license:expat)))
6438
6439(define-public ghc-monad-control
6440 (package
6441 (name "ghc-monad-control")
6442 (version "1.0.2.3")
6443 (source
6444 (origin
6445 (method url-fetch)
6446 (uri (string-append
6447 "https://hackage.haskell.org/package/monad-control"
6448 "/monad-control-" version ".tar.gz"))
6449 (sha256
6450 (base32
6451 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6452 (build-system haskell-build-system)
6453 (inputs
6454 `(("ghc-transformers-base" ,ghc-transformers-base)
6455 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6456 (home-page "https://github.com/basvandijk/monad-control")
6457 (synopsis "Monad transformers to lift control operations like exception
6458catching")
6459 (description "This package defines the type class @code{MonadBaseControl},
6460a subset of @code{MonadBase} into which generic control operations such as
6461@code{catch} can be lifted from @code{IO} or any other base monad.")
6462 (license license:bsd-3)))
6463
6464(define-public ghc-monad-logger
6465 (package
6466 (name "ghc-monad-logger")
6467 (version "0.3.29")
6468 (source
6469 (origin
6470 (method url-fetch)
6471 (uri (string-append "https://hackage.haskell.org/package/"
6472 "monad-logger-" version "/"
6473 "monad-logger-" version ".tar.gz"))
6474 (sha256
6475 (base32
6476 "1z516s4pa9n94zf0l45mylssg07xr1d1m6zrz900p0iv3vfd07mv"))))
6477 (build-system haskell-build-system)
6478 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6479 ("ghc-stm-chans" ,ghc-stm-chans)
6480 ("ghc-lifted-base" ,ghc-lifted-base)
6481 ("ghc-resourcet" ,ghc-resourcet)
6482 ("ghc-conduit" ,ghc-conduit)
6483 ("ghc-conduit-extra" ,ghc-conduit-extra)
6484 ("ghc-fast-logger" ,ghc-fast-logger)
6485 ("ghc-transformers-base" ,ghc-transformers-base)
6486 ("ghc-monad-control" ,ghc-monad-control)
6487 ("ghc-monad-loops" ,ghc-monad-loops)
6488 ("ghc-blaze-builder" ,ghc-blaze-builder)
6489 ("ghc-exceptions" ,ghc-exceptions)))
6490 (home-page "https://github.com/kazu-yamamoto/logger")
6491 (synopsis "Provides a class of monads which can log messages for Haskell")
6492 (description "This Haskell package uses a monad transformer approach
6493for logging.
6494
6495This package provides Template Haskell functions for determining source
6496code locations of messages.")
6497 (license license:expat)))
6498
6499(define-public ghc-monad-loops
6500 (package
6501 (name "ghc-monad-loops")
6502 (version "0.4.3")
6503 (source
6504 (origin
6505 (method url-fetch)
6506 (uri (string-append "https://hackage.haskell.org/package/"
6507 "monad-loops-" version "/"
6508 "monad-loops-" version ".tar.gz"))
6509 (sha256
6510 (base32
6511 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6512 (build-system haskell-build-system)
6513 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6514 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6515 (home-page "https://github.com/mokus0/monad-loops")
6516 (synopsis "Monadic loops for Haskell")
6517 (description "This Haskell package provides some useful control
6518operators for looping.")
6519 (license license:public-domain)))
6520
6521(define-public ghc-monad-par
6522 (package
6523 (name "ghc-monad-par")
6524 (version "0.3.4.8")
6525 (source
6526 (origin
6527 (method url-fetch)
6528 (uri (string-append "https://hackage.haskell.org/package/"
6529 "monad-par-" version "/"
6530 "monad-par-" version ".tar.gz"))
6531 (sha256
6532 (base32
6533 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6534 (build-system haskell-build-system)
6535 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6536 ("ghc-abstract-deque" ,ghc-abstract-deque)
6537 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6538 ("ghc-mwc-random" ,ghc-mwc-random)
6539 ("ghc-parallel" ,ghc-parallel)))
6540 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6541 ("ghc-hunit" ,ghc-hunit)
6542 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6543 ("ghc-test-framework-quickcheck2"
6544 ,ghc-test-framework-quickcheck2)
6545 ("ghc-test-framework" ,ghc-test-framework)
6546 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6547 (home-page "https://github.com/simonmar/monad-par")
6548 (synopsis "Haskell library for parallel programming based on a monad")
6549 (description "The @code{Par} monad offers an API for parallel
6550programming. The library works for parallelising both pure and @code{IO}
6551computations, although only the pure version is deterministic. The default
6552implementation provides a work-stealing scheduler and supports forking tasks
6553that are much lighter weight than IO-threads.")
6554 (license license:bsd-3)))
6555
6556(define-public ghc-monad-par-extras
6557 (package
6558 (name "ghc-monad-par-extras")
6559 (version "0.3.3")
6560 (source
6561 (origin
6562 (method url-fetch)
6563 (uri (string-append "https://hackage.haskell.org/package/"
6564 "monad-par-extras-" version "/"
6565 "monad-par-extras-" version ".tar.gz"))
6566 (sha256
6567 (base32
6568 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6569 (build-system haskell-build-system)
6570 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6571 ("ghc-cereal" ,ghc-cereal)
6572 ("ghc-random" ,ghc-random)))
6573 (home-page "https://github.com/simonmar/monad-par")
6574 (synopsis "Combinators and extra features for Par monads for Haskell")
6575 (description "This Haskell package provides additional data structures,
6576and other added capabilities layered on top of the @code{Par} monad.")
6577 (license license:bsd-3)))
6578
6579(define-public ghc-monadplus
6580 (package
6581 (name "ghc-monadplus")
6582 (version "1.4.2")
6583 (source
6584 (origin
6585 (method url-fetch)
6586 (uri (string-append "https://hackage.haskell.org/package/monadplus"
6587 "/monadplus-" version ".tar.gz"))
6588 (sha256
6589 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
6590 (build-system haskell-build-system)
6591 (home-page "https://hackage.haskell.org/package/monadplus")
6592 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
6593 (description
6594 "This package generalizes many common stream operations such as
6595@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
6596arbitrary @code{MonadPlus} instances.")
6597 (license license:bsd-3)))
6598
6599(define-public ghc-monadrandom
6600 (package
6601 (name "ghc-monadrandom")
6602 (version "0.5.1.1")
6603 (source
6604 (origin
6605 (method url-fetch)
6606 (uri (string-append "https://hackage.haskell.org/package/"
6607 "MonadRandom-" version "/"
6608 "MonadRandom-" version ".tar.gz"))
6609 (sha256
6610 (base32
6611 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
6612 (build-system haskell-build-system)
6613 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6614 ("ghc-primitive" ,ghc-primitive)
6615 ("ghc-fail" ,ghc-fail)
6616 ("ghc-random" ,ghc-random)))
6617 (home-page "https://github.com/byorgey/MonadRandom")
6618 (synopsis "Random-number generation monad for Haskell")
6619 (description "This Haskell package provides support for computations
6620which consume random values.")
6621 (license license:bsd-3)))
6622
6623(define-public ghc-monads-tf
6624 (package
6625 (name "ghc-monads-tf")
6626 (version "0.1.0.3")
6627 (source
6628 (origin
6629 (method url-fetch)
6630 (uri (string-append
6631 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
6632 version ".tar.gz"))
6633 (sha256
6634 (base32
6635 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
6636 (build-system haskell-build-system)
6637 (home-page "https://hackage.haskell.org/package/monads-tf")
6638 (synopsis "Monad classes, using type families")
6639 (description
6640 "Monad classes using type families, with instances for various monad transformers,
6641inspired by the paper 'Functional Programming with Overloading and Higher-Order
6642Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
6643the @code{mtl-tf} package.")
6644 (license license:bsd-3)))
6645
6646(define-public ghc-mono-traversable
6647 (package
6648 (name "ghc-mono-traversable")
6649 (version "1.0.9.0")
6650 (source
6651 (origin
6652 (method url-fetch)
6653 (uri (string-append "https://hackage.haskell.org/package/"
6654 "mono-traversable-" version "/"
6655 "mono-traversable-" version ".tar.gz"))
6656 (sha256
6657 (base32
6658 "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
6659 (build-system haskell-build-system)
6660 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
6661 ("ghc-hashable" ,ghc-hashable)
6662 ("ghc-vector" ,ghc-vector)
6663 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
6664 ("ghc-split" ,ghc-split)))
6665 (native-inputs `(("ghc-hspec" ,ghc-hspec)
6666 ("ghc-hunit" ,ghc-hunit)
6667 ("ghc-quickcheck" ,ghc-quickcheck)
6668 ("ghc-semigroups" ,ghc-semigroups)
6669 ("ghc-foldl" ,ghc-foldl)))
6670 (home-page "https://github.com/snoyberg/mono-traversable")
6671 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
6672containers")
6673 (description "This Haskell package provides Monomorphic variants of the
6674Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
6675basic typeclasses, you understand mono-traversable. In addition to what
6676you are used to, it adds on an IsSequence typeclass and has code for marking
6677data structures as non-empty.")
6678 (license license:expat)))
6679
6680(define-public ghc-murmur-hash
6681 (package
6682 (name "ghc-murmur-hash")
6683 (version "0.1.0.9")
6684 (source
6685 (origin
6686 (method url-fetch)
6687 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
6688 "/murmur-hash-" version ".tar.gz"))
6689 (sha256
6690 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
6691 (build-system haskell-build-system)
6692 (home-page "https://github.com/nominolo/murmur-hash")
6693 (synopsis "MurmurHash2 implementation for Haskell")
6694 (description
6695 "This package provides an implementation of MurmurHash2, a good, fast,
6696general-purpose, non-cryptographic hashing function. See
6697@url{https://sites.google.com/site/murmurhash/} for details. This
6698implementation is pure Haskell, so it might be a bit slower than a C FFI
6699binding.")
6700 (license license:bsd-3)))
6701
6702(define-public ghc-mwc-random
6703 (package
6704 (name "ghc-mwc-random")
33268e2c 6705 (version "0.14.0.0")
dddbc90c
RV
6706 (source
6707 (origin
6708 (method url-fetch)
6709 (uri (string-append "https://hackage.haskell.org/package/"
6710 "mwc-random-" version "/"
6711 "mwc-random-" version ".tar.gz"))
6712 (sha256
6713 (base32
33268e2c 6714 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
6715 (build-system haskell-build-system)
6716 (inputs
6717 `(("ghc-primitive" ,ghc-primitive)
6718 ("ghc-vector" ,ghc-vector)
6719 ("ghc-math-functions" ,ghc-math-functions)))
6720 (arguments
6721 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
6722 (native-inputs
6723 `(("ghc-hunit" ,ghc-hunit)
6724 ("ghc-quickcheck" ,ghc-quickcheck)
6725 ("ghc-test-framework" ,ghc-test-framework)
6726 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6727 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6728 (home-page "https://github.com/bos/mwc-random")
6729 (synopsis "Random number generation library for Haskell")
6730 (description "This Haskell package contains code for generating
6731high quality random numbers that follow either a uniform or normal
6732distribution. The generated numbers are suitable for use in
6733statistical applications.
6734
6735The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
6736multiply-with-carry generator, which has a period of 2^{8222} and
6737fares well in tests of randomness. It is also extremely fast,
6738between 2 and 3 times faster than the Mersenne Twister.")
6739 (license license:bsd-3)))
6740
6741(define-public ghc-nats
6742 (package
6743 (name "ghc-nats")
6744 (version "1.1.2")
6745 (source
6746 (origin
6747 (method url-fetch)
6748 (uri (string-append
6749 "https://hackage.haskell.org/package/nats/nats-"
6750 version
6751 ".tar.gz"))
6752 (sha256
6753 (base32
6754 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
6755 (build-system haskell-build-system)
6756 (arguments `(#:haddock? #f))
6757 (inputs
6758 `(("ghc-hashable" ,ghc-hashable)))
6759 (home-page "https://hackage.haskell.org/package/nats")
6760 (synopsis "Natural numbers")
6761 (description "This library provides the natural numbers for Haskell.")
6762 (license license:bsd-3)))
6763
6764(define-public ghc-nats-bootstrap
6765 (package
6766 (inherit ghc-nats)
6767 (name "ghc-nats-bootstrap")
6768 (inputs
6769 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
6770 (properties '((hidden? #t)))))
6771
52915062
EF
6772(define-public ghc-ncurses
6773 (package
6774 (name "ghc-ncurses")
6775 (version "0.2.16")
6776 (source
6777 (origin
6778 (method url-fetch)
6779 (uri (string-append
6780 "https://hackage.haskell.org/package/ncurses/ncurses-"
6781 version ".tar.gz"))
6782 (sha256
6783 (base32
6784 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
6785 (build-system haskell-build-system)
6786 (arguments
6787 '(#:phases
6788 (modify-phases %standard-phases
6789 (add-before 'build 'fix-includes
6790 (lambda _
6791 (substitute* '("cbits/hsncurses-shim.h"
6792 "lib/UI/NCurses.chs"
6793 "lib/UI/NCurses/Enums.chs"
6794 "lib/UI/NCurses/Panel.chs")
6795 (("<ncursesw/") "<"))
6796 #t)))
6797 #:cabal-revision
6798 ("1"
6799 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
6800 (inputs `(("ncurses" ,ncurses)))
6801 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
6802 (home-page "https://john-millikin.com/software/haskell-ncurses/")
6803 (synopsis "Modernised bindings to GNU ncurses")
6804 (description "GNU ncurses is a library for creating command-line application
6805with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
6806ncurses.")
6807 (license license:gpl3)))
6808
dddbc90c
RV
6809(define-public ghc-network
6810 (package
6811 (name "ghc-network")
6812 (version "2.6.3.6")
6813 (outputs '("out" "doc"))
6814 (source
6815 (origin
6816 (method url-fetch)
6817 (uri (string-append
6818 "https://hackage.haskell.org/package/network/network-"
6819 version
6820 ".tar.gz"))
6821 (sha256
6822 (base32
6823 "198mam7ahny48p9fajznbqq16a8ya2gw0xm3gnm1si1rmc4hdplv"))))
6824 (build-system haskell-build-system)
6825 ;; The regression tests depend on an unpublished module.
6826 (arguments `(#:tests? #f))
6827 (native-inputs
6828 `(("ghc-hunit" ,ghc-hunit)
6829 ("ghc-doctest" ,ghc-doctest)
6830 ("ghc-test-framework" ,ghc-test-framework)
6831 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6832 (home-page "https://github.com/haskell/network")
6833 (synopsis "Low-level networking interface")
6834 (description
6835 "This package provides a low-level networking interface.")
6836 (license license:bsd-3)))
4780db2c
EB
6837
6838;;; Until we update our default GHC to >=8.6 we cannot update our ghc-network
6839;;; package, since the 'cabal-install' package that supports the current
6840;;; 'Cabal' module requires 'network==2.6.*'. Here we provide an updated
6841;;; version to be used for our idris package.
6842(define-public ghc-network-2.8
6843 (hidden-package
6844 (package
6845 (inherit ghc-network)
6846 (version "2.8.0.1")
6847 (source
6848 (origin
6849 (method url-fetch)
6850 (uri (string-append "https://hackage.haskell.org/package/network/"
6851 "network-" version ".tar.gz"))
6852 (sha256
6853 (base32
6854 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1")))))))
dddbc90c
RV
6855
6856(define-public ghc-network-info
6857 (package
6858 (name "ghc-network-info")
6859 (version "0.2.0.10")
6860 (source
6861 (origin
6862 (method url-fetch)
6863 (uri (string-append "https://hackage.haskell.org/package/"
6864 "network-info-" version "/"
6865 "network-info-" version ".tar.gz"))
6866 (sha256
6867 (base32
6868 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
6869 (build-system haskell-build-system)
6870 (home-page "https://github.com/jystic/network-info")
6871 (synopsis "Access the local computer's basic network configuration")
6872 (description "This Haskell library provides simple read-only access to the
6873local computer's networking configuration. It is currently capable of
6874getting a list of all the network interfaces and their respective
6875IPv4, IPv6 and MAC addresses.")
6876 (license license:bsd-3)))
6877
6878(define-public ghc-network-uri
6879 (package
6880 (name "ghc-network-uri")
6881 (version "2.6.1.0")
6882 (outputs '("out" "doc"))
6883 (source
6884 (origin
6885 (method url-fetch)
6886 (uri (string-append
6887 "https://hackage.haskell.org/package/network-uri/network-uri-"
6888 version
6889 ".tar.gz"))
6890 (sha256
6891 (base32
6892 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
6893 (build-system haskell-build-system)
6894 (arguments
6895 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
6896 (inputs
6897 `(("ghc-network" ,ghc-network)))
6898 (native-inputs
6899 `(("ghc-hunit" ,ghc-hunit)))
6900 (home-page
6901 "https://github.com/haskell/network-uri")
6902 (synopsis "Library for URI manipulation")
6903 (description "This package provides an URI manipulation interface. In
6904@code{network-2.6} the @code{Network.URI} module was split off from the
6905@code{network} package into this package.")
6906 (license license:bsd-3)))
6907
6908(define-public ghc-newtype-generics
6909 (package
6910 (name "ghc-newtype-generics")
6911 (version "0.5.3")
6912 (source
6913 (origin
6914 (method url-fetch)
6915 (uri (string-append "https://hackage.haskell.org/package/"
6916 "newtype-generics/newtype-generics-"
6917 version ".tar.gz"))
6918 (sha256
6919 (base32
6920 "0igyisw2djg19v9vkna1rwf47k97mvkvk4bbkmswznvbm00z15gj"))))
6921 (build-system haskell-build-system)
6922 (native-inputs
6923 `(("ghc-hspec" ,ghc-hspec)
6924 ("hspec-discover" ,hspec-discover)))
6925 (home-page "http://github.com/sjakobi/newtype-generics")
6926 (synopsis "Typeclass and set of functions for working with newtypes")
6927 (description "The @code{Newtype} typeclass represents the packing and
6928unpacking of a newtype, and allows you to operate under that newtype with
6929functions such as @code{ala}. Generics support was added in version 0.4,
6930making this package a full replacement for the original newtype package,
6931and an alternative to newtype-th.")
6932 (license license:bsd-3)))
6933
6b652f5a
JS
6934(define-public ghc-non-negative
6935 (package
6936 (name "ghc-non-negative")
6937 (version "0.1.2")
6938 (source
6939 (origin
6940 (method url-fetch)
6941 (uri
6942 (string-append
6943 "https://hackage.haskell.org/package/non-negative/non-negative-"
6944 version ".tar.gz"))
6945 (sha256
6946 (base32
6947 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
6948 (build-system haskell-build-system)
6949 (inputs
6950 `(("ghc-semigroups" ,ghc-semigroups)
6951 ("ghc-utility-ht" ,ghc-utility-ht)
6952 ("ghc-quickcheck" ,ghc-quickcheck)))
6953 (home-page "https://hackage.haskell.org/package/non-negative")
6954 (synopsis "Non-negative numbers class")
6955 (description "This library provides a class for non-negative numbers,
6956a wrapper which can turn any ordered numeric type into a member of that
6957class, and a lazy number type for non-negative numbers (a generalization
6958of Peano numbers).")
6959 (license license:gpl3+)))
6960
dddbc90c
RV
6961(define-public ghc-objectname
6962 (package
6963 (name "ghc-objectname")
6964 (version "1.1.0.1")
6965 (source
6966 (origin
6967 (method url-fetch)
6968 (uri (string-append
6969 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
6970 version
6971 ".tar.gz"))
6972 (sha256
6973 (base32
6974 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
6975 (build-system haskell-build-system)
6976 (home-page "https://hackage.haskell.org/package/ObjectName")
6977 (synopsis "Helper library for Haskell OpenGL")
6978 (description "This tiny package contains the class ObjectName, which
6979corresponds to the general notion of explicitly handled identifiers for API
6980objects, e.g. a texture object name in OpenGL or a buffer object name in
6981OpenAL.")
6982 (license license:bsd-3)))
6983
6984(define-public ghc-old-locale
6985 (package
6986 (name "ghc-old-locale")
6987 (version "1.0.0.7")
6988 (source
6989 (origin
6990 (method url-fetch)
6991 (uri (string-append
6992 "https://hackage.haskell.org/package/old-locale/old-locale-"
6993 version
6994 ".tar.gz"))
6995 (sha256
6996 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
6997 (build-system haskell-build-system)
6998 (arguments
6999 `(#:cabal-revision
7000 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7001 (home-page "https://hackage.haskell.org/package/old-locale")
7002 (synopsis "Adapt to locale conventions")
7003 (description
7004 "This package provides the ability to adapt to locale conventions such as
7005date and time formats.")
7006 (license license:bsd-3)))
7007
7008(define-public ghc-old-time
7009 (package
7010 (name "ghc-old-time")
7011 (version "1.1.0.3")
7012 (source
7013 (origin
7014 (method url-fetch)
7015 (uri (string-append
7016 "https://hackage.haskell.org/package/old-time/old-time-"
7017 version
7018 ".tar.gz"))
7019 (sha256
7020 (base32
7021 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7022 (build-system haskell-build-system)
7023 (arguments
7024 `(#:cabal-revision
7025 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7026 (inputs
7027 `(("ghc-old-locale" ,ghc-old-locale)))
7028 (home-page "https://hackage.haskell.org/package/old-time")
7029 (synopsis "Time compatibility library for Haskell")
7030 (description "Old-time is a package for backwards compatibility with the
7031old @code{time} library. For new projects, the newer
7032@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7033 (license license:bsd-3)))
7034
7035(define-public ghc-opengl
7036 (package
7037 (name "ghc-opengl")
7038 (version "3.0.2.2")
7039 (source
7040 (origin
7041 (method url-fetch)
7042 (uri (string-append
7043 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7044 version
7045 ".tar.gz"))
7046 (sha256
7047 (base32
7048 "19vxwvx2n8zq2klj176l25n2b64ybp0b8mhm4p46gvpcivz41fjc"))))
7049 (build-system haskell-build-system)
7050 (inputs
7051 `(("ghc-objectname" ,ghc-objectname)
7052 ("ghc-gluraw" ,ghc-gluraw)
7053 ("ghc-statevar" ,ghc-statevar)
7054 ("ghc-openglraw" ,ghc-openglraw)))
7055 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7056 (synopsis "Haskell bindings for the OpenGL graphics system")
7057 (description "This package provides Haskell bindings for the OpenGL
7058graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7059version 1.3).")
7060 (license license:bsd-3)))
7061
7062(define-public ghc-openglraw
7063 (package
7064 (name "ghc-openglraw")
7065 (version "3.3.1.0")
7066 (source
7067 (origin
7068 (method url-fetch)
7069 (uri (string-append
7070 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7071 version
7072 ".tar.gz"))
7073 (sha256
7074 (base32
7075 "1x8w3x308jldj2c1xqcq3a3sc2jc06pdpgqkgjsmixi1skv4a1vb"))))
7076 (build-system haskell-build-system)
7077 (inputs
7078 `(("ghc-half" ,ghc-half)
7079 ("ghc-fixed" ,ghc-fixed)
7080 ("glu" ,glu)))
7081 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7082 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7083 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7084graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7085of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7086offers access to all necessary functions, tokens and types plus a general
7087facility for loading extension entries. The module hierarchy closely mirrors
7088the naming structure of the OpenGL extensions, making it easy to find the
7089right module to import. All API entries are loaded dynamically, so no special
7090C header files are needed for building this package. If an API entry is not
7091found at runtime, a userError is thrown.")
7092 (license license:bsd-3)))
7093
7094(define-public ghc-operational
7095 (package
7096 (name "ghc-operational")
7097 (version "0.2.3.5")
7098 (source
7099 (origin
7100 (method url-fetch)
7101 (uri (string-append "https://hackage.haskell.org/package/operational/"
7102 "operational-" version ".tar.gz"))
7103 (sha256
7104 (base32
7105 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7106 (build-system haskell-build-system)
7107 (inputs
7108 `(("ghc-random" ,ghc-random)))
7109 (home-page "http://wiki.haskell.org/Operational")
7110 (synopsis "Implementation of difficult monads made easy with operational semantics")
7111 (description
7112 "This library makes it easy to implement monads with tricky control
7113flow. This is useful for: writing web applications in a sequential style,
7114programming games with a uniform interface for human and AI players and easy
7115replay capababilities, implementing fast parser monads, designing monadic
7116DSLs, etc.")
7117 (license license:bsd-3)))
7118
7119(define-public ghc-options
7120 (package
7121 (name "ghc-options")
7122 (version "1.2.1.1")
7123 (source
7124 (origin
7125 (method url-fetch)
7126 (uri (string-append
7127 "https://hackage.haskell.org/package/options/options-"
7128 version ".tar.gz"))
7129 (sha256
7130 (base32
7131 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7132 (build-system haskell-build-system)
7133 (inputs
7134 `(("ghc-monads-tf" ,ghc-monads-tf)
7135 ("ghc-chell" ,ghc-chell)
7136 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7137 (home-page "https://john-millikin.com/software/haskell-options/")
7138 (synopsis "Powerful and easy-to-use command-line option parser")
7139 (description
7140 "The @code{options} package lets library and application developers
7141easily work with command-line options.")
7142 (license license:expat)))
7143
7144;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7145(define ghc-options-bootstrap
7146 (package
7147 (name "ghc-options-bootstrap")
7148 (version "1.2.1.1")
7149 (source
7150 (origin
7151 (method url-fetch)
7152 (uri (string-append
7153 "https://hackage.haskell.org/package/options/options-"
7154 version ".tar.gz"))
7155 (sha256
7156 (base32
7157 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7158 (build-system haskell-build-system)
7159 (arguments
7160 `(#:tests? #f))
7161 (inputs
7162 `(("ghc-monads-tf" ,ghc-monads-tf)))
7163 (home-page "https://john-millikin.com/software/haskell-options/")
7164 (synopsis "Powerful and easy-to-use command-line option parser")
7165 (description
7166 "The @code{options} package lets library and application developers
7167easily work with command-line options.")
7168 (license license:expat)))
7169
7170
7171(define-public ghc-optparse-applicative
7172 (package
7173 (name "ghc-optparse-applicative")
74bf6965 7174 (version "0.14.3.0")
dddbc90c
RV
7175 (source
7176 (origin
7177 (method url-fetch)
7178 (uri (string-append
7179 "https://hackage.haskell.org/package/optparse-applicative"
7180 "/optparse-applicative-" version ".tar.gz"))
7181 (sha256
7182 (base32
74bf6965 7183 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 7184 (build-system haskell-build-system)
74bf6965
TS
7185 (arguments
7186 `(#:cabal-revision
7187 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
7188 (inputs
7189 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7190 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7191 (native-inputs
7192 `(("ghc-quickcheck" ,ghc-quickcheck)))
7193 (home-page "https://github.com/pcapriotti/optparse-applicative")
7194 (synopsis "Utilities and combinators for parsing command line options")
7195 (description "This package provides utilities and combinators for parsing
7196command line options in Haskell.")
7197 (license license:bsd-3)))
7198
7199(define-public ghc-pandoc
7200 (package
7201 (name "ghc-pandoc")
7202 (version "2.2.1")
7203 (source
7204 (origin
7205 (method url-fetch)
7206 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7207 version ".tar.gz"))
7208 (sha256
7209 (base32
7210 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
7211 (build-system haskell-build-system)
7212 (arguments
7213 `(#:phases
7214 (modify-phases %standard-phases
7215 (add-before 'configure 'update-constraints
7216 (lambda _
7217 (substitute* "pandoc.cabal"
7218 (("tasty >= 0\\.11 && < 1\\.1")
7219 "tasty >= 0.11 && < 1.1.1"))))
7220 (add-before 'configure 'patch-tests
7221 (lambda _
7222 ;; These tests fail benignly and have been adjusted upstream:
7223 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
7224 (substitute* "test/Tests/Old.hs"
7225 (("lhsWriterTests \"html\"") "[]")))))))
7226 (inputs
7227 `(("ghc-aeson" ,ghc-aeson)
7228 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7229 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7230 ("ghc-blaze-html" ,ghc-blaze-html)
7231 ("ghc-blaze-markup" ,ghc-blaze-markup)
7232 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7233 ("ghc-data-default" ,ghc-data-default)
7234 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7235 ("ghc-diff" ,ghc-diff)
7236 ("ghc-doctemplates" ,ghc-doctemplates)
7237 ("ghc-executable-path" ,ghc-executable-path)
7238 ("ghc-glob" ,ghc-glob)
7239 ("ghc-haddock-library" ,ghc-haddock-library)
7240 ("ghc-hslua" ,ghc-hslua)
7241 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7242 ("ghc-http" ,ghc-http)
7243 ("ghc-http-client" ,ghc-http-client)
7244 ("ghc-http-client-tls" ,ghc-http-client-tls)
7245 ("ghc-http-types" ,ghc-http-types)
7246 ("ghc-juicypixels" ,ghc-juicypixels)
7247 ("ghc-network" ,ghc-network)
7248 ("ghc-network-uri" ,ghc-network-uri)
7249 ("ghc-old-locale" ,ghc-old-locale)
7250 ("ghc-pandoc-types" ,ghc-pandoc-types)
7251 ("ghc-random" ,ghc-random)
7252 ("ghc-scientific" ,ghc-scientific)
7253 ("ghc-sha" ,ghc-sha)
7254 ("ghc-skylighting" ,ghc-skylighting)
7255 ("ghc-split" ,ghc-split)
7256 ("ghc-syb" ,ghc-syb)
7257 ("ghc-tagsoup" ,ghc-tagsoup)
7258 ("ghc-temporary" ,ghc-temporary)
7259 ("ghc-texmath" ,ghc-texmath)
7260 ("ghc-unordered-containers" ,ghc-unordered-containers)
7261 ("ghc-vector" ,ghc-vector)
7262 ("ghc-xml" ,ghc-xml)
7263 ("ghc-yaml" ,ghc-yaml)
7264 ("ghc-zip-archive" ,ghc-zip-archive)
7265 ("ghc-zlib" ,ghc-zlib)))
7266 (native-inputs
7267 `(("ghc-tasty" ,ghc-tasty)
7268 ("ghc-tasty-golden" ,ghc-tasty-golden)
7269 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7270 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7271 ("ghc-quickcheck" ,ghc-quickcheck)
7272 ("ghc-hunit" ,ghc-hunit)))
7273 (home-page "https://pandoc.org")
7274 (synopsis "Conversion between markup formats")
7275 (description
7276 "Pandoc is a Haskell library for converting from one markup format to
7277another, and a command-line tool that uses this library. It can read and
7278write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7279LaTeX, DocBook, and many more.
7280
7281Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7282definition lists, tables, and other features. A compatibility mode is
7283provided for those who need a drop-in replacement for Markdown.pl.")
7284 (license license:gpl2+)))
7285
7286(define-public ghc-pandoc-citeproc
7287 (package
7288 (name "ghc-pandoc-citeproc")
7289 (version "0.14.3.1")
7290 (source
7291 (origin
7292 (method url-fetch)
7293 (uri (string-append "https://hackage.haskell.org/package/"
7294 "pandoc-citeproc/pandoc-citeproc-"
7295 version ".tar.gz"))
7296 (sha256
7297 (base32
7298 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7299 (build-system haskell-build-system)
7300 (arguments
7301 `(#:phases
7302 (modify-phases %standard-phases
7303 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7304 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7305 (add-before 'configure 'patch-tests
7306 (lambda _
7307 (substitute* "tests/test-pandoc-citeproc.hs"
7308 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7309 "let allTests = citeprocTests"))))
7310 ;; Tests need to be run after installation.
7311 (delete 'check)
7312 (add-after 'install 'post-install-check
7313 (assoc-ref %standard-phases 'check)))))
7314 (inputs
7315 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7316 ("ghc-pandoc" ,ghc-pandoc)
7317 ("ghc-tagsoup" ,ghc-tagsoup)
7318 ("ghc-aeson" ,ghc-aeson)
7319 ("ghc-vector" ,ghc-vector)
7320 ("ghc-xml-conduit" ,ghc-xml-conduit)
7321 ("ghc-unordered-containers" ,ghc-unordered-containers)
7322 ("ghc-data-default" ,ghc-data-default)
7323 ("ghc-setenv" ,ghc-setenv)
7324 ("ghc-split" ,ghc-split)
7325 ("ghc-yaml" ,ghc-yaml)
7326 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7327 ("ghc-rfc5051" ,ghc-rfc5051)
7328 ("ghc-syb" ,ghc-syb)
7329 ("ghc-old-locale" ,ghc-old-locale)
7330 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7331 ("ghc-attoparsec" ,ghc-attoparsec)
7332 ("ghc-temporary" ,ghc-temporary)))
7333 (home-page "https://github.com/jgm/pandoc-citeproc")
7334 (synopsis "Library for using pandoc with citeproc")
7335 (description
7336 "The @code{pandoc-citeproc} library exports functions for using the
7337citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7338rendering bibliographic reference citations into a variety of styles using a
7339macro language called @dfn{Citation Style Language} (CSL). This package also
7340contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7341and also has a mode for converting bibliographic databases a YAML format
7342suitable for inclusion in pandoc YAML metadata.")
7343 (license license:bsd-3)))
7344
7345(define-public ghc-pandoc-types
7346 (package
7347 (name "ghc-pandoc-types")
7348 (version "1.17.5.1")
7349 (source (origin
7350 (method url-fetch)
7351 (uri (string-append "https://hackage.haskell.org/package/"
7352 "pandoc-types/pandoc-types-"
7353 version ".tar.gz"))
7354 (sha256
7355 (base32
7356 "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
7357 (build-system haskell-build-system)
7358 (inputs
7359 `(("ghc-syb" ,ghc-syb)
7360 ("ghc-aeson" ,ghc-aeson)
7361 ("ghc-string-qq" ,ghc-string-qq)))
7362 (native-inputs
7363 `(("ghc-quickcheck" ,ghc-quickcheck)
7364 ("ghc-test-framework" ,ghc-test-framework)
7365 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7366 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7367 ("ghc-hunit" ,ghc-hunit)))
7368 (home-page "http://johnmacfarlane.net/pandoc")
7369 (synopsis "Types for representing a structured document")
7370 (description
7371 "This module defines the @code{Pandoc} data structure, which is used by
7372pandoc to represent structured documents. It also provides functions for
7373building up, manipulating and serialising @code{Pandoc} structures.")
7374 (license license:bsd-3)))
7375
7376(define-public ghc-parallel
7377 (package
7378 (name "ghc-parallel")
7379 (version "3.2.2.0")
7380 (outputs '("out" "doc"))
7381 (source
7382 (origin
7383 (method url-fetch)
7384 (uri (string-append
7385 "https://hackage.haskell.org/package/parallel/parallel-"
7386 version
7387 ".tar.gz"))
7388 (sha256
7389 (base32
7390 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7391 (build-system haskell-build-system)
7392 (home-page "https://hackage.haskell.org/package/parallel")
7393 (synopsis "Parallel programming library")
7394 (description
7395 "This package provides a library for parallel programming.")
7396 (license license:bsd-3)))
7397
7398(define-public ghc-parsec-numbers
7399 (package
7400 (name "ghc-parsec-numbers")
7401 (version "0.1.0")
7402 (source
7403 (origin
7404 (method url-fetch)
7405 (uri (string-append "https://hackage.haskell.org/package/"
7406 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7407 (sha256
7408 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7409 (build-system haskell-build-system)
7410 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7411 (synopsis "Utilities for parsing numbers from strings")
7412 (description
7413 "This package provides the number parsers without the need to use a large
7414(and unportable) token parser.")
7415 (license license:bsd-3)))
7416
7417(define-public ghc-parser-combinators
7418 (package
7419 (name "ghc-parser-combinators")
2f173160 7420 (version "1.1.0")
dddbc90c
RV
7421 (source
7422 (origin
7423 (method url-fetch)
7424 (uri (string-append "https://hackage.haskell.org/package/"
7425 "parser-combinators/parser-combinators-"
7426 version ".tar.gz"))
7427 (sha256
7428 (base32
2f173160 7429 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
7430 (build-system haskell-build-system)
7431 (home-page "https://github.com/mrkkrp/parser-combinators")
7432 (synopsis "Commonly useful parser combinators")
7433 (description
7434 "This is a lightweight package providing commonly useful parser
7435combinators.")
7436 (license license:bsd-3)))
7437
7438(define-public ghc-parsers
7439 (package
7440 (name "ghc-parsers")
7441 (version "0.12.9")
7442 (source
7443 (origin
7444 (method url-fetch)
7445 (uri (string-append
7446 "https://hackage.haskell.org/package/parsers/parsers-"
7447 version
7448 ".tar.gz"))
7449 (sha256
7450 (base32
7451 "1r05sc1mcglk8w596kq9a1brfn9c2vll8lq16j07ln0vsz4jzrc1"))))
7452 (build-system haskell-build-system)
7453 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7454 ; -package attoparsec-0.13.0.1"
7455 (inputs
7456 `(("ghc-base-orphans" ,ghc-base-orphans)
7457 ("ghc-attoparsec" ,ghc-attoparsec)
7458 ("ghc-scientific" ,ghc-scientific)
7459 ("ghc-charset" ,ghc-charset)
7460 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7461 (home-page "https://github.com/ekmett/parsers/")
7462 (synopsis "Parsing combinators")
7463 (description "This library provides convenient combinators for working
7464with and building parsing combinator libraries. Given a few simple instances,
7465you get access to a large number of canned definitions. Instances exist for
7466the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7467@code{Text.Read}.")
7468 (license license:bsd-3)))
7469
7470(define-public ghc-path
7471 (package
7472 (name "ghc-path")
7473 (version "0.6.1")
7474 (source
7475 (origin
7476 (method url-fetch)
7477 (uri (string-append
7478 "https://hackage.haskell.org/package/path/path-"
7479 version
7480 ".tar.gz"))
7481 (sha256
7482 (base32
7483 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7484 (build-system haskell-build-system)
7485 (arguments
7486 ;; TODO: There are some Windows-related tests and modules that need to be
7487 ;; danced around.
7488 `(#:tests? #f
7489 #:cabal-revision
7490 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7491 (inputs
7492 `(("ghc-aeson" ,ghc-aeson)
7493 ("ghc-exceptions" ,ghc-exceptions)
7494 ("ghc-hashable" ,ghc-hashable)))
7495 (native-inputs
7496 `(("ghc-hspec" ,ghc-hspec)
7497 ("ghc-quickcheck" ,ghc-quickcheck)
7498 ("ghc-genvalidity" ,ghc-genvalidity)
7499 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7500 ("ghc-hspec" ,ghc-hspec)
7501 ("ghc-validity" ,ghc-validity)))
7502 (home-page
7503 "http://hackage.haskell.org/package/path")
7504 (synopsis "Support for well-typed paths")
7505 (description "This package introduces a type for paths upholding useful
7506invariants.")
7507 (license license:bsd-3)))
7508
7509(define-public ghc-path-io
7510 (package
7511 (name "ghc-path-io")
7512 (version "1.3.3")
7513 (source
7514 (origin
7515 (method url-fetch)
7516 (uri (string-append
7517 "https://hackage.haskell.org/package/path-io/path-io-"
7518 version
7519 ".tar.gz"))
7520 (sha256
7521 (base32
7522 "1g9m3qliqjk1img894wsb89diym5zrq51qkkrwhz4sbm9a8hbv1a"))))
7523 (build-system haskell-build-system)
7524 (inputs
7525 `(("ghc-dlist" ,ghc-dlist)
7526 ("ghc-exceptions" ,ghc-exceptions)
7527 ("ghc-path" ,ghc-path)
7528 ("ghc-transformers-base" ,ghc-transformers-base)
7529 ("ghc-unix-compat" ,ghc-unix-compat)
7530 ("ghc-temporary" ,ghc-temporary)))
7531 (native-inputs
7532 `(("ghc-hspec" ,ghc-hspec)))
7533 (arguments
7534 `(#:cabal-revision
7535 ("3" "1h9hsibbflkxpjl2fqamqiv3x3gasf51apnmklrs9l9x8r32hzcc")))
7536 (home-page
7537 "https://github.com/mrkkrp/path-io")
7538 (synopsis "Functions for manipulating well-typed paths")
7539 (description "This package provides an interface to the @code{directory}
7540package for users of @code{path}. It also implements some missing stuff like
7541recursive scanning and copying of directories, working with temporary
7542files/directories, and more.")
7543 (license license:bsd-3)))
7544
7545(define-public ghc-paths
7546 (package
7547 (name "ghc-paths")
9a8adeb1 7548 (version "0.1.0.12")
dddbc90c
RV
7549 (outputs '("out" "doc"))
7550 (source
7551 (origin
7552 (method url-fetch)
7553 (uri (string-append
7554 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7555 version
7556 ".tar.gz"))
7557 (sha256
7558 (base32
9a8adeb1 7559 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
7560 (build-system haskell-build-system)
7561 (home-page "https://github.com/simonmar/ghc-paths")
7562 (synopsis
7563 "Knowledge of GHC's installation directories")
7564 (description
7565 "Knowledge of GHC's installation directories.")
7566 (license license:bsd-3)))
7567
7568(define-public ghc-patience
7569 (package
7570 (name "ghc-patience")
7571 (version "0.1.1")
7572 (source
7573 (origin
7574 (method url-fetch)
7575 (uri (string-append
7576 "https://hackage.haskell.org/package/patience/patience-"
7577 version ".tar.gz"))
7578 (sha256
7579 (base32
7580 "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"))))
7581 (build-system haskell-build-system)
7582 (home-page "https://hackage.haskell.org/package/patience")
7583 (synopsis "Patience diff and longest increasing subsequence")
7584 (description
7585 "This library implements the 'patience diff' algorithm, as well as the
7586patience algorithm for the longest increasing subsequence problem.
7587Patience diff computes the difference between two lists, for example the lines
7588of two versions of a source file. It provides a good balance between
7589performance, nice output for humans, and simplicity of implementation.")
7590 (license license:bsd-3)))
7591
7592(define-public ghc-pcre-light
7593 (package
7594 (name "ghc-pcre-light")
7595 (version "0.4.0.4")
7596 (source
7597 (origin
7598 (method url-fetch)
7599 (uri (string-append
7600 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7601 version
7602 ".tar.gz"))
7603 (sha256
7604 (base32
7605 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7606 (build-system haskell-build-system)
7607 (inputs
7608 `(("pcre" ,pcre)))
7609 (native-inputs
7610 `(("pkg-config" ,pkg-config)))
7611 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7612 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7613 (description "This package provides a small, efficient, and portable regex
7614library for Perl 5 compatible regular expressions. The PCRE library is a set
7615of functions that implement regular expression pattern matching using the same
7616syntax and semantics as Perl 5.")
7617 (license license:bsd-3)))
7618
7619(define-public ghc-persistent
7620 (package
7621 (name "ghc-persistent")
7622 (version "2.8.2")
7623 (source
7624 (origin
7625 (method url-fetch)
7626 (uri (string-append "https://hackage.haskell.org/package/"
7627 "persistent-" version "/"
7628 "persistent-" version ".tar.gz"))
7629 (sha256
7630 (base32
7631 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
7632 (build-system haskell-build-system)
7633 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7634 ("ghc-conduit" ,ghc-conduit)
7635 ("ghc-resourcet" ,ghc-resourcet)
7636 ("ghc-exceptions" ,ghc-exceptions)
7637 ("ghc-monad-control" ,ghc-monad-control)
7638 ("ghc-lifted-base" ,ghc-lifted-base)
7639 ("ghc-resource-pool" ,ghc-resource-pool)
7640 ("ghc-path-pieces" ,ghc-path-pieces)
7641 ("ghc-http-api-data" ,ghc-http-api-data)
7642 ("ghc-aeson" ,ghc-aeson)
7643 ("ghc-monad-logger" ,ghc-monad-logger)
7644 ("ghc-transformers-base" ,ghc-transformers-base)
7645 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7646 ("ghc-unordered-containers" ,ghc-unordered-containers)
7647 ("ghc-vector" ,ghc-vector)
7648 ("ghc-attoparsec" ,ghc-attoparsec)
7649 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7650 ("ghc-blaze-html" ,ghc-blaze-html)
7651 ("ghc-blaze-markup" ,ghc-blaze-markup)
7652 ("ghc-silently" ,ghc-silently)
7653 ("ghc-fast-logger" ,ghc-fast-logger)
7654 ("ghc-scientific" ,ghc-scientific)
7655 ("ghc-tagged" ,ghc-tagged)
7656 ("ghc-void" ,ghc-void)))
7657 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7658 (home-page "https://www.yesodweb.com/book/persistent")
7659 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7660 (description "This Haskell package allows Haskell programs to access data
7661storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7662way.")
7663 (license license:expat)))
7664
7665(define-public ghc-persistent-sqlite
7666 (package
7667 (name "ghc-persistent-sqlite")
7668 (version "2.8.2")
7669 (source
7670 (origin
7671 (method url-fetch)
7672 (uri (string-append "https://hackage.haskell.org/package/"
7673 "persistent-sqlite-" version "/"
7674 "persistent-sqlite-" version ".tar.gz"))
7675 (sha256
7676 (base32
7677 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7678 (build-system haskell-build-system)
7679 (inputs `(("ghc-persistent" ,ghc-persistent)
7680 ("ghc-unliftio-core" ,ghc-unliftio-core)
7681 ("ghc-aeson" ,ghc-aeson)
7682 ("ghc-conduit" ,ghc-conduit)
7683 ("ghc-monad-logger" ,ghc-monad-logger)
7684 ("ghc-microlens-th" ,ghc-microlens-th)
7685 ("ghc-resourcet" ,ghc-resourcet)
7686 ("ghc-old-locale" ,ghc-old-locale)
7687 ("ghc-resource-pool" ,ghc-resource-pool)
7688 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7689 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7690 ("ghc-persistent-template" ,ghc-persistent-template)
7691 ("ghc-temporary" ,ghc-temporary)))
7692 (home-page
7693 "https://www.yesodweb.com/book/persistent")
7694 (synopsis "Backend for the persistent library using sqlite3")
7695 (description "This Haskell package includes a thin sqlite3 wrapper based
7696on the direct-sqlite package, as well as the entire C library, so there are no
7697system dependencies.")
7698 (license license:expat)))
7699
7700(define-public ghc-persistent-template
7701 (package
7702 (name "ghc-persistent-template")
7703 (version "2.5.4")
7704 (source
7705 (origin
7706 (method url-fetch)
7707 (uri (string-append "https://hackage.haskell.org/package/"
7708 "persistent-template-" version "/"
7709 "persistent-template-" version ".tar.gz"))
7710 (sha256
7711 (base32
7712 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7713 (build-system haskell-build-system)
7714 (arguments
7715 `(#:cabal-revision
7716 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7717 (inputs `(("ghc-persistent" ,ghc-persistent)
7718 ("ghc-monad-control" ,ghc-monad-control)
7719 ("ghc-aeson" ,ghc-aeson)
7720 ("ghc-aeson-compat" ,ghc-aeson-compat)
7721 ("ghc-monad-logger" ,ghc-monad-logger)
7722 ("ghc-unordered-containers" ,ghc-unordered-containers)
7723 ("ghc-tagged" ,ghc-tagged)
7724 ("ghc-path-pieces" ,ghc-path-pieces)
7725 ("ghc-http-api-data" ,ghc-http-api-data)))
7726 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7727 ("ghc-quickcheck" ,ghc-quickcheck)))
7728 (home-page "https://www.yesodweb.com/book/persistent")
7729 (synopsis "Type-safe, non-relational, multi-backend persistence")
7730 (description "This Haskell package provides interfaces and helper
7731functions for the ghc-persistent package.")
7732 (license license:expat)))
7733
7734(define-public ghc-polyparse
7735 (package
7736 (name "ghc-polyparse")
9822b9ca 7737 (version "1.12.1")
dddbc90c
RV
7738 (source
7739 (origin
7740 (method url-fetch)
7741 (uri (string-append
7742 "https://hackage.haskell.org/package/polyparse/polyparse-"
7743 version
7744 ".tar.gz"))
7745 (sha256
7746 (base32
9822b9ca 7747 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
7748 (build-system haskell-build-system)
7749 (home-page
7750 "http://code.haskell.org/~malcolm/polyparse/")
7751 (synopsis
7752 "Alternative parser combinator libraries")
7753 (description
7754 "This package provides a variety of alternative parser combinator
7755libraries, including the original HuttonMeijer set. The Poly sets have
7756features like good error reporting, arbitrary token type, running state, lazy
7757parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7758standard Read class, for better deserialisation of Haskell values from
7759Strings.")
7760 (license license:lgpl2.1)))
7761
7762(define-public ghc-pqueue
7763 (package
7764 (name "ghc-pqueue")
142415b0 7765 (version "1.4.1.2")
dddbc90c
RV
7766 (source
7767 (origin
7768 (method url-fetch)
7769 (uri (string-append "https://hackage.haskell.org/package/"
7770 "pqueue/pqueue-" version ".tar.gz"))
7771 (sha256
7772 (base32
142415b0 7773 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
7774 (build-system haskell-build-system)
7775 (native-inputs
7776 `(("ghc-quickcheck" ,ghc-quickcheck)))
7777 (home-page "https://hackage.haskell.org/package/pqueue")
7778 (synopsis "Reliable, persistent, fast priority queues")
7779 (description
7780 "This package provides a fast, reliable priority queue implementation
7781based on a binomial heap.")
7782 (license license:bsd-3)))
7783
7784(define-public ghc-prelude-extras
7785 (package
7786 (name "ghc-prelude-extras")
7787 (version "0.4.0.3")
7788 (source
7789 (origin
7790 (method url-fetch)
7791 (uri (string-append
7792 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7793 version
7794 ".tar.gz"))
7795 (sha256
7796 (base32
7797 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7798 (build-system haskell-build-system)
7799 (home-page "https://github.com/ekmett/prelude-extras")
7800 (synopsis "Higher order versions of Prelude classes")
7801 (description "This library provides higher order versions of
7802@code{Prelude} classes to ease programming with polymorphic recursion and
7803reduce @code{UndecidableInstances}.")
7804 (license license:bsd-3)))
7805
7806(define-public ghc-prettyclass
7807 (package
7808 (name "ghc-prettyclass")
7809 (version "1.0.0.0")
7810 (source
7811 (origin
7812 (method url-fetch)
7813 (uri (string-append "https://hackage.haskell.org/package/"
7814 "prettyclass/prettyclass-" version ".tar.gz"))
7815 (sha256
7816 (base32
7817 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7818 (build-system haskell-build-system)
7819 (home-page "http://hackage.haskell.org/package/prettyclass")
7820 (synopsis "Pretty printing class similar to Show")
7821 (description "This package provides a pretty printing class similar
7822to @code{Show}, based on the HughesPJ pretty printing library. It
7823provides the pretty printing class and instances for the Prelude
7824types.")
7825 (license license:bsd-3)))
7826
7827(define-public ghc-pretty-hex
7828 (package
7829 (name "ghc-pretty-hex")
7830 (version "1.0")
7831 (source
7832 (origin
7833 (method url-fetch)
7834 (uri (string-append "https://hackage.haskell.org/package/"
7835 "pretty-hex-" version "/"
7836 "pretty-hex-" version ".tar.gz"))
7837 (sha256
7838 (base32
7839 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7840 (build-system haskell-build-system)
7841 (home-page "https://github.com/GaloisInc/hexdump")
7842 (synopsis "Haskell library for hex dumps of ByteStrings")
7843 (description "This Haskell library generates pretty hex dumps of
7844ByteStrings in the style of other common *nix hex dump tools.")
7845 (license license:bsd-3)))
7846
7847(define-public ghc-pretty-show
7848 (package
7849 (name "ghc-pretty-show")
7683a084 7850 (version "1.9.5")
dddbc90c
RV
7851 (source
7852 (origin
7853 (method url-fetch)
7854 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
7855 "pretty-show-" version ".tar.gz"))
7856 (sha256
7857 (base32
7683a084 7858 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
7859 (build-system haskell-build-system)
7860 (inputs
7861 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
7862 ("ghc-happy" ,ghc-happy)))
7863 (home-page "http://wiki.github.com/yav/pretty-show")
7864 (synopsis "Tools for working with derived `Show` instances")
7865 (description
7866 "This package provides a library and an executable for working with
7867derived @code{Show} instances. By using the library, derived @code{Show}
7868instances can be parsed into a generic data structure. The @code{ppsh} tool
7869uses the library to produce human-readable versions of @code{Show} instances,
7870which can be quite handy for debugging Haskell programs. We can also render
7871complex generic values into an interactive Html page, for easier
7872examination.")
7873 (license license:expat)))
7874
7875(define-public ghc-primitive
7876 (package
7877 (name "ghc-primitive")
7878 (version "0.6.4.0")
7879 (outputs '("out" "doc"))
7880 (source
7881 (origin
7882 (method url-fetch)
7883 (uri (string-append
7884 "https://hackage.haskell.org/package/primitive/primitive-"
7885 version
7886 ".tar.gz"))
7887 (sha256
7888 (base32
7889 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
7890 (build-system haskell-build-system)
6cf0daa4
TS
7891 (arguments
7892 `(#:cabal-revision
7893 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
7894 (home-page
7895 "https://github.com/haskell/primitive")
7896 (synopsis "Primitive memory-related operations")
7897 (description
7898 "This package provides various primitive memory-related operations.")
7899 (license license:bsd-3)))
7900
21f5b9a9
JS
7901(define-public ghc-process-extras
7902 (package
7903 (name "ghc-process-extras")
7904 (version "0.7.4")
7905 (source
7906 (origin
7907 (method url-fetch)
7908 (uri
7909 (string-append
7910 "https://hackage.haskell.org/package/process-extras/"
7911 "process-extras-" version ".tar.gz"))
7912 (sha256
7913 (base32
7914 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
7915 (build-system haskell-build-system)
7916 (inputs
7917 `(("ghc-data-default" ,ghc-data-default)
7918 ("ghc-generic-deriving" ,ghc-generic-deriving)
7919 ("ghc-hunit" ,ghc-hunit)
7920 ("ghc-listlike" ,ghc-listlike)))
7921 (home-page "https://github.com/seereason/process-extras")
7922 (synopsis "Extra tools for managing processes")
f74b6983 7923 (description "This package extends
21f5b9a9
JS
7924@url{http://hackage.haskell.org/package/process}. It allows you to read
7925process input and output as ByteStrings or Text, or write your own
7926ProcessOutput instance. It also provides lazy process input and output,
7927and a ProcessMaker class for more flexibility in the process creation
7928API.")
7929 (license license:expat)))
7930
dddbc90c
RV
7931(define-public ghc-profunctors
7932 (package
7933 (name "ghc-profunctors")
7934 (version "5.2.2")
7935 (source
7936 (origin
7937 (method url-fetch)
7938 (uri (string-append
7939 "https://hackage.haskell.org/package/profunctors/profunctors-"
7940 version
7941 ".tar.gz"))
7942 (sha256
7943 (base32
7944 "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9"))))
7945 (build-system haskell-build-system)
7946 (arguments
7947 `(#:cabal-revision
7948 ("2" "1ywlg9z8nlhd2avgb8c6gbkv8zyk7hvc25926bafyg0m0k8y1amq")))
7949 (inputs
7950 `(("ghc-base-orphans" ,ghc-base-orphans)
7951 ("ghc-bifunctors" ,ghc-bifunctors)
7952 ("ghc-comonad" ,ghc-comonad)
7953 ("ghc-contravariant" ,ghc-contravariant)
7954 ("ghc-distributive" ,ghc-distributive)
7955 ("ghc-semigroups" ,ghc-semigroups)
7956 ("ghc-tagged" ,ghc-tagged)))
7957 (home-page "https://github.com/ekmett/profunctors/")
7958 (synopsis "Profunctors for Haskell")
7959 (description "This library provides profunctors for Haskell.")
7960 (license license:bsd-3)))
7961
7962(define-public ghc-psqueues
7963 (package
7964 (name "ghc-psqueues")
5d133942 7965 (version "0.2.7.2")
dddbc90c
RV
7966 (source
7967 (origin
7968 (method url-fetch)
7969 (uri (string-append "https://hackage.haskell.org/package/"
7970 "psqueues-" version "/"
7971 "psqueues-" version ".tar.gz"))
7972 (sha256
7973 (base32
5d133942 7974 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
7975 (build-system haskell-build-system)
7976 (inputs
7977 `(("ghc-hashable" ,ghc-hashable)))
7978 (native-inputs
7979 `(("ghc-hunit" ,ghc-hunit)
7980 ("ghc-quickcheck" ,ghc-quickcheck)
7981 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
7982 ("ghc-tasty" ,ghc-tasty)
7983 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7984 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
7985 (home-page "https://github.com/jaspervdj/psqueues")
7986 (synopsis "Pure priority search queues")
7987 (description "The psqueues package provides
7988@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
7989three different flavors:
7990
7991@itemize
7992@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
7993fast insertion, deletion and lookup. This implementation is based on Ralf
7994Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
7995Implementation Technique for Priority Search Queues}.
7996
7997Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
7998PSQueue} library, although it is considerably faster and provides a slightly
7999different API.
8000
8001@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8002key type to @code{Int} and uses a
8003@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8004with an additional min-heap property.
8005
8006@item @code{HashPSQ k p v} is a fairly straightforward extension
8007of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8008@code{IntPSQ}. If there are any hash collisions, it uses an
8009@code{OrdPSQ} to resolve those. The performance of this implementation
8010is comparable to that of @code{IntPSQ}, but it is more widely
8011applicable since the keys are not restricted to @code{Int},
8012but rather to any @code{Hashable} datatype.
8013@end itemize
8014
8015Each of the three implementations provides the same API, so they can
8016be used interchangeably.
8017
8018Typical applications of Priority Search Queues include:
8019
8020@itemize
8021@item Caches, and more specifically LRU Caches;
8022@item Schedulers;
8023@item Pathfinding algorithms, such as Dijkstra's and A*.
8024@end itemize")
8025 (license license:bsd-3)))
8026
8027(define-public ghc-random
8028 (package
8029 (name "ghc-random")
8030 (version "1.1")
8031 (outputs '("out" "doc"))
8032 (source
8033 (origin
8034 (method url-fetch)
8035 (uri (string-append
8036 "https://hackage.haskell.org/package/random/random-"
8037 version
8038 ".tar.gz"))
8039 (sha256
8040 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8041 (build-system haskell-build-system)
8042 (home-page "https://hackage.haskell.org/package/random")
8043 (synopsis "Random number library")
8044 (description "This package provides a basic random number generation
8045library, including the ability to split random number generators.")
8046 (license license:bsd-3)))
8047
8048(define-public ghc-raw-strings-qq
8049 (package
8050 (name "ghc-raw-strings-qq")
8051 (version "1.1")
8052 (source
8053 (origin
8054 (method url-fetch)
8055 (uri (string-append "https://hackage.haskell.org/package/"
8056 "raw-strings-qq/raw-strings-qq-"
8057 version ".tar.gz"))
8058 (sha256
8059 (base32
8060 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8061 (build-system haskell-build-system)
8062 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8063 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8064 (synopsis "Raw string literals for Haskell")
8065 (description
8066 "This package provides a quasiquoter for raw string literals, i.e. string
8067literals that don't recognise the standard escape sequences. Basically, they
8068make your code more readable by freeing you from the responsibility to escape
8069backslashes. They are useful when working with regular expressions,
8070DOS/Windows paths and markup languages (such as XML).")
8071 (license license:bsd-3)))
8072
8073(define-public ghc-readable
8074 (package
8075 (name "ghc-readable")
8076 (version "0.3.1")
8077 (source
8078 (origin
8079 (method url-fetch)
8080 (uri (string-append "https://hackage.haskell.org/package/"
8081 "readable/readable-" version ".tar.gz"))
8082 (sha256
8083 (base32
8084 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8085 (build-system haskell-build-system)
8086 (home-page "https://github.com/mightybyte/readable")
8087 (synopsis "Type class for reading from Text and ByteString")
8088 (description "This package provides a @code{Readable} type class for
8089reading data types from @code{ByteString} and @code{Text}. It also
8090includes efficient implementations for common data types.")
8091 (license license:bsd-3)))
8092
8093(define-public ghc-rebase
8094 (package
8095 (name "ghc-rebase")
8096 (version "1.2.4")
8097 (source
8098 (origin
8099 (method url-fetch)
8100 (uri (string-append "https://hackage.haskell.org/package/"
8101 "rebase-" version "/"
8102 "rebase-" version ".tar.gz"))
8103 (sha256
8104 (base32
8105 "1gah2qwfpzwamnikbc5h4nv6dgvv9h16di9ka7946za3nibyasya"))))
8106 (build-system haskell-build-system)
8107 (inputs `(("ghc-hashable" ,ghc-hashable)
8108 ("ghc-vector" ,ghc-vector)
8109 ("ghc-unordered-containers" ,ghc-unordered-containers)
8110 ("ghc-scientific" ,ghc-scientific)
8111 ("ghc-uuid" ,ghc-uuid)
8112 ("ghc-dlist" ,ghc-dlist)
8113 ("ghc-void" ,ghc-void)
8114 ("ghc-bifunctors" ,ghc-bifunctors)
8115 ("ghc-profunctors" ,ghc-profunctors)
8116 ("ghc-contravariant" ,ghc-contravariant)
8117 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8118 ("ghc-semigroups" ,ghc-semigroups)
8119 ("ghc-either" ,ghc-either)
8120 ("ghc-fail" ,ghc-fail)
8121 ("ghc-base-prelude" ,ghc-base-prelude)))
8122 (home-page "https://github.com/nikita-volkov/rebase")
8123 (synopsis "Progressive alternative to the base package
8124for Haskell")
8125 (description "This Haskell package is intended for those who are
8126tired of keeping long lists of dependencies to the same essential libraries
8127in each package as well as the endless imports of the same APIs all over again.
8128
8129It also supports the modern tendencies in the language.
8130
8131To solve those problems this package does the following:
8132
8133@itemize
8134@item Reexport the original APIs under the @code{Rebase} namespace.
8135
8136@item Export all the possible non-conflicting symbols from the
8137@code{Rebase.Prelude} module.
8138
8139@item Give priority to the modern practices in the conflicting cases.
8140@end itemize
8141
8142The policy behind the package is only to reexport the non-ambiguous and
8143non-controversial APIs, which the community has obviously settled on.
8144The package is intended to rapidly evolve with the contribution from
8145the community, with the missing features being added with pull-requests.")
8146 (license license:expat)))
8147
8148(define-public ghc-reducers
8149 (package
8150 (name "ghc-reducers")
8151 (version "3.12.3")
8152 (source
8153 (origin
8154 (method url-fetch)
8155 (uri (string-append
8156 "https://hackage.haskell.org/package/reducers/reducers-"
8157 version
8158 ".tar.gz"))
8159 (sha256
8160 (base32
8161 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8162 (build-system haskell-build-system)
8163 (inputs
8164 `(("ghc-fingertree" ,ghc-fingertree)
8165 ("ghc-hashable" ,ghc-hashable)
8166 ("ghc-unordered-containers" ,ghc-unordered-containers)
8167 ("ghc-semigroupoids" ,ghc-semigroupoids)
8168 ("ghc-semigroups" ,ghc-semigroups)))
8169 (home-page "https://github.com/ekmett/reducers/")
8170 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8171 (description "This library provides various semigroups, specialized
8172containers and a general map/reduce framework for Haskell.")
8173 (license license:bsd-3)))
8174
8175(define-public ghc-refact
8176 (package
8177 (name "ghc-refact")
8178 (version "0.3.0.2")
8179 (source
8180 (origin
8181 (method url-fetch)
8182 (uri (string-append "https://hackage.haskell.org/package/"
8183 "refact/refact-"
8184 version ".tar.gz"))
8185 (sha256
8186 (base32
8187 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8188 (build-system haskell-build-system)
8189 (home-page "http://hackage.haskell.org/package/refact")
8190 (synopsis "Specify refactorings to perform with apply-refact")
8191 (description
8192 "This library provides a datatype which can be interpreted by
8193@code{apply-refact}. It exists as a separate library so that applications can
8194specify refactorings without depending on GHC.")
8195 (license license:bsd-3)))
8196
8197(define-public ghc-reflection
8198 (package
8199 (name "ghc-reflection")
d215f1cc 8200 (version "2.1.5")
dddbc90c
RV
8201 (source
8202 (origin
8203 (method url-fetch)
8204 (uri (string-append
8205 "https://hackage.haskell.org/package/reflection/reflection-"
8206 version
8207 ".tar.gz"))
8208 (sha256
8209 (base32
d215f1cc 8210 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
8211 (build-system haskell-build-system)
8212 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
8213 (native-inputs
8214 `(("ghc-hspec" ,ghc-hspec)
8215 ("ghc-quickcheck" ,ghc-quickcheck)
8216 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
8217 (home-page "https://github.com/ekmett/reflection")
8218 (synopsis "Reify arbitrary terms into types that can be reflected back
8219into terms")
8220 (description "This package addresses the 'configuration problem' which is
8221propagating configurations that are available at run-time, allowing multiple
8222configurations to coexist without resorting to mutable global variables or
8223@code{System.IO.Unsafe.unsafePerformIO}.")
8224 (license license:bsd-3)))
8225
8226(define-public ghc-regex
8227 (package
8228 (name "ghc-regex")
8229 (version "1.0.1.3")
8230 (source
8231 (origin
8232 (method url-fetch)
8233 (uri (string-append "https://hackage.haskell.org/package/regex/"
8234 "regex-" version ".tar.gz"))
8235 (sha256
8236 (base32
8237 "1sjkpkgv4phy5b5v2lr89x4vx4dh44pj0sbvlsp6n86w9v6v4jwb"))))
8238 (build-system haskell-build-system)
8239 (arguments
8240 `(#:phases
8241 (modify-phases %standard-phases
8242 (add-after 'unpack 'relax-dependencies
8243 (lambda _
8244 (substitute* "regex.cabal"
8245 (("base-compat.*>=.*0.6.*")
8246 "base-compat >= 0.6\n")
8247 (("template-haskell.*>=.*2.7.*")
8248 "template-haskell >= 2.7\n"))
8249 #t)))))
8250 (inputs
8251 `(("ghc-base-compat" ,ghc-base-compat)
8252 ("ghc-hashable" ,ghc-hashable)
8253 ("ghc-regex-base" ,ghc-regex-base)
8254 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8255 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8256 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8257 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8258 ("ghc-unordered-containers" ,ghc-unordered-containers)
8259 ("ghc-utf8-string" ,ghc-utf8-string)))
8260 (home-page "http://regex.uk")
8261 (synopsis "Toolkit for regex-base")
8262 (description
8263 "This package provides a regular expression toolkit for @code{regex-base}
8264with compile-time checking of regular expression syntax, data types for
8265matches and captures, a text replacement toolkit, portable options, high-level
8266AWK-like tools for building text processing apps, regular expression macros
8267with parsers and test bench, comprehensive documentation, tutorials and
8268copious examples.")
8269 (license license:bsd-3)))
8270
8271(define-public ghc-regex-applicative
8272 (package
8273 (name "ghc-regex-applicative")
30f60e42 8274 (version "0.3.3.1")
dddbc90c
RV
8275 (source
8276 (origin
8277 (method url-fetch)
8278 (uri (string-append
8279 "https://hackage.haskell.org/package/regex-applicative/"
8280 "regex-applicative-" version ".tar.gz"))
8281 (sha256
8282 (base32
30f60e42 8283 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
8284 (build-system haskell-build-system)
8285 (inputs
8286 `(("ghc-smallcheck" ,ghc-smallcheck)
8287 ("ghc-tasty" ,ghc-tasty)
8288 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8289 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8290 (home-page "https://github.com/feuerbach/regex-applicative")
8291 (synopsis "Regex-based parsing with applicative interface")
8292 (description
8293 "@code{regex-applicative} is a Haskell library for parsing using
8294regular expressions. Parsers can be built using Applicative interface.")
8295 (license license:expat)))
8296
8297(define-public ghc-regex-base
8298 (package
8299 (name "ghc-regex-base")
8300 (version "0.93.2")
8301 (source
8302 (origin
8303 (method url-fetch)
8304 (uri (string-append
8305 "https://hackage.haskell.org/package/regex-base/regex-base-"
8306 version
8307 ".tar.gz"))
8308 (sha256
8309 (base32
8310 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8311 (build-system haskell-build-system)
8312 (home-page
8313 "https://sourceforge.net/projects/lazy-regex")
8314 (synopsis "Replaces/Enhances Text.Regex")
8315 (description "@code{Text.Regex.Base} provides the interface API for
8316regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8317 (license license:bsd-3)))
8318
8319(define-public ghc-regex-compat
8320 (package
8321 (name "ghc-regex-compat")
8322 (version "0.95.1")
8323 (source
8324 (origin
8325 (method url-fetch)
8326 (uri (string-append
8327 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8328 version
8329 ".tar.gz"))
8330 (sha256
8331 (base32
8332 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8333 (build-system haskell-build-system)
8334 (inputs
8335 `(("ghc-regex-base" ,ghc-regex-base)
8336 ("ghc-regex-posix" ,ghc-regex-posix)))
8337 (home-page "https://sourceforge.net/projects/lazy-regex")
8338 (synopsis "Replaces/Enhances Text.Regex")
8339 (description "This library provides one module layer over
8340@code{regex-posix} to replace @code{Text.Regex}.")
8341 (license license:bsd-3)))
8342
8343(define-public ghc-regex-compat-tdfa
8344 (package
8345 (name "ghc-regex-compat-tdfa")
8346 (version "0.95.1.4")
8347 (source
8348 (origin
8349 (method url-fetch)
8350 (uri (string-append
8351 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8352 version ".tar.gz"))
8353 (sha256
8354 (base32
8355 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8356 (build-system haskell-build-system)
8357 (inputs
8358 `(("ghc-regex-base" ,ghc-regex-base)
8359 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8360 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8361 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8362 (description
8363 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8364@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8365This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8366this problem.")
8367 (license license:bsd-3)))
8368
8369(define-public ghc-regex-pcre-builtin
8370 (package
8371 (name "ghc-regex-pcre-builtin")
ee946143 8372 (version "0.94.5.8.8.35")
dddbc90c
RV
8373 (source (origin
8374 (method url-fetch)
8375 (uri (string-append "https://hackage.haskell.org/package/"
8376 "regex-pcre-builtin/regex-pcre-builtin-"
8377 version ".tar.gz"))
8378 (sha256
8379 (base32
ee946143 8380 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
8381 (build-system haskell-build-system)
8382 (inputs
8383 `(("ghc-regex-base" ,ghc-regex-base)))
8384 (home-page "https://hackage.haskell.org/package/regex-pcre")
8385 (synopsis "Enhancement of the builtin Text.Regex library")
8386 (description
8387 "This package is an enhancement of the @code{Text.Regex} library,
8388providing the PCRE backend to accompany regex-base, with bundled code from
8389@url{https://www.pcre.org}.")
8390 (license license:bsd-3)))
8391
8392(define-public ghc-regex-posix
8393 (package
8394 (name "ghc-regex-posix")
8395 (version "0.95.2")
8396 (source
8397 (origin
8398 (method url-fetch)
8399 (uri (string-append
8400 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8401 version
8402 ".tar.gz"))
8403 (sha256
8404 (base32
8405 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8406 (build-system haskell-build-system)
8407 (inputs
8408 `(("ghc-regex-base" ,ghc-regex-base)))
8409 (home-page "https://sourceforge.net/projects/lazy-regex")
8410 (synopsis "POSIX regular expressions for Haskell")
8411 (description "This library provides the POSIX regex backend used by the
8412Haskell library @code{regex-base}.")
8413 (license license:bsd-3)))
8414
8415(define-public ghc-regex-tdfa
8416 (package
8417 (name "ghc-regex-tdfa")
ce684db0 8418 (version "1.2.3.2")
dddbc90c
RV
8419 (source
8420 (origin
8421 (method url-fetch)
8422 (uri (string-append
8423 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8424 version ".tar.gz"))
8425 (sha256
8426 (base32
ce684db0 8427 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
8428 (build-system haskell-build-system)
8429 (inputs
8430 `(("ghc-regex-base" ,ghc-regex-base)))
8431 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8432 (synopsis "POSIX extended regular expressions in Haskell.")
8433 (description
8434 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8435extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8436inspired by libtre.")
8437 (license license:bsd-3)))
8438
8439(define-public ghc-regex-tdfa-text
8440 (package
8441 (name "ghc-regex-tdfa-text")
8442 (version "1.0.0.3")
8443 (source
8444 (origin
8445 (method url-fetch)
8446 (uri (string-append
8447 "https://hackage.haskell.org/package/regex-tdfa-text/"
8448 "regex-tdfa-text-" version ".tar.gz"))
8449 (sha256
8450 (base32
8451 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8452 (build-system haskell-build-system)
8453 (inputs
8454 `(("ghc-regex-base" ,ghc-regex-base)
8455 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8456 (home-page
8457 "http://hackage.haskell.org/package/regex-tdfa-text")
8458 (synopsis "Text interface for regex-tdfa")
8459 (description
8460 "This provides an extra text interface for regex-tdfa.")
8461 (license license:bsd-3)))
8462
8463(define-public ghc-rerebase
8464 (package
8465 (name "ghc-rerebase")
8466 (version "1.2.2")
8467 (source
8468 (origin
8469 (method url-fetch)
8470 (uri (string-append
8471 "https://hackage.haskell.org/package/rerebase/rerebase-"
8472 version ".tar.gz"))
8473 (sha256
8474 (base32
8475 "11v6rmz7ql2rdx6mhb3lsal952lwihclfhh0m7fcnii5br0906ks"))))
8476 (build-system haskell-build-system)
8477 (inputs
8478 `(("ghc-rebase" ,ghc-rebase)))
8479 (home-page "https://github.com/nikita-volkov/rerebase")
8480 (synopsis "Reexports from ``base'' with many other standard libraries")
8481 (description "A rich drop-in replacement for @code{base}. For details and
8482documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8483the project's home page}.")
8484 (license license:expat)))
8485
8486(define-public ghc-resolv
8487 (package
8488 (name "ghc-resolv")
8489 (version "0.1.1.1")
8490 (source
8491 (origin
8492 (method url-fetch)
8493 (uri (string-append
8494 "https://hackage.haskell.org/package/resolv/resolv-"
8495 version ".tar.gz"))
8496 (sha256
8497 (base32
8498 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
8499 (build-system haskell-build-system)
8500 (arguments
8501 `(#:cabal-revision
8502 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
8503 #:tests? #f)) ; The required test frameworks are too old.
8504 (inputs
8505 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8506 (home-page "https://github.com/haskell/hackage-security")
8507 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8508 (description "This package implements an API for accessing the
8509@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8510resolver service via the standard @code{libresolv} system library (whose
8511API is often available directly via the standard @code{libc} C library) on
8512Unix systems.")
8513 (license license:gpl3)))
8514
8515(define-public ghc-resource-pool
8516 (package
8517 (name "ghc-resource-pool")
8518 (version "0.2.3.2")
8519 (source
8520 (origin
8521 (method url-fetch)
8522 (uri (string-append "https://hackage.haskell.org/package/"
8523 "resource-pool-" version "/"
8524 "resource-pool-" version ".tar.gz"))
8525 (sha256
8526 (base32
8527 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8528 (build-system haskell-build-system)
8529 (inputs `(("ghc-hashable" ,ghc-hashable)
8530 ("ghc-monad-control" ,ghc-monad-control)
8531 ("ghc-transformers-base" ,ghc-transformers-base)
8532 ("ghc-vector" ,ghc-vector)))
8533 (home-page "https://github.com/bos/pool")
8534 (synopsis "Striped resource pooling implementation in Haskell")
8535 (description "This Haskell package provides striped pooling abstraction
8536for managing flexibly-sized collections of resources such as database
8537connections.")
8538 (license license:bsd-3)))
8539
8540(define-public ghc-resourcet
8541 (package
8542 (name "ghc-resourcet")
9ac341ac 8543 (version "1.2.2")
dddbc90c
RV
8544 (source
8545 (origin
8546 (method url-fetch)
8547 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8548 "resourcet-" version ".tar.gz"))
8549 (sha256
8550 (base32
9ac341ac 8551 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
8552 (build-system haskell-build-system)
8553 (inputs
8554 `(("ghc-transformers-base" ,ghc-transformers-base)
8555 ("ghc-monad-control" ,ghc-monad-control)
8556 ("ghc-transformers-compat" ,ghc-transformers-compat)
8557 ("ghc-mmorph" ,ghc-mmorph)
8558 ("ghc-exceptions" ,ghc-exceptions)
8559 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8560 (native-inputs
8561 `(("ghc-lifted-base" ,ghc-lifted-base)
8562 ("ghc-hspec" ,ghc-hspec)))
8563 (home-page "https://github.com/snoyberg/conduit")
8564 (synopsis "Deterministic allocation and freeing of scarce resources")
8565 (description "ResourceT is a monad transformer which creates a region of
8566code where you can safely allocate resources.")
8567 (license license:bsd-3)))
8568
8569(define-public ghc-rfc5051
8570 (package
8571 (name "ghc-rfc5051")
ec42ab7c 8572 (version "0.1.0.4")
dddbc90c
RV
8573 (source
8574 (origin
8575 (method url-fetch)
8576 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8577 "rfc5051-" version ".tar.gz"))
8578 (sha256
8579 (base32
ec42ab7c 8580 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
8581 (build-system haskell-build-system)
8582 (home-page "https://hackage.haskell.org/package/rfc5051")
8583 (synopsis "Simple unicode collation as per RFC5051")
8584 (description
8585 "This library implements @code{unicode-casemap}, the simple, non
8586locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8587unicode collation can be done using @code{text-icu}, but that is a big
8588dependency that depends on a large C library, and @code{rfc5051} might be
8589better for some purposes.")
8590 (license license:bsd-3)))
8591
8592(define-public ghc-rio
8593 (package
8594 (name "ghc-rio")
8595 (version "0.1.5.0")
8596 (source
8597 (origin
8598 (method url-fetch)
8599 (uri (string-append
8600 "https://hackage.haskell.org/package/rio/rio-"
8601 version ".tar.gz"))
8602 (sha256
8603 (base32
8604 "064h8a4hp53a479d3ak0vmqbx8hi0cpg7zn4wp23rjy26dka8p7g"))))
8605 (build-system haskell-build-system)
8606 (inputs
8607 `(("ghc-exceptions" ,ghc-exceptions)
8608 ("ghc-hashable" ,ghc-hashable)
8609 ("ghc-microlens" ,ghc-microlens)
8610 ("ghc-primitive" ,ghc-primitive)
8611 ("ghc-typed-process" ,ghc-typed-process)
8612 ("ghc-unliftio" ,ghc-unliftio)
8613 ("ghc-unordered-containers" ,ghc-unordered-containers)
8614 ("ghc-vector" ,ghc-vector)))
8615 (native-inputs
8616 `(("ghc-hspec" ,ghc-hspec)
8617 ("hspec-discover" ,hspec-discover)))
8618 (home-page "https://github.com/commercialhaskell/rio#readme")
8619 (synopsis "A standard library for Haskell")
8620 (description "This package works as a prelude replacement for Haskell,
8621providing more functionality and types out of the box than the standard
8622prelude (such as common data types like @code{ByteString} and
8623@code{Text}), as well as removing common ``gotchas'', like partial
8624functions and lazy I/O. The guiding principle here is:
8625@itemize
8626@item If something is safe to use in general and has no expected naming
8627conflicts, expose it.
8628@item If something should not always be used, or has naming conflicts,
8629expose it from another module in the hierarchy.
8630@end itemize")
8631 (license license:expat)))
8632
8633(define-public ghc-safe
8634 (package
8635 (name "ghc-safe")
8636 (version "0.3.17")
8637 (source
8638 (origin
8639 (method url-fetch)
8640 (uri (string-append
8641 "https://hackage.haskell.org/package/safe/safe-"
8642 version
8643 ".tar.gz"))
8644 (sha256
8645 (base32
8646 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8647 (build-system haskell-build-system)
8648 (native-inputs
8649 `(("ghc-quickcheck" ,ghc-quickcheck)))
8650 (home-page "https://github.com/ndmitchell/safe#readme")
8651 (synopsis "Library of safe (exception free) functions")
8652 (description "This library provides wrappers around @code{Prelude} and
8653@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8654exceptions.")
8655 (license license:bsd-3)))
8656
8657(define-public ghc-safe-exceptions
8658 (package
8659 (name "ghc-safe-exceptions")
8660 (version "0.1.7.0")
8661 (source
8662 (origin
8663 (method url-fetch)
8664 (uri (string-append "https://hackage.haskell.org/package/"
8665 "safe-exceptions/safe-exceptions-"
8666 version ".tar.gz"))
8667 (sha256
8668 (base32
8669 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8670 (build-system haskell-build-system)
8671 (arguments
8672 '(#:cabal-revision
8673 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8674 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8675 (native-inputs
8676 `(("ghc-hspec" ,ghc-hspec)
8677 ("ghc-void" ,ghc-void)
8678 ("hspec-discover" ,hspec-discover)))
8679 (home-page "https://github.com/fpco/safe-exceptions")
8680 (synopsis "Safe, consistent, and easy exception handling")
8681 (description "Runtime exceptions - as exposed in @code{base} by the
8682@code{Control.Exception} module - have long been an intimidating part of the
8683Haskell ecosystem. This package is intended to overcome this. It provides a
8684safe and simple API on top of the existing exception handling machinery. The
8685API is equivalent to the underlying implementation in terms of power but
8686encourages best practices to minimize the chances of getting the exception
8687handling wrong.")
8688 (license license:expat)))
8689
8690(define-public ghc-safeio
8691 (package
8692 (name "ghc-safeio")
8693 (version "0.0.5.0")
8694 (source
8695 (origin
8696 (method url-fetch)
8697 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8698 "safeio-" version ".tar.gz"))
8699 (sha256
8700 (base32
8701 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8702 (build-system haskell-build-system)
8703 (inputs
8704 `(("ghc-conduit" ,ghc-conduit)
8705 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8706 ("ghc-exceptions" ,ghc-exceptions)
8707 ("ghc-resourcet" ,ghc-resourcet)))
8708 (native-inputs
8709 `(("ghc-hunit" ,ghc-hunit)
8710 ("ghc-test-framework" ,ghc-test-framework)
8711 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8712 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8713 (home-page "https://github.com/luispedro/safeio")
8714 (synopsis "Write output to disk atomically")
8715 (description
8716 "This package implements utilities to perform atomic output so as to
8717avoid the problem of partial intermediate files.")
8718 (license license:expat)))
8719
8720(define-public ghc-safesemaphore
8721 (package
8722 (name "ghc-safesemaphore")
8723 (version "0.10.1")
8724 (source
8725 (origin
8726 (method url-fetch)
8727 (uri (string-append "https://hackage.haskell.org/package/"
8728 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8729 (sha256
8730 (base32
8731 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8732 (build-system haskell-build-system)
8733 (native-inputs
8734 `(("ghc-hunit" ,ghc-hunit)))
8735 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8736 (synopsis "Exception safe semaphores")
8737 (description "This library provides exception safe semaphores that can be
8738used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8739are not exception safe and can be broken by @code{killThread}.")
8740 (license license:bsd-3)))
8741
8742(define-public ghc-sandi
8743 (package
8744 (name "ghc-sandi")
8745 (version "0.4.2")
8746 (source
8747 (origin
8748 (method url-fetch)
8749 (uri (string-append
8750 "https://hackage.haskell.org/package/sandi/sandi-"
8751 version ".tar.gz"))
8752 (sha256
8753 (base32
8754 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8755 (build-system haskell-build-system)
8756 (inputs
8757 `(("ghc-stringsearch" ,ghc-stringsearch)
8758 ("ghc-conduit" ,ghc-conduit)
8759 ("ghc-exceptions" ,ghc-exceptions)
8760 ("ghc-hunit" ,ghc-hunit)
8761 ("ghc-tasty" ,ghc-tasty)
8762 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8763 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8764 ("ghc-tasty-th" ,ghc-tasty-th)))
8765 (home-page "https://hackage.haskell.org/package/sandi")
8766 (synopsis "Data encoding library")
8767 (description "Reasonably fast data encoding library.")
8768 (license license:bsd-3)))
8769
8770(define-public ghc-scientific
8771 (package
8772 (name "ghc-scientific")
8773 (version "0.3.6.2")
8774 (source
8775 (origin
8776 (method url-fetch)
8777 (uri (string-append
8778 "https://hackage.haskell.org/package/scientific/scientific-"
8779 version
8780 ".tar.gz"))
8781 (sha256
8782 (base32
8783 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8784 (build-system haskell-build-system)
8785 (inputs
8786 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8787 ("ghc-hashable" ,ghc-hashable)
8788 ("ghc-primitive" ,ghc-primitive)))
8789 (native-inputs
8790 `(("ghc-tasty" ,ghc-tasty)
8791 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8792 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8793 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8794 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8795 ("ghc-smallcheck" ,ghc-smallcheck)
8796 ("ghc-quickcheck" ,ghc-quickcheck)))
8797 (home-page "https://github.com/basvandijk/scientific")
8798 (synopsis "Numbers represented using scientific notation")
8799 (description "This package provides @code{Data.Scientific}, which provides
8800the number type @code{Scientific}. Scientific numbers are arbitrary precision
8801and space efficient. They are represented using
8802@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
8803notation}.")
8804 (license license:bsd-3)))
8805
8806(define-public ghc-scientific-bootstrap
8807 (package
8808 (inherit ghc-scientific)
8809 (name "ghc-scientific-bootstrap")
8810 (arguments `(#:tests? #f))
8811 (inputs
8812 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
8813 ("ghc-hashable" ,ghc-hashable)
8814 ("ghc-primitive" ,ghc-primitive)))
8815 (native-inputs '())
799d8d3c 8816 (properties '((hidden? #t)))))
dddbc90c
RV
8817
8818(define-public ghc-sdl
8819 (package
8820 (name "ghc-sdl")
8821 (version "0.6.7.0")
8822 (source
8823 (origin
8824 (method url-fetch)
8825 (uri (string-append
8826 "https://hackage.haskell.org/package/SDL/SDL-"
8827 version
8828 ".tar.gz"))
8829 (sha256
8830 (base32
8831 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
8832 (build-system haskell-build-system)
8833 (inputs
8834 `(("sdl" ,sdl)))
8835 (home-page "https://hackage.haskell.org/package/SDL")
8836 (synopsis "LibSDL for Haskell")
8837 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
8838multimedia library designed to provide low level access to audio, keyboard,
8839mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
8840by MPEG playback software, emulators, and many popular games, including the
8841award winning Linux port of \"Civilization: Call To Power.\"")
8842 (license license:bsd-3)))
8843
1874cdc1
RV
8844(define-public ghc-sdl2
8845 (package
8846 (name "ghc-sdl2")
8847 (version "2.4.1.0")
8848 (source
8849 (origin
8850 (method url-fetch)
8851 (uri (string-append "https://hackage.haskell.org/package/"
8852 "sdl2/sdl2-" version ".tar.gz"))
8853 (sha256
8854 (base32
8855 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
8856 (build-system haskell-build-system)
8857 (arguments '(#:tests? #f)) ; tests require graphical environment
8858 (inputs
8859 `(("ghc-exceptions" ,ghc-exceptions)
8860 ("ghc-linear" ,ghc-linear)
8861 ("ghc-statevar" ,ghc-statevar)
8862 ("ghc-vector" ,ghc-vector)
8863 ("sdl2" ,sdl2)))
8864 (native-inputs
8865 `(("ghc-weigh" ,ghc-weigh)
8866 ("pkg-config" ,pkg-config)))
8867 (home-page "http://hackage.haskell.org/package/sdl2")
8868 (synopsis "High- and low-level bindings to the SDL library")
8869 (description
8870 "This package contains bindings to the SDL 2 library, in both high- and
8871low-level forms. The @code{SDL} namespace contains high-level bindings, where
8872enumerations are split into sum types, and we perform automatic
8873error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
8874translation of the C API into Haskell FFI calls. As such, this does not
8875contain sum types nor error checking. Thus this namespace is suitable for
8876building your own abstraction over SDL, but is not recommended for day-to-day
8877programming.")
8878 (license license:bsd-3)))
8879
8880(define-public ghc-sdl2-image
8881 (package
8882 (name "ghc-sdl2-image")
8883 (version "2.0.0")
8884 (source
8885 (origin
8886 (method url-fetch)
8887 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
8888 "sdl2-image-" version ".tar.gz"))
8889 (sha256
8890 (base32
8891 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
8892 (build-system haskell-build-system)
8893 (inputs
8894 `(("ghc-sdl2" ,ghc-sdl2)
8895 ("sdl2-image" ,sdl2-image)))
8896 (native-inputs
8897 `(("pkg-config" ,pkg-config)))
8898 (home-page "http://hackage.haskell.org/package/sdl2-image")
8899 (synopsis "Bindings to SDL2_image")
8900 (description "This package provides Haskell bindings to
8901@code{SDL2_image}.")
8902 (license license:expat)))
8903
8904(define-public ghc-sdl2-mixer
8905 (package
8906 (name "ghc-sdl2-mixer")
8907 (version "1.1.0")
8908 (source
8909 (origin
8910 (method url-fetch)
8911 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
8912 "sdl2-mixer-" version ".tar.gz"))
8913 (sha256
8914 (base32
8915 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
8916 (build-system haskell-build-system)
8917 (inputs
8918 `(("ghc-data-default-class" ,ghc-data-default-class)
8919 ("ghc-lifted-base" ,ghc-lifted-base)
8920 ("ghc-monad-control" ,ghc-monad-control)
8921 ("ghc-sdl2" ,ghc-sdl2)
8922 ("ghc-vector" ,ghc-vector)
8923 ("sdl2-mixer" ,sdl2-mixer)))
8924 (native-inputs
8925 `(("pkg-config" ,pkg-config)))
8926 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
8927 (synopsis "Bindings to SDL2 mixer")
8928 (description "This package provides Haskell bindings to
8929@code{SDL2_mixer}.")
8930 (license license:bsd-3)))
8931
dddbc90c
RV
8932(define-public ghc-sdl-image
8933 (package
8934 (name "ghc-sdl-image")
8935 (version "0.6.2.0")
8936 (source
8937 (origin
8938 (method url-fetch)
8939 (uri (string-append
8940 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
8941 version
8942 ".tar.gz"))
8943 (sha256
8944 (base32
8945 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
8946 (build-system haskell-build-system)
8947 (arguments
8948 `(#:configure-flags
8949 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
8950 (sdl-image-include (string-append sdl-image "/include/SDL")))
8951 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
8952 (inputs
8953 `(("ghc-sdl" ,ghc-sdl)
8954 ("sdl-image" ,sdl-image)))
8955 (home-page "https://hackage.haskell.org/package/SDL-image")
8956 (synopsis "Haskell bindings to libSDL_image")
8957 (description "SDL_image is an image file loading library. It loads images
8958as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
8959PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
8960 (license license:bsd-3)))
8961
8962(define-public ghc-sdl-mixer
8963 (package
8964 (name "ghc-sdl-mixer")
8965 (version "0.6.3.0")
8966 (source
8967 (origin
8968 (method url-fetch)
8969 (uri (string-append
8970 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
8971 version
8972 ".tar.gz"))
8973 (sha256
8974 (base32
8975 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
8976 (build-system haskell-build-system)
8977 (arguments
8978 `(#:configure-flags
8979 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
8980 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
8981 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
8982 (inputs
8983 `(("ghc-sdl" ,ghc-sdl)
8984 ("sdl-mixer" ,sdl-mixer)))
8985 (home-page "https://hackage.haskell.org/package/SDL-mixer")
8986 (synopsis "Haskell bindings to libSDL_mixer")
8987 (description "SDL_mixer is a sample multi-channel audio mixer library. It
8988supports any number of simultaneously playing channels of 16 bit stereo audio,
8989plus a single channel of music, mixed by the popular MikMod MOD, Timidity
8990MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
8991 (license license:bsd-3)))
8992
8993(define-public ghc-securemem
8994 (package
8995 (name "ghc-securemem")
8996 (version "0.1.10")
8997 (source
8998 (origin
8999 (method url-fetch)
9000 (uri (string-append "https://hackage.haskell.org/package/"
9001 "securemem-" version "/"
9002 "securemem-" version ".tar.gz"))
9003 (sha256
9004 (base32
9005 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
9006 (build-system haskell-build-system)
9007 (inputs `(("ghc-byteable" ,ghc-byteable)
9008 ("ghc-memory" ,ghc-memory)))
9009 (home-page "https://github.com/vincenthz/hs-securemem")
9010 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9011Haskell")
9012 (description "SecureMem is similar to ByteString, except that it provides
9013a memory chunk that will be auto-scrubbed after it run out of scope.")
9014 (license license:bsd-3)))
9015
9016(define-public ghc-semigroupoids
9017 (package
9018 (name "ghc-semigroupoids")
9019 (version "5.2.2")
9020 (source
9021 (origin
9022 (method url-fetch)
9023 (uri (string-append
9024 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9025 version
9026 ".tar.gz"))
9027 (sha256
9028 (base32
9029 "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
9030 (build-system haskell-build-system)
9031 (arguments
9032 `(#:cabal-revision
9033 ("4" "0pqfrxzypjq6z8lgdkzq4vhcyqkpk5326hny0r6snpc3gm78r4ij")))
9034 (inputs
9035 `(("ghc-base-orphans" ,ghc-base-orphans)
9036 ("ghc-transformers-compat" ,ghc-transformers-compat)
9037 ("ghc-bifunctors" ,ghc-bifunctors)
9038 ("ghc-comonad" ,ghc-comonad)
9039 ("ghc-contravariant" ,ghc-contravariant)
9040 ("ghc-distributive" ,ghc-distributive)
9041 ("ghc-hashable" ,ghc-hashable)
9042 ("ghc-semigroups" ,ghc-semigroups)
9043 ("ghc-tagged" ,ghc-tagged)
9044 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9045 (native-inputs
9046 `(("cabal-doctest" ,cabal-doctest)
9047 ("ghc-doctest" ,ghc-doctest)))
9048 (home-page "https://github.com/ekmett/semigroupoids")
9049 (synopsis "Semigroupoids operations for Haskell")
9050 (description "This library provides a wide array of (semi)groupoids and
9051operations for working with them. A @code{Semigroupoid} is a @code{Category}
9052without the requirement of identity arrows for every object in the category.
9053A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9054Finally, to work with these weaker structures it is beneficial to have
9055containers that can provide stronger guarantees about their contents, so
9056versions of @code{Traversable} and @code{Foldable} that can be folded with
9057just a @code{Semigroup} are added.")
9058 (license license:bsd-3)))
9059
9060(define-public ghc-semigroups
9061 (package
9062 (name "ghc-semigroups")
9063 (version "0.18.5")
9064 (source
9065 (origin
9066 (method url-fetch)
9067 (uri (string-append
9068 "https://hackage.haskell.org/package/semigroups/semigroups-"
9069 version
9070 ".tar.gz"))
9071 (sha256
9072 (base32
9073 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9074 (build-system haskell-build-system)
9075 (inputs
9076 `(("ghc-nats" ,ghc-nats)
9077 ("ghc-tagged" ,ghc-tagged)
9078 ("ghc-unordered-containers" ,ghc-unordered-containers)
9079 ("ghc-hashable" ,ghc-hashable)))
9080 (home-page "https://github.com/ekmett/semigroups/")
9081 (synopsis "Semigroup operations for Haskell")
9082 (description "This package provides semigroups for Haskell. In
9083mathematics, a semigroup is an algebraic structure consisting of a set
9084together with an associative binary operation. A semigroup generalizes a
9085monoid in that there might not exist an identity element. It
9086also (originally) generalized a group (a monoid with all inverses) to a type
9087where every element did not have to have an inverse, thus the name
9088semigroup.")
9089 (license license:bsd-3)))
9090
9091(define-public ghc-semigroups-bootstrap
9092 (package
9093 (inherit ghc-semigroups)
9094 (name "ghc-semigroups-bootstrap")
9095 (inputs
9096 `(("ghc-nats" ,ghc-nats-bootstrap)
9097 ("ghc-tagged" ,ghc-tagged)
9098 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9099 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9100 (properties '((hidden? #t)))))
dddbc90c
RV
9101
9102(define-public ghc-setenv
9103 (package
9104 (name "ghc-setenv")
9105 (version "0.1.1.3")
9106 (source
9107 (origin
9108 (method url-fetch)
9109 (uri (string-append
9110 "https://hackage.haskell.org/package/setenv/setenv-"
9111 version
9112 ".tar.gz"))
9113 (sha256
9114 (base32
9115 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9116 (build-system haskell-build-system)
9117 (home-page "https://hackage.haskell.org/package/setenv")
9118 (synopsis "Library for setting environment variables")
9119 (description "This package provides a Haskell library for setting
9120environment variables.")
9121 (license license:expat)))
9122
9123(define-public ghc-setlocale
9124 (package
9125 (name "ghc-setlocale")
9d7cfc9b 9126 (version "1.0.0.9")
dddbc90c
RV
9127 (source (origin
9128 (method url-fetch)
9129 (uri (string-append
9130 "https://hackage.haskell.org/package/setlocale-"
9131 version "/setlocale-" version ".tar.gz"))
9132 (sha256
9133 (base32
9d7cfc9b 9134 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
9135 (build-system haskell-build-system)
9136 (home-page "https://hackage.haskell.org/package/setlocale")
9137 (synopsis "Haskell bindings to setlocale")
9138 (description "This package provides Haskell bindings to the
9139@code{setlocale} C function.")
9140 (license license:bsd-3)))
9141
9142(define-public ghc-shakespeare
9143 (package
9144 (name "ghc-shakespeare")
9145 (version "2.0.15")
9146 (source
9147 (origin
9148 (method url-fetch)
9149 (uri (string-append "https://hackage.haskell.org/package/"
9150 "shakespeare-" version "/"
9151 "shakespeare-" version ".tar.gz"))
9152 (sha256
9153 (base32
9154 "1vk4b19zvwy4mpwaq9z3l3kfmz75gfyf7alhh0y112gspgpccm23"))))
9155 (build-system haskell-build-system)
9156 (inputs `(("ghc-aeson" ,ghc-aeson)
9157 ("ghc-blaze-markup" ,ghc-blaze-markup)
9158 ("ghc-blaze-html" ,ghc-blaze-html)
9159 ("ghc-exceptions" ,ghc-exceptions)
9160 ("ghc-vector" ,ghc-vector)
9161 ("ghc-unordered-containers" ,ghc-unordered-containers)
9162 ("ghc-scientific" ,ghc-scientific)))
9163 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9164 ("ghc-hunit" ,ghc-hunit)
9165 ("hspec-discover" ,hspec-discover)))
9166 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9167 (synopsis "Family of type-safe template languages for Haskell")
9168 (description "This Haskell package provides a family of type-safe
9169templates with simple variable interpolation. Shakespeare templates can
9170be used inline with a quasi-quoter or in an external file and it
9171interpolates variables according to the type being inserted.")
9172 (license license:expat)))
9173
9174(define-public ghc-shelly
9175 (package
9176 (name "ghc-shelly")
9177 (version "1.8.1")
9178 (source
9179 (origin
9180 (method url-fetch)
9181 (uri (string-append
9182 "https://hackage.haskell.org/package/shelly/shelly-"
9183 version ".tar.gz"))
9184 (sha256
9185 (base32
9186 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9187 (build-system haskell-build-system)
9188 (inputs
9189 `(("ghc-unix-compat" ,ghc-unix-compat)
9190 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9191 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9192 ("ghc-monad-control" ,ghc-monad-control)
9193 ("ghc-lifted-base" ,ghc-lifted-base)
9194 ("ghc-lifted-async" ,ghc-lifted-async)
9195 ("ghc-exceptions" ,ghc-exceptions)
9196 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9197 ("ghc-async" ,ghc-async)
9198 ("ghc-transformers-base" ,ghc-transformers-base)
9199 ("ghc-hunit" ,ghc-hunit)
9200 ("ghc-hspec" ,ghc-hspec)
9201 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9202 (home-page "https://github.com/yesodweb/Shelly.hs")
9203 (synopsis "Shell-like (systems) programming in Haskell")
9204 (description
9205 "Shelly provides convenient systems programming in Haskell, similar in
9206spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9207 (license license:bsd-3)))
9208
9209(define-public ghc-silently
9210 (package
9211 (name "ghc-silently")
544bb369 9212 (version "1.2.5.1")
dddbc90c
RV
9213 (source
9214 (origin
9215 (method url-fetch)
9216 (uri (string-append
9217 "https://hackage.haskell.org/package/silently/silently-"
9218 version
9219 ".tar.gz"))
9220 (sha256
9221 (base32
544bb369 9222 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
9223 (build-system haskell-build-system)
9224 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9225 ;; (inputs
9226 ;; `(("ghc-temporary" ,ghc-temporary)))
9227 (home-page "https://github.com/hspec/silently")
9228 (synopsis "Prevent writing to stdout")
9229 (description "This package provides functions to prevent or capture
9230writing to stdout and other handles.")
9231 (license license:bsd-3)))
9232
9233(define-public ghc-simple-reflect
9234 (package
9235 (name "ghc-simple-reflect")
9236 (version "0.3.3")
9237 (source
9238 (origin
9239 (method url-fetch)
9240 (uri (string-append
9241 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9242 version
9243 ".tar.gz"))
9244 (sha256
9245 (base32
9246 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9247 (build-system haskell-build-system)
9248 (home-page
9249 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9250 (synopsis
9251 "Simple reflection of expressions containing variables")
9252 (description
9253 "This package allows simple reflection of expressions containing
9254variables. Reflection here means that a Haskell expression is turned into a
9255string. The primary aim of this package is teaching and understanding; there
9256are no options for manipulating the reflected expressions beyond showing
9257them.")
9258 (license license:bsd-3)))
9259
9260(define-public ghc-simple-sendfile
9261 (package
9262 (name "ghc-simple-sendfile")
9263 (version "0.2.27")
9264 (source
9265 (origin
9266 (method url-fetch)
9267 (uri (string-append "https://hackage.haskell.org/package/"
9268 "simple-sendfile-" version "/"
9269 "simple-sendfile-" version ".tar.gz"))
9270 (sha256
9271 (base32
9272 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
9273 (build-system haskell-build-system)
9274 (inputs
9275 `(("ghc-conduit" ,ghc-conduit)
9276 ("ghc-conduit-extra" ,ghc-conduit-extra)
9277 ("ghc-network" ,ghc-network)
9278 ("ghc-resourcet" ,ghc-resourcet)))
9279 (native-inputs
9280 `(("ghc-hspec" ,ghc-hspec)
9281 ("hspec-discover" ,hspec-discover)))
9282 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9283 (synopsis "Cross platform library for the sendfile system call")
9284 (description "This library tries to call minimum system calls which
9285are the bottleneck of web servers.")
9286 (license license:bsd-3)))
9287
9288(define-public ghc-skylighting-core
9289 (package
9290 (name "ghc-skylighting-core")
9291 (version "0.7.2")
9292 (source (origin
9293 (method url-fetch)
9294 (uri (string-append "https://hackage.haskell.org/package/"
9295 "skylighting-core/skylighting-core-"
9296 version ".tar.gz"))
9297 (sha256
9298 (base32
9299 "066fwmwsd7xcvwlinfk2izlzq0xp8697i6lnbgsbl71jdybyackq"))))
9300 (build-system haskell-build-system)
9301 (inputs
9302 `(("ghc-aeson" ,ghc-aeson)
9303 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9304 ("ghc-attoparsec" ,ghc-attoparsec)
9305 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9306 ("ghc-blaze-html" ,ghc-blaze-html)
9307 ("ghc-case-insensitive" ,ghc-case-insensitive)
9308 ("ghc-colour" ,ghc-colour)
9309 ("ghc-hxt" ,ghc-hxt)
9310 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9311 ("ghc-safe" ,ghc-safe)
9312 ("ghc-utf8-string" ,ghc-utf8-string)))
9313 (native-inputs
9314 `(("ghc-diff" ,ghc-diff)
9315 ("ghc-hunit" ,ghc-hunit)
9316 ("ghc-pretty-show" ,ghc-pretty-show)
9317 ("ghc-quickcheck" ,ghc-quickcheck)
9318 ("ghc-tasty" ,ghc-tasty)
9319 ("ghc-tasty-golden" ,ghc-tasty-golden)
9320 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9321 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9322 (home-page "https://github.com/jgm/skylighting")
9323 (synopsis "Syntax highlighting library")
9324 (description "Skylighting is a syntax highlighting library with support
9325for over one hundred languages. It derives its tokenizers from XML syntax
9326definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9327supported by that framework can be added. An optional command-line program is
9328provided. Skylighting is intended to be the successor to highlighting-kate.")
9329 (license license:gpl2)))
9330
9331(define-public ghc-skylighting
9332 (package
9333 (inherit ghc-skylighting-core)
9334 (name "ghc-skylighting")
9335 (version "0.7.2")
9336 (source (origin
9337 (method url-fetch)
9338 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9339 version "/skylighting-" version ".tar.gz"))
9340 (sha256
9341 (base32
9342 "1rh3z1a7a4clvksdw1qlpmhxqkfahwypi70k91whgfamzsqpxdch"))))
9343 (inputs
9344 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9345 ,@(package-inputs ghc-skylighting-core)))))
9346
9347(define-public ghc-smallcheck
9348 (package
9349 (name "ghc-smallcheck")
9350 (version "1.1.5")
9351 (source
9352 (origin
9353 (method url-fetch)
9354 (uri (string-append
9355 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9356 version
9357 ".tar.gz"))
9358 (sha256
9359 (base32
9360 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9361 (build-system haskell-build-system)
9362 (inputs
9363 `(("ghc-logict" ,ghc-logict)))
9364 (home-page
9365 "https://github.com/feuerbach/smallcheck")
9366 (synopsis "Property-based testing library")
9367 (description "SmallCheck is a testing library that allows to verify
9368properties for all test cases up to some depth. The test cases are generated
9369automatically by SmallCheck.")
9370 (license license:bsd-3)))
9371
9372(define-public ghc-socks
9373 (package
9374 (name "ghc-socks")
9375 (version "0.5.6")
9376 (source (origin
9377 (method url-fetch)
9378 (uri (string-append "https://hackage.haskell.org/package/"
9379 "socks/socks-" version ".tar.gz"))
9380 (sha256
9381 (base32
9382 "0f44qy74i0n6ll3jym0a2ipafkpw1h67amcpqmj8iq95h21wsqzs"))))
9383 (build-system haskell-build-system)
9384 (inputs
9385 `(("ghc-cereal" ,ghc-cereal)
9386 ("ghc-network" ,ghc-network)))
9387 (home-page "https://github.com/vincenthz/hs-socks")
9388 (synopsis "SOCKS proxy (version 5) implementation")
9389 (description
9390 "This library provides a SOCKS proxy (version 5) implementation.")
9391 (license license:bsd-3)))
9392
081d85d6
TS
9393(define-public ghc-sop-core
9394 (package
9395 (name "ghc-sop-core")
9396 (version "0.4.0.0")
9397 (source
9398 (origin
9399 (method url-fetch)
9400 (uri (string-append "https://hackage.haskell.org/package/"
9401 "sop-core/sop-core-" version ".tar.gz"))
9402 (sha256
9403 (base32
9404 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
9405 (build-system haskell-build-system)
9406 (home-page "http://hackage.haskell.org/package/sop-core")
9407 (synopsis "True Sums of Products")
9408 (description "This package provides an implementation of
9409@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
9410is the main module of this library and contains more detailed
9411documentation. The main use case of this package is to serve as the
9412core of @url{https://hackage.haskell.org/package/generics-sop,
9413generics-sop}.")
9414 (license license:bsd-3)))
9415
dddbc90c
RV
9416(define-public ghc-split
9417 (package
9418 (name "ghc-split")
9419 (version "0.2.3.3")
9420 (outputs '("out" "doc"))
9421 (source
9422 (origin
9423 (method url-fetch)
9424 (uri (string-append
9425 "https://hackage.haskell.org/package/split/split-"
9426 version
9427 ".tar.gz"))
9428 (sha256
9429 (base32
9430 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9431 (build-system haskell-build-system)
9bbc21a7
TS
9432 (arguments
9433 `(#:cabal-revision
9434 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
9435 (native-inputs
9436 `(("ghc-quickcheck" ,ghc-quickcheck)))
9437 (home-page "https://hackage.haskell.org/package/split")
9438 (synopsis "Combinator library for splitting lists")
9439 (description "This package provides a collection of Haskell functions for
9440splitting lists into parts, akin to the @code{split} function found in several
9441mainstream languages.")
9442 (license license:bsd-3)))
9443
49367c92
TS
9444(define-public ghc-splitmix-bootstrap
9445 (package
9446 (name "ghc-splitmix-bootstrap")
9447 (version "0.0.3")
9448 (source
9449 (origin
9450 (method url-fetch)
9451 (uri (string-append "https://hackage.haskell.org/package/"
9452 "splitmix/splitmix-" version ".tar.gz"))
9453 (sha256
9454 (base32
9455 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
9456 (properties '((hidden? #t)))
9457 (build-system haskell-build-system)
9458 (arguments `(#:tests? #f))
9459 (inputs
9460 `(("ghc-random" ,ghc-random)))
9461 (home-page "http://hackage.haskell.org/package/splitmix")
9462 (synopsis "Fast and splittable pseudorandom number generator")
9463 (description "This package provides a Pure Haskell implementation of the
9464SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
9465pseudorandom number generator that is quite fast: 9 64-bit
9466arithmetic/logical operations per 64 bits generated. SplitMix is tested
9467with two standard statistical test suites (DieHarder and TestU01, this
9468implementation only using the former) and it appears to be adequate for
9469\"everyday\" use, such as Monte Carlo algorithms and randomized data
9470structures where speed is important. In particular, it @strong{should not
9471be used for cryptographic or security applications}, because generated
9472sequences of pseudorandom values are too predictable (the mixing functions
9473are easily inverted, and two successive outputs suffice to reconstruct the
9474internal state).")
9475 (license license:bsd-3)))
9476
dddbc90c
RV
9477(define-public ghc-statevar
9478 (package
9479 (name "ghc-statevar")
19419709 9480 (version "1.2")
dddbc90c
RV
9481 (source
9482 (origin
9483 (method url-fetch)
9484 (uri (string-append
9485 "https://hackage.haskell.org/package/StateVar/StateVar-"
9486 version
9487 ".tar.gz"))
9488 (sha256
9489 (base32
19419709 9490 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
9491 (build-system haskell-build-system)
9492 (home-page "https://hackage.haskell.org/package/StateVar")
9493 (synopsis "State variables for Haskell")
9494 (description "This package provides state variables, which are references
9495in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9496 (license license:bsd-3)))
9497
9498(define-public ghc-statistics
9499 (package
9500 (name "ghc-statistics")
9501 (version "0.14.0.2")
9502 (source
9503 (origin
9504 (method url-fetch)
9505 (uri (string-append "https://hackage.haskell.org/package/"
9506 "statistics-" version "/"
9507 "statistics-" version ".tar.gz"))
9508 (sha256
9509 (base32
9510 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
9511 (build-system haskell-build-system)
9512 (arguments
9513 '(#:cabal-revision
9514 ("2" "1bx70yqkn62ii17fjv3pig4hklrzkqd09zj67zzjiyjzmn04fir3")
9515 ;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
9516 #:tests? #f))
9517 (inputs
9518 `(("ghc-aeson" ,ghc-aeson)
9519 ("ghc-base-orphans" ,ghc-base-orphans)
9520 ("ghc-erf" ,ghc-erf)
9521 ("ghc-math-functions" ,ghc-math-functions)
9522 ("ghc-monad-par" ,ghc-monad-par)
9523 ("ghc-mwc-random" ,ghc-mwc-random)
9524 ("ghc-primitive" ,ghc-primitive)
9525 ("ghc-vector" ,ghc-vector)
9526 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9527 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9528 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9529 (native-inputs
9530 `(("ghc-hunit" ,ghc-hunit)
9531 ("ghc-quickcheck" ,ghc-quickcheck)
9532 ("ghc-ieee754" ,ghc-ieee754)
9533 ("ghc-test-framework" ,ghc-test-framework)
9534 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9535 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9536 (home-page "https://github.com/bos/mwc-random")
9537 (synopsis "Haskell library of statistical types, data, and functions")
9538 (description "This library provides a number of common functions
9539and types useful in statistics. We focus on high performance, numerical
9540robustness, and use of good algorithms. Where possible, we provide references
9541to the statistical literature.
9542
9543The library's facilities can be divided into four broad categories:
9544
9545@itemize
9546@item Working with widely used discrete and continuous probability
9547distributions. (There are dozens of exotic distributions in use; we focus
9548on the most common.)
9549
9550@item Computing with sample data: quantile estimation, kernel density
9551estimation, histograms, bootstrap methods, significance testing,
9552and regression and autocorrelation analysis.
9553
9554@item Random variate generation under several different distributions.
9555
9556@item Common statistical tests for significant differences between samples.
9557@end itemize")
9558 (license license:bsd-2)))
9559
9560(define-public ghc-stm-chans
9561 (package
9562 (name "ghc-stm-chans")
9563 (version "3.0.0.4")
9564 (source
9565 (origin
9566 (method url-fetch)
9567 (uri (string-append "https://hackage.haskell.org/package/"
9568 "stm-chans-" version "/"
9569 "stm-chans-" version ".tar.gz"))
9570 (sha256
9571 (base32
9572 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9573 (build-system haskell-build-system)
9574 (home-page "https://hackage.haskell.org/package/stm-chans")
9575 (synopsis "Additional types of channels for ghc-stm")
9576 (description "This Haskell package offers a collection of channel types,
9577similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9578features.")
9579 (license license:bsd-3)))
9580
9581(define-public ghc-stm-conduit
9582 (package
9583 (name "ghc-stm-conduit")
9584 (version "4.0.0")
9585 (source
9586 (origin
9587 (method url-fetch)
9588 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9589 "stm-conduit-" version ".tar.gz"))
9590 (sha256
9591 (base32
9592 "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
9593 (build-system haskell-build-system)
9594 (inputs
9595 `(("ghc-stm-chans" ,ghc-stm-chans)
9596 ("ghc-cereal" ,ghc-cereal)
9597 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9598 ("ghc-conduit" ,ghc-conduit)
9599 ("ghc-conduit-extra" ,ghc-conduit-extra)
9600 ("ghc-exceptions" ,ghc-exceptions)
9601 ("ghc-resourcet" ,ghc-resourcet)
9602 ("ghc-async" ,ghc-async)
9603 ("ghc-monad-loops" ,ghc-monad-loops)
9604 ("ghc-unliftio" ,ghc-unliftio)))
9605 (native-inputs
9606 `(("ghc-doctest" ,ghc-doctest)
9607 ("ghc-quickcheck" ,ghc-quickcheck)
9608 ("ghc-hunit" ,ghc-hunit)
9609 ("ghc-test-framework" ,ghc-test-framework)
9610 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9611 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9612 (home-page "https://github.com/cgaebel/stm-conduit")
9613 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9614 (description
9615 "This package provides two simple conduit wrappers around STM channels: a
9616source and a sink.")
9617 (license license:bsd-3)))
9618
9619(define-public ghc-stmonadtrans
9620 (package
9621 (name "ghc-stmonadtrans")
9622 (version "0.4.3")
9623 (source
9624 (origin
9625 (method url-fetch)
9626 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9627 "/STMonadTrans-" version ".tar.gz"))
9628 (sha256
9629 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9630 (build-system haskell-build-system)
9631 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9632 (synopsis "Monad transformer version of the ST monad")
9633 (description
9634 "This package provides a monad transformer version of the @code{ST} monad
9635for strict state threads.")
9636 (license license:bsd-3)))
9637
9638(define-public ghc-storable-complex
9639 (package
9640 (name "ghc-storable-complex")
9641 (version "0.2.2")
9642 (source
9643 (origin
9644 (method url-fetch)
9645 (uri (string-append
9646 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9647 version ".tar.gz"))
9648 (sha256
9649 (base32 "01kwwkpbfjrv26vj83cd92px5qbq1bpgxj0r45534aksqhany1xb"))))
9650 (build-system haskell-build-system)
9651 (home-page "https://github.com/cartazio/storable-complex")
9652 (synopsis "Haskell Storable instance for Complex")
9653 (description "This package provides a Haskell library including a
9654Storable instance for Complex which is binary compatible with C99, C++
9655and Fortran complex data types.")
9656 (license license:bsd-3)))
9657
ad80074a
JS
9658(define-public ghc-storable-record
9659 (package
9660 (name "ghc-storable-record")
9661 (version "0.0.4")
9662 (source
9663 (origin
9664 (method url-fetch)
9665 (uri
9666 (string-append
9667 "https://hackage.haskell.org/package/storable-record/"
9668 "storable-record-" version ".tar.gz"))
9669 (sha256
9670 (base32
9671 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
9672 (build-system haskell-build-system)
9673 (inputs
9674 `(("ghc-semigroups" ,ghc-semigroups)
9675 ("ghc-utility-ht" ,ghc-utility-ht)
9676 ("ghc-storablevector" ,ghc-storablevector)
9677 ("ghc-timeit" ,ghc-timeit)))
9678 (home-page "https://hackage.haskell.org/package/storable-record")
9679 (synopsis "Elegant definition of Storable instances for records")
9680 (description "With this package you can build a Storable instance of
9681a record type from Storable instances of its elements in an elegant way.
9682It does not do any magic, just a bit arithmetic to compute the right
9683offsets, that would be otherwise done manually or by a preprocessor like
9684C2HS. There is no guarantee that the generated memory layout is
9685compatible with that of a corresponding C struct. However, the module
9686generates the smallest layout that is possible with respect to the
9687alignment of the record elements.")
9688 (license license:bsd-3)))
9689
55f4c653
JS
9690(define-public ghc-storable-tuple
9691 (package
9692 (name "ghc-storable-tuple")
9693 (version "0.0.3.3")
9694 (source
9695 (origin
9696 (method url-fetch)
9697 (uri
9698 (string-append
9699 "https://hackage.haskell.org/package/storable-tuple/"
9700 "storable-tuple-" version ".tar.gz"))
9701 (sha256
9702 (base32
9703 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
9704 (build-system haskell-build-system)
9705 (inputs
9706 `(("ghc-storable-record" ,ghc-storable-record)
9707 ("ghc-utility-ht" ,ghc-utility-ht)
9708 ("ghc-base-orphans" ,ghc-base-orphans)))
9709 (home-page "https://hackage.haskell.org/package/storable-tuple")
9710 (synopsis "Storable instance for pairs and triples")
9711 (description "This package provides a Storable instance for pairs
9712and triples which should be binary compatible with C99 and C++. The
9713only purpose of this package is to provide a standard location for this
9714instance so that other packages needing this instance can play nicely
9715together.")
9716 (license license:bsd-3)))
9717
bc06ca45
JS
9718(define-public ghc-storablevector
9719 (package
9720 (name "ghc-storablevector")
9721 (version "0.2.13")
9722 (source
9723 (origin
9724 (method url-fetch)
9725 (uri
9726 (string-append
9727 "https://hackage.haskell.org/package/storablevector/storablevector-"
9728 version ".tar.gz"))
9729 (sha256
9730 (base32
9731 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
9732 (build-system haskell-build-system)
9733 (inputs
9734 `(("ghc-non-negative" ,ghc-non-negative)
9735 ("ghc-utility-ht" ,ghc-utility-ht)
9736 ("ghc-semigroups" ,ghc-semigroups)
9737 ("ghc-unsafe" ,ghc-unsafe)
9738 ("ghc-quickcheck" ,ghc-quickcheck)
9739 ("ghc-syb" ,ghc-syb)))
9740 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
9741 (synopsis "Fast, packed, strict storable arrays with a list interface")
9742 (description "This library provides fast, packed, strict storable
9743arrays with a list interface, a chunky lazy list interface with variable
9744chunk size and an interface for write access via the ST monad. This is
9745much like bytestring and binary but can be used for every
9746@code{Foreign.Storable.Storable} type. See also
9747@url{http://hackage.haskell.org/package/vector}, a library with a
9748similar intention.
9749
9750This library does not do advanced fusion optimization, since especially
9751for lazy vectors this would either be incorrect or not applicable. See
9752@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
9753a library that provides fusion with lazy lists.")
9754 (license license:bsd-3)))
9755
dddbc90c
RV
9756(define-public ghc-streaming-commons
9757 (package
9758 (name "ghc-streaming-commons")
9759 (version "0.2.1.1")
9760 (source
9761 (origin
9762 (method url-fetch)
9763 (uri (string-append "https://hackage.haskell.org/package/"
9764 "streaming-commons/streaming-commons-"
9765 version ".tar.gz"))
9766 (sha256
9767 (base32
9768 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9769 (build-system haskell-build-system)
9770 (inputs
9771 `(("ghc-async" ,ghc-async)
9772 ("ghc-blaze-builder" ,ghc-blaze-builder)
9773 ("ghc-network" ,ghc-network)
9774 ("ghc-random" ,ghc-random)
9775 ("ghc-zlib" ,ghc-zlib)))
9776 (native-inputs
9777 `(("ghc-quickcheck" ,ghc-quickcheck)
9778 ("ghc-hspec" ,ghc-hspec)
9779 ("hspec-discover" ,hspec-discover)))
9780 (home-page "https://hackage.haskell.org/package/streaming-commons")
9781 (synopsis "Conduit and pipes needed by some streaming data libraries")
9782 (description "This package provides low-dependency functionality commonly
9783needed by various Haskell streaming data libraries, such as @code{conduit} and
9784@code{pipe}s.")
9785 (license license:expat)))
9786
9787(define-public ghc-strict
9788 (package
9789 (name "ghc-strict")
9790 (version "0.3.2")
9791 (source
9792 (origin
9793 (method url-fetch)
9794 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
9795 version ".tar.gz"))
9796 (sha256
9797 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
9798 (build-system haskell-build-system)
9799 (home-page "https://hackage.haskell.org/package/strict")
9800 (synopsis "Strict data types and String IO")
9801 (description
9802 "This package provides strict versions of some standard Haskell data
9803types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
9804IO operations.")
9805 (license license:bsd-3)))
9806
9807(define-public ghc-stringbuilder
9808 (package
9809 (name "ghc-stringbuilder")
9810 (version "0.5.1")
9811 (source
9812 (origin
9813 (method url-fetch)
9814 (uri (string-append
9815 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
9816 version
9817 ".tar.gz"))
9818 (sha256
9819 (base32
9820 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
9821 (build-system haskell-build-system)
9822 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
9823 ; enabled
9824 (home-page "https://hackage.haskell.org/package/stringbuilder")
9825 (synopsis "Writer monad for multi-line string literals")
9826 (description "This package provides a writer monad for multi-line string
9827literals.")
9828 (license license:expat)))
9829
9830(define-public ghc-string-qq
9831 (package
9832 (name "ghc-string-qq")
4d6fddc3 9833 (version "0.0.4")
dddbc90c
RV
9834 (source
9835 (origin
9836 (method url-fetch)
9837 (uri (string-append
9838 "https://hackage.haskell.org/package/string-qq/string-qq-"
9839 version
9840 ".tar.gz"))
9841 (sha256
9842 (base32
4d6fddc3 9843 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 9844 (build-system haskell-build-system)
4d6fddc3
TS
9845 (native-inputs
9846 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
9847 (home-page "http://hackage.haskell.org/package/string-qq")
9848 (synopsis
9849 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
9850 (description
9851 "This package provides a quasiquoter for non-interpolated strings, texts
9852and bytestrings.")
9853 (license license:public-domain)))
9854
9855(define-public ghc-stringsearch
9856 (package
9857 (name "ghc-stringsearch")
9858 (version "0.3.6.6")
9859 (source
9860 (origin
9861 (method url-fetch)
9862 (uri (string-append
9863 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
9864 version
9865 ".tar.gz"))
9866 (sha256
9867 (base32
9868 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
9869 (build-system haskell-build-system)
9870 (home-page "https://bitbucket.org/dafis/stringsearch")
9871 (synopsis "Fast searching, splitting and replacing of ByteStrings")
9872 (description "This package provides several functions to quickly search
9873for substrings in strict or lazy @code{ByteStrings}. It also provides
9874functions for breaking or splitting on substrings and replacing all
9875occurrences of a substring (the first in case of overlaps) with another.")
9876 (license license:bsd-3)))
9877
9878(define-public ghc-stylish-haskell
9879 (package
9880 (name "ghc-stylish-haskell")
9881 (version "0.9.2.1")
9882 (source
9883 (origin
9884 (method url-fetch)
9885 (uri (string-append
9886 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
9887 version
9888 ".tar.gz"))
9889 (sha256
9890 (base32
9891 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
9892 (build-system haskell-build-system)
9893 (inputs
9894 `(("ghc-aeson" ,ghc-aeson)
9895 ("ghc-file-embed" ,ghc-file-embed)
9896 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
9897 ("ghc-semigroups" ,ghc-semigroups)
9898 ("ghc-syb" ,ghc-syb)
9899 ("ghc-yaml" ,ghc-yaml)
9900 ("ghc-strict" ,ghc-strict)
9901 ("ghc-optparse-applicative"
9902 ,ghc-optparse-applicative)))
9903 (native-inputs
9904 `(("ghc-hunit" ,ghc-hunit)
9905 ("ghc-test-framework" ,ghc-test-framework)
9906 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
9907 (home-page "https://github.com/jaspervdj/stylish-haskell")
9908 (synopsis "Haskell code prettifier")
9909 (description "Stylish-haskell is a Haskell code prettifier. The goal is
9910not to format all of the code in a file, to avoid \"getting in the way\".
9911However, this tool can e.g. clean up import statements and help doing various
9912tasks that get tedious very quickly. It can
9913@itemize
9914@item
9915Align and sort @code{import} statements
9916@item
9917Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
9918pragmas
9919@item
9920Remove trailing whitespaces
9921@item
9922Align branches in @code{case} and fields in records
9923@item
9924Convert line endings (customisable)
9925@item
9926Replace tabs by four spaces (turned off by default)
9927@item
9928Replace some ASCII sequences by their Unicode equivalent (turned off by
9929default)
9930@end itemize")
9931 (license license:bsd-3)))
9932
9933(define-public ghc-syb
9934 (package
9935 (name "ghc-syb")
07d65eef 9936 (version "0.7.1")
dddbc90c
RV
9937 (outputs '("out" "doc"))
9938 (source
9939 (origin
9940 (method url-fetch)
9941 (uri (string-append
9942 "https://hackage.haskell.org/package/syb/syb-"
9943 version
9944 ".tar.gz"))
9945 (sha256
9946 (base32
07d65eef 9947 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
9948 (build-system haskell-build-system)
9949 (inputs
9950 `(("ghc-hunit" ,ghc-hunit)))
9951 (home-page
9952 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
9953 (synopsis "Scrap Your Boilerplate")
9954 (description "This package contains the generics system described in the
9955/Scrap Your Boilerplate/ papers (see
9956@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
9957defines the @code{Data} class of types permitting folding and unfolding of
9958constructor applications, instances of this class for primitive types, and a
9959variety of traversals.")
9960 (license license:bsd-3)))
9961
9962(define-public ghc-system-fileio
9963 (package
9964 (name "ghc-system-fileio")
9965 (version "0.3.16.3")
9966 (source
9967 (origin
9968 (method url-fetch)
9969 (uri (string-append
9970 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
9971 version ".tar.gz"))
9972 (sha256
9973 (base32
9974 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
9975 (build-system haskell-build-system)
9976 (inputs
9977 `(("ghc-system-filepath" ,ghc-system-filepath)
9978 ("ghc-chell" ,ghc-chell)
9979 ("ghc-temporary" ,ghc-temporary)))
9980 (home-page "https://github.com/fpco/haskell-filesystem")
9981 (synopsis "Consistent file system interaction across GHC versions")
9982 (description
9983 "This is a small wrapper around the directory, unix, and Win32 packages,
9984for use with system-filepath. It provides a consistent API to the various
9985versions of these packages distributed with different versions of GHC.
9986In particular, this library supports working with POSIX files that have paths
9987which can't be decoded in the current locale encoding.")
9988 (license license:expat)))
9989
9990;; See ghc-system-filepath-bootstrap. In addition this package depends on
9991;; ghc-system-filepath.
9992(define ghc-system-fileio-bootstrap
9993 (package
9994 (name "ghc-system-fileio-bootstrap")
9995 (version "0.3.16.3")
9996 (source
9997 (origin
9998 (method url-fetch)
9999 (uri (string-append
10000 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10001 version ".tar.gz"))
10002 (sha256
10003 (base32
10004 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10005 (build-system haskell-build-system)
10006 (arguments
10007 `(#:tests? #f))
10008 (inputs
10009 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10010 ("ghc-temporary" ,ghc-temporary)))
10011 (home-page "https://github.com/fpco/haskell-filesystem")
10012 (synopsis "Consistent file system interaction across GHC versions")
10013 (description
10014 "This is a small wrapper around the directory, unix, and Win32 packages,
10015for use with system-filepath. It provides a consistent API to the various
10016versions of these packages distributed with different versions of GHC.
10017In particular, this library supports working with POSIX files that have paths
10018which can't be decoded in the current locale encoding.")
10019 (license license:expat)))
10020
10021
10022(define-public ghc-system-filepath
10023 (package
10024 (name "ghc-system-filepath")
10025 (version "0.4.14")
10026 (source
10027 (origin
10028 (method url-fetch)
10029 (uri (string-append
10030 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10031 version ".tar.gz"))
10032 (sha256
10033 (base32
10034 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10035 (build-system haskell-build-system)
10036 ;; FIXME: One of the tests fails:
10037 ;; [ FAIL ] tests.validity.posix
10038 ;; note: seed=7310214548328823169
10039 ;; *** Failed! Falsifiable (after 24 tests):
10040 ;; 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"
10041 (arguments `(#:tests? #f))
10042 (inputs
10043 `(("ghc-chell" ,ghc-chell)
10044 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
10045 ("ghc-quickcheck" ,ghc-quickcheck)))
10046 (home-page "https://github.com/fpco/haskell-filesystem")
10047 (synopsis "High-level, byte-based file and directory path manipulations")
10048 (description
10049 "Provides a FilePath datatype and utility functions for operating on it.
10050Unlike the filepath package, this package does not simply reuse String,
10051increasing type safety.")
10052 (license license:expat)))
10053
10054;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
10055;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
10056;; which depends on ghc-chell and ghc-chell-quickcheck.
10057;; Therefore we bootstrap it with tests disabled.
10058(define ghc-system-filepath-bootstrap
10059 (package
10060 (name "ghc-system-filepath-bootstrap")
10061 (version "0.4.14")
10062 (source
10063 (origin
10064 (method url-fetch)
10065 (uri (string-append
10066 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10067 version ".tar.gz"))
10068 (sha256
10069 (base32
10070 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10071 (build-system haskell-build-system)
10072 (arguments
10073 `(#:tests? #f))
10074 (inputs
10075 `(("ghc-quickcheck" ,ghc-quickcheck)))
10076 (home-page "https://github.com/fpco/haskell-filesystem")
10077 (synopsis "High-level, byte-based file and directory path manipulations")
10078 (description
10079 "Provides a FilePath datatype and utility functions for operating on it.
10080Unlike the filepath package, this package does not simply reuse String,
10081increasing type safety.")
10082 (license license:expat)))
10083
10084
10085(define-public ghc-tagged
10086 (package
10087 (name "ghc-tagged")
f0f3756a 10088 (version "0.8.6")
dddbc90c
RV
10089 (source
10090 (origin
10091 (method url-fetch)
10092 (uri (string-append
10093 "https://hackage.haskell.org/package/tagged/tagged-"
10094 version
10095 ".tar.gz"))
10096 (sha256
10097 (base32
f0f3756a 10098 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
10099 (build-system haskell-build-system)
10100 (arguments
10101 `(#:cabal-revision
f0f3756a 10102 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
10103 (inputs
10104 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10105 (home-page "https://hackage.haskell.org/package/tagged")
10106 (synopsis "Haskell phantom types to avoid passing dummy arguments")
10107 (description "This library provides phantom types for Haskell 98, to avoid
10108having to unsafely pass dummy arguments.")
10109 (license license:bsd-3)))
10110
10111(define-public ghc-tar
10112 (package
10113 (name "ghc-tar")
ec83929f 10114 (version "0.5.1.1")
dddbc90c
RV
10115 (source
10116 (origin
10117 (method url-fetch)
10118 (uri (string-append
10119 "https://hackage.haskell.org/package/tar/tar-"
10120 version ".tar.gz"))
10121 (sha256
10122 (base32
ec83929f 10123 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
10124 (build-system haskell-build-system)
10125 ;; FIXME: 2/24 tests fail.
10126 (arguments `(#:tests? #f))
10127 (inputs
10128 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10129 ("ghc-quickcheck" ,ghc-quickcheck)
10130 ("ghc-tasty" ,ghc-tasty)
10131 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10132 (home-page "https://hackage.haskell.org/package/tar")
10133 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10134 (description
10135 "This library is for working with \\\"@.tar@\\\" archive files.
10136It can read and write a range of common variations of the tar archive format
10137including V7, POSIX USTAR and GNU formats. It provides support for packing and
10138unpacking portable archives. This makes it suitable for distribution but not
10139backup because details like file ownership and exact permissions are not
10140preserved. It also provides features for random access to archive content using
10141an index.")
10142 (license license:bsd-3)))
10143
10144(define-public ghc-temporary
10145 (package
10146 (name "ghc-temporary")
10147 (version "1.3")
10148 (source
10149 (origin
10150 (method url-fetch)
10151 (uri (string-append
10152 "https://hackage.haskell.org/package/temporary/temporary-"
10153 version
10154 ".tar.gz"))
10155 (sha256
10156 (base32
10157 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10158 (build-system haskell-build-system)
10159 (inputs
10160 `(("ghc-exceptions" ,ghc-exceptions)
10161 ("ghc-random" ,ghc-random)))
10162 (native-inputs
10163 `(("ghc-base-compat" ,ghc-base-compat)
10164 ("ghc-tasty" ,ghc-tasty)
10165 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10166 (home-page "https://www.github.com/batterseapower/temporary")
10167 (synopsis "Temporary file and directory support")
10168 (description "The functions for creating temporary files and directories
10169in the Haskelll base library are quite limited. This library just repackages
10170the Cabal implementations of its own temporary file and folder functions so
10171that you can use them without linking against Cabal or depending on it being
10172installed.")
10173 (license license:bsd-3)))
10174
10175(define-public ghc-temporary-rc
10176 (package
10177 (name "ghc-temporary-rc")
10178 (version "1.2.0.3")
10179 (source
10180 (origin
10181 (method url-fetch)
10182 (uri (string-append
10183 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10184 version
10185 ".tar.gz"))
10186 (sha256
10187 (base32
10188 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10189 (build-system haskell-build-system)
10190 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10191 (home-page
10192 "https://www.github.com/feuerbach/temporary")
10193 (synopsis
10194 "Portable temporary file and directory support")
10195 (description
10196 "The functions for creating temporary files and directories in the base
10197library are quite limited. The unixutils package contains some good ones, but
10198they aren't portable to Windows. This library just repackages the Cabal
10199implementations of its own temporary file and folder functions so that you can
10200use them without linking against Cabal or depending on it being installed.
10201This is a better maintained fork of the \"temporary\" package.")
10202 (license license:bsd-3)))
10203
10204(define-public ghc-terminal-size
10205 (package
10206 (name "ghc-terminal-size")
10207 (version "0.3.2.1")
10208 (source (origin
10209 (method url-fetch)
10210 (uri (string-append
10211 "https://hackage.haskell.org/package/terminal-size/"
10212 "terminal-size-" version ".tar.gz"))
10213 (sha256
10214 (base32
10215 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10216 (build-system haskell-build-system)
10217 (home-page "https://hackage.haskell.org/package/terminal-size")
10218 (synopsis "Get terminal window height and width")
10219 (description "Get terminal window height and width without ncurses
10220dependency.")
10221 (license license:bsd-3)))
10222
10223(define-public ghc-texmath
10224 (package
10225 (name "ghc-texmath")
10226 (version "0.11.0.1")
10227 (source (origin
10228 (method url-fetch)
10229 (uri (string-append "https://hackage.haskell.org/package/"
10230 "texmath/texmath-" version ".tar.gz"))
10231 (sha256
10232 (base32
10233 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
10234 (build-system haskell-build-system)
10235 (inputs
10236 `(("ghc-syb" ,ghc-syb)
10237 ("ghc-network-uri" ,ghc-network-uri)
10238 ("ghc-split" ,ghc-split)
10239 ("ghc-temporary" ,ghc-temporary)
10240 ("ghc-utf8-string" ,ghc-utf8-string)
10241 ("ghc-xml" ,ghc-xml)
10242 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10243 (home-page "https://github.com/jgm/texmath")
10244 (synopsis "Conversion between formats used to represent mathematics")
10245 (description
10246 "The texmath library provides functions to read and write TeX math,
10247presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10248Office). Support is also included for converting math formats to pandoc's
10249native format (allowing conversion, via pandoc, to a variety of different
10250markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10251it can parse and apply LaTeX macros.")
10252 (license license:gpl2+)))
10253
10254(define-public ghc-text-binary
10255 (package
10256 (name "ghc-text-binary")
10257 (version "0.2.1.1")
10258 (source
10259 (origin
10260 (method url-fetch)
10261 (uri (string-append "https://hackage.haskell.org/package/"
10262 "text-binary/text-binary-"
10263 version ".tar.gz"))
10264 (sha256
10265 (base32
10266 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10267 (build-system haskell-build-system)
10268 (home-page "https://github.com/kawu/text-binary")
10269 (synopsis "Binary instances for text types")
10270 (description
10271 "This package provides a compatibility layer providing @code{Binary}
10272instances for strict and lazy text types for versions older than 1.2.1 of the
10273text package.")
10274 (license license:bsd-2)))
10275
10276(define-public ghc-tf-random
10277 (package
10278 (name "ghc-tf-random")
10279 (version "0.5")
10280 (outputs '("out" "doc"))
10281 (source
10282 (origin
10283 (method url-fetch)
10284 (uri (string-append
10285 "https://hackage.haskell.org/package/tf-random/tf-random-"
10286 version
10287 ".tar.gz"))
10288 (sha256
10289 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10290 (build-system haskell-build-system)
10291 (inputs
10292 `(("ghc-primitive" ,ghc-primitive)
10293 ("ghc-random" ,ghc-random)))
10294 (home-page "https://hackage.haskell.org/package/tf-random")
10295 (synopsis "High-quality splittable pseudorandom number generator")
10296 (description "This package contains an implementation of a high-quality
10297splittable pseudorandom number generator. The generator is based on a
10298cryptographic hash function built on top of the ThreeFish block cipher. See
10299the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10300Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10301 (license license:bsd-3)))
10302
10303(define-public ghc-th-abstraction
10304 (package
10305 (name "ghc-th-abstraction")
1188eabb 10306 (version "0.3.1.0")
dddbc90c
RV
10307 (source
10308 (origin
10309 (method url-fetch)
10310 (uri (string-append "https://hackage.haskell.org/package/"
10311 "th-abstraction/th-abstraction-"
10312 version ".tar.gz"))
10313 (sha256
10314 (base32
1188eabb 10315 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
10316 (build-system haskell-build-system)
10317 (home-page "https://github.com/glguy/th-abstraction")
10318 (synopsis "Nicer interface for reified information about data types")
10319 (description
10320 "This package normalizes variations in the interface for inspecting
10321datatype information via Template Haskell so that packages and support a
10322single, easier to use informational datatype while supporting many versions of
10323Template Haskell.")
10324 (license license:isc)))
10325
10326(define-public ghc-th-expand-syns
10327 (package
10328 (name "ghc-th-expand-syns")
8c766600 10329 (version "0.4.5.0")
dddbc90c
RV
10330 (source (origin
10331 (method url-fetch)
10332 (uri (string-append "https://hackage.haskell.org/package/"
10333 "th-expand-syns/th-expand-syns-"
10334 version ".tar.gz"))
10335 (sha256
10336 (base32
8c766600 10337 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
10338 (build-system haskell-build-system)
10339 (inputs
10340 `(("ghc-syb" ,ghc-syb)))
10341 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10342 (synopsis "Expands type synonyms in Template Haskell ASTs")
10343 (description
10344 "This package enables users to expand type synonyms in Template Haskell
10345@dfn{abstract syntax trees} (ASTs).")
10346 (license license:bsd-3)))
10347
10348(define-public ghc-th-lift
10349 (package
10350 (name "ghc-th-lift")
bd76b20a 10351 (version "0.8.0.1")
dddbc90c
RV
10352 (source (origin
10353 (method url-fetch)
10354 (uri (string-append "https://hackage.haskell.org/package/"
10355 "th-lift/th-lift-" version ".tar.gz"))
10356 (sha256
10357 (base32
bd76b20a 10358 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
10359 (build-system haskell-build-system)
10360 (inputs
10361 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10362 (home-page "https://github.com/mboes/th-lift")
10363 (synopsis "Derive Template Haskell's Lift class for datatypes")
10364 (description
10365 "This is a Haskell library to derive Template Haskell's Lift class for
10366datatypes.")
10367 (license license:bsd-3)))
10368
10369(define-public ghc-th-lift-instances
10370 (package
10371 (name "ghc-th-lift-instances")
d3db399e 10372 (version "0.1.14")
dddbc90c
RV
10373 (source
10374 (origin
10375 (method url-fetch)
10376 (uri (string-append "https://hackage.haskell.org/package/"
10377 "th-lift-instances/th-lift-instances-"
10378 version ".tar.gz"))
10379 (sha256
10380 (base32
d3db399e 10381 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
10382 (build-system haskell-build-system)
10383 (inputs
10384 `(("ghc-th-lift" ,ghc-th-lift)
10385 ("ghc-vector" ,ghc-vector)
10386 ("ghc-quickcheck" ,ghc-quickcheck)))
10387 (home-page "https://github.com/bennofs/th-lift-instances/")
10388 (synopsis "Lift instances for template-haskell for common data types.")
10389 (description "Most data types in the Haskell platform do not have Lift
10390instances. This package provides orphan instances for @code{containers},
10391@code{text}, @code{bytestring} and @code{vector}.")
10392 (license license:bsd-3)))
10393
10394(define-public ghc-th-orphans
10395 (package
10396 (name "ghc-th-orphans")
10397 (version "0.13.6")
10398 (source (origin
10399 (method url-fetch)
10400 (uri (string-append "https://hackage.haskell.org/package/"
10401 "th-orphans/th-orphans-" version ".tar.gz"))
10402 (sha256
10403 (base32
10404 "0sfl3pn9kq9da3ji3lsgzgzy82vz6yvsg80dmakc1jvk7awycibp"))))
10405 (build-system haskell-build-system)
10406 (inputs
10407 `(("ghc-th-lift" ,ghc-th-lift)
10408 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10409 ("ghc-th-reify-many" ,ghc-th-reify-many)
10410 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10411 (native-inputs
10412 `(("ghc-hspec" ,ghc-hspec)))
10413 (home-page "https://hackage.haskell.org/package/th-orphans")
10414 (synopsis "Orphan instances for TH datatypes")
10415 (description
10416 "This package provides orphan instances for Template Haskell datatypes. In particular,
10417instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10418and @code{Eq} instances. These instances used to live in the haskell-src-meta
10419package, and that's where the version number started.")
10420 (license license:bsd-3)))
10421
10422(define-public ghc-threads
10423 (package
10424 (name "ghc-threads")
10425 (version "0.5.1.6")
10426 (source
10427 (origin
10428 (method url-fetch)
10429 (uri (string-append "https://hackage.haskell.org/package/"
10430 "threads/threads-" version ".tar.gz"))
10431 (sha256
10432 (base32
10433 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10434 (build-system haskell-build-system)
10435 (native-inputs
10436 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10437 ("ghc-hunit" ,ghc-hunit)
10438 ("ghc-test-framework" ,ghc-test-framework)
10439 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10440 (home-page "https://github.com/basvandijk/threads")
10441 (synopsis "Fork threads and wait for their result")
10442 (description "This package provides functions to fork threads and
10443wait for their result, whether it's an exception or a normal value.
10444Besides waiting for the termination of a single thread this package also
10445provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10446package is similar to the @code{threadmanager}, @code{async} and
10447@code{spawn} packages. The advantages of this package are:
10448
dddbc90c
RV
10449@itemize
10450@item Simpler API.
10451@item More efficient in both space and time.
10452@item No space-leak when forking a large number of threads.
10453@item Correct handling of asynchronous exceptions.
10454@item GHC specific functionality like @code{forkOn} and
10455@code{forkIOWithUnmask}.
10456@end itemize")
10457 (license license:bsd-3)))
10458
10459(define-public ghc-th-reify-many
10460 (package
10461 (name "ghc-th-reify-many")
32d4a6ae 10462 (version "0.1.9")
dddbc90c
RV
10463 (source (origin
10464 (method url-fetch)
10465 (uri (string-append "https://hackage.haskell.org/package/"
10466 "th-reify-many/th-reify-many-"
10467 version ".tar.gz"))
10468 (sha256
10469 (base32
32d4a6ae 10470 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
10471 (build-system haskell-build-system)
10472 (inputs
10473 `(("ghc-safe" ,ghc-safe)
10474 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10475 (home-page "https://github.com/mgsloan/th-reify-many")
10476 (synopsis "Recurseively reify template haskell datatype info")
10477 (description
10478 "th-reify-many provides functions for recursively reifying top level
10479declarations. The main intended use case is for enumerating the names of
10480datatypes reachable from an initial datatype, and passing these names to some
10481function which generates instances.")
10482 (license license:bsd-3)))
10483
10484(define-public ghc-time-locale-compat
10485 (package
10486 (name "ghc-time-locale-compat")
10487 (version "0.1.1.5")
10488 (source
10489 (origin
10490 (method url-fetch)
10491 (uri (string-append "https://hackage.haskell.org/package/"
10492 "time-locale-compat/time-locale-compat-"
10493 version ".tar.gz"))
10494 (sha256
10495 (base32
10496 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10497 (build-system haskell-build-system)
10498 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10499 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10500 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10501 (description "This package contains a wrapped name module for
10502@code{TimeLocale}.")
10503 (license license:bsd-3)))
10504
7bbfa392
JS
10505(define-public ghc-timeit
10506 (package
10507 (name "ghc-timeit")
10508 (version "2.0")
10509 (source
10510 (origin
10511 (method url-fetch)
10512 (uri
10513 (string-append
10514 "https://hackage.haskell.org/package/timeit/timeit-"
10515 version ".tar.gz"))
10516 (sha256
10517 (base32
10518 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
10519 (build-system haskell-build-system)
10520 (home-page "https://github.com/merijn/timeit")
10521 (synopsis "Time monadic computations with an IO base")
10522 (description "This package provides a simple wrapper to show the
10523used CPU time of monadic computation with an IO base.")
10524 (license license:bsd-3)))
10525
dddbc90c
RV
10526(define-public ghc-tldr
10527 (package
10528 (name "ghc-tldr")
10529 (version "0.4.0.1")
10530 (source
10531 (origin
10532 (method url-fetch)
10533 (uri (string-append
10534 "https://hackage.haskell.org/package/tldr/tldr-"
10535 version
10536 ".tar.gz"))
10537 (sha256
10538 (base32
10539 "0nc581y9jjzwd8l88g48c72mla7k6q1w102akl7gl5jsk9ljamd3"))))
10540 (build-system haskell-build-system)
10541 (inputs
10542 `(("ghc-cmark" ,ghc-cmark)
10543 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10544 ("ghc-typed-process" ,ghc-typed-process)
10545 ("ghc-semigroups" ,ghc-semigroups)))
10546 (native-inputs
10547 `(("ghc-tasty" ,ghc-tasty)
10548 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10549 (home-page "https://github.com/psibi/tldr-hs#readme")
10550 (synopsis "Haskell tldr client")
10551 (description "This package provides the @command{tldr} command and a
10552Haskell client library allowing users to update and view @code{tldr} pages
10553from a shell. The @code{tldr} pages are a community effort to simplify the
10554man pages with practical examples.")
10555 (license license:bsd-3)))
10556
10557(define-public ghc-transformers-base
10558 (package
10559 (name "ghc-transformers-base")
10560 (version "0.4.5.2")
10561 (source
10562 (origin
10563 (method url-fetch)
10564 (uri (string-append
10565 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10566 version
10567 ".tar.gz"))
10568 (sha256
10569 (base32
10570 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10571 (build-system haskell-build-system)
10572 (inputs
10573 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10574 (home-page
10575 "https://hackage.haskell.org/package/transformers-compat")
10576 (synopsis
10577 "Backported transformer library")
10578 (description
10579 "Backported versions of types that were added to transformers in
10580transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10581compatibility to run on old versions of the platform.")
10582 (license license:bsd-3)))
10583
10584(define-public ghc-transformers-compat
10585 (package
10586 (name "ghc-transformers-compat")
1c9c4d58 10587 (version "0.6.5")
dddbc90c
RV
10588 (source
10589 (origin
10590 (method url-fetch)
10591 (uri (string-append
10592 "https://hackage.haskell.org/package/transformers-compat"
10593 "/transformers-compat-" version ".tar.gz"))
10594 (sha256
10595 (base32
1c9c4d58 10596 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
10597 (build-system haskell-build-system)
10598 (home-page "https://github.com/ekmett/transformers-compat/")
10599 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10600 (description "This package includes backported versions of types that were
10601added to transformers in transformers 0.3 and 0.4 for users who need strict
10602transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10603but also need those types.")
10604 (license license:bsd-3)))
10605
10606(define-public ghc-tree-diff
10607 (package
10608 (name "ghc-tree-diff")
10609 (version "0.0.1")
10610 (source
10611 (origin
10612 (method url-fetch)
10613 (uri (string-append
10614 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10615 version
10616 ".tar.gz"))
10617 (sha256
10618 (base32
10619 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10620 (build-system haskell-build-system)
10621 (arguments
10622 `(#:cabal-revision
10623 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10624 #:phases
10625 (modify-phases %standard-phases
10626 (add-before 'configure 'update-constraints
10627 (lambda _
10628 (substitute* "tree-diff.cabal"
10629 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10630 "trifecta >=1.7.1.1 && <=2")))))))
10631 (inputs
10632 `(("ghc-aeson" ,ghc-aeson)
10633 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10634 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10635 ("ghc-base-compat" ,ghc-base-compat)
10636 ("ghc-generics-sop" ,ghc-generics-sop)
10637 ("ghc-hashable" ,ghc-hashable)
10638 ("ghc-memotrie" ,ghc-memotrie)
10639 ("ghc-parsers" ,ghc-parsers)
10640 ("ghc-quickcheck" ,ghc-quickcheck)
10641 ("ghc-scientific" ,ghc-scientific)
10642 ("ghc-tagged" ,ghc-tagged)
10643 ("ghc-unordered-containers" ,ghc-unordered-containers)
10644 ("ghc-uuid-types" ,ghc-uuid-types)
10645 ("ghc-vector" ,ghc-vector)))
10646 (native-inputs
10647 `(("ghc-base-compat" ,ghc-base-compat)
10648 ("ghc-quickcheck" ,ghc-quickcheck)
10649 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10650 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10651 ("ghc-trifecta" ,ghc-trifecta)
10652 ("ghc-tasty" ,ghc-tasty)
10653 ("ghc-tasty-golden" ,ghc-tasty-golden)
10654 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10655 (home-page "https://github.com/phadej/tree-diff")
10656 (synopsis "Compute difference between (expression) trees")
10657 (description "This Haskell library provides a function for computing
10658the difference between (expression) trees. It also provides a way to
10659compute the difference between arbitrary abstract datatypes (ADTs) using
10660@code{Generics}-derivable helpers.")
10661 (license license:bsd-3)))
10662
10663(define-public ghc-trifecta
10664 (package
10665 (name "ghc-trifecta")
10666 (version "2")
10667 (source (origin
10668 (method url-fetch)
10669 (uri (string-append
10670 "https://hackage.haskell.org/package/trifecta/"
10671 "trifecta-" version ".tar.gz"))
10672 (sha256
10673 (base32
10674 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10675 (build-system haskell-build-system)
10676 (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
10677 (inputs
10678 `(("ghc-reducers" ,ghc-reducers)
10679 ("ghc-semigroups" ,ghc-semigroups)
10680 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10681 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10682 ("ghc-blaze-builder" ,ghc-blaze-builder)
10683 ("ghc-blaze-html" ,ghc-blaze-html)
10684 ("ghc-blaze-markup" ,ghc-blaze-markup)
10685 ("ghc-charset" ,ghc-charset)
10686 ("ghc-comonad" ,ghc-comonad)
10687 ("ghc-fingertree" ,ghc-fingertree)
10688 ("ghc-hashable" ,ghc-hashable)
10689 ("ghc-lens" ,ghc-lens)
10690 ("ghc-parsers" ,ghc-parsers)
10691 ("ghc-profunctors" ,ghc-profunctors)
10692 ("ghc-unordered-containers" ,ghc-unordered-containers)
10693 ("ghc-utf8-string" ,ghc-utf8-string)))
10694 (native-inputs
10695 `(("cabal-doctest" ,cabal-doctest)
10696 ("ghc-doctest" ,ghc-doctest)
10697 ("ghc-quickcheck" ,ghc-quickcheck)))
10698 (home-page "https://github.com/ekmett/trifecta/")
10699 (synopsis "Parser combinator library with convenient diagnostics")
10700 (description "Trifecta is a modern parser combinator library for Haskell,
10701with slicing and Clang-style colored diagnostics.")
10702 (license license:bsd-3)))
10703
10704(define-public ghc-tuple-th
10705 (package
10706 (name "ghc-tuple-th")
10707 (version "0.2.5")
10708 (source
10709 (origin
10710 (method url-fetch)
10711 (uri (string-append "https://hackage.haskell.org/package/"
10712 "tuple-th-" version "/"
10713 "tuple-th-" version ".tar.gz"))
10714 (sha256
10715 (base32
10716 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10717 (build-system haskell-build-system)
10718 (home-page "https://github.com/DanielSchuessler/tuple-th")
10719 (synopsis "Generate utility functions for tuples of statically known size
10720for Haskell")
10721 (description "This Haskell package contains Template Haskell functions for
10722generating functions similar to those in @code{Data.List} for tuples of
10723statically known size.")
10724 (license license:bsd-3)))
10725
10726(define-public ghc-typed-process
10727 (package
10728 (name "ghc-typed-process")
10729 (version "0.2.3.0")
10730 (source
10731 (origin
10732 (method url-fetch)
10733 (uri (string-append "https://hackage.haskell.org/package/"
10734 "typed-process/typed-process-"
10735 version ".tar.gz"))
10736 (sha256
10737 (base32
10738 "0j36vrc9w841m5qbwqra1lwiznx31xfnhin1sm8x2c2739csbpn0"))))
10739 (build-system haskell-build-system)
10740 (inputs
10741 `(("ghc-async" ,ghc-async)))
10742 (native-inputs
10743 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10744 ("ghc-hspec" ,ghc-hspec)
10745 ("hspec-discover" ,hspec-discover)
10746 ("ghc-temporary" ,ghc-temporary)))
10747 (home-page "https://haskell-lang.org/library/typed-process")
10748 (synopsis "Run external processes with strong typing of streams")
10749 (description
10750 "This library provides the ability to launch and interact with external
10751processes. It wraps around the @code{process} library, and intends to improve
10752upon it.")
10753 (license license:expat)))
10754
d392f803
AG
10755(define-public ghc-unagi-chan
10756 (package
10757 (name "ghc-unagi-chan")
10758 (version "0.4.1.2")
10759 (source
10760 (origin
10761 (method url-fetch)
10762 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
10763 "/unagi-chan-" version ".tar.gz"))
10764 (sha256
10765 (base32
10766 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
10767 (build-system haskell-build-system)
10768 (inputs
10769 `(("ghc-atomic-primops" ,ghc-atomic-primops)
10770 ("ghc-primitive" ,ghc-primitive)))
10771 (arguments
10772 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
10773 #:cabal-revision
10774 ("1"
10775 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
10776 (home-page "http://hackage.haskell.org/package/unagi-chan")
10777 (synopsis "Fast concurrent queues with a Chan-like API, and more")
10778 (description
10779 "This library provides implementations of concurrent FIFO queues (for
10780both general boxed and primitive unboxed values) that are fast, perform well
10781under contention, and offer a Chan-like interface. The library may be of
10782limited usefulness outside of x86 architectures where the fetch-and-add
10783instruction is not available.")
10784 (license license:bsd-3)))
10785
dddbc90c
RV
10786(define-public ghc-unbounded-delays
10787 (package
10788 (name "ghc-unbounded-delays")
10789 (version "0.1.1.0")
10790 (source
10791 (origin
10792 (method url-fetch)
10793 (uri (string-append
10794 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
10795 version
10796 ".tar.gz"))
10797 (sha256
10798 (base32
10799 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
10800 (build-system haskell-build-system)
10801 (home-page "https://github.com/basvandijk/unbounded-delays")
10802 (synopsis "Unbounded thread delays and timeouts")
10803 (description "The @code{threadDelay} and @code{timeout} functions from the
10804Haskell base library use the bounded @code{Int} type for specifying the delay
10805or timeout period. This package provides alternative functions which use the
10806unbounded @code{Integer} type.")
10807 (license license:bsd-3)))
10808
10809(define-public ghc-unexceptionalio
10810 (package
10811 (name "ghc-unexceptionalio")
10812 (version "0.4.0")
10813 (source
10814 (origin
10815 (method url-fetch)
10816 (uri (string-append "https://hackage.haskell.org/package/"
10817 "unexceptionalio-" version "/" "unexceptionalio-"
10818 version ".tar.gz"))
10819 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
10820 (build-system haskell-build-system)
10821 (home-page "https://github.com/singpolyma/unexceptionalio")
10822 (synopsis "IO without any non-error, synchronous exceptions")
10823 (description "When you've caught all the exceptions that can be
10824handled safely, this is what you're left with.")
10825 (license license:isc)))
10826
10827(define-public ghc-union-find
10828 (package
10829 (name "ghc-union-find")
10830 (version "0.2")
10831 (source (origin
10832 (method url-fetch)
10833 (uri (string-append
10834 "https://hackage.haskell.org/package/union-find/union-find-"
10835 version ".tar.gz"))
10836 (sha256
10837 (base32
10838 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
10839 (build-system haskell-build-system)
10840 (home-page "https://github.com/nominolo/union-find")
10841 (synopsis "Efficient union and equivalence testing of sets")
10842 (description
10843 "The Union/Find algorithm implements these operations in (effectively)
10844constant-time:
10845@enumerate
10846@item Check whether two elements are in the same equivalence class.
10847@item Create a union of two equivalence classes.
10848@item Look up the descriptor of the equivalence class.
10849@end enumerate\n")
10850 (license license:bsd-3)))
10851
10852(define-public ghc-uniplate
10853 (package
10854 (name "ghc-uniplate")
10855 (version "1.6.12")
10856 (source
10857 (origin
10858 (method url-fetch)
10859 (uri (string-append
10860 "https://hackage.haskell.org/package/uniplate/uniplate-"
10861 version
10862 ".tar.gz"))
10863 (sha256
10864 (base32
10865 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
10866 (build-system haskell-build-system)
10867 (inputs
10868 `(("ghc-syb" ,ghc-syb)
10869 ("ghc-hashable" ,ghc-hashable)
10870 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10871 (home-page "http://community.haskell.org/~ndm/uniplate/")
10872 (synopsis "Simple, concise and fast generic operations")
10873 (description "Uniplate is a library for writing simple and concise generic
10874operations. Uniplate has similar goals to the original Scrap Your Boilerplate
10875work, but is substantially simpler and faster.")
10876 (license license:bsd-3)))
10877
10878(define-public ghc-unix-compat
10879 (package
10880 (name "ghc-unix-compat")
bc82e9f5 10881 (version "0.5.2")
dddbc90c
RV
10882 (source
10883 (origin
10884 (method url-fetch)
10885 (uri (string-append
10886 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
10887 version
10888 ".tar.gz"))
10889 (sha256
10890 (base32
bc82e9f5 10891 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
10892 (build-system haskell-build-system)
10893 (home-page
10894 "https://github.com/jystic/unix-compat")
10895 (synopsis "Portable POSIX-compatibility layer")
10896 (description
10897 "This package provides portable implementations of parts of the unix
10898package. This package re-exports the unix package when available. When it
10899isn't available, portable implementations are used.")
10900 (license license:bsd-3)))
10901
10902(define-public ghc-unix-time
10903 (package
10904 (name "ghc-unix-time")
fad9cff2 10905 (version "0.4.7")
dddbc90c
RV
10906 (source
10907 (origin
10908 (method url-fetch)
10909 (uri (string-append
10910 "https://hackage.haskell.org/package/unix-time/unix-time-"
10911 version
10912 ".tar.gz"))
10913 (sha256
10914 (base32
fad9cff2 10915 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
10916 (build-system haskell-build-system)
10917 (arguments
10918 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
10919 ; is weird, that should be provided by GHC 7.10.2.
10920 (inputs
10921 `(("ghc-old-time" ,ghc-old-time)
10922 ("ghc-old-locale" ,ghc-old-locale)))
10923 (home-page "https://hackage.haskell.org/package/unix-time")
10924 (synopsis "Unix time parser/formatter and utilities")
10925 (description "This library provides fast parsing and formatting utilities
10926for Unix time in Haskell.")
10927 (license license:bsd-3)))
10928
10929(define-public ghc-unliftio
10930 (package
10931 (name "ghc-unliftio")
a4084db1 10932 (version "0.2.12")
dddbc90c
RV
10933 (source
10934 (origin
10935 (method url-fetch)
10936 (uri (string-append
10937 "https://hackage.haskell.org/package/unliftio/unliftio-"
10938 version
10939 ".tar.gz"))
10940 (sha256
10941 (base32
a4084db1 10942 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
10943 (build-system haskell-build-system)
10944 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
10945 (inputs
10946 `(("ghc-async" ,ghc-async)
10947 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10948 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
10949 (home-page "https://github.com/fpco/unliftio")
10950 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
10951IO (batteries included)")
10952 (description "This Haskell package provides the core @code{MonadUnliftIO}
10953typeclass, a number of common instances, and a collection of common functions
10954working with it.")
10955 (license license:expat)))
10956
10957(define-public ghc-unliftio-core
10958 (package
10959 (name "ghc-unliftio-core")
2ae42618 10960 (version "0.1.2.0")
dddbc90c
RV
10961 (source
10962 (origin
10963 (method url-fetch)
10964 (uri (string-append "https://hackage.haskell.org/package/"
10965 "unliftio-core-" version "/"
10966 "unliftio-core-" version ".tar.gz"))
10967 (sha256
10968 (base32
2ae42618 10969 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
10970 (build-system haskell-build-system)
10971 (arguments
10972 `(#:cabal-revision
2ae42618 10973 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
10974 (home-page
10975 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
10976 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
10977 (description "This Haskell package provides the core @code{MonadUnliftIO}
10978typeclass, instances for base and transformers, and basic utility
10979functions.")
10980 (license license:expat)))
10981
10982(define-public ghc-unordered-containers
10983 (package
10984 (name "ghc-unordered-containers")
ca01f8d3 10985 (version "0.2.10.0")
dddbc90c
RV
10986 (outputs '("out" "doc"))
10987 (source
10988 (origin
10989 (method url-fetch)
10990 (uri (string-append
10991 "https://hackage.haskell.org/package/unordered-containers"
10992 "/unordered-containers-" version ".tar.gz"))
10993 (sha256
10994 (base32
ca01f8d3 10995 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
10996 (build-system haskell-build-system)
10997 (inputs
10998 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
10999 ("ghc-hunit" ,ghc-hunit)
11000 ("ghc-quickcheck" ,ghc-quickcheck)
11001 ("ghc-test-framework" ,ghc-test-framework)
11002 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11003 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11004 ("ghc-hashable" ,ghc-hashable)))
11005 (home-page
11006 "https://github.com/tibbe/unordered-containers")
11007 (synopsis
11008 "Efficient hashing-based container types")
11009 (description
11010 "Efficient hashing-based container types. The containers have been
11011optimized for performance critical use, both in terms of large data quantities
11012and high speed.")
11013 (license license:bsd-3)))
11014
11015(define-public ghc-unordered-containers-bootstrap
11016 (package
11017 (inherit ghc-unordered-containers)
11018 (name "ghc-unordered-containers-bootstrap")
11019 (arguments `(#:tests? #f))
11020 (inputs
11021 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11022 (properties '((hidden? #t)))))
dddbc90c 11023
a52f4c57
JS
11024(define-public ghc-unsafe
11025 (package
11026 (name "ghc-unsafe")
11027 (version "0.0")
11028 (source
11029 (origin
11030 (method url-fetch)
11031 (uri
11032 (string-append
11033 "https://hackage.haskell.org/package/unsafe/unsafe-"
11034 version ".tar.gz"))
11035 (sha256
11036 (base32
11037 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
11038 (build-system haskell-build-system)
11039 (home-page "https://hackage.haskell.org/package/unsafe")
11040 (synopsis "Unified interface to unsafe functions")
11041 (description "Safe Haskell introduced the notion of safe and unsafe
11042modules. In order to make as many as possible modules ``safe'', the
11043well-known unsafe functions were moved to distinguished modules. This
11044makes it hard to write packages that work with both old and new versions
11045of GHC. This package provides a single module System.Unsafe that
11046exports the unsafe functions from the base package. It provides them in
11047a style ready for qualification, that is, you should import them by
11048@code{import qualified System.Unsafe as Unsafe}.")
11049 (license license:bsd-3)))
11050
dddbc90c
RV
11051(define-public ghc-uri-bytestring
11052 (package
11053 (name "ghc-uri-bytestring")
11054 (version "0.3.2.0")
11055 (source
11056 (origin
11057 (method url-fetch)
11058 (uri (string-append "https://hackage.haskell.org/package/"
11059 "uri-bytestring-" version "/"
11060 "uri-bytestring-" version ".tar.gz"))
11061 (sha256
11062 (base32
11063 "1q04j5ybvk37zk2m0bkjwyhblz0ymdj0cn4rvsvdca1ikn5xdv5c"))))
11064 (build-system haskell-build-system)
11065 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11066 ("ghc-fail" ,ghc-fail)
11067 ("ghc-blaze-builder" ,ghc-blaze-builder)
11068 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
11069 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11070 ("ghc-hunit" ,ghc-hunit)
11071 ("ghc-quickcheck" ,ghc-quickcheck)
11072 ("ghc-tasty" ,ghc-tasty)
11073 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11074 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11075 ("ghc-base-compat" ,ghc-base-compat)
11076 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11077 ("ghc-semigroups" ,ghc-semigroups)
11078 ("ghc-generics-sop" ,ghc-generics-sop)))
11079 (home-page "https://github.com/Soostone/uri-bytestring")
11080 (synopsis "Haskell URI parsing as ByteStrings")
11081 (description "This Haskell package aims to be an RFC3986 compliant URI
11082parser that uses ByteStrings for parsing and representing the URI data.")
11083 (license license:bsd-3)))
11084
11085(define-public ghc-utf8-string
11086 (package
11087 (name "ghc-utf8-string")
11088 (version "1.0.1.1")
11089 (source
11090 (origin
11091 (method url-fetch)
11092 (uri (string-append
11093 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
11094 version
11095 ".tar.gz"))
11096 (sha256
11097 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
11098 (build-system haskell-build-system)
11099 (arguments
11100 `(#:cabal-revision
11101 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
11102 (home-page "https://github.com/glguy/utf8-string/")
11103 (synopsis "Support for reading and writing UTF8 Strings")
11104 (description
11105 "A UTF8 layer for Strings. The utf8-string package provides operations
11106for encoding UTF8 strings to Word8 lists and back, and for reading and writing
11107UTF8 without truncation.")
11108 (license license:bsd-3)))
11109
11110(define-public ghc-utility-ht
11111 (package
11112 (name "ghc-utility-ht")
11113 (version "0.0.14")
11114 (home-page "https://hackage.haskell.org/package/utility-ht")
11115 (source
11116 (origin
11117 (method url-fetch)
11118 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
11119 (sha256
11120 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
11121 (build-system haskell-build-system)
11122 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
11123 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
11124 (description "This package includes Hakell modules providing various
11125helper functions for Lists, Maybes, Tuples, Functions.")
11126 (license license:bsd-3)))
11127
11128(define-public ghc-uuid
11129 (package
11130 (name "ghc-uuid")
11131 (version "1.3.13")
11132 (source
11133 (origin
11134 (method url-fetch)
11135 (uri (string-append "https://hackage.haskell.org/package/"
11136 "uuid-" version "/"
11137 "uuid-" version ".tar.gz"))
11138 (sha256
11139 (base32
11140 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
11141 (build-system haskell-build-system)
11142 (arguments
11143 `(#:cabal-revision
11144 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
11145 #:phases
11146 (modify-phases %standard-phases
11147 (add-before 'configure 'strip-test-framework-constraints
11148 (lambda _
11149 (substitute* "uuid.cabal"
11150 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
11151 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
11152 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11153 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11154 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11155 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
11156 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
11157 ("ghc-entropy" ,ghc-entropy)
11158 ("ghc-network-info" ,ghc-network-info)
11159 ("ghc-random" ,ghc-random)
11160 ("ghc-uuid-types" ,ghc-uuid-types)))
11161 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11162 ("ghc-quickcheck" ,ghc-quickcheck)
11163 ("ghc-tasty" ,ghc-tasty)
11164 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11165 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11166 (home-page "https://github.com/hvr/uuid")
11167 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
11168 (description "This Haskell library provides utilities creating, comparing,
11169parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
11170 (license license:bsd-3)))
11171
11172(define-public ghc-uuid-types
11173 (package
11174 (name "ghc-uuid-types")
11175 (version "1.0.3")
11176 (source
11177 (origin
11178 (method url-fetch)
11179 (uri (string-append "https://hackage.haskell.org/package/"
11180 "uuid-types-" version "/"
11181 "uuid-types-" version ".tar.gz"))
11182 (sha256
11183 (base32
11184 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
11185 (build-system haskell-build-system)
11186 (arguments
11187 `(#:phases
11188 (modify-phases %standard-phases
11189 (add-before 'configure 'strip-test-framework-constraints
11190 (lambda _
11191 (substitute* "uuid-types.cabal"
11192 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
11193 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
11194 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11195 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11196 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11197 (inputs `(("ghc-hashable" ,ghc-hashable)
11198 ("ghc-random" ,ghc-random)))
11199 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11200 ("ghc-quickcheck" ,ghc-quickcheck)
11201 ("ghc-tasty" ,ghc-tasty)
11202 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11203 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11204 (home-page "https://github.com/hvr/uuid")
11205 (synopsis "Haskell type definitions for UUIDs")
11206 (description "This Haskell library contains type definitions for
11207@dfn{Universally Unique Identifiers} or
11208@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
11209functions.")
11210 (license license:bsd-3)))
11211
11212(define-public ghc-validation
11213 (package
11214 (name "ghc-validation")
11215 (version "1")
11216 (source
11217 (origin
11218 (method url-fetch)
11219 (uri (string-append
11220 "mirror://hackage/package/validation/validation-"
11221 version
11222 ".tar.gz"))
11223 (sha256
11224 (base32
11225 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
11226 (build-system haskell-build-system)
11227 (arguments
11228 `(#:cabal-revision
11229 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
11230 (inputs
11231 `(("ghc-semigroups" ,ghc-semigroups)
11232 ("ghc-semigroupoids" ,ghc-semigroupoids)
11233 ("ghc-bifunctors" ,ghc-bifunctors)
11234 ("ghc-lens" ,ghc-lens)))
11235 (native-inputs
11236 `(("ghc-hedgehog" ,ghc-hedgehog)
11237 ("ghc-hunit" ,ghc-hunit)))
11238 (home-page "https://github.com/qfpl/validation")
11239 (synopsis
11240 "Data-type like Either but with an accumulating Applicative")
11241 (description
11242 "A data-type like Either but with differing properties and type-class
11243instances.
11244
11245Library support is provided for this different representation, including
11246@code{lens}-related functions for converting between each and abstracting over
11247their similarities.
11248
11249The @code{Validation} data type is isomorphic to @code{Either}, but has an
11250instance of @code{Applicative} that accumulates on the error side. That is to
11251say, if two (or more) errors are encountered, they are appended using a
11252@{Semigroup} operation.
11253
11254As a consequence of this @code{Applicative} instance, there is no
11255corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11256example of, \"An applicative functor that is not a monad.\"")
11257 (license license:bsd-3)))
11258
11259(define-public ghc-validity
11260 (package
11261 (name "ghc-validity")
3f1ba75d 11262 (version "0.9.0.2")
dddbc90c
RV
11263 (source
11264 (origin
11265 (method url-fetch)
11266 (uri (string-append
11267 "https://hackage.haskell.org/package/validity/validity-"
11268 version
11269 ".tar.gz"))
11270 (sha256
11271 (base32
3f1ba75d 11272 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
11273 (build-system haskell-build-system)
11274 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11275 ("hspec-discover" ,hspec-discover)))
11276 (home-page
11277 "https://github.com/NorfairKing/validity")
11278 (synopsis "Validity typeclass")
11279 (description
11280 "Values of custom types usually have invariants imposed upon them. This
11281package provides the @code{Validity} type class, which makes these invariants
11282explicit by providing a function to check whether the invariants hold.")
11283 (license license:expat)))
11284
11285(define-public ghc-vault
11286 (package
11287 (name "ghc-vault")
11288 (version "0.3.1.2")
11289 (source
11290 (origin
11291 (method url-fetch)
11292 (uri (string-append
11293 "https://hackage.haskell.org/package/vault/vault-"
11294 version
11295 ".tar.gz"))
11296 (sha256
11297 (base32
11298 "072mbrihsdsb8c6xvg6lvk0rqjgvxvi8qkg4n6wwym5hq0pfa04y"))))
11299 (build-system haskell-build-system)
11300 (inputs
11301 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11302 ("ghc-hashable" ,ghc-hashable)
11303 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11304 (home-page
11305 "https://github.com/HeinrichApfelmus/vault")
11306 (synopsis "Persistent store for arbitrary values")
11307 (description "This package provides vaults for Haskell. A vault is a
11308persistent store for values of arbitrary types. It's like having first-class
11309access to the storage space behind @code{IORefs}. The data structure is
11310analogous to a bank vault, where you can access different bank boxes with
11311different keys; hence the name. Also provided is a @code{locker} type,
11312representing a store for a single element.")
11313 (license license:bsd-3)))
11314
11315(define-public ghc-vector
11316 (package
11317 (name "ghc-vector")
3ad67f6b 11318 (version "0.12.0.3")
dddbc90c
RV
11319 (outputs '("out" "doc"))
11320 (source
11321 (origin
11322 (method url-fetch)
11323 (uri (string-append
11324 "https://hackage.haskell.org/package/vector/vector-"
11325 version
11326 ".tar.gz"))
11327 (sha256
11328 (base32
3ad67f6b 11329 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
11330 (build-system haskell-build-system)
11331 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11332 ;; disabled for now.
11333 (arguments
3ad67f6b 11334 `(#:tests? #f))
dddbc90c
RV
11335 (inputs
11336 `(("ghc-primitive" ,ghc-primitive)
11337 ("ghc-random" ,ghc-random)
11338 ("ghc-quickcheck" ,ghc-quickcheck)
11339 ;; ("ghc-hunit" ,ghc-hunit)
11340 ;; ("ghc-test-framework" ,ghc-test-framework)
11341 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11342 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11343 ))
11344 (home-page "https://github.com/haskell/vector")
11345 (synopsis "Efficient Arrays")
11346 (description "This library provides an efficient implementation of
11347Int-indexed arrays (both mutable and immutable), with a powerful loop
11348optimisation framework.")
11349 (license license:bsd-3)))
11350
11351(define-public ghc-vector-algorithms
11352 (package
11353 (name "ghc-vector-algorithms")
e71f316f 11354 (version "0.8.0.1")
dddbc90c
RV
11355 (source
11356 (origin
11357 (method url-fetch)
11358 (uri (string-append "https://hackage.haskell.org/package/"
11359 "vector-algorithms-" version "/"
11360 "vector-algorithms-" version ".tar.gz"))
11361 (sha256
11362 (base32
e71f316f 11363 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
11364 (build-system haskell-build-system)
11365 (inputs
11366 `(("ghc-vector" ,ghc-vector)))
11367 (native-inputs
11368 `(("ghc-quickcheck" ,ghc-quickcheck)))
11369 (home-page "https://github.com/bos/math-functions")
11370 (synopsis "Algorithms for vector arrays in Haskell")
11371 (description "This Haskell library algorithms for vector arrays.")
11372 (license license:bsd-3)))
11373
11374(define-public ghc-vector-binary-instances
11375 (package
11376 (name "ghc-vector-binary-instances")
ca0701ef 11377 (version "0.2.5.1")
dddbc90c
RV
11378 (source
11379 (origin
11380 (method url-fetch)
11381 (uri (string-append
11382 "https://hackage.haskell.org/package/"
11383 "vector-binary-instances/vector-binary-instances-"
11384 version ".tar.gz"))
11385 (sha256
11386 (base32
ca0701ef 11387 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 11388 (build-system haskell-build-system)
dddbc90c
RV
11389 (inputs
11390 `(("ghc-vector" ,ghc-vector)))
11391 (native-inputs
11392 `(("ghc-tasty" ,ghc-tasty)
11393 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11394 (home-page "https://github.com/bos/vector-binary-instances")
11395 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11396 (description "This library provides instances of @code{Binary} for the
11397types defined in the @code{vector} package, making it easy to serialize
11398vectors to and from disk. We use the generic interface to vectors, so all
11399vector types are supported. Specific instances are provided for unboxed,
11400boxed and storable vectors.")
11401 (license license:bsd-3)))
11402
11403(define-public ghc-vector-builder
11404 (package
11405 (name "ghc-vector-builder")
11406 (version "0.3.6")
11407 (source
11408 (origin
11409 (method url-fetch)
11410 (uri (string-append "https://hackage.haskell.org/package/"
11411 "vector-builder-" version "/"
11412 "vector-builder-" version ".tar.gz"))
11413 (sha256
11414 (base32
11415 "06d2pa1fb3ydrl7l6rjazqyxv5i73v65x2f5fp0ypjxfbm6jsmn8"))))
11416 (build-system haskell-build-system)
11417 (inputs `(("ghc-vector" ,ghc-vector)
11418 ("ghc-semigroups" ,ghc-semigroups)
11419 ("ghc-base-prelude" ,ghc-base-prelude)))
11420 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11421 ("ghc-tasty" ,ghc-tasty)
11422 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11423 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11424 ("ghc-hunit" ,ghc-hunit)
11425 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11426 ("ghc-rerebase" ,ghc-rerebase)))
11427 (home-page "https://github.com/nikita-volkov/vector-builder")
11428 (synopsis "Vector builder for Haskell")
11429 (description "This Haskell package provides an API for constructing vectors.
11430It provides the composable @code{Builder} abstraction, which has instances of the
11431@code{Monoid} and @code{Semigroup} classes.
11432
11433You would first use the @code{Builder} abstraction to specify the structure of
11434the vector; then you can execute the builder to actually produce the
11435vector. ")
11436 (license license:expat)))
11437
11438(define-public ghc-vector-th-unbox
11439 (package
11440 (name "ghc-vector-th-unbox")
63056e61 11441 (version "0.2.1.7")
dddbc90c
RV
11442 (source
11443 (origin
11444 (method url-fetch)
11445 (uri (string-append "https://hackage.haskell.org/package/"
11446 "vector-th-unbox-" version "/"
11447 "vector-th-unbox-" version ".tar.gz"))
11448 (sha256
11449 (base32
63056e61 11450 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
11451 (build-system haskell-build-system)
11452 (inputs
11453 `(("ghc-vector" ,ghc-vector)
11454 ("ghc-data-default" ,ghc-data-default)))
11455 (home-page "https://github.com/liyang/vector-th-unbox")
11456 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
11457 (description "This Haskell library provides a Template Haskell
11458deriver for unboxed vectors, given a pair of coercion functions to
11459and from some existing type with an Unbox instance.")
11460 (license license:bsd-3)))
11461
11462(define-public ghc-void
11463 (package
11464 (name "ghc-void")
51889121 11465 (version "0.7.3")
dddbc90c
RV
11466 (source
11467 (origin
11468 (method url-fetch)
11469 (uri (string-append
11470 "https://hackage.haskell.org/package/void/void-"
11471 version
11472 ".tar.gz"))
11473 (sha256
11474 (base32
51889121 11475 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
11476 (build-system haskell-build-system)
11477 (inputs
11478 `(("ghc-semigroups" ,ghc-semigroups)
11479 ("ghc-hashable" ,ghc-hashable)))
11480 (home-page "https://github.com/ekmett/void")
11481 (synopsis
11482 "Logically uninhabited data type")
11483 (description
11484 "A Haskell 98 logically uninhabited data type, used to indicate that a
11485given term should not exist.")
11486 (license license:bsd-3)))
11487
11488(define-public ghc-wave
11489 (package
11490 (name "ghc-wave")
11491 (version "0.1.5")
11492 (source (origin
11493 (method url-fetch)
11494 (uri (string-append
11495 "https://hackage.haskell.org/package/wave/wave-"
11496 version
11497 ".tar.gz"))
11498 (sha256
11499 (base32
11500 "03zycmwrchhqvi37fdvlzz2d1vl4hy0i8xyys1zznw38qfq0h2i5"))))
11501 (build-system haskell-build-system)
11502 (arguments
11503 '(#:phases
11504 (modify-phases %standard-phases
11505 (add-before 'configure 'update-constraints
11506 (lambda _
11507 (substitute* "wave.cabal"
11508 (("temporary.* < 1\\.3")
11509 "temporary >= 1.1 && < 1.4")))))))
11510 (inputs
11511 `(("ghc-cereal" ,ghc-cereal)
11512 ("ghc-data-default-class"
11513 ,ghc-data-default-class)
11514 ("ghc-quickcheck" ,ghc-quickcheck)
11515 ("ghc-temporary" ,ghc-temporary)))
11516 (native-inputs
11517 `(("hspec-discover" ,hspec-discover)
11518 ("ghc-hspec" ,ghc-hspec)))
11519 (home-page "https://github.com/mrkkrp/wave")
11520 (synopsis "Work with WAVE and RF64 files in Haskell")
11521 (description "This package allows you to work with WAVE and RF64
11522files in Haskell.")
11523 (license license:bsd-3)))
11524
11525(define-public ghc-wcwidth
11526 (package
11527 (name "ghc-wcwidth")
11528 (version "0.0.2")
11529 (source
11530 (origin
11531 (method url-fetch)
11532 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11533 version ".tar.gz"))
11534 (sha256
11535 (base32
11536 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11537 (build-system haskell-build-system)
11538 (inputs
11539 `(("ghc-setlocale" ,ghc-setlocale)
11540 ("ghc-utf8-string" ,ghc-utf8-string)
11541 ("ghc-attoparsec" ,ghc-attoparsec)))
11542 (home-page "https://github.com/solidsnack/wcwidth/")
11543 (synopsis "Haskell bindings to wcwidth")
11544 (description "This package provides Haskell bindings to your system's
11545native wcwidth and a command line tool to examine the widths assigned by it.
11546The command line tool can compile a width table to Haskell code that assigns
11547widths to the Char type.")
11548 (license license:bsd-3)))
11549
11550(define-public ghc-wcwidth-bootstrap
11551 (package
11552 (inherit ghc-wcwidth)
11553 (name "ghc-wcwidth-bootstrap")
11554 (inputs
11555 `(("ghc-setlocale" ,ghc-setlocale)
11556 ("ghc-utf8-string" ,ghc-utf8-string)
11557 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 11558 (properties '((hidden? #t)))))
dddbc90c
RV
11559
11560(define-public ghc-weigh
11561 (package
11562 (name "ghc-weigh")
11563 (version "0.0.12")
11564 (source
11565 (origin
11566 (method url-fetch)
11567 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11568 "weigh-" version ".tar.gz"))
11569 (sha256
11570 (base32
11571 "0zw2a997gxgdzqmd7j730kxgynzmjvvlkw84dajmfzf1v9pbij7x"))))
11572 (build-system haskell-build-system)
11573 (inputs
11574 `(("ghc-split" ,ghc-split)
11575 ("ghc-temporary" ,ghc-temporary)))
11576 (home-page "https://github.com/fpco/weigh#readme")
11577 (synopsis "Measure allocations of a Haskell functions/values")
11578 (description "This package provides tools to measure the memory usage of a
11579Haskell value or function.")
11580 (license license:bsd-3)))
11581
11582(define-public ghc-wl-pprint
11583 (package
11584 (name "ghc-wl-pprint")
11585 (version "1.2.1")
11586 (source (origin
11587 (method url-fetch)
11588 (uri (string-append
11589 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11590 version ".tar.gz"))
11591 (sha256
11592 (base32
11593 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11594 (build-system haskell-build-system)
11595 (home-page "https://hackage.haskell.org/package/wl-pprint")
11596 (synopsis "Wadler/Leijen pretty printer")
11597 (description
11598 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11599Printer}. This version allows the library user to declare overlapping
11600instances of the @code{Pretty} class.")
11601 (license license:bsd-3)))
11602
11603(define-public ghc-wl-pprint-annotated
11604 (package
11605 (name "ghc-wl-pprint-annotated")
11606 (version "0.1.0.1")
11607 (source
11608 (origin
11609 (method url-fetch)
11610 (uri (string-append
11611 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11612 version
11613 ".tar.gz"))
11614 (sha256
11615 (base32
11616 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11617 (build-system haskell-build-system)
11618 (native-inputs
11619 `(("ghc-tasty" ,ghc-tasty)
11620 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11621 (home-page
11622 "https://github.com/minad/wl-pprint-annotated#readme")
11623 (synopsis
11624 "Wadler/Leijen pretty printer with annotation support")
11625 (description
11626 "Annotations are useful for coloring. This is a limited version of
11627@code{wl-pprint-extras} without support for point effects and without the free
11628monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11629Compared to @code{annotated-wl-pprint} this library provides a slightly
11630modernized interface.")
11631 (license license:bsd-3)))
11632
11633(define-public ghc-wl-pprint-text
11634 (package
11635 (name "ghc-wl-pprint-text")
11636 (version "1.2.0.0")
11637 (source
11638 (origin
11639 (method url-fetch)
11640 (uri (string-append
11641 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11642 version ".tar.gz"))
11643 (sha256
11644 (base32
11645 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11646 (build-system haskell-build-system)
11647 (inputs
11648 `(("ghc-base-compat" ,ghc-base-compat)))
11649 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11650 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11651 (description
11652 "A clone of wl-pprint for use with the text library.")
11653 (license license:bsd-3)))
11654
11655(define-public ghc-word8
11656 (package
11657 (name "ghc-word8")
11658 (version "0.1.3")
11659 (source
11660 (origin
11661 (method url-fetch)
11662 (uri (string-append
11663 "https://hackage.haskell.org/package/word8/word8-"
11664 version
11665 ".tar.gz"))
11666 (sha256
11667 (base32
11668 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11669 (build-system haskell-build-system)
11670 (native-inputs
11671 `(("ghc-hspec" ,ghc-hspec)
11672 ("hspec-discover" ,hspec-discover)))
11673 (home-page "https://hackage.haskell.org/package/word8")
11674 (synopsis "Word8 library for Haskell")
11675 (description "Word8 library to be used with @code{Data.ByteString}.")
11676 (license license:bsd-3)))
11677
11678(define-public ghc-x11
11679 (package
11680 (name "ghc-x11")
6c4581a3 11681 (version "1.9.1")
dddbc90c
RV
11682 (source
11683 (origin
11684 (method url-fetch)
11685 (uri (string-append "https://hackage.haskell.org/package/X11/"
11686 "X11-" version ".tar.gz"))
11687 (sha256
6c4581a3 11688 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
11689 (build-system haskell-build-system)
11690 (inputs
11691 `(("libx11" ,libx11)
11692 ("libxrandr" ,libxrandr)
11693 ("libxinerama" ,libxinerama)
11694 ("libxscrnsaver" ,libxscrnsaver)
11695 ("ghc-data-default" ,ghc-data-default)))
11696 (home-page "https://github.com/haskell-pkg-janitors/X11")
11697 (synopsis "Bindings to the X11 graphics library")
11698 (description
11699 "This package provides Haskell bindings to the X11 graphics library. The
11700bindings are a direct translation of the C bindings.")
11701 (license license:bsd-3)))
11702
11703(define-public ghc-x11-xft
11704 (package
11705 (name "ghc-x11-xft")
11706 (version "0.3.1")
11707 (source
11708 (origin
11709 (method url-fetch)
11710 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11711 "X11-xft-" version ".tar.gz"))
11712 (sha256
11713 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11714 (inputs
11715 `(("ghc-x11" ,ghc-x11)
11716 ("ghc-utf8-string" ,ghc-utf8-string)
11717 ("libx11" ,libx11)
11718 ("libxft" ,libxft)
11719 ("xorgproto" ,xorgproto)))
11720 (native-inputs
11721 `(("pkg-config" ,pkg-config)))
11722 (build-system haskell-build-system)
11723 (home-page "https://hackage.haskell.org/package/X11-xft")
11724 (synopsis "Bindings to Xft")
11725 (description
11726 "Bindings to the Xft, X Free Type interface library, and some Xrender
11727parts.")
11728 (license license:lgpl2.1)))
11729
11730(define-public ghc-xdg-basedir
11731 (package
11732 (name "ghc-xdg-basedir")
11733 (version "0.2.2")
11734 (source
11735 (origin
11736 (method url-fetch)
11737 (uri (string-append
11738 "https://hackage.haskell.org/package/xdg-basedir/"
11739 "xdg-basedir-" version ".tar.gz"))
11740 (sha256
11741 (base32
11742 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
11743 (build-system haskell-build-system)
11744 (home-page "http://github.com/willdonnelly/xdg-basedir")
11745 (synopsis "XDG Base Directory library for Haskell")
11746 (description "This package provides a library implementing the XDG Base Directory spec.")
11747 (license license:bsd-3)))
11748
11749(define-public ghc-xml
11750 (package
11751 (name "ghc-xml")
11752 (version "1.3.14")
11753 (source
11754 (origin
11755 (method url-fetch)
11756 (uri (string-append
11757 "https://hackage.haskell.org/package/xml/xml-"
11758 version
11759 ".tar.gz"))
11760 (sha256
11761 (base32
11762 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
11763 (build-system haskell-build-system)
11764 (home-page "http://code.galois.com")
11765 (synopsis "Simple XML library for Haskell")
11766 (description "This package provides a simple XML library for Haskell.")
11767 (license license:bsd-3)))
11768
11769(define-public ghc-xml-conduit
11770 (package
11771 (name "ghc-xml-conduit")
11772 (version "1.8.0.1")
11773 (source
11774 (origin
11775 (method url-fetch)
11776 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
11777 "xml-conduit-" version ".tar.gz"))
11778 (sha256
11779 (base32
11780 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
11781 (build-system haskell-build-system)
11782 (inputs
11783 `(("ghc-conduit" ,ghc-conduit)
11784 ("ghc-conduit-extra" ,ghc-conduit-extra)
11785 ("ghc-doctest" ,ghc-doctest)
11786 ("ghc-resourcet" ,ghc-resourcet)
11787 ("ghc-xml-types" ,ghc-xml-types)
11788 ("ghc-attoparsec" ,ghc-attoparsec)
11789 ("ghc-data-default-class" ,ghc-data-default-class)
11790 ("ghc-blaze-markup" ,ghc-blaze-markup)
11791 ("ghc-blaze-html" ,ghc-blaze-html)
11792 ("ghc-monad-control" ,ghc-monad-control)
11793 ("ghc-hspec" ,ghc-hspec)
11794 ("ghc-hunit" ,ghc-hunit)))
11795 (home-page "https://github.com/snoyberg/xml")
11796 (synopsis "Utilities for dealing with XML with the conduit package")
11797 (description
11798 "This package provides pure-Haskell utilities for dealing with XML with
11799the @code{conduit} package.")
11800 (license license:expat)))
11801
11802(define-public ghc-xml-types
11803 (package
11804 (name "ghc-xml-types")
11805 (version "0.3.6")
11806 (source
11807 (origin
11808 (method url-fetch)
11809 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
11810 "xml-types-" version ".tar.gz"))
11811 (sha256
11812 (base32
11813 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
11814 (build-system haskell-build-system)
11815 (home-page "https://john-millikin.com/software/haskell-xml/")
11816 (synopsis "Basic types for representing XML")
11817 (description "This package provides basic types for representing XML
11818documents.")
11819 (license license:expat)))
11820
11821(define-public ghc-yaml
11822 (package
11823 (name "ghc-yaml")
11824 (version "0.8.32")
11825 (source (origin
11826 (method url-fetch)
11827 (uri (string-append "https://hackage.haskell.org/package/"
11828 "yaml/yaml-" version ".tar.gz"))
11829 (sha256
11830 (base32
11831 "0cbsyh4ilvjzq1q7pxls43k6pdqxg1l85xzibcwpbvmlvrizh86w"))))
11832 (build-system haskell-build-system)
11833 ;; The tests are broken on i686. They are fixed in 0.10.3.0.
11834 ;; See https://github.com/snoyberg/yaml/issues/158
11835 (arguments `(#:tests? #f))
11836 (inputs
11837 `(("ghc-conduit" ,ghc-conduit)
11838 ("ghc-resourcet" ,ghc-resourcet)
11839 ("ghc-aeson" ,ghc-aeson)
11840 ("ghc-unordered-containers" ,ghc-unordered-containers)
11841 ("ghc-vector" ,ghc-vector)
11842 ("ghc-attoparsec" ,ghc-attoparsec)
11843 ("ghc-scientific" ,ghc-scientific)
11844 ("ghc-semigroups" ,ghc-semigroups)
11845 ("ghc-temporary" ,ghc-temporary)
11846 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11847 ("ghc-base-compat" ,ghc-base-compat)))
11848 (native-inputs
11849 `(("ghc-hspec" ,ghc-hspec)
11850 ("ghc-hunit" ,ghc-hunit)
11851 ("hspec-discover" ,hspec-discover)
11852 ("ghc-mockery" ,ghc-mockery)))
11853 (home-page "https://github.com/snoyberg/yaml/")
11854 (synopsis "Parsing and rendering YAML documents")
11855 (description
11856 "This package provides a library to parse and render YAML documents.")
11857 (license license:bsd-3)))
11858
11859(define-public ghc-zip-archive
11860 (package
11861 (name "ghc-zip-archive")
11862 (version "0.3.3")
11863 (source
11864 (origin
11865 (method url-fetch)
11866 (uri (string-append
11867 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
11868 version
11869 ".tar.gz"))
11870 (sha256
11871 (base32
11872 "0kf8xyac168bng8a0za2jwrbss7a4ralvci9g54hnvl0gkkxx2lq"))))
11873 (build-system haskell-build-system)
11874 (inputs
11875 `(("ghc-digest" ,ghc-digest)
11876 ("ghc-temporary" ,ghc-temporary)
11877 ("ghc-zlib" ,ghc-zlib)))
11878 (native-inputs
11879 `(("ghc-hunit" ,ghc-hunit)
11880 ("unzip" ,unzip)))
11881 (home-page "https://hackage.haskell.org/package/zip-archive")
11882 (synopsis "Zip archive library for Haskell")
11883 (description "The zip-archive library provides functions for creating,
11884modifying, and extracting files from zip archives in Haskell.")
11885 (license license:bsd-3)))
11886
11887(define-public ghc-zlib
11888 (package
11889 (name "ghc-zlib")
bf12089a 11890 (version "0.6.2.1")
dddbc90c
RV
11891 (outputs '("out" "doc"))
11892 (source
11893 (origin
11894 (method url-fetch)
11895 (uri (string-append
11896 "https://hackage.haskell.org/package/zlib/zlib-"
11897 version
11898 ".tar.gz"))
11899 (sha256
11900 (base32
bf12089a 11901 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
11902 (build-system haskell-build-system)
11903 (arguments
11904 `(#:phases
11905 (modify-phases %standard-phases
11906 (add-before 'configure 'strip-test-framework-constraints
11907 (lambda _
11908 (substitute* "zlib.cabal"
11909 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
11910 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
11911 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11912 (inputs `(("zlib" ,zlib)))
11913 (native-inputs
11914 `(("ghc-quickcheck" ,ghc-quickcheck)
11915 ("ghc-tasty" ,ghc-tasty)
11916 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11917 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11918 (home-page "https://hackage.haskell.org/package/zlib")
11919 (synopsis
11920 "Compression and decompression in the gzip and zlib formats")
11921 (description
11922 "This package provides a pure interface for compressing and decompressing
11923streams of data represented as lazy @code{ByteString}s. It uses the zlib C
11924library so it has high performance. It supports the @code{zlib}, @code{gzip}
11925and @code{raw} compression formats. It provides a convenient high level API
11926suitable for most tasks and for the few cases where more control is needed it
11927provides access to the full zlib feature set.")
bbf8bf31 11928 (license license:bsd-3)))
14e41996
RV
11929
11930(define-public ghc-zlib-bindings
11931 (package
11932 (name "ghc-zlib-bindings")
11933 (version "0.1.1.5")
11934 (source
11935 (origin
11936 (method url-fetch)
11937 (uri (string-append "https://hackage.haskell.org/package/"
11938 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
11939 (sha256
11940 (base32
11941 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
11942 (build-system haskell-build-system)
11943 (inputs
11944 `(("ghc-zlib" ,ghc-zlib)))
11945 (native-inputs
11946 `(("ghc-hspec" ,ghc-hspec)
11947 ("ghc-quickcheck" ,ghc-quickcheck)))
11948 (arguments
11949 `(#:cabal-revision
11950 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
11951 (home-page "https://github.com/snapframework/zlib-bindings")
11952 (synopsis "Low-level bindings to the @code{zlib} package")
11953 (description "This package provides low-level bindings to the
11954@code{zlib} package.")
11955 (license license:bsd-3)))