gnu: Add emacs-wttrin.
[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>
6b34d01c
RV
24;;;
25;;; This file is part of GNU Guix.
26;;;
27;;; GNU Guix is free software; you can redistribute it and/or modify it
28;;; under the terms of the GNU General Public License as published by
29;;; the Free Software Foundation; either version 3 of the License, or (at
30;;; your option) any later version.
31;;;
32;;; GNU Guix is distributed in the hope that it will be useful, but
33;;; WITHOUT ANY WARRANTY; without even the implied warranty of
34;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
35;;; GNU General Public License for more details.
36;;;
37;;; You should have received a copy of the GNU General Public License
38;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
39
40(define-module (gnu packages haskell-xyz)
41 #:use-module (gnu packages)
dddbc90c
RV
42 #:use-module (gnu packages base)
43 #:use-module (gnu packages compression)
44 #:use-module (gnu packages emacs)
45 #:use-module (gnu packages gcc)
46 #:use-module (gnu packages gl)
47 #:use-module (gnu packages graphviz)
48 #:use-module (gnu packages gtk)
49 #:use-module (gnu packages haskell-apps)
efb96749 50 #:use-module (gnu packages haskell-check)
dddbc90c
RV
51 #:use-module (gnu packages haskell-crypto)
52 #:use-module (gnu packages haskell-web)
53 #:use-module (gnu packages libffi)
54 #:use-module (gnu packages linux)
55 #:use-module (gnu packages lua)
56 #:use-module (gnu packages maths)
57 #:use-module (gnu packages pcre)
58 #:use-module (gnu packages pkg-config)
59 #:use-module (gnu packages sdl)
60 #:use-module (gnu packages xml)
61 #:use-module (gnu packages xorg)
6b34d01c
RV
62 #:use-module (guix build-system haskell)
63 #:use-module (guix download)
dddbc90c 64 #:use-module (guix git-download)
6b34d01c
RV
65 #:use-module ((guix licenses) #:prefix license:)
66 #:use-module (guix packages))
67
dddbc90c 68(define-public ghc-abstract-deque
efb96749 69 (package
dddbc90c
RV
70 (name "ghc-abstract-deque")
71 (version "0.3")
efb96749
RV
72 (source
73 (origin
74 (method url-fetch)
75 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
76 "abstract-deque-" version "/"
77 "abstract-deque-" version ".tar.gz"))
efb96749
RV
78 (sha256
79 (base32
dddbc90c 80 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
efb96749 81 (build-system haskell-build-system)
dddbc90c
RV
82 (inputs `(("ghc-random" ,ghc-random)))
83 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
84 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
85 (description "This Haskell package provides an abstract interface to
86highly-parameterizable queues/deques.
87
88Background: There exists a feature space for queues that extends between:
efb96749
RV
89
90@itemize
dddbc90c
RV
91@item Simple, single-ended, non-concurrent, bounded queues
92
93@item Double-ended, thread-safe, growable queues with important points
94in between (such as the queues used for work stealing).
efb96749
RV
95@end itemize
96
dddbc90c
RV
97This package includes an interface for Deques that allows the programmer
98to use a single API for all of the above, while using the type system to
99select an efficient implementation given the requirements (using type families).
efb96749 100
dddbc90c
RV
101This package also includes a simple reference implementation based on
102@code{IORef} and @code{Data.Sequence}.")
efb96749
RV
103 (license license:bsd-3)))
104
dddbc90c 105(define-public ghc-abstract-par
658dbc7f 106 (package
dddbc90c
RV
107 (name "ghc-abstract-par")
108 (version "0.3.3")
658dbc7f
RV
109 (source
110 (origin
111 (method url-fetch)
112 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
113 "abstract-par-" version "/"
114 "abstract-par-" version ".tar.gz"))
658dbc7f
RV
115 (sha256
116 (base32
dddbc90c
RV
117 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
118 (build-system haskell-build-system)
119 (home-page "https://github.com/simonmar/monad-par")
120 (synopsis "Abstract parallelization interface for Haskell")
121 (description "This Haskell package is an abstract interface
122only. It provides a number of type clasess, but not an
123implementation. The type classes separate different levels
124of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
125module for more details.")
126 (license license:bsd-3)))
127
128(define-public ghc-adjunctions
129 (package
130 (name "ghc-adjunctions")
131 (version "4.4")
132 (source
133 (origin
134 (method url-fetch)
135 (uri (string-append
136 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
137 version
138 ".tar.gz"))
139 (sha256
140 (base32
141 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f
RV
142 (build-system haskell-build-system)
143 (inputs
dddbc90c
RV
144 `(("ghc-profunctors" ,ghc-profunctors)
145 ("ghc-comonad" ,ghc-comonad)
146 ("ghc-contravariant" ,ghc-contravariant)
147 ("ghc-distributive" ,ghc-distributive)
148 ("ghc-free" ,ghc-free)
149 ("ghc-tagged" ,ghc-tagged)
150 ("ghc-semigroupoids" ,ghc-semigroupoids)
151 ("ghc-semigroups" ,ghc-semigroups)
152 ("ghc-transformers-compat" ,ghc-transformers-compat)
153 ("ghc-void" ,ghc-void)))
658dbc7f 154 (native-inputs
dddbc90c
RV
155 `(("ghc-generic-deriving" ,ghc-generic-deriving)
156 ("ghc-hspec" ,ghc-hspec)
157 ("hspec-discover" ,hspec-discover)))
158 (home-page "https://github.com/ekmett/adjunctions/")
159 (synopsis "Adjunctions and representable functors")
160 (description "This library provides adjunctions and representable functors
161for Haskell.")
162 (license license:bsd-3)))
163
164(define-public ghc-aeson-compat
165 (package
166 (name "ghc-aeson-compat")
167 (version "0.3.8")
168 (source
169 (origin
170 (method url-fetch)
171 (uri (string-append "https://hackage.haskell.org/package/"
172 "aeson-compat-" version "/"
173 "aeson-compat-" version ".tar.gz"))
174 (sha256
175 (base32
176 "0j4v13pgk21zy8hqkbx8hw0n05jdl17qphxz9rj4h333pr547r3i"))))
177 (build-system haskell-build-system)
178 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
179 (inputs `(("ghc-base-compat" ,ghc-base-compat)
180 ("ghc-aeson" ,ghc-aeson)
181 ("ghc-attoparsec" ,ghc-attoparsec)
182 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
183 ("ghc-exceptions" ,ghc-exceptions)
184 ("ghc-hashable" ,ghc-hashable)
185 ("ghc-scientific" ,ghc-scientific)
186 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
187 ("ghc-unordered-containers" ,ghc-unordered-containers)
188 ("ghc-vector" ,ghc-vector)
189 ("ghc-tagged" ,ghc-tagged)
190 ("ghc-semigroups" ,ghc-semigroups)
191 ("ghc-nats" ,ghc-nats)))
192 (home-page "https://github.com/phadej/aeson-compat")
193 (synopsis "Compatibility layer for ghc-aeson")
194 (description "This Haskell package provides compatibility layer for
195ghc-aeson.")
196 (license license:bsd-3)))
197
198(define-public ghc-alex
199 (package
200 (name "ghc-alex")
201 (version "3.2.4")
202 (source
203 (origin
204 (method url-fetch)
205 (uri (string-append
206 "https://hackage.haskell.org/package/alex/alex-"
207 version
208 ".tar.gz"))
209 (sha256
210 (base32
211 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
212 (build-system haskell-build-system)
658dbc7f 213 (arguments
dddbc90c
RV
214 `(#:phases
215 (modify-phases %standard-phases
216 (add-before 'check 'set-check-variables
217 (lambda _
218 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
219 (getenv "PATH")))
220 (setenv "alex_datadir" (string-append (getcwd) "/data"))
221 #t)))))
222 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
223 (native-inputs
224 `(("which" ,which)))
225 (home-page "https://www.haskell.org/alex/")
226 (synopsis
227 "Tool for generating lexical analysers in Haskell")
228 (description
229 "Alex is a tool for generating lexical analysers in Haskell. It takes a
230description of tokens based on regular expressions and generates a Haskell
231module containing code for scanning text efficiently. It is similar to the
232tool lex or flex for C/C++.")
658dbc7f
RV
233 (license license:bsd-3)))
234
dddbc90c 235(define-public ghc-alsa-core
7b01a977 236 (package
dddbc90c
RV
237 (name "ghc-alsa-core")
238 (version "0.5.0.1")
239 (source
240 (origin
241 (method url-fetch)
242 (uri (string-append
243 "mirror://hackage/package/alsa-core/alsa-core-"
244 version
245 ".tar.gz"))
246 (sha256
247 (base32
248 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
249 (build-system haskell-build-system)
250 (inputs
251 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
252 ("alsa-lib" ,alsa-lib)))
253 (native-inputs
254 `(("pkg-config" ,pkg-config)))
255 (home-page "http://www.haskell.org/haskellwiki/ALSA")
256 (synopsis "Binding to the ALSA Library API (Exceptions)")
257 (description "This package provides access to ALSA infrastructure, that is
258needed by both alsa-seq and alsa-pcm.")
259 (license license:bsd-3)))
260
261(define-public ghc-annotated-wl-pprint
262 (package
263 (name "ghc-annotated-wl-pprint")
264 (version "0.7.0")
265 (source
266 (origin
267 (method url-fetch)
268 (uri (string-append
269 "https://hackage.haskell.org/package/annotated-wl-pprint"
270 "/annotated-wl-pprint-" version
271 ".tar.gz"))
272 (sha256
273 (base32
274 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
275 (build-system haskell-build-system)
276 (home-page
277 "https://github.com/david-christiansen/annotated-wl-pprint")
278 (synopsis
279 "The Wadler/Leijen Pretty Printer, with annotation support")
280 (description "This is a modified version of wl-pprint, which was based on
281Wadler's paper \"A Prettier Printer\". This version allows the library user
282to annotate the text with semantic information, which can later be rendered in
283a variety of ways.")
284 (license license:bsd-3)))
285
286(define-public ghc-ansi-terminal
287 (package
288 (name "ghc-ansi-terminal")
289 (version "0.8.0.4")
290 (source
291 (origin
292 (method url-fetch)
293 (uri (string-append
294 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
295 version
296 ".tar.gz"))
297 (sha256
298 (base32
299 "0428gq8m3fdnb7ldcsyk97qcch76hcxbgh2666p6f76fs2qbhg7b"))))
300 (build-system haskell-build-system)
301 (inputs
302 `(("ghc-colour" ,ghc-colour)))
303 (home-page "https://github.com/feuerbach/ansi-terminal")
304 (synopsis "ANSI terminal support for Haskell")
305 (description "This package provides ANSI terminal support for Haskell. It
306allows cursor movement, screen clearing, color output showing or hiding the
307cursor, and changing the title.")
308 (license license:bsd-3)))
309
310(define-public ghc-ansi-wl-pprint
311 (package
312 (name "ghc-ansi-wl-pprint")
313 (version "0.6.8.2")
7b01a977
RV
314 (source
315 (origin
316 (method url-fetch)
317 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 318 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
319 version ".tar.gz"))
320 (sha256
321 (base32
dddbc90c 322 "0gnb4mkqryv08vncxnj0bzwcnd749613yw3cxfzw6y3nsldp4c56"))))
7b01a977
RV
323 (build-system haskell-build-system)
324 (inputs
dddbc90c
RV
325 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
326 (home-page "https://github.com/ekmett/ansi-wl-pprint")
327 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
328 (description "This is a pretty printing library based on Wadler's paper
329\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
330colored output using the ansi-terminal package.")
331 (license license:bsd-3)))
332
333(define-public ghc-appar
334 (package
335 (name "ghc-appar")
336 (version "0.1.4")
337 (source
338 (origin
339 (method url-fetch)
340 (uri (string-append
341 "https://hackage.haskell.org/package/appar/appar-"
342 version
343 ".tar.gz"))
344 (sha256
345 (base32
346 "09jb9ij78fdkz2qk66rw99q19qnm504dpv0yq0pjsl6xwjmndsjq"))))
347 (build-system haskell-build-system)
348 (home-page
349 "https://hackage.haskell.org/package/appar")
350 (synopsis "Simple applicative parser")
351 (description "This package provides a simple applicative parser in Parsec
352style.")
353 (license license:bsd-3)))
354
355(define-public ghc-async
356 (package
357 (name "ghc-async")
358 (version "2.2.1")
359 (source
360 (origin
361 (method url-fetch)
362 (uri (string-append
363 "https://hackage.haskell.org/package/async/async-"
364 version
365 ".tar.gz"))
366 (sha256
367 (base32
368 "09whscli1q5z7lzyq9rfk0bq1ydplh6pjmc6qv0x668k5818c2wg"))))
369 (build-system haskell-build-system)
370 (inputs
371 `(("ghc-hashable" ,ghc-hashable)
372 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
373 ("ghc-test-framework" ,ghc-test-framework)
374 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
375 (home-page "https://github.com/simonmar/async")
376 (synopsis "Library to run IO operations asynchronously")
377 (description "Async provides a library to run IO operations
378asynchronously, and wait for their results. It is a higher-level interface
379over threads in Haskell, in which @code{Async a} is a concurrent thread that
380will eventually deliver a value of type @code{a}.")
7b01a977
RV
381 (license license:bsd-3)))
382
dddbc90c 383(define-public ghc-atomic-write
79fcc5e5 384 (package
dddbc90c
RV
385 (name "ghc-atomic-write")
386 (version "0.2.0.5")
79fcc5e5
RV
387 (source
388 (origin
389 (method url-fetch)
dddbc90c
RV
390 (uri (string-append
391 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
392 version
393 ".tar.gz"))
79fcc5e5
RV
394 (sha256
395 (base32
dddbc90c
RV
396 "1iaq0hprxcv0sl1sgwcgmm87zraf738va1bciwnx2jkk3k1v9iyv"))))
397 (build-system haskell-build-system)
398 (inputs
399 `(("ghc-temporary" ,ghc-temporary)
400 ("ghc-unix-compat" ,ghc-unix-compat)))
401 (native-inputs
402 `(("ghc-temporary" ,ghc-temporary)
403 ("ghc-unix-compat" ,ghc-unix-compat)
404 ("ghc-hspec" ,ghc-hspec)
405 ("hspec-discover" ,hspec-discover)))
406 (home-page "https://github.com/stackbuilders/atomic-write")
407 (synopsis "Atomically write to a file")
408 (description
409 "Atomically write to a file on POSIX-compliant systems while preserving
410permissions. @code{mv} is an atomic operation. This makes it simple to write
411to a file atomically just by using the @code{mv} operation. However, this
412will destroy the permissions on the original file. This library preserves
413permissions while atomically writing to a file.")
414 (license license:expat)))
415
416(define-public ghc-attoparsec
417 (package
418 (name "ghc-attoparsec")
419 (version "0.13.2.2")
420 (source
421 (origin
422 (method url-fetch)
423 (uri (string-append
424 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
425 version
426 ".tar.gz"))
427 (sha256
428 (base32
429 "0j6qcwd146yzlkc9mcvzvnixsyl65n2a68l28322q5v9p4g4g4yx"))))
79fcc5e5 430 (build-system haskell-build-system)
79fcc5e5 431 (arguments
dddbc90c
RV
432 `(#:phases
433 (modify-phases %standard-phases
434 (add-after 'unpack 'patch-for-newer-quickcheck
435 (lambda _
436 (substitute* "attoparsec.cabal"
437 (("QuickCheck >= 2\\.7 && < 2\\.10")
438 "QuickCheck >= 2.7 && < 2.12"))
439 ;; This test fails because of the newer QuickCheck:
440 ;; <https://github.com/bos/attoparsec/issues/134>.
441 (substitute* "tests/QC/ByteString.hs"
442 ((", testProperty \"satisfyWith\" satisfyWith")
443 "")))))))
444 (inputs
445 `(("ghc-scientific" ,ghc-scientific)))
446 (native-inputs
447 `(("ghc-tasty" ,ghc-tasty)
448 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
449 ("ghc-quickcheck" ,ghc-quickcheck)
450 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
451 ("ghc-vector" ,ghc-vector)))
452 (home-page "https://github.com/bos/attoparsec")
453 (synopsis "Fast combinator parsing for bytestrings and text")
454 (description "This library provides a fast parser combinator library,
455aimed particularly at dealing efficiently with network protocols and
456complicated text/binary file formats.")
79fcc5e5
RV
457 (license license:bsd-3)))
458
dddbc90c 459(define-public ghc-attoparsec-bootstrap
6b34d01c 460 (package
dddbc90c
RV
461 (inherit ghc-attoparsec)
462 (name "ghc-attoparsec-bootstrap")
463 (arguments `(#:tests? #f))
464 (inputs
465 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
466 (native-inputs '())
799d8d3c 467 (properties '((hidden? #t)))))
dddbc90c
RV
468
469(define-public ghc-attoparsec-iso8601
470 (package
471 (name "ghc-attoparsec-iso8601")
6b34d01c
RV
472 (version "1.0.0.0")
473 (source
474 (origin
475 (method url-fetch)
476 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
477 "attoparsec-iso8601-" version "/"
478 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
479 (sha256
480 (base32
dddbc90c 481 "12l55b76bhya9q89mfmqmy6sl5v39b6gzrw5rf3f70vkb23nsv5a"))))
6b34d01c 482 (build-system haskell-build-system)
dddbc90c
RV
483 (arguments
484 `(#:cabal-revision
485 ("1" "06f7pgmmc8456p3hc1y23kz1y127gfczy7s00wz1rls9g2sm2vi4")))
486 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
487 ("ghc-base-compat" ,ghc-base-compat)))
488 (home-page "https://github.com/bos/aeson")
489 (synopsis "Parse ISO 8601 dates")
490 (description "Haskell library for parsing of ISO 8601 dates, originally
491from aeson.")
6b34d01c 492 (license license:bsd-3)))
b57e99f5 493
dddbc90c 494(define-public ghc-auto-update
b57e99f5 495 (package
dddbc90c
RV
496 (name "ghc-auto-update")
497 (version "0.1.4")
498 (source
499 (origin
500 (method url-fetch)
501 (uri (string-append
502 "https://hackage.haskell.org/package/auto-update/auto-update-"
503 version
504 ".tar.gz"))
505 (sha256
506 (base32
507 "09dlh2alsx2mw5kvj931yhbj0aw7jmly2cm9xbscm2sf098w35jy"))))
508 (build-system haskell-build-system)
509 (home-page "https://github.com/yesodweb/wai")
510 (synopsis "Efficiently run periodic, on-demand actions")
511 (description "This library provides mechanisms to efficiently run
512periodic, on-demand actions in Haskell.")
513 (license license:expat)))
514
515(define-public ghc-aws
516 (package
517 (name "ghc-aws")
518 (version "0.20")
b57e99f5
RV
519 (source
520 (origin
521 (method url-fetch)
522 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
523 "aws-" version "/aws-" version ".tar.gz"))
524 (sha256 (base32
525 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
526 (build-system haskell-build-system)
527 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
528 (inputs
529 `(("ghc-aeson" ,ghc-aeson)
530 ("ghc-attoparsec" ,ghc-attoparsec)
531 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
532 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
533 ("ghc-blaze-builder" ,ghc-blaze-builder)
534 ("ghc-byteable" ,ghc-byteable)
535 ("ghc-case-insensitive" ,ghc-case-insensitive)
536 ("ghc-cereal" ,ghc-cereal)
537 ("ghc-conduit" ,ghc-conduit)
538 ("ghc-conduit-extra" ,ghc-conduit-extra)
539 ("ghc-cryptonite" ,ghc-cryptonite)
540 ("ghc-data-default" ,ghc-data-default)
541 ("ghc-http-conduit" ,ghc-http-conduit)
542 ("ghc-http-types" ,ghc-http-types)
543 ("ghc-lifted-base" ,ghc-lifted-base)
544 ("ghc-monad-control" ,ghc-monad-control)
545 ("ghc-network" ,ghc-network)
546 ("ghc-old-locale" ,ghc-old-locale)
547 ("ghc-safe" ,ghc-safe)
548 ("ghc-scientific" ,ghc-scientific)
549 ("ghc-tagged" ,ghc-tagged)
550 ("ghc-unordered-containers" ,ghc-unordered-containers)
551 ("ghc-utf8-string" ,ghc-utf8-string)
552 ("ghc-vector" ,ghc-vector)
553 ("ghc-xml-conduit" ,ghc-xml-conduit)))
554 (native-inputs
555 `(("ghc-quickcheck" ,ghc-quickcheck)
556 ("ghc-errors" ,ghc-errors)
557 ("ghc-http-client" ,ghc-http-client)
558 ("ghc-http-client-tls" ,ghc-http-client-tls)
559 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
560 ("ghc-tasty" ,ghc-tasty)
561 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
562 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
563 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
564 (home-page "https://github.com/aristidb/aws")
565 (synopsis "Amazon Web Services for Haskell")
566 (description "This package attempts to provide support for using
567Amazon Web Services like S3 (storage), SQS (queuing) and others to
568Haskell programmers. The ultimate goal is to support all Amazon
569Web Services.")
570 (license license:bsd-3)))
571
572(define-public ghc-base16-bytestring
573 (package
574 (name "ghc-base16-bytestring")
575 (version "0.1.1.6")
576 (source
577 (origin
578 (method url-fetch)
579 (uri (string-append
580 "https://hackage.haskell.org/package/base16-bytestring/"
581 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
582 (sha256
583 (base32
dddbc90c 584 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 585 (build-system haskell-build-system)
dddbc90c
RV
586 (home-page "https://github.com/bos/base16-bytestring")
587 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
588 (description
589 "This package provides a Haskell library for working with base16-encoded
590data quickly and efficiently, using the ByteString type.")
b57e99f5 591 (license license:bsd-3)))
bbf8bf31 592
dddbc90c 593(define-public ghc-base64-bytestring
bbf8bf31 594 (package
dddbc90c
RV
595 (name "ghc-base64-bytestring")
596 (version "1.0.0.2")
bbf8bf31
RV
597 (source
598 (origin
599 (method url-fetch)
dddbc90c
RV
600 (uri (string-append
601 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
602 version
603 ".tar.gz"))
604 (sha256
605 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
606 (build-system haskell-build-system)
607 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
608 (home-page "https://github.com/bos/base64-bytestring")
609 (synopsis "Base64 encoding and decoding for ByteStrings")
610 (description "This library provides fast base64 encoding and decoding for
611Haskell @code{ByteString}s.")
612 (license license:bsd-3)))
613
614(define-public ghc-base-compat
615 (package
616 (name "ghc-base-compat")
617 (version "0.10.4")
618 (source
619 (origin
620 (method url-fetch)
621 (uri (string-append
622 "https://hackage.haskell.org/package/base-compat/base-compat-"
623 version
624 ".tar.gz"))
bbf8bf31
RV
625 (sha256
626 (base32
dddbc90c 627 "0ksp990gxs731mq19rzbxrbs43nazfljjc8krlx5bjqblw3kfs8d"))))
bbf8bf31
RV
628 (build-system haskell-build-system)
629 (native-inputs
dddbc90c
RV
630 `(("ghc-quickcheck" ,ghc-quickcheck)
631 ("ghc-hspec" ,ghc-hspec)
632 ("hspec-discover" ,hspec-discover)))
633 (home-page "https://hackage.haskell.org/package/base-compat")
634 (synopsis "Haskell compiler compatibility library")
635 (description "This library provides functions available in later versions
636of base to a wider range of compilers, without requiring the use of CPP
637pragmas in your code.")
638 (license license:bsd-3)))
639
640(define-public ghc-basement
641 (package
642 (name "ghc-basement")
643 (version "0.0.8")
644 (source
645 (origin
646 (method url-fetch)
647 (uri (string-append "https://hackage.haskell.org/package/"
648 "basement/basement-" version ".tar.gz"))
649 (sha256
650 (base32
651 "194jw567di4q2758943q9rrwkbf9gl261my7qc21i9xhyabipx67"))))
652 (build-system haskell-build-system)
653 (home-page "https://github.com/haskell-foundation/foundation")
654 (synopsis "Basic primitives for Foundation starter pack")
655 (description
656 "This package contains basic primitives for the Foundation set of
657packages.")
658 (license license:bsd-3)))
659
660(define-public ghc-base-orphans
661 (package
662 (name "ghc-base-orphans")
663 (version "0.7")
664 (source
665 (origin
666 (method url-fetch)
667 (uri (string-append
668 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
669 version
670 ".tar.gz"))
671 (sha256
672 (base32
673 "057f9npnqk71ccfh95djfkpd54dzazphj06grwxa3fyhwcwxrb8a"))))
674 (build-system haskell-build-system)
675 (native-inputs
676 `(("ghc-quickcheck" ,ghc-quickcheck)
677 ("ghc-hspec" ,ghc-hspec)
678 ("hspec-discover" ,hspec-discover)))
679 (home-page "https://hackage.haskell.org/package/base-orphans")
680 (synopsis "Orphan instances for backwards compatibility")
681 (description "This package defines orphan instances that mimic instances
682available in later versions of base to a wider (older) range of compilers.")
683 (license license:bsd-3)))
684
685(define-public ghc-base-prelude
686 (package
687 (name "ghc-base-prelude")
688 (version "1.3")
689 (source
690 (origin
691 (method url-fetch)
692 (uri (string-append "https://hackage.haskell.org/package/"
693 "base-prelude-" version "/"
694 "base-prelude-" version ".tar.gz"))
695 (sha256
696 (base32
697 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
698 (build-system haskell-build-system)
699 (home-page "https://github.com/nikita-volkov/base-prelude")
700 (synopsis "The most complete prelude formed solely from the Haskell's base
701package")
702 (description "This Haskell package aims to reexport all the non-conflicting
703and most general definitions from the \"base\" package.
704
705This includes APIs for applicatives, arrows, monoids, foldables, traversables,
706exceptions, generics, ST, MVars and STM.
707
708This package will never have any dependencies other than \"base\".
709
710Versioning policy:
711
712The versioning policy of this package deviates from PVP in the sense
713that its exports in part are transitively determined by the version of \"base\".
714Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
715the bounds of \"base\" as well.")
716 (license license:expat)))
717
718(define-public ghc-base-unicode-symbols
719 (package
720 (name "ghc-base-unicode-symbols")
721 (version "0.2.3")
722 (source
723 (origin
724 (method url-fetch)
725 (uri (string-append
726 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
727 version
728 ".tar.gz"))
729 (sha256
730 (base32
731 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
732 (build-system haskell-build-system)
733 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
734 (synopsis "Unicode alternatives for common functions and operators")
735 (description "This package defines new symbols for a number of functions,
736operators and types in the base package. All symbols are documented with
737their actual definition and information regarding their Unicode code point.
738They should be completely interchangeable with their definitions. For
739further Unicode goodness you can enable the @code{UnicodeSyntax}
740@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
741language extension}. This extension enables Unicode characters to be used to
742stand for certain ASCII character sequences, i.e. → instead of @code{->},
743∀ instead of @code{forall} and many others.")
744 (license license:bsd-3)))
745
746(define-public ghc-bifunctors
747 (package
748 (name "ghc-bifunctors")
749 (version "5.5.3")
750 (source
751 (origin
752 (method url-fetch)
753 (uri (string-append
754 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
755 version
756 ".tar.gz"))
757 (sha256
758 (base32
759 "1jn9rxg643xnlhrknmjz88nblcpsr45xwjkwwnn5nxpasa7m4d6l"))))
760 (build-system haskell-build-system)
761 (inputs
762 `(("ghc-base-orphans" ,ghc-base-orphans)
763 ("ghc-comonad" ,ghc-comonad)
764 ("ghc-th-abstraction" ,ghc-th-abstraction)
765 ("ghc-transformers-compat" ,ghc-transformers-compat)
766 ("ghc-tagged" ,ghc-tagged)
767 ("ghc-semigroups" ,ghc-semigroups)))
768 (native-inputs
769 `(("ghc-hspec" ,ghc-hspec)
770 ("hspec-discover" ,hspec-discover)
771 ("ghc-quickcheck" ,ghc-quickcheck)))
772 (home-page "https://github.com/ekmett/bifunctors/")
773 (synopsis "Bifunctors for Haskell")
774 (description "This package provides bifunctors for Haskell.")
775 (license license:bsd-3)))
776
777(define-public ghc-bindings-dsl
778 (package
779 (name "ghc-bindings-dsl")
780 (version "1.0.25")
781 (source
782 (origin
783 (method url-fetch)
784 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
785 "bindings-DSL-" version ".tar.gz"))
786 (sha256
787 (base32
788 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
789 (build-system haskell-build-system)
790 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
791 (synopsis "FFI domain specific language, on top of hsc2hs")
792 (description
793 "This is a set of macros to be used when writing Haskell FFI. They were
794designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
795extract from them all Haskell code needed to mimic such interfaces. All
796Haskell names used are automatically derived from C names, structures are
797mapped to Haskell instances of @code{Storable}, and there are also macros you
798can use with C code to help write bindings to inline functions or macro
799functions.")
800 (license license:bsd-3)))
801
802(define-public ghc-blaze-builder
803 (package
804 (name "ghc-blaze-builder")
805 (version "0.4.1.0")
806 (source
807 (origin
808 (method url-fetch)
809 (uri (string-append
810 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
811 version
812 ".tar.gz"))
813 (sha256
814 (base32
815 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
816 (build-system haskell-build-system)
817 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
818 (inputs
819 `(("ghc-utf8-string" ,ghc-utf8-string)))
820 (home-page "https://github.com/lpsmith/blaze-builder")
821 (synopsis "Efficient buffered output")
822 (description "This library provides an implementation of the older
823@code{blaze-builder} interface in terms of the new builder that shipped with
824@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
825bridge to the new builder, so that code that uses the old interface can
826interoperate with code that uses the new implementation.")
827 (license license:bsd-3)))
828
829(define-public ghc-blaze-markup
830 (package
831 (name "ghc-blaze-markup")
832 (version "0.8.2.1")
833 (source
834 (origin
835 (method url-fetch)
836 (uri (string-append "https://hackage.haskell.org/package/"
837 "blaze-markup/blaze-markup-"
838 version ".tar.gz"))
839 (sha256
840 (base32
841 "0ih1c3qahkdgzbqihdhny5s313l2m66fbb88w8jbx7yz56y7rawh"))))
842 (build-system haskell-build-system)
843 (arguments
844 `(#:phases
845 (modify-phases %standard-phases
846 (add-before 'configure 'update-constraints
847 (lambda _
848 (substitute* "blaze-markup.cabal"
849 (("tasty >= 1\\.0 && < 1\\.1")
850 "tasty >= 1.0 && < 1.2")))))))
851 (inputs
852 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
853 (native-inputs
854 `(("ghc-hunit" ,ghc-hunit)
855 ("ghc-quickcheck" ,ghc-quickcheck)
856 ("ghc-tasty" ,ghc-tasty)
857 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
858 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
859 (home-page "https://jaspervdj.be/blaze")
860 (synopsis "Fast markup combinator library for Haskell")
861 (description "This library provides core modules of a markup combinator
862library for Haskell.")
863 (license license:bsd-3)))
864
865(define-public ghc-bloomfilter
866 (package
867 (name "ghc-bloomfilter")
868 (version "2.0.1.0")
869 (source
870 (origin
871 (method url-fetch)
872 (uri (string-append "https://hackage.haskell.org/package/"
873 "bloomfilter/bloomfilter-" version ".tar.gz"))
874 (sha256
875 (base32
876 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
877 (build-system haskell-build-system)
878 (native-inputs
879 `(("ghc-quickcheck" ,ghc-quickcheck)
880 ("ghc-random" ,ghc-random)
881 ("ghc-test-framework" ,ghc-test-framework)
882 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
883 (home-page "https://github.com/bos/bloomfilter")
884 (synopsis "Pure and impure Bloom filter implementations")
885 (description "This package provides both mutable and immutable Bloom
886filter data types, along with a family of hash functions and an easy-to-use
887interface.")
888 (license license:bsd-3)))
889
890(define-public ghc-boxes
891 (package
892 (name "ghc-boxes")
893 (version "0.1.5")
894 (source
895 (origin
896 (method url-fetch)
897 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
898 version ".tar.gz"))
899 (sha256
900 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
901 (build-system haskell-build-system)
902 (inputs
903 `(("ghc-split" ,ghc-split)
904 ("ghc-quickcheck" ,ghc-quickcheck)))
905 (home-page "https://hackage.haskell.org/package/boxes")
906 (synopsis "2D text pretty-printing library")
907 (description
908 "Boxes is a pretty-printing library for laying out text in two dimensions,
909using a simple box model.")
910 (license license:bsd-3)))
911
912(define-public ghc-byteable
913 (package
914 (name "ghc-byteable")
915 (version "0.1.1")
916 (source (origin
917 (method url-fetch)
918 (uri (string-append "https://hackage.haskell.org/package/"
919 "byteable/byteable-" version ".tar.gz"))
920 (sha256
921 (base32
922 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
923 (build-system haskell-build-system)
924 (home-page "https://github.com/vincenthz/hs-byteable")
925 (synopsis "Type class for sequence of bytes")
926 (description
927 "This package provides an abstract class to manipulate sequence of bytes.
928The use case of this class is abstracting manipulation of types that are just
929wrapping a bytestring with stronger and more meaniful name.")
930 (license license:bsd-3)))
931
932(define-public ghc-byteorder
933 (package
934 (name "ghc-byteorder")
935 (version "1.0.4")
936 (source
937 (origin
938 (method url-fetch)
939 (uri (string-append
940 "https://hackage.haskell.org/package/byteorder/byteorder-"
941 version
942 ".tar.gz"))
943 (sha256
944 (base32
945 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
946 (build-system haskell-build-system)
947 (home-page
948 "http://community.haskell.org/~aslatter/code/byteorder")
949 (synopsis
950 "Exposes the native endianness of the system")
951 (description
952 "This package is for working with the native byte-ordering of the
953system.")
954 (license license:bsd-3)))
955
956(define-public ghc-bytes
957 (package
958 (name "ghc-bytes")
959 (version "0.15.5")
960 (source
961 (origin
962 (method url-fetch)
963 (uri
964 (string-append "https://hackage.haskell.org/package/bytes-"
965 version "/bytes-"
966 version ".tar.gz"))
967 (file-name (string-append name "-" version ".tar.gz"))
968 (sha256
969 (base32
970 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
971 (build-system haskell-build-system)
972 (inputs `(("ghc-cereal" ,ghc-cereal)
973 ("cabal-doctest" ,cabal-doctest)
974 ("ghc-doctest" ,ghc-doctest)
975 ("ghc-scientific" ,ghc-scientific)
976 ("ghc-transformers-compat" ,ghc-transformers-compat)
977 ("ghc-unordered-containers" ,ghc-unordered-containers)
978 ("ghc-void" ,ghc-void)
979 ("ghc-vector" ,ghc-vector)))
980 (synopsis "Serialization between @code{binary} and @code{cereal}")
981 (description "This package provides a simple compatibility shim that lets
982you work with both @code{binary} and @code{cereal} with one chunk of
983serialization code.")
984 (home-page "https://hackage.haskell.org/package/bytes")
985 (license license:bsd-3)))
986
987(define-public ghc-bytestring-builder
988 (package
989 (name "ghc-bytestring-builder")
990 (version "0.10.8.1.0")
991 (source
992 (origin
993 (method url-fetch)
994 (uri (string-append
995 "https://hackage.haskell.org/package/bytestring-builder"
996 "/bytestring-builder-" version ".tar.gz"))
997 (sha256
998 (base32
999 "1hnvjac28y44yn78c9vdp1zvrknvlw98ky3g4n5vivr16rvh8x3d"))))
1000 (build-system haskell-build-system)
1001 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1002 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1003 (synopsis "The new bytestring builder, packaged outside of GHC")
1004 (description "This package provides the bytestring builder that is
1005debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1006Compatibility package for older packages.")
1007 (license license:bsd-3)))
1008
1009(define-public ghc-bytestring-handle
1010 (package
1011 (name "ghc-bytestring-handle")
1012 (version "0.1.0.6")
1013 (source
1014 (origin
1015 (method url-fetch)
1016 (uri (string-append
1017 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1018 version ".tar.gz"))
1019 (sha256
1020 (base32
1021 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1022 (build-system haskell-build-system)
1023 (arguments
1024 `(#:phases
1025 (modify-phases %standard-phases
1026 (add-before 'configure 'update-constraints
1027 (lambda _
1028 (substitute* "bytestring-handle.cabal"
1029 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
1030 "QuickCheck >= 2.1.2 && < 2.12")
1031 (("base >= 4\\.2 && < 4\\.11")
1032 "base >= 4.2 && < 4.12")))))))
1033 (inputs
1034 `(("ghc-hunit" ,ghc-hunit)
1035 ("ghc-quickcheck" ,ghc-quickcheck)
1036 ("ghc-test-framework" ,ghc-test-framework)
1037 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1038 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1039 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1040 (synopsis "ByteString-backed Handles")
1041 (description "ByteString-backed Handles") ; There is no description
1042 (license license:bsd-3)))
1043
1044(define-public ghc-bytestring-lexing
1045 (package
1046 (name "ghc-bytestring-lexing")
1047 (version "0.5.0.2")
1048 (source
1049 (origin
1050 (method url-fetch)
1051 (uri (string-append "https://hackage.haskell.org/package/"
1052 "bytestring-lexing/bytestring-lexing-"
1053 version ".tar.gz"))
1054 (sha256
1055 (base32
1056 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1057 (build-system haskell-build-system)
1058 (home-page "http://code.haskell.org/~wren/")
1059 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1060 (description
1061 "This package provides tools to parse and produce literals efficiently
1062from strict or lazy bytestrings.")
1063 (license license:bsd-2)))
1064
1065(define-public ghc-bzlib-conduit
1066 (package
1067 (name "ghc-bzlib-conduit")
1068 (version "0.3.0.1")
1069 (source
1070 (origin
1071 (method url-fetch)
1072 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1073 "bzlib-conduit-" version ".tar.gz"))
1074 (sha256
1075 (base32
1076 "0fd2hnr782s7qgipazg2yxwia9qqhkvm9bcm90773c3zkxa13n23"))))
1077 (build-system haskell-build-system)
1078 (inputs
1079 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1080 ("ghc-conduit" ,ghc-conduit)
1081 ("ghc-data-default-class" ,ghc-data-default-class)
1082 ("ghc-resourcet" ,ghc-resourcet)))
1083 (native-inputs
1084 `(("ghc-hspec" ,ghc-hspec)
1085 ("ghc-random" ,ghc-random)))
1086 (home-page "https://github.com/snoyberg/bzlib-conduit")
1087 (synopsis "Streaming compression/decompression via conduits")
1088 (description
1089 "This package provides Haskell bindings to bzlib and Conduit support for
1090streaming compression and decompression.")
1091 (license license:bsd-3)))
1092
1093(define-public ghc-c2hs
1094 (package
1095 (name "ghc-c2hs")
1096 (version "0.28.6")
1097 (source
1098 (origin
1099 (method url-fetch)
1100 (uri (string-append
1101 "https://hackage.haskell.org/package/c2hs/c2hs-"
1102 version
1103 ".tar.gz"))
1104 (sha256
1105 (base32
1106 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1107 (build-system haskell-build-system)
1108 (inputs
1109 `(("ghc-language-c" ,ghc-language-c)
1110 ("ghc-dlist" ,ghc-dlist)))
1111 (native-inputs
1112 `(("ghc-test-framework" ,ghc-test-framework)
1113 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1114 ("ghc-hunit" ,ghc-hunit)
1115 ("ghc-shelly" ,ghc-shelly)
1116 ("gcc" ,gcc)))
1117 (arguments
1118 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1119 ;; of glibc 2.28.
1120 #:tests? #f
1121
1122 #:phases
1123 (modify-phases %standard-phases
1124 (add-before 'check 'set-cc
1125 ;; add a cc executable in the path, needed for some tests to pass
1126 (lambda* (#:key inputs #:allow-other-keys)
1127 (let ((gcc (assoc-ref inputs "gcc"))
1128 (tmpbin (tmpnam))
1129 (curpath (getenv "PATH")))
1130 (mkdir-p tmpbin)
1131 (symlink (which "gcc") (string-append tmpbin "/cc"))
1132 (setenv "PATH" (string-append tmpbin ":" curpath)))
1133 #t))
1134 (add-after 'check 'remove-cc
1135 ;; clean the tmp dir made in 'set-cc
1136 (lambda _
1137 (let* ((cc-path (which "cc"))
1138 (cc-dir (dirname cc-path)))
1139 (delete-file-recursively cc-dir)
1140 #t))))))
1141 (home-page "https://github.com/haskell/c2hs")
1142 (synopsis "Create Haskell bindings to C libraries")
1143 (description "C->Haskell assists in the development of Haskell bindings to
1144C libraries. It extracts interface information from C header files and
1145generates Haskell code with foreign imports and marshaling. Unlike writing
1146foreign imports by hand (or using hsc2hs), this ensures that C functions are
1147imported with the correct Haskell types.")
1148 (license license:gpl2)))
1149
1150(define-public ghc-cairo
1151 (package
1152 (name "ghc-cairo")
1153 (version "0.13.5.0")
1154 (source
1155 (origin
1156 (method url-fetch)
1157 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1158 "cairo-" version ".tar.gz"))
1159 (sha256
1160 (base32
1161 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1162 (build-system haskell-build-system)
1163 (arguments
1164 `(#:modules ((guix build haskell-build-system)
1165 (guix build utils)
1166 (ice-9 match)
1167 (srfi srfi-26))
1168 #:phases
1169 (modify-phases %standard-phases
1170 ;; FIXME: This is a copy of the standard configure phase with a tiny
1171 ;; difference: this package needs the -package-db flag to be passed
1172 ;; to "runhaskell" in addition to the "configure" action, because it
1173 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1174 ;; this option the Setup.hs file cannot be evaluated. The
1175 ;; haskell-build-system should be changed to pass "-package-db" to
1176 ;; "runhaskell" in any case.
1177 (replace 'configure
1178 (lambda* (#:key outputs inputs tests? (configure-flags '())
1179 #:allow-other-keys)
1180 (let* ((out (assoc-ref outputs "out"))
1181 (name-version (strip-store-file-name out))
1182 (input-dirs (match inputs
1183 (((_ . dir) ...)
1184 dir)
1185 (_ '())))
1186 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1187 (params (append `(,(string-append "--prefix=" out))
1188 `(,(string-append "--libdir=" out "/lib"))
1189 `(,(string-append "--bindir=" out "/bin"))
1190 `(,(string-append
1191 "--docdir=" out
1192 "/share/doc/" name-version))
1193 '("--libsubdir=$compiler/$pkg-$version")
1194 '("--package-db=../package.conf.d")
1195 '("--global")
1196 `(,@(map
1197 (cut string-append "--extra-include-dirs=" <>)
1198 (search-path-as-list '("include") input-dirs)))
1199 `(,@(map
1200 (cut string-append "--extra-lib-dirs=" <>)
1201 (search-path-as-list '("lib") input-dirs)))
1202 (if tests?
1203 '("--enable-tests")
1204 '())
1205 configure-flags)))
1206 (unsetenv "GHC_PACKAGE_PATH")
1207 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1208 "Setup.hs" "configure" params)
1209 (setenv "GHC_PACKAGE_PATH" ghc-path)
1210 #t))))))
1211 (inputs
1212 `(("ghc-utf8-string" ,ghc-utf8-string)
1213 ("cairo" ,cairo)))
1214 (native-inputs
1215 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1216 ("pkg-config" ,pkg-config)))
1217 (home-page "http://projects.haskell.org/gtk2hs/")
1218 (synopsis "Haskell bindings to the Cairo vector graphics library")
1219 (description
1220 "Cairo is a library to render high quality vector graphics. There exist
1221various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1222documents, amongst others.")
1223 (license license:bsd-3)))
1224
1225(define-public ghc-call-stack
1226 (package
1227 (name "ghc-call-stack")
1228 (version "0.1.0")
1229 (source
1230 (origin
1231 (method url-fetch)
1232 (uri (string-append "https://hackage.haskell.org/package/"
1233 "call-stack/call-stack-"
1234 version ".tar.gz"))
1235 (sha256
1236 (base32
1237 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1238 (build-system haskell-build-system)
1239 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1240 (home-page "https://github.com/sol/call-stack#readme")
1241 (synopsis "Use GHC call-stacks in a backward compatible way")
1242 (description "This package provides a compatibility layer for using GHC
1243call stacks with different versions of the compiler.")
1244 (license license:expat)))
1245
1246;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1247;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1248(define-public ghc-call-stack-boot
1249 (hidden-package
1250 (package
1251 (inherit ghc-call-stack)
1252 (arguments '(#:tests? #f))
1253 (inputs '()))))
1254
1255(define-public ghc-case-insensitive
1256 (package
1257 (name "ghc-case-insensitive")
1258 (version "1.2.0.11")
1259 (outputs '("out" "doc"))
1260 (source
1261 (origin
1262 (method url-fetch)
1263 (uri (string-append
1264 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1265 version
1266 ".tar.gz"))
1267 (sha256
1268 (base32
1269 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1270 (build-system haskell-build-system)
1271 ;; these inputs are necessary to use this library
1272 (inputs
1273 `(("ghc-hashable" ,ghc-hashable)))
1274 (arguments
1275 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1276 (home-page
1277 "https://github.com/basvandijk/case-insensitive")
1278 (synopsis "Case insensitive string comparison")
1279 (description
1280 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1281constructor which can be parameterised by a string-like type like:
1282@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1283the resulting type will be insensitive to cases.")
1284 (license license:bsd-3)))
1285
1286(define-public ghc-cereal
1287 (package
1288 (name "ghc-cereal")
1289 (version "0.5.7.0")
1290 (source
1291 (origin
1292 (method url-fetch)
1293 (uri (string-append
1294 "https://hackage.haskell.org/package/cereal/cereal-"
1295 version
1296 ".tar.gz"))
1297 (sha256
1298 (base32
1299 "1j7imh2mzqcljld7sx0av69699955rpy3hzivi5723i6a9nszgbs"))))
1300 (build-system haskell-build-system)
1301 (native-inputs
1302 `(("ghc-quickcheck" ,ghc-quickcheck)
1303 ("ghc-fail" ,ghc-fail)
1304 ("ghc-test-framework" ,ghc-test-framework)
1305 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1306 (home-page "https://hackage.haskell.org/package/cereal")
1307 (synopsis "Binary serialization library")
1308 (description "This package provides a binary serialization library,
1309similar to @code{binary}, that introduces an @code{isolate} primitive for
1310parser isolation, and labeled blocks for better error messages.")
1311 (license license:bsd-3)))
1312
1313(define-public ghc-cereal-conduit
1314 (package
1315 (name "ghc-cereal-conduit")
1316 (version "0.8.0")
1317 (source
1318 (origin
1319 (method url-fetch)
1320 (uri (string-append "https://hackage.haskell.org/package/"
1321 "cereal-conduit/cereal-conduit-"
1322 version ".tar.gz"))
1323 (sha256
1324 (base32
1325 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1326 (build-system haskell-build-system)
1327 (inputs
1328 `(("ghc-conduit" ,ghc-conduit)
1329 ("ghc-resourcet" ,ghc-resourcet)
1330 ("ghc-cereal" ,ghc-cereal)))
1331 (native-inputs
1332 `(("ghc-hunit" ,ghc-hunit)))
1333 (home-page "https://github.com/snoyberg/conduit")
1334 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1335 (description
1336 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1337@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1338 (license license:bsd-3)))
1339
1340(define-public ghc-cgi
1341 (package
1342 (name "ghc-cgi")
1343 (version "3001.3.0.2")
1344 (source
1345 (origin
1346 (method url-fetch)
1347 (uri (string-append
1348 "https://hackage.haskell.org/package/cgi/cgi-"
1349 version
1350 ".tar.gz"))
1351 (sha256
1352 (base32
1353 "1hbpplss1m4rdpm4ibip6fpimlhssqa14fl338kl2jbc463i64cj"))))
1354 (build-system haskell-build-system)
1355 (arguments
1356 `(#:phases
1357 (modify-phases %standard-phases
1358 (add-before 'configure 'update-constraints
1359 (lambda _
1360 (substitute* "cgi.cabal"
1361 (("exceptions < 0\\.9")
1362 "exceptions < 0.11")
1363 (("time >= 1\\.5 && < 1\\.7")
1364 "time >= 1.5 && < 1.9")
1365 (("doctest >= 0\\.8 && < 0\\.12")
1366 "doctest >= 0.8 && < 0.17")
1367 (("QuickCheck >= 2\\.8\\.1 && < 2\\.10")
1368 "QuickCheck >= 2.8.1 && < 2.12")))))))
1369 (inputs
1370 `(("ghc-exceptions" ,ghc-exceptions)
1371 ("ghc-multipart" ,ghc-multipart)
1372 ("ghc-network-uri" ,ghc-network-uri)
1373 ("ghc-network" ,ghc-network)))
1374 (native-inputs
1375 `(("ghc-doctest" ,ghc-doctest)
1376 ("ghc-quickcheck" ,ghc-quickcheck)))
1377 (home-page
1378 "https://github.com/cheecheeo/haskell-cgi")
1379 (synopsis "Library for writing CGI programs")
1380 (description
1381 "This is a Haskell library for writing CGI programs.")
1382 (license license:bsd-3)))
1383
1384(define-public ghc-charset
1385 (package
1386 (name "ghc-charset")
1387 (version "0.3.7.1")
1388 (source
1389 (origin
1390 (method url-fetch)
1391 (uri (string-append
1392 "https://hackage.haskell.org/package/charset/charset-"
1393 version
1394 ".tar.gz"))
1395 (sha256
1396 (base32
1397 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1398 (build-system haskell-build-system)
1399 (inputs
1400 `(("ghc-semigroups" ,ghc-semigroups)
1401 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1402 (home-page "https://github.com/ekmett/charset")
1403 (synopsis "Fast unicode character sets for Haskell")
1404 (description "This package provides fast unicode character sets for
1405Haskell, based on complemented PATRICIA tries.")
1406 (license license:bsd-3)))
1407
1408(define-public ghc-chart
1409 (package
1410 (name "ghc-chart")
1411 (version "1.9")
1412 (source
1413 (origin
1414 (method url-fetch)
1415 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1416 "Chart-" version ".tar.gz"))
1417 (sha256
1418 (base32
1419 "1f5azj17y8xsb3gjhf7gg1gnnlq12rxkmfjmgcly314d7vghs05z"))))
1420 (build-system haskell-build-system)
1421 (inputs
1422 `(("ghc-old-locale" ,ghc-old-locale)
1423 ("ghc-lens" ,ghc-lens)
1424 ("ghc-colour" ,ghc-colour)
1425 ("ghc-data-default-class" ,ghc-data-default-class)
1426 ("ghc-operational" ,ghc-operational)
1427 ("ghc-vector" ,ghc-vector)))
1428 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1429 (synopsis "Library for generating 2D charts and plots")
1430 (description
1431 "This package provides a library for generating 2D charts and plots, with
1432backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1433 (license license:bsd-3)))
1434
1435(define-public ghc-chart-cairo
1436 (package
1437 (name "ghc-chart-cairo")
1438 (version "1.9")
1439 (source
1440 (origin
1441 (method url-fetch)
1442 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1443 "Chart-cairo-" version ".tar.gz"))
1444 (sha256
1445 (base32
1446 "0iany6lfyfb1cw0pxfs5aw5k0a6x41m6ql9ad9w59biwdckbsyqr"))))
1447 (build-system haskell-build-system)
1448 (inputs
1449 `(("ghc-old-locale" ,ghc-old-locale)
1450 ("ghc-cairo" ,ghc-cairo)
1451 ("ghc-colour" ,ghc-colour)
1452 ("ghc-data-default-class" ,ghc-data-default-class)
1453 ("ghc-operational" ,ghc-operational)
1454 ("ghc-lens" ,ghc-lens)
1455 ("ghc-chart" ,ghc-chart)))
1456 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1457 (synopsis "Cairo backend for Charts")
1458 (description "This package provides a Cairo vector graphics rendering
1459backend for the Charts library.")
1460 (license license:bsd-3)))
1461
1462(define-public ghc-chasingbottoms
1463 (package
1464 (name "ghc-chasingbottoms")
1465 (version "1.3.1.4")
1466 (source
1467 (origin
1468 (method url-fetch)
1469 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1470 "ChasingBottoms-" version ".tar.gz"))
1471 (sha256
1472 (base32
1473 "06cynx6hcbfpky7qq3b3mjjgwbnaxkwin3znbwq4b9ikiw0ng633"))))
1474 (build-system haskell-build-system)
1475 (inputs
1476 `(("ghc-quickcheck" ,ghc-quickcheck)
1477 ("ghc-random" ,ghc-random)
1478 ("ghc-syb" ,ghc-syb)))
1479 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1480 (synopsis "Testing of partial and infinite values in Haskell")
1481 (description
1482 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1483 ;; rendered properly.
1484 "This is a library for testing code involving bottoms or infinite values.
1485For the underlying theory and a larger example involving use of QuickCheck,
1486see the article
1487@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1488\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1489Partial and Infinite Values\"}.")
1490 (license license:expat)))
1491
1492(define-public ghc-cheapskate
1493 (package
1494 (name "ghc-cheapskate")
1495 (version "0.1.1")
1496 (source
1497 (origin
1498 (method url-fetch)
1499 (uri (string-append
1500 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1501 version
1502 ".tar.gz"))
1503 (sha256
1504 (base32
1505 "1hiqi7h76shjzs2zj0j8g6wnq2hbiq1hmfafdazr97fba2zl2432"))))
1506 (build-system haskell-build-system)
1507 (inputs
1508 `(("ghc-blaze-html" ,ghc-blaze-html)
1509 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1510 ("ghc-data-default" ,ghc-data-default)
1511 ("ghc-syb" ,ghc-syb)
1512 ("ghc-uniplate" ,ghc-uniplate)))
1513 (home-page "https://github.com/jgm/cheapskate")
1514 (synopsis "Experimental markdown processor")
1515 (description "Cheapskate is an experimental Markdown processor in pure
1516Haskell. It aims to process Markdown efficiently and in the most forgiving
1517possible way. It is designed to deal with any input, including garbage, with
1518linear performance. Output is sanitized by default for protection against
1519cross-site scripting (@dfn{XSS}) attacks.")
1520 (license license:bsd-3)))
1521
1522(define-public ghc-chell
1523 (package
1524 (name "ghc-chell")
1525 (version "0.4.0.2")
1526 (source
1527 (origin
1528 (method url-fetch)
1529 (uri (string-append
1530 "https://hackage.haskell.org/package/chell/chell-"
1531 version ".tar.gz"))
1532 (sha256
1533 (base32
1534 "10ingy9qnbmc8cqh4i9pskcw43l0mzk8f3d76b3qz3fig5ary3j9"))))
1535 (build-system haskell-build-system)
1536 (inputs
1537 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1538 ("ghc-patience" ,ghc-patience)
1539 ("ghc-random" ,ghc-random)
1540 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1541 (home-page "https://john-millikin.com/software/chell/")
1542 (synopsis "Simple and intuitive library for automated testing")
1543 (description
1544 "Chell is a simple and intuitive library for automated testing.
1545It natively supports assertion-based testing, and can use companion
1546libraries such as @code{chell-quickcheck} to support more complex
1547testing strategies.")
1548 (license license:expat)))
1549
1550(define-public ghc-chell-quickcheck
1551 (package
1552 (name "ghc-chell-quickcheck")
1553 (version "0.2.5.1")
1554 (source
1555 (origin
1556 (method url-fetch)
1557 (uri (string-append
1558 "https://hackage.haskell.org/package/chell-quickcheck/"
1559 "chell-quickcheck-" version ".tar.gz"))
1560 (sha256
1561 (base32
1562 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
1563 (build-system haskell-build-system)
1564 (arguments
1565 `(#:phases
1566 (modify-phases %standard-phases
1567 (add-before 'configure 'update-constraints
1568 (lambda _
1569 (substitute* "chell-quickcheck.cabal"
1570 (("QuickCheck >= 2\\.3 && < 2\\.11")
1571 "QuickCheck >= 2.3 && < 2.12")))))))
1572 (inputs
1573 `(("ghc-chell" ,ghc-chell)
1574 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1575 ("ghc-random" ,ghc-random)
1576 ("ghc-quickcheck" ,ghc-quickcheck)))
1577 (home-page "https://john-millikin.com/software/chell/")
1578 (synopsis "QuickCheck support for the Chell testing library")
1579 (description "More complex tests for @code{chell}.")
1580 (license license:expat)))
1581
1582(define ghc-chell-quickcheck-bootstrap
1583 (package
1584 (name "ghc-chell-quickcheck-bootstrap")
1585 (version "0.2.5.1")
1586 (source
1587 (origin
1588 (method url-fetch)
1589 (uri (string-append
1590 "https://hackage.haskell.org/package/chell-quickcheck/"
1591 "chell-quickcheck-" version ".tar.gz"))
1592 (sha256
1593 (base32
1594 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
1595 (build-system haskell-build-system)
1596 (inputs
1597 `(("ghc-chell" ,ghc-chell)
1598 ("ghc-random" ,ghc-random)
1599 ("ghc-quickcheck" ,ghc-quickcheck)))
1600 (arguments
1601 `(#:tests? #f
1602 #:phases
1603 (modify-phases %standard-phases
1604 (add-before 'configure 'update-constraints
1605 (lambda _
1606 (substitute* "chell-quickcheck.cabal"
1607 (("QuickCheck >= 2\\.3 && < 2\\.11")
1608 "QuickCheck >= 2.3 && < 2.12")))))))
1609 (home-page "https://john-millikin.com/software/chell/")
1610 (synopsis "QuickCheck support for the Chell testing library")
1611 (description "More complex tests for @code{chell}.")
1612 (license license:expat)))
1613
1614(define-public ghc-chunked-data
1615 (package
1616 (name "ghc-chunked-data")
1617 (version "0.3.1")
1618 (source
1619 (origin
1620 (method url-fetch)
1621 (uri (string-append "https://hackage.haskell.org/package/"
1622 "chunked-data-" version "/"
1623 "chunked-data-" version ".tar.gz"))
1624 (sha256
1625 (base32
1626 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1627 (build-system haskell-build-system)
1628 (inputs `(("ghc-vector" ,ghc-vector)
1629 ("ghc-semigroups" ,ghc-semigroups)))
1630 (home-page "https://github.com/snoyberg/mono-traversable")
1631 (synopsis "Typeclasses for dealing with various chunked data
1632representations for Haskell")
1633 (description "This Haskell package was originally present in
1634classy-prelude.")
1635 (license license:expat)))
1636
1637(define-public ghc-clock
1638 (package
1639 (name "ghc-clock")
1640 (version "0.7.2")
1641 (source
1642 (origin
1643 (method url-fetch)
1644 (uri (string-append
1645 "https://hackage.haskell.org/package/"
1646 "clock/"
1647 "clock-" version ".tar.gz"))
1648 (sha256
1649 (base32 "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8"))))
1650 (build-system haskell-build-system)
1651 (inputs
1652 `(("ghc-tasty" ,ghc-tasty)
1653 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1654 (home-page "https://hackage.haskell.org/package/clock")
1655 (synopsis "High-resolution clock for Haskell")
1656 (description "A package for convenient access to high-resolution clock and
1657timer functions of different operating systems via a unified API.")
1658 (license license:bsd-3)))
1659
1660;; This package builds `clock` without tests, since the tests rely on tasty
1661;; and tasty-quickcheck, which in turn require clock to build.
1662(define-public ghc-clock-bootstrap
1663 (package
1664 (inherit ghc-clock)
1665 (name "ghc-clock-bootstrap")
1666 (arguments '(#:tests? #f))
1667 (inputs '())
1668 (properties '((hidden? #t)))))
1669
1670(define-public ghc-cmark
1671 (package
1672 (name "ghc-cmark")
1673 (version "0.5.6")
1674 (source (origin
1675 (method url-fetch)
1676 ;; XXX As of version 0.5.6, this package bundles libcmark 0.28.0.
1677 ;; See cbits/cmark_version.h.
1678 (uri (string-append "https://hackage.haskell.org/package/"
1679 "cmark/cmark-" version ".tar.gz"))
1680 (sha256
1681 (base32
1682 "1c1j3a8b9qx5zk9myqm3gap8ymz7fipwrdmyfsq9wkkdr9x4np45"))))
1683 (build-system haskell-build-system)
1684 (native-inputs
1685 `(("ghc-hunit" ,ghc-hunit)))
1686 (home-page "https://github.com/jgm/commonmark-hs")
1687 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1688 (description
1689 "This package provides Haskell bindings for
1690@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1691CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1692sources, and does not require prior installation of the C library.")
1693 (license license:bsd-3)))
1694
1695(define-public ghc-cmark-gfm
1696 (package
1697 (name "ghc-cmark-gfm")
1698 (version "0.1.5")
1699 (source
1700 (origin
1701 (method url-fetch)
1702 (uri (string-append "https://hackage.haskell.org/package/"
1703 "cmark-gfm/cmark-gfm-"
1704 version ".tar.gz"))
1705 (sha256
1706 (base32
1707 "13b0mqks5c1q989slgsa3ixr5vvkfyic4ynzgv00kgl5qrs7hqk7"))))
1708 (build-system haskell-build-system)
1709 (native-inputs
1710 `(("ghc-hunit" ,ghc-hunit)))
1711 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1712 (synopsis
1713 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1714 (description
1715 "This package provides Haskell bindings for libcmark-gfm, the reference
1716parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1717It includes sources for libcmark-gfm and does not require prior installation
1718of the C library.")
1719 (license license:bsd-3)))
1720
1721(define-public ghc-cmdargs
1722 (package
1723 (name "ghc-cmdargs")
1724 (version "0.10.20")
1725 (source
1726 (origin
1727 (method url-fetch)
1728 (uri (string-append
1729 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1730 version ".tar.gz"))
1731 (sha256
1732 (base32
1733 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1734 (build-system haskell-build-system)
1735 (home-page
1736 "http://community.haskell.org/~ndm/cmdargs/")
1737 (synopsis "Command line argument processing")
1738 (description
1739 "This library provides an easy way to define command line parsers.")
1740 (license license:bsd-3)))
1741
1742(define-public ghc-code-page
1743 (package
1744 (name "ghc-code-page")
1745 (version "0.1.3")
1746 (source
1747 (origin
1748 (method url-fetch)
1749 (uri (string-append
1750 "https://hackage.haskell.org/package/code-page/code-page-"
1751 version ".tar.gz"))
1752 (sha256
1753 (base32
1754 "1491frk4jx6dlhifky9dvcxbsbcfssrz979a5hp5zn061rh8cp76"))))
1755 (build-system haskell-build-system)
1756 (home-page "https://github.com/RyanGlScott/code-page")
1757 (synopsis "Windows code page library for Haskell")
1758 (description "A cross-platform library with functions for adjusting
1759code pages on Windows. On all other operating systems, the library does
1760nothing.")
1761 (license license:bsd-3)))
1762
1763(define-public ghc-colour
1764(package
1765 (name "ghc-colour")
1766 (version "2.3.4")
1767 (source
1768 (origin
1769 (method url-fetch)
1770 (uri (string-append
1771 "https://hackage.haskell.org/package/colour/colour-"
1772 version ".tar.gz"))
1773 (sha256
1774 (base32
1775 "1sy51nz096sv91nxqk6yk7b92b5a40axv9183xakvki2nc09yhqg"))))
1776 (arguments
1777 ;; The tests for this package have the following dependency cycle:
1778 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1779 `(#:tests? #f))
1780 (build-system haskell-build-system)
1781 (home-page "https://www.haskell.org/haskellwiki/Colour")
1782 (synopsis "Model for human colour perception")
1783 (description
1784 "This package provides a data type for colours and transparency.
1785Colours can be blended and composed. Various colour spaces are
1786supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1787 (license license:expat)))
1788
1789(define-public ghc-comonad
1790 (package
1791 (name "ghc-comonad")
1792 (version "5.0.4")
1793 (source
1794 (origin
1795 (method url-fetch)
1796 (uri (string-append
1797 "https://hackage.haskell.org/package/comonad/comonad-"
1798 version
1799 ".tar.gz"))
1800 (sha256
1801 (base32
1802 "09g870c4flp4k3fgbibsd0mmfjani1qcpbcl685v8x89kxzrva3q"))))
1803 (build-system haskell-build-system)
1804 (native-inputs
1805 `(("cabal-doctest" ,cabal-doctest)
1806 ("ghc-doctest" ,ghc-doctest)))
1807 (inputs
1808 `(("ghc-contravariant" ,ghc-contravariant)
1809 ("ghc-distributive" ,ghc-distributive)
1810 ("ghc-semigroups" ,ghc-semigroups)
1811 ("ghc-tagged" ,ghc-tagged)
1812 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1813 (home-page "https://github.com/ekmett/comonad/")
1814 (synopsis "Comonads for Haskell")
1815 (description "This library provides @code{Comonad}s for Haskell.")
1816 (license license:bsd-3)))
1817
1818(define-public ghc-concatenative
1819 (package
1820 (name "ghc-concatenative")
1821 (version "1.0.1")
1822 (source (origin
1823 (method url-fetch)
1824 (uri (string-append
1825 "https://hackage.haskell.org/package/concatenative/concatenative-"
1826 version ".tar.gz"))
1827 (sha256
1828 (base32
1829 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1830 (build-system haskell-build-system)
1831 (home-page
1832 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1833 (synopsis "Library for postfix control flow")
1834 (description
1835 "Concatenative gives Haskell Factor-style combinators and arrows for
1836postfix notation. For more information on stack based languages, see
1837@uref{https://concatenative.org}.")
1838 (license license:bsd-3)))
1839
1840(define-public ghc-concurrent-extra
1841 (package
1842 (name "ghc-concurrent-extra")
1843 (version "0.7.0.12")
1844 (source
1845 (origin
1846 (method url-fetch)
1847 (uri (string-append "https://hackage.haskell.org/package/"
1848 "concurrent-extra/concurrent-extra-"
1849 version ".tar.gz"))
1850 (sha256
1851 (base32
1852 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
1853 (build-system haskell-build-system)
1854 (arguments
1855 ;; XXX: The ReadWriteLock 'stressTest' fails.
1856 `(#:tests? #f))
1857 (inputs
1858 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
1859 (native-inputs
1860 `(("ghc-async" ,ghc-async)
1861 ("ghc-hunit" ,ghc-hunit)
1862 ("ghc-random" ,ghc-random)
1863 ("ghc-test-framework" ,ghc-test-framework)
1864 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
1865 (home-page "https://github.com/basvandijk/concurrent-extra")
1866 (synopsis "Extra concurrency primitives")
1867 (description "This Haskell library offers (among other things) the
1868following selection of synchronisation primitives:
1869
1870@itemize
1871@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
1872@item @code{Event}: Wake multiple threads by signalling an event.
1873@item @code{Lock}: Enforce exclusive access to a resource. Also known
1874as a binary semaphore or mutex. The package additionally provides an
1875alternative that works in the STM monad.
1876@item @code{RLock}: A lock which can be acquired multiple times by the
1877same thread. Also known as a reentrant mutex.
1878@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
1879to protect shared resources which may be concurrently read, but only
1880sequentially written.
1881@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
1882@end itemize
1883
1884Please consult the API documentation of the individual modules for more
1885detailed information.
1886
1887This package was inspired by the concurrency libraries of Java and
1888Python.")
1889 (license license:bsd-3)))
1890
1891(define-public ghc-concurrent-output
1892 (package
1893 (name "ghc-concurrent-output")
1894 (version "1.10.9")
1895 (source
1896 (origin
1897 (method url-fetch)
1898 (uri (string-append
1899 "mirror://hackage/package/concurrent-output/concurrent-output-"
1900 version
1901 ".tar.gz"))
1902 (sha256
1903 (base32
1904 "0mwf155w89nbbkjln7hhbn8k3f8p0ylcvgrg31cm7ijpx4499i4c"))))
1905 (build-system haskell-build-system)
1906 (inputs
1907 `(("ghc-async" ,ghc-async)
1908 ("ghc-exceptions" ,ghc-exceptions)
1909 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1910 ("ghc-terminal-size" ,ghc-terminal-size)))
1911 (home-page
1912 "https://hackage.haskell.org/package/concurrent-output")
1913 (synopsis
1914 "Ungarble output from several threads or commands")
1915 (description
1916 "Lets multiple threads and external processes concurrently output to the
1917console, without it getting all garbled up.
1918
1919Built on top of that is a way of defining multiple output regions, which are
1920automatically laid out on the screen and can be individually updated by
1921concurrent threads. Can be used for progress displays etc.")
1922 (license license:bsd-2)))
1923
1924(define-public ghc-conduit
1925 (package
1926 (name "ghc-conduit")
1927 (version "1.3.0.3")
1928 (source (origin
1929 (method url-fetch)
1930 (uri (string-append "https://hackage.haskell.org/package/"
1931 "conduit/conduit-" version ".tar.gz"))
1932 (sha256
1933 (base32
1934 "1sangm0qqi9dzlq95746a3kl14k8b09592a423shxjf2a0b1yx5v"))))
1935 (build-system haskell-build-system)
1936 (inputs
1937 `(("ghc-exceptions" ,ghc-exceptions)
1938 ("ghc-lifted-base" ,ghc-lifted-base)
1939 ("ghc-mono-traversable" ,ghc-mono-traversable)
1940 ("ghc-mmorph" ,ghc-mmorph)
1941 ("ghc-resourcet" ,ghc-resourcet)
1942 ("ghc-silently" ,ghc-silently)
1943 ("ghc-transformers-base" ,ghc-transformers-base)
1944 ("ghc-unliftio" ,ghc-unliftio)
1945 ("ghc-unliftio-core" ,ghc-unliftio-core)
1946 ("ghc-vector" ,ghc-vector)
1947 ("ghc-void" ,ghc-void)))
1948 (native-inputs
1949 `(("ghc-quickcheck" ,ghc-quickcheck)
1950 ("ghc-hspec" ,ghc-hspec)
1951 ("ghc-safe" ,ghc-safe)
1952 ("ghc-split" ,ghc-split)))
1953 (home-page "https://github.com/snoyberg/conduit")
1954 (synopsis "Streaming data library ")
1955 (description
1956 "The conduit package is a solution to the streaming data problem,
1957allowing for production, transformation, and consumption of streams of data
1958in constant memory. It is an alternative to lazy I/O which guarantees
1959deterministic resource handling, and fits in the same general solution
1960space as enumerator/iteratee and pipes.")
1961 (license license:expat)))
1962
1963(define-public ghc-conduit-algorithms
1964 (package
1965 (name "ghc-conduit-algorithms")
1966 (version "0.0.8.1")
1967 (source
1968 (origin
1969 (method url-fetch)
1970 (uri (string-append "https://hackage.haskell.org/package/"
1971 "conduit-algorithms/conduit-algorithms-"
1972 version ".tar.gz"))
1973 (sha256
1974 (base32
1975 "07gx2q3d1bbfw14q41rmqg0i4m018pci10lswc0k1ij6lw7sb9fd"))))
1976 (build-system haskell-build-system)
1977 (inputs
1978 `(("ghc-async" ,ghc-async)
1979 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
1980 ("ghc-conduit" ,ghc-conduit)
1981 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
1982 ("ghc-conduit-extra" ,ghc-conduit-extra)
1983 ("ghc-exceptions" ,ghc-exceptions)
1984 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
1985 ("ghc-monad-control" ,ghc-monad-control)
1986 ("ghc-pqueue" ,ghc-pqueue)
1987 ("ghc-resourcet" ,ghc-resourcet)
1988 ("ghc-stm-conduit" ,ghc-stm-conduit)
1989 ("ghc-streaming-commons" ,ghc-streaming-commons)
1990 ("ghc-unliftio-core" ,ghc-unliftio-core)
1991 ("ghc-vector" ,ghc-vector)))
1992 (native-inputs
1993 `(("ghc-hunit" ,ghc-hunit)
1994 ("ghc-test-framework" ,ghc-test-framework)
1995 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1996 ("ghc-test-framework-th" ,ghc-test-framework-th)))
1997 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
1998 (synopsis "Conduit-based algorithms")
1999 (description
2000 "This package provides algorithms on @code{Conduits}, including higher
2001level asynchronous processing and some other utilities.")
2002 (license license:expat)))
2003
2004(define-public ghc-conduit-combinators
2005 (package
2006 (name "ghc-conduit-combinators")
2007 (version "1.3.0")
2008 (source
2009 (origin
2010 (method url-fetch)
2011 (uri (string-append "https://hackage.haskell.org/package/"
2012 "conduit-combinators-" version "/"
2013 "conduit-combinators-" version ".tar.gz"))
2014 (sha256
2015 (base32
2016 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2017 (build-system haskell-build-system)
2018 (inputs `(("ghc-conduit" ,ghc-conduit)
2019 ("ghc-conduit-extra" ,ghc-conduit-extra)
2020 ("ghc-transformers-base" ,ghc-transformers-base)
2021 ("ghc-primitive" ,ghc-primitive)
2022 ("ghc-vector" ,ghc-vector)
2023 ("ghc-void" ,ghc-void)
2024 ("ghc-mwc-random" ,ghc-mwc-random)
2025 ("ghc-unix-compat" ,ghc-unix-compat)
2026 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2027 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2028 ("ghc-resourcet" ,ghc-resourcet)
2029 ("ghc-monad-control" ,ghc-monad-control)
2030 ("ghc-chunked-data" ,ghc-chunked-data)
2031 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2032 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2033 ("ghc-silently" ,ghc-silently)
2034 ("ghc-safe" ,ghc-safe)
2035 ("ghc-quickcheck" ,ghc-quickcheck)))
2036 (home-page "https://github.com/snoyberg/mono-traversable")
2037 (synopsis "Commonly used conduit functions, for both chunked and
2038unchunked data")
2039 (description "This Haskell package provides a replacement for Data.Conduit.List,
2040as well as a convenient Conduit module.")
2041 (license license:expat)))
2042
2043(define-public ghc-conduit-extra
2044 (package
2045 (name "ghc-conduit-extra")
2046 (version "1.3.1.1")
2047 (source
2048 (origin
2049 (method url-fetch)
2050 (uri (string-append "https://hackage.haskell.org/package/"
2051 "conduit-extra/conduit-extra-"
2052 version ".tar.gz"))
2053 (sha256
2054 (base32
2055 "0jaj350vv6mbb26gdwcqz4gwzfzrjydv5pis2da49wz1npbakcfw"))))
2056 (build-system haskell-build-system)
2057 (inputs
2058 `(("ghc-conduit" ,ghc-conduit)
2059 ("ghc-exceptions" ,ghc-exceptions)
2060 ("ghc-monad-control" ,ghc-monad-control)
2061 ("ghc-transformers-base" ,ghc-transformers-base)
2062 ("ghc-typed-process" ,ghc-typed-process)
2063 ("ghc-async" ,ghc-async)
2064 ("ghc-attoparsec" ,ghc-attoparsec)
2065 ("ghc-blaze-builder" ,ghc-blaze-builder)
2066 ("ghc-network" ,ghc-network)
2067 ("ghc-primitive" ,ghc-primitive)
2068 ("ghc-resourcet" ,ghc-resourcet)
2069 ("ghc-streaming-commons" ,ghc-streaming-commons)
2070 ("ghc-hspec" ,ghc-hspec)
2071 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2072 ("ghc-quickcheck" ,ghc-quickcheck)))
2073 (native-inputs
2074 `(("hspec-discover" ,hspec-discover)))
2075 (home-page "https://github.com/snoyberg/conduit")
2076 (synopsis "Conduit adapters for common libraries")
2077 (description
2078 "The @code{conduit} package itself maintains relative small dependencies.
2079The purpose of this package is to collect commonly used utility functions
2080wrapping other library dependencies, without depending on heavier-weight
2081dependencies. The basic idea is that this package should only depend on
2082@code{haskell-platform} packages and @code{conduit}.")
2083 (license license:expat)))
2084
2085(define-public ghc-configurator
2086 (package
2087 (name "ghc-configurator")
2088 (version "0.3.0.0")
2089 (source
2090 (origin
2091 (method url-fetch)
2092 (uri (string-append "https://hackage.haskell.org/package/"
2093 "configurator/configurator-"
2094 version ".tar.gz"))
2095 (sha256
2096 (base32
2097 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2098 (build-system haskell-build-system)
2099 (inputs
2100 `(("ghc-attoparsec" ,ghc-attoparsec)
2101 ("ghc-hashable" ,ghc-hashable)
2102 ("ghc-unix-compat" ,ghc-unix-compat)
2103 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2104 (native-inputs
2105 `(("ghc-hunit" ,ghc-hunit)
2106 ("ghc-test-framework" ,ghc-test-framework)
2107 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2108 (home-page "http://github.com/bos/configurator")
2109 (synopsis "Configuration management")
2110 (description
2111 "This package provides a configuration management library for programs
2112and daemons. The features include:
2113
2114@enumerate
2115@item Automatic, dynamic reloading in response to modifications to
2116 configuration files.
2117@item A simple, but flexible, configuration language, supporting several of
2118 the most commonly needed types of data, along with interpolation of strings
2119 from the configuration or the system environment (e.g. @code{$(HOME)}).
2120@item Subscription-based notification of changes to configuration properties.
2121@item An @code{import} directive allows the configuration of a complex
2122 application to be split across several smaller files, or common configuration
2123 data to be shared across several applications.
2124@end enumerate\n")
2125 (license license:bsd-3)))
2126
2127(define-public ghc-connection
2128 (package
2129 (name "ghc-connection")
2130 (version "0.2.8")
2131 (source (origin
2132 (method url-fetch)
2133 (uri (string-append "https://hackage.haskell.org/package/"
2134 "connection/connection-"
2135 version ".tar.gz"))
2136 (sha256
2137 (base32
2138 "1swkb9w5vx9ph7x55y51dc0srj2z27nd9ibgn8c0qcl6hx7g9cbh"))))
2139 (build-system haskell-build-system)
2140 (inputs
2141 `(("ghc-byteable" ,ghc-byteable)
2142 ("ghc-data-default-class" ,ghc-data-default-class)
2143 ("ghc-network" ,ghc-network)
2144 ("ghc-tls" ,ghc-tls)
2145 ("ghc-socks" ,ghc-socks)
2146 ("ghc-x509" ,ghc-x509)
2147 ("ghc-x509-store" ,ghc-x509-store)
2148 ("ghc-x509-system" ,ghc-x509-system)
2149 ("ghc-x509-validation" ,ghc-x509-validation)))
2150 (home-page "https://github.com/vincenthz/hs-connection")
2151 (synopsis "Simple and easy network connections API")
2152 (description
2153 "This package provides a simple network library for all your connection
2154needs. It provides a very simple API to create sockets to a destination with
2155the choice of SSL/TLS, and SOCKS.")
2156 (license license:bsd-3)))
2157
2158(define-public ghc-constraints
2159 (package
2160 (name "ghc-constraints")
2161 (version "0.10.1")
2162 (source
2163 (origin
2164 (method url-fetch)
2165 (uri (string-append
2166 "https://hackage.haskell.org/package/constraints/constraints-"
2167 version ".tar.gz"))
2168 (sha256
2169 (base32
2170 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2171 (build-system haskell-build-system)
2172 (inputs
2173 `(("ghc-hashable" ,ghc-hashable)
2174 ("ghc-semigroups" ,ghc-semigroups)
2175 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2176 (native-inputs
2177 `(("ghc-hspec" ,ghc-hspec)
2178 ("hspec-discover" ,hspec-discover)))
2179 (home-page "https://github.com/ekmett/constraints/")
2180 (synopsis "Constraint manipulation")
2181 (description
2182 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2183They stopped crashing the compiler in GHC 7.6. This package provides
2184a vocabulary for working with them.")
2185 (license license:bsd-3)))
2186
2187(define-public ghc-contravariant
2188 (package
2189 (name "ghc-contravariant")
2190 (version "1.4.1")
2191 (source
2192 (origin
2193 (method url-fetch)
2194 (uri (string-append
2195 "https://hackage.haskell.org/package/contravariant/contravariant-"
2196 version
2197 ".tar.gz"))
2198 (sha256
2199 (base32
2200 "1vfhk8c5cxmmakx7rflap1ipkx5q0j5vnlrcz7yz6y53kxhksgf9"))))
2201 (build-system haskell-build-system)
2202 (inputs
2203 `(("ghc-void" ,ghc-void)
2204 ("ghc-transformers-compat" ,ghc-transformers-compat)
2205 ("ghc-statevar" ,ghc-statevar)
2206 ("ghc-semigroups" ,ghc-semigroups)))
2207 (home-page
2208 "https://github.com/ekmett/contravariant/")
2209 (synopsis "Contravariant functors")
2210 (description "Contravariant functors for Haskell.")
2211 (license license:bsd-3)))
2212
2213(define-public ghc-contravariant-extras
2214 (package
2215 (name "ghc-contravariant-extras")
2216 (version "0.3.4")
2217 (source
2218 (origin
2219 (method url-fetch)
2220 (uri (string-append "https://hackage.haskell.org/package/"
2221 "contravariant-extras-" version "/"
2222 "contravariant-extras-" version ".tar.gz"))
2223 (sha256
2224 (base32
2225 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2226 (build-system haskell-build-system)
2227 (inputs
2228 `(("ghc-tuple-th" ,ghc-tuple-th)
2229 ("ghc-contravariant" ,ghc-contravariant)
2230 ("ghc-base-prelude" ,ghc-base-prelude)
2231 ("ghc-semigroups" ,ghc-semigroups)))
2232 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2233 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2234 (description "This Haskell package provides extras for the
2235@code{ghc-contravariant} package.")
2236 (license license:expat)))
2237
2238(define-public ghc-convertible
2239 (package
2240 (name "ghc-convertible")
2241 (version "1.1.1.0")
2242 (source
2243 (origin
2244 (method url-fetch)
2245 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2246 "convertible-" version ".tar.gz"))
2247 (sha256
2248 (base32
2249 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2250 (build-system haskell-build-system)
2251 (inputs
2252 `(("ghc-old-time" ,ghc-old-time)
2253 ("ghc-old-locale" ,ghc-old-locale)))
2254 (home-page "https://hackage.haskell.org/package/convertible")
2255 (synopsis "Typeclasses and instances for converting between types")
2256 (description
2257 "This package provides a typeclass with a single function that is
2258designed to help convert between different types: numeric values, dates and
2259times, and the like. The conversions perform bounds checking and return a
2260pure @code{Either} value. This means that you need not remember which specific
2261function performs the conversion you desire.")
2262 (license license:bsd-3)))
2263
2264(define-public ghc-data-accessor
2265 (package
2266 (name "ghc-data-accessor")
2267 (version "0.2.2.7")
2268 (source
2269 (origin
2270 (method url-fetch)
2271 (uri (string-append
2272 "mirror://hackage/package/data-accessor/data-accessor-"
2273 version ".tar.gz"))
2274 (sha256
2275 (base32 "1vf2g1gac3rm32g97rl0fll51m88q7ry4m6khnl5j47qsmx24r9l"))))
2276 (build-system haskell-build-system)
2277 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2278 (synopsis
2279 "Haskell utilities for accessing and manipulating fields of records")
2280 (description "This package provides Haskell modules for accessing and
2281manipulating fields of records.")
2282 (license license:bsd-3)))
2283
2284(define-public ghc-data-accessor-transformers
2285 (package
2286 (name "ghc-data-accessor-transformers")
2287 (version "0.2.1.7")
2288 (source
2289 (origin
2290 (method url-fetch)
2291 (uri (string-append
2292 "mirror://hackage/package/data-accessor-transformers/"
2293 "data-accessor-transformers-" version ".tar.gz"))
2294 (sha256
2295 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2296 (build-system haskell-build-system)
2297 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2298 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2299 (synopsis "Use Accessor to access state in transformers State monad")
2300 (description "This package provides Haskell modules to allow use of
2301Accessor to access state in transformers State monad.")
2302 (license license:bsd-3)))
2303
2304(define-public ghc-data-default
2305 (package
2306 (name "ghc-data-default")
2307 (version "0.7.1.1")
2308 (source
2309 (origin
2310 (method url-fetch)
2311 (uri (string-append
2312 "https://hackage.haskell.org/package/data-default/data-default-"
2313 version
2314 ".tar.gz"))
2315 (sha256
2316 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2317 (build-system haskell-build-system)
2318 (inputs
2319 `(("ghc-data-default-class"
2320 ,ghc-data-default-class)
2321 ("ghc-data-default-instances-base"
2322 ,ghc-data-default-instances-base)
2323 ("ghc-data-default-instances-containers"
2324 ,ghc-data-default-instances-containers)
2325 ("ghc-data-default-instances-dlist"
2326 ,ghc-data-default-instances-dlist)
2327 ("ghc-data-default-instances-old-locale"
2328 ,ghc-data-default-instances-old-locale)))
2329 (home-page "https://hackage.haskell.org/package/data-default")
2330 (synopsis "Types with default values")
2331 (description
2332 "This package defines a class for types with a default value, and
2333provides instances for types from the base, containers, dlist and old-locale
2334packages.")
2335 (license license:bsd-3)))
2336
2337(define-public ghc-data-default-class
2338 (package
2339 (name "ghc-data-default-class")
2340 (version "0.1.2.0")
2341 (source
2342 (origin
2343 (method url-fetch)
2344 (uri (string-append
2345 "https://hackage.haskell.org/package/data-default-class/"
2346 "data-default-class-" version ".tar.gz"))
2347 (sha256
2348 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2349 (build-system haskell-build-system)
2350 (home-page "https://hackage.haskell.org/package/data-default-class")
2351 (synopsis "Types with default values")
2352 (description
2353 "This package defines a class for types with default values.")
2354 (license license:bsd-3)))
2355
2356(define-public ghc-data-default-instances-base
2357 (package
2358 (name "ghc-data-default-instances-base")
2359 (version "0.1.0.1")
2360 (source
2361 (origin
2362 (method url-fetch)
2363 (uri (string-append
2364 "https://hackage.haskell.org/package/"
2365 "data-default-instances-base/"
2366 "data-default-instances-base-" version ".tar.gz"))
2367 (sha256
2368 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2369 (build-system haskell-build-system)
2370 (inputs
2371 `(("ghc-data-default-class" ,ghc-data-default-class)))
2372 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2373 (synopsis "Default instances for types in base")
2374 (description
2375 "This package provides default instances for types from the base
2376package.")
2377 (license license:bsd-3)))
2378
2379(define-public ghc-data-default-instances-containers
2380 (package
2381 (name "ghc-data-default-instances-containers")
2382 (version "0.0.1")
2383 (source
2384 (origin
2385 (method url-fetch)
2386 (uri (string-append
2387 "https://hackage.haskell.org/package/"
2388 "data-default-instances-containers/"
2389 "data-default-instances-containers-" version ".tar.gz"))
2390 (sha256
2391 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2392 (build-system haskell-build-system)
2393 (inputs
2394 `(("ghc-data-default-class" ,ghc-data-default-class)))
2395 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2396 (synopsis "Default instances for types in containers")
2397 (description "Provides default instances for types from the containers
2398package.")
2399 (license license:bsd-3)))
2400
2401(define-public ghc-data-default-instances-dlist
2402 (package
2403 (name "ghc-data-default-instances-dlist")
2404 (version "0.0.1")
2405 (source
2406 (origin
2407 (method url-fetch)
2408 (uri (string-append
2409 "https://hackage.haskell.org/package/"
2410 "data-default-instances-dlist/"
2411 "data-default-instances-dlist-" version ".tar.gz"))
2412 (sha256
2413 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2414 (build-system haskell-build-system)
2415 (inputs
2416 `(("ghc-data-default-class" ,ghc-data-default-class)
2417 ("ghc-dlist" ,ghc-dlist)))
2418 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2419 (synopsis "Default instances for types in dlist")
2420 (description "Provides default instances for types from the dlist
2421package.")
2422 (license license:bsd-3)))
2423
2424(define-public ghc-data-default-instances-old-locale
2425 (package
2426 (name "ghc-data-default-instances-old-locale")
2427 (version "0.0.1")
2428 (source
2429 (origin
2430 (method url-fetch)
2431 (uri (string-append
2432 "https://hackage.haskell.org/package/"
2433 "data-default-instances-old-locale/"
2434 "data-default-instances-old-locale-" version ".tar.gz"))
2435 (sha256
2436 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2437 (build-system haskell-build-system)
2438 (inputs
2439 `(("ghc-data-default-class" ,ghc-data-default-class)
2440 ("ghc-old-locale" ,ghc-old-locale)))
2441 (home-page
2442 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2443 (synopsis "Default instances for types in old-locale")
2444 (description "Provides Default instances for types from the old-locale
2445 package.")
2446 (license license:bsd-3)))
2447
2448(define-public ghc-data-hash
2449 (package
2450 (name "ghc-data-hash")
2451 (version "0.2.0.1")
2452 (source
2453 (origin
2454 (method url-fetch)
2455 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2456 "/data-hash-" version ".tar.gz"))
2457 (sha256
2458 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2459 (build-system haskell-build-system)
2460 (inputs
2461 `(("ghc-quickcheck" ,ghc-quickcheck)
2462 ("ghc-test-framework" ,ghc-test-framework)
2463 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2464 (home-page "https://hackage.haskell.org/package/data-hash")
2465 (synopsis "Combinators for building fast hashing functions")
2466 (description
2467 "This package provides combinators for building fast hashing functions.
2468It includes hashing functions for all basic Haskell98 types.")
2469 (license license:bsd-3)))
2470
2471(define-public ghc-data-ordlist
2472 (package
2473 (name "ghc-data-ordlist")
2474 (version "0.4.7.0")
2475 (source
2476 (origin
2477 (method url-fetch)
2478 (uri (string-append
2479 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2480 version ".tar.gz"))
2481 (sha256
2482 (base32
2483 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2484 (build-system haskell-build-system)
2485 (home-page "https://hackage.haskell.org/package/data-ordlist")
2486 (synopsis "Set and bag operations on ordered lists")
2487 (description
2488 "This module provides set and multiset operations on ordered lists.")
2489 (license license:bsd-3)))
2490
2491(define-public ghc-deepseq-generics
2492 (package
2493 (name "ghc-deepseq-generics")
2494 (version "0.2.0.0")
2495 (source (origin
2496 (method url-fetch)
2497 (uri (string-append "https://hackage.haskell.org/package/"
2498 "deepseq-generics/deepseq-generics-"
2499 version ".tar.gz"))
2500 (sha256
2501 (base32
2502 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2503 (build-system haskell-build-system)
2504 (arguments
2505 `(#:cabal-revision
2506 ("2" "1pnidf8w8x0w5fsqgv8hhrw07slmhxwy5x4fikgk0bd6k76aqicb")))
2507 (native-inputs
2508 `(("ghc-hunit" ,ghc-hunit)
2509 ("ghc-test-framework" ,ghc-test-framework)
2510 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2511 (home-page "https://github.com/hvr/deepseq-generics")
2512 (synopsis "Generic RNF implementation")
2513 (description
2514 "This package provides a @code{GHC.Generics}-based
2515@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2516providing an @code{rnf} implementation.")
2517 (license license:bsd-3)))
2518
2519(define-public ghc-descriptive
2520 (package
2521 (name "ghc-descriptive")
2522 (version "0.9.5")
2523 (source
2524 (origin
2525 (method url-fetch)
2526 (uri (string-append
2527 "https://hackage.haskell.org/package/descriptive/descriptive-"
2528 version
2529 ".tar.gz"))
2530 (sha256
2531 (base32
2532 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2533 (build-system haskell-build-system)
2534 (inputs
2535 `(("ghc-aeson" ,ghc-aeson)
2536 ("ghc-bifunctors" ,ghc-bifunctors)
2537 ("ghc-scientific" ,ghc-scientific)
2538 ("ghc-vector" ,ghc-vector)))
2539 (native-inputs
2540 `(("ghc-hunit" ,ghc-hunit)
2541 ("ghc-hspec" ,ghc-hspec)))
2542 (home-page
2543 "https://github.com/chrisdone/descriptive")
2544 (synopsis
2545 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2546 (description
2547 "This package provides datatypes and functions for creating consumers
2548and parsers with useful semantics.")
2549 (license license:bsd-3)))
2550
2551(define-public ghc-diff
2552 (package
2553 (name "ghc-diff")
2554 (version "0.3.4")
2555 (source (origin
2556 (method url-fetch)
2557 (uri (string-append "https://hackage.haskell.org/package/"
2558 "Diff/Diff-" version ".tar.gz"))
2559 (sha256
2560 (base32
2561 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
2562 (build-system haskell-build-system)
2563 (native-inputs
2564 `(("ghc-quickcheck" ,ghc-quickcheck)
2565 ("ghc-test-framework" ,ghc-test-framework)
2566 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2567 (home-page "https://hub.darcs.net/sterlingclover/Diff")
2568 (synopsis "O(ND) diff algorithm in Haskell")
2569 (description
2570 "This package provides an implementation of the standard diff algorithm,
2571and utilities for pretty printing.")
2572 (license license:bsd-3)))
2573
2574(define-public ghc-disk-free-space
2575 (package
2576 (name "ghc-disk-free-space")
2577 (version "0.1.0.1")
2578 (source
2579 (origin
2580 (method url-fetch)
2581 (uri (string-append "https://hackage.haskell.org/package/"
2582 "disk-free-space/disk-free-space-"
2583 version ".tar.gz"))
2584 (sha256
2585 (base32
2586 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
2587 (build-system haskell-build-system)
2588 (home-page "https://github.com/redneb/disk-free-space")
2589 (synopsis "Retrieve information about disk space usage")
2590 (description "A cross-platform library for retrieving information about
2591disk space usage.")
2592 (license license:bsd-3)))
2593
2594(define-public ghc-distributive
2595 (package
2596 (name "ghc-distributive")
2597 (version "0.5.3")
2598 (source
2599 (origin
2600 (method url-fetch)
2601 (uri (string-append
2602 "https://hackage.haskell.org/package/distributive/distributive-"
2603 version
2604 ".tar.gz"))
2605 (sha256
2606 (base32
2607 "0y566r97sfyvhsmd4yxiz4ns2mqgwf5bdbp56wgxl6wlkidq0wwi"))))
2608 (build-system haskell-build-system)
2609 (arguments
2610 `(#:cabal-revision
2611 ("6" "06bd38rf31yrvvy989r44pm0id3dsxwcp6nxg7wk6ccj3n2b8rzk")))
2612 (inputs
2613 `(("ghc-tagged" ,ghc-tagged)
2614 ("ghc-base-orphans" ,ghc-base-orphans)
2615 ("ghc-transformers-compat" ,ghc-transformers-compat)
2616 ("ghc-semigroups" ,ghc-semigroups)
2617 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2618 (native-inputs
2619 `(("cabal-doctest" ,cabal-doctest)
2620 ("ghc-doctest" ,ghc-doctest)
2621 ("ghc-hspec" ,ghc-hspec)
2622 ("hspec-discover" ,hspec-discover)))
2623 (home-page "https://github.com/ekmett/distributive/")
2624 (synopsis "Distributive functors for Haskell")
2625 (description "This package provides distributive functors for Haskell.
2626Dual to @code{Traversable}.")
2627 (license license:bsd-3)))
2628
2629(define-public ghc-dlist
2630 (package
2631 (name "ghc-dlist")
2632 (version "0.8.0.4")
2633 (source
2634 (origin
2635 (method url-fetch)
2636 (uri (string-append
2637 "https://hackage.haskell.org/package/dlist/dlist-"
2638 version
2639 ".tar.gz"))
2640 (sha256
2641 (base32 "0yirrh0s6acjy9hhvf5fqg2d6q5y6gm9xs04v6w1imndh1xqdwdc"))))
2642 (build-system haskell-build-system)
2643 (inputs
2644 `(("ghc-quickcheck" ,ghc-quickcheck)))
2645 (home-page "https://github.com/spl/dlist")
2646 (synopsis "Difference lists")
2647 (description
2648 "Difference lists are a list-like type supporting O(1) append. This is
2649particularly useful for efficient logging and pretty printing (e.g. with the
2650Writer monad), where list append quickly becomes too expensive.")
2651 (license license:bsd-3)))
2652
2653(define-public ghc-doctemplates
2654 (package
2655 (name "ghc-doctemplates")
2656 (version "0.2.2.1")
2657 (source
2658 (origin
2659 (method url-fetch)
2660 (uri (string-append "https://hackage.haskell.org/package/"
2661 "doctemplates/doctemplates-"
2662 version ".tar.gz"))
2663 (sha256
2664 (base32
2665 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
2666 (build-system haskell-build-system)
2667 (inputs
2668 `(("ghc-aeson" ,ghc-aeson)
2669 ("ghc-blaze-markup" ,ghc-blaze-markup)
2670 ("ghc-blaze-html" ,ghc-blaze-html)
2671 ("ghc-vector" ,ghc-vector)
2672 ("ghc-unordered-containers" ,ghc-unordered-containers)
2673 ("ghc-scientific" ,ghc-scientific)))
2674 (native-inputs
2675 `(("ghc-hspec" ,ghc-hspec)))
2676 (home-page "https://github.com/jgm/doctemplates#readme")
2677 (synopsis "Pandoc-style document templates")
2678 (description
2679 "This package provides a simple text templating system used by pandoc.")
2680 (license license:bsd-3)))
2681
2682(define-public ghc-doctest
2683 (package
2684 (name "ghc-doctest")
2685 (version "0.16.0")
2686 (source
2687 (origin
2688 (method url-fetch)
2689 (uri (string-append
2690 "https://hackage.haskell.org/package/doctest/doctest-"
2691 version
2692 ".tar.gz"))
2693 (sha256
2694 (base32
2695 "0hkccch65s3kp0b36h7bqhilnpi4bx8kngncm7ma9vbd3dwacjdv"))))
2696 (build-system haskell-build-system)
2697 (arguments `(#:tests? #f)) ; FIXME: missing test framework
2698 (inputs
2699 `(("ghc-syb" ,ghc-syb)
2700 ("ghc-paths" ,ghc-paths)
2701 ("ghc-base-compat" ,ghc-base-compat)
2702 ("ghc-code-page" ,ghc-code-page)
2703 ("ghc-hunit" ,ghc-hunit)
2704 ("ghc-hspec" ,ghc-hspec)
2705 ("ghc-quickcheck" ,ghc-quickcheck)
2706 ("ghc-stringbuilder" ,ghc-stringbuilder)
2707 ("ghc-silently" ,ghc-silently)
2708 ("ghc-setenv" ,ghc-setenv)))
2709 (home-page
2710 "https://github.com/sol/doctest#readme")
2711 (synopsis "Test interactive Haskell examples")
2712 (description "The doctest program checks examples in source code comments.
2713It is modeled after doctest for Python, see
2714@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
2715 (license license:expat)))
2716
2717(define-public ghc-double-conversion
2718 (package
2719 (name "ghc-double-conversion")
2720 (version "2.0.2.0")
2721 (source
2722 (origin
2723 (method url-fetch)
2724 (uri (string-append "https://hackage.haskell.org/package/"
2725 "double-conversion/double-conversion-"
2726 version ".tar.gz"))
2727 (sha256
2728 (base32
2729 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
2730 (build-system haskell-build-system)
2731 (native-inputs
2732 `(("ghc-hunit" ,ghc-hunit)
2733 ("ghc-test-framework" ,ghc-test-framework)
2734 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2735 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2736 (home-page "https://github.com/bos/double-conversion")
2737 (synopsis "Fast conversion between double precision floating point and text")
2738 (description
2739 "This package provides a library that performs fast, accurate conversion
2740between double precision floating point and text.")
2741 (license license:bsd-3)))
2742
2743(define-public ghc-easy-file
2744 (package
2745 (name "ghc-easy-file")
2746 (version "0.2.2")
2747 (source
2748 (origin
2749 (method url-fetch)
2750 (uri (string-append
2751 "https://hackage.haskell.org/package/easy-file/easy-file-"
2752 version
2753 ".tar.gz"))
2754 (sha256
2755 (base32
2756 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
2757 (build-system haskell-build-system)
2758 (home-page
2759 "https://github.com/kazu-yamamoto/easy-file")
2760 (synopsis "File handling library for Haskell")
2761 (description "This library provides file handling utilities for Haskell.")
2762 (license license:bsd-3)))
2763
2764(define-public ghc-easyplot
2765 (package
2766 (name "ghc-easyplot")
2767 (version "1.0")
2768 (source
2769 (origin
2770 (method url-fetch)
2771 (uri (string-append
2772 "https://hackage.haskell.org/package/easyplot/easyplot-"
2773 version ".tar.gz"))
2774 (sha256
2775 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
2776 (build-system haskell-build-system)
2777 (propagated-inputs `(("gnuplot" ,gnuplot)))
2778 (arguments
2779 `(#:phases (modify-phases %standard-phases
2780 (add-after 'unpack 'fix-setup-suffix
2781 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
2782 (home-page "https://hub.darcs.net/scravy/easyplot")
2783 (synopsis "Haskell plotting library based on gnuplot")
2784 (description "This package provides a plotting library for
2785Haskell, using gnuplot for rendering.")
2786 (license license:expat)))
2787
2788(define-public ghc-echo
2789 (package
2790 (name "ghc-echo")
2791 (version "0.1.3")
2792 (source
2793 (origin
2794 (method url-fetch)
2795 (uri (string-append
2796 "https://hackage.haskell.org/package/echo/echo-"
2797 version ".tar.gz"))
2798 (sha256
2799 (base32
2800 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
2801 (build-system haskell-build-system)
2802 (arguments
2803 `(#:cabal-revision
2804 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
2805 (home-page "https://github.com/RyanGlScott/echo")
2806 (synopsis "Echo terminal input portably")
2807 (description "The @code{base} library exposes the @code{hGetEcho} and
2808@code{hSetEcho} functions for querying and setting echo status, but
2809unfortunately, neither function works with MinTTY consoles on Windows.
2810This library provides an alternative interface which works with both
2811MinTTY and other consoles.")
2812 (license license:bsd-3)))
2813
2814(define-public ghc-edisonapi
2815 (package
2816 (name "ghc-edisonapi")
2817 (version "1.3.1")
2818 (source
2819 (origin
2820 (method url-fetch)
2821 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
2822 "/EdisonAPI-" version ".tar.gz"))
2823 (sha256
2824 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
2825 (build-system haskell-build-system)
2826 (home-page "http://rwd.rdockins.name/edison/home/")
2827 (synopsis "Library of efficient, purely-functional data structures (API)")
2828 (description
2829 "Edison is a library of purely functional data structures written by
2830Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
2831value EDiSon (Efficient Data Structures). Edison provides several families of
2832abstractions, each with multiple implementations. The main abstractions
2833provided by Edison are: Sequences such as stacks, queues, and dequeues;
2834Collections such as sets, bags and heaps; and Associative Collections such as
2835finite maps and priority queues where the priority and element are distinct.")
2836 (license license:expat)))
2837
2838(define-public ghc-edisoncore
2839 (package
2840 (name "ghc-edisoncore")
2841 (version "1.3.2.1")
2842 (source
2843 (origin
2844 (method url-fetch)
2845 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
2846 "/EdisonCore-" version ".tar.gz"))
2847 (sha256
2848 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
2849 (build-system haskell-build-system)
2850 (inputs
2851 `(("ghc-quickcheck" ,ghc-quickcheck)
2852 ("ghc-edisonapi" ,ghc-edisonapi)))
2853 (home-page "http://rwd.rdockins.name/edison/home/")
2854 (synopsis "Library of efficient, purely-functional data structures")
2855 (description
2856 "This package provides the core Edison data structure implementations,
2857including multiple sequence, set, bag, and finite map concrete implementations
2858with various performance characteristics.")
2859 (license license:expat)))
2860
2861(define-public ghc-edit-distance
2862 (package
2863 (name "ghc-edit-distance")
2864 (version "0.2.2.1")
2865 (source
2866 (origin
2867 (method url-fetch)
2868 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
2869 "/edit-distance-" version ".tar.gz"))
2870 (sha256
2871 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
2872 (build-system haskell-build-system)
2873 (arguments
2874 `(#:phases
2875 (modify-phases %standard-phases
2876 (add-before 'configure 'update-constraints
2877 (lambda _
2878 (substitute* "edit-distance.cabal"
2879 (("QuickCheck >= 2\\.4 && <2\\.9")
2880 "QuickCheck >= 2.4 && < 2.12")))))))
2881 (inputs
2882 `(("ghc-random" ,ghc-random)
2883 ("ghc-test-framework" ,ghc-test-framework)
2884 ("ghc-quickcheck" ,ghc-quickcheck)
2885 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2886 (home-page "https://github.com/phadej/edit-distance")
2887 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
2888 (description
2889 "This package provides optimized functions to determine the edit
2890distances for fuzzy matching, including Levenshtein and restricted
2891Damerau-Levenshtein algorithms.")
2892 (license license:bsd-3)))
2893
2894(define-public ghc-either
2895 (package
2896 (name "ghc-either")
2897 (version "5.0.1")
2898 (source
2899 (origin
2900 (method url-fetch)
2901 (uri (string-append "https://hackage.haskell.org/package/"
2902 "either-" version "/"
2903 "either-" version ".tar.gz"))
2904 (sha256
2905 (base32
2906 "064hjfld7dkzs78sy30k5qkiva3hx24rax6dvzz5ygr2c0zypdkc"))))
2907 (build-system haskell-build-system)
2908 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
2909 ("ghc-exceptions" ,ghc-exceptions)
2910 ("ghc-free" ,ghc-free)
2911 ("ghc-monad-control" ,ghc-monad-control)
2912 ("ghc-manodrandom" ,ghc-monadrandom)
2913 ("ghc-mmorph" ,ghc-mmorph)
2914 ("ghc-profunctors" ,ghc-profunctors)
2915 ("ghc-semigroups" ,ghc-semigroups)
2916 ("ghc-semigroupoids" ,ghc-semigroupoids)
2917 ("ghc-transformers-base" ,ghc-transformers-base)))
2918 (native-inputs
2919 `(("ghc-quickcheck" ,ghc-quickcheck)
2920 ("ghc-test-framework" ,ghc-test-framework)
2921 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2922 (home-page "https://github.com/ekmett/either")
2923 (synopsis "Provides an either monad transformer for Haskell")
2924 (description "This Haskell package provides an either monad transformer.")
2925 (license license:bsd-3)))
2926
2927(define-public ghc-email-validate
2928 (package
2929 (name "ghc-email-validate")
2930 (version "2.3.2.6")
2931 (source
2932 (origin
2933 (method url-fetch)
2934 (uri (string-append
2935 "https://hackage.haskell.org/package/"
2936 "email-validate/email-validate-"
2937 version
2938 ".tar.gz"))
2939 (sha256
2940 (base32
2941 "0chgylvc8xmhp933rdbmpg5sv4y7yg2h6kbf0ip1dzmbd5p55pa5"))))
2942 (build-system haskell-build-system)
2943 (inputs
2944 `(("ghc-attoparsec" ,ghc-attoparsec)
2945 ("ghc-hspec" ,ghc-hspec)
2946 ("ghc-quickcheck" ,ghc-quickcheck)
2947 ("ghc-doctest" ,ghc-doctest)))
2948 (home-page
2949 "https://github.com/Porges/email-validate-hs")
2950 (synopsis "Email address validator for Haskell")
2951 (description
2952 "This Haskell package provides a validator that can validate an email
2953address string against RFC 5322.")
2954 (license license:bsd-3)))
2955
2956(define-public ghc-enclosed-exceptions
2957 (package
2958 (name "ghc-enclosed-exceptions")
2959 (version "1.0.3")
2960 (source (origin
2961 (method url-fetch)
2962 (uri (string-append "https://hackage.haskell.org/package/"
2963 "enclosed-exceptions/enclosed-exceptions-"
2964 version ".tar.gz"))
2965 (sha256
2966 (base32
2967 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
2968 (build-system haskell-build-system)
2969 ;; FIXME: one of the tests blocks forever:
2970 ;; "thread blocked indefinitely in an MVar operation"
2971 (arguments '(#:tests? #f))
2972 (inputs
2973 `(("ghc-lifted-base" ,ghc-lifted-base)
2974 ("ghc-monad-control" ,ghc-monad-control)
2975 ("ghc-async" ,ghc-async)
2976 ("ghc-transformers-base" ,ghc-transformers-base)))
2977 (native-inputs
2978 `(("ghc-hspec" ,ghc-hspec)
2979 ("ghc-quickcheck" ,ghc-quickcheck)))
2980 (home-page "https://github.com/jcristovao/enclosed-exceptions")
2981 (synopsis "Catch all exceptions from within an enclosed computation")
2982 (description
2983 "This library implements a technique to catch all exceptions raised
2984within an enclosed computation, while remaining responsive to (external)
2985asynchronous exceptions.")
2986 (license license:expat)))
2987
2988(define-public ghc-equivalence
2989 (package
2990 (name "ghc-equivalence")
2991 (version "0.3.2")
2992 (source
2993 (origin
2994 (method url-fetch)
2995 (uri (string-append "https://hackage.haskell.org/package/equivalence"
2996 "/equivalence-" version ".tar.gz"))
2997 (sha256
2998 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
2999 (build-system haskell-build-system)
3000 (inputs
3001 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3002 ("ghc-transformers-compat" ,ghc-transformers-compat)
3003 ("ghc-quickcheck" ,ghc-quickcheck)
3004 ("ghc-test-framework" ,ghc-test-framework)
3005 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3006 (home-page "https://github.com/pa-ba/equivalence")
3007 (synopsis "Maintaining an equivalence relation implemented as union-find")
3008 (description
3009 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3010Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
301122(2), 1975) in order to maintain an equivalence relation. This
3012implementation is a port of the @code{union-find} package using the @code{ST}
3013monad transformer (instead of the IO monad).")
3014 (license license:bsd-3)))
3015
3016(define-public ghc-erf
3017 (package
3018 (name "ghc-erf")
3019 (version "2.0.0.0")
3020 (source
3021 (origin
3022 (method url-fetch)
3023 (uri (string-append "https://hackage.haskell.org/package/"
3024 "erf-" version "/"
3025 "erf-" version ".tar.gz"))
3026 (sha256
3027 (base32
3028 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3029 (build-system haskell-build-system)
3030 (home-page "https://hackage.haskell.org/package/erf")
3031 (synopsis "The error function, erf, and related functions for Haskell")
3032 (description "This Haskell library provides a type class for the
3033error function, erf, and related functions. Instances for Float and
3034Double.")
3035 (license license:bsd-3)))
3036
3037(define-public ghc-errorcall-eq-instance
3038 (package
3039 (name "ghc-errorcall-eq-instance")
3040 (version "0.3.0")
3041 (source
3042 (origin
3043 (method url-fetch)
3044 (uri (string-append "https://hackage.haskell.org/package/"
3045 "errorcall-eq-instance/errorcall-eq-instance-"
3046 version ".tar.gz"))
3047 (sha256
3048 (base32
3049 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3050 (build-system haskell-build-system)
3051 (inputs
3052 `(("ghc-base-orphans" ,ghc-base-orphans)))
3053 (native-inputs
3054 `(("ghc-quickcheck" ,ghc-quickcheck)
3055 ("ghc-hspec" ,ghc-hspec)
3056 ("hspec-discover" ,hspec-discover)))
3057 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3058 (synopsis "Orphan Eq instance for ErrorCall")
3059 (description
3060 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3061This package provides an orphan instance.")
3062 (license license:expat)))
3063
3064(define-public ghc-errors
3065 (package
3066 (name "ghc-errors")
3067 (version "2.3.0")
3068 (source
3069 (origin
3070 (method url-fetch)
3071 (uri (string-append "https://hackage.haskell.org/package/"
3072 "errors-" version "/"
3073 "errors-" version ".tar.gz"))
3074 (sha256
3075 (base32
3076 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3077 (build-system haskell-build-system)
3078 (inputs
3079 `(("ghc-exceptions" ,ghc-exceptions)
3080 ("ghc-transformers-compat" ,ghc-transformers-compat)
3081 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3082 ("ghc-safe" ,ghc-safe)))
3083 (home-page "https://github.com/gabriel439/haskell-errors-library")
3084 (synopsis "Error handling library for Haskell")
3085 (description "This library encourages an error-handling style that
3086directly uses the type system, rather than out-of-band exceptions.")
3087 (license license:bsd-3)))
3088
3089(define-public ghc-esqueleto
3090 (let ((version "2.5.3")
3091 (revision "1")
3092 (commit "b81e0d951e510ebffca03c5a58658ad884cc6fbd"))
3093 (package
3094 (name "ghc-esqueleto")
3095 (version (git-version version revision commit))
3096 (source
3097 (origin
3098 (method git-fetch)
3099 (uri (git-reference
3100 (url "https://github.com/bitemyapp/esqueleto")
3101 (commit commit)))
3102 (file-name (git-file-name name version))
3103 (sha256
3104 (base32
3105 "0lz1qxms7cfg5p3j37inlych0r2fwhm8xbarcys3df9m7jy9nixa"))))
3106 (build-system haskell-build-system)
3107 (arguments
3108 `(#:haddock? #f ; Haddock reports an internal error.
3109 #:phases
3110 (modify-phases %standard-phases
3111 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3112 ;; SQLite backends. Since we only have Haskell packages for
3113 ;; SQLite, we remove the other two test suites. FIXME: Add the
3114 ;; other backends and run all three test suites.
3115 (add-before 'configure 'remove-non-sqlite-test-suites
3116 (lambda _
3117 (use-modules (ice-9 rdelim))
3118 (with-atomic-file-replacement "esqueleto.cabal"
3119 (lambda (in out)
3120 (let loop ((line (read-line in 'concat)) (deleting? #f))
3121 (cond
3122 ((eof-object? line) #t)
3123 ((string-every char-set:whitespace line)
3124 (unless deleting? (display line out))
3125 (loop (read-line in 'concat) #f))
3126 ((member line '("test-suite mysql\n"
3127 "test-suite postgresql\n"))
3128 (loop (read-line in 'concat) #t))
3129 (else
3130 (unless deleting? (display line out))
3131 (loop (read-line in 'concat) deleting?)))))))))))
3132 (inputs
3133 `(("ghc-blaze-html" ,ghc-blaze-html)
3134 ("ghc-conduit" ,ghc-conduit)
3135 ("ghc-monad-logger" ,ghc-monad-logger)
3136 ("ghc-persistent" ,ghc-persistent)
3137 ("ghc-resourcet" ,ghc-resourcet)
3138 ("ghc-tagged" ,ghc-tagged)
3139 ("ghc-unliftio" ,ghc-unliftio)
3140 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3141 (native-inputs
3142 `(("ghc-hspec" ,ghc-hspec)
3143 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3144 ("ghc-persistent-template" ,ghc-persistent-template)))
3145 (home-page "https://github.com/bitemyapp/esqueleto")
3146 (synopsis "Type-safe embedded domain specific language for SQL queries")
3147 (description "This library provides a type-safe embedded domain specific
3148language (EDSL) for SQL queries that works with SQL backends as provided by
3149@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3150to learn new concepts, just new syntax, and it's fairly easy to predict the
3151generated SQL and optimize it for your backend.")
3152 (license license:bsd-3))))
3153
3154(define-public ghc-exactprint
3155 (package
3156 (name "ghc-exactprint")
3157 (version "0.5.6.1")
3158 (source
3159 (origin
3160 (method url-fetch)
3161 (uri (string-append
3162 "https://hackage.haskell.org/package/"
3163 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3164 (sha256
3165 (base32
3166 "141k6qiys0m0r4br7ikp4i546vs3xcil9cwglzcdfcbnb5nj1z87"))))
3167 (build-system haskell-build-system)
3168 (inputs
3169 `(("ghc-paths" ,ghc-paths)
3170 ("ghc-syb" ,ghc-syb)
3171 ("ghc-free" ,ghc-free)))
3172 (native-inputs
3173 `(("ghc-hunit" ,ghc-hunit)
3174 ("ghc-diff" ,ghc-diff)
3175 ("ghc-silently" ,ghc-silently)
3176 ("ghc-filemanip" ,ghc-filemanip)))
3177 (home-page
3178 "http://hackage.haskell.org/package/ghc-exactprint")
3179 (synopsis "ExactPrint for GHC")
3180 (description
3181 "Using the API Annotations available from GHC 7.10.2, this library
3182provides a means to round-trip any code that can be compiled by GHC, currently
3183excluding @file{.lhs} files.")
3184 (license license:bsd-3)))
3185
3186(define-public ghc-exceptions
3187 (package
3188 (name "ghc-exceptions")
3189 (version "0.10.0")
3190 (source
3191 (origin
3192 (method url-fetch)
3193 (uri (string-append
3194 "https://hackage.haskell.org/package/exceptions/exceptions-"
3195 version
3196 ".tar.gz"))
3197 (sha256
3198 (base32
3199 "1ms9zansv0pwzwdjncvx4kf18lnkjy2p61hvjhvxmjx5bqp93p8y"))))
3200 (build-system haskell-build-system)
3201 (native-inputs
3202 `(("ghc-quickcheck" ,ghc-quickcheck)
3203 ("ghc-test-framework" ,ghc-test-framework)
3204 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3205 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3206 (inputs
3207 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3208 (home-page "https://github.com/ekmett/exceptions/")
3209 (synopsis "Extensible optionally-pure exceptions")
3210 (description "This library provides extensible optionally-pure exceptions
3211for Haskell.")
3212 (license license:bsd-3)))
3213
3214(define-public ghc-executable-path
3215 (package
3216 (name "ghc-executable-path")
3217 (version "0.0.3.1")
3218 (source (origin
3219 (method url-fetch)
3220 (uri (string-append "https://hackage.haskell.org/package/"
3221 "executable-path/executable-path-"
3222 version ".tar.gz"))
3223 (sha256
3224 (base32
3225 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3226 (build-system haskell-build-system)
3227 (home-page "https://hackage.haskell.org/package/executable-path")
3228 (synopsis "Find out the full path of the executable")
3229 (description
3230 "The documentation of @code{System.Environment.getProgName} says that
3231\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3232instead, for maximum portability, we just return the leafname of the program
3233as invoked.\" This library tries to provide the missing path.")
3234 (license license:public-domain)))
3235
3236(define-public ghc-extensible-exceptions
3237 (package
3238 (name "ghc-extensible-exceptions")
3239 (version "0.1.1.4")
3240 (source
3241 (origin
3242 (method url-fetch)
3243 (uri (string-append "https://hackage.haskell.org/package/"
3244 "extensible-exceptions/extensible-exceptions-"
3245 version ".tar.gz"))
3246 (sha256
3247 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3248 (build-system haskell-build-system)
3249 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3250 (synopsis "Extensible exceptions for Haskell")
3251 (description
3252 "This package provides extensible exceptions for both new and old
3253versions of GHC (i.e., < 6.10).")
3254 (license license:bsd-3)))
3255
3256(define-public ghc-extra
3257 (package
3258 (name "ghc-extra")
3259 (version "1.6.9")
3260 (source
3261 (origin
3262 (method url-fetch)
3263 (uri (string-append
3264 "https://hackage.haskell.org/package/extra/extra-"
3265 version
3266 ".tar.gz"))
3267 (sha256
3268 (base32
3269 "0xxcpb00pgwi9cmy6a7ghh6rblxry42p8pz5ssfgj20fs1xwzj1b"))))
3270 (build-system haskell-build-system)
3271 (inputs
3272 `(("ghc-clock" ,ghc-clock)
3273 ("ghc-quickcheck" ,ghc-quickcheck)))
3274 (home-page "https://github.com/ndmitchell/extra")
3275 (synopsis "Extra Haskell functions")
3276 (description "This library provides extra functions for the standard
3277Haskell libraries. Most functions are simple additions, filling out missing
3278functionality. A few functions are available in later versions of GHC, but
3279this package makes them available back to GHC 7.2.")
3280 (license license:bsd-3)))
3281
3282(define-public ghc-fail
3283 (package
3284 (name "ghc-fail")
3285 (version "4.9.0.0")
3286 (source
3287 (origin
3288 (method url-fetch)
3289 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3290 version ".tar.gz"))
3291 (sha256
3292 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3293 (build-system haskell-build-system)
3294 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3295 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3296 (synopsis "Forward-compatible MonadFail class")
3297 (description
3298 "This package contains the @code{Control.Monad.Fail} module providing the
3299@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3300class that became available in
3301@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3302older @code{base} package versions. This package turns into an empty package
3303when used with GHC versions which already provide the
3304@code{Control.Monad.Fail} module.")
3305 (license license:bsd-3)))
3306
3307(define-public ghc-fast-logger
3308 (package
3309 (name "ghc-fast-logger")
3310 (version "2.4.11")
3311 (source
3312 (origin
3313 (method url-fetch)
3314 (uri (string-append
3315 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3316 version
3317 ".tar.gz"))
3318 (sha256
3319 (base32
3320 "1ad2vq4nifdxshqk9yrmghqizhkgybfz134kpr6padglb2mxxrdv"))))
3321 (build-system haskell-build-system)
3322 (inputs
3323 `(("ghc-auto-update" ,ghc-auto-update)
3324 ("ghc-easy-file" ,ghc-easy-file)
3325 ("ghc-unix-time" ,ghc-unix-time)))
3326 (native-inputs
3327 `(("hspec-discover" ,hspec-discover)
3328 ("ghc-hspec" ,ghc-hspec)))
3329 (home-page "https://hackage.haskell.org/package/fast-logger")
3330 (synopsis "Fast logging system")
3331 (description "This library provides a fast logging system for Haskell.")
3332 (license license:bsd-3)))
3333
3334(define-public ghc-feed
3335 (package
3336 (name "ghc-feed")
3337 (version "1.0.0.0")
3338 (source
3339 (origin
3340 (method url-fetch)
3341 (uri (string-append "https://hackage.haskell.org/package/"
3342 "feed/feed-" version ".tar.gz"))
3343 (sha256
3344 (base32
3345 "05rgg7x1984mgfhkmz792xj8lhwjgznixhygzr8blf517lns2nck"))))
3346 (build-system haskell-build-system)
3347 (arguments
3348 `(#:cabal-revision
3349 ("4" "0baavcavm3ywykcr9cm07aqr7sna98jba2n68lyn3kany8ri214d")))
3350 (inputs
3351 `(("ghc-base-compat" ,ghc-base-compat)
3352 ("ghc-old-locale" ,ghc-old-locale)
3353 ("ghc-old-time" ,ghc-old-time)
3354 ("ghc-safe" ,ghc-safe)
3355 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3356 ("ghc-utf8-string" ,ghc-utf8-string)
3357 ("ghc-xml-conduit" ,ghc-xml-conduit)
3358 ("ghc-xml-types" ,ghc-xml-types)))
3359 (native-inputs
3360 `(("ghc-hunit" ,ghc-hunit)
3361 ("ghc-test-framework" ,ghc-test-framework)
3362 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3363 (home-page "https://github.com/bergmark/feed")
3364 (synopsis "Haskell package for handling various syndication formats")
3365 (description "This Haskell package includes tools for generating and
3366consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3367 (license license:bsd-3)))
3368
3369(define-public ghc-fgl
3370 (package
3371 (name "ghc-fgl")
3372 (version "5.6.0.0")
3373 (outputs '("out" "doc"))
3374 (source
3375 (origin
3376 (method url-fetch)
3377 (uri (string-append
3378 "https://hackage.haskell.org/package/fgl/fgl-"
3379 version
3380 ".tar.gz"))
3381 (sha256
3382 (base32
3383 "1i6cp4b3w7sjk7y1dq3fh6bci2sm5h3lnbbaw9ln19nwncg2wwll"))))
3384 (build-system haskell-build-system)
3385 (arguments
3386 `(#:phases
3387 (modify-phases %standard-phases
3388 (add-before 'configure 'update-constraints
3389 (lambda _
3390 (substitute* "fgl.cabal"
3391 (("QuickCheck >= 2\\.8 && < 2\\.10")
3392 "QuickCheck >= 2.8 && < 2.12")
3393 (("hspec >= 2\\.1 && < 2\\.5")
3394 "hspec >= 2.1 && < 2.6")))))))
3395 (inputs
3396 `(("ghc-hspec" ,ghc-hspec)
3397 ("ghc-quickcheck" ,ghc-quickcheck)))
3398 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3399 (synopsis
3400 "Martin Erwig's Functional Graph Library")
3401 (description "The functional graph library, FGL, is a collection of type
3402and function definitions to address graph problems. The basis of the library
3403is an inductive definition of graphs in the style of algebraic data types that
3404encourages inductive, recursive definitions of graph algorithms.")
3405 (license license:bsd-3)))
3406
3407(define-public ghc-fgl-arbitrary
3408 (package
3409 (name "ghc-fgl-arbitrary")
3410 (version "0.2.0.3")
3411 (source
3412 (origin
3413 (method url-fetch)
3414 (uri (string-append
3415 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3416 version ".tar.gz"))
3417 (sha256
3418 (base32
3419 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3420 (build-system haskell-build-system)
3421 (arguments
3422 `(#:phases
3423 (modify-phases %standard-phases
3424 (add-before 'configure 'update-constraints
3425 (lambda _
3426 (substitute* "fgl-arbitrary.cabal"
3427 (("QuickCheck >= 2\\.3 && < 2\\.10")
3428 "QuickCheck >= 2.3 && < 2.12")
3429 (("hspec >= 2\\.1 && < 2\\.5")
3430 "hspec >= 2.1 && < 2.6")))))))
3431 (inputs
3432 `(("ghc-fgl" ,ghc-fgl)
3433 ("ghc-quickcheck" ,ghc-quickcheck)
3434 ("ghc-hspec" ,ghc-hspec)))
3435 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3436 (synopsis "QuickCheck support for fgl")
3437 (description
3438 "Provides Arbitrary instances for fgl graphs to avoid adding a
3439QuickCheck dependency for fgl whilst still making the instances
3440available to others. Also available are non-fgl-specific functions
3441for generating graph-like data structures.")
3442 (license license:bsd-3)))
3443
3444(define-public ghc-file-embed
3445 (package
3446 (name "ghc-file-embed")
3447 (version "0.0.10.1")
3448 (source
3449 (origin
3450 (method url-fetch)
3451 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3452 "file-embed-" version ".tar.gz"))
3453 (sha256
3454 (base32
3455 "0lj164cnzqyd487mli91nnr7137a4h4qsasfwsnsh77sx12fpk9k"))))
3456 (build-system haskell-build-system)
3457 (home-page "https://github.com/snoyberg/file-embed")
3458 (synopsis "Use Template Haskell to embed file contents directly")
3459 (description
3460 "This package allows you to use Template Haskell to read a file or all
3461the files in a directory, and turn them into @code{(path, bytestring)} pairs
3462embedded in your Haskell code.")
3463 (license license:bsd-3)))
3464
3465(define-public ghc-filemanip
3466 (package
3467 (name "ghc-filemanip")
3468 (version "0.3.6.3")
3469 (source (origin
3470 (method url-fetch)
3471 (uri (string-append "https://hackage.haskell.org/package/"
3472 "filemanip/filemanip-" version ".tar.gz"))
3473 (sha256
3474 (base32
3475 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3476 (build-system haskell-build-system)
3477 (inputs
3478 `(("ghc-unix-compat" ,ghc-unix-compat)))
3479 (home-page "https://github.com/bos/filemanip")
3480 (synopsis "File and directory manipulation for Haskell")
3481 (description
3482 "This package provides a Haskell library for working with files and
3483directories. It includes code for pattern matching, finding files, modifying
3484file contents, and more.")
3485 (license license:bsd-3)))
3486
3487(define-public ghc-findbin
3488 (package
3489 (name "ghc-findbin")
3490 (version "0.0.5")
3491 (source
3492 (origin
3493 (method url-fetch)
3494 (uri (string-append
3495 "https://hackage.haskell.org/package/FindBin/FindBin-"
3496 version ".tar.gz"))
3497 (sha256
3498 (base32
3499 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3500 (build-system haskell-build-system)
3501 (home-page "https://github.com/audreyt/findbin")
3502 (synopsis "Get the absolute path of the running program")
3503 (description
3504 "This module locates the full directory of the running program, to allow
3505the use of paths relative to it. FindBin supports invocation of Haskell
3506programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3507an executable.")
3508 (license license:bsd-3)))
3509
3510(define-public ghc-fingertree
3511 (package
3512 (name "ghc-fingertree")
3513 (version "0.1.4.1")
3514 (source
3515 (origin
3516 (method url-fetch)
3517 (uri (string-append
3518 "https://hackage.haskell.org/package/fingertree/fingertree-"
3519 version ".tar.gz"))
3520 (sha256
3521 (base32
3522 "192fyzv0pn1437wdpqg1l80rswkk4rw3w61r4bq7dhv354bdqy4p"))))
3523 (build-system haskell-build-system)
3524 (native-inputs
3525 `(("ghc-hunit" ,ghc-hunit)
3526 ("ghc-quickcheck" ,ghc-quickcheck)
3527 ("ghc-test-framework" ,ghc-test-framework)
3528 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3529 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3530 (home-page "https://hackage.haskell.org/package/fingertree")
3531 (synopsis "Generic finger-tree structure")
3532 (description "This library provides finger trees, a general sequence
3533representation with arbitrary annotations, for use as a base for
3534implementations of various collection types. It includes examples, as
3535described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3536simple general-purpose data structure\".")
3537 (license license:bsd-3)))
3538
3539(define-public ghc-fixed
3540 (package
3541 (name "ghc-fixed")
3542 (version "0.2.1.1")
3543 (source
3544 (origin
3545 (method url-fetch)
3546 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
3547 version ".tar.gz"))
3548 (sha256
3549 (base32
3550 "1qhmwx8iqshns0crmr9d2f8hm65jxbcp3dvv0c39v34ra7if3a94"))))
3551 (build-system haskell-build-system)
3552 (home-page "https://github.com/ekmett/fixed")
3553 (synopsis "Signed 15.16 precision fixed point arithmetic")
3554 (description
3555 "This package provides functions for signed 15.16 precision fixed point
3556arithmetic.")
3557 (license license:bsd-3)))
3558
f169f713
JS
3559(define-public ghc-fmlist
3560 (package
3561 (name "ghc-fmlist")
3562 (version "0.9.2")
3563 (source
3564 (origin
3565 (method url-fetch)
3566 (uri
3567 (string-append
3568 "https://hackage.haskell.org/package/fmlist/fmlist-"
3569 version ".tar.gz"))
3570 (sha256
3571 (base32
3572 "02868865hqm189h5wjd916abvqwkhbrx5b0119s1dwp70ifvbi4g"))))
3573 (build-system haskell-build-system)
3574 (home-page "https://github.com/sjoerdvisscher/fmlist")
3575 (synopsis "FoldMap lists")
3576 (description "FoldMap lists are lists represented by their
3577@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
3578append, just like DLists, but other operations might have favorable
3579performance characteristics as well. These wild claims are still
3580completely unverified though.")
3581 (license license:bsd-3)))
3582
dddbc90c
RV
3583(define-public ghc-foldl
3584 (package
3585 (name "ghc-foldl")
3586 (version "1.4.3")
3587 (source
3588 (origin
3589 (method url-fetch)
3590 (uri (string-append "https://hackage.haskell.org/package/"
3591 "foldl-" version "/"
3592 "foldl-" version ".tar.gz"))
3593 (sha256
3594 (base32
3595 "13n0ca3hw5jzqf6rxsdbhbwkn61a9zlm13f0f205s60j3sc72jzk"))))
3596 (build-system haskell-build-system)
3597 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3598 ("ghc-primitive" ,ghc-primitive)
3599 ("ghc-vector" ,ghc-vector)
3600 ("ghc-unordered-containers" ,ghc-unordered-containers)
3601 ("ghc-hashable" ,ghc-hashable)
3602 ("ghc-contravariant" ,ghc-contravariant)
3603 ("ghc-semigroups" ,ghc-semigroups)
3604 ("ghc-profunctors" ,ghc-profunctors)
3605 ("ghc-semigroupoids" ,ghc-semigroupoids)
3606 ("ghc-comonad" ,ghc-comonad)
3607 ("ghc-vector-builder" ,ghc-vector-builder)))
3608 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
3609 (synopsis "Composable, streaming, and efficient left folds for Haskell")
3610 (description "This Haskell library provides strict left folds that stream
3611in constant memory, and you can combine folds using @code{Applicative} style
3612to derive new folds. Derived folds still traverse the container just once
3613and are often as efficient as hand-written folds.")
3614 (license license:bsd-3)))
3615
3616(define-public ghc-foundation
3617 (package
3618 (name "ghc-foundation")
3619 (version "0.0.21")
3620 (source
3621 (origin
3622 (method url-fetch)
3623 (uri (string-append "https://hackage.haskell.org/package/"
3624 "foundation/foundation-" version ".tar.gz"))
3625 (sha256
3626 (base32
3627 "1q43y8wfj0wf9gdq2kzphwjwq6m5pvryy1lqgk954aq5z3ks1lsf"))))
3628 (build-system haskell-build-system)
3629 (inputs `(("ghc-basement" ,ghc-basement)))
3630 (home-page "https://github.com/haskell-foundation/foundation")
3631 (synopsis "Alternative prelude with batteries and no dependencies")
3632 (description
3633 "This package provides a custom prelude with no dependencies apart from
3634the base package.
3635
3636Foundation has the following goals:
3637
3638@enumerate
3639@item provide a base like sets of modules that provide a consistent set of
3640 features and bugfixes across multiple versions of GHC (unlike base).
3641@item provide a better and more efficient prelude than base's prelude.
3642@item be self-sufficient: no external dependencies apart from base;
3643@item provide better data-types: packed unicode string by default, arrays;
3644@item Numerical classes that better represent mathematical things (no more
3645 all-in-one @code{Num});
3646@item I/O system with less lazy IO.
3647@end enumerate\n")
3648 (license license:bsd-3)))
3649
3650(define-public ghc-free
3651 (package
3652 (name "ghc-free")
3653 (version "5.0.2")
3654 (source
3655 (origin
3656 (method url-fetch)
3657 (uri (string-append
3658 "https://hackage.haskell.org/package/free/free-"
3659 version
3660 ".tar.gz"))
3661 (sha256
3662 (base32
3663 "15m3n9vhz7z3kzv1w3wlfa3x8jp4cbrkwmrcjr7jlx39iqffn1gg"))))
3664 (build-system haskell-build-system)
3665 (inputs
3666 `(("ghc-prelude-extras" ,ghc-prelude-extras)
3667 ("ghc-profunctors" ,ghc-profunctors)
3668 ("ghc-exceptions" ,ghc-exceptions)
3669 ("ghc-bifunctors" ,ghc-bifunctors)
3670 ("ghc-comonad" ,ghc-comonad)
3671 ("ghc-distributive" ,ghc-distributive)
3672 ("ghc-semigroupoids" ,ghc-semigroupoids)
3673 ("ghc-semigroups" ,ghc-semigroups)
3674 ("ghc-transformers-base" ,ghc-transformers-base)
3675 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3676 (home-page "https://github.com/ekmett/free/")
3677 (synopsis "Unrestricted monads for Haskell")
3678 (description "This library provides free monads, which are useful for many
3679tree-like structures and domain specific languages. If @code{f} is a
3680@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
3681whose nodes are labeled with the constructors of @code{f}. The word \"free\"
3682is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
3683f} makes no constraining assumptions beyond those given by @code{f} and the
3684definition of @code{Monad}.")
3685 (license license:bsd-3)))
3686
3687(define-public ghc-fsnotify
3688 (package
3689 (name "ghc-fsnotify")
3690 (version "0.3.0.1")
3691 (source (origin
3692 (method url-fetch)
3693 (uri (string-append
3694 "https://hackage.haskell.org/package/fsnotify/"
3695 "fsnotify-" version ".tar.gz"))
3696 (sha256
3697 (base32
3698 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
3699 (build-system haskell-build-system)
3700 (inputs
3701 `(("ghc-async" ,ghc-async)
3702 ("ghc-unix-compat" ,ghc-unix-compat)
3703 ("ghc-hinotify" ,ghc-hinotify)
3704 ("ghc-tasty" ,ghc-tasty)
3705 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3706 ("ghc-random" ,ghc-random)
3707 ("ghc-shelly" ,ghc-shelly)
3708 ("ghc-temporary" ,ghc-temporary)))
3709 (home-page "https://github.com/haskell-fswatch/hfsnotify")
3710 (synopsis "Cross platform library for file change notification.")
3711 (description "Cross platform library for file creation, modification, and
3712deletion notification. This library builds upon existing libraries for platform
3713specific Windows, Mac, and Linux file system event notification.")
3714 (license license:bsd-3)))
3715
3716(define-public ghc-generic-deriving
3717 (package
3718 (name "ghc-generic-deriving")
3719 (version "1.12.2")
3720 (source
3721 (origin
3722 (method url-fetch)
3723 (uri (string-append
3724 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
3725 version
3726 ".tar.gz"))
3727 (sha256
3728 (base32
3729 "1i7d6cpj9yhaqb79zays3nqchhaacacjz9bkc0zlwj73y5gvi22n"))))
3730 (build-system haskell-build-system)
3731 (inputs
3732 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
3733 (native-inputs
3734 `(("ghc-hspec" ,ghc-hspec)
3735 ("hspec-discover" ,hspec-discover)))
3736 (home-page "https://hackage.haskell.org/package/generic-deriving")
3737 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3738 (description "This package provides functionality for generalising the
3739deriving mechanism in Haskell to arbitrary classes.")
3740 (license license:bsd-3)))
3741
3742(define-public ghc-generics-sop
3743 (package
3744 (name "ghc-generics-sop")
3745 (version "0.3.2.0")
3746 (source
3747 (origin
3748 (method url-fetch)
3749 (uri (string-append "https://hackage.haskell.org/package/"
3750 "generics-sop-" version "/"
3751 "generics-sop-" version ".tar.gz"))
3752 (sha256
3753 (base32
3754 "168v62i845jh9jbfaz3ldz8svz4wmzq9mf2vhb7pxlnbkk8fqq1h"))))
3755 (build-system haskell-build-system)
3756 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3757 (home-page "https://github.com/well-typed/generics-sop")
3758 (synopsis "Generic Programming using True Sums of Products for Haskell")
3759 (description "This Haskell package supports the definition of generic
3760functions. Datatypes are viewed in a uniform, structured way: the choice
3761between constructors is represented using an n-ary sum, and the arguments of
3762each constructor are represented using an n-ary product.")
3763 (license license:bsd-3)))
3764
3765(define-public ghc-geniplate-mirror
3766 (package
3767 (name "ghc-geniplate-mirror")
3768 (version "0.7.6")
3769 (source
3770 (origin
3771 (method url-fetch)
3772 (uri (string-append "https://hackage.haskell.org/package"
3773 "/geniplate-mirror"
3774 "/geniplate-mirror-" version ".tar.gz"))
3775 (sha256
3776 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
3777 (build-system haskell-build-system)
3778 (home-page "https://github.com/danr/geniplate")
3779 (synopsis "Use Template Haskell to generate Uniplate-like functions")
3780 (description
3781 "Use Template Haskell to generate Uniplate-like functions. This is a
3782maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
3783geniplate} package, written by Lennart Augustsson.")
3784 (license license:bsd-3)))
3785
3786(define-public ghc-genvalidity
3787 (package
3788 (name "ghc-genvalidity")
3789 (version "0.5.1.0")
3790 (source
3791 (origin
3792 (method url-fetch)
3793 (uri (string-append
3794 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
3795 version
3796 ".tar.gz"))
3797 (sha256
3798 (base32
3799 "17ykq38j9a2lzir6dqz5jgy6ndaafrpkhqhcg96c5ppg7wcxaaj0"))))
3800 (build-system haskell-build-system)
3801 (inputs
3802 `(("ghc-quickcheck" ,ghc-quickcheck)
3803 ("ghc-validity" ,ghc-validity)))
3804 (native-inputs
3805 `(("ghc-hspec" ,ghc-hspec)
3806 ("hspec-discover" ,hspec-discover)
3807 ("ghc-hspec-core" ,ghc-hspec-core)))
3808 (home-page
3809 "https://github.com/NorfairKing/validity")
3810 (synopsis
3811 "Testing utilities for the @code{validity} library")
3812 (description
3813 "This package provides testing utilities that are useful in conjunction
3814with the @code{Validity} typeclass.")
3815 (license license:expat)))
3816
3817(define-public ghc-genvalidity-property
3818 (package
3819 (name "ghc-genvalidity-property")
3820 (version "0.2.1.1")
3821 (source
3822 (origin
3823 (method url-fetch)
3824 (uri (string-append
3825 "https://hackage.haskell.org/package/"
3826 "genvalidity-property/genvalidity-property-"
3827 version
3828 ".tar.gz"))
3829 (sha256
3830 (base32
3831 "0cjw5i2pydidda9bnp6x37ylhxdk9g874x5sadr6sscg5kq85a1b"))))
3832 (build-system haskell-build-system)
3833 (inputs
3834 `(("ghc-quickcheck" ,ghc-quickcheck)
3835 ("ghc-genvalidity" ,ghc-genvalidity)
3836 ("ghc-hspec" ,ghc-hspec)
3837 ("hspec-discover" ,hspec-discover)
3838 ("ghc-validity" ,ghc-validity)))
3839 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
3840 (home-page
3841 "https://github.com/NorfairKing/validity")
3842 (synopsis
3843 "Standard properties for functions on @code{Validity} types")
3844 (description
3845 "This package supplements the @code{Validity} typeclass with standard
3846properties for functions operating on them.")
3847 (license license:expat)))
3848
3849(define-public ghc-gitrev
3850 (package
3851 (name "ghc-gitrev")
3852 (version "1.3.1")
3853 (source
3854 (origin
3855 (method url-fetch)
3856 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
3857 version ".tar.gz"))
3858 (sha256
3859 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
3860 (build-system haskell-build-system)
3861 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
3862 (home-page "https://github.com/acfoltzer/gitrev")
3863 (synopsis "Compile git revision info into Haskell projects")
3864 (description
3865 "This package provides some handy Template Haskell splices for including
3866the current git hash and branch in the code of your project. This is useful
3867for including in panic messages, @command{--version} output, or diagnostic
3868info for more informative bug reports.")
3869 (license license:bsd-3)))
3870
3871(define-public ghc-glob
3872 (package
3873 (name "ghc-glob")
3874 (version "0.9.2")
3875 (source
3876 (origin
3877 (method url-fetch)
3878 (uri (string-append "https://hackage.haskell.org/package/"
3879 "Glob-" version "/"
3880 "Glob-" version ".tar.gz"))
3881 (sha256
3882 (base32
3883 "1rbwcq9w9951qsnp13vqcm9r01yax2yh1wk8s4zxa3ckk9717iwg"))))
3884 (build-system haskell-build-system)
3885 (inputs
3886 `(("ghc-dlist" ,ghc-dlist)
3887 ("ghc-semigroups" ,ghc-semigroups)
3888 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3889 (native-inputs
3890 `(("ghc-hunit" ,ghc-hunit)
3891 ("ghc-quickcheck" ,ghc-quickcheck)
3892 ("ghc-test-framework" ,ghc-test-framework)
3893 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3894 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3895 (home-page "http://iki.fi/matti.niemenmaa/glob/")
3896 (synopsis "Haskell library matching glob patterns against file paths")
3897 (description "This package provides a Haskell library for @dfn{globbing}:
3898matching patterns against file paths.")
3899 (license license:bsd-3)))
3900
3901(define-public ghc-gluraw
3902 (package
3903 (name "ghc-gluraw")
3904 (version "2.0.0.4")
3905 (source
3906 (origin
3907 (method url-fetch)
3908 (uri (string-append
3909 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
3910 version
3911 ".tar.gz"))
3912 (sha256
3913 (base32
3914 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
3915 (build-system haskell-build-system)
3916 (inputs
3917 `(("ghc-openglraw" ,ghc-openglraw)))
3918 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3919 (synopsis "Raw Haskell bindings GLU")
3920 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
3921utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
3922basis for a nicer interface.")
3923 (license license:bsd-3)))
3924
3925(define-public ghc-glut
3926 (package
3927 (name "ghc-glut")
3928 (version "2.7.0.14")
3929 (source
3930 (origin
3931 (method url-fetch)
3932 (uri (string-append
3933 "https://hackage.haskell.org/package/GLUT/GLUT-"
3934 version
3935 ".tar.gz"))
3936 (sha256
3937 (base32
3938 "01i162fly4q1751fp60lgkzlb8kr0qqbvmxj74zc6skb19qggy2w"))))
3939 (build-system haskell-build-system)
3940 (inputs
3941 `(("ghc-statevar" ,ghc-statevar)
3942 ("ghc-opengl" ,ghc-opengl)
3943 ("ghc-openglraw" ,ghc-openglraw)
3944 ("freeglut" ,freeglut)))
3945 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3946 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
3947 (description "This library provides Haskell bindings for the OpenGL
3948Utility Toolkit, a window system-independent toolkit for writing OpenGL
3949programs.")
3950 (license license:bsd-3)))
3951
3952(define-public ghc-gnuplot
3953 (package
3954 (name "ghc-gnuplot")
3955 (version "0.5.5.2")
3956 (source
3957 (origin
3958 (method url-fetch)
3959 (uri (string-append
3960 "mirror://hackage/package/gnuplot/gnuplot-"
3961 version ".tar.gz"))
3962 (sha256
3963 (base32 "1mlppnc13ygjzmf6ldydys4wvy35yb3xjwwfgf9rbi7nfcqjr6mn"))))
3964 (build-system haskell-build-system)
3965 (inputs
3966 `(("ghc-temporary" ,ghc-temporary)
3967 ("ghc-utility-ht" ,ghc-utility-ht)
3968 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
3969 ("ghc-data-accessor" ,ghc-data-accessor)
3970 ("ghc-semigroups" ,ghc-semigroups)
3971 ("gnuplot" ,gnuplot)))
3972 (arguments
3973 `(#:phases
3974 (modify-phases %standard-phases
3975 (add-before 'configure 'fix-path-to-gnuplot
3976 (lambda* (#:key inputs #:allow-other-keys)
3977 (let ((gnuplot (assoc-ref inputs "gnuplot")))
3978 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
3979 (("(gnuplotName = ).*$" all cmd)
3980 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
3981 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
3982 (synopsis "2D and 3D plots using gnuplot")
3983 (description "This package provides a Haskell module for creating 2D and
39843D plots using gnuplot.")
3985 (license license:bsd-3)))
3986
3987(define-public ghc-graphviz
3988 (package
3989 (name "ghc-graphviz")
3990 (version "2999.20.0.2")
3991 (source (origin
3992 (method url-fetch)
3993 (uri (string-append "https://hackage.haskell.org/package/"
3994 "graphviz/graphviz-" version ".tar.gz"))
3995 (sha256
3996 (base32
3997 "0kj7ap0gnliviq2p8lscw1m06capnsa90vpvcys24nqy5nw2wrp7"))))
3998 (build-system haskell-build-system)
3999 (inputs
4000 `(("ghc-quickcheck" ,ghc-quickcheck)
4001 ("ghc-colour" ,ghc-colour)
4002 ("ghc-dlist" ,ghc-dlist)
4003 ("ghc-fgl" ,ghc-fgl)
4004 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4005 ("ghc-polyparse" ,ghc-polyparse)
4006 ("ghc-temporary" ,ghc-temporary)
4007 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4008 (native-inputs
4009 `(("ghc-hspec" ,ghc-hspec)
4010 ("graphviz" ,graphviz)
4011 ("hspec-discover" ,hspec-discover)))
4012 (home-page "https://hackage.haskell.org/package/graphviz")
4013 (synopsis "Bindings to Graphviz for graph visualisation")
4014 (description
4015 "This library provides bindings for the Dot language used by
4016the @uref{https://graphviz.org/, Graphviz} suite of programs for
4017visualising graphs, as well as functions to call those programs.
4018Main features of the graphviz library include:
4019
4020@enumerate
4021@item Almost complete coverage of all Graphviz attributes and syntax
4022@item Support for specifying clusters
4023@item The ability to use a custom node type
4024@item Functions for running a Graphviz layout tool with all specified output types
4025@item Generate and parse Dot code with two options: strict and liberal
4026@item Functions to convert FGL graphs and other graph-like data structures
4027@item Round-trip support for passing an FGL graph through Graphviz to augment node
4028and edge labels with positional information, etc.
4029@end enumerate\n")
4030 (license license:bsd-3)))
4031
4032(define-public ghc-gtk2hs-buildtools
4033 (package
4034 (name "ghc-gtk2hs-buildtools")
4035 (version "0.13.4.0")
4036 (source
4037 (origin
4038 (method url-fetch)
4039 (uri (string-append "https://hackage.haskell.org/package/"
4040 "gtk2hs-buildtools/gtk2hs-buildtools-"
4041 version ".tar.gz"))
4042 (sha256
4043 (base32
4044 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
4045 (build-system haskell-build-system)
4046 (inputs
4047 `(("ghc-random" ,ghc-random)
4048 ("ghc-hashtables" ,ghc-hashtables)))
4049 (native-inputs
4050 `(("ghc-alex" ,ghc-alex)
4051 ("ghc-happy" ,ghc-happy)))
4052 (home-page "http://projects.haskell.org/gtk2hs/")
4053 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4054 (description
4055 "This package provides a set of helper programs necessary to build the
4056Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4057that is used to generate FFI declarations, a tool to build a type hierarchy
4058that mirrors the C type hierarchy of GObjects found in glib, and a generator
4059for signal declarations that are used to call back from C to Haskell. These
4060tools are not needed to actually run Gtk2Hs programs.")
4061 (license license:gpl2)))
4062
4063(define-public ghc-hackage-security
4064 (package
4065 (name "ghc-hackage-security")
4066 (version "0.5.3.0")
4067 (source
4068 (origin
4069 (method url-fetch)
4070 (uri (string-append "https://hackage.haskell.org/package/"
4071 "hackage-security/hackage-security-"
4072 version ".tar.gz"))
4073 (sha256
4074 (base32
4075 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4076 (build-system haskell-build-system)
4077 (arguments
4078 `(#:tests? #f)) ; Tests fail because of framework updates.
4079 (inputs
4080 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4081 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4082 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4083 ("ghc-ed25519" ,ghc-ed25519)
4084 ("ghc-network" ,ghc-network)
4085 ("ghc-network-uri" ,ghc-network-uri)
4086 ("ghc-tar" ,ghc-tar)
4087 ("ghc-zlib" ,ghc-zlib)))
4088 (native-inputs
4089 `(("ghc-network-uri" ,ghc-network-uri)
4090 ("ghc-quickcheck" ,ghc-quickcheck)
4091 ("ghc-tar" ,ghc-tar)
4092 ("ghc-tasty" ,ghc-tasty)
4093 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4094 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4095 ("ghc-temporary" ,ghc-temporary)
4096 ("ghc-zlib" ,ghc-zlib)))
4097 (home-page "https://github.com/haskell/hackage-security")
4098 (synopsis "Hackage security library")
4099 (description "This Hackage security library provides both server and
4100client utilities for securing @uref{http://hackage.haskell.org/, the
4101Hackage package server}. It is based on
4102@uref{http://theupdateframework.com/, The Update Framework}, a set of
4103recommendations developed by security researchers at various universities
4104in the US as well as developers on the @uref{https://www.torproject.org/,
4105Tor project}.")
4106 (license license:bsd-3)))
4107
4108(define-public ghc-haddock
4109 (package
4110 (name "ghc-haddock")
4111 (version "2.19.0.1")
4112 (source
4113 (origin
4114 (method url-fetch)
4115 (uri (string-append
4116 "https://hackage.haskell.org/package/haddock/haddock-"
4117 version
4118 ".tar.gz"))
4119 (sha256
4120 (base32
4121 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4122 (build-system haskell-build-system)
4123 (arguments
4124 `(#:phases
4125 (modify-phases %standard-phases
4126 ;; There are four test suites that require the ghc-haddock-test
4127 ;; package, which no longer builds with GHC 8.4.3. This phase
4128 ;; removes these four test suites from the Cabal file, so that we
4129 ;; do not need ghc-haddock-test as an input.
4130 (add-before 'configure 'remove-haddock-test-test-suites
4131 (lambda _
4132 (use-modules (ice-9 rdelim))
4133 (with-atomic-file-replacement "haddock.cabal"
4134 (lambda (in out)
4135 (let loop ((line (read-line in 'concat)) (deleting? #f))
4136 (cond
4137 ((eof-object? line) #t)
4138 ((string-every char-set:whitespace line)
4139 (unless deleting? (display line out))
4140 (loop (read-line in 'concat) #f))
4141 ((member line '("test-suite html-test\n"
4142 "test-suite hypsrc-test\n"
4143 "test-suite latex-test\n"
4144 "test-suite hoogle-test\n"))
4145 (loop (read-line in 'concat) #t))
4146 (else
4147 (unless deleting? (display line out))
4148 (loop (read-line in 'concat) deleting?)))))))))))
4149 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4150 (native-inputs
4151 `(("ghc-hspec" ,ghc-hspec)))
4152 (home-page "https://www.haskell.org/haddock/")
4153 (synopsis
4154 "Documentation-generation tool for Haskell libraries")
4155 (description
4156 "Haddock is a documentation-generation tool for Haskell libraries.")
4157 (license license:bsd-3)))
4158
4159(define-public ghc-haddock-api
4160 (package
4161 (name "ghc-haddock-api")
4162 (version "2.19.0.1")
4163 (source
4164 (origin
4165 (method url-fetch)
4166 (uri (string-append
4167 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4168 version
4169 ".tar.gz"))
4170 (sha256
4171 (base32
4172 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4173 (build-system haskell-build-system)
4174 (arguments
4175 `(#:phases
4176 (modify-phases %standard-phases
4177 (add-before 'configure 'update-constraints
4178 (lambda _
4179 (substitute* "haddock-api.cabal"
4180 (("Cabal \\^>= 2\\.0\\.0")
4181 "Cabal ^>= 2.2.0")
4182 (("hspec \\^>= 2\\.4\\.4")
4183 "hspec >= 2.4.4 && < 2.6")))))))
4184 (inputs
4185 `(("ghc-paths" ,ghc-paths)
4186 ("ghc-haddock-library" ,ghc-haddock-library)))
4187 (native-inputs
4188 `(("ghc-quickcheck" ,ghc-quickcheck)
4189 ("ghc-hspec" ,ghc-hspec)
4190 ("hspec-discover" ,hspec-discover)))
4191 (home-page "https://www.haskell.org/haddock/")
4192 (synopsis "API for documentation-generation tool Haddock")
4193 (description "This package provides an API to Haddock, the
4194documentation-generation tool for Haskell libraries.")
4195 (license license:bsd-3)))
4196
4197(define-public ghc-haddock-library
4198 (package
4199 (name "ghc-haddock-library")
4200 (version "1.5.0.1")
4201 (source
4202 (origin
4203 (method url-fetch)
4204 (uri (string-append
4205 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4206 version
4207 ".tar.gz"))
4208 (sha256
4209 (base32
4210 "1cmbg8l5xrwpliclwy3l057raypjqy0hsg1h1743ahaj8gq10b7z"))
4211 (patches (search-patches
4212 "ghc-haddock-library-unbundle.patch"))
4213 (modules '((guix build utils)))
4214 (snippet '(begin
4215 (delete-file-recursively "vendor")
4216 #t))))
4217 (build-system haskell-build-system)
4218 (arguments
4219 `(#:phases
4220 (modify-phases %standard-phases
4221 (add-before 'configure 'relax-test-suite-dependencies
4222 (lambda _
4223 (substitute* "haddock-library.cabal"
4224 (("base-compat\\s*\\^>= 0\\.9\\.3") "base-compat")
4225 (("hspec\\s*\\^>= 2\\.4\\.4") "hspec"))))
4226 ;; The release tarball does not contain the "fixtures/examples"
4227 ;; directory, which is required for testing. In the upstream
4228 ;; repository, the directory exists and is populated. Here, we
4229 ;; create an empty directory to placate the tests.
4230 (add-before 'check 'add-examples-directory
4231 (lambda _
4232 (mkdir "fixtures/examples")
4233 #t)))))
4234 (native-inputs
4235 `(("ghc-base-compat" ,ghc-base-compat)
4236 ("ghc-hspec" ,ghc-hspec)
4237 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4238 ("ghc-quickcheck" ,ghc-quickcheck)
4239 ("ghc-tree-diff" ,ghc-tree-diff)
4240 ("hspec-discover" ,hspec-discover)))
4241 (home-page "https://www.haskell.org/haddock/")
4242 (synopsis "Library exposing some functionality of Haddock")
4243 (description
4244 "Haddock is a documentation-generation tool for Haskell libraries. These
4245modules expose some functionality of it without pulling in the GHC dependency.
4246Please note that the API is likely to change so specify upper bounds in your
4247project if you can't release often. For interacting with Haddock itself, see
4248the ‘haddock’ package.")
4249 (license license:bsd-3)))
4250
4251(define-public ghc-half
4252 (package
4253 (name "ghc-half")
4254 (version "0.3")
4255 (source
4256 (origin
4257 (method url-fetch)
4258 (uri (string-append
4259 "https://hackage.haskell.org/package/half/half-"
4260 version ".tar.gz"))
4261 (sha256
4262 (base32
4263 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4264 (build-system haskell-build-system)
4265 (native-inputs
4266 `(("ghc-hspec" ,ghc-hspec)
4267 ("ghc-quickcheck" ,ghc-quickcheck)))
4268 (home-page "https://github.com/ekmett/half")
4269 (synopsis "Half-precision floating-point computations")
4270 (description "This library provides a half-precision floating-point
4271computation library for Haskell.")
4272 (license license:bsd-3)))
4273
4274(define-public ghc-happy
4275 (package
4276 (name "ghc-happy")
4277 (version "1.19.9")
4278 (source
4279 (origin
4280 (method url-fetch)
4281 (uri (string-append
4282 "https://hackage.haskell.org/package/happy/happy-"
4283 version
4284 ".tar.gz"))
4285 (sha256
4286 (base32
4287 "138xpxdb7x62lpmgmb6b3v3vgdqqvqn4273jaap3mjmc2gla709y"))))
4288 (build-system haskell-build-system)
4289 (arguments
4290 `(#:phases
4291 (modify-phases %standard-phases
4292 (add-after 'unpack 'skip-test-issue93
4293 (lambda _
4294 ;; Tests run out of memory on a system with 2GB of available RAM,
4295 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4296 (substitute* "tests/Makefile"
4297 ((" issue93.y ") " "))
4298 #t)))))
4299 (home-page "https://hackage.haskell.org/package/happy")
4300 (synopsis "Parser generator for Haskell")
4301 (description "Happy is a parser generator for Haskell. Given a grammar
4302specification in BNF, Happy generates Haskell code to parse the grammar.
4303Happy works in a similar way to the yacc tool for C.")
4304 (license license:bsd-3)))
4305
4306(define-public ghc-hashable
4307 (package
4308 (name "ghc-hashable")
4309 (version "1.2.7.0")
4310 (outputs '("out" "doc"))
4311 (source
4312 (origin
4313 (method url-fetch)
4314 (uri (string-append
4315 "https://hackage.haskell.org/package/hashable/hashable-"
4316 version
4317 ".tar.gz"))
4318 (sha256
4319 (base32
4320 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4321 (build-system haskell-build-system)
4322 (inputs
4323 `(("ghc-random" ,ghc-random)))
4324 (native-inputs
4325 `(("ghc-test-framework" ,ghc-test-framework)
4326 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4327 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4328 ("ghc-hunit" ,ghc-hunit)
4329 ("ghc-quickcheck" ,ghc-quickcheck)))
4330 (home-page "https://github.com/tibbe/hashable")
4331 (synopsis "Class for types that can be converted to a hash value")
4332 (description
4333 "This package defines a class, @code{Hashable}, for types that can be
4334converted to a hash value. This class exists for the benefit of hashing-based
4335data structures. The package provides instances for basic types and a way to
4336combine hash values.")
4337 (license license:bsd-3)))
4338
4339(define-public ghc-hashable-bootstrap
4340 (package
4341 (inherit ghc-hashable)
4342 (name "ghc-hashable-bootstrap")
4343 (arguments `(#:tests? #f))
4344 (native-inputs '())
4345 (properties '((hidden? #t)))))
4346
4347(define-public ghc-hashable-time
4348 (package
4349 (name "ghc-hashable-time")
4350 (version "0.2.0.1")
4351 (source
4352 (origin
4353 (method url-fetch)
4354 (uri (string-append
4355 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4356 version
4357 ".tar.gz"))
4358 (sha256
4359 (base32
4360 "0k932nyd08l3xxbh2g3n76py2f4kd9yw4s5a065vjz0xp6wjnxdm"))))
4361 (build-system haskell-build-system)
4362 (arguments
4363 `(#:cabal-revision
4364 ("1" "0rv40xkg3gj8jnqsry1gq3f5s5la6d5arg8fzkirnwdpcgha1as6")))
4365 (inputs `(("ghc-hashable" ,ghc-hashable)))
4366 (home-page "http://hackage.haskell.org/package/hashable-time")
4367 (synopsis "Hashable instances for Data.Time")
4368 (description
4369 "This package provides @code{Hashable} instances for types in
4370@code{Data.Time}.")
4371 (license license:bsd-3)))
4372
4373(define-public ghc-hashtables
4374 (package
4375 (name "ghc-hashtables")
4376 (version "1.2.3.1")
4377 (source
4378 (origin
4379 (method url-fetch)
4380 (uri (string-append
4381 "https://hackage.haskell.org/package/hashtables/hashtables-"
4382 version ".tar.gz"))
4383 (sha256
4384 (base32 "1giw9caajr07slf09j7zry9b0kvm4yj9q78zy1mawzi6gk3wglcg"))))
4385 (build-system haskell-build-system)
4386 (inputs
4387 `(("ghc-hashable" ,ghc-hashable)
4388 ("ghc-primitive" ,ghc-primitive)
4389 ("ghc-vector" ,ghc-vector)))
4390 (home-page "https://github.com/gregorycollins/hashtables")
4391 (synopsis "Haskell Mutable hash tables in the ST monad")
4392 (description "This package provides a Haskell library including a
4393couple of different implementations of mutable hash tables in the ST
4394monad, as well as a typeclass abstracting their common operations, and
4395a set of wrappers to use the hash tables in the IO monad.")
4396 (license license:bsd-3)))
4397
4398(define-public ghc-haskell-lexer
4399 (package
4400 (name "ghc-haskell-lexer")
4401 (version "1.0.2")
4402 (source
4403 (origin
4404 (method url-fetch)
4405 (uri (string-append
4406 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4407 version ".tar.gz"))
4408 (sha256
4409 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4410 (build-system haskell-build-system)
4411 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4412 (synopsis "Fully compliant Haskell 98 lexer")
4413 (description
4414 "This package provides a fully compliant Haskell 98 lexer.")
4415 (license license:bsd-3)))
4416
4417(define-public ghc-haskell-src
4418 (package
4419 (name "ghc-haskell-src")
4420 (version "1.0.3.0")
4421 (source
4422 (origin
4423 (method url-fetch)
4424 (uri (string-append
4425 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4426 version
4427 ".tar.gz"))
4428 (sha256
4429 (base32
4430 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4431 (build-system haskell-build-system)
4432 (inputs
4433 `(("ghc-happy" ,ghc-happy)
4434 ("ghc-syb" ,ghc-syb)))
4435 (home-page
4436 "https://hackage.haskell.org/package/haskell-src")
4437 (synopsis
4438 "Support for manipulating Haskell source code")
4439 (description
4440 "The @code{haskell-src} package provides support for manipulating Haskell
4441source code. The package provides a lexer, parser and pretty-printer, and a
4442definition of a Haskell abstract syntax tree (AST). Common uses of this
4443package are to parse or generate Haskell 98 code.")
4444 (license license:bsd-3)))
4445
4446(define-public ghc-haskell-src-exts
4447 (package
4448 (name "ghc-haskell-src-exts")
4449 (version "1.20.2")
4450 (source
4451 (origin
4452 (method url-fetch)
4453 (uri (string-append
4454 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4455 version
4456 ".tar.gz"))
4457 (sha256
4458 (base32
4459 "1sm3z4v1p5yffg01ldgavz71s3bvfhjfa13k428rk14bpkl8crlz"))))
4460 (build-system haskell-build-system)
4461 (inputs
4462 `(("cpphs" ,cpphs)
4463 ("ghc-happy" ,ghc-happy)
4464 ("ghc-pretty-show" ,ghc-pretty-show)))
4465 (native-inputs
4466 `(("ghc-smallcheck" ,ghc-smallcheck)
4467 ("ghc-tasty" ,ghc-tasty)
4468 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4469 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4470 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4471 (synopsis "Library for manipulating Haskell source")
4472 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4473extension of the standard @code{haskell-src} package, and handles most
4474registered syntactic extensions to Haskell. All extensions implemented in GHC
4475are supported. Apart from these standard extensions, it also handles regular
4476patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4477 (license license:bsd-3)))
4478
4479(define-public ghc-haskell-src-exts-util
4480 (package
4481 (name "ghc-haskell-src-exts-util")
4482 (version "0.2.3")
4483 (source
4484 (origin
4485 (method url-fetch)
4486 (uri (string-append "https://hackage.haskell.org/package/"
4487 "haskell-src-exts-util/haskell-src-exts-util-"
4488 version ".tar.gz"))
4489 (sha256
4490 (base32
4491 "1803718paq89f8pdck4mb88hv2k1ah9lxzq0lgjgwi9n88ryycz8"))))
4492 (build-system haskell-build-system)
4493 (inputs
4494 `(("ghc-data-default" ,ghc-data-default)
4495 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4496 ("ghc-semigroups" ,ghc-semigroups)
4497 ("ghc-uniplate" ,ghc-uniplate)))
4498 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4499 (synopsis "Helper functions for working with haskell-src-exts trees")
4500 (description
4501 "This package provides helper functions for working with
4502@code{haskell-src-exts} trees.")
4503 (license license:bsd-3)))
4504
4505(define-public ghc-haskell-src-meta
4506 (package
4507 (name "ghc-haskell-src-meta")
4508 (version "0.8.0.3")
4509 (source (origin
4510 (method url-fetch)
4511 (uri (string-append "https://hackage.haskell.org/package/"
4512 "haskell-src-meta/haskell-src-meta-"
4513 version ".tar.gz"))
4514 (sha256
4515 (base32
4516 "08jq156zv4m0fjq6712n99c1jwxnpa6kj6sq8ch0r1l0a1ay6ww4"))))
4517 (build-system haskell-build-system)
4518 (inputs
4519 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4520 ("ghc-syb" ,ghc-syb)
4521 ("ghc-th-orphans" ,ghc-th-orphans)))
4522 (native-inputs
4523 `(("ghc-hunit" ,ghc-hunit)
4524 ("ghc-test-framework" ,ghc-test-framework)
4525 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4526 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4527 (synopsis "Parse source to template-haskell abstract syntax")
4528 (description
4529 "This package provides tools to parse Haskell sources to the
4530template-haskell abstract syntax.")
4531 (license license:bsd-3)))
4532
4533(define-public ghc-hasktags
4534 (package
4535 (name "ghc-hasktags")
4536 (version "0.71.2")
4537 (source
4538 (origin
4539 (method url-fetch)
4540 (uri (string-append
4541 "https://hackage.haskell.org/package/hasktags/hasktags-"
4542 version
4543 ".tar.gz"))
4544 (sha256
4545 (base32
4546 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4547 (build-system haskell-build-system)
4548 (inputs
4549 `(("ghc-system-filepath" ,ghc-system-filepath)
4550 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4551 (native-inputs
4552 `(("ghc-json" ,ghc-json)
4553 ("ghc-utf8-string" ,ghc-utf8-string)
4554 ("ghc-microlens-platform" ,ghc-microlens-platform)
4555 ("ghc-hunit" ,ghc-hunit)))
4556 (home-page "http://github.com/MarcWeber/hasktags")
4557 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4558 (description
4559 "This package provides a means of generating tag files for Emacs and
4560Vim.")
4561 (license license:bsd-3)))
4562
4563(define-public ghc-hex
4564 (package
4565 (name "ghc-hex")
4566 (version "0.1.2")
4567 (source
4568 (origin
4569 (method url-fetch)
4570 (uri (string-append "https://hackage.haskell.org/package/"
4571 "hex-" version "/"
4572 "hex-" version ".tar.gz"))
4573 (sha256
4574 (base32
4575 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4576 (build-system haskell-build-system)
4577 (home-page "https://hackage.haskell.org/package/hex")
4578 (synopsis "Convert strings into hexadecimal and back")
4579 (description "This package provides conversion functions between
4580bytestrings and their hexademical representation.")
4581 (license license:bsd-3)))
4582
4583(define-public ghc-highlighting-kate
4584 (package
4585 (name "ghc-highlighting-kate")
4586 (version "0.6.4")
4587 (source (origin
4588 (method url-fetch)
4589 (uri (string-append "https://hackage.haskell.org/package/"
4590 "highlighting-kate/highlighting-kate-"
4591 version ".tar.gz"))
4592 (sha256
4593 (base32
4594 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4595 (build-system haskell-build-system)
4596 (inputs
4597 `(("ghc-diff" ,ghc-diff)
4598 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4599 (native-inputs
4600 `(("ghc-blaze-html" ,ghc-blaze-html)
4601 ("ghc-utf8-string" ,ghc-utf8-string)))
4602 (home-page "https://github.com/jgm/highlighting-kate")
4603 (synopsis "Syntax highlighting library")
4604 (description
4605 "Highlighting-kate is a syntax highlighting library with support for
4606nearly one hundred languages. The syntax parsers are automatically generated
4607from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4608supported by Kate can be added. An (optional) command-line program is
4609provided, along with a utility for generating new parsers from Kate XML syntax
4610descriptions.")
4611 (license license:gpl2+)))
4612
4613(define-public ghc-hindent
4614 (package
4615 (name "ghc-hindent")
4616 (version "5.3.0")
4617 (source
4618 (origin
4619 (method url-fetch)
4620 (uri (string-append
4621 "https://hackage.haskell.org/package/hindent/hindent-"
4622 version
4623 ".tar.gz"))
4624 (sha256
4625 (base32
4626 "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg"))))
4627 (build-system haskell-build-system)
4628 (arguments
4629 `(#:modules ((guix build haskell-build-system)
4630 (guix build utils)
4631 (guix build emacs-utils))
4632 #:imported-modules (,@%haskell-build-system-modules
4633 (guix build emacs-utils))
4634 #:phases
4635 (modify-phases %standard-phases
4636 (add-after 'install 'emacs-install
4637 (lambda* (#:key inputs outputs #:allow-other-keys)
4638 (let* ((out (assoc-ref outputs "out"))
4639 (elisp-file "elisp/hindent.el")
4640 (dest (string-append out "/share/emacs/site-lisp"
4641 "/guix.d/hindent-" ,version))
4642 (emacs (string-append (assoc-ref inputs "emacs")
4643 "/bin/emacs")))
4644 (make-file-writable elisp-file)
4645 (emacs-substitute-variables elisp-file
4646 ("hindent-process-path"
4647 (string-append out "/bin/hindent")))
4648 (install-file elisp-file dest)
4649 (emacs-generate-autoloads "hindent" dest)))))))
4650 (inputs
4651 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4652 ("ghc-monad-loops" ,ghc-monad-loops)
4653 ("ghc-utf8-string" ,ghc-utf8-string)
4654 ("ghc-exceptions" ,ghc-exceptions)
4655 ("ghc-yaml" ,ghc-yaml)
4656 ("ghc-unix-compat" ,ghc-unix-compat)
4657 ("ghc-path" ,ghc-path)
4658 ("ghc-path-io" ,ghc-path-io)
4659 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4660 (native-inputs
4661 `(("ghc-hspec" ,ghc-hspec)
4662 ("ghc-diff" ,ghc-diff)
4663 ("emacs" ,emacs-minimal)))
4664 (home-page
4665 "https://github.com/commercialhaskell/hindent")
4666 (synopsis "Extensible Haskell pretty printer")
4667 (description
4668 "This package provides automatic formatting for Haskell files. Both a
4669library and an executable.")
4670 (license license:bsd-3)))
4671
4672(define-public ghc-hinotify
4673 (package
4674 (name "ghc-hinotify")
4675 (version "0.3.10")
4676 (source (origin
4677 (method url-fetch)
4678 (uri (string-append
4679 "https://hackage.haskell.org/package/hinotify/"
4680 "hinotify-" version ".tar.gz"))
4681 (sha256
4682 (base32
4683 "17ax3n68a5c2ddazp86aciliskrh6znd3bnry0wcllmb6dbpsaxg"))))
4684 (build-system haskell-build-system)
4685 (inputs
4686 `(("ghc-async" ,ghc-async)))
4687 (home-page "https://github.com/kolmodin/hinotify.git")
4688 (synopsis "Haskell binding to inotify")
4689 (description "This library provides a wrapper to the Linux kernel's inotify
4690feature, allowing applications to subscribe to notifications when a file is
4691accessed or modified.")
4692 (license license:bsd-3)))
4693
4694(define-public ghc-hmatrix
4695 (package
4696 (name "ghc-hmatrix")
4697 (version "0.19.0.0")
4698 (source
4699 (origin
4700 (method url-fetch)
4701 (uri (string-append
4702 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
4703 version ".tar.gz"))
4704 (sha256
4705 (base32 "10jd69nby29dggghcyjk6ykyr5wrn97nrv1dkpyrp0y5xm12xssj"))))
4706 (build-system haskell-build-system)
4707 (inputs
4708 `(("ghc-random" ,ghc-random)
4709 ("ghc-split" ,ghc-split)
4710 ("ghc-storable-complex" ,ghc-storable-complex)
4711 ("ghc-semigroups" ,ghc-semigroups)
4712 ("ghc-vector" ,ghc-vector)
4713 ;;("openblas" ,openblas)
4714 ("lapack" ,lapack)))
4715 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
4716 ;; disables inclusion of the LAPACK functions.
4717 ;; (arguments `(#:configure-flags '("--flags=openblas")))
4718 (home-page "https://github.com/albertoruiz/hmatrix")
4719 (synopsis "Haskell numeric linear algebra library")
4720 (description "The HMatrix package provices a Haskell library for
4721dealing with linear systems, matrix decompositions, and other
4722numerical computations based on BLAS and LAPACK.")
4723 (license license:bsd-3)))
4724
4725(define-public ghc-hmatrix-gsl
4726 (package
4727 (name "ghc-hmatrix-gsl")
4728 (version "0.19.0.1")
4729 (source
4730 (origin
4731 (method url-fetch)
4732 (uri (string-append
4733 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
4734 version ".tar.gz"))
4735 (sha256
4736 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
4737 (build-system haskell-build-system)
4738 (inputs
4739 `(("ghc-hmatrix" ,ghc-hmatrix)
4740 ("ghc-vector" ,ghc-vector)
4741 ("ghc-random" ,ghc-random)
4742 ("gsl" ,gsl)))
4743 (native-inputs `(("pkg-config" ,pkg-config)))
4744 (home-page "https://github.com/albertoruiz/hmatrix")
4745 (synopsis "Haskell GSL binding")
4746 (description "This Haskell library provides a purely functional
4747interface to selected numerical computations, internally implemented
4748using GSL.")
4749 (license license:gpl3+)))
4750
4751(define-public ghc-hmatrix-gsl-stats
4752 (package
4753 (name "ghc-hmatrix-gsl-stats")
4754 (version "0.4.1.7")
4755 (source
4756 (origin
4757 (method url-fetch)
4758 (uri
4759 (string-append
4760 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4761 version ".tar.gz"))
4762 (sha256
4763 (base32 "1gslgk58lzin43cvbpivhw7nrn9qyaa6qwhy1z9ypvyal5p8n3sa"))))
4764 (build-system haskell-build-system)
4765 (inputs
4766 `(("ghc-vector" ,ghc-vector)
4767 ("ghc-storable-complex" ,ghc-storable-complex)
4768 ("ghc-hmatrix" ,ghc-hmatrix)
4769 ("gsl" ,gsl)))
4770 (native-inputs `(("pkg-config" ,pkg-config)))
4771 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
4772 (synopsis "GSL Statistics interface for Haskell")
4773 (description "This Haskell library provides a purely functional
4774interface for statistics based on hmatrix and GSL.")
4775 (license license:bsd-3)))
4776
4777(define-public ghc-hmatrix-special
4778 (package
4779 (name "ghc-hmatrix-special")
4780 (version "0.19.0.0")
4781 (source
4782 (origin
4783 (method url-fetch)
4784 (uri
4785 (string-append
4786 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
4787 version ".tar.gz"))
4788 (sha256
4789 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
4790 (build-system haskell-build-system)
4791 (inputs
4792 `(("ghc-hmatrix" ,ghc-hmatrix)
4793 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
4794 (home-page "https://github.com/albertoruiz/hmatrix")
4795 (synopsis "Haskell interface to GSL special functions")
4796 (description "This library provides an interface to GSL special
4797functions for Haskell.")
4798 (license license:gpl3+)))
4799
4800(define-public ghc-hostname
4801 (package
4802 (name "ghc-hostname")
4803 (version "1.0")
4804 (source
4805 (origin
4806 (method url-fetch)
4807 (uri (string-append "https://hackage.haskell.org/package/hostname/"
4808 "hostname-" version ".tar.gz"))
4809 (sha256
4810 (base32
4811 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
4812 (build-system haskell-build-system)
4813 (home-page "https://hackage.haskell.org/package/hostname")
4814 (synopsis "Hostname in Haskell")
4815 (description "Network.HostName is a simple package providing a means to
4816determine the hostname.")
4817 (license license:bsd-3)))
4818
4819(define-public ghc-hourglass
4820 (package
4821 (name "ghc-hourglass")
4822 (version "0.2.12")
4823 (source (origin
4824 (method url-fetch)
4825 (uri (string-append "https://hackage.haskell.org/package/"
4826 "hourglass/hourglass-" version ".tar.gz"))
4827 (sha256
4828 (base32
4829 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
4830 (build-system haskell-build-system)
4831 (inputs
4832 `(("ghc-old-locale" ,ghc-old-locale)))
4833 (native-inputs
4834 `(("ghc-tasty" ,ghc-tasty)
4835 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4836 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4837 (home-page "https://github.com/vincenthz/hs-hourglass")
4838 (synopsis "Simple time-related library for Haskell")
4839 (description
4840 "This is a simple time library providing a simple but powerful and
4841performant API. The backbone of the library are the @code{Timeable} and
4842@code{Time} type classes. Each @code{Timeable} instances can be converted to
4843a type that has a @code{Time} instances, and thus are different
4844representations of current time.")
4845 (license license:bsd-3)))
4846
4847(define-public ghc-hpack
4848 (package
4849 (name "ghc-hpack")
4850 (version "0.28.2")
4851 (source
4852 (origin
4853 (method url-fetch)
4854 (uri (string-append "https://hackage.haskell.org/package/hpack/"
4855 "hpack-" version ".tar.gz"))
4856 (sha256
4857 (base32
4858 "18w0h76jdp3mk9vin8da9iz3cwhcxmw787xy8wlh8bxcpcr16q5r"))))
4859 (build-system haskell-build-system)
4860 (inputs
4861 `(("ghc-aeson" ,ghc-aeson)
4862 ("ghc-bifunctors" ,ghc-bifunctors)
4863 ("ghc-cryptonite" ,ghc-cryptonite)
4864 ("ghc-glob" ,ghc-glob)
4865 ("ghc-http-client" ,ghc-http-client)
4866 ("ghc-http-client-tls" ,ghc-http-client-tls)
4867 ("ghc-http-types" ,ghc-http-types)
4868 ("ghc-scientific" ,ghc-scientific)
4869 ("ghc-unordered-containers" ,ghc-unordered-containers)
4870 ("ghc-vector" ,ghc-vector)
4871 ("ghc-yaml" ,ghc-yaml)))
4872 (native-inputs
4873 `(("ghc-hspec" ,ghc-hspec)
4874 ("ghc-hunit" ,ghc-hunit)
4875 ("ghc-interpolate" ,ghc-interpolate)
4876 ("ghc-mockery" ,ghc-mockery)
4877 ("ghc-quickcheck" ,ghc-quickcheck)
4878 ("ghc-temporary" ,ghc-temporary)
4879 ("hspec-discover" ,hspec-discover)))
4880 (home-page "https://github.com/sol/hpack")
4881 (synopsis "Tools for an alternative Haskell package format")
4882 (description
4883 "Hpack is a format for Haskell packages. It is an alternative to the
4884Cabal package format and follows different design principles. Hpack packages
4885are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
4886@code{stack} support @code{package.yaml} natively. For other build tools the
4887@code{hpack} executable can be used to generate a @code{.cabal} file from
4888@code{package.yaml}.")
4889 (license license:expat)))
4890
4891(define-public ghc-hs-bibutils
4892 (package
4893 (name "ghc-hs-bibutils")
4894 (version "6.6.0.0")
4895 (source
4896 (origin
4897 (method url-fetch)
4898 (uri (string-append
4899 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
4900 version ".tar.gz"))
4901 (sha256
4902 (base32
4903 "0n2sz2zl4naspryd49ii858qkjp2lapns5a2gr8zm6vvn5sh1f0l"))))
4904 (build-system haskell-build-system)
4905 (inputs `(("ghc-syb" ,ghc-syb)))
4906 (home-page "https://hackage.haskell.org/package/hs-bibutils")
4907 (synopsis "Haskell bindings to bibutils")
4908 (description
4909 "This package provides Haskell bindings to @code{bibutils}, a library
4910that interconverts between various bibliography formats using a common
4911MODS-format XML intermediate.")
4912 (license license:gpl2+)))
4913
4914(define-public ghc-hslogger
4915 (package
4916 (name "ghc-hslogger")
4917 (version "1.2.10")
4918 (source
4919 (origin
4920 (method url-fetch)
4921 (uri (string-append "https://hackage.haskell.org/package/"
4922 "hslogger-" version "/" "hslogger-"
4923 version ".tar.gz"))
4924 (sha256 (base32
4925 "0as5gvlh6pi2gflakp695qnlizyyp059dqrhvjl4gjxalja6xjnp"))))
4926 (build-system haskell-build-system)
4927 (inputs
4928 `(("ghc-network" ,ghc-network)
4929 ("ghc-old-locale" ,ghc-old-locale)))
4930 (native-inputs
4931 `(("ghc-hunit" ,ghc-hunit)))
4932 (home-page "https://software.complete.org/hslogger")
4933 (synopsis "Logging framework for Haskell, similar to Python's logging module")
4934 (description "Hslogger lets each log message have a priority and source be
4935associated with it. The programmer can then define global handlers that route
4936or filter messages based on the priority and source. It also has a syslog
4937handler built in.")
4938 (license license:bsd-3)))
4939
4940(define-public ghc-hslua
4941 (package
4942 (name "ghc-hslua")
4943 (version "0.9.5.2")
4944 (source (origin
4945 (method url-fetch)
4946 (uri (string-append "https://hackage.haskell.org/package/"
4947 "hslua/hslua-" version ".tar.gz"))
4948 (sha256
4949 (base32
4950 "1rdvv01p214zfjh6fcqjjgqwi8y42wad6cqzhlcv5gvclzw2ck8f"))))
4951 (build-system haskell-build-system)
4952 (arguments
4953 `(#:configure-flags '("-fsystem-lua")))
4954 (inputs
4955 `(("lua" ,lua)
4956 ("ghc-exceptions" ,ghc-exceptions)
4957 ("ghc-fail" ,ghc-fail)))
4958 (native-inputs
4959 `(("ghc-tasty" ,ghc-tasty)
4960 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
4961 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4962 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4963 ("ghc-quickcheck" ,ghc-quickcheck)
4964 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
4965 (home-page "https://hackage.haskell.org/package/hslua")
4966 (synopsis "Lua language interpreter embedding in Haskell")
4967 (description
4968 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
4969described in @url{https://www.lua.org/}.")
4970 (license license:expat)))
4971
4972(define-public ghc-hslua-module-text
4973 (package
4974 (name "ghc-hslua-module-text")
4975 (version "0.1.2.1")
4976 (source
4977 (origin
4978 (method url-fetch)
4979 (uri (string-append "https://hackage.haskell.org/package/"
4980 "hslua-module-text/hslua-module-text-"
4981 version ".tar.gz"))
4982 (sha256
4983 (base32
4984 "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf"))))
4985 (build-system haskell-build-system)
4986 (arguments
4987 `(#:cabal-revision
4988 ("1" "0vajlsd7y6pwa08635q0cx8z5c1c55bk7fvavw7g2vmyvxqjzx6n")))
4989 (inputs
4990 `(("ghc-hslua" ,ghc-hslua)))
4991 (native-inputs
4992 `(("ghc-tasty" ,ghc-tasty)
4993 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4994 (home-page "https://github.com/hslua/hslua-module-text")
4995 (synopsis "Lua module for text")
4996 (description
4997 "This package provides a UTF-8 aware subset of Lua's @code{string} module
4998for Haskell. The functions provided by this module are @code{upper},
4999@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5000 (license license:expat)))
5001
5002(define-public ghc-http-api-data
5003 (package
5004 (name "ghc-http-api-data")
5005 (version "0.3.8.1")
5006 (source
5007 (origin
5008 (method url-fetch)
5009 (uri (string-append "https://hackage.haskell.org/package/"
5010 "http-api-data-" version "/"
5011 "http-api-data-" version ".tar.gz"))
5012 (sha256
5013 (base32
5014 "1cq6459b8wz6nvkvpi89dg189n5q2xdq4rdq435hf150555vmskf"))))
5015 (build-system haskell-build-system)
5016 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9
5017 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5018 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
5019 ("ghc-hashable" ,ghc-hashable)
5020 ("ghc-http-types" ,ghc-http-types)
5021 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
5022 ("ghc-unordered-containers" ,ghc-unordered-containers)
5023 ("ghc-uri-bytestring" ,ghc-uri-bytestring)
5024 ("ghc-uuid-types" ,ghc-uuid-types)))
5025 (home-page "https://github.com/fizruk/http-api-data")
5026 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5027query parameters")
5028 (description "This Haskell package defines typeclasses used for converting
5029Haskell data types to and from HTTP API data.")
5030 (license license:bsd-3)))
5031
5032(define-public ghc-ieee754
5033 (package
5034 (name "ghc-ieee754")
5035 (version "0.8.0")
5036 (source (origin
5037 (method url-fetch)
5038 (uri (string-append
5039 "https://hackage.haskell.org/package/ieee754/"
5040 "ieee754-" version ".tar.gz"))
5041 (sha256
5042 (base32
5043 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5044 (build-system haskell-build-system)
5045 (home-page "https://github.com/patperry/hs-ieee754")
5046 (synopsis "Utilities for dealing with IEEE floating point numbers")
5047 (description "Utilities for dealing with IEEE floating point numbers,
5048ported from the Tango math library; approximate and exact equality comparisons
5049for general types.")
5050 (license license:bsd-3)))
5051
5052(define-public ghc-ifelse
5053 (package
5054 (name "ghc-ifelse")
5055 (version "0.85")
5056 (source
5057 (origin
5058 (method url-fetch)
5059 (uri (string-append "https://hackage.haskell.org/package/"
5060 "IfElse/IfElse-" version ".tar.gz"))
5061 (sha256
5062 (base32
5063 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5064 (build-system haskell-build-system)
5065 (home-page "http://hackage.haskell.org/package/IfElse")
5066 (synopsis "Monadic control flow with anaphoric variants")
5067 (description "This library provides functions for control flow inside of
5068monads with anaphoric variants on @code{if} and @code{when} and a C-like
5069@code{switch} function.")
5070 (license license:bsd-3)))
5071
5072(define-public ghc-indents
5073 (package
5074 (name "ghc-indents")
5075 (version "0.5.0.0")
5076 (source (origin
5077 (method url-fetch)
5078 (uri (string-append
5079 "https://hackage.haskell.org/package/indents/indents-"
5080 version ".tar.gz"))
5081 (sha256
5082 (base32
5083 "1ly3v41jacc6lrsvg4j3m5a6zs90gr8dyif5m6bf34hj1k5cgg0n"))))
5084 (build-system haskell-build-system)
5085 ;; This package needs an older version of tasty.
5086 (arguments '(#:tests? #f))
5087 (inputs
5088 `(("ghc-concatenative" ,ghc-concatenative)))
5089 (native-inputs
5090 `(("ghc-tasty" ,ghc-tasty)
5091 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5092 (home-page "http://patch-tag.com/r/salazar/indents")
5093 (synopsis "Indentation sensitive parser-combinators for parsec")
5094 (description
5095 "This library provides functions for use in parsing indentation sensitive
5096contexts. It parses blocks of lines all indented to the same level as well as
5097lines continued at an indented level below.")
5098 (license license:bsd-3)))
5099
5100(define-public ghc-inline-c
5101 (package
5102 (name "ghc-inline-c")
5103 (version "0.6.1.0")
5104 (source
5105 (origin
5106 (method url-fetch)
5107 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5108 "inline-c-" version ".tar.gz"))
5109 (sha256
5110 (base32
5111 "0vbfrsqsi7mdziqsnj68bsqlwbqxxhvrmy9rv6w8z18d1m8w3n6h"))))
5112 (build-system haskell-build-system)
5113 (inputs
5114 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5115 ("ghc-cryptohash" ,ghc-cryptohash)
5116 ("ghc-hashable" ,ghc-hashable)
5117 ("ghc-parsers" ,ghc-parsers)
5118 ("ghc-unordered-containers" ,ghc-unordered-containers)
5119 ("ghc-vector" ,ghc-vector)))
5120 (native-inputs
5121 `(("ghc-quickcheck" ,ghc-quickcheck)
5122 ("ghc-hspec" ,ghc-hspec)
5123 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5124 ("ghc-regex-posix" ,ghc-regex-posix)))
5125 (home-page "http://hackage.haskell.org/package/inline-c")
5126 (synopsis "Write Haskell source files including C code inline")
5127 (description
5128 "inline-c lets you seamlessly call C libraries and embed high-performance
5129inline C code in Haskell modules. Haskell and C can be freely intermixed in
5130the same source file, and data passed to and from code in either language with
5131minimal overhead. No FFI required.")
5132 (license license:expat)))
5133
5134(define-public ghc-inline-c-cpp
5135 (package
5136 (name "ghc-inline-c-cpp")
5137 (version "0.2.2.1")
5138 (source
5139 (origin
5140 (method url-fetch)
5141 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5142 "inline-c-cpp-" version ".tar.gz"))
5143 (sha256
5144 (base32
5145 "1rk7fmpkmxw9hhwr8df29kadnf0ybnwj64ggdbnsdrpfyhnkisci"))))
5146 (build-system haskell-build-system)
5147 (inputs
5148 `(("ghc-inline-c" ,ghc-inline-c)
5149 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5150 (native-inputs
5151 `(("ghc-hspec" ,ghc-hspec)))
5152 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5153 (synopsis "Lets you embed C++ code into Haskell")
5154 (description
5155 "This package provides utilities to inline C++ code into Haskell using
5156@code{inline-c}.")
5157 (license license:expat)))
5158
5159(define-public ghc-integer-logarithms
5160 (package
5161 (name "ghc-integer-logarithms")
5162 (version "1.0.2.1")
5163 (source
5164 (origin
5165 (method url-fetch)
5166 (uri (string-append "https://hackage.haskell.org/package/"
5167 "integer-logarithms/integer-logarithms-"
5168 version ".tar.gz"))
5169 (sha256
5170 (base32
5171 "1wj8kgjg5bn2yrs4zh9qfjv85cx6w998j9pi39yrbv305944mb9j"))))
5172 (build-system haskell-build-system)
5173 (arguments
5174 `(#:phases
5175 (modify-phases %standard-phases
5176 (add-before 'configure 'update-constraints
5177 (lambda _
5178 (substitute* "integer-logarithms.cabal"
5179 (("tasty >= 0\\.10 && < 1\\.1")
5180 "tasty >= 0.10 && < 1.2")))))))
5181 (native-inputs
5182 `(("ghc-quickcheck" ,ghc-quickcheck)
5183 ("ghc-smallcheck" ,ghc-smallcheck)
5184 ("ghc-tasty" ,ghc-tasty)
5185 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5186 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5187 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5188 (home-page "https://github.com/Bodigrim/integer-logarithms")
5189 (synopsis "Integer logarithms")
5190 (description
5191 "This package provides the following modules:
5192@code{Math.NumberTheory.Logarithms} and
5193@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5194@code{GHC.Integer.Logarithms.Compat} and
5195@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5196in migrated modules.")
5197 (license license:expat)))
5198
5199(define-public ghc-integer-logarithms-bootstrap
5200 (package
5201 (inherit ghc-integer-logarithms)
5202 (name "ghc-integer-logarithms-bootstrap")
5203 (arguments `(#:tests? #f))
5204 (native-inputs '())
799d8d3c 5205 (properties '((hidden? #t)))))
dddbc90c
RV
5206
5207(define-public ghc-interpolate
5208 (package
5209 (name "ghc-interpolate")
5210 (version "0.2.0")
5211 (source
5212 (origin
5213 (method url-fetch)
5214 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5215 "interpolate-" version ".tar.gz"))
5216 (sha256
5217 (base32
5218 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5219 (build-system haskell-build-system)
5220 (inputs
5221 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5222 (native-inputs
5223 `(("ghc-base-compat" ,ghc-base-compat)
5224 ("ghc-hspec" ,ghc-hspec)
5225 ("ghc-quickcheck" ,ghc-quickcheck)
5226 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5227 ("hspec-discover" ,hspec-discover)))
5228 (home-page "https://github.com/sol/interpolate")
5229 (synopsis "String interpolation library")
5230 (description "This package provides a string interpolation library for
5231Haskell.")
5232 (license license:expat)))
5233
5234(define-public ghc-intervalmap
5235 (package
5236 (name "ghc-intervalmap")
5237 (version "0.6.0.0")
5238 (source
5239 (origin
5240 (method url-fetch)
5241 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5242 "IntervalMap-" version ".tar.gz"))
5243 (sha256
5244 (base32
5245 "06hin9wf1by8aqa7820fsi2339bh82184frkwz3jsb9sqa0hszcg"))))
5246 (build-system haskell-build-system)
5247 (native-inputs
5248 `(("ghc-quickcheck" ,ghc-quickcheck)))
5249 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5250 (synopsis "Containers for intervals, with efficient search")
5251 (description
5252 "This package provides ordered containers of intervals, with efficient
5253search for all keys containing a point or overlapping an interval. See the
5254example code on the home page for a quick introduction.")
5255 (license license:bsd-3)))
5256
5257(define-public ghc-invariant
5258 (package
5259 (name "ghc-invariant")
5260 (version "0.5.1")
5261 (source
5262 (origin
5263 (method url-fetch)
5264 (uri (string-append
5265 "https://hackage.haskell.org/package/invariant/invariant-"
5266 version ".tar.gz"))
5267 (sha256
5268 (base32
5269 "0aqj7z55632qdg45074kgn9qfdxzb0a2f8lgjzr0l0i4mm2rr37b"))))
5270 (build-system haskell-build-system)
5271 (inputs
5272 `(("ghc-bifunctors" ,ghc-bifunctors)
5273 ("ghc-comonad" ,ghc-comonad)
5274 ("ghc-contravariant" ,ghc-contravariant)
5275 ("ghc-profunctors" ,ghc-profunctors)
5276 ("ghc-semigroups" ,ghc-semigroups)
5277 ("ghc-statevar" ,ghc-statevar)
5278 ("ghc-tagged" ,ghc-tagged)
5279 ("ghc-th-abstraction" ,ghc-th-abstraction)
5280 ("ghc-transformers-compat" ,ghc-transformers-compat)
5281 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5282 (native-inputs
5283 `(("ghc-hspec" ,ghc-hspec)
5284 ("ghc-quickcheck" ,ghc-quickcheck)
5285 ("hspec-discover" ,hspec-discover)))
5286 (home-page "https://github.com/nfrisby/invariant-functors")
5287 (synopsis "Haskell98 invariant functors")
5288 (description "Haskell98 invariant functors (also known as exponential
5289functors). For more information, see Edward Kmett's article
5290@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5291 (license license:bsd-2)))
5292
5293(define-public ghc-io-streams
5294 (package
5295 (name "ghc-io-streams")
5296 (version "1.5.0.1")
5297 (source
5298 (origin
5299 (method url-fetch)
5300 (uri (string-append "https://hackage.haskell.org/package/"
5301 "io-streams/io-streams-" version ".tar.gz"))
5302 (sha256
5303 (base32
5304 "12rcdg2d70644bvn838fxcjkssqj8pssnx5y657si5rijcbkgjsx"))))
5305 (build-system haskell-build-system)
5306 (inputs
5307 `(("ghc-attoparsec" ,ghc-attoparsec)
5308 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5309 ("ghc-network" ,ghc-network)
5310 ("ghc-primitive" ,ghc-primitive)
5311 ("ghc-vector" ,ghc-vector)
5312 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5313 (native-inputs
5314 `(("ghc-hunit" ,ghc-hunit)
5315 ("ghc-quickcheck" ,ghc-quickcheck)
5316 ("ghc-test-framework" ,ghc-test-framework)
5317 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5318 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5319 ("ghc-zlib" ,ghc-zlib)))
5320 (arguments
5321 `(#:cabal-revision
5322 ("2" "1mcab95d6hm098myh9gp7sh10srigjphgvm8s9pfs7jg5hzghy14")))
5323 (home-page "http://hackage.haskell.org/package/io-streams")
5324 (synopsis "Simple and composable stream I/O")
5325 (description "This library contains simple and easy-to-use
5326primitives for I/O using streams.")
5327 (license license:bsd-3)))
5328
5329(define-public ghc-io-streams-haproxy
5330 (package
5331 (name "ghc-io-streams-haproxy")
5332 (version "1.0.0.2")
5333 (source
5334 (origin
5335 (method url-fetch)
5336 (uri (string-append "https://hackage.haskell.org/package/"
5337 "io-streams-haproxy/io-streams-haproxy-"
5338 version ".tar.gz"))
5339 (sha256
5340 (base32
5341 "11nh9q158mgnvvb23s5ffg87lkhl5smk039yl43jghxmb214z0bp"))))
5342 (build-system haskell-build-system)
5343 (inputs
5344 `(("ghc-attoparsec" ,ghc-attoparsec)
5345 ("ghc-io-streams" ,ghc-io-streams)
5346 ("ghc-network" ,ghc-network)))
5347 (native-inputs
5348 `(("ghc-hunit" ,ghc-hunit)
5349 ("ghc-test-framework" ,ghc-test-framework)
5350 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5351 (arguments
5352 `(#:cabal-revision
5353 ("4" "06c51a057n5bc9xfbp2m4jz5ds4z1xvmsx5mppch6qfwbz7x5i9l")))
5354 (home-page "http://snapframework.com/")
5355 (synopsis "HAProxy protocol 1.5 support for io-streams")
5356 (description "HAProxy protocol version 1.5 support
5357(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5358for applications using io-streams. The proxy protocol allows information
5359about a networked peer (like remote address and port) to be propagated
5360through a forwarding proxy that is configured to speak this protocol.")
5361 (license license:bsd-3)))
5362
5363(define-public ghc-iproute
5364 (package
5365 (name "ghc-iproute")
5366 (version "1.7.5")
5367 (source
5368 (origin
5369 (method url-fetch)
5370 (uri (string-append
5371 "https://hackage.haskell.org/package/iproute/iproute-"
5372 version
5373 ".tar.gz"))
5374 (sha256
5375 (base32
5376 "1vw1nm3s8vz1hqnjnqd3wh5rr4q3m2r4izn5ynhf93h9185qwqzd"))))
5377 (build-system haskell-build-system)
5378 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5379 ; exported by ghc-byteorder. Doctest issue.
5380 (inputs
5381 `(("ghc-appar" ,ghc-appar)
5382 ("ghc-byteorder" ,ghc-byteorder)
5383 ("ghc-network" ,ghc-network)
5384 ("ghc-safe" ,ghc-safe)))
5385 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5386 (synopsis "IP routing table")
5387 (description "IP Routing Table is a tree of IP ranges to search one of
5388them on the longest match base. It is a kind of TRIE with one way branching
5389removed. Both IPv4 and IPv6 are supported.")
5390 (license license:bsd-3)))
5391
5392(define-public ghc-iwlib
5393 (package
5394 (name "ghc-iwlib")
5395 (version "0.1.0")
5396 (source
5397 (origin
5398 (method url-fetch)
5399 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5400 version ".tar.gz"))
5401 (sha256
5402 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5403 (build-system haskell-build-system)
5404 (inputs
5405 `(("wireless-tools" ,wireless-tools)))
5406 (home-page "https://github.com/jaor/iwlib")
5407 (synopsis "Haskell binding to the iw wireless networking library")
5408 (description
5409 "IWlib is a thin Haskell binding to the iw C library. It provides
5410information about the current wireless network connections, and adapters on
5411supported systems.")
5412 (license license:bsd-3)))
5413
5414(define-public ghc-json
5415 (package
5416 (name "ghc-json")
5417 (version "0.9.2")
5418 (source
5419 (origin
5420 (method url-fetch)
5421 (uri (string-append "https://hackage.haskell.org/package/json/"
5422 "json-" version ".tar.gz"))
5423 (sha256
5424 (base32
5425 "13kkfgx58z18jphbg56jn08jn72wi3kvfndlwwx87hqwg7x1dfz6"))))
5426 (build-system haskell-build-system)
5427 (inputs
5428 `(("ghc-syb" ,ghc-syb)))
5429 (home-page "https://hackage.haskell.org/package/json")
5430 (synopsis "Serializes Haskell data to and from JSON")
5431 (description "This package provides a parser and pretty printer for
5432converting between Haskell values and JSON.
5433JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5434 (license license:bsd-3)))
5435
5436(define-public ghc-juicypixels
5437 (package
5438 (name "ghc-juicypixels")
5439 (version "3.2.9.5")
5440 (source (origin
5441 (method url-fetch)
5442 (uri (string-append "https://hackage.haskell.org/package/"
5443 "JuicyPixels/JuicyPixels-"
5444 version ".tar.gz"))
5445 (sha256
5446 (base32
5447 "0mf3ihr0xy2wc2wzb9a17g0n3p60x7pvm8akwpvhdy8klvs6r744"))))
5448 (build-system haskell-build-system)
5449 (inputs
5450 `(("ghc-zlib" ,ghc-zlib)
5451 ("ghc-vector" ,ghc-vector)
5452 ("ghc-primitive" ,ghc-primitive)
5453 ("ghc-mmap" ,ghc-mmap)))
5454 (home-page "https://github.com/Twinside/Juicy.Pixels")
5455 (synopsis "Picture loading and serialization library")
5456 (description
5457 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5458TIFF and GIF formats.")
5459 (license license:bsd-3)))
5460
5461(define-public ghc-kan-extensions
5462 (package
5463 (name "ghc-kan-extensions")
5464 (version "5.2")
5465 (source
5466 (origin
5467 (method url-fetch)
5468 (uri (string-append
5469 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5470 version
5471 ".tar.gz"))
5472 (sha256
5473 (base32
5474 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5475 (build-system haskell-build-system)
5476 (inputs
5477 `(("ghc-adjunctions" ,ghc-adjunctions)
5478 ("ghc-comonad" ,ghc-comonad)
5479 ("ghc-contravariant" ,ghc-contravariant)
5480 ("ghc-distributive" ,ghc-distributive)
5481 ("ghc-free" ,ghc-free)
5482 ("ghc-invariant" ,ghc-invariant)
5483 ("ghc-semigroupoids" ,ghc-semigroupoids)
5484 ("ghc-tagged" ,ghc-tagged)
5485 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5486 (home-page "https://github.com/ekmett/kan-extensions/")
5487 (synopsis "Kan extensions library")
5488 (description "This library provides Kan extensions, Kan lifts, various
5489forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5490 (license license:bsd-3)))
5491
5492(define-public ghc-language-c
5493 (package
5494 (name "ghc-language-c")
5495 (version "0.8.1")
5496 (source
5497 (origin
5498 (method url-fetch)
5499 (uri (string-append "https://hackage.haskell.org/package/"
5500 "language-c/language-c-" version ".tar.gz"))
5501 (sha256
5502 (base32
5503 "0sdkjj0hq8p69fcdm6ljbjkjvrsrb8a6rl5dq6dj6byj32ajrm3d"))))
5504 (build-system haskell-build-system)
5505 (inputs `(("ghc-syb" ,ghc-syb)))
5506 (native-inputs
5507 `(("ghc-happy" ,ghc-happy)
5508 ("ghc-alex" ,ghc-alex)))
5509 (home-page "https://visq.github.io/language-c/")
5510 (synopsis "Analysis and generation of C code")
5511 (description
5512 "Language C is a Haskell library for the analysis and generation of C code.
5513It features a complete, well-tested parser and pretty printer for all of C99
5514and a large set of GNU extensions.")
5515 (license license:bsd-3)))
5516
5517(define-public ghc-language-glsl
5518 (package
5519 (name "ghc-language-glsl")
5520 (version "0.3.0")
5521 (source
5522 (origin
5523 (method url-fetch)
5524 (uri (string-append "https://hackage.haskell.org/package/"
5525 "language-glsl/language-glsl-" version ".tar.gz"))
5526 (sha256
5527 (base32
5528 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
5529 (build-system haskell-build-system)
5530 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
5531 (arguments
5532 `(#:tests? #f
5533 #:cabal-revision
5534 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
5535 (home-page "http://hackage.haskell.org/package/language-glsl")
5536 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
5537 (description "This package is a Haskell library for the
5538representation, parsing, and pretty-printing of GLSL 1.50 code.")
5539 (license license:bsd-3)))
5540
5541(define-public ghc-language-haskell-extract
5542 (package
5543 (name "ghc-language-haskell-extract")
5544 (version "0.2.4")
5545 (source
5546 (origin
5547 (method url-fetch)
5548 (uri (string-append "https://hackage.haskell.org/package/"
5549 "language-haskell-extract-" version "/"
5550 "language-haskell-extract-" version ".tar.gz"))
5551 (sha256
5552 (base32
5553 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
5554 (build-system haskell-build-system)
5555 (inputs
5556 `(("ghc-regex-posix" ,ghc-regex-posix)))
5557 (home-page "https://github.com/finnsson/template-helper")
5558 (synopsis "Haskell module to automatically extract functions from
5559the local code")
5560 (description "This package contains helper functions on top of
5561Template Haskell.
5562
5563For example, @code{functionExtractor} extracts all functions after a
5564regexp-pattern, which can be useful if you wish to extract all functions
5565beginning with @code{test} (for a test framework) or all functions beginning
5566with @code{wc} (for a web service).")
5567 (license license:bsd-3)))
5568
5569(define-public ghc-lens
5570 (package
5571 (name "ghc-lens")
5572 (version "4.16.1")
5573 (source
5574 (origin
5575 (method url-fetch)
5576 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5577 version ".tar.gz"))
5578 (sha256
5579 (base32
5580 "1im4drhbydbawd6i0jsrzpqihnmx4ywpkg7yg94ddwsw3mxwkgpm"))))
5581 (build-system haskell-build-system)
5582 (arguments
5583 `(#:cabal-revision
5584 ("2" "11h83lj5mba4grhz1qx3irz10ysm9c3k7k6i6xv2cr60q8xin3ri")))
5585 (inputs
5586 `(("ghc-base-orphans" ,ghc-base-orphans)
5587 ("ghc-bifunctors" ,ghc-bifunctors)
5588 ("ghc-distributive" ,ghc-distributive)
5589 ("ghc-exceptions" ,ghc-exceptions)
5590 ("ghc-free" ,ghc-free)
5591 ("ghc-kan-extensions" ,ghc-kan-extensions)
5592 ("ghc-parallel" ,ghc-parallel)
5593 ("ghc-reflection" ,ghc-reflection)
5594 ("ghc-semigroupoids" ,ghc-semigroupoids)
5595 ("ghc-vector" ,ghc-vector)
5596 ("ghc-call-stack" ,ghc-call-stack)
5597 ("ghc-comonad" ,ghc-comonad)
5598 ("ghc-contravariant" ,ghc-contravariant)
5599 ("ghc-hashable" ,ghc-hashable)
5600 ("ghc-profunctors" ,ghc-profunctors)
5601 ("ghc-semigroups" ,ghc-semigroups)
5602 ("ghc-tagged" ,ghc-tagged)
5603 ("ghc-transformers-compat" ,ghc-transformers-compat)
5604 ("ghc-unordered-containers" ,ghc-unordered-containers)
5605 ("ghc-void" ,ghc-void)
5606 ("ghc-generic-deriving" ,ghc-generic-deriving)
5607 ("ghc-nats" ,ghc-nats)
5608 ("ghc-simple-reflect" ,ghc-simple-reflect)
5609 ("hlint" ,hlint)))
5610 (native-inputs
5611 `(("cabal-doctest" ,cabal-doctest)
5612 ("ghc-doctest" ,ghc-doctest)
5613 ("ghc-hunit" ,ghc-hunit)
5614 ("ghc-test-framework" ,ghc-test-framework)
5615 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5616 ("ghc-test-framework-th" ,ghc-test-framework-th)
5617 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5618 ("ghc-quickcheck" ,ghc-quickcheck)))
5619 (home-page "https://github.com/ekmett/lens/")
5620 (synopsis "Lenses, Folds and Traversals")
5621 (description "This library provides @code{Control.Lens}. The combinators
5622in @code{Control.Lens} provide a highly generic toolbox for composing families
5623of getters, folds, isomorphisms, traversals, setters and lenses and their
5624indexed variants.")
5625 (license license:bsd-3)))
5626
5627(define-public ghc-libffi
5628 (package
5629 (name "ghc-libffi")
5630 (version "0.1")
5631 (source
5632 (origin
5633 (method url-fetch)
5634 (uri (string-append "https://hackage.haskell.org/package/"
5635 "libffi/libffi-" version ".tar.gz"))
5636 (sha256
5637 (base32
5638 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
5639 (build-system haskell-build-system)
5640 (native-inputs `(("pkg-config" ,pkg-config)))
5641 (inputs `(("libffi" ,libffi)))
5642 (home-page "http://hackage.haskell.org/package/libffi")
5643 (synopsis "Haskell binding to libffi")
5644 (description
5645 "A binding to libffi, allowing C functions of types only known at runtime
5646to be called from Haskell.")
5647 (license license:bsd-3)))
5648
5649(define-public ghc-libmpd
5650 (package
5651 (name "ghc-libmpd")
5652 (version "0.9.0.9")
5653 (source
5654 (origin
5655 (method url-fetch)
5656 (uri (string-append
5657 "mirror://hackage/package/libmpd/libmpd-"
5658 version
5659 ".tar.gz"))
5660 (sha256
5661 (base32
5662 "1931m23iqb4wddpdidm4ph746zpaw41kkjzmb074j7yyfpk7x1jv"))))
5663 (build-system haskell-build-system)
5664 ;; Tests fail on i686.
5665 ;; See https://github.com/vimus/libmpd-haskell/issues/112
5666 (arguments `(#:tests? #f))
5667 (inputs
5668 `(("ghc-attoparsec" ,ghc-attoparsec)
5669 ("ghc-old-locale" ,ghc-old-locale)
5670 ("ghc-data-default-class" ,ghc-data-default-class)
5671 ("ghc-network" ,ghc-network)
5672 ("ghc-utf8-string" ,ghc-utf8-string)))
5673 (native-inputs
5674 `(("ghc-quickcheck" ,ghc-quickcheck)
5675 ("ghc-hspec" ,ghc-hspec)
5676 ("hspec-discover" ,hspec-discover)))
5677 (home-page "https://github.com/vimus/libmpd-haskell")
5678 (synopsis "Haskell client library for the Music Player Daemon")
5679 (description "This package provides a pure Haskell client library for the
5680Music Player Daemon.")
5681 (license license:expat)))
5682
5683(define-public ghc-libxml
5684 (package
5685 (name "ghc-libxml")
5686 (version "0.1.1")
5687 (source
5688 (origin
5689 (method url-fetch)
5690 (uri (string-append "https://hackage.haskell.org/package/libxml/"
5691 "libxml-" version ".tar.gz"))
5692 (sha256
5693 (base32
5694 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
5695 (build-system haskell-build-system)
5696 (inputs
5697 `(("libxml2" ,libxml2)))
5698 (arguments
5699 `(#:configure-flags
5700 `(,(string-append "--extra-include-dirs="
5701 (assoc-ref %build-inputs "libxml2")
5702 "/include/libxml2"))))
5703 (home-page "https://hackage.haskell.org/package/libxml")
5704 (synopsis "Haskell bindings to libxml2")
5705 (description
5706 "This library provides minimal Haskell binding to libxml2.")
5707 (license license:bsd-3)))
5708
5709(define-public ghc-lifted-async
5710 (package
5711 (name "ghc-lifted-async")
5712 (version "0.10.0.2")
5713 (source
5714 (origin
5715 (method url-fetch)
5716 (uri (string-append
5717 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
5718 version ".tar.gz"))
5719 (sha256
5720 (base32
5721 "1073r512c1x2m1v0jar9bwqg656slg7jd1jhsyj6m8awgx1l1mwf"))))
5722 (build-system haskell-build-system)
5723 (inputs
5724 `(("ghc-async" ,ghc-async)
5725 ("ghc-lifted-base" ,ghc-lifted-base)
5726 ("ghc-transformers-base" ,ghc-transformers-base)
5727 ("ghc-monad-control" ,ghc-monad-control)
5728 ("ghc-constraints" ,ghc-constraints)
5729 ("ghc-hunit" ,ghc-hunit)
5730 ("ghc-tasty" ,ghc-tasty)
5731 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5732 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5733 ("ghc-tasty-th" ,ghc-tasty-th)))
5734 (home-page "https://github.com/maoe/lifted-async")
5735 (synopsis "Run lifted IO operations asynchronously and wait for their results")
5736 (description
5737 "This package provides IO operations from @code{async} package lifted to any
5738instance of @code{MonadBase} or @code{MonadBaseControl}.")
5739 (license license:bsd-3)))
5740
5741(define-public ghc-lifted-base
5742 (package
5743 (name "ghc-lifted-base")
5744 (version "0.2.3.12")
5745 (source
5746 (origin
5747 (method url-fetch)
5748 (uri (string-append
5749 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
5750 version
5751 ".tar.gz"))
5752 (sha256
5753 (base32
5754 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
5755 (build-system haskell-build-system)
5756 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
5757 (inputs
5758 `(("ghc-transformers-base" ,ghc-transformers-base)
5759 ("ghc-monad-control" ,ghc-monad-control)
5760 ("ghc-transformers-compat" ,ghc-transformers-compat)
5761 ("ghc-hunit" ,ghc-hunit)))
5762 (home-page "https://github.com/basvandijk/lifted-base")
5763 (synopsis "Lifted IO operations from the base library")
5764 (description "Lifted-base exports IO operations from the @code{base}
5765library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5766Note that not all modules from @code{base} are converted yet. The package
5767includes a copy of the @code{monad-peel} test suite written by Anders
5768Kaseorg.")
5769 (license license:bsd-3)))
5770
5771(define-public ghc-linear
5772 (package
5773 (name "ghc-linear")
5774 (version "1.20.8")
5775 (source
5776 (origin
5777 (method url-fetch)
5778 (uri (string-append "https://hackage.haskell.org/package/linear/"
5779 "linear-" version ".tar.gz"))
5780 (sha256
5781 (base32
5782 "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"))))
5783 (build-system haskell-build-system)
5784 (inputs
5785 `(("ghc-adjunctions" ,ghc-adjunctions)
5786 ("ghc-base-orphans" ,ghc-base-orphans)
5787 ("ghc-bytes" ,ghc-bytes)
5788 ("ghc-cereal" ,ghc-cereal)
5789 ("ghc-distributive" ,ghc-distributive)
5790 ("ghc-hashable" ,ghc-hashable)
5791 ("ghc-lens" ,ghc-lens)
5792 ("ghc-reflection" ,ghc-reflection)
5793 ("ghc-semigroups" ,ghc-semigroups)
5794 ("ghc-semigroupoids" ,ghc-semigroupoids)
5795 ("ghc-tagged" ,ghc-tagged)
5796 ("ghc-transformers-compat" ,ghc-transformers-compat)
5797 ("ghc-unordered-containers" ,ghc-unordered-containers)
5798 ("ghc-vector" ,ghc-vector)
5799 ("ghc-void" ,ghc-void)))
5800 (native-inputs
5801 `(("cabal-doctest" ,cabal-doctest)
5802 ("ghc-doctest" ,ghc-doctest)
5803 ("ghc-simple-reflect" ,ghc-simple-reflect)
5804 ("ghc-test-framework" ,ghc-test-framework)
5805 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5806 ("ghc-hunit" ,ghc-hunit)))
5807 (home-page "http://github.com/ekmett/linear/")
5808 (synopsis "Linear algebra library for Haskell")
5809 (description
5810 "This package provides types and combinators for linear algebra on free
5811vector spaces.")
5812 (license license:bsd-3)))
1307e4c7
JS
5813
5814(define-public ghc-listlike
5815 (package
5816 (name "ghc-listlike")
5817 (version "4.6.2")
5818 (source
5819 (origin
5820 (method url-fetch)
5821 (uri
5822 (string-append
5823 "https://hackage.haskell.org/package/ListLike/ListLike-"
5824 version ".tar.gz"))
5825 (sha256
5826 (base32
5827 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
5828 (build-system haskell-build-system)
5829 (inputs
5830 `(("ghc-vector" ,ghc-vector)
5831 ("ghc-dlist" ,ghc-dlist)
5832 ("ghc-fmlist" ,ghc-fmlist)
5833 ("ghc-hunit" ,ghc-hunit)
5834 ("ghc-quickcheck" ,ghc-quickcheck)
5835 ("ghc-random" ,ghc-random)
5836 ("ghc-utf8-string" ,ghc-utf8-string)))
5837 (home-page "https://github.com/JohnLato/listlike")
5838 (synopsis "Generic support for list-like structures")
5839 (description "The ListLike module provides a common interface to the
5840various Haskell types that are list-like. Predefined interfaces include
5841standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
5842Custom types can easily be made ListLike instances as well.
5843
5844ListLike also provides for String-like types, such as String and
5845ByteString, for types that support input and output, and for types that
5846can handle infinite lists.")
5847 (license license:bsd-3)))
dddbc90c
RV
5848
5849(define-public ghc-logging-facade
5850 (package
5851 (name "ghc-logging-facade")
5852 (version "0.3.0")
5853 (source (origin
5854 (method url-fetch)
5855 (uri (string-append "https://hackage.haskell.org/package/"
5856 "logging-facade/logging-facade-"
5857 version ".tar.gz"))
5858 (sha256
5859 (base32
5860 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
5861 (build-system haskell-build-system)
5862 (native-inputs
5863 `(("ghc-hspec" ,ghc-hspec)
5864 ("hspec-discover" ,hspec-discover)))
5865 (home-page "https://hackage.haskell.org/package/logging-facade")
5866 (synopsis "Simple logging abstraction that allows multiple back-ends")
5867 (description
5868 "This package provides a simple logging abstraction that allows multiple
5869back-ends.")
5870 (license license:expat)))
5871
5872(define-public ghc-logict
5873 (package
5874 (name "ghc-logict")
5875 (version "0.6.0.2")
5876 (source
5877 (origin
5878 (method url-fetch)
5879 (uri (string-append
5880 "https://hackage.haskell.org/package/logict/logict-"
5881 version
5882 ".tar.gz"))
5883 (sha256
5884 (base32
5885 "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi"))))
5886 (build-system haskell-build-system)
5887 (home-page "http://code.haskell.org/~dolio/")
5888 (synopsis "Backtracking logic-programming monad")
5889 (description "This library provides a continuation-based, backtracking,
5890logic programming monad. An adaptation of the two-continuation implementation
5891found in the paper \"Backtracking, Interleaving, and Terminating Monad
5892Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
5893online}.")
5894 (license license:bsd-3)))
5895
5896(define-public ghc-lzma
5897 (package
5898 (name "ghc-lzma")
5899 (version "0.0.0.3")
5900 (source
5901 (origin
5902 (method url-fetch)
5903 (uri (string-append "https://hackage.haskell.org/package/lzma/"
5904 "lzma-" version ".tar.gz"))
5905 (sha256
5906 (base32
5907 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
5908 (build-system haskell-build-system)
5909 (arguments
5910 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
5911 #:cabal-revision
5912 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
5913 (native-inputs
5914 `(("ghc-hunit" ,ghc-hunit)
5915 ("ghc-quickcheck" ,ghc-quickcheck)
5916 ("ghc-tasty" ,ghc-tasty)
5917 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5918 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
5919 (home-page "https://github.com/hvr/lzma")
5920 (synopsis "LZMA/XZ compression and decompression")
5921 (description
5922 "This package provides a pure interface for compressing and
5923decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
5924monadic incremental interface is provided as well.")
5925 (license license:bsd-3)))
5926
5927(define-public ghc-lzma-conduit
5928 (package
5929 (name "ghc-lzma-conduit")
5930 (version "1.2.1")
5931 (source
5932 (origin
5933 (method url-fetch)
5934 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
5935 "lzma-conduit-" version ".tar.gz"))
5936 (sha256
5937 (base32
5938 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
5939 (build-system haskell-build-system)
5940 (inputs
5941 `(("ghc-conduit" ,ghc-conduit)
5942 ("ghc-lzma" ,ghc-lzma)
5943 ("ghc-resourcet" ,ghc-resourcet)))
5944 (native-inputs
5945 `(("ghc-base-compat" ,ghc-base-compat)
5946 ("ghc-test-framework" ,ghc-test-framework)
5947 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5948 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5949 ("ghc-hunit" ,ghc-hunit)
5950 ("ghc-quickcheck" ,ghc-quickcheck)))
5951 (home-page "https://github.com/alphaHeavy/lzma-conduit")
5952 (synopsis "Conduit interface for lzma/xz compression")
5953 (description
5954 "This package provides a @code{Conduit} interface for the LZMA
5955compression algorithm used in the @code{.xz} file format.")
5956 (license license:bsd-3)))
5957
e405912c
KM
5958(define-public ghc-magic
5959 (package
5960 (name "ghc-magic")
5961 (version "1.1")
5962 (source
5963 (origin
5964 (method url-fetch)
5965 (uri (string-append
5966 "https://hackage.haskell.org/package/magic/magic-"
5967 version ".tar.gz"))
5968 (sha256
5969 (base32
5970 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
5971 (build-system haskell-build-system)
5972 (home-page "http://hackage.haskell.org/package/magic")
5973 (synopsis "Interface to C file/magic library")
5974 (description
5975 "This package provides a full-featured binding to the C libmagic library.
5976With it, you can determine the type of a file by examining its contents rather
5977than its name.")
5978 (license license:bsd-3)))
5979
dddbc90c
RV
5980(define-public ghc-markdown-unlit
5981 (package
5982 (name "ghc-markdown-unlit")
5983 (version "0.5.0")
5984 (source (origin
5985 (method url-fetch)
5986 (uri (string-append
5987 "mirror://hackage/package/markdown-unlit/"
5988 "markdown-unlit-" version ".tar.gz"))
5989 (sha256
5990 (base32
5991 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
5992 (build-system haskell-build-system)
5993 (inputs
5994 `(("ghc-base-compat" ,ghc-base-compat)
5995 ("ghc-hspec" ,ghc-hspec)
5996 ("ghc-quickcheck" ,ghc-quickcheck)
5997 ("ghc-silently" ,ghc-silently)
5998 ("ghc-stringbuilder" ,ghc-stringbuilder)
5999 ("ghc-temporary" ,ghc-temporary)
6000 ("hspec-discover" ,hspec-discover)))
6001 (home-page "https://github.com/sol/markdown-unlit#readme")
6002 (synopsis "Literate Haskell support for Markdown")
6003 (description "This package allows you to have a README.md that at the
6004same time is a literate Haskell program.")
6005 (license license:expat)))
6006
6007(define-public ghc-math-functions
6008 (package
6009 (name "ghc-math-functions")
6010 (version "0.2.1.0")
6011 (source
6012 (origin
6013 (method url-fetch)
6014 (uri (string-append "https://hackage.haskell.org/package/"
6015 "math-functions-" version "/"
6016 "math-functions-" version ".tar.gz"))
6017 (sha256
6018 (base32
6019 "1sv5vabsx332v1lpb6v3jv4zrzvpx1n7yprzd8wlcda5vsc5a6zp"))))
6020 (build-system haskell-build-system)
6021 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6022 (inputs
6023 `(("ghc-vector" ,ghc-vector)
6024 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6025 (native-inputs
6026 `(("ghc-hunit" ,ghc-hunit)
6027 ("ghc-quickcheck" ,ghc-quickcheck)
6028 ("ghc-erf" ,ghc-erf)
6029 ("ghc-test-framework" ,ghc-test-framework)
6030 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6031 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6032 (home-page "https://github.com/bos/math-functions")
6033 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6034 (description "This Haskell library provides implementations of
6035special mathematical functions and Chebyshev polynomials. These
6036functions are often useful in statistical and numerical computing.")
6037 (license license:bsd-3)))
6038
6039(define-public ghc-megaparsec
6040 (package
6041 (name "ghc-megaparsec")
6042 (version "6.5.0")
6043 (source
6044 (origin
6045 (method url-fetch)
6046 (uri (string-append "https://hackage.haskell.org/package/"
6047 "megaparsec/megaparsec-"
6048 version ".tar.gz"))
6049 (sha256
6050 (base32
6051 "12iggy7qpf8x93jm64zf0g215xwy779bqyfyjk2bhmxqqr1yzgdy"))))
6052 (build-system haskell-build-system)
6053 (arguments
6054 `(#:cabal-revision
6055 ("4" "0ij3asi5vwlhbgwsy6nhli9a0qb7926mg809fsgyl1rnhs9fvpx1")))
6056 (inputs
6057 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6058 ("ghc-parser-combinators" ,ghc-parser-combinators)
6059 ("ghc-scientific" ,ghc-scientific)))
6060 (native-inputs
6061 `(("ghc-quickcheck" ,ghc-quickcheck)
6062 ("ghc-hspec" ,ghc-hspec)
6063 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6064 ("hspec-discover" ,hspec-discover)))
6065 (home-page "https://github.com/mrkkrp/megaparsec")
6066 (synopsis "Monadic parser combinators")
6067 (description
6068 "This is an industrial-strength monadic parser combinator library.
6069Megaparsec is a feature-rich package that strikes a nice balance between
6070speed, flexibility, and quality of parse errors.")
6071 (license license:bsd-2)))
6072
6073(define-public ghc-memory
6074 (package
6075 (name "ghc-memory")
6076 (version "0.14.16")
6077 (source (origin
6078 (method url-fetch)
6079 (uri (string-append "https://hackage.haskell.org/package/"
6080 "memory/memory-" version ".tar.gz"))
6081 (sha256
6082 (base32
6083 "03rbszi5d4z9rlbfv8ydrl1xf84xsh8z57g07f7j9qccn9587c3v"))))
6084 (build-system haskell-build-system)
6085 (inputs
6086 `(("ghc-basement" ,ghc-basement)
6087 ("ghc-foundation" ,ghc-foundation)))
6088 (native-inputs
6089 `(("ghc-tasty" ,ghc-tasty)
6090 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6091 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6092 (home-page "https://github.com/vincenthz/hs-memory")
6093 (synopsis "Memory abstractions for Haskell")
6094 (description
6095 "This package provides memory abstractions, such as chunk of memory,
6096polymorphic byte array management and manipulation functions. It contains a
6097polymorphic byte array abstraction and functions similar to strict ByteString,
6098different type of byte array abstraction, raw memory IO operations (memory
6099set, memory copy, ..) and more")
6100 (license license:bsd-3)))
6101
6102(define-public ghc-memotrie
6103 (package
6104 (name "ghc-memotrie")
6105 (version "0.6.9")
6106 (source
6107 (origin
6108 (method url-fetch)
6109 (uri (string-append
6110 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6111 version
6112 ".tar.gz"))
6113 (sha256
6114 (base32
6115 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6116 (build-system haskell-build-system)
6117 (inputs
6118 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6119 (home-page "https://github.com/conal/MemoTrie")
6120 (synopsis "Trie-based memo functions")
6121 (description "This package provides a functional library for creating
6122efficient memo functions using tries.")
6123 (license license:bsd-3)))
6124
6125(define-public ghc-microlens
6126 (package
6127 (name "ghc-microlens")
6128 (version "0.4.9.1")
6129 (source
6130 (origin
6131 (method url-fetch)
6132 (uri (string-append "https://hackage.haskell.org/package/"
6133 "microlens-" version "/"
6134 "microlens-" version ".tar.gz"))
6135 (sha256
6136 (base32
6137 "0j2nzf0vpx2anvsrg2w0vy2z4jn3kkcs2n6glkzblhn1j9piqh51"))))
6138 (build-system haskell-build-system)
6139 (home-page
6140 "https://github.com/aelve/microlens")
6141 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6142 (description "This Haskell package provides a lens library, just like
6143@code{ghc-lens}, but smaller. It provides essential lenses and
6144traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6145nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6146combinators (like @code{failing} and @code{singular}), but everything else is
6147stripped. As the result, this package has no dependencies.")
6148 (license license:bsd-3)))
6149
6150(define-public ghc-microlens-ghc
6151 (package
6152 (name "ghc-microlens-ghc")
6153 (version "0.4.9.1")
6154 (source
6155 (origin
6156 (method url-fetch)
6157 (uri (string-append
6158 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6159 version
6160 ".tar.gz"))
6161 (sha256
6162 (base32
6163 "03iwgg8zww9irv59l70c8yy7vzxir1zf66y12210xk91k5hq6jrj"))))
6164 (build-system haskell-build-system)
6165 (inputs `(("ghc-microlens" ,ghc-microlens)))
6166 (home-page "https://github.com/monadfix/microlens")
6167 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6168 (description "This library provides everything that @code{microlens}
6169provides plus instances to make @code{each}, @code{at}, and @code{ix}
6170usable with arrays, @code{ByteString}, and containers. This package is
6171a part of the @uref{http://hackage.haskell.org/package/microlens,
6172microlens} family; see the readme
6173@uref{https://github.com/aelve/microlens#readme, on Github}.")
6174 (license license:bsd-3)))
6175
6176(define-public ghc-microlens-mtl
6177 (package
6178 (name "ghc-microlens-mtl")
6179 (version "0.1.11.1")
6180 (source
6181 (origin
6182 (method url-fetch)
6183 (uri (string-append
6184 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6185 version
6186 ".tar.gz"))
6187 (sha256
6188 (base32
6189 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6190 (build-system haskell-build-system)
6191 (inputs
6192 `(("ghc-microlens" ,ghc-microlens)
6193 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6194 (home-page "https://github.com/monadfix/microlens")
6195 (synopsis
6196 "@code{microlens} support for Reader/Writer/State from mtl")
6197 (description
6198 "This package contains functions (like @code{view} or @code{+=}) which
6199work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6200mtl package. This package is a part of the
6201@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6202readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6203 (license license:bsd-3)))
6204
6205(define-public ghc-microlens-platform
6206 (package
6207 (name "ghc-microlens-platform")
6208 (version "0.3.10")
6209 (source
6210 (origin
6211 (method url-fetch)
6212 (uri (string-append
6213 "https://hackage.haskell.org/package/"
6214 "microlens-platform/microlens-platform-" version ".tar.gz"))
6215 (sha256
6216 (base32
6217 "1d4nhmgf9jq0ixc7qhwm7aaw3xdr0nalw58d0ydsydgf02cyazwv"))))
6218 (build-system haskell-build-system)
6219 (inputs
6220 `(("ghc-hashable" ,ghc-hashable)
6221 ("ghc-microlens" ,ghc-microlens)
6222 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6223 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6224 ("ghc-microlens-th" ,ghc-microlens-th)
6225 ("ghc-unordered-containers" ,ghc-unordered-containers)
6226 ("ghc-vector" ,ghc-vector)))
6227 (home-page "https://github.com/monadfix/microlens")
6228 (synopsis "Feature-complete microlens")
6229 (description
6230 "This package exports a module which is the recommended starting point
6231for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6232you aren't trying to keep your dependencies minimal. By importing
6233@code{Lens.Micro.Platform} you get all functions and instances from
6234@uref{http://hackage.haskell.org/package/microlens, microlens},
6235@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6236@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6237@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6238well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6239minor and major versions of @code{microlens-platform} are incremented whenever
6240the minor and major versions of any other @code{microlens} package are
6241incremented, so you can depend on the exact version of
6242@code{microlens-platform} without specifying the version of @code{microlens}
6243you need. This package is a part of the
6244@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6245readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6246 (license license:bsd-3)))
6247
6248(define-public ghc-microlens-th
6249 (package
6250 (name "ghc-microlens-th")
6251 (version "0.4.2.2")
6252 (source
6253 (origin
6254 (method url-fetch)
6255 (uri (string-append "https://hackage.haskell.org/package/"
6256 "microlens-th-" version "/"
6257 "microlens-th-" version ".tar.gz"))
6258 (sha256
6259 (base32
6260 "02nj7lnl61yffi3c6wn341arxhld5r0vj6nzcb5zmqjhnqsv8c05"))))
6261 (build-system haskell-build-system)
6262 (inputs `(("ghc-microlens" ,ghc-microlens)
6263 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6264 (home-page
6265 "https://github.com/aelve/microlens")
6266 (synopsis "Automatic generation of record lenses for
6267@code{ghc-microlens}")
6268 (description "This Haskell package lets you automatically generate lenses
6269for data types; code was extracted from the lens package, and therefore
6270generated lenses are fully compatible with ones generated by lens (and can be
6271used both from lens and microlens).")
6272 (license license:bsd-3)))
6273
6274(define-public ghc-missingh
6275 (package
6276 (name "ghc-missingh")
6277 (version "1.4.0.1")
6278 (source
6279 (origin
6280 (method url-fetch)
6281 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6282 "MissingH-" version ".tar.gz"))
6283 (sha256
6284 (base32
6285 "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"))))
6286 (build-system haskell-build-system)
6287 ;; Tests require the unmaintained testpack package, which depends on the
6288 ;; outdated QuickCheck version 2.7, which can no longer be built with
6289 ;; recent versions of GHC and Haskell libraries.
6290 (arguments '(#:tests? #f))
6291 (inputs
6292 `(("ghc-network" ,ghc-network)
6293 ("ghc-hunit" ,ghc-hunit)
6294 ("ghc-regex-compat" ,ghc-regex-compat)
6295 ("ghc-hslogger" ,ghc-hslogger)
6296 ("ghc-random" ,ghc-random)
6297 ("ghc-old-time" ,ghc-old-time)
6298 ("ghc-old-locale" ,ghc-old-locale)))
6299 (native-inputs
6300 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6301 ("ghc-quickcheck" ,ghc-quickcheck)
6302 ("ghc-hunit" ,ghc-hunit)))
6303 (home-page "http://software.complete.org/missingh")
6304 (synopsis "Large utility library")
6305 (description
6306 "MissingH is a library of all sorts of utility functions for Haskell
6307programmers. It is written in pure Haskell and thus should be extremely
6308portable and easy to use.")
6309 (license license:bsd-3)))
6310
6311(define-public ghc-mmap
6312 (package
6313 (name "ghc-mmap")
6314 (version "0.5.9")
6315 (source (origin
6316 (method url-fetch)
6317 (uri (string-append "https://hackage.haskell.org/package/"
6318 "mmap/mmap-" version ".tar.gz"))
6319 (sha256
6320 (base32
6321 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6322 (build-system haskell-build-system)
6323 (home-page "https://hackage.haskell.org/package/mmap")
6324 (synopsis "Memory mapped files for Haskell")
6325 (description
6326 "This library provides a wrapper to @code{mmap}, allowing files or
6327devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6328@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6329do on-demand loading.")
6330 (license license:bsd-3)))
6331
6332(define-public ghc-mmorph
6333 (package
6334 (name "ghc-mmorph")
6335 (version "1.1.2")
6336 (source
6337 (origin
6338 (method url-fetch)
6339 (uri (string-append
6340 "https://hackage.haskell.org/package/mmorph/mmorph-"
6341 version
6342 ".tar.gz"))
6343 (sha256
6344 (base32
6345 "1gjz1ib968lqybma7my1n19qq6cdj6a7nskrlnwy4jy9jrwzs2n9"))))
6346 (build-system haskell-build-system)
6347 (inputs
6348 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6349 (home-page "https://hackage.haskell.org/package/mmorph")
6350 (synopsis "Monad morphisms")
6351 (description
6352 "This library provides monad morphism utilities, most commonly used for
6353manipulating monad transformer stacks.")
6354 (license license:bsd-3)))
6355
6356(define-public ghc-mockery
6357 (package
6358 (name "ghc-mockery")
6359 (version "0.3.5")
6360 (source (origin
6361 (method url-fetch)
6362 (uri (string-append "https://hackage.haskell.org/package/"
6363 "mockery/mockery-" version ".tar.gz"))
6364 (sha256
6365 (base32
6366 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6367 (build-system haskell-build-system)
6368 (inputs
6369 `(("ghc-temporary" ,ghc-temporary)
6370 ("ghc-logging-facade" ,ghc-logging-facade)
6371 ("ghc-base-compat" ,ghc-base-compat)))
6372 (native-inputs
6373 `(("ghc-hspec" ,ghc-hspec)
6374 ("hspec-discover" ,hspec-discover)))
6375 (home-page "https://hackage.haskell.org/package/mockery")
6376 (synopsis "Support functions for automated testing")
6377 (description
6378 "The mockery package provides support functions for automated testing.")
6379 (license license:expat)))
6380
6381(define-public ghc-monad-control
6382 (package
6383 (name "ghc-monad-control")
6384 (version "1.0.2.3")
6385 (source
6386 (origin
6387 (method url-fetch)
6388 (uri (string-append
6389 "https://hackage.haskell.org/package/monad-control"
6390 "/monad-control-" version ".tar.gz"))
6391 (sha256
6392 (base32
6393 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6394 (build-system haskell-build-system)
6395 (inputs
6396 `(("ghc-transformers-base" ,ghc-transformers-base)
6397 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6398 (home-page "https://github.com/basvandijk/monad-control")
6399 (synopsis "Monad transformers to lift control operations like exception
6400catching")
6401 (description "This package defines the type class @code{MonadBaseControl},
6402a subset of @code{MonadBase} into which generic control operations such as
6403@code{catch} can be lifted from @code{IO} or any other base monad.")
6404 (license license:bsd-3)))
6405
6406(define-public ghc-monad-logger
6407 (package
6408 (name "ghc-monad-logger")
6409 (version "0.3.29")
6410 (source
6411 (origin
6412 (method url-fetch)
6413 (uri (string-append "https://hackage.haskell.org/package/"
6414 "monad-logger-" version "/"
6415 "monad-logger-" version ".tar.gz"))
6416 (sha256
6417 (base32
6418 "1z516s4pa9n94zf0l45mylssg07xr1d1m6zrz900p0iv3vfd07mv"))))
6419 (build-system haskell-build-system)
6420 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6421 ("ghc-stm-chans" ,ghc-stm-chans)
6422 ("ghc-lifted-base" ,ghc-lifted-base)
6423 ("ghc-resourcet" ,ghc-resourcet)
6424 ("ghc-conduit" ,ghc-conduit)
6425 ("ghc-conduit-extra" ,ghc-conduit-extra)
6426 ("ghc-fast-logger" ,ghc-fast-logger)
6427 ("ghc-transformers-base" ,ghc-transformers-base)
6428 ("ghc-monad-control" ,ghc-monad-control)
6429 ("ghc-monad-loops" ,ghc-monad-loops)
6430 ("ghc-blaze-builder" ,ghc-blaze-builder)
6431 ("ghc-exceptions" ,ghc-exceptions)))
6432 (home-page "https://github.com/kazu-yamamoto/logger")
6433 (synopsis "Provides a class of monads which can log messages for Haskell")
6434 (description "This Haskell package uses a monad transformer approach
6435for logging.
6436
6437This package provides Template Haskell functions for determining source
6438code locations of messages.")
6439 (license license:expat)))
6440
6441(define-public ghc-monad-loops
6442 (package
6443 (name "ghc-monad-loops")
6444 (version "0.4.3")
6445 (source
6446 (origin
6447 (method url-fetch)
6448 (uri (string-append "https://hackage.haskell.org/package/"
6449 "monad-loops-" version "/"
6450 "monad-loops-" version ".tar.gz"))
6451 (sha256
6452 (base32
6453 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6454 (build-system haskell-build-system)
6455 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6456 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6457 (home-page "https://github.com/mokus0/monad-loops")
6458 (synopsis "Monadic loops for Haskell")
6459 (description "This Haskell package provides some useful control
6460operators for looping.")
6461 (license license:public-domain)))
6462
6463(define-public ghc-monad-par
6464 (package
6465 (name "ghc-monad-par")
6466 (version "0.3.4.8")
6467 (source
6468 (origin
6469 (method url-fetch)
6470 (uri (string-append "https://hackage.haskell.org/package/"
6471 "monad-par-" version "/"
6472 "monad-par-" version ".tar.gz"))
6473 (sha256
6474 (base32
6475 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6476 (build-system haskell-build-system)
6477 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6478 ("ghc-abstract-deque" ,ghc-abstract-deque)
6479 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6480 ("ghc-mwc-random" ,ghc-mwc-random)
6481 ("ghc-parallel" ,ghc-parallel)))
6482 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6483 ("ghc-hunit" ,ghc-hunit)
6484 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6485 ("ghc-test-framework-quickcheck2"
6486 ,ghc-test-framework-quickcheck2)
6487 ("ghc-test-framework" ,ghc-test-framework)
6488 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6489 (home-page "https://github.com/simonmar/monad-par")
6490 (synopsis "Haskell library for parallel programming based on a monad")
6491 (description "The @code{Par} monad offers an API for parallel
6492programming. The library works for parallelising both pure and @code{IO}
6493computations, although only the pure version is deterministic. The default
6494implementation provides a work-stealing scheduler and supports forking tasks
6495that are much lighter weight than IO-threads.")
6496 (license license:bsd-3)))
6497
6498(define-public ghc-monad-par-extras
6499 (package
6500 (name "ghc-monad-par-extras")
6501 (version "0.3.3")
6502 (source
6503 (origin
6504 (method url-fetch)
6505 (uri (string-append "https://hackage.haskell.org/package/"
6506 "monad-par-extras-" version "/"
6507 "monad-par-extras-" version ".tar.gz"))
6508 (sha256
6509 (base32
6510 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6511 (build-system haskell-build-system)
6512 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6513 ("ghc-cereal" ,ghc-cereal)
6514 ("ghc-random" ,ghc-random)))
6515 (home-page "https://github.com/simonmar/monad-par")
6516 (synopsis "Combinators and extra features for Par monads for Haskell")
6517 (description "This Haskell package provides additional data structures,
6518and other added capabilities layered on top of the @code{Par} monad.")
6519 (license license:bsd-3)))
6520
6521(define-public ghc-monadplus
6522 (package
6523 (name "ghc-monadplus")
6524 (version "1.4.2")
6525 (source
6526 (origin
6527 (method url-fetch)
6528 (uri (string-append "https://hackage.haskell.org/package/monadplus"
6529 "/monadplus-" version ".tar.gz"))
6530 (sha256
6531 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
6532 (build-system haskell-build-system)
6533 (home-page "https://hackage.haskell.org/package/monadplus")
6534 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
6535 (description
6536 "This package generalizes many common stream operations such as
6537@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
6538arbitrary @code{MonadPlus} instances.")
6539 (license license:bsd-3)))
6540
6541(define-public ghc-monadrandom
6542 (package
6543 (name "ghc-monadrandom")
6544 (version "0.5.1.1")
6545 (source
6546 (origin
6547 (method url-fetch)
6548 (uri (string-append "https://hackage.haskell.org/package/"
6549 "MonadRandom-" version "/"
6550 "MonadRandom-" version ".tar.gz"))
6551 (sha256
6552 (base32
6553 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
6554 (build-system haskell-build-system)
6555 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6556 ("ghc-primitive" ,ghc-primitive)
6557 ("ghc-fail" ,ghc-fail)
6558 ("ghc-random" ,ghc-random)))
6559 (home-page "https://github.com/byorgey/MonadRandom")
6560 (synopsis "Random-number generation monad for Haskell")
6561 (description "This Haskell package provides support for computations
6562which consume random values.")
6563 (license license:bsd-3)))
6564
6565(define-public ghc-monads-tf
6566 (package
6567 (name "ghc-monads-tf")
6568 (version "0.1.0.3")
6569 (source
6570 (origin
6571 (method url-fetch)
6572 (uri (string-append
6573 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
6574 version ".tar.gz"))
6575 (sha256
6576 (base32
6577 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
6578 (build-system haskell-build-system)
6579 (home-page "https://hackage.haskell.org/package/monads-tf")
6580 (synopsis "Monad classes, using type families")
6581 (description
6582 "Monad classes using type families, with instances for various monad transformers,
6583inspired by the paper 'Functional Programming with Overloading and Higher-Order
6584Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
6585the @code{mtl-tf} package.")
6586 (license license:bsd-3)))
6587
6588(define-public ghc-mono-traversable
6589 (package
6590 (name "ghc-mono-traversable")
6591 (version "1.0.9.0")
6592 (source
6593 (origin
6594 (method url-fetch)
6595 (uri (string-append "https://hackage.haskell.org/package/"
6596 "mono-traversable-" version "/"
6597 "mono-traversable-" version ".tar.gz"))
6598 (sha256
6599 (base32
6600 "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
6601 (build-system haskell-build-system)
6602 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
6603 ("ghc-hashable" ,ghc-hashable)
6604 ("ghc-vector" ,ghc-vector)
6605 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
6606 ("ghc-split" ,ghc-split)))
6607 (native-inputs `(("ghc-hspec" ,ghc-hspec)
6608 ("ghc-hunit" ,ghc-hunit)
6609 ("ghc-quickcheck" ,ghc-quickcheck)
6610 ("ghc-semigroups" ,ghc-semigroups)
6611 ("ghc-foldl" ,ghc-foldl)))
6612 (home-page "https://github.com/snoyberg/mono-traversable")
6613 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
6614containers")
6615 (description "This Haskell package provides Monomorphic variants of the
6616Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
6617basic typeclasses, you understand mono-traversable. In addition to what
6618you are used to, it adds on an IsSequence typeclass and has code for marking
6619data structures as non-empty.")
6620 (license license:expat)))
6621
6622(define-public ghc-murmur-hash
6623 (package
6624 (name "ghc-murmur-hash")
6625 (version "0.1.0.9")
6626 (source
6627 (origin
6628 (method url-fetch)
6629 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
6630 "/murmur-hash-" version ".tar.gz"))
6631 (sha256
6632 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
6633 (build-system haskell-build-system)
6634 (home-page "https://github.com/nominolo/murmur-hash")
6635 (synopsis "MurmurHash2 implementation for Haskell")
6636 (description
6637 "This package provides an implementation of MurmurHash2, a good, fast,
6638general-purpose, non-cryptographic hashing function. See
6639@url{https://sites.google.com/site/murmurhash/} for details. This
6640implementation is pure Haskell, so it might be a bit slower than a C FFI
6641binding.")
6642 (license license:bsd-3)))
6643
6644(define-public ghc-mwc-random
6645 (package
6646 (name "ghc-mwc-random")
6647 (version "0.13.6.0")
6648 (source
6649 (origin
6650 (method url-fetch)
6651 (uri (string-append "https://hackage.haskell.org/package/"
6652 "mwc-random-" version "/"
6653 "mwc-random-" version ".tar.gz"))
6654 (sha256
6655 (base32
6656 "05j7yh0hh9nxic3dijmzv44kc6gzclvamdph7sq7w19wq57k6pq6"))))
6657 (build-system haskell-build-system)
6658 (inputs
6659 `(("ghc-primitive" ,ghc-primitive)
6660 ("ghc-vector" ,ghc-vector)
6661 ("ghc-math-functions" ,ghc-math-functions)))
6662 (arguments
6663 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
6664 (native-inputs
6665 `(("ghc-hunit" ,ghc-hunit)
6666 ("ghc-quickcheck" ,ghc-quickcheck)
6667 ("ghc-test-framework" ,ghc-test-framework)
6668 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6669 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6670 (home-page "https://github.com/bos/mwc-random")
6671 (synopsis "Random number generation library for Haskell")
6672 (description "This Haskell package contains code for generating
6673high quality random numbers that follow either a uniform or normal
6674distribution. The generated numbers are suitable for use in
6675statistical applications.
6676
6677The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
6678multiply-with-carry generator, which has a period of 2^{8222} and
6679fares well in tests of randomness. It is also extremely fast,
6680between 2 and 3 times faster than the Mersenne Twister.")
6681 (license license:bsd-3)))
6682
6683(define-public ghc-nats
6684 (package
6685 (name "ghc-nats")
6686 (version "1.1.2")
6687 (source
6688 (origin
6689 (method url-fetch)
6690 (uri (string-append
6691 "https://hackage.haskell.org/package/nats/nats-"
6692 version
6693 ".tar.gz"))
6694 (sha256
6695 (base32
6696 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
6697 (build-system haskell-build-system)
6698 (arguments `(#:haddock? #f))
6699 (inputs
6700 `(("ghc-hashable" ,ghc-hashable)))
6701 (home-page "https://hackage.haskell.org/package/nats")
6702 (synopsis "Natural numbers")
6703 (description "This library provides the natural numbers for Haskell.")
6704 (license license:bsd-3)))
6705
6706(define-public ghc-nats-bootstrap
6707 (package
6708 (inherit ghc-nats)
6709 (name "ghc-nats-bootstrap")
6710 (inputs
6711 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
6712 (properties '((hidden? #t)))))
6713
6714(define-public ghc-network
6715 (package
6716 (name "ghc-network")
6717 (version "2.6.3.6")
6718 (outputs '("out" "doc"))
6719 (source
6720 (origin
6721 (method url-fetch)
6722 (uri (string-append
6723 "https://hackage.haskell.org/package/network/network-"
6724 version
6725 ".tar.gz"))
6726 (sha256
6727 (base32
6728 "198mam7ahny48p9fajznbqq16a8ya2gw0xm3gnm1si1rmc4hdplv"))))
6729 (build-system haskell-build-system)
6730 ;; The regression tests depend on an unpublished module.
6731 (arguments `(#:tests? #f))
6732 (native-inputs
6733 `(("ghc-hunit" ,ghc-hunit)
6734 ("ghc-doctest" ,ghc-doctest)
6735 ("ghc-test-framework" ,ghc-test-framework)
6736 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6737 (home-page "https://github.com/haskell/network")
6738 (synopsis "Low-level networking interface")
6739 (description
6740 "This package provides a low-level networking interface.")
6741 (license license:bsd-3)))
6742
6743(define-public ghc-network-info
6744 (package
6745 (name "ghc-network-info")
6746 (version "0.2.0.10")
6747 (source
6748 (origin
6749 (method url-fetch)
6750 (uri (string-append "https://hackage.haskell.org/package/"
6751 "network-info-" version "/"
6752 "network-info-" version ".tar.gz"))
6753 (sha256
6754 (base32
6755 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
6756 (build-system haskell-build-system)
6757 (home-page "https://github.com/jystic/network-info")
6758 (synopsis "Access the local computer's basic network configuration")
6759 (description "This Haskell library provides simple read-only access to the
6760local computer's networking configuration. It is currently capable of
6761getting a list of all the network interfaces and their respective
6762IPv4, IPv6 and MAC addresses.")
6763 (license license:bsd-3)))
6764
6765(define-public ghc-network-uri
6766 (package
6767 (name "ghc-network-uri")
6768 (version "2.6.1.0")
6769 (outputs '("out" "doc"))
6770 (source
6771 (origin
6772 (method url-fetch)
6773 (uri (string-append
6774 "https://hackage.haskell.org/package/network-uri/network-uri-"
6775 version
6776 ".tar.gz"))
6777 (sha256
6778 (base32
6779 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
6780 (build-system haskell-build-system)
6781 (arguments
6782 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
6783 (inputs
6784 `(("ghc-network" ,ghc-network)))
6785 (native-inputs
6786 `(("ghc-hunit" ,ghc-hunit)))
6787 (home-page
6788 "https://github.com/haskell/network-uri")
6789 (synopsis "Library for URI manipulation")
6790 (description "This package provides an URI manipulation interface. In
6791@code{network-2.6} the @code{Network.URI} module was split off from the
6792@code{network} package into this package.")
6793 (license license:bsd-3)))
6794
6795(define-public ghc-newtype-generics
6796 (package
6797 (name "ghc-newtype-generics")
6798 (version "0.5.3")
6799 (source
6800 (origin
6801 (method url-fetch)
6802 (uri (string-append "https://hackage.haskell.org/package/"
6803 "newtype-generics/newtype-generics-"
6804 version ".tar.gz"))
6805 (sha256
6806 (base32
6807 "0igyisw2djg19v9vkna1rwf47k97mvkvk4bbkmswznvbm00z15gj"))))
6808 (build-system haskell-build-system)
6809 (native-inputs
6810 `(("ghc-hspec" ,ghc-hspec)
6811 ("hspec-discover" ,hspec-discover)))
6812 (home-page "http://github.com/sjakobi/newtype-generics")
6813 (synopsis "Typeclass and set of functions for working with newtypes")
6814 (description "The @code{Newtype} typeclass represents the packing and
6815unpacking of a newtype, and allows you to operate under that newtype with
6816functions such as @code{ala}. Generics support was added in version 0.4,
6817making this package a full replacement for the original newtype package,
6818and an alternative to newtype-th.")
6819 (license license:bsd-3)))
6820
6b652f5a
JS
6821(define-public ghc-non-negative
6822 (package
6823 (name "ghc-non-negative")
6824 (version "0.1.2")
6825 (source
6826 (origin
6827 (method url-fetch)
6828 (uri
6829 (string-append
6830 "https://hackage.haskell.org/package/non-negative/non-negative-"
6831 version ".tar.gz"))
6832 (sha256
6833 (base32
6834 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
6835 (build-system haskell-build-system)
6836 (inputs
6837 `(("ghc-semigroups" ,ghc-semigroups)
6838 ("ghc-utility-ht" ,ghc-utility-ht)
6839 ("ghc-quickcheck" ,ghc-quickcheck)))
6840 (home-page "https://hackage.haskell.org/package/non-negative")
6841 (synopsis "Non-negative numbers class")
6842 (description "This library provides a class for non-negative numbers,
6843a wrapper which can turn any ordered numeric type into a member of that
6844class, and a lazy number type for non-negative numbers (a generalization
6845of Peano numbers).")
6846 (license license:gpl3+)))
6847
dddbc90c
RV
6848(define-public ghc-objectname
6849 (package
6850 (name "ghc-objectname")
6851 (version "1.1.0.1")
6852 (source
6853 (origin
6854 (method url-fetch)
6855 (uri (string-append
6856 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
6857 version
6858 ".tar.gz"))
6859 (sha256
6860 (base32
6861 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
6862 (build-system haskell-build-system)
6863 (home-page "https://hackage.haskell.org/package/ObjectName")
6864 (synopsis "Helper library for Haskell OpenGL")
6865 (description "This tiny package contains the class ObjectName, which
6866corresponds to the general notion of explicitly handled identifiers for API
6867objects, e.g. a texture object name in OpenGL or a buffer object name in
6868OpenAL.")
6869 (license license:bsd-3)))
6870
6871(define-public ghc-old-locale
6872 (package
6873 (name "ghc-old-locale")
6874 (version "1.0.0.7")
6875 (source
6876 (origin
6877 (method url-fetch)
6878 (uri (string-append
6879 "https://hackage.haskell.org/package/old-locale/old-locale-"
6880 version
6881 ".tar.gz"))
6882 (sha256
6883 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
6884 (build-system haskell-build-system)
6885 (arguments
6886 `(#:cabal-revision
6887 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
6888 (home-page "https://hackage.haskell.org/package/old-locale")
6889 (synopsis "Adapt to locale conventions")
6890 (description
6891 "This package provides the ability to adapt to locale conventions such as
6892date and time formats.")
6893 (license license:bsd-3)))
6894
6895(define-public ghc-old-time
6896 (package
6897 (name "ghc-old-time")
6898 (version "1.1.0.3")
6899 (source
6900 (origin
6901 (method url-fetch)
6902 (uri (string-append
6903 "https://hackage.haskell.org/package/old-time/old-time-"
6904 version
6905 ".tar.gz"))
6906 (sha256
6907 (base32
6908 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
6909 (build-system haskell-build-system)
6910 (arguments
6911 `(#:cabal-revision
6912 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
6913 (inputs
6914 `(("ghc-old-locale" ,ghc-old-locale)))
6915 (home-page "https://hackage.haskell.org/package/old-time")
6916 (synopsis "Time compatibility library for Haskell")
6917 (description "Old-time is a package for backwards compatibility with the
6918old @code{time} library. For new projects, the newer
6919@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
6920 (license license:bsd-3)))
6921
6922(define-public ghc-opengl
6923 (package
6924 (name "ghc-opengl")
6925 (version "3.0.2.2")
6926 (source
6927 (origin
6928 (method url-fetch)
6929 (uri (string-append
6930 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
6931 version
6932 ".tar.gz"))
6933 (sha256
6934 (base32
6935 "19vxwvx2n8zq2klj176l25n2b64ybp0b8mhm4p46gvpcivz41fjc"))))
6936 (build-system haskell-build-system)
6937 (inputs
6938 `(("ghc-objectname" ,ghc-objectname)
6939 ("ghc-gluraw" ,ghc-gluraw)
6940 ("ghc-statevar" ,ghc-statevar)
6941 ("ghc-openglraw" ,ghc-openglraw)))
6942 (home-page "https://www.haskell.org/haskellwiki/Opengl")
6943 (synopsis "Haskell bindings for the OpenGL graphics system")
6944 (description "This package provides Haskell bindings for the OpenGL
6945graphics system (GL, version 4.5) and its accompanying utility library (GLU,
6946version 1.3).")
6947 (license license:bsd-3)))
6948
6949(define-public ghc-openglraw
6950 (package
6951 (name "ghc-openglraw")
6952 (version "3.3.1.0")
6953 (source
6954 (origin
6955 (method url-fetch)
6956 (uri (string-append
6957 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
6958 version
6959 ".tar.gz"))
6960 (sha256
6961 (base32
6962 "1x8w3x308jldj2c1xqcq3a3sc2jc06pdpgqkgjsmixi1skv4a1vb"))))
6963 (build-system haskell-build-system)
6964 (inputs
6965 `(("ghc-half" ,ghc-half)
6966 ("ghc-fixed" ,ghc-fixed)
6967 ("glu" ,glu)))
6968 (home-page "https://www.haskell.org/haskellwiki/Opengl")
6969 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
6970 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
6971graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
6972of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
6973offers access to all necessary functions, tokens and types plus a general
6974facility for loading extension entries. The module hierarchy closely mirrors
6975the naming structure of the OpenGL extensions, making it easy to find the
6976right module to import. All API entries are loaded dynamically, so no special
6977C header files are needed for building this package. If an API entry is not
6978found at runtime, a userError is thrown.")
6979 (license license:bsd-3)))
6980
6981(define-public ghc-operational
6982 (package
6983 (name "ghc-operational")
6984 (version "0.2.3.5")
6985 (source
6986 (origin
6987 (method url-fetch)
6988 (uri (string-append "https://hackage.haskell.org/package/operational/"
6989 "operational-" version ".tar.gz"))
6990 (sha256
6991 (base32
6992 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
6993 (build-system haskell-build-system)
6994 (inputs
6995 `(("ghc-random" ,ghc-random)))
6996 (home-page "http://wiki.haskell.org/Operational")
6997 (synopsis "Implementation of difficult monads made easy with operational semantics")
6998 (description
6999 "This library makes it easy to implement monads with tricky control
7000flow. This is useful for: writing web applications in a sequential style,
7001programming games with a uniform interface for human and AI players and easy
7002replay capababilities, implementing fast parser monads, designing monadic
7003DSLs, etc.")
7004 (license license:bsd-3)))
7005
7006(define-public ghc-options
7007 (package
7008 (name "ghc-options")
7009 (version "1.2.1.1")
7010 (source
7011 (origin
7012 (method url-fetch)
7013 (uri (string-append
7014 "https://hackage.haskell.org/package/options/options-"
7015 version ".tar.gz"))
7016 (sha256
7017 (base32
7018 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7019 (build-system haskell-build-system)
7020 (inputs
7021 `(("ghc-monads-tf" ,ghc-monads-tf)
7022 ("ghc-chell" ,ghc-chell)
7023 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7024 (home-page "https://john-millikin.com/software/haskell-options/")
7025 (synopsis "Powerful and easy-to-use command-line option parser")
7026 (description
7027 "The @code{options} package lets library and application developers
7028easily work with command-line options.")
7029 (license license:expat)))
7030
7031;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7032(define ghc-options-bootstrap
7033 (package
7034 (name "ghc-options-bootstrap")
7035 (version "1.2.1.1")
7036 (source
7037 (origin
7038 (method url-fetch)
7039 (uri (string-append
7040 "https://hackage.haskell.org/package/options/options-"
7041 version ".tar.gz"))
7042 (sha256
7043 (base32
7044 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7045 (build-system haskell-build-system)
7046 (arguments
7047 `(#:tests? #f))
7048 (inputs
7049 `(("ghc-monads-tf" ,ghc-monads-tf)))
7050 (home-page "https://john-millikin.com/software/haskell-options/")
7051 (synopsis "Powerful and easy-to-use command-line option parser")
7052 (description
7053 "The @code{options} package lets library and application developers
7054easily work with command-line options.")
7055 (license license:expat)))
7056
7057
7058(define-public ghc-optparse-applicative
7059 (package
7060 (name "ghc-optparse-applicative")
7061 (version "0.14.2.0")
7062 (source
7063 (origin
7064 (method url-fetch)
7065 (uri (string-append
7066 "https://hackage.haskell.org/package/optparse-applicative"
7067 "/optparse-applicative-" version ".tar.gz"))
7068 (sha256
7069 (base32
7070 "0c3z1mvynlyv1garjbdmdd3npm40dabgm75js4r07cf766c1wd71"))))
7071 (build-system haskell-build-system)
7072 (inputs
7073 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7074 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7075 (native-inputs
7076 `(("ghc-quickcheck" ,ghc-quickcheck)))
7077 (home-page "https://github.com/pcapriotti/optparse-applicative")
7078 (synopsis "Utilities and combinators for parsing command line options")
7079 (description "This package provides utilities and combinators for parsing
7080command line options in Haskell.")
7081 (license license:bsd-3)))
7082
7083(define-public ghc-pandoc
7084 (package
7085 (name "ghc-pandoc")
7086 (version "2.2.1")
7087 (source
7088 (origin
7089 (method url-fetch)
7090 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7091 version ".tar.gz"))
7092 (sha256
7093 (base32
7094 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
7095 (build-system haskell-build-system)
7096 (arguments
7097 `(#:phases
7098 (modify-phases %standard-phases
7099 (add-before 'configure 'update-constraints
7100 (lambda _
7101 (substitute* "pandoc.cabal"
7102 (("tasty >= 0\\.11 && < 1\\.1")
7103 "tasty >= 0.11 && < 1.1.1"))))
7104 (add-before 'configure 'patch-tests
7105 (lambda _
7106 ;; These tests fail benignly and have been adjusted upstream:
7107 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
7108 (substitute* "test/Tests/Old.hs"
7109 (("lhsWriterTests \"html\"") "[]")))))))
7110 (inputs
7111 `(("ghc-aeson" ,ghc-aeson)
7112 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7113 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7114 ("ghc-blaze-html" ,ghc-blaze-html)
7115 ("ghc-blaze-markup" ,ghc-blaze-markup)
7116 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7117 ("ghc-data-default" ,ghc-data-default)
7118 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7119 ("ghc-diff" ,ghc-diff)
7120 ("ghc-doctemplates" ,ghc-doctemplates)
7121 ("ghc-executable-path" ,ghc-executable-path)
7122 ("ghc-glob" ,ghc-glob)
7123 ("ghc-haddock-library" ,ghc-haddock-library)
7124 ("ghc-hslua" ,ghc-hslua)
7125 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7126 ("ghc-http" ,ghc-http)
7127 ("ghc-http-client" ,ghc-http-client)
7128 ("ghc-http-client-tls" ,ghc-http-client-tls)
7129 ("ghc-http-types" ,ghc-http-types)
7130 ("ghc-juicypixels" ,ghc-juicypixels)
7131 ("ghc-network" ,ghc-network)
7132 ("ghc-network-uri" ,ghc-network-uri)
7133 ("ghc-old-locale" ,ghc-old-locale)
7134 ("ghc-pandoc-types" ,ghc-pandoc-types)
7135 ("ghc-random" ,ghc-random)
7136 ("ghc-scientific" ,ghc-scientific)
7137 ("ghc-sha" ,ghc-sha)
7138 ("ghc-skylighting" ,ghc-skylighting)
7139 ("ghc-split" ,ghc-split)
7140 ("ghc-syb" ,ghc-syb)
7141 ("ghc-tagsoup" ,ghc-tagsoup)
7142 ("ghc-temporary" ,ghc-temporary)
7143 ("ghc-texmath" ,ghc-texmath)
7144 ("ghc-unordered-containers" ,ghc-unordered-containers)
7145 ("ghc-vector" ,ghc-vector)
7146 ("ghc-xml" ,ghc-xml)
7147 ("ghc-yaml" ,ghc-yaml)
7148 ("ghc-zip-archive" ,ghc-zip-archive)
7149 ("ghc-zlib" ,ghc-zlib)))
7150 (native-inputs
7151 `(("ghc-tasty" ,ghc-tasty)
7152 ("ghc-tasty-golden" ,ghc-tasty-golden)
7153 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7154 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7155 ("ghc-quickcheck" ,ghc-quickcheck)
7156 ("ghc-hunit" ,ghc-hunit)))
7157 (home-page "https://pandoc.org")
7158 (synopsis "Conversion between markup formats")
7159 (description
7160 "Pandoc is a Haskell library for converting from one markup format to
7161another, and a command-line tool that uses this library. It can read and
7162write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7163LaTeX, DocBook, and many more.
7164
7165Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7166definition lists, tables, and other features. A compatibility mode is
7167provided for those who need a drop-in replacement for Markdown.pl.")
7168 (license license:gpl2+)))
7169
7170(define-public ghc-pandoc-citeproc
7171 (package
7172 (name "ghc-pandoc-citeproc")
7173 (version "0.14.3.1")
7174 (source
7175 (origin
7176 (method url-fetch)
7177 (uri (string-append "https://hackage.haskell.org/package/"
7178 "pandoc-citeproc/pandoc-citeproc-"
7179 version ".tar.gz"))
7180 (sha256
7181 (base32
7182 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7183 (build-system haskell-build-system)
7184 (arguments
7185 `(#:phases
7186 (modify-phases %standard-phases
7187 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7188 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7189 (add-before 'configure 'patch-tests
7190 (lambda _
7191 (substitute* "tests/test-pandoc-citeproc.hs"
7192 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7193 "let allTests = citeprocTests"))))
7194 ;; Tests need to be run after installation.
7195 (delete 'check)
7196 (add-after 'install 'post-install-check
7197 (assoc-ref %standard-phases 'check)))))
7198 (inputs
7199 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7200 ("ghc-pandoc" ,ghc-pandoc)
7201 ("ghc-tagsoup" ,ghc-tagsoup)
7202 ("ghc-aeson" ,ghc-aeson)
7203 ("ghc-vector" ,ghc-vector)
7204 ("ghc-xml-conduit" ,ghc-xml-conduit)
7205 ("ghc-unordered-containers" ,ghc-unordered-containers)
7206 ("ghc-data-default" ,ghc-data-default)
7207 ("ghc-setenv" ,ghc-setenv)
7208 ("ghc-split" ,ghc-split)
7209 ("ghc-yaml" ,ghc-yaml)
7210 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7211 ("ghc-rfc5051" ,ghc-rfc5051)
7212 ("ghc-syb" ,ghc-syb)
7213 ("ghc-old-locale" ,ghc-old-locale)
7214 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7215 ("ghc-attoparsec" ,ghc-attoparsec)
7216 ("ghc-temporary" ,ghc-temporary)))
7217 (home-page "https://github.com/jgm/pandoc-citeproc")
7218 (synopsis "Library for using pandoc with citeproc")
7219 (description
7220 "The @code{pandoc-citeproc} library exports functions for using the
7221citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7222rendering bibliographic reference citations into a variety of styles using a
7223macro language called @dfn{Citation Style Language} (CSL). This package also
7224contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7225and also has a mode for converting bibliographic databases a YAML format
7226suitable for inclusion in pandoc YAML metadata.")
7227 (license license:bsd-3)))
7228
7229(define-public ghc-pandoc-types
7230 (package
7231 (name "ghc-pandoc-types")
7232 (version "1.17.5.1")
7233 (source (origin
7234 (method url-fetch)
7235 (uri (string-append "https://hackage.haskell.org/package/"
7236 "pandoc-types/pandoc-types-"
7237 version ".tar.gz"))
7238 (sha256
7239 (base32
7240 "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
7241 (build-system haskell-build-system)
7242 (inputs
7243 `(("ghc-syb" ,ghc-syb)
7244 ("ghc-aeson" ,ghc-aeson)
7245 ("ghc-string-qq" ,ghc-string-qq)))
7246 (native-inputs
7247 `(("ghc-quickcheck" ,ghc-quickcheck)
7248 ("ghc-test-framework" ,ghc-test-framework)
7249 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7250 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7251 ("ghc-hunit" ,ghc-hunit)))
7252 (home-page "http://johnmacfarlane.net/pandoc")
7253 (synopsis "Types for representing a structured document")
7254 (description
7255 "This module defines the @code{Pandoc} data structure, which is used by
7256pandoc to represent structured documents. It also provides functions for
7257building up, manipulating and serialising @code{Pandoc} structures.")
7258 (license license:bsd-3)))
7259
7260(define-public ghc-parallel
7261 (package
7262 (name "ghc-parallel")
7263 (version "3.2.2.0")
7264 (outputs '("out" "doc"))
7265 (source
7266 (origin
7267 (method url-fetch)
7268 (uri (string-append
7269 "https://hackage.haskell.org/package/parallel/parallel-"
7270 version
7271 ".tar.gz"))
7272 (sha256
7273 (base32
7274 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7275 (build-system haskell-build-system)
7276 (home-page "https://hackage.haskell.org/package/parallel")
7277 (synopsis "Parallel programming library")
7278 (description
7279 "This package provides a library for parallel programming.")
7280 (license license:bsd-3)))
7281
7282(define-public ghc-parsec-numbers
7283 (package
7284 (name "ghc-parsec-numbers")
7285 (version "0.1.0")
7286 (source
7287 (origin
7288 (method url-fetch)
7289 (uri (string-append "https://hackage.haskell.org/package/"
7290 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7291 (sha256
7292 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7293 (build-system haskell-build-system)
7294 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7295 (synopsis "Utilities for parsing numbers from strings")
7296 (description
7297 "This package provides the number parsers without the need to use a large
7298(and unportable) token parser.")
7299 (license license:bsd-3)))
7300
7301(define-public ghc-parser-combinators
7302 (package
7303 (name "ghc-parser-combinators")
7304 (version "1.0.0")
7305 (source
7306 (origin
7307 (method url-fetch)
7308 (uri (string-append "https://hackage.haskell.org/package/"
7309 "parser-combinators/parser-combinators-"
7310 version ".tar.gz"))
7311 (sha256
7312 (base32
7313 "1pwfdsklqwvaynwpdzmx1bs35mp6dpsyaqdnzxnqcrxwf5h8sk75"))))
7314 (build-system haskell-build-system)
7315 (home-page "https://github.com/mrkkrp/parser-combinators")
7316 (synopsis "Commonly useful parser combinators")
7317 (description
7318 "This is a lightweight package providing commonly useful parser
7319combinators.")
7320 (license license:bsd-3)))
7321
7322(define-public ghc-parsers
7323 (package
7324 (name "ghc-parsers")
7325 (version "0.12.9")
7326 (source
7327 (origin
7328 (method url-fetch)
7329 (uri (string-append
7330 "https://hackage.haskell.org/package/parsers/parsers-"
7331 version
7332 ".tar.gz"))
7333 (sha256
7334 (base32
7335 "1r05sc1mcglk8w596kq9a1brfn9c2vll8lq16j07ln0vsz4jzrc1"))))
7336 (build-system haskell-build-system)
7337 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7338 ; -package attoparsec-0.13.0.1"
7339 (inputs
7340 `(("ghc-base-orphans" ,ghc-base-orphans)
7341 ("ghc-attoparsec" ,ghc-attoparsec)
7342 ("ghc-scientific" ,ghc-scientific)
7343 ("ghc-charset" ,ghc-charset)
7344 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7345 (home-page "https://github.com/ekmett/parsers/")
7346 (synopsis "Parsing combinators")
7347 (description "This library provides convenient combinators for working
7348with and building parsing combinator libraries. Given a few simple instances,
7349you get access to a large number of canned definitions. Instances exist for
7350the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7351@code{Text.Read}.")
7352 (license license:bsd-3)))
7353
7354(define-public ghc-path
7355 (package
7356 (name "ghc-path")
7357 (version "0.6.1")
7358 (source
7359 (origin
7360 (method url-fetch)
7361 (uri (string-append
7362 "https://hackage.haskell.org/package/path/path-"
7363 version
7364 ".tar.gz"))
7365 (sha256
7366 (base32
7367 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7368 (build-system haskell-build-system)
7369 (arguments
7370 ;; TODO: There are some Windows-related tests and modules that need to be
7371 ;; danced around.
7372 `(#:tests? #f
7373 #:cabal-revision
7374 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7375 (inputs
7376 `(("ghc-aeson" ,ghc-aeson)
7377 ("ghc-exceptions" ,ghc-exceptions)
7378 ("ghc-hashable" ,ghc-hashable)))
7379 (native-inputs
7380 `(("ghc-hspec" ,ghc-hspec)
7381 ("ghc-quickcheck" ,ghc-quickcheck)
7382 ("ghc-genvalidity" ,ghc-genvalidity)
7383 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7384 ("ghc-hspec" ,ghc-hspec)
7385 ("ghc-validity" ,ghc-validity)))
7386 (home-page
7387 "http://hackage.haskell.org/package/path")
7388 (synopsis "Support for well-typed paths")
7389 (description "This package introduces a type for paths upholding useful
7390invariants.")
7391 (license license:bsd-3)))
7392
7393(define-public ghc-path-io
7394 (package
7395 (name "ghc-path-io")
7396 (version "1.3.3")
7397 (source
7398 (origin
7399 (method url-fetch)
7400 (uri (string-append
7401 "https://hackage.haskell.org/package/path-io/path-io-"
7402 version
7403 ".tar.gz"))
7404 (sha256
7405 (base32
7406 "1g9m3qliqjk1img894wsb89diym5zrq51qkkrwhz4sbm9a8hbv1a"))))
7407 (build-system haskell-build-system)
7408 (inputs
7409 `(("ghc-dlist" ,ghc-dlist)
7410 ("ghc-exceptions" ,ghc-exceptions)
7411 ("ghc-path" ,ghc-path)
7412 ("ghc-transformers-base" ,ghc-transformers-base)
7413 ("ghc-unix-compat" ,ghc-unix-compat)
7414 ("ghc-temporary" ,ghc-temporary)))
7415 (native-inputs
7416 `(("ghc-hspec" ,ghc-hspec)))
7417 (arguments
7418 `(#:cabal-revision
7419 ("3" "1h9hsibbflkxpjl2fqamqiv3x3gasf51apnmklrs9l9x8r32hzcc")))
7420 (home-page
7421 "https://github.com/mrkkrp/path-io")
7422 (synopsis "Functions for manipulating well-typed paths")
7423 (description "This package provides an interface to the @code{directory}
7424package for users of @code{path}. It also implements some missing stuff like
7425recursive scanning and copying of directories, working with temporary
7426files/directories, and more.")
7427 (license license:bsd-3)))
7428
7429(define-public ghc-paths
7430 (package
7431 (name "ghc-paths")
7432 (version "0.1.0.9")
7433 (outputs '("out" "doc"))
7434 (source
7435 (origin
7436 (method url-fetch)
7437 (uri (string-append
7438 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7439 version
7440 ".tar.gz"))
7441 (sha256
7442 (base32
7443 "0ibrr1dxa35xx20cpp8jzgfak1rdmy344dfwq4vlq013c6w8z9mg"))))
7444 (build-system haskell-build-system)
7445 (home-page "https://github.com/simonmar/ghc-paths")
7446 (synopsis
7447 "Knowledge of GHC's installation directories")
7448 (description
7449 "Knowledge of GHC's installation directories.")
7450 (license license:bsd-3)))
7451
7452(define-public ghc-patience
7453 (package
7454 (name "ghc-patience")
7455 (version "0.1.1")
7456 (source
7457 (origin
7458 (method url-fetch)
7459 (uri (string-append
7460 "https://hackage.haskell.org/package/patience/patience-"
7461 version ".tar.gz"))
7462 (sha256
7463 (base32
7464 "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"))))
7465 (build-system haskell-build-system)
7466 (home-page "https://hackage.haskell.org/package/patience")
7467 (synopsis "Patience diff and longest increasing subsequence")
7468 (description
7469 "This library implements the 'patience diff' algorithm, as well as the
7470patience algorithm for the longest increasing subsequence problem.
7471Patience diff computes the difference between two lists, for example the lines
7472of two versions of a source file. It provides a good balance between
7473performance, nice output for humans, and simplicity of implementation.")
7474 (license license:bsd-3)))
7475
7476(define-public ghc-pcre-light
7477 (package
7478 (name "ghc-pcre-light")
7479 (version "0.4.0.4")
7480 (source
7481 (origin
7482 (method url-fetch)
7483 (uri (string-append
7484 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7485 version
7486 ".tar.gz"))
7487 (sha256
7488 (base32
7489 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7490 (build-system haskell-build-system)
7491 (inputs
7492 `(("pcre" ,pcre)))
7493 (native-inputs
7494 `(("pkg-config" ,pkg-config)))
7495 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7496 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7497 (description "This package provides a small, efficient, and portable regex
7498library for Perl 5 compatible regular expressions. The PCRE library is a set
7499of functions that implement regular expression pattern matching using the same
7500syntax and semantics as Perl 5.")
7501 (license license:bsd-3)))
7502
7503(define-public ghc-persistent
7504 (package
7505 (name "ghc-persistent")
7506 (version "2.8.2")
7507 (source
7508 (origin
7509 (method url-fetch)
7510 (uri (string-append "https://hackage.haskell.org/package/"
7511 "persistent-" version "/"
7512 "persistent-" version ".tar.gz"))
7513 (sha256
7514 (base32
7515 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
7516 (build-system haskell-build-system)
7517 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7518 ("ghc-conduit" ,ghc-conduit)
7519 ("ghc-resourcet" ,ghc-resourcet)
7520 ("ghc-exceptions" ,ghc-exceptions)
7521 ("ghc-monad-control" ,ghc-monad-control)
7522 ("ghc-lifted-base" ,ghc-lifted-base)
7523 ("ghc-resource-pool" ,ghc-resource-pool)
7524 ("ghc-path-pieces" ,ghc-path-pieces)
7525 ("ghc-http-api-data" ,ghc-http-api-data)
7526 ("ghc-aeson" ,ghc-aeson)
7527 ("ghc-monad-logger" ,ghc-monad-logger)
7528 ("ghc-transformers-base" ,ghc-transformers-base)
7529 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7530 ("ghc-unordered-containers" ,ghc-unordered-containers)
7531 ("ghc-vector" ,ghc-vector)
7532 ("ghc-attoparsec" ,ghc-attoparsec)
7533 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7534 ("ghc-blaze-html" ,ghc-blaze-html)
7535 ("ghc-blaze-markup" ,ghc-blaze-markup)
7536 ("ghc-silently" ,ghc-silently)
7537 ("ghc-fast-logger" ,ghc-fast-logger)
7538 ("ghc-scientific" ,ghc-scientific)
7539 ("ghc-tagged" ,ghc-tagged)
7540 ("ghc-void" ,ghc-void)))
7541 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7542 (home-page "https://www.yesodweb.com/book/persistent")
7543 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7544 (description "This Haskell package allows Haskell programs to access data
7545storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7546way.")
7547 (license license:expat)))
7548
7549(define-public ghc-persistent-sqlite
7550 (package
7551 (name "ghc-persistent-sqlite")
7552 (version "2.8.2")
7553 (source
7554 (origin
7555 (method url-fetch)
7556 (uri (string-append "https://hackage.haskell.org/package/"
7557 "persistent-sqlite-" version "/"
7558 "persistent-sqlite-" version ".tar.gz"))
7559 (sha256
7560 (base32
7561 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7562 (build-system haskell-build-system)
7563 (inputs `(("ghc-persistent" ,ghc-persistent)
7564 ("ghc-unliftio-core" ,ghc-unliftio-core)
7565 ("ghc-aeson" ,ghc-aeson)
7566 ("ghc-conduit" ,ghc-conduit)
7567 ("ghc-monad-logger" ,ghc-monad-logger)
7568 ("ghc-microlens-th" ,ghc-microlens-th)
7569 ("ghc-resourcet" ,ghc-resourcet)
7570 ("ghc-old-locale" ,ghc-old-locale)
7571 ("ghc-resource-pool" ,ghc-resource-pool)
7572 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7573 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7574 ("ghc-persistent-template" ,ghc-persistent-template)
7575 ("ghc-temporary" ,ghc-temporary)))
7576 (home-page
7577 "https://www.yesodweb.com/book/persistent")
7578 (synopsis "Backend for the persistent library using sqlite3")
7579 (description "This Haskell package includes a thin sqlite3 wrapper based
7580on the direct-sqlite package, as well as the entire C library, so there are no
7581system dependencies.")
7582 (license license:expat)))
7583
7584(define-public ghc-persistent-template
7585 (package
7586 (name "ghc-persistent-template")
7587 (version "2.5.4")
7588 (source
7589 (origin
7590 (method url-fetch)
7591 (uri (string-append "https://hackage.haskell.org/package/"
7592 "persistent-template-" version "/"
7593 "persistent-template-" version ".tar.gz"))
7594 (sha256
7595 (base32
7596 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7597 (build-system haskell-build-system)
7598 (arguments
7599 `(#:cabal-revision
7600 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7601 (inputs `(("ghc-persistent" ,ghc-persistent)
7602 ("ghc-monad-control" ,ghc-monad-control)
7603 ("ghc-aeson" ,ghc-aeson)
7604 ("ghc-aeson-compat" ,ghc-aeson-compat)
7605 ("ghc-monad-logger" ,ghc-monad-logger)
7606 ("ghc-unordered-containers" ,ghc-unordered-containers)
7607 ("ghc-tagged" ,ghc-tagged)
7608 ("ghc-path-pieces" ,ghc-path-pieces)
7609 ("ghc-http-api-data" ,ghc-http-api-data)))
7610 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7611 ("ghc-quickcheck" ,ghc-quickcheck)))
7612 (home-page "https://www.yesodweb.com/book/persistent")
7613 (synopsis "Type-safe, non-relational, multi-backend persistence")
7614 (description "This Haskell package provides interfaces and helper
7615functions for the ghc-persistent package.")
7616 (license license:expat)))
7617
7618(define-public ghc-polyparse
7619 (package
7620 (name "ghc-polyparse")
7621 (version "1.12")
7622 (source
7623 (origin
7624 (method url-fetch)
7625 (uri (string-append
7626 "https://hackage.haskell.org/package/polyparse/polyparse-"
7627 version
7628 ".tar.gz"))
7629 (sha256
7630 (base32
7631 "05dya1vdvq29hkhkdlsglzhw7bdn51rvs1javs0q75nf99c66k7m"))))
7632 (build-system haskell-build-system)
7633 (home-page
7634 "http://code.haskell.org/~malcolm/polyparse/")
7635 (synopsis
7636 "Alternative parser combinator libraries")
7637 (description
7638 "This package provides a variety of alternative parser combinator
7639libraries, including the original HuttonMeijer set. The Poly sets have
7640features like good error reporting, arbitrary token type, running state, lazy
7641parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7642standard Read class, for better deserialisation of Haskell values from
7643Strings.")
7644 (license license:lgpl2.1)))
7645
7646(define-public ghc-pqueue
7647 (package
7648 (name "ghc-pqueue")
7649 (version "1.4.1.1")
7650 (source
7651 (origin
7652 (method url-fetch)
7653 (uri (string-append "https://hackage.haskell.org/package/"
7654 "pqueue/pqueue-" version ".tar.gz"))
7655 (sha256
7656 (base32
7657 "1zvwm1zcqqq5n101s1brjhgbay8rf9fviq6gxbplf40i63m57p1x"))))
7658 (build-system haskell-build-system)
7659 (native-inputs
7660 `(("ghc-quickcheck" ,ghc-quickcheck)))
7661 (home-page "https://hackage.haskell.org/package/pqueue")
7662 (synopsis "Reliable, persistent, fast priority queues")
7663 (description
7664 "This package provides a fast, reliable priority queue implementation
7665based on a binomial heap.")
7666 (license license:bsd-3)))
7667
7668(define-public ghc-prelude-extras
7669 (package
7670 (name "ghc-prelude-extras")
7671 (version "0.4.0.3")
7672 (source
7673 (origin
7674 (method url-fetch)
7675 (uri (string-append
7676 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7677 version
7678 ".tar.gz"))
7679 (sha256
7680 (base32
7681 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7682 (build-system haskell-build-system)
7683 (home-page "https://github.com/ekmett/prelude-extras")
7684 (synopsis "Higher order versions of Prelude classes")
7685 (description "This library provides higher order versions of
7686@code{Prelude} classes to ease programming with polymorphic recursion and
7687reduce @code{UndecidableInstances}.")
7688 (license license:bsd-3)))
7689
7690(define-public ghc-prettyclass
7691 (package
7692 (name "ghc-prettyclass")
7693 (version "1.0.0.0")
7694 (source
7695 (origin
7696 (method url-fetch)
7697 (uri (string-append "https://hackage.haskell.org/package/"
7698 "prettyclass/prettyclass-" version ".tar.gz"))
7699 (sha256
7700 (base32
7701 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7702 (build-system haskell-build-system)
7703 (home-page "http://hackage.haskell.org/package/prettyclass")
7704 (synopsis "Pretty printing class similar to Show")
7705 (description "This package provides a pretty printing class similar
7706to @code{Show}, based on the HughesPJ pretty printing library. It
7707provides the pretty printing class and instances for the Prelude
7708types.")
7709 (license license:bsd-3)))
7710
7711(define-public ghc-pretty-hex
7712 (package
7713 (name "ghc-pretty-hex")
7714 (version "1.0")
7715 (source
7716 (origin
7717 (method url-fetch)
7718 (uri (string-append "https://hackage.haskell.org/package/"
7719 "pretty-hex-" version "/"
7720 "pretty-hex-" version ".tar.gz"))
7721 (sha256
7722 (base32
7723 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7724 (build-system haskell-build-system)
7725 (home-page "https://github.com/GaloisInc/hexdump")
7726 (synopsis "Haskell library for hex dumps of ByteStrings")
7727 (description "This Haskell library generates pretty hex dumps of
7728ByteStrings in the style of other common *nix hex dump tools.")
7729 (license license:bsd-3)))
7730
7731(define-public ghc-pretty-show
7732 (package
7733 (name "ghc-pretty-show")
7734 (version "1.7")
7735 (source
7736 (origin
7737 (method url-fetch)
7738 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
7739 "pretty-show-" version ".tar.gz"))
7740 (sha256
7741 (base32
7742 "0br7pkxqqqhby2j2v1g847lgqsrasx56g1jw3dhmjh4flzs6warq"))))
7743 (build-system haskell-build-system)
7744 (inputs
7745 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
7746 ("ghc-happy" ,ghc-happy)))
7747 (home-page "http://wiki.github.com/yav/pretty-show")
7748 (synopsis "Tools for working with derived `Show` instances")
7749 (description
7750 "This package provides a library and an executable for working with
7751derived @code{Show} instances. By using the library, derived @code{Show}
7752instances can be parsed into a generic data structure. The @code{ppsh} tool
7753uses the library to produce human-readable versions of @code{Show} instances,
7754which can be quite handy for debugging Haskell programs. We can also render
7755complex generic values into an interactive Html page, for easier
7756examination.")
7757 (license license:expat)))
7758
7759(define-public ghc-primitive
7760 (package
7761 (name "ghc-primitive")
7762 (version "0.6.4.0")
7763 (outputs '("out" "doc"))
7764 (source
7765 (origin
7766 (method url-fetch)
7767 (uri (string-append
7768 "https://hackage.haskell.org/package/primitive/primitive-"
7769 version
7770 ".tar.gz"))
7771 (sha256
7772 (base32
7773 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
7774 (build-system haskell-build-system)
7775 (home-page
7776 "https://github.com/haskell/primitive")
7777 (synopsis "Primitive memory-related operations")
7778 (description
7779 "This package provides various primitive memory-related operations.")
7780 (license license:bsd-3)))
7781
21f5b9a9
JS
7782(define-public ghc-process-extras
7783 (package
7784 (name "ghc-process-extras")
7785 (version "0.7.4")
7786 (source
7787 (origin
7788 (method url-fetch)
7789 (uri
7790 (string-append
7791 "https://hackage.haskell.org/package/process-extras/"
7792 "process-extras-" version ".tar.gz"))
7793 (sha256
7794 (base32
7795 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
7796 (build-system haskell-build-system)
7797 (inputs
7798 `(("ghc-data-default" ,ghc-data-default)
7799 ("ghc-generic-deriving" ,ghc-generic-deriving)
7800 ("ghc-hunit" ,ghc-hunit)
7801 ("ghc-listlike" ,ghc-listlike)))
7802 (home-page "https://github.com/seereason/process-extras")
7803 (synopsis "Extra tools for managing processes")
f74b6983 7804 (description "This package extends
21f5b9a9
JS
7805@url{http://hackage.haskell.org/package/process}. It allows you to read
7806process input and output as ByteStrings or Text, or write your own
7807ProcessOutput instance. It also provides lazy process input and output,
7808and a ProcessMaker class for more flexibility in the process creation
7809API.")
7810 (license license:expat)))
7811
dddbc90c
RV
7812(define-public ghc-profunctors
7813 (package
7814 (name "ghc-profunctors")
7815 (version "5.2.2")
7816 (source
7817 (origin
7818 (method url-fetch)
7819 (uri (string-append
7820 "https://hackage.haskell.org/package/profunctors/profunctors-"
7821 version
7822 ".tar.gz"))
7823 (sha256
7824 (base32
7825 "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9"))))
7826 (build-system haskell-build-system)
7827 (arguments
7828 `(#:cabal-revision
7829 ("2" "1ywlg9z8nlhd2avgb8c6gbkv8zyk7hvc25926bafyg0m0k8y1amq")))
7830 (inputs
7831 `(("ghc-base-orphans" ,ghc-base-orphans)
7832 ("ghc-bifunctors" ,ghc-bifunctors)
7833 ("ghc-comonad" ,ghc-comonad)
7834 ("ghc-contravariant" ,ghc-contravariant)
7835 ("ghc-distributive" ,ghc-distributive)
7836 ("ghc-semigroups" ,ghc-semigroups)
7837 ("ghc-tagged" ,ghc-tagged)))
7838 (home-page "https://github.com/ekmett/profunctors/")
7839 (synopsis "Profunctors for Haskell")
7840 (description "This library provides profunctors for Haskell.")
7841 (license license:bsd-3)))
7842
7843(define-public ghc-psqueues
7844 (package
7845 (name "ghc-psqueues")
7846 (version "0.2.7.0")
7847 (source
7848 (origin
7849 (method url-fetch)
7850 (uri (string-append "https://hackage.haskell.org/package/"
7851 "psqueues-" version "/"
7852 "psqueues-" version ".tar.gz"))
7853 (sha256
7854 (base32
7855 "1sjgc9bxh63kkdp59nbirx3xazr02ia5yhp4f4a0jnq1hj465wsc"))))
7856 (build-system haskell-build-system)
7857 (inputs
7858 `(("ghc-hashable" ,ghc-hashable)))
7859 (native-inputs
7860 `(("ghc-hunit" ,ghc-hunit)
7861 ("ghc-quickcheck" ,ghc-quickcheck)
7862 ("ghc-tagged" ,ghc-tagged)
7863 ("ghc-test-framework" ,ghc-test-framework)
7864 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7865 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7866 (home-page "https://github.com/jaspervdj/psqueues")
7867 (synopsis "Pure priority search queues")
7868 (description "The psqueues package provides
7869@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
7870three different flavors:
7871
7872@itemize
7873@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
7874fast insertion, deletion and lookup. This implementation is based on Ralf
7875Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
7876Implementation Technique for Priority Search Queues}.
7877
7878Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
7879PSQueue} library, although it is considerably faster and provides a slightly
7880different API.
7881
7882@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
7883key type to @code{Int} and uses a
7884@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
7885with an additional min-heap property.
7886
7887@item @code{HashPSQ k p v} is a fairly straightforward extension
7888of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
7889@code{IntPSQ}. If there are any hash collisions, it uses an
7890@code{OrdPSQ} to resolve those. The performance of this implementation
7891is comparable to that of @code{IntPSQ}, but it is more widely
7892applicable since the keys are not restricted to @code{Int},
7893but rather to any @code{Hashable} datatype.
7894@end itemize
7895
7896Each of the three implementations provides the same API, so they can
7897be used interchangeably.
7898
7899Typical applications of Priority Search Queues include:
7900
7901@itemize
7902@item Caches, and more specifically LRU Caches;
7903@item Schedulers;
7904@item Pathfinding algorithms, such as Dijkstra's and A*.
7905@end itemize")
7906 (license license:bsd-3)))
7907
7908(define-public ghc-random
7909 (package
7910 (name "ghc-random")
7911 (version "1.1")
7912 (outputs '("out" "doc"))
7913 (source
7914 (origin
7915 (method url-fetch)
7916 (uri (string-append
7917 "https://hackage.haskell.org/package/random/random-"
7918 version
7919 ".tar.gz"))
7920 (sha256
7921 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
7922 (build-system haskell-build-system)
7923 (home-page "https://hackage.haskell.org/package/random")
7924 (synopsis "Random number library")
7925 (description "This package provides a basic random number generation
7926library, including the ability to split random number generators.")
7927 (license license:bsd-3)))
7928
7929(define-public ghc-raw-strings-qq
7930 (package
7931 (name "ghc-raw-strings-qq")
7932 (version "1.1")
7933 (source
7934 (origin
7935 (method url-fetch)
7936 (uri (string-append "https://hackage.haskell.org/package/"
7937 "raw-strings-qq/raw-strings-qq-"
7938 version ".tar.gz"))
7939 (sha256
7940 (base32
7941 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
7942 (build-system haskell-build-system)
7943 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
7944 (home-page "https://github.com/23Skidoo/raw-strings-qq")
7945 (synopsis "Raw string literals for Haskell")
7946 (description
7947 "This package provides a quasiquoter for raw string literals, i.e. string
7948literals that don't recognise the standard escape sequences. Basically, they
7949make your code more readable by freeing you from the responsibility to escape
7950backslashes. They are useful when working with regular expressions,
7951DOS/Windows paths and markup languages (such as XML).")
7952 (license license:bsd-3)))
7953
7954(define-public ghc-readable
7955 (package
7956 (name "ghc-readable")
7957 (version "0.3.1")
7958 (source
7959 (origin
7960 (method url-fetch)
7961 (uri (string-append "https://hackage.haskell.org/package/"
7962 "readable/readable-" version ".tar.gz"))
7963 (sha256
7964 (base32
7965 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
7966 (build-system haskell-build-system)
7967 (home-page "https://github.com/mightybyte/readable")
7968 (synopsis "Type class for reading from Text and ByteString")
7969 (description "This package provides a @code{Readable} type class for
7970reading data types from @code{ByteString} and @code{Text}. It also
7971includes efficient implementations for common data types.")
7972 (license license:bsd-3)))
7973
7974(define-public ghc-rebase
7975 (package
7976 (name "ghc-rebase")
7977 (version "1.2.4")
7978 (source
7979 (origin
7980 (method url-fetch)
7981 (uri (string-append "https://hackage.haskell.org/package/"
7982 "rebase-" version "/"
7983 "rebase-" version ".tar.gz"))
7984 (sha256
7985 (base32
7986 "1gah2qwfpzwamnikbc5h4nv6dgvv9h16di9ka7946za3nibyasya"))))
7987 (build-system haskell-build-system)
7988 (inputs `(("ghc-hashable" ,ghc-hashable)
7989 ("ghc-vector" ,ghc-vector)
7990 ("ghc-unordered-containers" ,ghc-unordered-containers)
7991 ("ghc-scientific" ,ghc-scientific)
7992 ("ghc-uuid" ,ghc-uuid)
7993 ("ghc-dlist" ,ghc-dlist)
7994 ("ghc-void" ,ghc-void)
7995 ("ghc-bifunctors" ,ghc-bifunctors)
7996 ("ghc-profunctors" ,ghc-profunctors)
7997 ("ghc-contravariant" ,ghc-contravariant)
7998 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
7999 ("ghc-semigroups" ,ghc-semigroups)
8000 ("ghc-either" ,ghc-either)
8001 ("ghc-fail" ,ghc-fail)
8002 ("ghc-base-prelude" ,ghc-base-prelude)))
8003 (home-page "https://github.com/nikita-volkov/rebase")
8004 (synopsis "Progressive alternative to the base package
8005for Haskell")
8006 (description "This Haskell package is intended for those who are
8007tired of keeping long lists of dependencies to the same essential libraries
8008in each package as well as the endless imports of the same APIs all over again.
8009
8010It also supports the modern tendencies in the language.
8011
8012To solve those problems this package does the following:
8013
8014@itemize
8015@item Reexport the original APIs under the @code{Rebase} namespace.
8016
8017@item Export all the possible non-conflicting symbols from the
8018@code{Rebase.Prelude} module.
8019
8020@item Give priority to the modern practices in the conflicting cases.
8021@end itemize
8022
8023The policy behind the package is only to reexport the non-ambiguous and
8024non-controversial APIs, which the community has obviously settled on.
8025The package is intended to rapidly evolve with the contribution from
8026the community, with the missing features being added with pull-requests.")
8027 (license license:expat)))
8028
8029(define-public ghc-reducers
8030 (package
8031 (name "ghc-reducers")
8032 (version "3.12.3")
8033 (source
8034 (origin
8035 (method url-fetch)
8036 (uri (string-append
8037 "https://hackage.haskell.org/package/reducers/reducers-"
8038 version
8039 ".tar.gz"))
8040 (sha256
8041 (base32
8042 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8043 (build-system haskell-build-system)
8044 (inputs
8045 `(("ghc-fingertree" ,ghc-fingertree)
8046 ("ghc-hashable" ,ghc-hashable)
8047 ("ghc-unordered-containers" ,ghc-unordered-containers)
8048 ("ghc-semigroupoids" ,ghc-semigroupoids)
8049 ("ghc-semigroups" ,ghc-semigroups)))
8050 (home-page "https://github.com/ekmett/reducers/")
8051 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8052 (description "This library provides various semigroups, specialized
8053containers and a general map/reduce framework for Haskell.")
8054 (license license:bsd-3)))
8055
8056(define-public ghc-refact
8057 (package
8058 (name "ghc-refact")
8059 (version "0.3.0.2")
8060 (source
8061 (origin
8062 (method url-fetch)
8063 (uri (string-append "https://hackage.haskell.org/package/"
8064 "refact/refact-"
8065 version ".tar.gz"))
8066 (sha256
8067 (base32
8068 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8069 (build-system haskell-build-system)
8070 (home-page "http://hackage.haskell.org/package/refact")
8071 (synopsis "Specify refactorings to perform with apply-refact")
8072 (description
8073 "This library provides a datatype which can be interpreted by
8074@code{apply-refact}. It exists as a separate library so that applications can
8075specify refactorings without depending on GHC.")
8076 (license license:bsd-3)))
8077
8078(define-public ghc-reflection
8079 (package
8080 (name "ghc-reflection")
8081 (version "2.1.4")
8082 (source
8083 (origin
8084 (method url-fetch)
8085 (uri (string-append
8086 "https://hackage.haskell.org/package/reflection/reflection-"
8087 version
8088 ".tar.gz"))
8089 (sha256
8090 (base32
8091 "0kf4a5ijw6jfnfibjcrpdy9vzh1n6v2pxia8dhyyqdissiwc8bzj"))))
8092 (build-system haskell-build-system)
8093 (inputs `(("ghc-tagged" ,ghc-tagged)))
8094 (home-page "https://github.com/ekmett/reflection")
8095 (synopsis "Reify arbitrary terms into types that can be reflected back
8096into terms")
8097 (description "This package addresses the 'configuration problem' which is
8098propagating configurations that are available at run-time, allowing multiple
8099configurations to coexist without resorting to mutable global variables or
8100@code{System.IO.Unsafe.unsafePerformIO}.")
8101 (license license:bsd-3)))
8102
8103(define-public ghc-regex
8104 (package
8105 (name "ghc-regex")
8106 (version "1.0.1.3")
8107 (source
8108 (origin
8109 (method url-fetch)
8110 (uri (string-append "https://hackage.haskell.org/package/regex/"
8111 "regex-" version ".tar.gz"))
8112 (sha256
8113 (base32
8114 "1sjkpkgv4phy5b5v2lr89x4vx4dh44pj0sbvlsp6n86w9v6v4jwb"))))
8115 (build-system haskell-build-system)
8116 (arguments
8117 `(#:phases
8118 (modify-phases %standard-phases
8119 (add-after 'unpack 'relax-dependencies
8120 (lambda _
8121 (substitute* "regex.cabal"
8122 (("base-compat.*>=.*0.6.*")
8123 "base-compat >= 0.6\n")
8124 (("template-haskell.*>=.*2.7.*")
8125 "template-haskell >= 2.7\n"))
8126 #t)))))
8127 (inputs
8128 `(("ghc-base-compat" ,ghc-base-compat)
8129 ("ghc-hashable" ,ghc-hashable)
8130 ("ghc-regex-base" ,ghc-regex-base)
8131 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8132 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8133 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8134 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8135 ("ghc-unordered-containers" ,ghc-unordered-containers)
8136 ("ghc-utf8-string" ,ghc-utf8-string)))
8137 (home-page "http://regex.uk")
8138 (synopsis "Toolkit for regex-base")
8139 (description
8140 "This package provides a regular expression toolkit for @code{regex-base}
8141with compile-time checking of regular expression syntax, data types for
8142matches and captures, a text replacement toolkit, portable options, high-level
8143AWK-like tools for building text processing apps, regular expression macros
8144with parsers and test bench, comprehensive documentation, tutorials and
8145copious examples.")
8146 (license license:bsd-3)))
8147
8148(define-public ghc-regex-applicative
8149 (package
8150 (name "ghc-regex-applicative")
8151 (version "0.3.3")
8152 (source
8153 (origin
8154 (method url-fetch)
8155 (uri (string-append
8156 "https://hackage.haskell.org/package/regex-applicative/"
8157 "regex-applicative-" version ".tar.gz"))
8158 (sha256
8159 (base32
8160 "1riv7jqf26lbv4rm54sd6mrx8xdh4dvh4xbzymzdfdw13k6a4nb6"))))
8161 (build-system haskell-build-system)
8162 (inputs
8163 `(("ghc-smallcheck" ,ghc-smallcheck)
8164 ("ghc-tasty" ,ghc-tasty)
8165 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8166 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8167 (home-page "https://github.com/feuerbach/regex-applicative")
8168 (synopsis "Regex-based parsing with applicative interface")
8169 (description
8170 "@code{regex-applicative} is a Haskell library for parsing using
8171regular expressions. Parsers can be built using Applicative interface.")
8172 (license license:expat)))
8173
8174(define-public ghc-regex-base
8175 (package
8176 (name "ghc-regex-base")
8177 (version "0.93.2")
8178 (source
8179 (origin
8180 (method url-fetch)
8181 (uri (string-append
8182 "https://hackage.haskell.org/package/regex-base/regex-base-"
8183 version
8184 ".tar.gz"))
8185 (sha256
8186 (base32
8187 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8188 (build-system haskell-build-system)
8189 (home-page
8190 "https://sourceforge.net/projects/lazy-regex")
8191 (synopsis "Replaces/Enhances Text.Regex")
8192 (description "@code{Text.Regex.Base} provides the interface API for
8193regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8194 (license license:bsd-3)))
8195
8196(define-public ghc-regex-compat
8197 (package
8198 (name "ghc-regex-compat")
8199 (version "0.95.1")
8200 (source
8201 (origin
8202 (method url-fetch)
8203 (uri (string-append
8204 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8205 version
8206 ".tar.gz"))
8207 (sha256
8208 (base32
8209 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8210 (build-system haskell-build-system)
8211 (inputs
8212 `(("ghc-regex-base" ,ghc-regex-base)
8213 ("ghc-regex-posix" ,ghc-regex-posix)))
8214 (home-page "https://sourceforge.net/projects/lazy-regex")
8215 (synopsis "Replaces/Enhances Text.Regex")
8216 (description "This library provides one module layer over
8217@code{regex-posix} to replace @code{Text.Regex}.")
8218 (license license:bsd-3)))
8219
8220(define-public ghc-regex-compat-tdfa
8221 (package
8222 (name "ghc-regex-compat-tdfa")
8223 (version "0.95.1.4")
8224 (source
8225 (origin
8226 (method url-fetch)
8227 (uri (string-append
8228 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8229 version ".tar.gz"))
8230 (sha256
8231 (base32
8232 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8233 (build-system haskell-build-system)
8234 (inputs
8235 `(("ghc-regex-base" ,ghc-regex-base)
8236 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8237 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8238 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8239 (description
8240 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8241@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8242This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8243this problem.")
8244 (license license:bsd-3)))
8245
8246(define-public ghc-regex-pcre-builtin
8247 (package
8248 (name "ghc-regex-pcre-builtin")
8249 (version "0.94.4.8.8.35")
8250 (source (origin
8251 (method url-fetch)
8252 (uri (string-append "https://hackage.haskell.org/package/"
8253 "regex-pcre-builtin/regex-pcre-builtin-"
8254 version ".tar.gz"))
8255 (sha256
8256 (base32
8257 "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b"))))
8258 (build-system haskell-build-system)
8259 (inputs
8260 `(("ghc-regex-base" ,ghc-regex-base)))
8261 (home-page "https://hackage.haskell.org/package/regex-pcre")
8262 (synopsis "Enhancement of the builtin Text.Regex library")
8263 (description
8264 "This package is an enhancement of the @code{Text.Regex} library,
8265providing the PCRE backend to accompany regex-base, with bundled code from
8266@url{https://www.pcre.org}.")
8267 (license license:bsd-3)))
8268
8269(define-public ghc-regex-posix
8270 (package
8271 (name "ghc-regex-posix")
8272 (version "0.95.2")
8273 (source
8274 (origin
8275 (method url-fetch)
8276 (uri (string-append
8277 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8278 version
8279 ".tar.gz"))
8280 (sha256
8281 (base32
8282 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8283 (build-system haskell-build-system)
8284 (inputs
8285 `(("ghc-regex-base" ,ghc-regex-base)))
8286 (home-page "https://sourceforge.net/projects/lazy-regex")
8287 (synopsis "POSIX regular expressions for Haskell")
8288 (description "This library provides the POSIX regex backend used by the
8289Haskell library @code{regex-base}.")
8290 (license license:bsd-3)))
8291
8292(define-public ghc-regex-tdfa
8293 (package
8294 (name "ghc-regex-tdfa")
8295 (version "1.2.3.1")
8296 (source
8297 (origin
8298 (method url-fetch)
8299 (uri (string-append
8300 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8301 version ".tar.gz"))
8302 (sha256
8303 (base32
8304 "0l7ajnh4hpgggf2a1r9dg0hx2fy679vd2kada5y7r02hy3nfxala"))))
8305 (build-system haskell-build-system)
8306 (inputs
8307 `(("ghc-regex-base" ,ghc-regex-base)))
8308 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8309 (synopsis "POSIX extended regular expressions in Haskell.")
8310 (description
8311 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8312extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8313inspired by libtre.")
8314 (license license:bsd-3)))
8315
8316(define-public ghc-regex-tdfa-text
8317 (package
8318 (name "ghc-regex-tdfa-text")
8319 (version "1.0.0.3")
8320 (source
8321 (origin
8322 (method url-fetch)
8323 (uri (string-append
8324 "https://hackage.haskell.org/package/regex-tdfa-text/"
8325 "regex-tdfa-text-" version ".tar.gz"))
8326 (sha256
8327 (base32
8328 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8329 (build-system haskell-build-system)
8330 (inputs
8331 `(("ghc-regex-base" ,ghc-regex-base)
8332 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8333 (home-page
8334 "http://hackage.haskell.org/package/regex-tdfa-text")
8335 (synopsis "Text interface for regex-tdfa")
8336 (description
8337 "This provides an extra text interface for regex-tdfa.")
8338 (license license:bsd-3)))
8339
8340(define-public ghc-rerebase
8341 (package
8342 (name "ghc-rerebase")
8343 (version "1.2.2")
8344 (source
8345 (origin
8346 (method url-fetch)
8347 (uri (string-append
8348 "https://hackage.haskell.org/package/rerebase/rerebase-"
8349 version ".tar.gz"))
8350 (sha256
8351 (base32
8352 "11v6rmz7ql2rdx6mhb3lsal952lwihclfhh0m7fcnii5br0906ks"))))
8353 (build-system haskell-build-system)
8354 (inputs
8355 `(("ghc-rebase" ,ghc-rebase)))
8356 (home-page "https://github.com/nikita-volkov/rerebase")
8357 (synopsis "Reexports from ``base'' with many other standard libraries")
8358 (description "A rich drop-in replacement for @code{base}. For details and
8359documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8360the project's home page}.")
8361 (license license:expat)))
8362
8363(define-public ghc-resolv
8364 (package
8365 (name "ghc-resolv")
8366 (version "0.1.1.1")
8367 (source
8368 (origin
8369 (method url-fetch)
8370 (uri (string-append
8371 "https://hackage.haskell.org/package/resolv/resolv-"
8372 version ".tar.gz"))
8373 (sha256
8374 (base32
8375 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
8376 (build-system haskell-build-system)
8377 (arguments
8378 `(#:cabal-revision
8379 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
8380 #:tests? #f)) ; The required test frameworks are too old.
8381 (inputs
8382 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8383 (home-page "https://github.com/haskell/hackage-security")
8384 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8385 (description "This package implements an API for accessing the
8386@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8387resolver service via the standard @code{libresolv} system library (whose
8388API is often available directly via the standard @code{libc} C library) on
8389Unix systems.")
8390 (license license:gpl3)))
8391
8392(define-public ghc-resource-pool
8393 (package
8394 (name "ghc-resource-pool")
8395 (version "0.2.3.2")
8396 (source
8397 (origin
8398 (method url-fetch)
8399 (uri (string-append "https://hackage.haskell.org/package/"
8400 "resource-pool-" version "/"
8401 "resource-pool-" version ".tar.gz"))
8402 (sha256
8403 (base32
8404 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8405 (build-system haskell-build-system)
8406 (inputs `(("ghc-hashable" ,ghc-hashable)
8407 ("ghc-monad-control" ,ghc-monad-control)
8408 ("ghc-transformers-base" ,ghc-transformers-base)
8409 ("ghc-vector" ,ghc-vector)))
8410 (home-page "https://github.com/bos/pool")
8411 (synopsis "Striped resource pooling implementation in Haskell")
8412 (description "This Haskell package provides striped pooling abstraction
8413for managing flexibly-sized collections of resources such as database
8414connections.")
8415 (license license:bsd-3)))
8416
8417(define-public ghc-resourcet
8418 (package
8419 (name "ghc-resourcet")
8420 (version "1.2.1")
8421 (source
8422 (origin
8423 (method url-fetch)
8424 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8425 "resourcet-" version ".tar.gz"))
8426 (sha256
8427 (base32
8428 "0rzjzh34s36ssign7akqjnwnjxf11c3511wk7ky0xxy0dqmc2rg7"))))
8429 (build-system haskell-build-system)
8430 (inputs
8431 `(("ghc-transformers-base" ,ghc-transformers-base)
8432 ("ghc-monad-control" ,ghc-monad-control)
8433 ("ghc-transformers-compat" ,ghc-transformers-compat)
8434 ("ghc-mmorph" ,ghc-mmorph)
8435 ("ghc-exceptions" ,ghc-exceptions)
8436 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8437 (native-inputs
8438 `(("ghc-lifted-base" ,ghc-lifted-base)
8439 ("ghc-hspec" ,ghc-hspec)))
8440 (home-page "https://github.com/snoyberg/conduit")
8441 (synopsis "Deterministic allocation and freeing of scarce resources")
8442 (description "ResourceT is a monad transformer which creates a region of
8443code where you can safely allocate resources.")
8444 (license license:bsd-3)))
8445
8446(define-public ghc-rfc5051
8447 (package
8448 (name "ghc-rfc5051")
8449 (version "0.1.0.3")
8450 (source
8451 (origin
8452 (method url-fetch)
8453 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8454 "rfc5051-" version ".tar.gz"))
8455 (sha256
8456 (base32
8457 "0av4c3qvwbkbzrjrrg601ay9pds7wscqqp2lc2z78mv2lllap3g3"))))
8458 (build-system haskell-build-system)
8459 (home-page "https://hackage.haskell.org/package/rfc5051")
8460 (synopsis "Simple unicode collation as per RFC5051")
8461 (description
8462 "This library implements @code{unicode-casemap}, the simple, non
8463locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8464unicode collation can be done using @code{text-icu}, but that is a big
8465dependency that depends on a large C library, and @code{rfc5051} might be
8466better for some purposes.")
8467 (license license:bsd-3)))
8468
8469(define-public ghc-rio
8470 (package
8471 (name "ghc-rio")
8472 (version "0.1.5.0")
8473 (source
8474 (origin
8475 (method url-fetch)
8476 (uri (string-append
8477 "https://hackage.haskell.org/package/rio/rio-"
8478 version ".tar.gz"))
8479 (sha256
8480 (base32
8481 "064h8a4hp53a479d3ak0vmqbx8hi0cpg7zn4wp23rjy26dka8p7g"))))
8482 (build-system haskell-build-system)
8483 (inputs
8484 `(("ghc-exceptions" ,ghc-exceptions)
8485 ("ghc-hashable" ,ghc-hashable)
8486 ("ghc-microlens" ,ghc-microlens)
8487 ("ghc-primitive" ,ghc-primitive)
8488 ("ghc-typed-process" ,ghc-typed-process)
8489 ("ghc-unliftio" ,ghc-unliftio)
8490 ("ghc-unordered-containers" ,ghc-unordered-containers)
8491 ("ghc-vector" ,ghc-vector)))
8492 (native-inputs
8493 `(("ghc-hspec" ,ghc-hspec)
8494 ("hspec-discover" ,hspec-discover)))
8495 (home-page "https://github.com/commercialhaskell/rio#readme")
8496 (synopsis "A standard library for Haskell")
8497 (description "This package works as a prelude replacement for Haskell,
8498providing more functionality and types out of the box than the standard
8499prelude (such as common data types like @code{ByteString} and
8500@code{Text}), as well as removing common ``gotchas'', like partial
8501functions and lazy I/O. The guiding principle here is:
8502@itemize
8503@item If something is safe to use in general and has no expected naming
8504conflicts, expose it.
8505@item If something should not always be used, or has naming conflicts,
8506expose it from another module in the hierarchy.
8507@end itemize")
8508 (license license:expat)))
8509
8510(define-public ghc-safe
8511 (package
8512 (name "ghc-safe")
8513 (version "0.3.17")
8514 (source
8515 (origin
8516 (method url-fetch)
8517 (uri (string-append
8518 "https://hackage.haskell.org/package/safe/safe-"
8519 version
8520 ".tar.gz"))
8521 (sha256
8522 (base32
8523 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8524 (build-system haskell-build-system)
8525 (native-inputs
8526 `(("ghc-quickcheck" ,ghc-quickcheck)))
8527 (home-page "https://github.com/ndmitchell/safe#readme")
8528 (synopsis "Library of safe (exception free) functions")
8529 (description "This library provides wrappers around @code{Prelude} and
8530@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8531exceptions.")
8532 (license license:bsd-3)))
8533
8534(define-public ghc-safe-exceptions
8535 (package
8536 (name "ghc-safe-exceptions")
8537 (version "0.1.7.0")
8538 (source
8539 (origin
8540 (method url-fetch)
8541 (uri (string-append "https://hackage.haskell.org/package/"
8542 "safe-exceptions/safe-exceptions-"
8543 version ".tar.gz"))
8544 (sha256
8545 (base32
8546 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8547 (build-system haskell-build-system)
8548 (arguments
8549 '(#:cabal-revision
8550 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8551 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8552 (native-inputs
8553 `(("ghc-hspec" ,ghc-hspec)
8554 ("ghc-void" ,ghc-void)
8555 ("hspec-discover" ,hspec-discover)))
8556 (home-page "https://github.com/fpco/safe-exceptions")
8557 (synopsis "Safe, consistent, and easy exception handling")
8558 (description "Runtime exceptions - as exposed in @code{base} by the
8559@code{Control.Exception} module - have long been an intimidating part of the
8560Haskell ecosystem. This package is intended to overcome this. It provides a
8561safe and simple API on top of the existing exception handling machinery. The
8562API is equivalent to the underlying implementation in terms of power but
8563encourages best practices to minimize the chances of getting the exception
8564handling wrong.")
8565 (license license:expat)))
8566
8567(define-public ghc-safeio
8568 (package
8569 (name "ghc-safeio")
8570 (version "0.0.5.0")
8571 (source
8572 (origin
8573 (method url-fetch)
8574 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8575 "safeio-" version ".tar.gz"))
8576 (sha256
8577 (base32
8578 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8579 (build-system haskell-build-system)
8580 (inputs
8581 `(("ghc-conduit" ,ghc-conduit)
8582 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8583 ("ghc-exceptions" ,ghc-exceptions)
8584 ("ghc-resourcet" ,ghc-resourcet)))
8585 (native-inputs
8586 `(("ghc-hunit" ,ghc-hunit)
8587 ("ghc-test-framework" ,ghc-test-framework)
8588 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8589 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8590 (home-page "https://github.com/luispedro/safeio")
8591 (synopsis "Write output to disk atomically")
8592 (description
8593 "This package implements utilities to perform atomic output so as to
8594avoid the problem of partial intermediate files.")
8595 (license license:expat)))
8596
8597(define-public ghc-safesemaphore
8598 (package
8599 (name "ghc-safesemaphore")
8600 (version "0.10.1")
8601 (source
8602 (origin
8603 (method url-fetch)
8604 (uri (string-append "https://hackage.haskell.org/package/"
8605 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8606 (sha256
8607 (base32
8608 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8609 (build-system haskell-build-system)
8610 (native-inputs
8611 `(("ghc-hunit" ,ghc-hunit)))
8612 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8613 (synopsis "Exception safe semaphores")
8614 (description "This library provides exception safe semaphores that can be
8615used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8616are not exception safe and can be broken by @code{killThread}.")
8617 (license license:bsd-3)))
8618
8619(define-public ghc-sandi
8620 (package
8621 (name "ghc-sandi")
8622 (version "0.4.2")
8623 (source
8624 (origin
8625 (method url-fetch)
8626 (uri (string-append
8627 "https://hackage.haskell.org/package/sandi/sandi-"
8628 version ".tar.gz"))
8629 (sha256
8630 (base32
8631 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8632 (build-system haskell-build-system)
8633 (inputs
8634 `(("ghc-stringsearch" ,ghc-stringsearch)
8635 ("ghc-conduit" ,ghc-conduit)
8636 ("ghc-exceptions" ,ghc-exceptions)
8637 ("ghc-hunit" ,ghc-hunit)
8638 ("ghc-tasty" ,ghc-tasty)
8639 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8640 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8641 ("ghc-tasty-th" ,ghc-tasty-th)))
8642 (home-page "https://hackage.haskell.org/package/sandi")
8643 (synopsis "Data encoding library")
8644 (description "Reasonably fast data encoding library.")
8645 (license license:bsd-3)))
8646
8647(define-public ghc-scientific
8648 (package
8649 (name "ghc-scientific")
8650 (version "0.3.6.2")
8651 (source
8652 (origin
8653 (method url-fetch)
8654 (uri (string-append
8655 "https://hackage.haskell.org/package/scientific/scientific-"
8656 version
8657 ".tar.gz"))
8658 (sha256
8659 (base32
8660 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8661 (build-system haskell-build-system)
8662 (inputs
8663 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8664 ("ghc-hashable" ,ghc-hashable)
8665 ("ghc-primitive" ,ghc-primitive)))
8666 (native-inputs
8667 `(("ghc-tasty" ,ghc-tasty)
8668 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8669 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8670 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8671 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8672 ("ghc-smallcheck" ,ghc-smallcheck)
8673 ("ghc-quickcheck" ,ghc-quickcheck)))
8674 (home-page "https://github.com/basvandijk/scientific")
8675 (synopsis "Numbers represented using scientific notation")
8676 (description "This package provides @code{Data.Scientific}, which provides
8677the number type @code{Scientific}. Scientific numbers are arbitrary precision
8678and space efficient. They are represented using
8679@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
8680notation}.")
8681 (license license:bsd-3)))
8682
8683(define-public ghc-scientific-bootstrap
8684 (package
8685 (inherit ghc-scientific)
8686 (name "ghc-scientific-bootstrap")
8687 (arguments `(#:tests? #f))
8688 (inputs
8689 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
8690 ("ghc-hashable" ,ghc-hashable)
8691 ("ghc-primitive" ,ghc-primitive)))
8692 (native-inputs '())
799d8d3c 8693 (properties '((hidden? #t)))))
dddbc90c
RV
8694
8695(define-public ghc-sdl
8696 (package
8697 (name "ghc-sdl")
8698 (version "0.6.7.0")
8699 (source
8700 (origin
8701 (method url-fetch)
8702 (uri (string-append
8703 "https://hackage.haskell.org/package/SDL/SDL-"
8704 version
8705 ".tar.gz"))
8706 (sha256
8707 (base32
8708 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
8709 (build-system haskell-build-system)
8710 (inputs
8711 `(("sdl" ,sdl)))
8712 (home-page "https://hackage.haskell.org/package/SDL")
8713 (synopsis "LibSDL for Haskell")
8714 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
8715multimedia library designed to provide low level access to audio, keyboard,
8716mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
8717by MPEG playback software, emulators, and many popular games, including the
8718award winning Linux port of \"Civilization: Call To Power.\"")
8719 (license license:bsd-3)))
8720
1874cdc1
RV
8721(define-public ghc-sdl2
8722 (package
8723 (name "ghc-sdl2")
8724 (version "2.4.1.0")
8725 (source
8726 (origin
8727 (method url-fetch)
8728 (uri (string-append "https://hackage.haskell.org/package/"
8729 "sdl2/sdl2-" version ".tar.gz"))
8730 (sha256
8731 (base32
8732 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
8733 (build-system haskell-build-system)
8734 (arguments '(#:tests? #f)) ; tests require graphical environment
8735 (inputs
8736 `(("ghc-exceptions" ,ghc-exceptions)
8737 ("ghc-linear" ,ghc-linear)
8738 ("ghc-statevar" ,ghc-statevar)
8739 ("ghc-vector" ,ghc-vector)
8740 ("sdl2" ,sdl2)))
8741 (native-inputs
8742 `(("ghc-weigh" ,ghc-weigh)
8743 ("pkg-config" ,pkg-config)))
8744 (home-page "http://hackage.haskell.org/package/sdl2")
8745 (synopsis "High- and low-level bindings to the SDL library")
8746 (description
8747 "This package contains bindings to the SDL 2 library, in both high- and
8748low-level forms. The @code{SDL} namespace contains high-level bindings, where
8749enumerations are split into sum types, and we perform automatic
8750error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
8751translation of the C API into Haskell FFI calls. As such, this does not
8752contain sum types nor error checking. Thus this namespace is suitable for
8753building your own abstraction over SDL, but is not recommended for day-to-day
8754programming.")
8755 (license license:bsd-3)))
8756
8757(define-public ghc-sdl2-image
8758 (package
8759 (name "ghc-sdl2-image")
8760 (version "2.0.0")
8761 (source
8762 (origin
8763 (method url-fetch)
8764 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
8765 "sdl2-image-" version ".tar.gz"))
8766 (sha256
8767 (base32
8768 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
8769 (build-system haskell-build-system)
8770 (inputs
8771 `(("ghc-sdl2" ,ghc-sdl2)
8772 ("sdl2-image" ,sdl2-image)))
8773 (native-inputs
8774 `(("pkg-config" ,pkg-config)))
8775 (home-page "http://hackage.haskell.org/package/sdl2-image")
8776 (synopsis "Bindings to SDL2_image")
8777 (description "This package provides Haskell bindings to
8778@code{SDL2_image}.")
8779 (license license:expat)))
8780
8781(define-public ghc-sdl2-mixer
8782 (package
8783 (name "ghc-sdl2-mixer")
8784 (version "1.1.0")
8785 (source
8786 (origin
8787 (method url-fetch)
8788 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
8789 "sdl2-mixer-" version ".tar.gz"))
8790 (sha256
8791 (base32
8792 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
8793 (build-system haskell-build-system)
8794 (inputs
8795 `(("ghc-data-default-class" ,ghc-data-default-class)
8796 ("ghc-lifted-base" ,ghc-lifted-base)
8797 ("ghc-monad-control" ,ghc-monad-control)
8798 ("ghc-sdl2" ,ghc-sdl2)
8799 ("ghc-vector" ,ghc-vector)
8800 ("sdl2-mixer" ,sdl2-mixer)))
8801 (native-inputs
8802 `(("pkg-config" ,pkg-config)))
8803 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
8804 (synopsis "Bindings to SDL2 mixer")
8805 (description "This package provides Haskell bindings to
8806@code{SDL2_mixer}.")
8807 (license license:bsd-3)))
8808
dddbc90c
RV
8809(define-public ghc-sdl-image
8810 (package
8811 (name "ghc-sdl-image")
8812 (version "0.6.2.0")
8813 (source
8814 (origin
8815 (method url-fetch)
8816 (uri (string-append
8817 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
8818 version
8819 ".tar.gz"))
8820 (sha256
8821 (base32
8822 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
8823 (build-system haskell-build-system)
8824 (arguments
8825 `(#:configure-flags
8826 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
8827 (sdl-image-include (string-append sdl-image "/include/SDL")))
8828 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
8829 (inputs
8830 `(("ghc-sdl" ,ghc-sdl)
8831 ("sdl-image" ,sdl-image)))
8832 (home-page "https://hackage.haskell.org/package/SDL-image")
8833 (synopsis "Haskell bindings to libSDL_image")
8834 (description "SDL_image is an image file loading library. It loads images
8835as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
8836PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
8837 (license license:bsd-3)))
8838
8839(define-public ghc-sdl-mixer
8840 (package
8841 (name "ghc-sdl-mixer")
8842 (version "0.6.3.0")
8843 (source
8844 (origin
8845 (method url-fetch)
8846 (uri (string-append
8847 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
8848 version
8849 ".tar.gz"))
8850 (sha256
8851 (base32
8852 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
8853 (build-system haskell-build-system)
8854 (arguments
8855 `(#:configure-flags
8856 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
8857 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
8858 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
8859 (inputs
8860 `(("ghc-sdl" ,ghc-sdl)
8861 ("sdl-mixer" ,sdl-mixer)))
8862 (home-page "https://hackage.haskell.org/package/SDL-mixer")
8863 (synopsis "Haskell bindings to libSDL_mixer")
8864 (description "SDL_mixer is a sample multi-channel audio mixer library. It
8865supports any number of simultaneously playing channels of 16 bit stereo audio,
8866plus a single channel of music, mixed by the popular MikMod MOD, Timidity
8867MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
8868 (license license:bsd-3)))
8869
8870(define-public ghc-securemem
8871 (package
8872 (name "ghc-securemem")
8873 (version "0.1.10")
8874 (source
8875 (origin
8876 (method url-fetch)
8877 (uri (string-append "https://hackage.haskell.org/package/"
8878 "securemem-" version "/"
8879 "securemem-" version ".tar.gz"))
8880 (sha256
8881 (base32
8882 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
8883 (build-system haskell-build-system)
8884 (inputs `(("ghc-byteable" ,ghc-byteable)
8885 ("ghc-memory" ,ghc-memory)))
8886 (home-page "https://github.com/vincenthz/hs-securemem")
8887 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
8888Haskell")
8889 (description "SecureMem is similar to ByteString, except that it provides
8890a memory chunk that will be auto-scrubbed after it run out of scope.")
8891 (license license:bsd-3)))
8892
8893(define-public ghc-semigroupoids
8894 (package
8895 (name "ghc-semigroupoids")
8896 (version "5.2.2")
8897 (source
8898 (origin
8899 (method url-fetch)
8900 (uri (string-append
8901 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
8902 version
8903 ".tar.gz"))
8904 (sha256
8905 (base32
8906 "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
8907 (build-system haskell-build-system)
8908 (arguments
8909 `(#:cabal-revision
8910 ("4" "0pqfrxzypjq6z8lgdkzq4vhcyqkpk5326hny0r6snpc3gm78r4ij")))
8911 (inputs
8912 `(("ghc-base-orphans" ,ghc-base-orphans)
8913 ("ghc-transformers-compat" ,ghc-transformers-compat)
8914 ("ghc-bifunctors" ,ghc-bifunctors)
8915 ("ghc-comonad" ,ghc-comonad)
8916 ("ghc-contravariant" ,ghc-contravariant)
8917 ("ghc-distributive" ,ghc-distributive)
8918 ("ghc-hashable" ,ghc-hashable)
8919 ("ghc-semigroups" ,ghc-semigroups)
8920 ("ghc-tagged" ,ghc-tagged)
8921 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8922 (native-inputs
8923 `(("cabal-doctest" ,cabal-doctest)
8924 ("ghc-doctest" ,ghc-doctest)))
8925 (home-page "https://github.com/ekmett/semigroupoids")
8926 (synopsis "Semigroupoids operations for Haskell")
8927 (description "This library provides a wide array of (semi)groupoids and
8928operations for working with them. A @code{Semigroupoid} is a @code{Category}
8929without the requirement of identity arrows for every object in the category.
8930A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
8931Finally, to work with these weaker structures it is beneficial to have
8932containers that can provide stronger guarantees about their contents, so
8933versions of @code{Traversable} and @code{Foldable} that can be folded with
8934just a @code{Semigroup} are added.")
8935 (license license:bsd-3)))
8936
8937(define-public ghc-semigroups
8938 (package
8939 (name "ghc-semigroups")
8940 (version "0.18.5")
8941 (source
8942 (origin
8943 (method url-fetch)
8944 (uri (string-append
8945 "https://hackage.haskell.org/package/semigroups/semigroups-"
8946 version
8947 ".tar.gz"))
8948 (sha256
8949 (base32
8950 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
8951 (build-system haskell-build-system)
8952 (inputs
8953 `(("ghc-nats" ,ghc-nats)
8954 ("ghc-tagged" ,ghc-tagged)
8955 ("ghc-unordered-containers" ,ghc-unordered-containers)
8956 ("ghc-hashable" ,ghc-hashable)))
8957 (home-page "https://github.com/ekmett/semigroups/")
8958 (synopsis "Semigroup operations for Haskell")
8959 (description "This package provides semigroups for Haskell. In
8960mathematics, a semigroup is an algebraic structure consisting of a set
8961together with an associative binary operation. A semigroup generalizes a
8962monoid in that there might not exist an identity element. It
8963also (originally) generalized a group (a monoid with all inverses) to a type
8964where every element did not have to have an inverse, thus the name
8965semigroup.")
8966 (license license:bsd-3)))
8967
8968(define-public ghc-semigroups-bootstrap
8969 (package
8970 (inherit ghc-semigroups)
8971 (name "ghc-semigroups-bootstrap")
8972 (inputs
8973 `(("ghc-nats" ,ghc-nats-bootstrap)
8974 ("ghc-tagged" ,ghc-tagged)
8975 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
8976 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 8977 (properties '((hidden? #t)))))
dddbc90c
RV
8978
8979(define-public ghc-setenv
8980 (package
8981 (name "ghc-setenv")
8982 (version "0.1.1.3")
8983 (source
8984 (origin
8985 (method url-fetch)
8986 (uri (string-append
8987 "https://hackage.haskell.org/package/setenv/setenv-"
8988 version
8989 ".tar.gz"))
8990 (sha256
8991 (base32
8992 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
8993 (build-system haskell-build-system)
8994 (home-page "https://hackage.haskell.org/package/setenv")
8995 (synopsis "Library for setting environment variables")
8996 (description "This package provides a Haskell library for setting
8997environment variables.")
8998 (license license:expat)))
8999
9000(define-public ghc-setlocale
9001 (package
9002 (name "ghc-setlocale")
9003 (version "1.0.0.8")
9004 (source (origin
9005 (method url-fetch)
9006 (uri (string-append
9007 "https://hackage.haskell.org/package/setlocale-"
9008 version "/setlocale-" version ".tar.gz"))
9009 (sha256
9010 (base32
9011 "0sdrsmkhw08483d73ysgm2926fdbhii61br03lqpqw0lfzj4ilbd"))))
9012 (build-system haskell-build-system)
9013 (home-page "https://hackage.haskell.org/package/setlocale")
9014 (synopsis "Haskell bindings to setlocale")
9015 (description "This package provides Haskell bindings to the
9016@code{setlocale} C function.")
9017 (license license:bsd-3)))
9018
9019(define-public ghc-shakespeare
9020 (package
9021 (name "ghc-shakespeare")
9022 (version "2.0.15")
9023 (source
9024 (origin
9025 (method url-fetch)
9026 (uri (string-append "https://hackage.haskell.org/package/"
9027 "shakespeare-" version "/"
9028 "shakespeare-" version ".tar.gz"))
9029 (sha256
9030 (base32
9031 "1vk4b19zvwy4mpwaq9z3l3kfmz75gfyf7alhh0y112gspgpccm23"))))
9032 (build-system haskell-build-system)
9033 (inputs `(("ghc-aeson" ,ghc-aeson)
9034 ("ghc-blaze-markup" ,ghc-blaze-markup)
9035 ("ghc-blaze-html" ,ghc-blaze-html)
9036 ("ghc-exceptions" ,ghc-exceptions)
9037 ("ghc-vector" ,ghc-vector)
9038 ("ghc-unordered-containers" ,ghc-unordered-containers)
9039 ("ghc-scientific" ,ghc-scientific)))
9040 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9041 ("ghc-hunit" ,ghc-hunit)
9042 ("hspec-discover" ,hspec-discover)))
9043 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9044 (synopsis "Family of type-safe template languages for Haskell")
9045 (description "This Haskell package provides a family of type-safe
9046templates with simple variable interpolation. Shakespeare templates can
9047be used inline with a quasi-quoter or in an external file and it
9048interpolates variables according to the type being inserted.")
9049 (license license:expat)))
9050
9051(define-public ghc-shelly
9052 (package
9053 (name "ghc-shelly")
9054 (version "1.8.1")
9055 (source
9056 (origin
9057 (method url-fetch)
9058 (uri (string-append
9059 "https://hackage.haskell.org/package/shelly/shelly-"
9060 version ".tar.gz"))
9061 (sha256
9062 (base32
9063 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9064 (build-system haskell-build-system)
9065 (inputs
9066 `(("ghc-unix-compat" ,ghc-unix-compat)
9067 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9068 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9069 ("ghc-monad-control" ,ghc-monad-control)
9070 ("ghc-lifted-base" ,ghc-lifted-base)
9071 ("ghc-lifted-async" ,ghc-lifted-async)
9072 ("ghc-exceptions" ,ghc-exceptions)
9073 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9074 ("ghc-async" ,ghc-async)
9075 ("ghc-transformers-base" ,ghc-transformers-base)
9076 ("ghc-hunit" ,ghc-hunit)
9077 ("ghc-hspec" ,ghc-hspec)
9078 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9079 (home-page "https://github.com/yesodweb/Shelly.hs")
9080 (synopsis "Shell-like (systems) programming in Haskell")
9081 (description
9082 "Shelly provides convenient systems programming in Haskell, similar in
9083spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9084 (license license:bsd-3)))
9085
9086(define-public ghc-silently
9087 (package
9088 (name "ghc-silently")
9089 (version "1.2.5")
9090 (source
9091 (origin
9092 (method url-fetch)
9093 (uri (string-append
9094 "https://hackage.haskell.org/package/silently/silently-"
9095 version
9096 ".tar.gz"))
9097 (sha256
9098 (base32
9099 "0f9qm3f7y0hpxn6mddhhg51mm1r134qkvd2kr8r6192ka1ijbxnf"))))
9100 (build-system haskell-build-system)
9101 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9102 ;; (inputs
9103 ;; `(("ghc-temporary" ,ghc-temporary)))
9104 (home-page "https://github.com/hspec/silently")
9105 (synopsis "Prevent writing to stdout")
9106 (description "This package provides functions to prevent or capture
9107writing to stdout and other handles.")
9108 (license license:bsd-3)))
9109
9110(define-public ghc-simple-reflect
9111 (package
9112 (name "ghc-simple-reflect")
9113 (version "0.3.3")
9114 (source
9115 (origin
9116 (method url-fetch)
9117 (uri (string-append
9118 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9119 version
9120 ".tar.gz"))
9121 (sha256
9122 (base32
9123 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9124 (build-system haskell-build-system)
9125 (home-page
9126 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9127 (synopsis
9128 "Simple reflection of expressions containing variables")
9129 (description
9130 "This package allows simple reflection of expressions containing
9131variables. Reflection here means that a Haskell expression is turned into a
9132string. The primary aim of this package is teaching and understanding; there
9133are no options for manipulating the reflected expressions beyond showing
9134them.")
9135 (license license:bsd-3)))
9136
9137(define-public ghc-simple-sendfile
9138 (package
9139 (name "ghc-simple-sendfile")
9140 (version "0.2.27")
9141 (source
9142 (origin
9143 (method url-fetch)
9144 (uri (string-append "https://hackage.haskell.org/package/"
9145 "simple-sendfile-" version "/"
9146 "simple-sendfile-" version ".tar.gz"))
9147 (sha256
9148 (base32
9149 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
9150 (build-system haskell-build-system)
9151 (inputs
9152 `(("ghc-conduit" ,ghc-conduit)
9153 ("ghc-conduit-extra" ,ghc-conduit-extra)
9154 ("ghc-network" ,ghc-network)
9155 ("ghc-resourcet" ,ghc-resourcet)))
9156 (native-inputs
9157 `(("ghc-hspec" ,ghc-hspec)
9158 ("hspec-discover" ,hspec-discover)))
9159 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9160 (synopsis "Cross platform library for the sendfile system call")
9161 (description "This library tries to call minimum system calls which
9162are the bottleneck of web servers.")
9163 (license license:bsd-3)))
9164
9165(define-public ghc-skylighting-core
9166 (package
9167 (name "ghc-skylighting-core")
9168 (version "0.7.2")
9169 (source (origin
9170 (method url-fetch)
9171 (uri (string-append "https://hackage.haskell.org/package/"
9172 "skylighting-core/skylighting-core-"
9173 version ".tar.gz"))
9174 (sha256
9175 (base32
9176 "066fwmwsd7xcvwlinfk2izlzq0xp8697i6lnbgsbl71jdybyackq"))))
9177 (build-system haskell-build-system)
9178 (inputs
9179 `(("ghc-aeson" ,ghc-aeson)
9180 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9181 ("ghc-attoparsec" ,ghc-attoparsec)
9182 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9183 ("ghc-blaze-html" ,ghc-blaze-html)
9184 ("ghc-case-insensitive" ,ghc-case-insensitive)
9185 ("ghc-colour" ,ghc-colour)
9186 ("ghc-hxt" ,ghc-hxt)
9187 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9188 ("ghc-safe" ,ghc-safe)
9189 ("ghc-utf8-string" ,ghc-utf8-string)))
9190 (native-inputs
9191 `(("ghc-diff" ,ghc-diff)
9192 ("ghc-hunit" ,ghc-hunit)
9193 ("ghc-pretty-show" ,ghc-pretty-show)
9194 ("ghc-quickcheck" ,ghc-quickcheck)
9195 ("ghc-tasty" ,ghc-tasty)
9196 ("ghc-tasty-golden" ,ghc-tasty-golden)
9197 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9198 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9199 (home-page "https://github.com/jgm/skylighting")
9200 (synopsis "Syntax highlighting library")
9201 (description "Skylighting is a syntax highlighting library with support
9202for over one hundred languages. It derives its tokenizers from XML syntax
9203definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9204supported by that framework can be added. An optional command-line program is
9205provided. Skylighting is intended to be the successor to highlighting-kate.")
9206 (license license:gpl2)))
9207
9208(define-public ghc-skylighting
9209 (package
9210 (inherit ghc-skylighting-core)
9211 (name "ghc-skylighting")
9212 (version "0.7.2")
9213 (source (origin
9214 (method url-fetch)
9215 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9216 version "/skylighting-" version ".tar.gz"))
9217 (sha256
9218 (base32
9219 "1rh3z1a7a4clvksdw1qlpmhxqkfahwypi70k91whgfamzsqpxdch"))))
9220 (inputs
9221 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9222 ,@(package-inputs ghc-skylighting-core)))))
9223
9224(define-public ghc-smallcheck
9225 (package
9226 (name "ghc-smallcheck")
9227 (version "1.1.5")
9228 (source
9229 (origin
9230 (method url-fetch)
9231 (uri (string-append
9232 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9233 version
9234 ".tar.gz"))
9235 (sha256
9236 (base32
9237 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9238 (build-system haskell-build-system)
9239 (inputs
9240 `(("ghc-logict" ,ghc-logict)))
9241 (home-page
9242 "https://github.com/feuerbach/smallcheck")
9243 (synopsis "Property-based testing library")
9244 (description "SmallCheck is a testing library that allows to verify
9245properties for all test cases up to some depth. The test cases are generated
9246automatically by SmallCheck.")
9247 (license license:bsd-3)))
9248
9249(define-public ghc-socks
9250 (package
9251 (name "ghc-socks")
9252 (version "0.5.6")
9253 (source (origin
9254 (method url-fetch)
9255 (uri (string-append "https://hackage.haskell.org/package/"
9256 "socks/socks-" version ".tar.gz"))
9257 (sha256
9258 (base32
9259 "0f44qy74i0n6ll3jym0a2ipafkpw1h67amcpqmj8iq95h21wsqzs"))))
9260 (build-system haskell-build-system)
9261 (inputs
9262 `(("ghc-cereal" ,ghc-cereal)
9263 ("ghc-network" ,ghc-network)))
9264 (home-page "https://github.com/vincenthz/hs-socks")
9265 (synopsis "SOCKS proxy (version 5) implementation")
9266 (description
9267 "This library provides a SOCKS proxy (version 5) implementation.")
9268 (license license:bsd-3)))
9269
9270(define-public ghc-split
9271 (package
9272 (name "ghc-split")
9273 (version "0.2.3.3")
9274 (outputs '("out" "doc"))
9275 (source
9276 (origin
9277 (method url-fetch)
9278 (uri (string-append
9279 "https://hackage.haskell.org/package/split/split-"
9280 version
9281 ".tar.gz"))
9282 (sha256
9283 (base32
9284 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9285 (build-system haskell-build-system)
9286 (native-inputs
9287 `(("ghc-quickcheck" ,ghc-quickcheck)))
9288 (home-page "https://hackage.haskell.org/package/split")
9289 (synopsis "Combinator library for splitting lists")
9290 (description "This package provides a collection of Haskell functions for
9291splitting lists into parts, akin to the @code{split} function found in several
9292mainstream languages.")
9293 (license license:bsd-3)))
9294
9295(define-public ghc-statevar
9296 (package
9297 (name "ghc-statevar")
9298 (version "1.1.1.1")
9299 (source
9300 (origin
9301 (method url-fetch)
9302 (uri (string-append
9303 "https://hackage.haskell.org/package/StateVar/StateVar-"
9304 version
9305 ".tar.gz"))
9306 (sha256
9307 (base32
9308 "08r2iw0gdmfs4f6wraaq19vfmkjdbics3dbhw39y7mdjd98kcr7b"))))
9309 (build-system haskell-build-system)
9310 (home-page "https://hackage.haskell.org/package/StateVar")
9311 (synopsis "State variables for Haskell")
9312 (description "This package provides state variables, which are references
9313in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9314 (license license:bsd-3)))
9315
9316(define-public ghc-statistics
9317 (package
9318 (name "ghc-statistics")
9319 (version "0.14.0.2")
9320 (source
9321 (origin
9322 (method url-fetch)
9323 (uri (string-append "https://hackage.haskell.org/package/"
9324 "statistics-" version "/"
9325 "statistics-" version ".tar.gz"))
9326 (sha256
9327 (base32
9328 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
9329 (build-system haskell-build-system)
9330 (arguments
9331 '(#:cabal-revision
9332 ("2" "1bx70yqkn62ii17fjv3pig4hklrzkqd09zj67zzjiyjzmn04fir3")
9333 ;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
9334 #:tests? #f))
9335 (inputs
9336 `(("ghc-aeson" ,ghc-aeson)
9337 ("ghc-base-orphans" ,ghc-base-orphans)
9338 ("ghc-erf" ,ghc-erf)
9339 ("ghc-math-functions" ,ghc-math-functions)
9340 ("ghc-monad-par" ,ghc-monad-par)
9341 ("ghc-mwc-random" ,ghc-mwc-random)
9342 ("ghc-primitive" ,ghc-primitive)
9343 ("ghc-vector" ,ghc-vector)
9344 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9345 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9346 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9347 (native-inputs
9348 `(("ghc-hunit" ,ghc-hunit)
9349 ("ghc-quickcheck" ,ghc-quickcheck)
9350 ("ghc-ieee754" ,ghc-ieee754)
9351 ("ghc-test-framework" ,ghc-test-framework)
9352 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9353 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9354 (home-page "https://github.com/bos/mwc-random")
9355 (synopsis "Haskell library of statistical types, data, and functions")
9356 (description "This library provides a number of common functions
9357and types useful in statistics. We focus on high performance, numerical
9358robustness, and use of good algorithms. Where possible, we provide references
9359to the statistical literature.
9360
9361The library's facilities can be divided into four broad categories:
9362
9363@itemize
9364@item Working with widely used discrete and continuous probability
9365distributions. (There are dozens of exotic distributions in use; we focus
9366on the most common.)
9367
9368@item Computing with sample data: quantile estimation, kernel density
9369estimation, histograms, bootstrap methods, significance testing,
9370and regression and autocorrelation analysis.
9371
9372@item Random variate generation under several different distributions.
9373
9374@item Common statistical tests for significant differences between samples.
9375@end itemize")
9376 (license license:bsd-2)))
9377
9378(define-public ghc-stm-chans
9379 (package
9380 (name "ghc-stm-chans")
9381 (version "3.0.0.4")
9382 (source
9383 (origin
9384 (method url-fetch)
9385 (uri (string-append "https://hackage.haskell.org/package/"
9386 "stm-chans-" version "/"
9387 "stm-chans-" version ".tar.gz"))
9388 (sha256
9389 (base32
9390 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9391 (build-system haskell-build-system)
9392 (home-page "https://hackage.haskell.org/package/stm-chans")
9393 (synopsis "Additional types of channels for ghc-stm")
9394 (description "This Haskell package offers a collection of channel types,
9395similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9396features.")
9397 (license license:bsd-3)))
9398
9399(define-public ghc-stm-conduit
9400 (package
9401 (name "ghc-stm-conduit")
9402 (version "4.0.0")
9403 (source
9404 (origin
9405 (method url-fetch)
9406 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9407 "stm-conduit-" version ".tar.gz"))
9408 (sha256
9409 (base32
9410 "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
9411 (build-system haskell-build-system)
9412 (inputs
9413 `(("ghc-stm-chans" ,ghc-stm-chans)
9414 ("ghc-cereal" ,ghc-cereal)
9415 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9416 ("ghc-conduit" ,ghc-conduit)
9417 ("ghc-conduit-extra" ,ghc-conduit-extra)
9418 ("ghc-exceptions" ,ghc-exceptions)
9419 ("ghc-resourcet" ,ghc-resourcet)
9420 ("ghc-async" ,ghc-async)
9421 ("ghc-monad-loops" ,ghc-monad-loops)
9422 ("ghc-unliftio" ,ghc-unliftio)))
9423 (native-inputs
9424 `(("ghc-doctest" ,ghc-doctest)
9425 ("ghc-quickcheck" ,ghc-quickcheck)
9426 ("ghc-hunit" ,ghc-hunit)
9427 ("ghc-test-framework" ,ghc-test-framework)
9428 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9429 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9430 (home-page "https://github.com/cgaebel/stm-conduit")
9431 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9432 (description
9433 "This package provides two simple conduit wrappers around STM channels: a
9434source and a sink.")
9435 (license license:bsd-3)))
9436
9437(define-public ghc-stmonadtrans
9438 (package
9439 (name "ghc-stmonadtrans")
9440 (version "0.4.3")
9441 (source
9442 (origin
9443 (method url-fetch)
9444 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9445 "/STMonadTrans-" version ".tar.gz"))
9446 (sha256
9447 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9448 (build-system haskell-build-system)
9449 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9450 (synopsis "Monad transformer version of the ST monad")
9451 (description
9452 "This package provides a monad transformer version of the @code{ST} monad
9453for strict state threads.")
9454 (license license:bsd-3)))
9455
9456(define-public ghc-storable-complex
9457 (package
9458 (name "ghc-storable-complex")
9459 (version "0.2.2")
9460 (source
9461 (origin
9462 (method url-fetch)
9463 (uri (string-append
9464 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9465 version ".tar.gz"))
9466 (sha256
9467 (base32 "01kwwkpbfjrv26vj83cd92px5qbq1bpgxj0r45534aksqhany1xb"))))
9468 (build-system haskell-build-system)
9469 (home-page "https://github.com/cartazio/storable-complex")
9470 (synopsis "Haskell Storable instance for Complex")
9471 (description "This package provides a Haskell library including a
9472Storable instance for Complex which is binary compatible with C99, C++
9473and Fortran complex data types.")
9474 (license license:bsd-3)))
9475
ad80074a
JS
9476(define-public ghc-storable-record
9477 (package
9478 (name "ghc-storable-record")
9479 (version "0.0.4")
9480 (source
9481 (origin
9482 (method url-fetch)
9483 (uri
9484 (string-append
9485 "https://hackage.haskell.org/package/storable-record/"
9486 "storable-record-" version ".tar.gz"))
9487 (sha256
9488 (base32
9489 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
9490 (build-system haskell-build-system)
9491 (inputs
9492 `(("ghc-semigroups" ,ghc-semigroups)
9493 ("ghc-utility-ht" ,ghc-utility-ht)
9494 ("ghc-storablevector" ,ghc-storablevector)
9495 ("ghc-timeit" ,ghc-timeit)))
9496 (home-page "https://hackage.haskell.org/package/storable-record")
9497 (synopsis "Elegant definition of Storable instances for records")
9498 (description "With this package you can build a Storable instance of
9499a record type from Storable instances of its elements in an elegant way.
9500It does not do any magic, just a bit arithmetic to compute the right
9501offsets, that would be otherwise done manually or by a preprocessor like
9502C2HS. There is no guarantee that the generated memory layout is
9503compatible with that of a corresponding C struct. However, the module
9504generates the smallest layout that is possible with respect to the
9505alignment of the record elements.")
9506 (license license:bsd-3)))
9507
55f4c653
JS
9508(define-public ghc-storable-tuple
9509 (package
9510 (name "ghc-storable-tuple")
9511 (version "0.0.3.3")
9512 (source
9513 (origin
9514 (method url-fetch)
9515 (uri
9516 (string-append
9517 "https://hackage.haskell.org/package/storable-tuple/"
9518 "storable-tuple-" version ".tar.gz"))
9519 (sha256
9520 (base32
9521 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
9522 (build-system haskell-build-system)
9523 (inputs
9524 `(("ghc-storable-record" ,ghc-storable-record)
9525 ("ghc-utility-ht" ,ghc-utility-ht)
9526 ("ghc-base-orphans" ,ghc-base-orphans)))
9527 (home-page "https://hackage.haskell.org/package/storable-tuple")
9528 (synopsis "Storable instance for pairs and triples")
9529 (description "This package provides a Storable instance for pairs
9530and triples which should be binary compatible with C99 and C++. The
9531only purpose of this package is to provide a standard location for this
9532instance so that other packages needing this instance can play nicely
9533together.")
9534 (license license:bsd-3)))
9535
bc06ca45
JS
9536(define-public ghc-storablevector
9537 (package
9538 (name "ghc-storablevector")
9539 (version "0.2.13")
9540 (source
9541 (origin
9542 (method url-fetch)
9543 (uri
9544 (string-append
9545 "https://hackage.haskell.org/package/storablevector/storablevector-"
9546 version ".tar.gz"))
9547 (sha256
9548 (base32
9549 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
9550 (build-system haskell-build-system)
9551 (inputs
9552 `(("ghc-non-negative" ,ghc-non-negative)
9553 ("ghc-utility-ht" ,ghc-utility-ht)
9554 ("ghc-semigroups" ,ghc-semigroups)
9555 ("ghc-unsafe" ,ghc-unsafe)
9556 ("ghc-quickcheck" ,ghc-quickcheck)
9557 ("ghc-syb" ,ghc-syb)))
9558 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
9559 (synopsis "Fast, packed, strict storable arrays with a list interface")
9560 (description "This library provides fast, packed, strict storable
9561arrays with a list interface, a chunky lazy list interface with variable
9562chunk size and an interface for write access via the ST monad. This is
9563much like bytestring and binary but can be used for every
9564@code{Foreign.Storable.Storable} type. See also
9565@url{http://hackage.haskell.org/package/vector}, a library with a
9566similar intention.
9567
9568This library does not do advanced fusion optimization, since especially
9569for lazy vectors this would either be incorrect or not applicable. See
9570@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
9571a library that provides fusion with lazy lists.")
9572 (license license:bsd-3)))
9573
dddbc90c
RV
9574(define-public ghc-streaming-commons
9575 (package
9576 (name "ghc-streaming-commons")
9577 (version "0.2.1.1")
9578 (source
9579 (origin
9580 (method url-fetch)
9581 (uri (string-append "https://hackage.haskell.org/package/"
9582 "streaming-commons/streaming-commons-"
9583 version ".tar.gz"))
9584 (sha256
9585 (base32
9586 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9587 (build-system haskell-build-system)
9588 (inputs
9589 `(("ghc-async" ,ghc-async)
9590 ("ghc-blaze-builder" ,ghc-blaze-builder)
9591 ("ghc-network" ,ghc-network)
9592 ("ghc-random" ,ghc-random)
9593 ("ghc-zlib" ,ghc-zlib)))
9594 (native-inputs
9595 `(("ghc-quickcheck" ,ghc-quickcheck)
9596 ("ghc-hspec" ,ghc-hspec)
9597 ("hspec-discover" ,hspec-discover)))
9598 (home-page "https://hackage.haskell.org/package/streaming-commons")
9599 (synopsis "Conduit and pipes needed by some streaming data libraries")
9600 (description "This package provides low-dependency functionality commonly
9601needed by various Haskell streaming data libraries, such as @code{conduit} and
9602@code{pipe}s.")
9603 (license license:expat)))
9604
9605(define-public ghc-strict
9606 (package
9607 (name "ghc-strict")
9608 (version "0.3.2")
9609 (source
9610 (origin
9611 (method url-fetch)
9612 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
9613 version ".tar.gz"))
9614 (sha256
9615 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
9616 (build-system haskell-build-system)
9617 (home-page "https://hackage.haskell.org/package/strict")
9618 (synopsis "Strict data types and String IO")
9619 (description
9620 "This package provides strict versions of some standard Haskell data
9621types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
9622IO operations.")
9623 (license license:bsd-3)))
9624
9625(define-public ghc-stringbuilder
9626 (package
9627 (name "ghc-stringbuilder")
9628 (version "0.5.1")
9629 (source
9630 (origin
9631 (method url-fetch)
9632 (uri (string-append
9633 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
9634 version
9635 ".tar.gz"))
9636 (sha256
9637 (base32
9638 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
9639 (build-system haskell-build-system)
9640 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
9641 ; enabled
9642 (home-page "https://hackage.haskell.org/package/stringbuilder")
9643 (synopsis "Writer monad for multi-line string literals")
9644 (description "This package provides a writer monad for multi-line string
9645literals.")
9646 (license license:expat)))
9647
9648(define-public ghc-string-qq
9649 (package
9650 (name "ghc-string-qq")
9651 (version "0.0.2")
9652 (source
9653 (origin
9654 (method url-fetch)
9655 (uri (string-append
9656 "https://hackage.haskell.org/package/string-qq/string-qq-"
9657 version
9658 ".tar.gz"))
9659 (sha256
9660 (base32
9661 "0662m3i5xrdrr95w829bszkhp88mj9iy1zya54vk2sl5hz9wlmwp"))))
9662 (build-system haskell-build-system)
9663 (home-page "http://hackage.haskell.org/package/string-qq")
9664 (synopsis
9665 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
9666 (description
9667 "This package provides a quasiquoter for non-interpolated strings, texts
9668and bytestrings.")
9669 (license license:public-domain)))
9670
9671(define-public ghc-stringsearch
9672 (package
9673 (name "ghc-stringsearch")
9674 (version "0.3.6.6")
9675 (source
9676 (origin
9677 (method url-fetch)
9678 (uri (string-append
9679 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
9680 version
9681 ".tar.gz"))
9682 (sha256
9683 (base32
9684 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
9685 (build-system haskell-build-system)
9686 (home-page "https://bitbucket.org/dafis/stringsearch")
9687 (synopsis "Fast searching, splitting and replacing of ByteStrings")
9688 (description "This package provides several functions to quickly search
9689for substrings in strict or lazy @code{ByteStrings}. It also provides
9690functions for breaking or splitting on substrings and replacing all
9691occurrences of a substring (the first in case of overlaps) with another.")
9692 (license license:bsd-3)))
9693
9694(define-public ghc-stylish-haskell
9695 (package
9696 (name "ghc-stylish-haskell")
9697 (version "0.9.2.1")
9698 (source
9699 (origin
9700 (method url-fetch)
9701 (uri (string-append
9702 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
9703 version
9704 ".tar.gz"))
9705 (sha256
9706 (base32
9707 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
9708 (build-system haskell-build-system)
9709 (inputs
9710 `(("ghc-aeson" ,ghc-aeson)
9711 ("ghc-file-embed" ,ghc-file-embed)
9712 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
9713 ("ghc-semigroups" ,ghc-semigroups)
9714 ("ghc-syb" ,ghc-syb)
9715 ("ghc-yaml" ,ghc-yaml)
9716 ("ghc-strict" ,ghc-strict)
9717 ("ghc-optparse-applicative"
9718 ,ghc-optparse-applicative)))
9719 (native-inputs
9720 `(("ghc-hunit" ,ghc-hunit)
9721 ("ghc-test-framework" ,ghc-test-framework)
9722 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
9723 (home-page "https://github.com/jaspervdj/stylish-haskell")
9724 (synopsis "Haskell code prettifier")
9725 (description "Stylish-haskell is a Haskell code prettifier. The goal is
9726not to format all of the code in a file, to avoid \"getting in the way\".
9727However, this tool can e.g. clean up import statements and help doing various
9728tasks that get tedious very quickly. It can
9729@itemize
9730@item
9731Align and sort @code{import} statements
9732@item
9733Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
9734pragmas
9735@item
9736Remove trailing whitespaces
9737@item
9738Align branches in @code{case} and fields in records
9739@item
9740Convert line endings (customisable)
9741@item
9742Replace tabs by four spaces (turned off by default)
9743@item
9744Replace some ASCII sequences by their Unicode equivalent (turned off by
9745default)
9746@end itemize")
9747 (license license:bsd-3)))
9748
9749(define-public ghc-syb
9750 (package
9751 (name "ghc-syb")
9752 (version "0.7")
9753 (outputs '("out" "doc"))
9754 (source
9755 (origin
9756 (method url-fetch)
9757 (uri (string-append
9758 "https://hackage.haskell.org/package/syb/syb-"
9759 version
9760 ".tar.gz"))
9761 (sha256
9762 (base32
9763 "1da2zz7gqm4xbkx5vpd74dayx1svaxyl145fl14mq15lbb77sxdq"))))
9764 (build-system haskell-build-system)
9765 (inputs
9766 `(("ghc-hunit" ,ghc-hunit)))
9767 (home-page
9768 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
9769 (synopsis "Scrap Your Boilerplate")
9770 (description "This package contains the generics system described in the
9771/Scrap Your Boilerplate/ papers (see
9772@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
9773defines the @code{Data} class of types permitting folding and unfolding of
9774constructor applications, instances of this class for primitive types, and a
9775variety of traversals.")
9776 (license license:bsd-3)))
9777
9778(define-public ghc-system-fileio
9779 (package
9780 (name "ghc-system-fileio")
9781 (version "0.3.16.3")
9782 (source
9783 (origin
9784 (method url-fetch)
9785 (uri (string-append
9786 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
9787 version ".tar.gz"))
9788 (sha256
9789 (base32
9790 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
9791 (build-system haskell-build-system)
9792 (inputs
9793 `(("ghc-system-filepath" ,ghc-system-filepath)
9794 ("ghc-chell" ,ghc-chell)
9795 ("ghc-temporary" ,ghc-temporary)))
9796 (home-page "https://github.com/fpco/haskell-filesystem")
9797 (synopsis "Consistent file system interaction across GHC versions")
9798 (description
9799 "This is a small wrapper around the directory, unix, and Win32 packages,
9800for use with system-filepath. It provides a consistent API to the various
9801versions of these packages distributed with different versions of GHC.
9802In particular, this library supports working with POSIX files that have paths
9803which can't be decoded in the current locale encoding.")
9804 (license license:expat)))
9805
9806;; See ghc-system-filepath-bootstrap. In addition this package depends on
9807;; ghc-system-filepath.
9808(define ghc-system-fileio-bootstrap
9809 (package
9810 (name "ghc-system-fileio-bootstrap")
9811 (version "0.3.16.3")
9812 (source
9813 (origin
9814 (method url-fetch)
9815 (uri (string-append
9816 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
9817 version ".tar.gz"))
9818 (sha256
9819 (base32
9820 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
9821 (build-system haskell-build-system)
9822 (arguments
9823 `(#:tests? #f))
9824 (inputs
9825 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9826 ("ghc-temporary" ,ghc-temporary)))
9827 (home-page "https://github.com/fpco/haskell-filesystem")
9828 (synopsis "Consistent file system interaction across GHC versions")
9829 (description
9830 "This is a small wrapper around the directory, unix, and Win32 packages,
9831for use with system-filepath. It provides a consistent API to the various
9832versions of these packages distributed with different versions of GHC.
9833In particular, this library supports working with POSIX files that have paths
9834which can't be decoded in the current locale encoding.")
9835 (license license:expat)))
9836
9837
9838(define-public ghc-system-filepath
9839 (package
9840 (name "ghc-system-filepath")
9841 (version "0.4.14")
9842 (source
9843 (origin
9844 (method url-fetch)
9845 (uri (string-append
9846 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
9847 version ".tar.gz"))
9848 (sha256
9849 (base32
9850 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
9851 (build-system haskell-build-system)
9852 ;; FIXME: One of the tests fails:
9853 ;; [ FAIL ] tests.validity.posix
9854 ;; note: seed=7310214548328823169
9855 ;; *** Failed! Falsifiable (after 24 tests):
9856 ;; 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"
9857 (arguments `(#:tests? #f))
9858 (inputs
9859 `(("ghc-chell" ,ghc-chell)
9860 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
9861 ("ghc-quickcheck" ,ghc-quickcheck)))
9862 (home-page "https://github.com/fpco/haskell-filesystem")
9863 (synopsis "High-level, byte-based file and directory path manipulations")
9864 (description
9865 "Provides a FilePath datatype and utility functions for operating on it.
9866Unlike the filepath package, this package does not simply reuse String,
9867increasing type safety.")
9868 (license license:expat)))
9869
9870;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
9871;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
9872;; which depends on ghc-chell and ghc-chell-quickcheck.
9873;; Therefore we bootstrap it with tests disabled.
9874(define ghc-system-filepath-bootstrap
9875 (package
9876 (name "ghc-system-filepath-bootstrap")
9877 (version "0.4.14")
9878 (source
9879 (origin
9880 (method url-fetch)
9881 (uri (string-append
9882 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
9883 version ".tar.gz"))
9884 (sha256
9885 (base32
9886 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
9887 (build-system haskell-build-system)
9888 (arguments
9889 `(#:tests? #f))
9890 (inputs
9891 `(("ghc-quickcheck" ,ghc-quickcheck)))
9892 (home-page "https://github.com/fpco/haskell-filesystem")
9893 (synopsis "High-level, byte-based file and directory path manipulations")
9894 (description
9895 "Provides a FilePath datatype and utility functions for operating on it.
9896Unlike the filepath package, this package does not simply reuse String,
9897increasing type safety.")
9898 (license license:expat)))
9899
9900
9901(define-public ghc-tagged
9902 (package
9903 (name "ghc-tagged")
9904 (version "0.8.5")
9905 (source
9906 (origin
9907 (method url-fetch)
9908 (uri (string-append
9909 "https://hackage.haskell.org/package/tagged/tagged-"
9910 version
9911 ".tar.gz"))
9912 (sha256
9913 (base32
9914 "16cdzh0bw16nvjnyyy5j9s60malhz4nnazw96vxb0xzdap4m2z74"))))
9915 (build-system haskell-build-system)
9916 (arguments
9917 `(#:cabal-revision
9918 ("2" "0r2knfcq0b4s652vlvlnfwxlc2mkc2ra9kl8bp4zdn1awmfy0ia5")))
9919 (inputs
9920 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
9921 (home-page "https://hackage.haskell.org/package/tagged")
9922 (synopsis "Haskell phantom types to avoid passing dummy arguments")
9923 (description "This library provides phantom types for Haskell 98, to avoid
9924having to unsafely pass dummy arguments.")
9925 (license license:bsd-3)))
9926
9927(define-public ghc-tar
9928 (package
9929 (name "ghc-tar")
9930 (version "0.5.1.0")
9931 (source
9932 (origin
9933 (method url-fetch)
9934 (uri (string-append
9935 "https://hackage.haskell.org/package/tar/tar-"
9936 version ".tar.gz"))
9937 (sha256
9938 (base32
9939 "0s2brvaxg5fki2jdkccmnpssiy6a3wjh24p6a3dkkdvjcixnk7f8"))))
9940 (build-system haskell-build-system)
9941 ;; FIXME: 2/24 tests fail.
9942 (arguments `(#:tests? #f))
9943 (inputs
9944 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
9945 ("ghc-quickcheck" ,ghc-quickcheck)
9946 ("ghc-tasty" ,ghc-tasty)
9947 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9948 (home-page "https://hackage.haskell.org/package/tar")
9949 (synopsis "Reading, writing and manipulating \".tar\" archive files")
9950 (description
9951 "This library is for working with \\\"@.tar@\\\" archive files.
9952It can read and write a range of common variations of the tar archive format
9953including V7, POSIX USTAR and GNU formats. It provides support for packing and
9954unpacking portable archives. This makes it suitable for distribution but not
9955backup because details like file ownership and exact permissions are not
9956preserved. It also provides features for random access to archive content using
9957an index.")
9958 (license license:bsd-3)))
9959
9960(define-public ghc-temporary
9961 (package
9962 (name "ghc-temporary")
9963 (version "1.3")
9964 (source
9965 (origin
9966 (method url-fetch)
9967 (uri (string-append
9968 "https://hackage.haskell.org/package/temporary/temporary-"
9969 version
9970 ".tar.gz"))
9971 (sha256
9972 (base32
9973 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
9974 (build-system haskell-build-system)
9975 (inputs
9976 `(("ghc-exceptions" ,ghc-exceptions)
9977 ("ghc-random" ,ghc-random)))
9978 (native-inputs
9979 `(("ghc-base-compat" ,ghc-base-compat)
9980 ("ghc-tasty" ,ghc-tasty)
9981 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9982 (home-page "https://www.github.com/batterseapower/temporary")
9983 (synopsis "Temporary file and directory support")
9984 (description "The functions for creating temporary files and directories
9985in the Haskelll base library are quite limited. This library just repackages
9986the Cabal implementations of its own temporary file and folder functions so
9987that you can use them without linking against Cabal or depending on it being
9988installed.")
9989 (license license:bsd-3)))
9990
9991(define-public ghc-temporary-rc
9992 (package
9993 (name "ghc-temporary-rc")
9994 (version "1.2.0.3")
9995 (source
9996 (origin
9997 (method url-fetch)
9998 (uri (string-append
9999 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10000 version
10001 ".tar.gz"))
10002 (sha256
10003 (base32
10004 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10005 (build-system haskell-build-system)
10006 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10007 (home-page
10008 "https://www.github.com/feuerbach/temporary")
10009 (synopsis
10010 "Portable temporary file and directory support")
10011 (description
10012 "The functions for creating temporary files and directories in the base
10013library are quite limited. The unixutils package contains some good ones, but
10014they aren't portable to Windows. This library just repackages the Cabal
10015implementations of its own temporary file and folder functions so that you can
10016use them without linking against Cabal or depending on it being installed.
10017This is a better maintained fork of the \"temporary\" package.")
10018 (license license:bsd-3)))
10019
10020(define-public ghc-terminal-size
10021 (package
10022 (name "ghc-terminal-size")
10023 (version "0.3.2.1")
10024 (source (origin
10025 (method url-fetch)
10026 (uri (string-append
10027 "https://hackage.haskell.org/package/terminal-size/"
10028 "terminal-size-" version ".tar.gz"))
10029 (sha256
10030 (base32
10031 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10032 (build-system haskell-build-system)
10033 (home-page "https://hackage.haskell.org/package/terminal-size")
10034 (synopsis "Get terminal window height and width")
10035 (description "Get terminal window height and width without ncurses
10036dependency.")
10037 (license license:bsd-3)))
10038
10039(define-public ghc-texmath
10040 (package
10041 (name "ghc-texmath")
10042 (version "0.11.0.1")
10043 (source (origin
10044 (method url-fetch)
10045 (uri (string-append "https://hackage.haskell.org/package/"
10046 "texmath/texmath-" version ".tar.gz"))
10047 (sha256
10048 (base32
10049 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
10050 (build-system haskell-build-system)
10051 (inputs
10052 `(("ghc-syb" ,ghc-syb)
10053 ("ghc-network-uri" ,ghc-network-uri)
10054 ("ghc-split" ,ghc-split)
10055 ("ghc-temporary" ,ghc-temporary)
10056 ("ghc-utf8-string" ,ghc-utf8-string)
10057 ("ghc-xml" ,ghc-xml)
10058 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10059 (home-page "https://github.com/jgm/texmath")
10060 (synopsis "Conversion between formats used to represent mathematics")
10061 (description
10062 "The texmath library provides functions to read and write TeX math,
10063presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10064Office). Support is also included for converting math formats to pandoc's
10065native format (allowing conversion, via pandoc, to a variety of different
10066markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10067it can parse and apply LaTeX macros.")
10068 (license license:gpl2+)))
10069
10070(define-public ghc-text-binary
10071 (package
10072 (name "ghc-text-binary")
10073 (version "0.2.1.1")
10074 (source
10075 (origin
10076 (method url-fetch)
10077 (uri (string-append "https://hackage.haskell.org/package/"
10078 "text-binary/text-binary-"
10079 version ".tar.gz"))
10080 (sha256
10081 (base32
10082 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10083 (build-system haskell-build-system)
10084 (home-page "https://github.com/kawu/text-binary")
10085 (synopsis "Binary instances for text types")
10086 (description
10087 "This package provides a compatibility layer providing @code{Binary}
10088instances for strict and lazy text types for versions older than 1.2.1 of the
10089text package.")
10090 (license license:bsd-2)))
10091
10092(define-public ghc-tf-random
10093 (package
10094 (name "ghc-tf-random")
10095 (version "0.5")
10096 (outputs '("out" "doc"))
10097 (source
10098 (origin
10099 (method url-fetch)
10100 (uri (string-append
10101 "https://hackage.haskell.org/package/tf-random/tf-random-"
10102 version
10103 ".tar.gz"))
10104 (sha256
10105 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10106 (build-system haskell-build-system)
10107 (inputs
10108 `(("ghc-primitive" ,ghc-primitive)
10109 ("ghc-random" ,ghc-random)))
10110 (home-page "https://hackage.haskell.org/package/tf-random")
10111 (synopsis "High-quality splittable pseudorandom number generator")
10112 (description "This package contains an implementation of a high-quality
10113splittable pseudorandom number generator. The generator is based on a
10114cryptographic hash function built on top of the ThreeFish block cipher. See
10115the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10116Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10117 (license license:bsd-3)))
10118
10119(define-public ghc-th-abstraction
10120 (package
10121 (name "ghc-th-abstraction")
10122 (version "0.2.8.0")
10123 (source
10124 (origin
10125 (method url-fetch)
10126 (uri (string-append "https://hackage.haskell.org/package/"
10127 "th-abstraction/th-abstraction-"
10128 version ".tar.gz"))
10129 (sha256
10130 (base32
10131 "0n17w4q2ykd0nica4sck2wng6md56rfad8x0icl0l8vnzb9nn4ya"))))
10132 (build-system haskell-build-system)
10133 (home-page "https://github.com/glguy/th-abstraction")
10134 (synopsis "Nicer interface for reified information about data types")
10135 (description
10136 "This package normalizes variations in the interface for inspecting
10137datatype information via Template Haskell so that packages and support a
10138single, easier to use informational datatype while supporting many versions of
10139Template Haskell.")
10140 (license license:isc)))
10141
10142(define-public ghc-th-expand-syns
10143 (package
10144 (name "ghc-th-expand-syns")
10145 (version "0.4.4.0")
10146 (source (origin
10147 (method url-fetch)
10148 (uri (string-append "https://hackage.haskell.org/package/"
10149 "th-expand-syns/th-expand-syns-"
10150 version ".tar.gz"))
10151 (sha256
10152 (base32
10153 "01prlvh3py5hq5ccjidfyp9ixq2zd88dkbsidyjrpkja6v8m43yc"))))
10154 (build-system haskell-build-system)
10155 (inputs
10156 `(("ghc-syb" ,ghc-syb)))
10157 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10158 (synopsis "Expands type synonyms in Template Haskell ASTs")
10159 (description
10160 "This package enables users to expand type synonyms in Template Haskell
10161@dfn{abstract syntax trees} (ASTs).")
10162 (license license:bsd-3)))
10163
10164(define-public ghc-th-lift
10165 (package
10166 (name "ghc-th-lift")
10167 (version "0.7.11")
10168 (source (origin
10169 (method url-fetch)
10170 (uri (string-append "https://hackage.haskell.org/package/"
10171 "th-lift/th-lift-" version ".tar.gz"))
10172 (sha256
10173 (base32
10174 "131360zxb0hazbqwbkk6ab2p77jkxr79bwwm618mrwrwkm3x2g6m"))))
10175 (build-system haskell-build-system)
10176 (inputs
10177 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10178 (home-page "https://github.com/mboes/th-lift")
10179 (synopsis "Derive Template Haskell's Lift class for datatypes")
10180 (description
10181 "This is a Haskell library to derive Template Haskell's Lift class for
10182datatypes.")
10183 (license license:bsd-3)))
10184
10185(define-public ghc-th-lift-instances
10186 (package
10187 (name "ghc-th-lift-instances")
10188 (version "0.1.11")
10189 (source
10190 (origin
10191 (method url-fetch)
10192 (uri (string-append "https://hackage.haskell.org/package/"
10193 "th-lift-instances/th-lift-instances-"
10194 version ".tar.gz"))
10195 (sha256
10196 (base32
10197 "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x"))))
10198 (build-system haskell-build-system)
10199 (inputs
10200 `(("ghc-th-lift" ,ghc-th-lift)
10201 ("ghc-vector" ,ghc-vector)
10202 ("ghc-quickcheck" ,ghc-quickcheck)))
10203 (home-page "https://github.com/bennofs/th-lift-instances/")
10204 (synopsis "Lift instances for template-haskell for common data types.")
10205 (description "Most data types in the Haskell platform do not have Lift
10206instances. This package provides orphan instances for @code{containers},
10207@code{text}, @code{bytestring} and @code{vector}.")
10208 (license license:bsd-3)))
10209
10210(define-public ghc-th-orphans
10211 (package
10212 (name "ghc-th-orphans")
10213 (version "0.13.6")
10214 (source (origin
10215 (method url-fetch)
10216 (uri (string-append "https://hackage.haskell.org/package/"
10217 "th-orphans/th-orphans-" version ".tar.gz"))
10218 (sha256
10219 (base32
10220 "0sfl3pn9kq9da3ji3lsgzgzy82vz6yvsg80dmakc1jvk7awycibp"))))
10221 (build-system haskell-build-system)
10222 (inputs
10223 `(("ghc-th-lift" ,ghc-th-lift)
10224 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10225 ("ghc-th-reify-many" ,ghc-th-reify-many)
10226 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10227 (native-inputs
10228 `(("ghc-hspec" ,ghc-hspec)))
10229 (home-page "https://hackage.haskell.org/package/th-orphans")
10230 (synopsis "Orphan instances for TH datatypes")
10231 (description
10232 "This package provides orphan instances for Template Haskell datatypes. In particular,
10233instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10234and @code{Eq} instances. These instances used to live in the haskell-src-meta
10235package, and that's where the version number started.")
10236 (license license:bsd-3)))
10237
10238(define-public ghc-threads
10239 (package
10240 (name "ghc-threads")
10241 (version "0.5.1.6")
10242 (source
10243 (origin
10244 (method url-fetch)
10245 (uri (string-append "https://hackage.haskell.org/package/"
10246 "threads/threads-" version ".tar.gz"))
10247 (sha256
10248 (base32
10249 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10250 (build-system haskell-build-system)
10251 (native-inputs
10252 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10253 ("ghc-hunit" ,ghc-hunit)
10254 ("ghc-test-framework" ,ghc-test-framework)
10255 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10256 (home-page "https://github.com/basvandijk/threads")
10257 (synopsis "Fork threads and wait for their result")
10258 (description "This package provides functions to fork threads and
10259wait for their result, whether it's an exception or a normal value.
10260Besides waiting for the termination of a single thread this package also
10261provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10262package is similar to the @code{threadmanager}, @code{async} and
10263@code{spawn} packages. The advantages of this package are:
10264
dddbc90c
RV
10265@itemize
10266@item Simpler API.
10267@item More efficient in both space and time.
10268@item No space-leak when forking a large number of threads.
10269@item Correct handling of asynchronous exceptions.
10270@item GHC specific functionality like @code{forkOn} and
10271@code{forkIOWithUnmask}.
10272@end itemize")
10273 (license license:bsd-3)))
10274
10275(define-public ghc-th-reify-many
10276 (package
10277 (name "ghc-th-reify-many")
10278 (version "0.1.8")
10279 (source (origin
10280 (method url-fetch)
10281 (uri (string-append "https://hackage.haskell.org/package/"
10282 "th-reify-many/th-reify-many-"
10283 version ".tar.gz"))
10284 (sha256
10285 (base32
10286 "0hzy6hvhvcd6i60vx5cp2b7ggmnnjh9rx4h8bm8xw4grglcaxjnf"))))
10287 (build-system haskell-build-system)
10288 (inputs
10289 `(("ghc-safe" ,ghc-safe)
10290 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10291 (home-page "https://github.com/mgsloan/th-reify-many")
10292 (synopsis "Recurseively reify template haskell datatype info")
10293 (description
10294 "th-reify-many provides functions for recursively reifying top level
10295declarations. The main intended use case is for enumerating the names of
10296datatypes reachable from an initial datatype, and passing these names to some
10297function which generates instances.")
10298 (license license:bsd-3)))
10299
10300(define-public ghc-time-locale-compat
10301 (package
10302 (name "ghc-time-locale-compat")
10303 (version "0.1.1.5")
10304 (source
10305 (origin
10306 (method url-fetch)
10307 (uri (string-append "https://hackage.haskell.org/package/"
10308 "time-locale-compat/time-locale-compat-"
10309 version ".tar.gz"))
10310 (sha256
10311 (base32
10312 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10313 (build-system haskell-build-system)
10314 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10315 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10316 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10317 (description "This package contains a wrapped name module for
10318@code{TimeLocale}.")
10319 (license license:bsd-3)))
10320
7bbfa392
JS
10321(define-public ghc-timeit
10322 (package
10323 (name "ghc-timeit")
10324 (version "2.0")
10325 (source
10326 (origin
10327 (method url-fetch)
10328 (uri
10329 (string-append
10330 "https://hackage.haskell.org/package/timeit/timeit-"
10331 version ".tar.gz"))
10332 (sha256
10333 (base32
10334 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
10335 (build-system haskell-build-system)
10336 (home-page "https://github.com/merijn/timeit")
10337 (synopsis "Time monadic computations with an IO base")
10338 (description "This package provides a simple wrapper to show the
10339used CPU time of monadic computation with an IO base.")
10340 (license license:bsd-3)))
10341
dddbc90c
RV
10342(define-public ghc-tldr
10343 (package
10344 (name "ghc-tldr")
10345 (version "0.4.0.1")
10346 (source
10347 (origin
10348 (method url-fetch)
10349 (uri (string-append
10350 "https://hackage.haskell.org/package/tldr/tldr-"
10351 version
10352 ".tar.gz"))
10353 (sha256
10354 (base32
10355 "0nc581y9jjzwd8l88g48c72mla7k6q1w102akl7gl5jsk9ljamd3"))))
10356 (build-system haskell-build-system)
10357 (inputs
10358 `(("ghc-cmark" ,ghc-cmark)
10359 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10360 ("ghc-typed-process" ,ghc-typed-process)
10361 ("ghc-semigroups" ,ghc-semigroups)))
10362 (native-inputs
10363 `(("ghc-tasty" ,ghc-tasty)
10364 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10365 (home-page "https://github.com/psibi/tldr-hs#readme")
10366 (synopsis "Haskell tldr client")
10367 (description "This package provides the @command{tldr} command and a
10368Haskell client library allowing users to update and view @code{tldr} pages
10369from a shell. The @code{tldr} pages are a community effort to simplify the
10370man pages with practical examples.")
10371 (license license:bsd-3)))
10372
10373(define-public ghc-transformers-base
10374 (package
10375 (name "ghc-transformers-base")
10376 (version "0.4.5.2")
10377 (source
10378 (origin
10379 (method url-fetch)
10380 (uri (string-append
10381 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10382 version
10383 ".tar.gz"))
10384 (sha256
10385 (base32
10386 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10387 (build-system haskell-build-system)
10388 (inputs
10389 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10390 (home-page
10391 "https://hackage.haskell.org/package/transformers-compat")
10392 (synopsis
10393 "Backported transformer library")
10394 (description
10395 "Backported versions of types that were added to transformers in
10396transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10397compatibility to run on old versions of the platform.")
10398 (license license:bsd-3)))
10399
10400(define-public ghc-transformers-compat
10401 (package
10402 (name "ghc-transformers-compat")
10403 (version "0.6.2")
10404 (source
10405 (origin
10406 (method url-fetch)
10407 (uri (string-append
10408 "https://hackage.haskell.org/package/transformers-compat"
10409 "/transformers-compat-" version ".tar.gz"))
10410 (sha256
10411 (base32
10412 "1gp4a8kvniwgm8947ghb4iwv4b7wd6ry4kvv4nfnym4agf5j41nw"))))
10413 (build-system haskell-build-system)
10414 (home-page "https://github.com/ekmett/transformers-compat/")
10415 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10416 (description "This package includes backported versions of types that were
10417added to transformers in transformers 0.3 and 0.4 for users who need strict
10418transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10419but also need those types.")
10420 (license license:bsd-3)))
10421
10422(define-public ghc-tree-diff
10423 (package
10424 (name "ghc-tree-diff")
10425 (version "0.0.1")
10426 (source
10427 (origin
10428 (method url-fetch)
10429 (uri (string-append
10430 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10431 version
10432 ".tar.gz"))
10433 (sha256
10434 (base32
10435 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10436 (build-system haskell-build-system)
10437 (arguments
10438 `(#:cabal-revision
10439 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10440 #:phases
10441 (modify-phases %standard-phases
10442 (add-before 'configure 'update-constraints
10443 (lambda _
10444 (substitute* "tree-diff.cabal"
10445 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10446 "trifecta >=1.7.1.1 && <=2")))))))
10447 (inputs
10448 `(("ghc-aeson" ,ghc-aeson)
10449 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10450 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10451 ("ghc-base-compat" ,ghc-base-compat)
10452 ("ghc-generics-sop" ,ghc-generics-sop)
10453 ("ghc-hashable" ,ghc-hashable)
10454 ("ghc-memotrie" ,ghc-memotrie)
10455 ("ghc-parsers" ,ghc-parsers)
10456 ("ghc-quickcheck" ,ghc-quickcheck)
10457 ("ghc-scientific" ,ghc-scientific)
10458 ("ghc-tagged" ,ghc-tagged)
10459 ("ghc-unordered-containers" ,ghc-unordered-containers)
10460 ("ghc-uuid-types" ,ghc-uuid-types)
10461 ("ghc-vector" ,ghc-vector)))
10462 (native-inputs
10463 `(("ghc-base-compat" ,ghc-base-compat)
10464 ("ghc-quickcheck" ,ghc-quickcheck)
10465 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10466 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10467 ("ghc-trifecta" ,ghc-trifecta)
10468 ("ghc-tasty" ,ghc-tasty)
10469 ("ghc-tasty-golden" ,ghc-tasty-golden)
10470 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10471 (home-page "https://github.com/phadej/tree-diff")
10472 (synopsis "Compute difference between (expression) trees")
10473 (description "This Haskell library provides a function for computing
10474the difference between (expression) trees. It also provides a way to
10475compute the difference between arbitrary abstract datatypes (ADTs) using
10476@code{Generics}-derivable helpers.")
10477 (license license:bsd-3)))
10478
10479(define-public ghc-trifecta
10480 (package
10481 (name "ghc-trifecta")
10482 (version "2")
10483 (source (origin
10484 (method url-fetch)
10485 (uri (string-append
10486 "https://hackage.haskell.org/package/trifecta/"
10487 "trifecta-" version ".tar.gz"))
10488 (sha256
10489 (base32
10490 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10491 (build-system haskell-build-system)
10492 (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
10493 (inputs
10494 `(("ghc-reducers" ,ghc-reducers)
10495 ("ghc-semigroups" ,ghc-semigroups)
10496 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10497 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10498 ("ghc-blaze-builder" ,ghc-blaze-builder)
10499 ("ghc-blaze-html" ,ghc-blaze-html)
10500 ("ghc-blaze-markup" ,ghc-blaze-markup)
10501 ("ghc-charset" ,ghc-charset)
10502 ("ghc-comonad" ,ghc-comonad)
10503 ("ghc-fingertree" ,ghc-fingertree)
10504 ("ghc-hashable" ,ghc-hashable)
10505 ("ghc-lens" ,ghc-lens)
10506 ("ghc-parsers" ,ghc-parsers)
10507 ("ghc-profunctors" ,ghc-profunctors)
10508 ("ghc-unordered-containers" ,ghc-unordered-containers)
10509 ("ghc-utf8-string" ,ghc-utf8-string)))
10510 (native-inputs
10511 `(("cabal-doctest" ,cabal-doctest)
10512 ("ghc-doctest" ,ghc-doctest)
10513 ("ghc-quickcheck" ,ghc-quickcheck)))
10514 (home-page "https://github.com/ekmett/trifecta/")
10515 (synopsis "Parser combinator library with convenient diagnostics")
10516 (description "Trifecta is a modern parser combinator library for Haskell,
10517with slicing and Clang-style colored diagnostics.")
10518 (license license:bsd-3)))
10519
10520(define-public ghc-tuple-th
10521 (package
10522 (name "ghc-tuple-th")
10523 (version "0.2.5")
10524 (source
10525 (origin
10526 (method url-fetch)
10527 (uri (string-append "https://hackage.haskell.org/package/"
10528 "tuple-th-" version "/"
10529 "tuple-th-" version ".tar.gz"))
10530 (sha256
10531 (base32
10532 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10533 (build-system haskell-build-system)
10534 (home-page "https://github.com/DanielSchuessler/tuple-th")
10535 (synopsis "Generate utility functions for tuples of statically known size
10536for Haskell")
10537 (description "This Haskell package contains Template Haskell functions for
10538generating functions similar to those in @code{Data.List} for tuples of
10539statically known size.")
10540 (license license:bsd-3)))
10541
10542(define-public ghc-typed-process
10543 (package
10544 (name "ghc-typed-process")
10545 (version "0.2.3.0")
10546 (source
10547 (origin
10548 (method url-fetch)
10549 (uri (string-append "https://hackage.haskell.org/package/"
10550 "typed-process/typed-process-"
10551 version ".tar.gz"))
10552 (sha256
10553 (base32
10554 "0j36vrc9w841m5qbwqra1lwiznx31xfnhin1sm8x2c2739csbpn0"))))
10555 (build-system haskell-build-system)
10556 (inputs
10557 `(("ghc-async" ,ghc-async)))
10558 (native-inputs
10559 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10560 ("ghc-hspec" ,ghc-hspec)
10561 ("hspec-discover" ,hspec-discover)
10562 ("ghc-temporary" ,ghc-temporary)))
10563 (home-page "https://haskell-lang.org/library/typed-process")
10564 (synopsis "Run external processes with strong typing of streams")
10565 (description
10566 "This library provides the ability to launch and interact with external
10567processes. It wraps around the @code{process} library, and intends to improve
10568upon it.")
10569 (license license:expat)))
10570
10571(define-public ghc-unbounded-delays
10572 (package
10573 (name "ghc-unbounded-delays")
10574 (version "0.1.1.0")
10575 (source
10576 (origin
10577 (method url-fetch)
10578 (uri (string-append
10579 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
10580 version
10581 ".tar.gz"))
10582 (sha256
10583 (base32
10584 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
10585 (build-system haskell-build-system)
10586 (home-page "https://github.com/basvandijk/unbounded-delays")
10587 (synopsis "Unbounded thread delays and timeouts")
10588 (description "The @code{threadDelay} and @code{timeout} functions from the
10589Haskell base library use the bounded @code{Int} type for specifying the delay
10590or timeout period. This package provides alternative functions which use the
10591unbounded @code{Integer} type.")
10592 (license license:bsd-3)))
10593
10594(define-public ghc-unexceptionalio
10595 (package
10596 (name "ghc-unexceptionalio")
10597 (version "0.4.0")
10598 (source
10599 (origin
10600 (method url-fetch)
10601 (uri (string-append "https://hackage.haskell.org/package/"
10602 "unexceptionalio-" version "/" "unexceptionalio-"
10603 version ".tar.gz"))
10604 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
10605 (build-system haskell-build-system)
10606 (home-page "https://github.com/singpolyma/unexceptionalio")
10607 (synopsis "IO without any non-error, synchronous exceptions")
10608 (description "When you've caught all the exceptions that can be
10609handled safely, this is what you're left with.")
10610 (license license:isc)))
10611
10612(define-public ghc-union-find
10613 (package
10614 (name "ghc-union-find")
10615 (version "0.2")
10616 (source (origin
10617 (method url-fetch)
10618 (uri (string-append
10619 "https://hackage.haskell.org/package/union-find/union-find-"
10620 version ".tar.gz"))
10621 (sha256
10622 (base32
10623 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
10624 (build-system haskell-build-system)
10625 (home-page "https://github.com/nominolo/union-find")
10626 (synopsis "Efficient union and equivalence testing of sets")
10627 (description
10628 "The Union/Find algorithm implements these operations in (effectively)
10629constant-time:
10630@enumerate
10631@item Check whether two elements are in the same equivalence class.
10632@item Create a union of two equivalence classes.
10633@item Look up the descriptor of the equivalence class.
10634@end enumerate\n")
10635 (license license:bsd-3)))
10636
10637(define-public ghc-uniplate
10638 (package
10639 (name "ghc-uniplate")
10640 (version "1.6.12")
10641 (source
10642 (origin
10643 (method url-fetch)
10644 (uri (string-append
10645 "https://hackage.haskell.org/package/uniplate/uniplate-"
10646 version
10647 ".tar.gz"))
10648 (sha256
10649 (base32
10650 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
10651 (build-system haskell-build-system)
10652 (inputs
10653 `(("ghc-syb" ,ghc-syb)
10654 ("ghc-hashable" ,ghc-hashable)
10655 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10656 (home-page "http://community.haskell.org/~ndm/uniplate/")
10657 (synopsis "Simple, concise and fast generic operations")
10658 (description "Uniplate is a library for writing simple and concise generic
10659operations. Uniplate has similar goals to the original Scrap Your Boilerplate
10660work, but is substantially simpler and faster.")
10661 (license license:bsd-3)))
10662
10663(define-public ghc-unix-compat
10664 (package
10665 (name "ghc-unix-compat")
10666 (version "0.5.1")
10667 (source
10668 (origin
10669 (method url-fetch)
10670 (uri (string-append
10671 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
10672 version
10673 ".tar.gz"))
10674 (sha256
10675 (base32
10676 "0llwl7rp63fy2ychwdclz1afj45pbin5pfl01dvn6rwhvmwhr7d3"))))
10677 (build-system haskell-build-system)
10678 (home-page
10679 "https://github.com/jystic/unix-compat")
10680 (synopsis "Portable POSIX-compatibility layer")
10681 (description
10682 "This package provides portable implementations of parts of the unix
10683package. This package re-exports the unix package when available. When it
10684isn't available, portable implementations are used.")
10685 (license license:bsd-3)))
10686
10687(define-public ghc-unix-time
10688 (package
10689 (name "ghc-unix-time")
10690 (version "0.3.8")
10691 (source
10692 (origin
10693 (method url-fetch)
10694 (uri (string-append
10695 "https://hackage.haskell.org/package/unix-time/unix-time-"
10696 version
10697 ".tar.gz"))
10698 (sha256
10699 (base32
10700 "051slgpid5cxiaw203ky0ql3823h28fcjs08axkzd4265wrvv8fw"))))
10701 (build-system haskell-build-system)
10702 (arguments
10703 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
10704 ; is weird, that should be provided by GHC 7.10.2.
10705 (inputs
10706 `(("ghc-old-time" ,ghc-old-time)
10707 ("ghc-old-locale" ,ghc-old-locale)))
10708 (home-page "https://hackage.haskell.org/package/unix-time")
10709 (synopsis "Unix time parser/formatter and utilities")
10710 (description "This library provides fast parsing and formatting utilities
10711for Unix time in Haskell.")
10712 (license license:bsd-3)))
10713
10714(define-public ghc-unliftio
10715 (package
10716 (name "ghc-unliftio")
10717 (version "0.2.7.0")
10718 (source
10719 (origin
10720 (method url-fetch)
10721 (uri (string-append
10722 "https://hackage.haskell.org/package/unliftio/unliftio-"
10723 version
10724 ".tar.gz"))
10725 (sha256
10726 (base32
10727 "0qql93lq5w7qghl454cc3s1i8v1jb4h08n82fqkw0kli4g3g9njs"))))
10728 (build-system haskell-build-system)
10729 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
10730 (inputs
10731 `(("ghc-async" ,ghc-async)
10732 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10733 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
10734 (home-page "https://github.com/fpco/unliftio")
10735 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
10736IO (batteries included)")
10737 (description "This Haskell package provides the core @code{MonadUnliftIO}
10738typeclass, a number of common instances, and a collection of common functions
10739working with it.")
10740 (license license:expat)))
10741
10742(define-public ghc-unliftio-core
10743 (package
10744 (name "ghc-unliftio-core")
10745 (version "0.1.1.0")
10746 (source
10747 (origin
10748 (method url-fetch)
10749 (uri (string-append "https://hackage.haskell.org/package/"
10750 "unliftio-core-" version "/"
10751 "unliftio-core-" version ".tar.gz"))
10752 (sha256
10753 (base32
10754 "1193fplsjm1lcr05xwvkj1rsyzx74i755f6kw3ikmxbsv0bv0l3m"))))
10755 (build-system haskell-build-system)
10756 (arguments
10757 `(#:cabal-revision
10758 ("1" "16bjwcsaghqqmyi69rq65dn3ydifyfaabq3ns37apdm00mwqbcj2")))
10759 (home-page
10760 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
10761 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
10762 (description "This Haskell package provides the core @code{MonadUnliftIO}
10763typeclass, instances for base and transformers, and basic utility
10764functions.")
10765 (license license:expat)))
10766
10767(define-public ghc-unordered-containers
10768 (package
10769 (name "ghc-unordered-containers")
10770 (version "0.2.9.0")
10771 (outputs '("out" "doc"))
10772 (source
10773 (origin
10774 (method url-fetch)
10775 (uri (string-append
10776 "https://hackage.haskell.org/package/unordered-containers"
10777 "/unordered-containers-" version ".tar.gz"))
10778 (sha256
10779 (base32
10780 "0l4264p0av12cc6i8gls13q8y27x12z2ar4x34n3x59y99fcnc37"))))
10781 (build-system haskell-build-system)
10782 (inputs
10783 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
10784 ("ghc-hunit" ,ghc-hunit)
10785 ("ghc-quickcheck" ,ghc-quickcheck)
10786 ("ghc-test-framework" ,ghc-test-framework)
10787 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10788 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
10789 ("ghc-hashable" ,ghc-hashable)))
10790 (home-page
10791 "https://github.com/tibbe/unordered-containers")
10792 (synopsis
10793 "Efficient hashing-based container types")
10794 (description
10795 "Efficient hashing-based container types. The containers have been
10796optimized for performance critical use, both in terms of large data quantities
10797and high speed.")
10798 (license license:bsd-3)))
10799
10800(define-public ghc-unordered-containers-bootstrap
10801 (package
10802 (inherit ghc-unordered-containers)
10803 (name "ghc-unordered-containers-bootstrap")
10804 (arguments `(#:tests? #f))
10805 (inputs
10806 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 10807 (properties '((hidden? #t)))))
dddbc90c 10808
a52f4c57
JS
10809(define-public ghc-unsafe
10810 (package
10811 (name "ghc-unsafe")
10812 (version "0.0")
10813 (source
10814 (origin
10815 (method url-fetch)
10816 (uri
10817 (string-append
10818 "https://hackage.haskell.org/package/unsafe/unsafe-"
10819 version ".tar.gz"))
10820 (sha256
10821 (base32
10822 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
10823 (build-system haskell-build-system)
10824 (home-page "https://hackage.haskell.org/package/unsafe")
10825 (synopsis "Unified interface to unsafe functions")
10826 (description "Safe Haskell introduced the notion of safe and unsafe
10827modules. In order to make as many as possible modules ``safe'', the
10828well-known unsafe functions were moved to distinguished modules. This
10829makes it hard to write packages that work with both old and new versions
10830of GHC. This package provides a single module System.Unsafe that
10831exports the unsafe functions from the base package. It provides them in
10832a style ready for qualification, that is, you should import them by
10833@code{import qualified System.Unsafe as Unsafe}.")
10834 (license license:bsd-3)))
10835
dddbc90c
RV
10836(define-public ghc-uri-bytestring
10837 (package
10838 (name "ghc-uri-bytestring")
10839 (version "0.3.2.0")
10840 (source
10841 (origin
10842 (method url-fetch)
10843 (uri (string-append "https://hackage.haskell.org/package/"
10844 "uri-bytestring-" version "/"
10845 "uri-bytestring-" version ".tar.gz"))
10846 (sha256
10847 (base32
10848 "1q04j5ybvk37zk2m0bkjwyhblz0ymdj0cn4rvsvdca1ikn5xdv5c"))))
10849 (build-system haskell-build-system)
10850 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
10851 ("ghc-fail" ,ghc-fail)
10852 ("ghc-blaze-builder" ,ghc-blaze-builder)
10853 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
10854 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
10855 ("ghc-hunit" ,ghc-hunit)
10856 ("ghc-quickcheck" ,ghc-quickcheck)
10857 ("ghc-tasty" ,ghc-tasty)
10858 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10859 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10860 ("ghc-base-compat" ,ghc-base-compat)
10861 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
10862 ("ghc-semigroups" ,ghc-semigroups)
10863 ("ghc-generics-sop" ,ghc-generics-sop)))
10864 (home-page "https://github.com/Soostone/uri-bytestring")
10865 (synopsis "Haskell URI parsing as ByteStrings")
10866 (description "This Haskell package aims to be an RFC3986 compliant URI
10867parser that uses ByteStrings for parsing and representing the URI data.")
10868 (license license:bsd-3)))
10869
10870(define-public ghc-utf8-string
10871 (package
10872 (name "ghc-utf8-string")
10873 (version "1.0.1.1")
10874 (source
10875 (origin
10876 (method url-fetch)
10877 (uri (string-append
10878 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
10879 version
10880 ".tar.gz"))
10881 (sha256
10882 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
10883 (build-system haskell-build-system)
10884 (arguments
10885 `(#:cabal-revision
10886 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
10887 (home-page "https://github.com/glguy/utf8-string/")
10888 (synopsis "Support for reading and writing UTF8 Strings")
10889 (description
10890 "A UTF8 layer for Strings. The utf8-string package provides operations
10891for encoding UTF8 strings to Word8 lists and back, and for reading and writing
10892UTF8 without truncation.")
10893 (license license:bsd-3)))
10894
10895(define-public ghc-utility-ht
10896 (package
10897 (name "ghc-utility-ht")
10898 (version "0.0.14")
10899 (home-page "https://hackage.haskell.org/package/utility-ht")
10900 (source
10901 (origin
10902 (method url-fetch)
10903 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
10904 (sha256
10905 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
10906 (build-system haskell-build-system)
10907 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
10908 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
10909 (description "This package includes Hakell modules providing various
10910helper functions for Lists, Maybes, Tuples, Functions.")
10911 (license license:bsd-3)))
10912
10913(define-public ghc-uuid
10914 (package
10915 (name "ghc-uuid")
10916 (version "1.3.13")
10917 (source
10918 (origin
10919 (method url-fetch)
10920 (uri (string-append "https://hackage.haskell.org/package/"
10921 "uuid-" version "/"
10922 "uuid-" version ".tar.gz"))
10923 (sha256
10924 (base32
10925 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
10926 (build-system haskell-build-system)
10927 (arguments
10928 `(#:cabal-revision
10929 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
10930 #:phases
10931 (modify-phases %standard-phases
10932 (add-before 'configure 'strip-test-framework-constraints
10933 (lambda _
10934 (substitute* "uuid.cabal"
10935 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
10936 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
10937 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
10938 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
10939 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
10940 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
10941 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
10942 ("ghc-entropy" ,ghc-entropy)
10943 ("ghc-network-info" ,ghc-network-info)
10944 ("ghc-random" ,ghc-random)
10945 ("ghc-uuid-types" ,ghc-uuid-types)))
10946 (native-inputs `(("ghc-hunit" ,ghc-hunit)
10947 ("ghc-quickcheck" ,ghc-quickcheck)
10948 ("ghc-tasty" ,ghc-tasty)
10949 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10950 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10951 (home-page "https://github.com/hvr/uuid")
10952 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
10953 (description "This Haskell library provides utilities creating, comparing,
10954parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
10955 (license license:bsd-3)))
10956
10957(define-public ghc-uuid-types
10958 (package
10959 (name "ghc-uuid-types")
10960 (version "1.0.3")
10961 (source
10962 (origin
10963 (method url-fetch)
10964 (uri (string-append "https://hackage.haskell.org/package/"
10965 "uuid-types-" version "/"
10966 "uuid-types-" version ".tar.gz"))
10967 (sha256
10968 (base32
10969 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
10970 (build-system haskell-build-system)
10971 (arguments
10972 `(#:phases
10973 (modify-phases %standard-phases
10974 (add-before 'configure 'strip-test-framework-constraints
10975 (lambda _
10976 (substitute* "uuid-types.cabal"
10977 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
10978 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
10979 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
10980 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
10981 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
10982 (inputs `(("ghc-hashable" ,ghc-hashable)
10983 ("ghc-random" ,ghc-random)))
10984 (native-inputs `(("ghc-hunit" ,ghc-hunit)
10985 ("ghc-quickcheck" ,ghc-quickcheck)
10986 ("ghc-tasty" ,ghc-tasty)
10987 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10988 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10989 (home-page "https://github.com/hvr/uuid")
10990 (synopsis "Haskell type definitions for UUIDs")
10991 (description "This Haskell library contains type definitions for
10992@dfn{Universally Unique Identifiers} or
10993@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
10994functions.")
10995 (license license:bsd-3)))
10996
10997(define-public ghc-validation
10998 (package
10999 (name "ghc-validation")
11000 (version "1")
11001 (source
11002 (origin
11003 (method url-fetch)
11004 (uri (string-append
11005 "mirror://hackage/package/validation/validation-"
11006 version
11007 ".tar.gz"))
11008 (sha256
11009 (base32
11010 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
11011 (build-system haskell-build-system)
11012 (arguments
11013 `(#:cabal-revision
11014 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
11015 (inputs
11016 `(("ghc-semigroups" ,ghc-semigroups)
11017 ("ghc-semigroupoids" ,ghc-semigroupoids)
11018 ("ghc-bifunctors" ,ghc-bifunctors)
11019 ("ghc-lens" ,ghc-lens)))
11020 (native-inputs
11021 `(("ghc-hedgehog" ,ghc-hedgehog)
11022 ("ghc-hunit" ,ghc-hunit)))
11023 (home-page "https://github.com/qfpl/validation")
11024 (synopsis
11025 "Data-type like Either but with an accumulating Applicative")
11026 (description
11027 "A data-type like Either but with differing properties and type-class
11028instances.
11029
11030Library support is provided for this different representation, including
11031@code{lens}-related functions for converting between each and abstracting over
11032their similarities.
11033
11034The @code{Validation} data type is isomorphic to @code{Either}, but has an
11035instance of @code{Applicative} that accumulates on the error side. That is to
11036say, if two (or more) errors are encountered, they are appended using a
11037@{Semigroup} operation.
11038
11039As a consequence of this @code{Applicative} instance, there is no
11040corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11041example of, \"An applicative functor that is not a monad.\"")
11042 (license license:bsd-3)))
11043
11044(define-public ghc-validity
11045 (package
11046 (name "ghc-validity")
11047 (version "0.7.0.0")
11048 (source
11049 (origin
11050 (method url-fetch)
11051 (uri (string-append
11052 "https://hackage.haskell.org/package/validity/validity-"
11053 version
11054 ".tar.gz"))
11055 (sha256
11056 (base32
11057 "0xribw98amafihw87ddajk6vlirp7w9b26lrnjgq7jfm4710j95f"))))
11058 (build-system haskell-build-system)
11059 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11060 ("hspec-discover" ,hspec-discover)))
11061 (home-page
11062 "https://github.com/NorfairKing/validity")
11063 (synopsis "Validity typeclass")
11064 (description
11065 "Values of custom types usually have invariants imposed upon them. This
11066package provides the @code{Validity} type class, which makes these invariants
11067explicit by providing a function to check whether the invariants hold.")
11068 (license license:expat)))
11069
11070(define-public ghc-vault
11071 (package
11072 (name "ghc-vault")
11073 (version "0.3.1.2")
11074 (source
11075 (origin
11076 (method url-fetch)
11077 (uri (string-append
11078 "https://hackage.haskell.org/package/vault/vault-"
11079 version
11080 ".tar.gz"))
11081 (sha256
11082 (base32
11083 "072mbrihsdsb8c6xvg6lvk0rqjgvxvi8qkg4n6wwym5hq0pfa04y"))))
11084 (build-system haskell-build-system)
11085 (inputs
11086 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11087 ("ghc-hashable" ,ghc-hashable)
11088 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11089 (home-page
11090 "https://github.com/HeinrichApfelmus/vault")
11091 (synopsis "Persistent store for arbitrary values")
11092 (description "This package provides vaults for Haskell. A vault is a
11093persistent store for values of arbitrary types. It's like having first-class
11094access to the storage space behind @code{IORefs}. The data structure is
11095analogous to a bank vault, where you can access different bank boxes with
11096different keys; hence the name. Also provided is a @code{locker} type,
11097representing a store for a single element.")
11098 (license license:bsd-3)))
11099
11100(define-public ghc-vector
11101 (package
11102 (name "ghc-vector")
11103 (version "0.12.0.1")
11104 (outputs '("out" "doc"))
11105 (source
11106 (origin
11107 (method url-fetch)
11108 (uri (string-append
11109 "https://hackage.haskell.org/package/vector/vector-"
11110 version
11111 ".tar.gz"))
11112 (sha256
11113 (base32
11114 "0yrx2ypiaxahvaz84af5bi855hd3107kxkbqc8km29nsp5wyw05i"))))
11115 (build-system haskell-build-system)
11116 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11117 ;; disabled for now.
11118 (arguments
11119 `(#:cabal-revision
11120 ("3" "0y5rh8k710i2a3p1h2rghvr5cfg78p5h0kbfi7ifxqqf6pzlyr1x")
11121 #:tests? #f))
11122 (inputs
11123 `(("ghc-primitive" ,ghc-primitive)
11124 ("ghc-random" ,ghc-random)
11125 ("ghc-quickcheck" ,ghc-quickcheck)
11126 ;; ("ghc-hunit" ,ghc-hunit)
11127 ;; ("ghc-test-framework" ,ghc-test-framework)
11128 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11129 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11130 ))
11131 (home-page "https://github.com/haskell/vector")
11132 (synopsis "Efficient Arrays")
11133 (description "This library provides an efficient implementation of
11134Int-indexed arrays (both mutable and immutable), with a powerful loop
11135optimisation framework.")
11136 (license license:bsd-3)))
11137
11138(define-public ghc-vector-algorithms
11139 (package
11140 (name "ghc-vector-algorithms")
11141 (version "0.7.0.4")
11142 (source
11143 (origin
11144 (method url-fetch)
11145 (uri (string-append "https://hackage.haskell.org/package/"
11146 "vector-algorithms-" version "/"
11147 "vector-algorithms-" version ".tar.gz"))
11148 (sha256
11149 (base32
11150 "0mfa8ig9v69l41p2vb5jl4qmaln5y1rlzarr2mlgm8g1nvq8qqdg"))))
11151 (build-system haskell-build-system)
11152 (inputs
11153 `(("ghc-vector" ,ghc-vector)))
11154 (native-inputs
11155 `(("ghc-quickcheck" ,ghc-quickcheck)))
11156 (home-page "https://github.com/bos/math-functions")
11157 (synopsis "Algorithms for vector arrays in Haskell")
11158 (description "This Haskell library algorithms for vector arrays.")
11159 (license license:bsd-3)))
11160
11161(define-public ghc-vector-binary-instances
11162 (package
11163 (name "ghc-vector-binary-instances")
11164 (version "0.2.4")
11165 (source
11166 (origin
11167 (method url-fetch)
11168 (uri (string-append
11169 "https://hackage.haskell.org/package/"
11170 "vector-binary-instances/vector-binary-instances-"
11171 version ".tar.gz"))
11172 (sha256
11173 (base32
11174 "1y236jb72iab9ska1mc48z6yb0xgwmj45laaqdyjxksd84z7hbrb"))))
11175 (build-system haskell-build-system)
11176 (arguments
11177 `(#:cabal-revision
11178 ("1" "196frl4akhfk7xf1nxzn8lmq99dxhzhsimanswn9yy7ym8zhki4i")))
11179 (inputs
11180 `(("ghc-vector" ,ghc-vector)))
11181 (native-inputs
11182 `(("ghc-tasty" ,ghc-tasty)
11183 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11184 (home-page "https://github.com/bos/vector-binary-instances")
11185 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11186 (description "This library provides instances of @code{Binary} for the
11187types defined in the @code{vector} package, making it easy to serialize
11188vectors to and from disk. We use the generic interface to vectors, so all
11189vector types are supported. Specific instances are provided for unboxed,
11190boxed and storable vectors.")
11191 (license license:bsd-3)))
11192
11193(define-public ghc-vector-builder
11194 (package
11195 (name "ghc-vector-builder")
11196 (version "0.3.6")
11197 (source
11198 (origin
11199 (method url-fetch)
11200 (uri (string-append "https://hackage.haskell.org/package/"
11201 "vector-builder-" version "/"
11202 "vector-builder-" version ".tar.gz"))
11203 (sha256
11204 (base32
11205 "06d2pa1fb3ydrl7l6rjazqyxv5i73v65x2f5fp0ypjxfbm6jsmn8"))))
11206 (build-system haskell-build-system)
11207 (inputs `(("ghc-vector" ,ghc-vector)
11208 ("ghc-semigroups" ,ghc-semigroups)
11209 ("ghc-base-prelude" ,ghc-base-prelude)))
11210 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11211 ("ghc-tasty" ,ghc-tasty)
11212 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11213 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11214 ("ghc-hunit" ,ghc-hunit)
11215 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11216 ("ghc-rerebase" ,ghc-rerebase)))
11217 (home-page "https://github.com/nikita-volkov/vector-builder")
11218 (synopsis "Vector builder for Haskell")
11219 (description "This Haskell package provides an API for constructing vectors.
11220It provides the composable @code{Builder} abstraction, which has instances of the
11221@code{Monoid} and @code{Semigroup} classes.
11222
11223You would first use the @code{Builder} abstraction to specify the structure of
11224the vector; then you can execute the builder to actually produce the
11225vector. ")
11226 (license license:expat)))
11227
11228(define-public ghc-vector-th-unbox
11229 (package
11230 (name "ghc-vector-th-unbox")
11231 (version "0.2.1.6")
11232 (source
11233 (origin
11234 (method url-fetch)
11235 (uri (string-append "https://hackage.haskell.org/package/"
11236 "vector-th-unbox-" version "/"
11237 "vector-th-unbox-" version ".tar.gz"))
11238 (sha256
11239 (base32
11240 "0d82x55f5vvr1jvaia382m23rs690lg55pvavv8f4ph0y6kd91xy"))))
11241 (build-system haskell-build-system)
11242 (inputs
11243 `(("ghc-vector" ,ghc-vector)
11244 ("ghc-data-default" ,ghc-data-default)))
11245 (home-page "https://github.com/liyang/vector-th-unbox")
11246 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
11247 (description "This Haskell library provides a Template Haskell
11248deriver for unboxed vectors, given a pair of coercion functions to
11249and from some existing type with an Unbox instance.")
11250 (license license:bsd-3)))
11251
11252(define-public ghc-void
11253 (package
11254 (name "ghc-void")
11255 (version "0.7.2")
11256 (source
11257 (origin
11258 (method url-fetch)
11259 (uri (string-append
11260 "https://hackage.haskell.org/package/void/void-"
11261 version
11262 ".tar.gz"))
11263 (sha256
11264 (base32
11265 "0aygw0yb1h3yhmfl3bkwh5d3h0l4mmsxz7j53vdm6jryl1kgxzyk"))))
11266 (build-system haskell-build-system)
11267 (inputs
11268 `(("ghc-semigroups" ,ghc-semigroups)
11269 ("ghc-hashable" ,ghc-hashable)))
11270 (home-page "https://github.com/ekmett/void")
11271 (synopsis
11272 "Logically uninhabited data type")
11273 (description
11274 "A Haskell 98 logically uninhabited data type, used to indicate that a
11275given term should not exist.")
11276 (license license:bsd-3)))
11277
11278(define-public ghc-wave
11279 (package
11280 (name "ghc-wave")
11281 (version "0.1.5")
11282 (source (origin
11283 (method url-fetch)
11284 (uri (string-append
11285 "https://hackage.haskell.org/package/wave/wave-"
11286 version
11287 ".tar.gz"))
11288 (sha256
11289 (base32
11290 "03zycmwrchhqvi37fdvlzz2d1vl4hy0i8xyys1zznw38qfq0h2i5"))))
11291 (build-system haskell-build-system)
11292 (arguments
11293 '(#:phases
11294 (modify-phases %standard-phases
11295 (add-before 'configure 'update-constraints
11296 (lambda _
11297 (substitute* "wave.cabal"
11298 (("temporary.* < 1\\.3")
11299 "temporary >= 1.1 && < 1.4")))))))
11300 (inputs
11301 `(("ghc-cereal" ,ghc-cereal)
11302 ("ghc-data-default-class"
11303 ,ghc-data-default-class)
11304 ("ghc-quickcheck" ,ghc-quickcheck)
11305 ("ghc-temporary" ,ghc-temporary)))
11306 (native-inputs
11307 `(("hspec-discover" ,hspec-discover)
11308 ("ghc-hspec" ,ghc-hspec)))
11309 (home-page "https://github.com/mrkkrp/wave")
11310 (synopsis "Work with WAVE and RF64 files in Haskell")
11311 (description "This package allows you to work with WAVE and RF64
11312files in Haskell.")
11313 (license license:bsd-3)))
11314
11315(define-public ghc-wcwidth
11316 (package
11317 (name "ghc-wcwidth")
11318 (version "0.0.2")
11319 (source
11320 (origin
11321 (method url-fetch)
11322 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11323 version ".tar.gz"))
11324 (sha256
11325 (base32
11326 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11327 (build-system haskell-build-system)
11328 (inputs
11329 `(("ghc-setlocale" ,ghc-setlocale)
11330 ("ghc-utf8-string" ,ghc-utf8-string)
11331 ("ghc-attoparsec" ,ghc-attoparsec)))
11332 (home-page "https://github.com/solidsnack/wcwidth/")
11333 (synopsis "Haskell bindings to wcwidth")
11334 (description "This package provides Haskell bindings to your system's
11335native wcwidth and a command line tool to examine the widths assigned by it.
11336The command line tool can compile a width table to Haskell code that assigns
11337widths to the Char type.")
11338 (license license:bsd-3)))
11339
11340(define-public ghc-wcwidth-bootstrap
11341 (package
11342 (inherit ghc-wcwidth)
11343 (name "ghc-wcwidth-bootstrap")
11344 (inputs
11345 `(("ghc-setlocale" ,ghc-setlocale)
11346 ("ghc-utf8-string" ,ghc-utf8-string)
11347 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 11348 (properties '((hidden? #t)))))
dddbc90c
RV
11349
11350(define-public ghc-weigh
11351 (package
11352 (name "ghc-weigh")
11353 (version "0.0.12")
11354 (source
11355 (origin
11356 (method url-fetch)
11357 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11358 "weigh-" version ".tar.gz"))
11359 (sha256
11360 (base32
11361 "0zw2a997gxgdzqmd7j730kxgynzmjvvlkw84dajmfzf1v9pbij7x"))))
11362 (build-system haskell-build-system)
11363 (inputs
11364 `(("ghc-split" ,ghc-split)
11365 ("ghc-temporary" ,ghc-temporary)))
11366 (home-page "https://github.com/fpco/weigh#readme")
11367 (synopsis "Measure allocations of a Haskell functions/values")
11368 (description "This package provides tools to measure the memory usage of a
11369Haskell value or function.")
11370 (license license:bsd-3)))
11371
11372(define-public ghc-wl-pprint
11373 (package
11374 (name "ghc-wl-pprint")
11375 (version "1.2.1")
11376 (source (origin
11377 (method url-fetch)
11378 (uri (string-append
11379 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11380 version ".tar.gz"))
11381 (sha256
11382 (base32
11383 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11384 (build-system haskell-build-system)
11385 (home-page "https://hackage.haskell.org/package/wl-pprint")
11386 (synopsis "Wadler/Leijen pretty printer")
11387 (description
11388 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11389Printer}. This version allows the library user to declare overlapping
11390instances of the @code{Pretty} class.")
11391 (license license:bsd-3)))
11392
11393(define-public ghc-wl-pprint-annotated
11394 (package
11395 (name "ghc-wl-pprint-annotated")
11396 (version "0.1.0.1")
11397 (source
11398 (origin
11399 (method url-fetch)
11400 (uri (string-append
11401 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11402 version
11403 ".tar.gz"))
11404 (sha256
11405 (base32
11406 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11407 (build-system haskell-build-system)
11408 (native-inputs
11409 `(("ghc-tasty" ,ghc-tasty)
11410 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11411 (home-page
11412 "https://github.com/minad/wl-pprint-annotated#readme")
11413 (synopsis
11414 "Wadler/Leijen pretty printer with annotation support")
11415 (description
11416 "Annotations are useful for coloring. This is a limited version of
11417@code{wl-pprint-extras} without support for point effects and without the free
11418monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11419Compared to @code{annotated-wl-pprint} this library provides a slightly
11420modernized interface.")
11421 (license license:bsd-3)))
11422
11423(define-public ghc-wl-pprint-text
11424 (package
11425 (name "ghc-wl-pprint-text")
11426 (version "1.2.0.0")
11427 (source
11428 (origin
11429 (method url-fetch)
11430 (uri (string-append
11431 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11432 version ".tar.gz"))
11433 (sha256
11434 (base32
11435 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11436 (build-system haskell-build-system)
11437 (inputs
11438 `(("ghc-base-compat" ,ghc-base-compat)))
11439 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11440 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11441 (description
11442 "A clone of wl-pprint for use with the text library.")
11443 (license license:bsd-3)))
11444
11445(define-public ghc-word8
11446 (package
11447 (name "ghc-word8")
11448 (version "0.1.3")
11449 (source
11450 (origin
11451 (method url-fetch)
11452 (uri (string-append
11453 "https://hackage.haskell.org/package/word8/word8-"
11454 version
11455 ".tar.gz"))
11456 (sha256
11457 (base32
11458 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11459 (build-system haskell-build-system)
11460 (native-inputs
11461 `(("ghc-hspec" ,ghc-hspec)
11462 ("hspec-discover" ,hspec-discover)))
11463 (home-page "https://hackage.haskell.org/package/word8")
11464 (synopsis "Word8 library for Haskell")
11465 (description "Word8 library to be used with @code{Data.ByteString}.")
11466 (license license:bsd-3)))
11467
11468(define-public ghc-x11
11469 (package
11470 (name "ghc-x11")
11471 (version "1.9")
11472 (source
11473 (origin
11474 (method url-fetch)
11475 (uri (string-append "https://hackage.haskell.org/package/X11/"
11476 "X11-" version ".tar.gz"))
11477 (sha256
11478 (base32 "1f8dy6ckkyvpcv7zlniyv01cqjb9lgqscm8pml58cvwc7n38w4qh"))))
11479 (build-system haskell-build-system)
11480 (inputs
11481 `(("libx11" ,libx11)
11482 ("libxrandr" ,libxrandr)
11483 ("libxinerama" ,libxinerama)
11484 ("libxscrnsaver" ,libxscrnsaver)
11485 ("ghc-data-default" ,ghc-data-default)))
11486 (home-page "https://github.com/haskell-pkg-janitors/X11")
11487 (synopsis "Bindings to the X11 graphics library")
11488 (description
11489 "This package provides Haskell bindings to the X11 graphics library. The
11490bindings are a direct translation of the C bindings.")
11491 (license license:bsd-3)))
11492
11493(define-public ghc-x11-xft
11494 (package
11495 (name "ghc-x11-xft")
11496 (version "0.3.1")
11497 (source
11498 (origin
11499 (method url-fetch)
11500 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11501 "X11-xft-" version ".tar.gz"))
11502 (sha256
11503 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11504 (inputs
11505 `(("ghc-x11" ,ghc-x11)
11506 ("ghc-utf8-string" ,ghc-utf8-string)
11507 ("libx11" ,libx11)
11508 ("libxft" ,libxft)
11509 ("xorgproto" ,xorgproto)))
11510 (native-inputs
11511 `(("pkg-config" ,pkg-config)))
11512 (build-system haskell-build-system)
11513 (home-page "https://hackage.haskell.org/package/X11-xft")
11514 (synopsis "Bindings to Xft")
11515 (description
11516 "Bindings to the Xft, X Free Type interface library, and some Xrender
11517parts.")
11518 (license license:lgpl2.1)))
11519
11520(define-public ghc-xdg-basedir
11521 (package
11522 (name "ghc-xdg-basedir")
11523 (version "0.2.2")
11524 (source
11525 (origin
11526 (method url-fetch)
11527 (uri (string-append
11528 "https://hackage.haskell.org/package/xdg-basedir/"
11529 "xdg-basedir-" version ".tar.gz"))
11530 (sha256
11531 (base32
11532 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
11533 (build-system haskell-build-system)
11534 (home-page "http://github.com/willdonnelly/xdg-basedir")
11535 (synopsis "XDG Base Directory library for Haskell")
11536 (description "This package provides a library implementing the XDG Base Directory spec.")
11537 (license license:bsd-3)))
11538
11539(define-public ghc-xml
11540 (package
11541 (name "ghc-xml")
11542 (version "1.3.14")
11543 (source
11544 (origin
11545 (method url-fetch)
11546 (uri (string-append
11547 "https://hackage.haskell.org/package/xml/xml-"
11548 version
11549 ".tar.gz"))
11550 (sha256
11551 (base32
11552 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
11553 (build-system haskell-build-system)
11554 (home-page "http://code.galois.com")
11555 (synopsis "Simple XML library for Haskell")
11556 (description "This package provides a simple XML library for Haskell.")
11557 (license license:bsd-3)))
11558
11559(define-public ghc-xml-conduit
11560 (package
11561 (name "ghc-xml-conduit")
11562 (version "1.8.0.1")
11563 (source
11564 (origin
11565 (method url-fetch)
11566 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
11567 "xml-conduit-" version ".tar.gz"))
11568 (sha256
11569 (base32
11570 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
11571 (build-system haskell-build-system)
11572 (inputs
11573 `(("ghc-conduit" ,ghc-conduit)
11574 ("ghc-conduit-extra" ,ghc-conduit-extra)
11575 ("ghc-doctest" ,ghc-doctest)
11576 ("ghc-resourcet" ,ghc-resourcet)
11577 ("ghc-xml-types" ,ghc-xml-types)
11578 ("ghc-attoparsec" ,ghc-attoparsec)
11579 ("ghc-data-default-class" ,ghc-data-default-class)
11580 ("ghc-blaze-markup" ,ghc-blaze-markup)
11581 ("ghc-blaze-html" ,ghc-blaze-html)
11582 ("ghc-monad-control" ,ghc-monad-control)
11583 ("ghc-hspec" ,ghc-hspec)
11584 ("ghc-hunit" ,ghc-hunit)))
11585 (home-page "https://github.com/snoyberg/xml")
11586 (synopsis "Utilities for dealing with XML with the conduit package")
11587 (description
11588 "This package provides pure-Haskell utilities for dealing with XML with
11589the @code{conduit} package.")
11590 (license license:expat)))
11591
11592(define-public ghc-xml-types
11593 (package
11594 (name "ghc-xml-types")
11595 (version "0.3.6")
11596 (source
11597 (origin
11598 (method url-fetch)
11599 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
11600 "xml-types-" version ".tar.gz"))
11601 (sha256
11602 (base32
11603 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
11604 (build-system haskell-build-system)
11605 (home-page "https://john-millikin.com/software/haskell-xml/")
11606 (synopsis "Basic types for representing XML")
11607 (description "This package provides basic types for representing XML
11608documents.")
11609 (license license:expat)))
11610
11611(define-public ghc-yaml
11612 (package
11613 (name "ghc-yaml")
11614 (version "0.8.32")
11615 (source (origin
11616 (method url-fetch)
11617 (uri (string-append "https://hackage.haskell.org/package/"
11618 "yaml/yaml-" version ".tar.gz"))
11619 (sha256
11620 (base32
11621 "0cbsyh4ilvjzq1q7pxls43k6pdqxg1l85xzibcwpbvmlvrizh86w"))))
11622 (build-system haskell-build-system)
11623 ;; The tests are broken on i686. They are fixed in 0.10.3.0.
11624 ;; See https://github.com/snoyberg/yaml/issues/158
11625 (arguments `(#:tests? #f))
11626 (inputs
11627 `(("ghc-conduit" ,ghc-conduit)
11628 ("ghc-resourcet" ,ghc-resourcet)
11629 ("ghc-aeson" ,ghc-aeson)
11630 ("ghc-unordered-containers" ,ghc-unordered-containers)
11631 ("ghc-vector" ,ghc-vector)
11632 ("ghc-attoparsec" ,ghc-attoparsec)
11633 ("ghc-scientific" ,ghc-scientific)
11634 ("ghc-semigroups" ,ghc-semigroups)
11635 ("ghc-temporary" ,ghc-temporary)
11636 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11637 ("ghc-base-compat" ,ghc-base-compat)))
11638 (native-inputs
11639 `(("ghc-hspec" ,ghc-hspec)
11640 ("ghc-hunit" ,ghc-hunit)
11641 ("hspec-discover" ,hspec-discover)
11642 ("ghc-mockery" ,ghc-mockery)))
11643 (home-page "https://github.com/snoyberg/yaml/")
11644 (synopsis "Parsing and rendering YAML documents")
11645 (description
11646 "This package provides a library to parse and render YAML documents.")
11647 (license license:bsd-3)))
11648
11649(define-public ghc-zip-archive
11650 (package
11651 (name "ghc-zip-archive")
11652 (version "0.3.3")
11653 (source
11654 (origin
11655 (method url-fetch)
11656 (uri (string-append
11657 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
11658 version
11659 ".tar.gz"))
11660 (sha256
11661 (base32
11662 "0kf8xyac168bng8a0za2jwrbss7a4ralvci9g54hnvl0gkkxx2lq"))))
11663 (build-system haskell-build-system)
11664 (inputs
11665 `(("ghc-digest" ,ghc-digest)
11666 ("ghc-temporary" ,ghc-temporary)
11667 ("ghc-zlib" ,ghc-zlib)))
11668 (native-inputs
11669 `(("ghc-hunit" ,ghc-hunit)
11670 ("unzip" ,unzip)))
11671 (home-page "https://hackage.haskell.org/package/zip-archive")
11672 (synopsis "Zip archive library for Haskell")
11673 (description "The zip-archive library provides functions for creating,
11674modifying, and extracting files from zip archives in Haskell.")
11675 (license license:bsd-3)))
11676
11677(define-public ghc-zlib
11678 (package
11679 (name "ghc-zlib")
11680 (version "0.6.2")
11681 (outputs '("out" "doc"))
11682 (source
11683 (origin
11684 (method url-fetch)
11685 (uri (string-append
11686 "https://hackage.haskell.org/package/zlib/zlib-"
11687 version
11688 ".tar.gz"))
11689 (sha256
11690 (base32
11691 "1vbzf0awb6zb456xf48za1kl22018646cfzq4frvxgb9ay97vk0d"))))
11692 (build-system haskell-build-system)
11693 (arguments
11694 `(#:phases
11695 (modify-phases %standard-phases
11696 (add-before 'configure 'strip-test-framework-constraints
11697 (lambda _
11698 (substitute* "zlib.cabal"
11699 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
11700 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
11701 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11702 (inputs `(("zlib" ,zlib)))
11703 (native-inputs
11704 `(("ghc-quickcheck" ,ghc-quickcheck)
11705 ("ghc-tasty" ,ghc-tasty)
11706 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11707 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11708 (home-page "https://hackage.haskell.org/package/zlib")
11709 (synopsis
11710 "Compression and decompression in the gzip and zlib formats")
11711 (description
11712 "This package provides a pure interface for compressing and decompressing
11713streams of data represented as lazy @code{ByteString}s. It uses the zlib C
11714library so it has high performance. It supports the @code{zlib}, @code{gzip}
11715and @code{raw} compression formats. It provides a convenient high level API
11716suitable for most tasks and for the few cases where more control is needed it
11717provides access to the full zlib feature set.")
bbf8bf31 11718 (license license:bsd-3)))
14e41996
RV
11719
11720(define-public ghc-zlib-bindings
11721 (package
11722 (name "ghc-zlib-bindings")
11723 (version "0.1.1.5")
11724 (source
11725 (origin
11726 (method url-fetch)
11727 (uri (string-append "https://hackage.haskell.org/package/"
11728 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
11729 (sha256
11730 (base32
11731 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
11732 (build-system haskell-build-system)
11733 (inputs
11734 `(("ghc-zlib" ,ghc-zlib)))
11735 (native-inputs
11736 `(("ghc-hspec" ,ghc-hspec)
11737 ("ghc-quickcheck" ,ghc-quickcheck)))
11738 (arguments
11739 `(#:cabal-revision
11740 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
11741 (home-page "https://github.com/snapframework/zlib-bindings")
11742 (synopsis "Low-level bindings to the @code{zlib} package")
11743 (description "This package provides low-level bindings to the
11744@code{zlib} package.")
11745 (license license:bsd-3)))