gnu: Add ghc-storablevector.
[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>
8;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
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>
6b34d01c
RV
23;;;
24;;; This file is part of GNU Guix.
25;;;
26;;; GNU Guix is free software; you can redistribute it and/or modify it
27;;; under the terms of the GNU General Public License as published by
28;;; the Free Software Foundation; either version 3 of the License, or (at
29;;; your option) any later version.
30;;;
31;;; GNU Guix is distributed in the hope that it will be useful, but
32;;; WITHOUT ANY WARRANTY; without even the implied warranty of
33;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
34;;; GNU General Public License for more details.
35;;;
36;;; You should have received a copy of the GNU General Public License
37;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
38
39(define-module (gnu packages haskell-xyz)
40 #:use-module (gnu packages)
dddbc90c
RV
41 #:use-module (gnu packages base)
42 #:use-module (gnu packages compression)
43 #:use-module (gnu packages emacs)
44 #:use-module (gnu packages gcc)
45 #:use-module (gnu packages gl)
46 #:use-module (gnu packages graphviz)
47 #:use-module (gnu packages gtk)
48 #:use-module (gnu packages haskell-apps)
efb96749 49 #:use-module (gnu packages haskell-check)
dddbc90c
RV
50 #:use-module (gnu packages haskell-crypto)
51 #:use-module (gnu packages haskell-web)
52 #:use-module (gnu packages libffi)
53 #:use-module (gnu packages linux)
54 #:use-module (gnu packages lua)
55 #:use-module (gnu packages maths)
56 #:use-module (gnu packages pcre)
57 #:use-module (gnu packages pkg-config)
58 #:use-module (gnu packages sdl)
59 #:use-module (gnu packages xml)
60 #:use-module (gnu packages xorg)
6b34d01c
RV
61 #:use-module (guix build-system haskell)
62 #:use-module (guix download)
dddbc90c 63 #:use-module (guix git-download)
6b34d01c
RV
64 #:use-module ((guix licenses) #:prefix license:)
65 #:use-module (guix packages))
66
dddbc90c 67(define-public ghc-abstract-deque
efb96749 68 (package
dddbc90c
RV
69 (name "ghc-abstract-deque")
70 (version "0.3")
efb96749
RV
71 (source
72 (origin
73 (method url-fetch)
74 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
75 "abstract-deque-" version "/"
76 "abstract-deque-" version ".tar.gz"))
efb96749
RV
77 (sha256
78 (base32
dddbc90c 79 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
efb96749 80 (build-system haskell-build-system)
dddbc90c
RV
81 (inputs `(("ghc-random" ,ghc-random)))
82 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
83 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
84 (description "This Haskell package provides an abstract interface to
85highly-parameterizable queues/deques.
86
87Background: There exists a feature space for queues that extends between:
efb96749
RV
88
89@itemize
dddbc90c
RV
90@item Simple, single-ended, non-concurrent, bounded queues
91
92@item Double-ended, thread-safe, growable queues with important points
93in between (such as the queues used for work stealing).
efb96749
RV
94@end itemize
95
dddbc90c
RV
96This package includes an interface for Deques that allows the programmer
97to use a single API for all of the above, while using the type system to
98select an efficient implementation given the requirements (using type families).
efb96749 99
dddbc90c
RV
100This package also includes a simple reference implementation based on
101@code{IORef} and @code{Data.Sequence}.")
efb96749
RV
102 (license license:bsd-3)))
103
dddbc90c 104(define-public ghc-abstract-par
658dbc7f 105 (package
dddbc90c
RV
106 (name "ghc-abstract-par")
107 (version "0.3.3")
658dbc7f
RV
108 (source
109 (origin
110 (method url-fetch)
111 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
112 "abstract-par-" version "/"
113 "abstract-par-" version ".tar.gz"))
658dbc7f
RV
114 (sha256
115 (base32
dddbc90c
RV
116 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
117 (build-system haskell-build-system)
118 (home-page "https://github.com/simonmar/monad-par")
119 (synopsis "Abstract parallelization interface for Haskell")
120 (description "This Haskell package is an abstract interface
121only. It provides a number of type clasess, but not an
122implementation. The type classes separate different levels
123of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
124module for more details.")
125 (license license:bsd-3)))
126
127(define-public ghc-adjunctions
128 (package
129 (name "ghc-adjunctions")
130 (version "4.4")
131 (source
132 (origin
133 (method url-fetch)
134 (uri (string-append
135 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
136 version
137 ".tar.gz"))
138 (sha256
139 (base32
140 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f
RV
141 (build-system haskell-build-system)
142 (inputs
dddbc90c
RV
143 `(("ghc-profunctors" ,ghc-profunctors)
144 ("ghc-comonad" ,ghc-comonad)
145 ("ghc-contravariant" ,ghc-contravariant)
146 ("ghc-distributive" ,ghc-distributive)
147 ("ghc-free" ,ghc-free)
148 ("ghc-tagged" ,ghc-tagged)
149 ("ghc-semigroupoids" ,ghc-semigroupoids)
150 ("ghc-semigroups" ,ghc-semigroups)
151 ("ghc-transformers-compat" ,ghc-transformers-compat)
152 ("ghc-void" ,ghc-void)))
658dbc7f 153 (native-inputs
dddbc90c
RV
154 `(("ghc-generic-deriving" ,ghc-generic-deriving)
155 ("ghc-hspec" ,ghc-hspec)
156 ("hspec-discover" ,hspec-discover)))
157 (home-page "https://github.com/ekmett/adjunctions/")
158 (synopsis "Adjunctions and representable functors")
159 (description "This library provides adjunctions and representable functors
160for Haskell.")
161 (license license:bsd-3)))
162
163(define-public ghc-aeson-compat
164 (package
165 (name "ghc-aeson-compat")
166 (version "0.3.8")
167 (source
168 (origin
169 (method url-fetch)
170 (uri (string-append "https://hackage.haskell.org/package/"
171 "aeson-compat-" version "/"
172 "aeson-compat-" version ".tar.gz"))
173 (sha256
174 (base32
175 "0j4v13pgk21zy8hqkbx8hw0n05jdl17qphxz9rj4h333pr547r3i"))))
176 (build-system haskell-build-system)
177 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
178 (inputs `(("ghc-base-compat" ,ghc-base-compat)
179 ("ghc-aeson" ,ghc-aeson)
180 ("ghc-attoparsec" ,ghc-attoparsec)
181 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
182 ("ghc-exceptions" ,ghc-exceptions)
183 ("ghc-hashable" ,ghc-hashable)
184 ("ghc-scientific" ,ghc-scientific)
185 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
186 ("ghc-unordered-containers" ,ghc-unordered-containers)
187 ("ghc-vector" ,ghc-vector)
188 ("ghc-tagged" ,ghc-tagged)
189 ("ghc-semigroups" ,ghc-semigroups)
190 ("ghc-nats" ,ghc-nats)))
191 (home-page "https://github.com/phadej/aeson-compat")
192 (synopsis "Compatibility layer for ghc-aeson")
193 (description "This Haskell package provides compatibility layer for
194ghc-aeson.")
195 (license license:bsd-3)))
196
197(define-public ghc-alex
198 (package
199 (name "ghc-alex")
200 (version "3.2.4")
201 (source
202 (origin
203 (method url-fetch)
204 (uri (string-append
205 "https://hackage.haskell.org/package/alex/alex-"
206 version
207 ".tar.gz"))
208 (sha256
209 (base32
210 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
211 (build-system haskell-build-system)
658dbc7f 212 (arguments
dddbc90c
RV
213 `(#:phases
214 (modify-phases %standard-phases
215 (add-before 'check 'set-check-variables
216 (lambda _
217 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
218 (getenv "PATH")))
219 (setenv "alex_datadir" (string-append (getcwd) "/data"))
220 #t)))))
221 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
222 (native-inputs
223 `(("which" ,which)))
224 (home-page "https://www.haskell.org/alex/")
225 (synopsis
226 "Tool for generating lexical analysers in Haskell")
227 (description
228 "Alex is a tool for generating lexical analysers in Haskell. It takes a
229description of tokens based on regular expressions and generates a Haskell
230module containing code for scanning text efficiently. It is similar to the
231tool lex or flex for C/C++.")
658dbc7f
RV
232 (license license:bsd-3)))
233
dddbc90c 234(define-public ghc-alsa-core
7b01a977 235 (package
dddbc90c
RV
236 (name "ghc-alsa-core")
237 (version "0.5.0.1")
238 (source
239 (origin
240 (method url-fetch)
241 (uri (string-append
242 "mirror://hackage/package/alsa-core/alsa-core-"
243 version
244 ".tar.gz"))
245 (sha256
246 (base32
247 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
248 (build-system haskell-build-system)
249 (inputs
250 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
251 ("alsa-lib" ,alsa-lib)))
252 (native-inputs
253 `(("pkg-config" ,pkg-config)))
254 (home-page "http://www.haskell.org/haskellwiki/ALSA")
255 (synopsis "Binding to the ALSA Library API (Exceptions)")
256 (description "This package provides access to ALSA infrastructure, that is
257needed by both alsa-seq and alsa-pcm.")
258 (license license:bsd-3)))
259
260(define-public ghc-annotated-wl-pprint
261 (package
262 (name "ghc-annotated-wl-pprint")
263 (version "0.7.0")
264 (source
265 (origin
266 (method url-fetch)
267 (uri (string-append
268 "https://hackage.haskell.org/package/annotated-wl-pprint"
269 "/annotated-wl-pprint-" version
270 ".tar.gz"))
271 (sha256
272 (base32
273 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
274 (build-system haskell-build-system)
275 (home-page
276 "https://github.com/david-christiansen/annotated-wl-pprint")
277 (synopsis
278 "The Wadler/Leijen Pretty Printer, with annotation support")
279 (description "This is a modified version of wl-pprint, which was based on
280Wadler's paper \"A Prettier Printer\". This version allows the library user
281to annotate the text with semantic information, which can later be rendered in
282a variety of ways.")
283 (license license:bsd-3)))
284
285(define-public ghc-ansi-terminal
286 (package
287 (name "ghc-ansi-terminal")
288 (version "0.8.0.4")
289 (source
290 (origin
291 (method url-fetch)
292 (uri (string-append
293 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
294 version
295 ".tar.gz"))
296 (sha256
297 (base32
298 "0428gq8m3fdnb7ldcsyk97qcch76hcxbgh2666p6f76fs2qbhg7b"))))
299 (build-system haskell-build-system)
300 (inputs
301 `(("ghc-colour" ,ghc-colour)))
302 (home-page "https://github.com/feuerbach/ansi-terminal")
303 (synopsis "ANSI terminal support for Haskell")
304 (description "This package provides ANSI terminal support for Haskell. It
305allows cursor movement, screen clearing, color output showing or hiding the
306cursor, and changing the title.")
307 (license license:bsd-3)))
308
309(define-public ghc-ansi-wl-pprint
310 (package
311 (name "ghc-ansi-wl-pprint")
312 (version "0.6.8.2")
7b01a977
RV
313 (source
314 (origin
315 (method url-fetch)
316 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 317 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
318 version ".tar.gz"))
319 (sha256
320 (base32
dddbc90c 321 "0gnb4mkqryv08vncxnj0bzwcnd749613yw3cxfzw6y3nsldp4c56"))))
7b01a977
RV
322 (build-system haskell-build-system)
323 (inputs
dddbc90c
RV
324 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
325 (home-page "https://github.com/ekmett/ansi-wl-pprint")
326 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
327 (description "This is a pretty printing library based on Wadler's paper
328\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
329colored output using the ansi-terminal package.")
330 (license license:bsd-3)))
331
332(define-public ghc-appar
333 (package
334 (name "ghc-appar")
335 (version "0.1.4")
336 (source
337 (origin
338 (method url-fetch)
339 (uri (string-append
340 "https://hackage.haskell.org/package/appar/appar-"
341 version
342 ".tar.gz"))
343 (sha256
344 (base32
345 "09jb9ij78fdkz2qk66rw99q19qnm504dpv0yq0pjsl6xwjmndsjq"))))
346 (build-system haskell-build-system)
347 (home-page
348 "https://hackage.haskell.org/package/appar")
349 (synopsis "Simple applicative parser")
350 (description "This package provides a simple applicative parser in Parsec
351style.")
352 (license license:bsd-3)))
353
354(define-public ghc-async
355 (package
356 (name "ghc-async")
357 (version "2.2.1")
358 (source
359 (origin
360 (method url-fetch)
361 (uri (string-append
362 "https://hackage.haskell.org/package/async/async-"
363 version
364 ".tar.gz"))
365 (sha256
366 (base32
367 "09whscli1q5z7lzyq9rfk0bq1ydplh6pjmc6qv0x668k5818c2wg"))))
368 (build-system haskell-build-system)
369 (inputs
370 `(("ghc-hashable" ,ghc-hashable)
371 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
372 ("ghc-test-framework" ,ghc-test-framework)
373 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
374 (home-page "https://github.com/simonmar/async")
375 (synopsis "Library to run IO operations asynchronously")
376 (description "Async provides a library to run IO operations
377asynchronously, and wait for their results. It is a higher-level interface
378over threads in Haskell, in which @code{Async a} is a concurrent thread that
379will eventually deliver a value of type @code{a}.")
7b01a977
RV
380 (license license:bsd-3)))
381
dddbc90c 382(define-public ghc-atomic-write
79fcc5e5 383 (package
dddbc90c
RV
384 (name "ghc-atomic-write")
385 (version "0.2.0.5")
79fcc5e5
RV
386 (source
387 (origin
388 (method url-fetch)
dddbc90c
RV
389 (uri (string-append
390 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
391 version
392 ".tar.gz"))
79fcc5e5
RV
393 (sha256
394 (base32
dddbc90c
RV
395 "1iaq0hprxcv0sl1sgwcgmm87zraf738va1bciwnx2jkk3k1v9iyv"))))
396 (build-system haskell-build-system)
397 (inputs
398 `(("ghc-temporary" ,ghc-temporary)
399 ("ghc-unix-compat" ,ghc-unix-compat)))
400 (native-inputs
401 `(("ghc-temporary" ,ghc-temporary)
402 ("ghc-unix-compat" ,ghc-unix-compat)
403 ("ghc-hspec" ,ghc-hspec)
404 ("hspec-discover" ,hspec-discover)))
405 (home-page "https://github.com/stackbuilders/atomic-write")
406 (synopsis "Atomically write to a file")
407 (description
408 "Atomically write to a file on POSIX-compliant systems while preserving
409permissions. @code{mv} is an atomic operation. This makes it simple to write
410to a file atomically just by using the @code{mv} operation. However, this
411will destroy the permissions on the original file. This library preserves
412permissions while atomically writing to a file.")
413 (license license:expat)))
414
415(define-public ghc-attoparsec
416 (package
417 (name "ghc-attoparsec")
418 (version "0.13.2.2")
419 (source
420 (origin
421 (method url-fetch)
422 (uri (string-append
423 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
424 version
425 ".tar.gz"))
426 (sha256
427 (base32
428 "0j6qcwd146yzlkc9mcvzvnixsyl65n2a68l28322q5v9p4g4g4yx"))))
79fcc5e5 429 (build-system haskell-build-system)
79fcc5e5 430 (arguments
dddbc90c
RV
431 `(#:phases
432 (modify-phases %standard-phases
433 (add-after 'unpack 'patch-for-newer-quickcheck
434 (lambda _
435 (substitute* "attoparsec.cabal"
436 (("QuickCheck >= 2\\.7 && < 2\\.10")
437 "QuickCheck >= 2.7 && < 2.12"))
438 ;; This test fails because of the newer QuickCheck:
439 ;; <https://github.com/bos/attoparsec/issues/134>.
440 (substitute* "tests/QC/ByteString.hs"
441 ((", testProperty \"satisfyWith\" satisfyWith")
442 "")))))))
443 (inputs
444 `(("ghc-scientific" ,ghc-scientific)))
445 (native-inputs
446 `(("ghc-tasty" ,ghc-tasty)
447 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
448 ("ghc-quickcheck" ,ghc-quickcheck)
449 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
450 ("ghc-vector" ,ghc-vector)))
451 (home-page "https://github.com/bos/attoparsec")
452 (synopsis "Fast combinator parsing for bytestrings and text")
453 (description "This library provides a fast parser combinator library,
454aimed particularly at dealing efficiently with network protocols and
455complicated text/binary file formats.")
79fcc5e5
RV
456 (license license:bsd-3)))
457
dddbc90c 458(define-public ghc-attoparsec-bootstrap
6b34d01c 459 (package
dddbc90c
RV
460 (inherit ghc-attoparsec)
461 (name "ghc-attoparsec-bootstrap")
462 (arguments `(#:tests? #f))
463 (inputs
464 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
465 (native-inputs '())
466 (properties '(hidden? #t))))
467
468(define-public ghc-attoparsec-iso8601
469 (package
470 (name "ghc-attoparsec-iso8601")
6b34d01c
RV
471 (version "1.0.0.0")
472 (source
473 (origin
474 (method url-fetch)
475 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
476 "attoparsec-iso8601-" version "/"
477 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
478 (sha256
479 (base32
dddbc90c 480 "12l55b76bhya9q89mfmqmy6sl5v39b6gzrw5rf3f70vkb23nsv5a"))))
6b34d01c 481 (build-system haskell-build-system)
dddbc90c
RV
482 (arguments
483 `(#:cabal-revision
484 ("1" "06f7pgmmc8456p3hc1y23kz1y127gfczy7s00wz1rls9g2sm2vi4")))
485 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
486 ("ghc-base-compat" ,ghc-base-compat)))
487 (home-page "https://github.com/bos/aeson")
488 (synopsis "Parse ISO 8601 dates")
489 (description "Haskell library for parsing of ISO 8601 dates, originally
490from aeson.")
6b34d01c 491 (license license:bsd-3)))
b57e99f5 492
dddbc90c 493(define-public ghc-auto-update
b57e99f5 494 (package
dddbc90c
RV
495 (name "ghc-auto-update")
496 (version "0.1.4")
497 (source
498 (origin
499 (method url-fetch)
500 (uri (string-append
501 "https://hackage.haskell.org/package/auto-update/auto-update-"
502 version
503 ".tar.gz"))
504 (sha256
505 (base32
506 "09dlh2alsx2mw5kvj931yhbj0aw7jmly2cm9xbscm2sf098w35jy"))))
507 (build-system haskell-build-system)
508 (home-page "https://github.com/yesodweb/wai")
509 (synopsis "Efficiently run periodic, on-demand actions")
510 (description "This library provides mechanisms to efficiently run
511periodic, on-demand actions in Haskell.")
512 (license license:expat)))
513
514(define-public ghc-aws
515 (package
516 (name "ghc-aws")
517 (version "0.20")
b57e99f5
RV
518 (source
519 (origin
520 (method url-fetch)
521 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
522 "aws-" version "/aws-" version ".tar.gz"))
523 (sha256 (base32
524 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
525 (build-system haskell-build-system)
526 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
527 (inputs
528 `(("ghc-aeson" ,ghc-aeson)
529 ("ghc-attoparsec" ,ghc-attoparsec)
530 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
531 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
532 ("ghc-blaze-builder" ,ghc-blaze-builder)
533 ("ghc-byteable" ,ghc-byteable)
534 ("ghc-case-insensitive" ,ghc-case-insensitive)
535 ("ghc-cereal" ,ghc-cereal)
536 ("ghc-conduit" ,ghc-conduit)
537 ("ghc-conduit-extra" ,ghc-conduit-extra)
538 ("ghc-cryptonite" ,ghc-cryptonite)
539 ("ghc-data-default" ,ghc-data-default)
540 ("ghc-http-conduit" ,ghc-http-conduit)
541 ("ghc-http-types" ,ghc-http-types)
542 ("ghc-lifted-base" ,ghc-lifted-base)
543 ("ghc-monad-control" ,ghc-monad-control)
544 ("ghc-network" ,ghc-network)
545 ("ghc-old-locale" ,ghc-old-locale)
546 ("ghc-safe" ,ghc-safe)
547 ("ghc-scientific" ,ghc-scientific)
548 ("ghc-tagged" ,ghc-tagged)
549 ("ghc-unordered-containers" ,ghc-unordered-containers)
550 ("ghc-utf8-string" ,ghc-utf8-string)
551 ("ghc-vector" ,ghc-vector)
552 ("ghc-xml-conduit" ,ghc-xml-conduit)))
553 (native-inputs
554 `(("ghc-quickcheck" ,ghc-quickcheck)
555 ("ghc-errors" ,ghc-errors)
556 ("ghc-http-client" ,ghc-http-client)
557 ("ghc-http-client-tls" ,ghc-http-client-tls)
558 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
559 ("ghc-tasty" ,ghc-tasty)
560 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
561 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
562 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
563 (home-page "https://github.com/aristidb/aws")
564 (synopsis "Amazon Web Services for Haskell")
565 (description "This package attempts to provide support for using
566Amazon Web Services like S3 (storage), SQS (queuing) and others to
567Haskell programmers. The ultimate goal is to support all Amazon
568Web Services.")
569 (license license:bsd-3)))
570
571(define-public ghc-base16-bytestring
572 (package
573 (name "ghc-base16-bytestring")
574 (version "0.1.1.6")
575 (source
576 (origin
577 (method url-fetch)
578 (uri (string-append
579 "https://hackage.haskell.org/package/base16-bytestring/"
580 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
581 (sha256
582 (base32
dddbc90c 583 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 584 (build-system haskell-build-system)
dddbc90c
RV
585 (home-page "https://github.com/bos/base16-bytestring")
586 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
587 (description
588 "This package provides a Haskell library for working with base16-encoded
589data quickly and efficiently, using the ByteString type.")
b57e99f5 590 (license license:bsd-3)))
bbf8bf31 591
dddbc90c 592(define-public ghc-base64-bytestring
bbf8bf31 593 (package
dddbc90c
RV
594 (name "ghc-base64-bytestring")
595 (version "1.0.0.2")
bbf8bf31
RV
596 (source
597 (origin
598 (method url-fetch)
dddbc90c
RV
599 (uri (string-append
600 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
601 version
602 ".tar.gz"))
603 (sha256
604 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
605 (build-system haskell-build-system)
606 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
607 (home-page "https://github.com/bos/base64-bytestring")
608 (synopsis "Base64 encoding and decoding for ByteStrings")
609 (description "This library provides fast base64 encoding and decoding for
610Haskell @code{ByteString}s.")
611 (license license:bsd-3)))
612
613(define-public ghc-base-compat
614 (package
615 (name "ghc-base-compat")
616 (version "0.10.4")
617 (source
618 (origin
619 (method url-fetch)
620 (uri (string-append
621 "https://hackage.haskell.org/package/base-compat/base-compat-"
622 version
623 ".tar.gz"))
bbf8bf31
RV
624 (sha256
625 (base32
dddbc90c 626 "0ksp990gxs731mq19rzbxrbs43nazfljjc8krlx5bjqblw3kfs8d"))))
bbf8bf31
RV
627 (build-system haskell-build-system)
628 (native-inputs
dddbc90c
RV
629 `(("ghc-quickcheck" ,ghc-quickcheck)
630 ("ghc-hspec" ,ghc-hspec)
631 ("hspec-discover" ,hspec-discover)))
632 (home-page "https://hackage.haskell.org/package/base-compat")
633 (synopsis "Haskell compiler compatibility library")
634 (description "This library provides functions available in later versions
635of base to a wider range of compilers, without requiring the use of CPP
636pragmas in your code.")
637 (license license:bsd-3)))
638
639(define-public ghc-basement
640 (package
641 (name "ghc-basement")
642 (version "0.0.8")
643 (source
644 (origin
645 (method url-fetch)
646 (uri (string-append "https://hackage.haskell.org/package/"
647 "basement/basement-" version ".tar.gz"))
648 (sha256
649 (base32
650 "194jw567di4q2758943q9rrwkbf9gl261my7qc21i9xhyabipx67"))))
651 (build-system haskell-build-system)
652 (home-page "https://github.com/haskell-foundation/foundation")
653 (synopsis "Basic primitives for Foundation starter pack")
654 (description
655 "This package contains basic primitives for the Foundation set of
656packages.")
657 (license license:bsd-3)))
658
659(define-public ghc-base-orphans
660 (package
661 (name "ghc-base-orphans")
662 (version "0.7")
663 (source
664 (origin
665 (method url-fetch)
666 (uri (string-append
667 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
668 version
669 ".tar.gz"))
670 (sha256
671 (base32
672 "057f9npnqk71ccfh95djfkpd54dzazphj06grwxa3fyhwcwxrb8a"))))
673 (build-system haskell-build-system)
674 (native-inputs
675 `(("ghc-quickcheck" ,ghc-quickcheck)
676 ("ghc-hspec" ,ghc-hspec)
677 ("hspec-discover" ,hspec-discover)))
678 (home-page "https://hackage.haskell.org/package/base-orphans")
679 (synopsis "Orphan instances for backwards compatibility")
680 (description "This package defines orphan instances that mimic instances
681available in later versions of base to a wider (older) range of compilers.")
682 (license license:bsd-3)))
683
684(define-public ghc-base-prelude
685 (package
686 (name "ghc-base-prelude")
687 (version "1.3")
688 (source
689 (origin
690 (method url-fetch)
691 (uri (string-append "https://hackage.haskell.org/package/"
692 "base-prelude-" version "/"
693 "base-prelude-" version ".tar.gz"))
694 (sha256
695 (base32
696 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
697 (build-system haskell-build-system)
698 (home-page "https://github.com/nikita-volkov/base-prelude")
699 (synopsis "The most complete prelude formed solely from the Haskell's base
700package")
701 (description "This Haskell package aims to reexport all the non-conflicting
702and most general definitions from the \"base\" package.
703
704This includes APIs for applicatives, arrows, monoids, foldables, traversables,
705exceptions, generics, ST, MVars and STM.
706
707This package will never have any dependencies other than \"base\".
708
709Versioning policy:
710
711The versioning policy of this package deviates from PVP in the sense
712that its exports in part are transitively determined by the version of \"base\".
713Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
714the bounds of \"base\" as well.")
715 (license license:expat)))
716
717(define-public ghc-base-unicode-symbols
718 (package
719 (name "ghc-base-unicode-symbols")
720 (version "0.2.3")
721 (source
722 (origin
723 (method url-fetch)
724 (uri (string-append
725 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
726 version
727 ".tar.gz"))
728 (sha256
729 (base32
730 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
731 (build-system haskell-build-system)
732 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
733 (synopsis "Unicode alternatives for common functions and operators")
734 (description "This package defines new symbols for a number of functions,
735operators and types in the base package. All symbols are documented with
736their actual definition and information regarding their Unicode code point.
737They should be completely interchangeable with their definitions. For
738further Unicode goodness you can enable the @code{UnicodeSyntax}
739@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
740language extension}. This extension enables Unicode characters to be used to
741stand for certain ASCII character sequences, i.e. → instead of @code{->},
742∀ instead of @code{forall} and many others.")
743 (license license:bsd-3)))
744
745(define-public ghc-bifunctors
746 (package
747 (name "ghc-bifunctors")
748 (version "5.5.3")
749 (source
750 (origin
751 (method url-fetch)
752 (uri (string-append
753 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
754 version
755 ".tar.gz"))
756 (sha256
757 (base32
758 "1jn9rxg643xnlhrknmjz88nblcpsr45xwjkwwnn5nxpasa7m4d6l"))))
759 (build-system haskell-build-system)
760 (inputs
761 `(("ghc-base-orphans" ,ghc-base-orphans)
762 ("ghc-comonad" ,ghc-comonad)
763 ("ghc-th-abstraction" ,ghc-th-abstraction)
764 ("ghc-transformers-compat" ,ghc-transformers-compat)
765 ("ghc-tagged" ,ghc-tagged)
766 ("ghc-semigroups" ,ghc-semigroups)))
767 (native-inputs
768 `(("ghc-hspec" ,ghc-hspec)
769 ("hspec-discover" ,hspec-discover)
770 ("ghc-quickcheck" ,ghc-quickcheck)))
771 (home-page "https://github.com/ekmett/bifunctors/")
772 (synopsis "Bifunctors for Haskell")
773 (description "This package provides bifunctors for Haskell.")
774 (license license:bsd-3)))
775
776(define-public ghc-bindings-dsl
777 (package
778 (name "ghc-bindings-dsl")
779 (version "1.0.25")
780 (source
781 (origin
782 (method url-fetch)
783 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
784 "bindings-DSL-" version ".tar.gz"))
785 (sha256
786 (base32
787 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
788 (build-system haskell-build-system)
789 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
790 (synopsis "FFI domain specific language, on top of hsc2hs")
791 (description
792 "This is a set of macros to be used when writing Haskell FFI. They were
793designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
794extract from them all Haskell code needed to mimic such interfaces. All
795Haskell names used are automatically derived from C names, structures are
796mapped to Haskell instances of @code{Storable}, and there are also macros you
797can use with C code to help write bindings to inline functions or macro
798functions.")
799 (license license:bsd-3)))
800
801(define-public ghc-blaze-builder
802 (package
803 (name "ghc-blaze-builder")
804 (version "0.4.1.0")
805 (source
806 (origin
807 (method url-fetch)
808 (uri (string-append
809 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
810 version
811 ".tar.gz"))
812 (sha256
813 (base32
814 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
815 (build-system haskell-build-system)
816 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
817 (inputs
818 `(("ghc-utf8-string" ,ghc-utf8-string)))
819 (home-page "https://github.com/lpsmith/blaze-builder")
820 (synopsis "Efficient buffered output")
821 (description "This library provides an implementation of the older
822@code{blaze-builder} interface in terms of the new builder that shipped with
823@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
824bridge to the new builder, so that code that uses the old interface can
825interoperate with code that uses the new implementation.")
826 (license license:bsd-3)))
827
828(define-public ghc-blaze-markup
829 (package
830 (name "ghc-blaze-markup")
831 (version "0.8.2.1")
832 (source
833 (origin
834 (method url-fetch)
835 (uri (string-append "https://hackage.haskell.org/package/"
836 "blaze-markup/blaze-markup-"
837 version ".tar.gz"))
838 (sha256
839 (base32
840 "0ih1c3qahkdgzbqihdhny5s313l2m66fbb88w8jbx7yz56y7rawh"))))
841 (build-system haskell-build-system)
842 (arguments
843 `(#:phases
844 (modify-phases %standard-phases
845 (add-before 'configure 'update-constraints
846 (lambda _
847 (substitute* "blaze-markup.cabal"
848 (("tasty >= 1\\.0 && < 1\\.1")
849 "tasty >= 1.0 && < 1.2")))))))
850 (inputs
851 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
852 (native-inputs
853 `(("ghc-hunit" ,ghc-hunit)
854 ("ghc-quickcheck" ,ghc-quickcheck)
855 ("ghc-tasty" ,ghc-tasty)
856 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
857 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
858 (home-page "https://jaspervdj.be/blaze")
859 (synopsis "Fast markup combinator library for Haskell")
860 (description "This library provides core modules of a markup combinator
861library for Haskell.")
862 (license license:bsd-3)))
863
864(define-public ghc-bloomfilter
865 (package
866 (name "ghc-bloomfilter")
867 (version "2.0.1.0")
868 (source
869 (origin
870 (method url-fetch)
871 (uri (string-append "https://hackage.haskell.org/package/"
872 "bloomfilter/bloomfilter-" version ".tar.gz"))
873 (sha256
874 (base32
875 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
876 (build-system haskell-build-system)
877 (native-inputs
878 `(("ghc-quickcheck" ,ghc-quickcheck)
879 ("ghc-random" ,ghc-random)
880 ("ghc-test-framework" ,ghc-test-framework)
881 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
882 (home-page "https://github.com/bos/bloomfilter")
883 (synopsis "Pure and impure Bloom filter implementations")
884 (description "This package provides both mutable and immutable Bloom
885filter data types, along with a family of hash functions and an easy-to-use
886interface.")
887 (license license:bsd-3)))
888
889(define-public ghc-boxes
890 (package
891 (name "ghc-boxes")
892 (version "0.1.5")
893 (source
894 (origin
895 (method url-fetch)
896 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
897 version ".tar.gz"))
898 (sha256
899 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
900 (build-system haskell-build-system)
901 (inputs
902 `(("ghc-split" ,ghc-split)
903 ("ghc-quickcheck" ,ghc-quickcheck)))
904 (home-page "https://hackage.haskell.org/package/boxes")
905 (synopsis "2D text pretty-printing library")
906 (description
907 "Boxes is a pretty-printing library for laying out text in two dimensions,
908using a simple box model.")
909 (license license:bsd-3)))
910
911(define-public ghc-byteable
912 (package
913 (name "ghc-byteable")
914 (version "0.1.1")
915 (source (origin
916 (method url-fetch)
917 (uri (string-append "https://hackage.haskell.org/package/"
918 "byteable/byteable-" version ".tar.gz"))
919 (sha256
920 (base32
921 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
922 (build-system haskell-build-system)
923 (home-page "https://github.com/vincenthz/hs-byteable")
924 (synopsis "Type class for sequence of bytes")
925 (description
926 "This package provides an abstract class to manipulate sequence of bytes.
927The use case of this class is abstracting manipulation of types that are just
928wrapping a bytestring with stronger and more meaniful name.")
929 (license license:bsd-3)))
930
931(define-public ghc-byteorder
932 (package
933 (name "ghc-byteorder")
934 (version "1.0.4")
935 (source
936 (origin
937 (method url-fetch)
938 (uri (string-append
939 "https://hackage.haskell.org/package/byteorder/byteorder-"
940 version
941 ".tar.gz"))
942 (sha256
943 (base32
944 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
945 (build-system haskell-build-system)
946 (home-page
947 "http://community.haskell.org/~aslatter/code/byteorder")
948 (synopsis
949 "Exposes the native endianness of the system")
950 (description
951 "This package is for working with the native byte-ordering of the
952system.")
953 (license license:bsd-3)))
954
955(define-public ghc-bytes
956 (package
957 (name "ghc-bytes")
958 (version "0.15.5")
959 (source
960 (origin
961 (method url-fetch)
962 (uri
963 (string-append "https://hackage.haskell.org/package/bytes-"
964 version "/bytes-"
965 version ".tar.gz"))
966 (file-name (string-append name "-" version ".tar.gz"))
967 (sha256
968 (base32
969 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
970 (build-system haskell-build-system)
971 (inputs `(("ghc-cereal" ,ghc-cereal)
972 ("cabal-doctest" ,cabal-doctest)
973 ("ghc-doctest" ,ghc-doctest)
974 ("ghc-scientific" ,ghc-scientific)
975 ("ghc-transformers-compat" ,ghc-transformers-compat)
976 ("ghc-unordered-containers" ,ghc-unordered-containers)
977 ("ghc-void" ,ghc-void)
978 ("ghc-vector" ,ghc-vector)))
979 (synopsis "Serialization between @code{binary} and @code{cereal}")
980 (description "This package provides a simple compatibility shim that lets
981you work with both @code{binary} and @code{cereal} with one chunk of
982serialization code.")
983 (home-page "https://hackage.haskell.org/package/bytes")
984 (license license:bsd-3)))
985
986(define-public ghc-bytestring-builder
987 (package
988 (name "ghc-bytestring-builder")
989 (version "0.10.8.1.0")
990 (source
991 (origin
992 (method url-fetch)
993 (uri (string-append
994 "https://hackage.haskell.org/package/bytestring-builder"
995 "/bytestring-builder-" version ".tar.gz"))
996 (sha256
997 (base32
998 "1hnvjac28y44yn78c9vdp1zvrknvlw98ky3g4n5vivr16rvh8x3d"))))
999 (build-system haskell-build-system)
1000 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1001 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1002 (synopsis "The new bytestring builder, packaged outside of GHC")
1003 (description "This package provides the bytestring builder that is
1004debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1005Compatibility package for older packages.")
1006 (license license:bsd-3)))
1007
1008(define-public ghc-bytestring-handle
1009 (package
1010 (name "ghc-bytestring-handle")
1011 (version "0.1.0.6")
1012 (source
1013 (origin
1014 (method url-fetch)
1015 (uri (string-append
1016 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1017 version ".tar.gz"))
1018 (sha256
1019 (base32
1020 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1021 (build-system haskell-build-system)
1022 (arguments
1023 `(#:phases
1024 (modify-phases %standard-phases
1025 (add-before 'configure 'update-constraints
1026 (lambda _
1027 (substitute* "bytestring-handle.cabal"
1028 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
1029 "QuickCheck >= 2.1.2 && < 2.12")
1030 (("base >= 4\\.2 && < 4\\.11")
1031 "base >= 4.2 && < 4.12")))))))
1032 (inputs
1033 `(("ghc-hunit" ,ghc-hunit)
1034 ("ghc-quickcheck" ,ghc-quickcheck)
1035 ("ghc-test-framework" ,ghc-test-framework)
1036 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1037 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1038 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1039 (synopsis "ByteString-backed Handles")
1040 (description "ByteString-backed Handles") ; There is no description
1041 (license license:bsd-3)))
1042
1043(define-public ghc-bytestring-lexing
1044 (package
1045 (name "ghc-bytestring-lexing")
1046 (version "0.5.0.2")
1047 (source
1048 (origin
1049 (method url-fetch)
1050 (uri (string-append "https://hackage.haskell.org/package/"
1051 "bytestring-lexing/bytestring-lexing-"
1052 version ".tar.gz"))
1053 (sha256
1054 (base32
1055 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1056 (build-system haskell-build-system)
1057 (home-page "http://code.haskell.org/~wren/")
1058 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1059 (description
1060 "This package provides tools to parse and produce literals efficiently
1061from strict or lazy bytestrings.")
1062 (license license:bsd-2)))
1063
1064(define-public ghc-bzlib-conduit
1065 (package
1066 (name "ghc-bzlib-conduit")
1067 (version "0.3.0.1")
1068 (source
1069 (origin
1070 (method url-fetch)
1071 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1072 "bzlib-conduit-" version ".tar.gz"))
1073 (sha256
1074 (base32
1075 "0fd2hnr782s7qgipazg2yxwia9qqhkvm9bcm90773c3zkxa13n23"))))
1076 (build-system haskell-build-system)
1077 (inputs
1078 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1079 ("ghc-conduit" ,ghc-conduit)
1080 ("ghc-data-default-class" ,ghc-data-default-class)
1081 ("ghc-resourcet" ,ghc-resourcet)))
1082 (native-inputs
1083 `(("ghc-hspec" ,ghc-hspec)
1084 ("ghc-random" ,ghc-random)))
1085 (home-page "https://github.com/snoyberg/bzlib-conduit")
1086 (synopsis "Streaming compression/decompression via conduits")
1087 (description
1088 "This package provides Haskell bindings to bzlib and Conduit support for
1089streaming compression and decompression.")
1090 (license license:bsd-3)))
1091
1092(define-public ghc-c2hs
1093 (package
1094 (name "ghc-c2hs")
1095 (version "0.28.6")
1096 (source
1097 (origin
1098 (method url-fetch)
1099 (uri (string-append
1100 "https://hackage.haskell.org/package/c2hs/c2hs-"
1101 version
1102 ".tar.gz"))
1103 (sha256
1104 (base32
1105 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1106 (build-system haskell-build-system)
1107 (inputs
1108 `(("ghc-language-c" ,ghc-language-c)
1109 ("ghc-dlist" ,ghc-dlist)))
1110 (native-inputs
1111 `(("ghc-test-framework" ,ghc-test-framework)
1112 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1113 ("ghc-hunit" ,ghc-hunit)
1114 ("ghc-shelly" ,ghc-shelly)
1115 ("gcc" ,gcc)))
1116 (arguments
1117 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1118 ;; of glibc 2.28.
1119 #:tests? #f
1120
1121 #:phases
1122 (modify-phases %standard-phases
1123 (add-before 'check 'set-cc
1124 ;; add a cc executable in the path, needed for some tests to pass
1125 (lambda* (#:key inputs #:allow-other-keys)
1126 (let ((gcc (assoc-ref inputs "gcc"))
1127 (tmpbin (tmpnam))
1128 (curpath (getenv "PATH")))
1129 (mkdir-p tmpbin)
1130 (symlink (which "gcc") (string-append tmpbin "/cc"))
1131 (setenv "PATH" (string-append tmpbin ":" curpath)))
1132 #t))
1133 (add-after 'check 'remove-cc
1134 ;; clean the tmp dir made in 'set-cc
1135 (lambda _
1136 (let* ((cc-path (which "cc"))
1137 (cc-dir (dirname cc-path)))
1138 (delete-file-recursively cc-dir)
1139 #t))))))
1140 (home-page "https://github.com/haskell/c2hs")
1141 (synopsis "Create Haskell bindings to C libraries")
1142 (description "C->Haskell assists in the development of Haskell bindings to
1143C libraries. It extracts interface information from C header files and
1144generates Haskell code with foreign imports and marshaling. Unlike writing
1145foreign imports by hand (or using hsc2hs), this ensures that C functions are
1146imported with the correct Haskell types.")
1147 (license license:gpl2)))
1148
1149(define-public ghc-cairo
1150 (package
1151 (name "ghc-cairo")
1152 (version "0.13.5.0")
1153 (source
1154 (origin
1155 (method url-fetch)
1156 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1157 "cairo-" version ".tar.gz"))
1158 (sha256
1159 (base32
1160 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1161 (build-system haskell-build-system)
1162 (arguments
1163 `(#:modules ((guix build haskell-build-system)
1164 (guix build utils)
1165 (ice-9 match)
1166 (srfi srfi-26))
1167 #:phases
1168 (modify-phases %standard-phases
1169 ;; FIXME: This is a copy of the standard configure phase with a tiny
1170 ;; difference: this package needs the -package-db flag to be passed
1171 ;; to "runhaskell" in addition to the "configure" action, because it
1172 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1173 ;; this option the Setup.hs file cannot be evaluated. The
1174 ;; haskell-build-system should be changed to pass "-package-db" to
1175 ;; "runhaskell" in any case.
1176 (replace 'configure
1177 (lambda* (#:key outputs inputs tests? (configure-flags '())
1178 #:allow-other-keys)
1179 (let* ((out (assoc-ref outputs "out"))
1180 (name-version (strip-store-file-name out))
1181 (input-dirs (match inputs
1182 (((_ . dir) ...)
1183 dir)
1184 (_ '())))
1185 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1186 (params (append `(,(string-append "--prefix=" out))
1187 `(,(string-append "--libdir=" out "/lib"))
1188 `(,(string-append "--bindir=" out "/bin"))
1189 `(,(string-append
1190 "--docdir=" out
1191 "/share/doc/" name-version))
1192 '("--libsubdir=$compiler/$pkg-$version")
1193 '("--package-db=../package.conf.d")
1194 '("--global")
1195 `(,@(map
1196 (cut string-append "--extra-include-dirs=" <>)
1197 (search-path-as-list '("include") input-dirs)))
1198 `(,@(map
1199 (cut string-append "--extra-lib-dirs=" <>)
1200 (search-path-as-list '("lib") input-dirs)))
1201 (if tests?
1202 '("--enable-tests")
1203 '())
1204 configure-flags)))
1205 (unsetenv "GHC_PACKAGE_PATH")
1206 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1207 "Setup.hs" "configure" params)
1208 (setenv "GHC_PACKAGE_PATH" ghc-path)
1209 #t))))))
1210 (inputs
1211 `(("ghc-utf8-string" ,ghc-utf8-string)
1212 ("cairo" ,cairo)))
1213 (native-inputs
1214 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1215 ("pkg-config" ,pkg-config)))
1216 (home-page "http://projects.haskell.org/gtk2hs/")
1217 (synopsis "Haskell bindings to the Cairo vector graphics library")
1218 (description
1219 "Cairo is a library to render high quality vector graphics. There exist
1220various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1221documents, amongst others.")
1222 (license license:bsd-3)))
1223
1224(define-public ghc-call-stack
1225 (package
1226 (name "ghc-call-stack")
1227 (version "0.1.0")
1228 (source
1229 (origin
1230 (method url-fetch)
1231 (uri (string-append "https://hackage.haskell.org/package/"
1232 "call-stack/call-stack-"
1233 version ".tar.gz"))
1234 (sha256
1235 (base32
1236 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1237 (build-system haskell-build-system)
1238 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1239 (home-page "https://github.com/sol/call-stack#readme")
1240 (synopsis "Use GHC call-stacks in a backward compatible way")
1241 (description "This package provides a compatibility layer for using GHC
1242call stacks with different versions of the compiler.")
1243 (license license:expat)))
1244
1245;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1246;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1247(define-public ghc-call-stack-boot
1248 (hidden-package
1249 (package
1250 (inherit ghc-call-stack)
1251 (arguments '(#:tests? #f))
1252 (inputs '()))))
1253
1254(define-public ghc-case-insensitive
1255 (package
1256 (name "ghc-case-insensitive")
1257 (version "1.2.0.11")
1258 (outputs '("out" "doc"))
1259 (source
1260 (origin
1261 (method url-fetch)
1262 (uri (string-append
1263 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1264 version
1265 ".tar.gz"))
1266 (sha256
1267 (base32
1268 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1269 (build-system haskell-build-system)
1270 ;; these inputs are necessary to use this library
1271 (inputs
1272 `(("ghc-hashable" ,ghc-hashable)))
1273 (arguments
1274 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1275 (home-page
1276 "https://github.com/basvandijk/case-insensitive")
1277 (synopsis "Case insensitive string comparison")
1278 (description
1279 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1280constructor which can be parameterised by a string-like type like:
1281@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1282the resulting type will be insensitive to cases.")
1283 (license license:bsd-3)))
1284
1285(define-public ghc-cereal
1286 (package
1287 (name "ghc-cereal")
1288 (version "0.5.7.0")
1289 (source
1290 (origin
1291 (method url-fetch)
1292 (uri (string-append
1293 "https://hackage.haskell.org/package/cereal/cereal-"
1294 version
1295 ".tar.gz"))
1296 (sha256
1297 (base32
1298 "1j7imh2mzqcljld7sx0av69699955rpy3hzivi5723i6a9nszgbs"))))
1299 (build-system haskell-build-system)
1300 (native-inputs
1301 `(("ghc-quickcheck" ,ghc-quickcheck)
1302 ("ghc-fail" ,ghc-fail)
1303 ("ghc-test-framework" ,ghc-test-framework)
1304 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1305 (home-page "https://hackage.haskell.org/package/cereal")
1306 (synopsis "Binary serialization library")
1307 (description "This package provides a binary serialization library,
1308similar to @code{binary}, that introduces an @code{isolate} primitive for
1309parser isolation, and labeled blocks for better error messages.")
1310 (license license:bsd-3)))
1311
1312(define-public ghc-cereal-conduit
1313 (package
1314 (name "ghc-cereal-conduit")
1315 (version "0.8.0")
1316 (source
1317 (origin
1318 (method url-fetch)
1319 (uri (string-append "https://hackage.haskell.org/package/"
1320 "cereal-conduit/cereal-conduit-"
1321 version ".tar.gz"))
1322 (sha256
1323 (base32
1324 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1325 (build-system haskell-build-system)
1326 (inputs
1327 `(("ghc-conduit" ,ghc-conduit)
1328 ("ghc-resourcet" ,ghc-resourcet)
1329 ("ghc-cereal" ,ghc-cereal)))
1330 (native-inputs
1331 `(("ghc-hunit" ,ghc-hunit)))
1332 (home-page "https://github.com/snoyberg/conduit")
1333 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1334 (description
1335 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1336@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1337 (license license:bsd-3)))
1338
1339(define-public ghc-cgi
1340 (package
1341 (name "ghc-cgi")
1342 (version "3001.3.0.2")
1343 (source
1344 (origin
1345 (method url-fetch)
1346 (uri (string-append
1347 "https://hackage.haskell.org/package/cgi/cgi-"
1348 version
1349 ".tar.gz"))
1350 (sha256
1351 (base32
1352 "1hbpplss1m4rdpm4ibip6fpimlhssqa14fl338kl2jbc463i64cj"))))
1353 (build-system haskell-build-system)
1354 (arguments
1355 `(#:phases
1356 (modify-phases %standard-phases
1357 (add-before 'configure 'update-constraints
1358 (lambda _
1359 (substitute* "cgi.cabal"
1360 (("exceptions < 0\\.9")
1361 "exceptions < 0.11")
1362 (("time >= 1\\.5 && < 1\\.7")
1363 "time >= 1.5 && < 1.9")
1364 (("doctest >= 0\\.8 && < 0\\.12")
1365 "doctest >= 0.8 && < 0.17")
1366 (("QuickCheck >= 2\\.8\\.1 && < 2\\.10")
1367 "QuickCheck >= 2.8.1 && < 2.12")))))))
1368 (inputs
1369 `(("ghc-exceptions" ,ghc-exceptions)
1370 ("ghc-multipart" ,ghc-multipart)
1371 ("ghc-network-uri" ,ghc-network-uri)
1372 ("ghc-network" ,ghc-network)))
1373 (native-inputs
1374 `(("ghc-doctest" ,ghc-doctest)
1375 ("ghc-quickcheck" ,ghc-quickcheck)))
1376 (home-page
1377 "https://github.com/cheecheeo/haskell-cgi")
1378 (synopsis "Library for writing CGI programs")
1379 (description
1380 "This is a Haskell library for writing CGI programs.")
1381 (license license:bsd-3)))
1382
1383(define-public ghc-charset
1384 (package
1385 (name "ghc-charset")
1386 (version "0.3.7.1")
1387 (source
1388 (origin
1389 (method url-fetch)
1390 (uri (string-append
1391 "https://hackage.haskell.org/package/charset/charset-"
1392 version
1393 ".tar.gz"))
1394 (sha256
1395 (base32
1396 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1397 (build-system haskell-build-system)
1398 (inputs
1399 `(("ghc-semigroups" ,ghc-semigroups)
1400 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1401 (home-page "https://github.com/ekmett/charset")
1402 (synopsis "Fast unicode character sets for Haskell")
1403 (description "This package provides fast unicode character sets for
1404Haskell, based on complemented PATRICIA tries.")
1405 (license license:bsd-3)))
1406
1407(define-public ghc-chart
1408 (package
1409 (name "ghc-chart")
1410 (version "1.9")
1411 (source
1412 (origin
1413 (method url-fetch)
1414 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1415 "Chart-" version ".tar.gz"))
1416 (sha256
1417 (base32
1418 "1f5azj17y8xsb3gjhf7gg1gnnlq12rxkmfjmgcly314d7vghs05z"))))
1419 (build-system haskell-build-system)
1420 (inputs
1421 `(("ghc-old-locale" ,ghc-old-locale)
1422 ("ghc-lens" ,ghc-lens)
1423 ("ghc-colour" ,ghc-colour)
1424 ("ghc-data-default-class" ,ghc-data-default-class)
1425 ("ghc-operational" ,ghc-operational)
1426 ("ghc-vector" ,ghc-vector)))
1427 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1428 (synopsis "Library for generating 2D charts and plots")
1429 (description
1430 "This package provides a library for generating 2D charts and plots, with
1431backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1432 (license license:bsd-3)))
1433
1434(define-public ghc-chart-cairo
1435 (package
1436 (name "ghc-chart-cairo")
1437 (version "1.9")
1438 (source
1439 (origin
1440 (method url-fetch)
1441 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1442 "Chart-cairo-" version ".tar.gz"))
1443 (sha256
1444 (base32
1445 "0iany6lfyfb1cw0pxfs5aw5k0a6x41m6ql9ad9w59biwdckbsyqr"))))
1446 (build-system haskell-build-system)
1447 (inputs
1448 `(("ghc-old-locale" ,ghc-old-locale)
1449 ("ghc-cairo" ,ghc-cairo)
1450 ("ghc-colour" ,ghc-colour)
1451 ("ghc-data-default-class" ,ghc-data-default-class)
1452 ("ghc-operational" ,ghc-operational)
1453 ("ghc-lens" ,ghc-lens)
1454 ("ghc-chart" ,ghc-chart)))
1455 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1456 (synopsis "Cairo backend for Charts")
1457 (description "This package provides a Cairo vector graphics rendering
1458backend for the Charts library.")
1459 (license license:bsd-3)))
1460
1461(define-public ghc-chasingbottoms
1462 (package
1463 (name "ghc-chasingbottoms")
1464 (version "1.3.1.4")
1465 (source
1466 (origin
1467 (method url-fetch)
1468 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1469 "ChasingBottoms-" version ".tar.gz"))
1470 (sha256
1471 (base32
1472 "06cynx6hcbfpky7qq3b3mjjgwbnaxkwin3znbwq4b9ikiw0ng633"))))
1473 (build-system haskell-build-system)
1474 (inputs
1475 `(("ghc-quickcheck" ,ghc-quickcheck)
1476 ("ghc-random" ,ghc-random)
1477 ("ghc-syb" ,ghc-syb)))
1478 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1479 (synopsis "Testing of partial and infinite values in Haskell")
1480 (description
1481 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1482 ;; rendered properly.
1483 "This is a library for testing code involving bottoms or infinite values.
1484For the underlying theory and a larger example involving use of QuickCheck,
1485see the article
1486@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1487\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1488Partial and Infinite Values\"}.")
1489 (license license:expat)))
1490
1491(define-public ghc-cheapskate
1492 (package
1493 (name "ghc-cheapskate")
1494 (version "0.1.1")
1495 (source
1496 (origin
1497 (method url-fetch)
1498 (uri (string-append
1499 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1500 version
1501 ".tar.gz"))
1502 (sha256
1503 (base32
1504 "1hiqi7h76shjzs2zj0j8g6wnq2hbiq1hmfafdazr97fba2zl2432"))))
1505 (build-system haskell-build-system)
1506 (inputs
1507 `(("ghc-blaze-html" ,ghc-blaze-html)
1508 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1509 ("ghc-data-default" ,ghc-data-default)
1510 ("ghc-syb" ,ghc-syb)
1511 ("ghc-uniplate" ,ghc-uniplate)))
1512 (home-page "https://github.com/jgm/cheapskate")
1513 (synopsis "Experimental markdown processor")
1514 (description "Cheapskate is an experimental Markdown processor in pure
1515Haskell. It aims to process Markdown efficiently and in the most forgiving
1516possible way. It is designed to deal with any input, including garbage, with
1517linear performance. Output is sanitized by default for protection against
1518cross-site scripting (@dfn{XSS}) attacks.")
1519 (license license:bsd-3)))
1520
1521(define-public ghc-chell
1522 (package
1523 (name "ghc-chell")
1524 (version "0.4.0.2")
1525 (source
1526 (origin
1527 (method url-fetch)
1528 (uri (string-append
1529 "https://hackage.haskell.org/package/chell/chell-"
1530 version ".tar.gz"))
1531 (sha256
1532 (base32
1533 "10ingy9qnbmc8cqh4i9pskcw43l0mzk8f3d76b3qz3fig5ary3j9"))))
1534 (build-system haskell-build-system)
1535 (inputs
1536 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1537 ("ghc-patience" ,ghc-patience)
1538 ("ghc-random" ,ghc-random)
1539 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1540 (home-page "https://john-millikin.com/software/chell/")
1541 (synopsis "Simple and intuitive library for automated testing")
1542 (description
1543 "Chell is a simple and intuitive library for automated testing.
1544It natively supports assertion-based testing, and can use companion
1545libraries such as @code{chell-quickcheck} to support more complex
1546testing strategies.")
1547 (license license:expat)))
1548
1549(define-public ghc-chell-quickcheck
1550 (package
1551 (name "ghc-chell-quickcheck")
1552 (version "0.2.5.1")
1553 (source
1554 (origin
1555 (method url-fetch)
1556 (uri (string-append
1557 "https://hackage.haskell.org/package/chell-quickcheck/"
1558 "chell-quickcheck-" version ".tar.gz"))
1559 (sha256
1560 (base32
1561 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
1562 (build-system haskell-build-system)
1563 (arguments
1564 `(#:phases
1565 (modify-phases %standard-phases
1566 (add-before 'configure 'update-constraints
1567 (lambda _
1568 (substitute* "chell-quickcheck.cabal"
1569 (("QuickCheck >= 2\\.3 && < 2\\.11")
1570 "QuickCheck >= 2.3 && < 2.12")))))))
1571 (inputs
1572 `(("ghc-chell" ,ghc-chell)
1573 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1574 ("ghc-random" ,ghc-random)
1575 ("ghc-quickcheck" ,ghc-quickcheck)))
1576 (home-page "https://john-millikin.com/software/chell/")
1577 (synopsis "QuickCheck support for the Chell testing library")
1578 (description "More complex tests for @code{chell}.")
1579 (license license:expat)))
1580
1581(define ghc-chell-quickcheck-bootstrap
1582 (package
1583 (name "ghc-chell-quickcheck-bootstrap")
1584 (version "0.2.5.1")
1585 (source
1586 (origin
1587 (method url-fetch)
1588 (uri (string-append
1589 "https://hackage.haskell.org/package/chell-quickcheck/"
1590 "chell-quickcheck-" version ".tar.gz"))
1591 (sha256
1592 (base32
1593 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
1594 (build-system haskell-build-system)
1595 (inputs
1596 `(("ghc-chell" ,ghc-chell)
1597 ("ghc-random" ,ghc-random)
1598 ("ghc-quickcheck" ,ghc-quickcheck)))
1599 (arguments
1600 `(#:tests? #f
1601 #:phases
1602 (modify-phases %standard-phases
1603 (add-before 'configure 'update-constraints
1604 (lambda _
1605 (substitute* "chell-quickcheck.cabal"
1606 (("QuickCheck >= 2\\.3 && < 2\\.11")
1607 "QuickCheck >= 2.3 && < 2.12")))))))
1608 (home-page "https://john-millikin.com/software/chell/")
1609 (synopsis "QuickCheck support for the Chell testing library")
1610 (description "More complex tests for @code{chell}.")
1611 (license license:expat)))
1612
1613(define-public ghc-chunked-data
1614 (package
1615 (name "ghc-chunked-data")
1616 (version "0.3.1")
1617 (source
1618 (origin
1619 (method url-fetch)
1620 (uri (string-append "https://hackage.haskell.org/package/"
1621 "chunked-data-" version "/"
1622 "chunked-data-" version ".tar.gz"))
1623 (sha256
1624 (base32
1625 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1626 (build-system haskell-build-system)
1627 (inputs `(("ghc-vector" ,ghc-vector)
1628 ("ghc-semigroups" ,ghc-semigroups)))
1629 (home-page "https://github.com/snoyberg/mono-traversable")
1630 (synopsis "Typeclasses for dealing with various chunked data
1631representations for Haskell")
1632 (description "This Haskell package was originally present in
1633classy-prelude.")
1634 (license license:expat)))
1635
1636(define-public ghc-clock
1637 (package
1638 (name "ghc-clock")
1639 (version "0.7.2")
1640 (source
1641 (origin
1642 (method url-fetch)
1643 (uri (string-append
1644 "https://hackage.haskell.org/package/"
1645 "clock/"
1646 "clock-" version ".tar.gz"))
1647 (sha256
1648 (base32 "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8"))))
1649 (build-system haskell-build-system)
1650 (inputs
1651 `(("ghc-tasty" ,ghc-tasty)
1652 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1653 (home-page "https://hackage.haskell.org/package/clock")
1654 (synopsis "High-resolution clock for Haskell")
1655 (description "A package for convenient access to high-resolution clock and
1656timer functions of different operating systems via a unified API.")
1657 (license license:bsd-3)))
1658
1659;; This package builds `clock` without tests, since the tests rely on tasty
1660;; and tasty-quickcheck, which in turn require clock to build.
1661(define-public ghc-clock-bootstrap
1662 (package
1663 (inherit ghc-clock)
1664 (name "ghc-clock-bootstrap")
1665 (arguments '(#:tests? #f))
1666 (inputs '())
1667 (properties '((hidden? #t)))))
1668
1669(define-public ghc-cmark
1670 (package
1671 (name "ghc-cmark")
1672 (version "0.5.6")
1673 (source (origin
1674 (method url-fetch)
1675 ;; XXX As of version 0.5.6, this package bundles libcmark 0.28.0.
1676 ;; See cbits/cmark_version.h.
1677 (uri (string-append "https://hackage.haskell.org/package/"
1678 "cmark/cmark-" version ".tar.gz"))
1679 (sha256
1680 (base32
1681 "1c1j3a8b9qx5zk9myqm3gap8ymz7fipwrdmyfsq9wkkdr9x4np45"))))
1682 (build-system haskell-build-system)
1683 (native-inputs
1684 `(("ghc-hunit" ,ghc-hunit)))
1685 (home-page "https://github.com/jgm/commonmark-hs")
1686 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1687 (description
1688 "This package provides Haskell bindings for
1689@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1690CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1691sources, and does not require prior installation of the C library.")
1692 (license license:bsd-3)))
1693
1694(define-public ghc-cmark-gfm
1695 (package
1696 (name "ghc-cmark-gfm")
1697 (version "0.1.5")
1698 (source
1699 (origin
1700 (method url-fetch)
1701 (uri (string-append "https://hackage.haskell.org/package/"
1702 "cmark-gfm/cmark-gfm-"
1703 version ".tar.gz"))
1704 (sha256
1705 (base32
1706 "13b0mqks5c1q989slgsa3ixr5vvkfyic4ynzgv00kgl5qrs7hqk7"))))
1707 (build-system haskell-build-system)
1708 (native-inputs
1709 `(("ghc-hunit" ,ghc-hunit)))
1710 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1711 (synopsis
1712 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1713 (description
1714 "This package provides Haskell bindings for libcmark-gfm, the reference
1715parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1716It includes sources for libcmark-gfm and does not require prior installation
1717of the C library.")
1718 (license license:bsd-3)))
1719
1720(define-public ghc-cmdargs
1721 (package
1722 (name "ghc-cmdargs")
1723 (version "0.10.20")
1724 (source
1725 (origin
1726 (method url-fetch)
1727 (uri (string-append
1728 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1729 version ".tar.gz"))
1730 (sha256
1731 (base32
1732 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1733 (build-system haskell-build-system)
1734 (home-page
1735 "http://community.haskell.org/~ndm/cmdargs/")
1736 (synopsis "Command line argument processing")
1737 (description
1738 "This library provides an easy way to define command line parsers.")
1739 (license license:bsd-3)))
1740
1741(define-public ghc-code-page
1742 (package
1743 (name "ghc-code-page")
1744 (version "0.1.3")
1745 (source
1746 (origin
1747 (method url-fetch)
1748 (uri (string-append
1749 "https://hackage.haskell.org/package/code-page/code-page-"
1750 version ".tar.gz"))
1751 (sha256
1752 (base32
1753 "1491frk4jx6dlhifky9dvcxbsbcfssrz979a5hp5zn061rh8cp76"))))
1754 (build-system haskell-build-system)
1755 (home-page "https://github.com/RyanGlScott/code-page")
1756 (synopsis "Windows code page library for Haskell")
1757 (description "A cross-platform library with functions for adjusting
1758code pages on Windows. On all other operating systems, the library does
1759nothing.")
1760 (license license:bsd-3)))
1761
1762(define-public ghc-colour
1763(package
1764 (name "ghc-colour")
1765 (version "2.3.4")
1766 (source
1767 (origin
1768 (method url-fetch)
1769 (uri (string-append
1770 "https://hackage.haskell.org/package/colour/colour-"
1771 version ".tar.gz"))
1772 (sha256
1773 (base32
1774 "1sy51nz096sv91nxqk6yk7b92b5a40axv9183xakvki2nc09yhqg"))))
1775 (arguments
1776 ;; The tests for this package have the following dependency cycle:
1777 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1778 `(#:tests? #f))
1779 (build-system haskell-build-system)
1780 (home-page "https://www.haskell.org/haskellwiki/Colour")
1781 (synopsis "Model for human colour perception")
1782 (description
1783 "This package provides a data type for colours and transparency.
1784Colours can be blended and composed. Various colour spaces are
1785supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1786 (license license:expat)))
1787
1788(define-public ghc-comonad
1789 (package
1790 (name "ghc-comonad")
1791 (version "5.0.4")
1792 (source
1793 (origin
1794 (method url-fetch)
1795 (uri (string-append
1796 "https://hackage.haskell.org/package/comonad/comonad-"
1797 version
1798 ".tar.gz"))
1799 (sha256
1800 (base32
1801 "09g870c4flp4k3fgbibsd0mmfjani1qcpbcl685v8x89kxzrva3q"))))
1802 (build-system haskell-build-system)
1803 (native-inputs
1804 `(("cabal-doctest" ,cabal-doctest)
1805 ("ghc-doctest" ,ghc-doctest)))
1806 (inputs
1807 `(("ghc-contravariant" ,ghc-contravariant)
1808 ("ghc-distributive" ,ghc-distributive)
1809 ("ghc-semigroups" ,ghc-semigroups)
1810 ("ghc-tagged" ,ghc-tagged)
1811 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1812 (home-page "https://github.com/ekmett/comonad/")
1813 (synopsis "Comonads for Haskell")
1814 (description "This library provides @code{Comonad}s for Haskell.")
1815 (license license:bsd-3)))
1816
1817(define-public ghc-concatenative
1818 (package
1819 (name "ghc-concatenative")
1820 (version "1.0.1")
1821 (source (origin
1822 (method url-fetch)
1823 (uri (string-append
1824 "https://hackage.haskell.org/package/concatenative/concatenative-"
1825 version ".tar.gz"))
1826 (sha256
1827 (base32
1828 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1829 (build-system haskell-build-system)
1830 (home-page
1831 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1832 (synopsis "Library for postfix control flow")
1833 (description
1834 "Concatenative gives Haskell Factor-style combinators and arrows for
1835postfix notation. For more information on stack based languages, see
1836@uref{https://concatenative.org}.")
1837 (license license:bsd-3)))
1838
1839(define-public ghc-concurrent-extra
1840 (package
1841 (name "ghc-concurrent-extra")
1842 (version "0.7.0.12")
1843 (source
1844 (origin
1845 (method url-fetch)
1846 (uri (string-append "https://hackage.haskell.org/package/"
1847 "concurrent-extra/concurrent-extra-"
1848 version ".tar.gz"))
1849 (sha256
1850 (base32
1851 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
1852 (build-system haskell-build-system)
1853 (arguments
1854 ;; XXX: The ReadWriteLock 'stressTest' fails.
1855 `(#:tests? #f))
1856 (inputs
1857 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
1858 (native-inputs
1859 `(("ghc-async" ,ghc-async)
1860 ("ghc-hunit" ,ghc-hunit)
1861 ("ghc-random" ,ghc-random)
1862 ("ghc-test-framework" ,ghc-test-framework)
1863 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
1864 (home-page "https://github.com/basvandijk/concurrent-extra")
1865 (synopsis "Extra concurrency primitives")
1866 (description "This Haskell library offers (among other things) the
1867following selection of synchronisation primitives:
1868
1869@itemize
1870@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
1871@item @code{Event}: Wake multiple threads by signalling an event.
1872@item @code{Lock}: Enforce exclusive access to a resource. Also known
1873as a binary semaphore or mutex. The package additionally provides an
1874alternative that works in the STM monad.
1875@item @code{RLock}: A lock which can be acquired multiple times by the
1876same thread. Also known as a reentrant mutex.
1877@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
1878to protect shared resources which may be concurrently read, but only
1879sequentially written.
1880@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
1881@end itemize
1882
1883Please consult the API documentation of the individual modules for more
1884detailed information.
1885
1886This package was inspired by the concurrency libraries of Java and
1887Python.")
1888 (license license:bsd-3)))
1889
1890(define-public ghc-concurrent-output
1891 (package
1892 (name "ghc-concurrent-output")
1893 (version "1.10.9")
1894 (source
1895 (origin
1896 (method url-fetch)
1897 (uri (string-append
1898 "mirror://hackage/package/concurrent-output/concurrent-output-"
1899 version
1900 ".tar.gz"))
1901 (sha256
1902 (base32
1903 "0mwf155w89nbbkjln7hhbn8k3f8p0ylcvgrg31cm7ijpx4499i4c"))))
1904 (build-system haskell-build-system)
1905 (inputs
1906 `(("ghc-async" ,ghc-async)
1907 ("ghc-exceptions" ,ghc-exceptions)
1908 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1909 ("ghc-terminal-size" ,ghc-terminal-size)))
1910 (home-page
1911 "https://hackage.haskell.org/package/concurrent-output")
1912 (synopsis
1913 "Ungarble output from several threads or commands")
1914 (description
1915 "Lets multiple threads and external processes concurrently output to the
1916console, without it getting all garbled up.
1917
1918Built on top of that is a way of defining multiple output regions, which are
1919automatically laid out on the screen and can be individually updated by
1920concurrent threads. Can be used for progress displays etc.")
1921 (license license:bsd-2)))
1922
1923(define-public ghc-conduit
1924 (package
1925 (name "ghc-conduit")
1926 (version "1.3.0.3")
1927 (source (origin
1928 (method url-fetch)
1929 (uri (string-append "https://hackage.haskell.org/package/"
1930 "conduit/conduit-" version ".tar.gz"))
1931 (sha256
1932 (base32
1933 "1sangm0qqi9dzlq95746a3kl14k8b09592a423shxjf2a0b1yx5v"))))
1934 (build-system haskell-build-system)
1935 (inputs
1936 `(("ghc-exceptions" ,ghc-exceptions)
1937 ("ghc-lifted-base" ,ghc-lifted-base)
1938 ("ghc-mono-traversable" ,ghc-mono-traversable)
1939 ("ghc-mmorph" ,ghc-mmorph)
1940 ("ghc-resourcet" ,ghc-resourcet)
1941 ("ghc-silently" ,ghc-silently)
1942 ("ghc-transformers-base" ,ghc-transformers-base)
1943 ("ghc-unliftio" ,ghc-unliftio)
1944 ("ghc-unliftio-core" ,ghc-unliftio-core)
1945 ("ghc-vector" ,ghc-vector)
1946 ("ghc-void" ,ghc-void)))
1947 (native-inputs
1948 `(("ghc-quickcheck" ,ghc-quickcheck)
1949 ("ghc-hspec" ,ghc-hspec)
1950 ("ghc-safe" ,ghc-safe)
1951 ("ghc-split" ,ghc-split)))
1952 (home-page "https://github.com/snoyberg/conduit")
1953 (synopsis "Streaming data library ")
1954 (description
1955 "The conduit package is a solution to the streaming data problem,
1956allowing for production, transformation, and consumption of streams of data
1957in constant memory. It is an alternative to lazy I/O which guarantees
1958deterministic resource handling, and fits in the same general solution
1959space as enumerator/iteratee and pipes.")
1960 (license license:expat)))
1961
1962(define-public ghc-conduit-algorithms
1963 (package
1964 (name "ghc-conduit-algorithms")
1965 (version "0.0.8.1")
1966 (source
1967 (origin
1968 (method url-fetch)
1969 (uri (string-append "https://hackage.haskell.org/package/"
1970 "conduit-algorithms/conduit-algorithms-"
1971 version ".tar.gz"))
1972 (sha256
1973 (base32
1974 "07gx2q3d1bbfw14q41rmqg0i4m018pci10lswc0k1ij6lw7sb9fd"))))
1975 (build-system haskell-build-system)
1976 (inputs
1977 `(("ghc-async" ,ghc-async)
1978 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
1979 ("ghc-conduit" ,ghc-conduit)
1980 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
1981 ("ghc-conduit-extra" ,ghc-conduit-extra)
1982 ("ghc-exceptions" ,ghc-exceptions)
1983 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
1984 ("ghc-monad-control" ,ghc-monad-control)
1985 ("ghc-pqueue" ,ghc-pqueue)
1986 ("ghc-resourcet" ,ghc-resourcet)
1987 ("ghc-stm-conduit" ,ghc-stm-conduit)
1988 ("ghc-streaming-commons" ,ghc-streaming-commons)
1989 ("ghc-unliftio-core" ,ghc-unliftio-core)
1990 ("ghc-vector" ,ghc-vector)))
1991 (native-inputs
1992 `(("ghc-hunit" ,ghc-hunit)
1993 ("ghc-test-framework" ,ghc-test-framework)
1994 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1995 ("ghc-test-framework-th" ,ghc-test-framework-th)))
1996 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
1997 (synopsis "Conduit-based algorithms")
1998 (description
1999 "This package provides algorithms on @code{Conduits}, including higher
2000level asynchronous processing and some other utilities.")
2001 (license license:expat)))
2002
2003(define-public ghc-conduit-combinators
2004 (package
2005 (name "ghc-conduit-combinators")
2006 (version "1.3.0")
2007 (source
2008 (origin
2009 (method url-fetch)
2010 (uri (string-append "https://hackage.haskell.org/package/"
2011 "conduit-combinators-" version "/"
2012 "conduit-combinators-" version ".tar.gz"))
2013 (sha256
2014 (base32
2015 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2016 (build-system haskell-build-system)
2017 (inputs `(("ghc-conduit" ,ghc-conduit)
2018 ("ghc-conduit-extra" ,ghc-conduit-extra)
2019 ("ghc-transformers-base" ,ghc-transformers-base)
2020 ("ghc-primitive" ,ghc-primitive)
2021 ("ghc-vector" ,ghc-vector)
2022 ("ghc-void" ,ghc-void)
2023 ("ghc-mwc-random" ,ghc-mwc-random)
2024 ("ghc-unix-compat" ,ghc-unix-compat)
2025 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2026 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2027 ("ghc-resourcet" ,ghc-resourcet)
2028 ("ghc-monad-control" ,ghc-monad-control)
2029 ("ghc-chunked-data" ,ghc-chunked-data)
2030 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2031 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2032 ("ghc-silently" ,ghc-silently)
2033 ("ghc-safe" ,ghc-safe)
2034 ("ghc-quickcheck" ,ghc-quickcheck)))
2035 (home-page "https://github.com/snoyberg/mono-traversable")
2036 (synopsis "Commonly used conduit functions, for both chunked and
2037unchunked data")
2038 (description "This Haskell package provides a replacement for Data.Conduit.List,
2039as well as a convenient Conduit module.")
2040 (license license:expat)))
2041
2042(define-public ghc-conduit-extra
2043 (package
2044 (name "ghc-conduit-extra")
2045 (version "1.3.1.1")
2046 (source
2047 (origin
2048 (method url-fetch)
2049 (uri (string-append "https://hackage.haskell.org/package/"
2050 "conduit-extra/conduit-extra-"
2051 version ".tar.gz"))
2052 (sha256
2053 (base32
2054 "0jaj350vv6mbb26gdwcqz4gwzfzrjydv5pis2da49wz1npbakcfw"))))
2055 (build-system haskell-build-system)
2056 (inputs
2057 `(("ghc-conduit" ,ghc-conduit)
2058 ("ghc-exceptions" ,ghc-exceptions)
2059 ("ghc-monad-control" ,ghc-monad-control)
2060 ("ghc-transformers-base" ,ghc-transformers-base)
2061 ("ghc-typed-process" ,ghc-typed-process)
2062 ("ghc-async" ,ghc-async)
2063 ("ghc-attoparsec" ,ghc-attoparsec)
2064 ("ghc-blaze-builder" ,ghc-blaze-builder)
2065 ("ghc-network" ,ghc-network)
2066 ("ghc-primitive" ,ghc-primitive)
2067 ("ghc-resourcet" ,ghc-resourcet)
2068 ("ghc-streaming-commons" ,ghc-streaming-commons)
2069 ("ghc-hspec" ,ghc-hspec)
2070 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2071 ("ghc-quickcheck" ,ghc-quickcheck)))
2072 (native-inputs
2073 `(("hspec-discover" ,hspec-discover)))
2074 (home-page "https://github.com/snoyberg/conduit")
2075 (synopsis "Conduit adapters for common libraries")
2076 (description
2077 "The @code{conduit} package itself maintains relative small dependencies.
2078The purpose of this package is to collect commonly used utility functions
2079wrapping other library dependencies, without depending on heavier-weight
2080dependencies. The basic idea is that this package should only depend on
2081@code{haskell-platform} packages and @code{conduit}.")
2082 (license license:expat)))
2083
2084(define-public ghc-configurator
2085 (package
2086 (name "ghc-configurator")
2087 (version "0.3.0.0")
2088 (source
2089 (origin
2090 (method url-fetch)
2091 (uri (string-append "https://hackage.haskell.org/package/"
2092 "configurator/configurator-"
2093 version ".tar.gz"))
2094 (sha256
2095 (base32
2096 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2097 (build-system haskell-build-system)
2098 (inputs
2099 `(("ghc-attoparsec" ,ghc-attoparsec)
2100 ("ghc-hashable" ,ghc-hashable)
2101 ("ghc-unix-compat" ,ghc-unix-compat)
2102 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2103 (native-inputs
2104 `(("ghc-hunit" ,ghc-hunit)
2105 ("ghc-test-framework" ,ghc-test-framework)
2106 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2107 (home-page "http://github.com/bos/configurator")
2108 (synopsis "Configuration management")
2109 (description
2110 "This package provides a configuration management library for programs
2111and daemons. The features include:
2112
2113@enumerate
2114@item Automatic, dynamic reloading in response to modifications to
2115 configuration files.
2116@item A simple, but flexible, configuration language, supporting several of
2117 the most commonly needed types of data, along with interpolation of strings
2118 from the configuration or the system environment (e.g. @code{$(HOME)}).
2119@item Subscription-based notification of changes to configuration properties.
2120@item An @code{import} directive allows the configuration of a complex
2121 application to be split across several smaller files, or common configuration
2122 data to be shared across several applications.
2123@end enumerate\n")
2124 (license license:bsd-3)))
2125
2126(define-public ghc-connection
2127 (package
2128 (name "ghc-connection")
2129 (version "0.2.8")
2130 (source (origin
2131 (method url-fetch)
2132 (uri (string-append "https://hackage.haskell.org/package/"
2133 "connection/connection-"
2134 version ".tar.gz"))
2135 (sha256
2136 (base32
2137 "1swkb9w5vx9ph7x55y51dc0srj2z27nd9ibgn8c0qcl6hx7g9cbh"))))
2138 (build-system haskell-build-system)
2139 (inputs
2140 `(("ghc-byteable" ,ghc-byteable)
2141 ("ghc-data-default-class" ,ghc-data-default-class)
2142 ("ghc-network" ,ghc-network)
2143 ("ghc-tls" ,ghc-tls)
2144 ("ghc-socks" ,ghc-socks)
2145 ("ghc-x509" ,ghc-x509)
2146 ("ghc-x509-store" ,ghc-x509-store)
2147 ("ghc-x509-system" ,ghc-x509-system)
2148 ("ghc-x509-validation" ,ghc-x509-validation)))
2149 (home-page "https://github.com/vincenthz/hs-connection")
2150 (synopsis "Simple and easy network connections API")
2151 (description
2152 "This package provides a simple network library for all your connection
2153needs. It provides a very simple API to create sockets to a destination with
2154the choice of SSL/TLS, and SOCKS.")
2155 (license license:bsd-3)))
2156
2157(define-public ghc-constraints
2158 (package
2159 (name "ghc-constraints")
2160 (version "0.10.1")
2161 (source
2162 (origin
2163 (method url-fetch)
2164 (uri (string-append
2165 "https://hackage.haskell.org/package/constraints/constraints-"
2166 version ".tar.gz"))
2167 (sha256
2168 (base32
2169 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2170 (build-system haskell-build-system)
2171 (inputs
2172 `(("ghc-hashable" ,ghc-hashable)
2173 ("ghc-semigroups" ,ghc-semigroups)
2174 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2175 (native-inputs
2176 `(("ghc-hspec" ,ghc-hspec)
2177 ("hspec-discover" ,hspec-discover)))
2178 (home-page "https://github.com/ekmett/constraints/")
2179 (synopsis "Constraint manipulation")
2180 (description
2181 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2182They stopped crashing the compiler in GHC 7.6. This package provides
2183a vocabulary for working with them.")
2184 (license license:bsd-3)))
2185
2186(define-public ghc-contravariant
2187 (package
2188 (name "ghc-contravariant")
2189 (version "1.4.1")
2190 (source
2191 (origin
2192 (method url-fetch)
2193 (uri (string-append
2194 "https://hackage.haskell.org/package/contravariant/contravariant-"
2195 version
2196 ".tar.gz"))
2197 (sha256
2198 (base32
2199 "1vfhk8c5cxmmakx7rflap1ipkx5q0j5vnlrcz7yz6y53kxhksgf9"))))
2200 (build-system haskell-build-system)
2201 (inputs
2202 `(("ghc-void" ,ghc-void)
2203 ("ghc-transformers-compat" ,ghc-transformers-compat)
2204 ("ghc-statevar" ,ghc-statevar)
2205 ("ghc-semigroups" ,ghc-semigroups)))
2206 (home-page
2207 "https://github.com/ekmett/contravariant/")
2208 (synopsis "Contravariant functors")
2209 (description "Contravariant functors for Haskell.")
2210 (license license:bsd-3)))
2211
2212(define-public ghc-contravariant-extras
2213 (package
2214 (name "ghc-contravariant-extras")
2215 (version "0.3.4")
2216 (source
2217 (origin
2218 (method url-fetch)
2219 (uri (string-append "https://hackage.haskell.org/package/"
2220 "contravariant-extras-" version "/"
2221 "contravariant-extras-" version ".tar.gz"))
2222 (sha256
2223 (base32
2224 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2225 (build-system haskell-build-system)
2226 (inputs
2227 `(("ghc-tuple-th" ,ghc-tuple-th)
2228 ("ghc-contravariant" ,ghc-contravariant)
2229 ("ghc-base-prelude" ,ghc-base-prelude)
2230 ("ghc-semigroups" ,ghc-semigroups)))
2231 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2232 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2233 (description "This Haskell package provides extras for the
2234@code{ghc-contravariant} package.")
2235 (license license:expat)))
2236
2237(define-public ghc-convertible
2238 (package
2239 (name "ghc-convertible")
2240 (version "1.1.1.0")
2241 (source
2242 (origin
2243 (method url-fetch)
2244 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2245 "convertible-" version ".tar.gz"))
2246 (sha256
2247 (base32
2248 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2249 (build-system haskell-build-system)
2250 (inputs
2251 `(("ghc-old-time" ,ghc-old-time)
2252 ("ghc-old-locale" ,ghc-old-locale)))
2253 (home-page "https://hackage.haskell.org/package/convertible")
2254 (synopsis "Typeclasses and instances for converting between types")
2255 (description
2256 "This package provides a typeclass with a single function that is
2257designed to help convert between different types: numeric values, dates and
2258times, and the like. The conversions perform bounds checking and return a
2259pure @code{Either} value. This means that you need not remember which specific
2260function performs the conversion you desire.")
2261 (license license:bsd-3)))
2262
2263(define-public ghc-data-accessor
2264 (package
2265 (name "ghc-data-accessor")
2266 (version "0.2.2.7")
2267 (source
2268 (origin
2269 (method url-fetch)
2270 (uri (string-append
2271 "mirror://hackage/package/data-accessor/data-accessor-"
2272 version ".tar.gz"))
2273 (sha256
2274 (base32 "1vf2g1gac3rm32g97rl0fll51m88q7ry4m6khnl5j47qsmx24r9l"))))
2275 (build-system haskell-build-system)
2276 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2277 (synopsis
2278 "Haskell utilities for accessing and manipulating fields of records")
2279 (description "This package provides Haskell modules for accessing and
2280manipulating fields of records.")
2281 (license license:bsd-3)))
2282
2283(define-public ghc-data-accessor-transformers
2284 (package
2285 (name "ghc-data-accessor-transformers")
2286 (version "0.2.1.7")
2287 (source
2288 (origin
2289 (method url-fetch)
2290 (uri (string-append
2291 "mirror://hackage/package/data-accessor-transformers/"
2292 "data-accessor-transformers-" version ".tar.gz"))
2293 (sha256
2294 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2295 (build-system haskell-build-system)
2296 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2297 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2298 (synopsis "Use Accessor to access state in transformers State monad")
2299 (description "This package provides Haskell modules to allow use of
2300Accessor to access state in transformers State monad.")
2301 (license license:bsd-3)))
2302
2303(define-public ghc-data-default
2304 (package
2305 (name "ghc-data-default")
2306 (version "0.7.1.1")
2307 (source
2308 (origin
2309 (method url-fetch)
2310 (uri (string-append
2311 "https://hackage.haskell.org/package/data-default/data-default-"
2312 version
2313 ".tar.gz"))
2314 (sha256
2315 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2316 (build-system haskell-build-system)
2317 (inputs
2318 `(("ghc-data-default-class"
2319 ,ghc-data-default-class)
2320 ("ghc-data-default-instances-base"
2321 ,ghc-data-default-instances-base)
2322 ("ghc-data-default-instances-containers"
2323 ,ghc-data-default-instances-containers)
2324 ("ghc-data-default-instances-dlist"
2325 ,ghc-data-default-instances-dlist)
2326 ("ghc-data-default-instances-old-locale"
2327 ,ghc-data-default-instances-old-locale)))
2328 (home-page "https://hackage.haskell.org/package/data-default")
2329 (synopsis "Types with default values")
2330 (description
2331 "This package defines a class for types with a default value, and
2332provides instances for types from the base, containers, dlist and old-locale
2333packages.")
2334 (license license:bsd-3)))
2335
2336(define-public ghc-data-default-class
2337 (package
2338 (name "ghc-data-default-class")
2339 (version "0.1.2.0")
2340 (source
2341 (origin
2342 (method url-fetch)
2343 (uri (string-append
2344 "https://hackage.haskell.org/package/data-default-class/"
2345 "data-default-class-" version ".tar.gz"))
2346 (sha256
2347 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2348 (build-system haskell-build-system)
2349 (home-page "https://hackage.haskell.org/package/data-default-class")
2350 (synopsis "Types with default values")
2351 (description
2352 "This package defines a class for types with default values.")
2353 (license license:bsd-3)))
2354
2355(define-public ghc-data-default-instances-base
2356 (package
2357 (name "ghc-data-default-instances-base")
2358 (version "0.1.0.1")
2359 (source
2360 (origin
2361 (method url-fetch)
2362 (uri (string-append
2363 "https://hackage.haskell.org/package/"
2364 "data-default-instances-base/"
2365 "data-default-instances-base-" version ".tar.gz"))
2366 (sha256
2367 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2368 (build-system haskell-build-system)
2369 (inputs
2370 `(("ghc-data-default-class" ,ghc-data-default-class)))
2371 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2372 (synopsis "Default instances for types in base")
2373 (description
2374 "This package provides default instances for types from the base
2375package.")
2376 (license license:bsd-3)))
2377
2378(define-public ghc-data-default-instances-containers
2379 (package
2380 (name "ghc-data-default-instances-containers")
2381 (version "0.0.1")
2382 (source
2383 (origin
2384 (method url-fetch)
2385 (uri (string-append
2386 "https://hackage.haskell.org/package/"
2387 "data-default-instances-containers/"
2388 "data-default-instances-containers-" version ".tar.gz"))
2389 (sha256
2390 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2391 (build-system haskell-build-system)
2392 (inputs
2393 `(("ghc-data-default-class" ,ghc-data-default-class)))
2394 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2395 (synopsis "Default instances for types in containers")
2396 (description "Provides default instances for types from the containers
2397package.")
2398 (license license:bsd-3)))
2399
2400(define-public ghc-data-default-instances-dlist
2401 (package
2402 (name "ghc-data-default-instances-dlist")
2403 (version "0.0.1")
2404 (source
2405 (origin
2406 (method url-fetch)
2407 (uri (string-append
2408 "https://hackage.haskell.org/package/"
2409 "data-default-instances-dlist/"
2410 "data-default-instances-dlist-" version ".tar.gz"))
2411 (sha256
2412 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2413 (build-system haskell-build-system)
2414 (inputs
2415 `(("ghc-data-default-class" ,ghc-data-default-class)
2416 ("ghc-dlist" ,ghc-dlist)))
2417 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2418 (synopsis "Default instances for types in dlist")
2419 (description "Provides default instances for types from the dlist
2420package.")
2421 (license license:bsd-3)))
2422
2423(define-public ghc-data-default-instances-old-locale
2424 (package
2425 (name "ghc-data-default-instances-old-locale")
2426 (version "0.0.1")
2427 (source
2428 (origin
2429 (method url-fetch)
2430 (uri (string-append
2431 "https://hackage.haskell.org/package/"
2432 "data-default-instances-old-locale/"
2433 "data-default-instances-old-locale-" version ".tar.gz"))
2434 (sha256
2435 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2436 (build-system haskell-build-system)
2437 (inputs
2438 `(("ghc-data-default-class" ,ghc-data-default-class)
2439 ("ghc-old-locale" ,ghc-old-locale)))
2440 (home-page
2441 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2442 (synopsis "Default instances for types in old-locale")
2443 (description "Provides Default instances for types from the old-locale
2444 package.")
2445 (license license:bsd-3)))
2446
2447(define-public ghc-data-hash
2448 (package
2449 (name "ghc-data-hash")
2450 (version "0.2.0.1")
2451 (source
2452 (origin
2453 (method url-fetch)
2454 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2455 "/data-hash-" version ".tar.gz"))
2456 (sha256
2457 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2458 (build-system haskell-build-system)
2459 (inputs
2460 `(("ghc-quickcheck" ,ghc-quickcheck)
2461 ("ghc-test-framework" ,ghc-test-framework)
2462 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2463 (home-page "https://hackage.haskell.org/package/data-hash")
2464 (synopsis "Combinators for building fast hashing functions")
2465 (description
2466 "This package provides combinators for building fast hashing functions.
2467It includes hashing functions for all basic Haskell98 types.")
2468 (license license:bsd-3)))
2469
2470(define-public ghc-data-ordlist
2471 (package
2472 (name "ghc-data-ordlist")
2473 (version "0.4.7.0")
2474 (source
2475 (origin
2476 (method url-fetch)
2477 (uri (string-append
2478 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2479 version ".tar.gz"))
2480 (sha256
2481 (base32
2482 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2483 (build-system haskell-build-system)
2484 (home-page "https://hackage.haskell.org/package/data-ordlist")
2485 (synopsis "Set and bag operations on ordered lists")
2486 (description
2487 "This module provides set and multiset operations on ordered lists.")
2488 (license license:bsd-3)))
2489
2490(define-public ghc-deepseq-generics
2491 (package
2492 (name "ghc-deepseq-generics")
2493 (version "0.2.0.0")
2494 (source (origin
2495 (method url-fetch)
2496 (uri (string-append "https://hackage.haskell.org/package/"
2497 "deepseq-generics/deepseq-generics-"
2498 version ".tar.gz"))
2499 (sha256
2500 (base32
2501 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2502 (build-system haskell-build-system)
2503 (arguments
2504 `(#:cabal-revision
2505 ("2" "1pnidf8w8x0w5fsqgv8hhrw07slmhxwy5x4fikgk0bd6k76aqicb")))
2506 (native-inputs
2507 `(("ghc-hunit" ,ghc-hunit)
2508 ("ghc-test-framework" ,ghc-test-framework)
2509 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2510 (home-page "https://github.com/hvr/deepseq-generics")
2511 (synopsis "Generic RNF implementation")
2512 (description
2513 "This package provides a @code{GHC.Generics}-based
2514@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2515providing an @code{rnf} implementation.")
2516 (license license:bsd-3)))
2517
2518(define-public ghc-descriptive
2519 (package
2520 (name "ghc-descriptive")
2521 (version "0.9.5")
2522 (source
2523 (origin
2524 (method url-fetch)
2525 (uri (string-append
2526 "https://hackage.haskell.org/package/descriptive/descriptive-"
2527 version
2528 ".tar.gz"))
2529 (sha256
2530 (base32
2531 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2532 (build-system haskell-build-system)
2533 (inputs
2534 `(("ghc-aeson" ,ghc-aeson)
2535 ("ghc-bifunctors" ,ghc-bifunctors)
2536 ("ghc-scientific" ,ghc-scientific)
2537 ("ghc-vector" ,ghc-vector)))
2538 (native-inputs
2539 `(("ghc-hunit" ,ghc-hunit)
2540 ("ghc-hspec" ,ghc-hspec)))
2541 (home-page
2542 "https://github.com/chrisdone/descriptive")
2543 (synopsis
2544 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2545 (description
2546 "This package provides datatypes and functions for creating consumers
2547and parsers with useful semantics.")
2548 (license license:bsd-3)))
2549
2550(define-public ghc-diff
2551 (package
2552 (name "ghc-diff")
2553 (version "0.3.4")
2554 (source (origin
2555 (method url-fetch)
2556 (uri (string-append "https://hackage.haskell.org/package/"
2557 "Diff/Diff-" version ".tar.gz"))
2558 (sha256
2559 (base32
2560 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
2561 (build-system haskell-build-system)
2562 (native-inputs
2563 `(("ghc-quickcheck" ,ghc-quickcheck)
2564 ("ghc-test-framework" ,ghc-test-framework)
2565 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2566 (home-page "https://hub.darcs.net/sterlingclover/Diff")
2567 (synopsis "O(ND) diff algorithm in Haskell")
2568 (description
2569 "This package provides an implementation of the standard diff algorithm,
2570and utilities for pretty printing.")
2571 (license license:bsd-3)))
2572
2573(define-public ghc-disk-free-space
2574 (package
2575 (name "ghc-disk-free-space")
2576 (version "0.1.0.1")
2577 (source
2578 (origin
2579 (method url-fetch)
2580 (uri (string-append "https://hackage.haskell.org/package/"
2581 "disk-free-space/disk-free-space-"
2582 version ".tar.gz"))
2583 (sha256
2584 (base32
2585 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
2586 (build-system haskell-build-system)
2587 (home-page "https://github.com/redneb/disk-free-space")
2588 (synopsis "Retrieve information about disk space usage")
2589 (description "A cross-platform library for retrieving information about
2590disk space usage.")
2591 (license license:bsd-3)))
2592
2593(define-public ghc-distributive
2594 (package
2595 (name "ghc-distributive")
2596 (version "0.5.3")
2597 (source
2598 (origin
2599 (method url-fetch)
2600 (uri (string-append
2601 "https://hackage.haskell.org/package/distributive/distributive-"
2602 version
2603 ".tar.gz"))
2604 (sha256
2605 (base32
2606 "0y566r97sfyvhsmd4yxiz4ns2mqgwf5bdbp56wgxl6wlkidq0wwi"))))
2607 (build-system haskell-build-system)
2608 (arguments
2609 `(#:cabal-revision
2610 ("6" "06bd38rf31yrvvy989r44pm0id3dsxwcp6nxg7wk6ccj3n2b8rzk")))
2611 (inputs
2612 `(("ghc-tagged" ,ghc-tagged)
2613 ("ghc-base-orphans" ,ghc-base-orphans)
2614 ("ghc-transformers-compat" ,ghc-transformers-compat)
2615 ("ghc-semigroups" ,ghc-semigroups)
2616 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2617 (native-inputs
2618 `(("cabal-doctest" ,cabal-doctest)
2619 ("ghc-doctest" ,ghc-doctest)
2620 ("ghc-hspec" ,ghc-hspec)
2621 ("hspec-discover" ,hspec-discover)))
2622 (home-page "https://github.com/ekmett/distributive/")
2623 (synopsis "Distributive functors for Haskell")
2624 (description "This package provides distributive functors for Haskell.
2625Dual to @code{Traversable}.")
2626 (license license:bsd-3)))
2627
2628(define-public ghc-dlist
2629 (package
2630 (name "ghc-dlist")
2631 (version "0.8.0.4")
2632 (source
2633 (origin
2634 (method url-fetch)
2635 (uri (string-append
2636 "https://hackage.haskell.org/package/dlist/dlist-"
2637 version
2638 ".tar.gz"))
2639 (sha256
2640 (base32 "0yirrh0s6acjy9hhvf5fqg2d6q5y6gm9xs04v6w1imndh1xqdwdc"))))
2641 (build-system haskell-build-system)
2642 (inputs
2643 `(("ghc-quickcheck" ,ghc-quickcheck)))
2644 (home-page "https://github.com/spl/dlist")
2645 (synopsis "Difference lists")
2646 (description
2647 "Difference lists are a list-like type supporting O(1) append. This is
2648particularly useful for efficient logging and pretty printing (e.g. with the
2649Writer monad), where list append quickly becomes too expensive.")
2650 (license license:bsd-3)))
2651
2652(define-public ghc-doctemplates
2653 (package
2654 (name "ghc-doctemplates")
2655 (version "0.2.2.1")
2656 (source
2657 (origin
2658 (method url-fetch)
2659 (uri (string-append "https://hackage.haskell.org/package/"
2660 "doctemplates/doctemplates-"
2661 version ".tar.gz"))
2662 (sha256
2663 (base32
2664 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
2665 (build-system haskell-build-system)
2666 (inputs
2667 `(("ghc-aeson" ,ghc-aeson)
2668 ("ghc-blaze-markup" ,ghc-blaze-markup)
2669 ("ghc-blaze-html" ,ghc-blaze-html)
2670 ("ghc-vector" ,ghc-vector)
2671 ("ghc-unordered-containers" ,ghc-unordered-containers)
2672 ("ghc-scientific" ,ghc-scientific)))
2673 (native-inputs
2674 `(("ghc-hspec" ,ghc-hspec)))
2675 (home-page "https://github.com/jgm/doctemplates#readme")
2676 (synopsis "Pandoc-style document templates")
2677 (description
2678 "This package provides a simple text templating system used by pandoc.")
2679 (license license:bsd-3)))
2680
2681(define-public ghc-doctest
2682 (package
2683 (name "ghc-doctest")
2684 (version "0.16.0")
2685 (source
2686 (origin
2687 (method url-fetch)
2688 (uri (string-append
2689 "https://hackage.haskell.org/package/doctest/doctest-"
2690 version
2691 ".tar.gz"))
2692 (sha256
2693 (base32
2694 "0hkccch65s3kp0b36h7bqhilnpi4bx8kngncm7ma9vbd3dwacjdv"))))
2695 (build-system haskell-build-system)
2696 (arguments `(#:tests? #f)) ; FIXME: missing test framework
2697 (inputs
2698 `(("ghc-syb" ,ghc-syb)
2699 ("ghc-paths" ,ghc-paths)
2700 ("ghc-base-compat" ,ghc-base-compat)
2701 ("ghc-code-page" ,ghc-code-page)
2702 ("ghc-hunit" ,ghc-hunit)
2703 ("ghc-hspec" ,ghc-hspec)
2704 ("ghc-quickcheck" ,ghc-quickcheck)
2705 ("ghc-stringbuilder" ,ghc-stringbuilder)
2706 ("ghc-silently" ,ghc-silently)
2707 ("ghc-setenv" ,ghc-setenv)))
2708 (home-page
2709 "https://github.com/sol/doctest#readme")
2710 (synopsis "Test interactive Haskell examples")
2711 (description "The doctest program checks examples in source code comments.
2712It is modeled after doctest for Python, see
2713@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
2714 (license license:expat)))
2715
2716(define-public ghc-double-conversion
2717 (package
2718 (name "ghc-double-conversion")
2719 (version "2.0.2.0")
2720 (source
2721 (origin
2722 (method url-fetch)
2723 (uri (string-append "https://hackage.haskell.org/package/"
2724 "double-conversion/double-conversion-"
2725 version ".tar.gz"))
2726 (sha256
2727 (base32
2728 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
2729 (build-system haskell-build-system)
2730 (native-inputs
2731 `(("ghc-hunit" ,ghc-hunit)
2732 ("ghc-test-framework" ,ghc-test-framework)
2733 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2734 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2735 (home-page "https://github.com/bos/double-conversion")
2736 (synopsis "Fast conversion between double precision floating point and text")
2737 (description
2738 "This package provides a library that performs fast, accurate conversion
2739between double precision floating point and text.")
2740 (license license:bsd-3)))
2741
2742(define-public ghc-easy-file
2743 (package
2744 (name "ghc-easy-file")
2745 (version "0.2.2")
2746 (source
2747 (origin
2748 (method url-fetch)
2749 (uri (string-append
2750 "https://hackage.haskell.org/package/easy-file/easy-file-"
2751 version
2752 ".tar.gz"))
2753 (sha256
2754 (base32
2755 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
2756 (build-system haskell-build-system)
2757 (home-page
2758 "https://github.com/kazu-yamamoto/easy-file")
2759 (synopsis "File handling library for Haskell")
2760 (description "This library provides file handling utilities for Haskell.")
2761 (license license:bsd-3)))
2762
2763(define-public ghc-easyplot
2764 (package
2765 (name "ghc-easyplot")
2766 (version "1.0")
2767 (source
2768 (origin
2769 (method url-fetch)
2770 (uri (string-append
2771 "https://hackage.haskell.org/package/easyplot/easyplot-"
2772 version ".tar.gz"))
2773 (sha256
2774 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
2775 (build-system haskell-build-system)
2776 (propagated-inputs `(("gnuplot" ,gnuplot)))
2777 (arguments
2778 `(#:phases (modify-phases %standard-phases
2779 (add-after 'unpack 'fix-setup-suffix
2780 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
2781 (home-page "https://hub.darcs.net/scravy/easyplot")
2782 (synopsis "Haskell plotting library based on gnuplot")
2783 (description "This package provides a plotting library for
2784Haskell, using gnuplot for rendering.")
2785 (license license:expat)))
2786
2787(define-public ghc-echo
2788 (package
2789 (name "ghc-echo")
2790 (version "0.1.3")
2791 (source
2792 (origin
2793 (method url-fetch)
2794 (uri (string-append
2795 "https://hackage.haskell.org/package/echo/echo-"
2796 version ".tar.gz"))
2797 (sha256
2798 (base32
2799 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
2800 (build-system haskell-build-system)
2801 (arguments
2802 `(#:cabal-revision
2803 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
2804 (home-page "https://github.com/RyanGlScott/echo")
2805 (synopsis "Echo terminal input portably")
2806 (description "The @code{base} library exposes the @code{hGetEcho} and
2807@code{hSetEcho} functions for querying and setting echo status, but
2808unfortunately, neither function works with MinTTY consoles on Windows.
2809This library provides an alternative interface which works with both
2810MinTTY and other consoles.")
2811 (license license:bsd-3)))
2812
2813(define-public ghc-edisonapi
2814 (package
2815 (name "ghc-edisonapi")
2816 (version "1.3.1")
2817 (source
2818 (origin
2819 (method url-fetch)
2820 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
2821 "/EdisonAPI-" version ".tar.gz"))
2822 (sha256
2823 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
2824 (build-system haskell-build-system)
2825 (home-page "http://rwd.rdockins.name/edison/home/")
2826 (synopsis "Library of efficient, purely-functional data structures (API)")
2827 (description
2828 "Edison is a library of purely functional data structures written by
2829Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
2830value EDiSon (Efficient Data Structures). Edison provides several families of
2831abstractions, each with multiple implementations. The main abstractions
2832provided by Edison are: Sequences such as stacks, queues, and dequeues;
2833Collections such as sets, bags and heaps; and Associative Collections such as
2834finite maps and priority queues where the priority and element are distinct.")
2835 (license license:expat)))
2836
2837(define-public ghc-edisoncore
2838 (package
2839 (name "ghc-edisoncore")
2840 (version "1.3.2.1")
2841 (source
2842 (origin
2843 (method url-fetch)
2844 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
2845 "/EdisonCore-" version ".tar.gz"))
2846 (sha256
2847 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
2848 (build-system haskell-build-system)
2849 (inputs
2850 `(("ghc-quickcheck" ,ghc-quickcheck)
2851 ("ghc-edisonapi" ,ghc-edisonapi)))
2852 (home-page "http://rwd.rdockins.name/edison/home/")
2853 (synopsis "Library of efficient, purely-functional data structures")
2854 (description
2855 "This package provides the core Edison data structure implementations,
2856including multiple sequence, set, bag, and finite map concrete implementations
2857with various performance characteristics.")
2858 (license license:expat)))
2859
2860(define-public ghc-edit-distance
2861 (package
2862 (name "ghc-edit-distance")
2863 (version "0.2.2.1")
2864 (source
2865 (origin
2866 (method url-fetch)
2867 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
2868 "/edit-distance-" version ".tar.gz"))
2869 (sha256
2870 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
2871 (build-system haskell-build-system)
2872 (arguments
2873 `(#:phases
2874 (modify-phases %standard-phases
2875 (add-before 'configure 'update-constraints
2876 (lambda _
2877 (substitute* "edit-distance.cabal"
2878 (("QuickCheck >= 2\\.4 && <2\\.9")
2879 "QuickCheck >= 2.4 && < 2.12")))))))
2880 (inputs
2881 `(("ghc-random" ,ghc-random)
2882 ("ghc-test-framework" ,ghc-test-framework)
2883 ("ghc-quickcheck" ,ghc-quickcheck)
2884 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2885 (home-page "https://github.com/phadej/edit-distance")
2886 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
2887 (description
2888 "This package provides optimized functions to determine the edit
2889distances for fuzzy matching, including Levenshtein and restricted
2890Damerau-Levenshtein algorithms.")
2891 (license license:bsd-3)))
2892
2893(define-public ghc-either
2894 (package
2895 (name "ghc-either")
2896 (version "5.0.1")
2897 (source
2898 (origin
2899 (method url-fetch)
2900 (uri (string-append "https://hackage.haskell.org/package/"
2901 "either-" version "/"
2902 "either-" version ".tar.gz"))
2903 (sha256
2904 (base32
2905 "064hjfld7dkzs78sy30k5qkiva3hx24rax6dvzz5ygr2c0zypdkc"))))
2906 (build-system haskell-build-system)
2907 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
2908 ("ghc-exceptions" ,ghc-exceptions)
2909 ("ghc-free" ,ghc-free)
2910 ("ghc-monad-control" ,ghc-monad-control)
2911 ("ghc-manodrandom" ,ghc-monadrandom)
2912 ("ghc-mmorph" ,ghc-mmorph)
2913 ("ghc-profunctors" ,ghc-profunctors)
2914 ("ghc-semigroups" ,ghc-semigroups)
2915 ("ghc-semigroupoids" ,ghc-semigroupoids)
2916 ("ghc-transformers-base" ,ghc-transformers-base)))
2917 (native-inputs
2918 `(("ghc-quickcheck" ,ghc-quickcheck)
2919 ("ghc-test-framework" ,ghc-test-framework)
2920 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2921 (home-page "https://github.com/ekmett/either")
2922 (synopsis "Provides an either monad transformer for Haskell")
2923 (description "This Haskell package provides an either monad transformer.")
2924 (license license:bsd-3)))
2925
2926(define-public ghc-email-validate
2927 (package
2928 (name "ghc-email-validate")
2929 (version "2.3.2.6")
2930 (source
2931 (origin
2932 (method url-fetch)
2933 (uri (string-append
2934 "https://hackage.haskell.org/package/"
2935 "email-validate/email-validate-"
2936 version
2937 ".tar.gz"))
2938 (sha256
2939 (base32
2940 "0chgylvc8xmhp933rdbmpg5sv4y7yg2h6kbf0ip1dzmbd5p55pa5"))))
2941 (build-system haskell-build-system)
2942 (inputs
2943 `(("ghc-attoparsec" ,ghc-attoparsec)
2944 ("ghc-hspec" ,ghc-hspec)
2945 ("ghc-quickcheck" ,ghc-quickcheck)
2946 ("ghc-doctest" ,ghc-doctest)))
2947 (home-page
2948 "https://github.com/Porges/email-validate-hs")
2949 (synopsis "Email address validator for Haskell")
2950 (description
2951 "This Haskell package provides a validator that can validate an email
2952address string against RFC 5322.")
2953 (license license:bsd-3)))
2954
2955(define-public ghc-enclosed-exceptions
2956 (package
2957 (name "ghc-enclosed-exceptions")
2958 (version "1.0.3")
2959 (source (origin
2960 (method url-fetch)
2961 (uri (string-append "https://hackage.haskell.org/package/"
2962 "enclosed-exceptions/enclosed-exceptions-"
2963 version ".tar.gz"))
2964 (sha256
2965 (base32
2966 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
2967 (build-system haskell-build-system)
2968 ;; FIXME: one of the tests blocks forever:
2969 ;; "thread blocked indefinitely in an MVar operation"
2970 (arguments '(#:tests? #f))
2971 (inputs
2972 `(("ghc-lifted-base" ,ghc-lifted-base)
2973 ("ghc-monad-control" ,ghc-monad-control)
2974 ("ghc-async" ,ghc-async)
2975 ("ghc-transformers-base" ,ghc-transformers-base)))
2976 (native-inputs
2977 `(("ghc-hspec" ,ghc-hspec)
2978 ("ghc-quickcheck" ,ghc-quickcheck)))
2979 (home-page "https://github.com/jcristovao/enclosed-exceptions")
2980 (synopsis "Catch all exceptions from within an enclosed computation")
2981 (description
2982 "This library implements a technique to catch all exceptions raised
2983within an enclosed computation, while remaining responsive to (external)
2984asynchronous exceptions.")
2985 (license license:expat)))
2986
2987(define-public ghc-equivalence
2988 (package
2989 (name "ghc-equivalence")
2990 (version "0.3.2")
2991 (source
2992 (origin
2993 (method url-fetch)
2994 (uri (string-append "https://hackage.haskell.org/package/equivalence"
2995 "/equivalence-" version ".tar.gz"))
2996 (sha256
2997 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
2998 (build-system haskell-build-system)
2999 (inputs
3000 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3001 ("ghc-transformers-compat" ,ghc-transformers-compat)
3002 ("ghc-quickcheck" ,ghc-quickcheck)
3003 ("ghc-test-framework" ,ghc-test-framework)
3004 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3005 (home-page "https://github.com/pa-ba/equivalence")
3006 (synopsis "Maintaining an equivalence relation implemented as union-find")
3007 (description
3008 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3009Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
301022(2), 1975) in order to maintain an equivalence relation. This
3011implementation is a port of the @code{union-find} package using the @code{ST}
3012monad transformer (instead of the IO monad).")
3013 (license license:bsd-3)))
3014
3015(define-public ghc-erf
3016 (package
3017 (name "ghc-erf")
3018 (version "2.0.0.0")
3019 (source
3020 (origin
3021 (method url-fetch)
3022 (uri (string-append "https://hackage.haskell.org/package/"
3023 "erf-" version "/"
3024 "erf-" version ".tar.gz"))
3025 (sha256
3026 (base32
3027 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3028 (build-system haskell-build-system)
3029 (home-page "https://hackage.haskell.org/package/erf")
3030 (synopsis "The error function, erf, and related functions for Haskell")
3031 (description "This Haskell library provides a type class for the
3032error function, erf, and related functions. Instances for Float and
3033Double.")
3034 (license license:bsd-3)))
3035
3036(define-public ghc-errorcall-eq-instance
3037 (package
3038 (name "ghc-errorcall-eq-instance")
3039 (version "0.3.0")
3040 (source
3041 (origin
3042 (method url-fetch)
3043 (uri (string-append "https://hackage.haskell.org/package/"
3044 "errorcall-eq-instance/errorcall-eq-instance-"
3045 version ".tar.gz"))
3046 (sha256
3047 (base32
3048 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3049 (build-system haskell-build-system)
3050 (inputs
3051 `(("ghc-base-orphans" ,ghc-base-orphans)))
3052 (native-inputs
3053 `(("ghc-quickcheck" ,ghc-quickcheck)
3054 ("ghc-hspec" ,ghc-hspec)
3055 ("hspec-discover" ,hspec-discover)))
3056 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3057 (synopsis "Orphan Eq instance for ErrorCall")
3058 (description
3059 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3060This package provides an orphan instance.")
3061 (license license:expat)))
3062
3063(define-public ghc-errors
3064 (package
3065 (name "ghc-errors")
3066 (version "2.3.0")
3067 (source
3068 (origin
3069 (method url-fetch)
3070 (uri (string-append "https://hackage.haskell.org/package/"
3071 "errors-" version "/"
3072 "errors-" version ".tar.gz"))
3073 (sha256
3074 (base32
3075 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3076 (build-system haskell-build-system)
3077 (inputs
3078 `(("ghc-exceptions" ,ghc-exceptions)
3079 ("ghc-transformers-compat" ,ghc-transformers-compat)
3080 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3081 ("ghc-safe" ,ghc-safe)))
3082 (home-page "https://github.com/gabriel439/haskell-errors-library")
3083 (synopsis "Error handling library for Haskell")
3084 (description "This library encourages an error-handling style that
3085directly uses the type system, rather than out-of-band exceptions.")
3086 (license license:bsd-3)))
3087
3088(define-public ghc-esqueleto
3089 (let ((version "2.5.3")
3090 (revision "1")
3091 (commit "b81e0d951e510ebffca03c5a58658ad884cc6fbd"))
3092 (package
3093 (name "ghc-esqueleto")
3094 (version (git-version version revision commit))
3095 (source
3096 (origin
3097 (method git-fetch)
3098 (uri (git-reference
3099 (url "https://github.com/bitemyapp/esqueleto")
3100 (commit commit)))
3101 (file-name (git-file-name name version))
3102 (sha256
3103 (base32
3104 "0lz1qxms7cfg5p3j37inlych0r2fwhm8xbarcys3df9m7jy9nixa"))))
3105 (build-system haskell-build-system)
3106 (arguments
3107 `(#:haddock? #f ; Haddock reports an internal error.
3108 #:phases
3109 (modify-phases %standard-phases
3110 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3111 ;; SQLite backends. Since we only have Haskell packages for
3112 ;; SQLite, we remove the other two test suites. FIXME: Add the
3113 ;; other backends and run all three test suites.
3114 (add-before 'configure 'remove-non-sqlite-test-suites
3115 (lambda _
3116 (use-modules (ice-9 rdelim))
3117 (with-atomic-file-replacement "esqueleto.cabal"
3118 (lambda (in out)
3119 (let loop ((line (read-line in 'concat)) (deleting? #f))
3120 (cond
3121 ((eof-object? line) #t)
3122 ((string-every char-set:whitespace line)
3123 (unless deleting? (display line out))
3124 (loop (read-line in 'concat) #f))
3125 ((member line '("test-suite mysql\n"
3126 "test-suite postgresql\n"))
3127 (loop (read-line in 'concat) #t))
3128 (else
3129 (unless deleting? (display line out))
3130 (loop (read-line in 'concat) deleting?)))))))))))
3131 (inputs
3132 `(("ghc-blaze-html" ,ghc-blaze-html)
3133 ("ghc-conduit" ,ghc-conduit)
3134 ("ghc-monad-logger" ,ghc-monad-logger)
3135 ("ghc-persistent" ,ghc-persistent)
3136 ("ghc-resourcet" ,ghc-resourcet)
3137 ("ghc-tagged" ,ghc-tagged)
3138 ("ghc-unliftio" ,ghc-unliftio)
3139 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3140 (native-inputs
3141 `(("ghc-hspec" ,ghc-hspec)
3142 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3143 ("ghc-persistent-template" ,ghc-persistent-template)))
3144 (home-page "https://github.com/bitemyapp/esqueleto")
3145 (synopsis "Type-safe embedded domain specific language for SQL queries")
3146 (description "This library provides a type-safe embedded domain specific
3147language (EDSL) for SQL queries that works with SQL backends as provided by
3148@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3149to learn new concepts, just new syntax, and it's fairly easy to predict the
3150generated SQL and optimize it for your backend.")
3151 (license license:bsd-3))))
3152
3153(define-public ghc-exactprint
3154 (package
3155 (name "ghc-exactprint")
3156 (version "0.5.6.1")
3157 (source
3158 (origin
3159 (method url-fetch)
3160 (uri (string-append
3161 "https://hackage.haskell.org/package/"
3162 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3163 (sha256
3164 (base32
3165 "141k6qiys0m0r4br7ikp4i546vs3xcil9cwglzcdfcbnb5nj1z87"))))
3166 (build-system haskell-build-system)
3167 (inputs
3168 `(("ghc-paths" ,ghc-paths)
3169 ("ghc-syb" ,ghc-syb)
3170 ("ghc-free" ,ghc-free)))
3171 (native-inputs
3172 `(("ghc-hunit" ,ghc-hunit)
3173 ("ghc-diff" ,ghc-diff)
3174 ("ghc-silently" ,ghc-silently)
3175 ("ghc-filemanip" ,ghc-filemanip)))
3176 (home-page
3177 "http://hackage.haskell.org/package/ghc-exactprint")
3178 (synopsis "ExactPrint for GHC")
3179 (description
3180 "Using the API Annotations available from GHC 7.10.2, this library
3181provides a means to round-trip any code that can be compiled by GHC, currently
3182excluding @file{.lhs} files.")
3183 (license license:bsd-3)))
3184
3185(define-public ghc-exceptions
3186 (package
3187 (name "ghc-exceptions")
3188 (version "0.10.0")
3189 (source
3190 (origin
3191 (method url-fetch)
3192 (uri (string-append
3193 "https://hackage.haskell.org/package/exceptions/exceptions-"
3194 version
3195 ".tar.gz"))
3196 (sha256
3197 (base32
3198 "1ms9zansv0pwzwdjncvx4kf18lnkjy2p61hvjhvxmjx5bqp93p8y"))))
3199 (build-system haskell-build-system)
3200 (native-inputs
3201 `(("ghc-quickcheck" ,ghc-quickcheck)
3202 ("ghc-test-framework" ,ghc-test-framework)
3203 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3204 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3205 (inputs
3206 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3207 (home-page "https://github.com/ekmett/exceptions/")
3208 (synopsis "Extensible optionally-pure exceptions")
3209 (description "This library provides extensible optionally-pure exceptions
3210for Haskell.")
3211 (license license:bsd-3)))
3212
3213(define-public ghc-executable-path
3214 (package
3215 (name "ghc-executable-path")
3216 (version "0.0.3.1")
3217 (source (origin
3218 (method url-fetch)
3219 (uri (string-append "https://hackage.haskell.org/package/"
3220 "executable-path/executable-path-"
3221 version ".tar.gz"))
3222 (sha256
3223 (base32
3224 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3225 (build-system haskell-build-system)
3226 (home-page "https://hackage.haskell.org/package/executable-path")
3227 (synopsis "Find out the full path of the executable")
3228 (description
3229 "The documentation of @code{System.Environment.getProgName} says that
3230\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3231instead, for maximum portability, we just return the leafname of the program
3232as invoked.\" This library tries to provide the missing path.")
3233 (license license:public-domain)))
3234
3235(define-public ghc-extensible-exceptions
3236 (package
3237 (name "ghc-extensible-exceptions")
3238 (version "0.1.1.4")
3239 (source
3240 (origin
3241 (method url-fetch)
3242 (uri (string-append "https://hackage.haskell.org/package/"
3243 "extensible-exceptions/extensible-exceptions-"
3244 version ".tar.gz"))
3245 (sha256
3246 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3247 (build-system haskell-build-system)
3248 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3249 (synopsis "Extensible exceptions for Haskell")
3250 (description
3251 "This package provides extensible exceptions for both new and old
3252versions of GHC (i.e., < 6.10).")
3253 (license license:bsd-3)))
3254
3255(define-public ghc-extra
3256 (package
3257 (name "ghc-extra")
3258 (version "1.6.9")
3259 (source
3260 (origin
3261 (method url-fetch)
3262 (uri (string-append
3263 "https://hackage.haskell.org/package/extra/extra-"
3264 version
3265 ".tar.gz"))
3266 (sha256
3267 (base32
3268 "0xxcpb00pgwi9cmy6a7ghh6rblxry42p8pz5ssfgj20fs1xwzj1b"))))
3269 (build-system haskell-build-system)
3270 (inputs
3271 `(("ghc-clock" ,ghc-clock)
3272 ("ghc-quickcheck" ,ghc-quickcheck)))
3273 (home-page "https://github.com/ndmitchell/extra")
3274 (synopsis "Extra Haskell functions")
3275 (description "This library provides extra functions for the standard
3276Haskell libraries. Most functions are simple additions, filling out missing
3277functionality. A few functions are available in later versions of GHC, but
3278this package makes them available back to GHC 7.2.")
3279 (license license:bsd-3)))
3280
3281(define-public ghc-fail
3282 (package
3283 (name "ghc-fail")
3284 (version "4.9.0.0")
3285 (source
3286 (origin
3287 (method url-fetch)
3288 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3289 version ".tar.gz"))
3290 (sha256
3291 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3292 (build-system haskell-build-system)
3293 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3294 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3295 (synopsis "Forward-compatible MonadFail class")
3296 (description
3297 "This package contains the @code{Control.Monad.Fail} module providing the
3298@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3299class that became available in
3300@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3301older @code{base} package versions. This package turns into an empty package
3302when used with GHC versions which already provide the
3303@code{Control.Monad.Fail} module.")
3304 (license license:bsd-3)))
3305
3306(define-public ghc-fast-logger
3307 (package
3308 (name "ghc-fast-logger")
3309 (version "2.4.11")
3310 (source
3311 (origin
3312 (method url-fetch)
3313 (uri (string-append
3314 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3315 version
3316 ".tar.gz"))
3317 (sha256
3318 (base32
3319 "1ad2vq4nifdxshqk9yrmghqizhkgybfz134kpr6padglb2mxxrdv"))))
3320 (build-system haskell-build-system)
3321 (inputs
3322 `(("ghc-auto-update" ,ghc-auto-update)
3323 ("ghc-easy-file" ,ghc-easy-file)
3324 ("ghc-unix-time" ,ghc-unix-time)))
3325 (native-inputs
3326 `(("hspec-discover" ,hspec-discover)
3327 ("ghc-hspec" ,ghc-hspec)))
3328 (home-page "https://hackage.haskell.org/package/fast-logger")
3329 (synopsis "Fast logging system")
3330 (description "This library provides a fast logging system for Haskell.")
3331 (license license:bsd-3)))
3332
3333(define-public ghc-feed
3334 (package
3335 (name "ghc-feed")
3336 (version "1.0.0.0")
3337 (source
3338 (origin
3339 (method url-fetch)
3340 (uri (string-append "https://hackage.haskell.org/package/"
3341 "feed/feed-" version ".tar.gz"))
3342 (sha256
3343 (base32
3344 "05rgg7x1984mgfhkmz792xj8lhwjgznixhygzr8blf517lns2nck"))))
3345 (build-system haskell-build-system)
3346 (arguments
3347 `(#:cabal-revision
3348 ("4" "0baavcavm3ywykcr9cm07aqr7sna98jba2n68lyn3kany8ri214d")))
3349 (inputs
3350 `(("ghc-base-compat" ,ghc-base-compat)
3351 ("ghc-old-locale" ,ghc-old-locale)
3352 ("ghc-old-time" ,ghc-old-time)
3353 ("ghc-safe" ,ghc-safe)
3354 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3355 ("ghc-utf8-string" ,ghc-utf8-string)
3356 ("ghc-xml-conduit" ,ghc-xml-conduit)
3357 ("ghc-xml-types" ,ghc-xml-types)))
3358 (native-inputs
3359 `(("ghc-hunit" ,ghc-hunit)
3360 ("ghc-test-framework" ,ghc-test-framework)
3361 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3362 (home-page "https://github.com/bergmark/feed")
3363 (synopsis "Haskell package for handling various syndication formats")
3364 (description "This Haskell package includes tools for generating and
3365consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3366 (license license:bsd-3)))
3367
3368(define-public ghc-fgl
3369 (package
3370 (name "ghc-fgl")
3371 (version "5.6.0.0")
3372 (outputs '("out" "doc"))
3373 (source
3374 (origin
3375 (method url-fetch)
3376 (uri (string-append
3377 "https://hackage.haskell.org/package/fgl/fgl-"
3378 version
3379 ".tar.gz"))
3380 (sha256
3381 (base32
3382 "1i6cp4b3w7sjk7y1dq3fh6bci2sm5h3lnbbaw9ln19nwncg2wwll"))))
3383 (build-system haskell-build-system)
3384 (arguments
3385 `(#:phases
3386 (modify-phases %standard-phases
3387 (add-before 'configure 'update-constraints
3388 (lambda _
3389 (substitute* "fgl.cabal"
3390 (("QuickCheck >= 2\\.8 && < 2\\.10")
3391 "QuickCheck >= 2.8 && < 2.12")
3392 (("hspec >= 2\\.1 && < 2\\.5")
3393 "hspec >= 2.1 && < 2.6")))))))
3394 (inputs
3395 `(("ghc-hspec" ,ghc-hspec)
3396 ("ghc-quickcheck" ,ghc-quickcheck)))
3397 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3398 (synopsis
3399 "Martin Erwig's Functional Graph Library")
3400 (description "The functional graph library, FGL, is a collection of type
3401and function definitions to address graph problems. The basis of the library
3402is an inductive definition of graphs in the style of algebraic data types that
3403encourages inductive, recursive definitions of graph algorithms.")
3404 (license license:bsd-3)))
3405
3406(define-public ghc-fgl-arbitrary
3407 (package
3408 (name "ghc-fgl-arbitrary")
3409 (version "0.2.0.3")
3410 (source
3411 (origin
3412 (method url-fetch)
3413 (uri (string-append
3414 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3415 version ".tar.gz"))
3416 (sha256
3417 (base32
3418 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3419 (build-system haskell-build-system)
3420 (arguments
3421 `(#:phases
3422 (modify-phases %standard-phases
3423 (add-before 'configure 'update-constraints
3424 (lambda _
3425 (substitute* "fgl-arbitrary.cabal"
3426 (("QuickCheck >= 2\\.3 && < 2\\.10")
3427 "QuickCheck >= 2.3 && < 2.12")
3428 (("hspec >= 2\\.1 && < 2\\.5")
3429 "hspec >= 2.1 && < 2.6")))))))
3430 (inputs
3431 `(("ghc-fgl" ,ghc-fgl)
3432 ("ghc-quickcheck" ,ghc-quickcheck)
3433 ("ghc-hspec" ,ghc-hspec)))
3434 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3435 (synopsis "QuickCheck support for fgl")
3436 (description
3437 "Provides Arbitrary instances for fgl graphs to avoid adding a
3438QuickCheck dependency for fgl whilst still making the instances
3439available to others. Also available are non-fgl-specific functions
3440for generating graph-like data structures.")
3441 (license license:bsd-3)))
3442
3443(define-public ghc-file-embed
3444 (package
3445 (name "ghc-file-embed")
3446 (version "0.0.10.1")
3447 (source
3448 (origin
3449 (method url-fetch)
3450 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3451 "file-embed-" version ".tar.gz"))
3452 (sha256
3453 (base32
3454 "0lj164cnzqyd487mli91nnr7137a4h4qsasfwsnsh77sx12fpk9k"))))
3455 (build-system haskell-build-system)
3456 (home-page "https://github.com/snoyberg/file-embed")
3457 (synopsis "Use Template Haskell to embed file contents directly")
3458 (description
3459 "This package allows you to use Template Haskell to read a file or all
3460the files in a directory, and turn them into @code{(path, bytestring)} pairs
3461embedded in your Haskell code.")
3462 (license license:bsd-3)))
3463
3464(define-public ghc-filemanip
3465 (package
3466 (name "ghc-filemanip")
3467 (version "0.3.6.3")
3468 (source (origin
3469 (method url-fetch)
3470 (uri (string-append "https://hackage.haskell.org/package/"
3471 "filemanip/filemanip-" version ".tar.gz"))
3472 (sha256
3473 (base32
3474 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3475 (build-system haskell-build-system)
3476 (inputs
3477 `(("ghc-unix-compat" ,ghc-unix-compat)))
3478 (home-page "https://github.com/bos/filemanip")
3479 (synopsis "File and directory manipulation for Haskell")
3480 (description
3481 "This package provides a Haskell library for working with files and
3482directories. It includes code for pattern matching, finding files, modifying
3483file contents, and more.")
3484 (license license:bsd-3)))
3485
3486(define-public ghc-findbin
3487 (package
3488 (name "ghc-findbin")
3489 (version "0.0.5")
3490 (source
3491 (origin
3492 (method url-fetch)
3493 (uri (string-append
3494 "https://hackage.haskell.org/package/FindBin/FindBin-"
3495 version ".tar.gz"))
3496 (sha256
3497 (base32
3498 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3499 (build-system haskell-build-system)
3500 (home-page "https://github.com/audreyt/findbin")
3501 (synopsis "Get the absolute path of the running program")
3502 (description
3503 "This module locates the full directory of the running program, to allow
3504the use of paths relative to it. FindBin supports invocation of Haskell
3505programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3506an executable.")
3507 (license license:bsd-3)))
3508
3509(define-public ghc-fingertree
3510 (package
3511 (name "ghc-fingertree")
3512 (version "0.1.4.1")
3513 (source
3514 (origin
3515 (method url-fetch)
3516 (uri (string-append
3517 "https://hackage.haskell.org/package/fingertree/fingertree-"
3518 version ".tar.gz"))
3519 (sha256
3520 (base32
3521 "192fyzv0pn1437wdpqg1l80rswkk4rw3w61r4bq7dhv354bdqy4p"))))
3522 (build-system haskell-build-system)
3523 (native-inputs
3524 `(("ghc-hunit" ,ghc-hunit)
3525 ("ghc-quickcheck" ,ghc-quickcheck)
3526 ("ghc-test-framework" ,ghc-test-framework)
3527 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3528 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3529 (home-page "https://hackage.haskell.org/package/fingertree")
3530 (synopsis "Generic finger-tree structure")
3531 (description "This library provides finger trees, a general sequence
3532representation with arbitrary annotations, for use as a base for
3533implementations of various collection types. It includes examples, as
3534described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3535simple general-purpose data structure\".")
3536 (license license:bsd-3)))
3537
3538(define-public ghc-fixed
3539 (package
3540 (name "ghc-fixed")
3541 (version "0.2.1.1")
3542 (source
3543 (origin
3544 (method url-fetch)
3545 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
3546 version ".tar.gz"))
3547 (sha256
3548 (base32
3549 "1qhmwx8iqshns0crmr9d2f8hm65jxbcp3dvv0c39v34ra7if3a94"))))
3550 (build-system haskell-build-system)
3551 (home-page "https://github.com/ekmett/fixed")
3552 (synopsis "Signed 15.16 precision fixed point arithmetic")
3553 (description
3554 "This package provides functions for signed 15.16 precision fixed point
3555arithmetic.")
3556 (license license:bsd-3)))
3557
3558(define-public ghc-foldl
3559 (package
3560 (name "ghc-foldl")
3561 (version "1.4.3")
3562 (source
3563 (origin
3564 (method url-fetch)
3565 (uri (string-append "https://hackage.haskell.org/package/"
3566 "foldl-" version "/"
3567 "foldl-" version ".tar.gz"))
3568 (sha256
3569 (base32
3570 "13n0ca3hw5jzqf6rxsdbhbwkn61a9zlm13f0f205s60j3sc72jzk"))))
3571 (build-system haskell-build-system)
3572 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3573 ("ghc-primitive" ,ghc-primitive)
3574 ("ghc-vector" ,ghc-vector)
3575 ("ghc-unordered-containers" ,ghc-unordered-containers)
3576 ("ghc-hashable" ,ghc-hashable)
3577 ("ghc-contravariant" ,ghc-contravariant)
3578 ("ghc-semigroups" ,ghc-semigroups)
3579 ("ghc-profunctors" ,ghc-profunctors)
3580 ("ghc-semigroupoids" ,ghc-semigroupoids)
3581 ("ghc-comonad" ,ghc-comonad)
3582 ("ghc-vector-builder" ,ghc-vector-builder)))
3583 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
3584 (synopsis "Composable, streaming, and efficient left folds for Haskell")
3585 (description "This Haskell library provides strict left folds that stream
3586in constant memory, and you can combine folds using @code{Applicative} style
3587to derive new folds. Derived folds still traverse the container just once
3588and are often as efficient as hand-written folds.")
3589 (license license:bsd-3)))
3590
3591(define-public ghc-foundation
3592 (package
3593 (name "ghc-foundation")
3594 (version "0.0.21")
3595 (source
3596 (origin
3597 (method url-fetch)
3598 (uri (string-append "https://hackage.haskell.org/package/"
3599 "foundation/foundation-" version ".tar.gz"))
3600 (sha256
3601 (base32
3602 "1q43y8wfj0wf9gdq2kzphwjwq6m5pvryy1lqgk954aq5z3ks1lsf"))))
3603 (build-system haskell-build-system)
3604 (inputs `(("ghc-basement" ,ghc-basement)))
3605 (home-page "https://github.com/haskell-foundation/foundation")
3606 (synopsis "Alternative prelude with batteries and no dependencies")
3607 (description
3608 "This package provides a custom prelude with no dependencies apart from
3609the base package.
3610
3611Foundation has the following goals:
3612
3613@enumerate
3614@item provide a base like sets of modules that provide a consistent set of
3615 features and bugfixes across multiple versions of GHC (unlike base).
3616@item provide a better and more efficient prelude than base's prelude.
3617@item be self-sufficient: no external dependencies apart from base;
3618@item provide better data-types: packed unicode string by default, arrays;
3619@item Numerical classes that better represent mathematical things (no more
3620 all-in-one @code{Num});
3621@item I/O system with less lazy IO.
3622@end enumerate\n")
3623 (license license:bsd-3)))
3624
3625(define-public ghc-free
3626 (package
3627 (name "ghc-free")
3628 (version "5.0.2")
3629 (source
3630 (origin
3631 (method url-fetch)
3632 (uri (string-append
3633 "https://hackage.haskell.org/package/free/free-"
3634 version
3635 ".tar.gz"))
3636 (sha256
3637 (base32
3638 "15m3n9vhz7z3kzv1w3wlfa3x8jp4cbrkwmrcjr7jlx39iqffn1gg"))))
3639 (build-system haskell-build-system)
3640 (inputs
3641 `(("ghc-prelude-extras" ,ghc-prelude-extras)
3642 ("ghc-profunctors" ,ghc-profunctors)
3643 ("ghc-exceptions" ,ghc-exceptions)
3644 ("ghc-bifunctors" ,ghc-bifunctors)
3645 ("ghc-comonad" ,ghc-comonad)
3646 ("ghc-distributive" ,ghc-distributive)
3647 ("ghc-semigroupoids" ,ghc-semigroupoids)
3648 ("ghc-semigroups" ,ghc-semigroups)
3649 ("ghc-transformers-base" ,ghc-transformers-base)
3650 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3651 (home-page "https://github.com/ekmett/free/")
3652 (synopsis "Unrestricted monads for Haskell")
3653 (description "This library provides free monads, which are useful for many
3654tree-like structures and domain specific languages. If @code{f} is a
3655@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
3656whose nodes are labeled with the constructors of @code{f}. The word \"free\"
3657is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
3658f} makes no constraining assumptions beyond those given by @code{f} and the
3659definition of @code{Monad}.")
3660 (license license:bsd-3)))
3661
3662(define-public ghc-fsnotify
3663 (package
3664 (name "ghc-fsnotify")
3665 (version "0.3.0.1")
3666 (source (origin
3667 (method url-fetch)
3668 (uri (string-append
3669 "https://hackage.haskell.org/package/fsnotify/"
3670 "fsnotify-" version ".tar.gz"))
3671 (sha256
3672 (base32
3673 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
3674 (build-system haskell-build-system)
3675 (inputs
3676 `(("ghc-async" ,ghc-async)
3677 ("ghc-unix-compat" ,ghc-unix-compat)
3678 ("ghc-hinotify" ,ghc-hinotify)
3679 ("ghc-tasty" ,ghc-tasty)
3680 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3681 ("ghc-random" ,ghc-random)
3682 ("ghc-shelly" ,ghc-shelly)
3683 ("ghc-temporary" ,ghc-temporary)))
3684 (home-page "https://github.com/haskell-fswatch/hfsnotify")
3685 (synopsis "Cross platform library for file change notification.")
3686 (description "Cross platform library for file creation, modification, and
3687deletion notification. This library builds upon existing libraries for platform
3688specific Windows, Mac, and Linux file system event notification.")
3689 (license license:bsd-3)))
3690
3691(define-public ghc-generic-deriving
3692 (package
3693 (name "ghc-generic-deriving")
3694 (version "1.12.2")
3695 (source
3696 (origin
3697 (method url-fetch)
3698 (uri (string-append
3699 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
3700 version
3701 ".tar.gz"))
3702 (sha256
3703 (base32
3704 "1i7d6cpj9yhaqb79zays3nqchhaacacjz9bkc0zlwj73y5gvi22n"))))
3705 (build-system haskell-build-system)
3706 (inputs
3707 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
3708 (native-inputs
3709 `(("ghc-hspec" ,ghc-hspec)
3710 ("hspec-discover" ,hspec-discover)))
3711 (home-page "https://hackage.haskell.org/package/generic-deriving")
3712 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3713 (description "This package provides functionality for generalising the
3714deriving mechanism in Haskell to arbitrary classes.")
3715 (license license:bsd-3)))
3716
3717(define-public ghc-generics-sop
3718 (package
3719 (name "ghc-generics-sop")
3720 (version "0.3.2.0")
3721 (source
3722 (origin
3723 (method url-fetch)
3724 (uri (string-append "https://hackage.haskell.org/package/"
3725 "generics-sop-" version "/"
3726 "generics-sop-" version ".tar.gz"))
3727 (sha256
3728 (base32
3729 "168v62i845jh9jbfaz3ldz8svz4wmzq9mf2vhb7pxlnbkk8fqq1h"))))
3730 (build-system haskell-build-system)
3731 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3732 (home-page "https://github.com/well-typed/generics-sop")
3733 (synopsis "Generic Programming using True Sums of Products for Haskell")
3734 (description "This Haskell package supports the definition of generic
3735functions. Datatypes are viewed in a uniform, structured way: the choice
3736between constructors is represented using an n-ary sum, and the arguments of
3737each constructor are represented using an n-ary product.")
3738 (license license:bsd-3)))
3739
3740(define-public ghc-geniplate-mirror
3741 (package
3742 (name "ghc-geniplate-mirror")
3743 (version "0.7.6")
3744 (source
3745 (origin
3746 (method url-fetch)
3747 (uri (string-append "https://hackage.haskell.org/package"
3748 "/geniplate-mirror"
3749 "/geniplate-mirror-" version ".tar.gz"))
3750 (sha256
3751 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
3752 (build-system haskell-build-system)
3753 (home-page "https://github.com/danr/geniplate")
3754 (synopsis "Use Template Haskell to generate Uniplate-like functions")
3755 (description
3756 "Use Template Haskell to generate Uniplate-like functions. This is a
3757maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
3758geniplate} package, written by Lennart Augustsson.")
3759 (license license:bsd-3)))
3760
3761(define-public ghc-genvalidity
3762 (package
3763 (name "ghc-genvalidity")
3764 (version "0.5.1.0")
3765 (source
3766 (origin
3767 (method url-fetch)
3768 (uri (string-append
3769 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
3770 version
3771 ".tar.gz"))
3772 (sha256
3773 (base32
3774 "17ykq38j9a2lzir6dqz5jgy6ndaafrpkhqhcg96c5ppg7wcxaaj0"))))
3775 (build-system haskell-build-system)
3776 (inputs
3777 `(("ghc-quickcheck" ,ghc-quickcheck)
3778 ("ghc-validity" ,ghc-validity)))
3779 (native-inputs
3780 `(("ghc-hspec" ,ghc-hspec)
3781 ("hspec-discover" ,hspec-discover)
3782 ("ghc-hspec-core" ,ghc-hspec-core)))
3783 (home-page
3784 "https://github.com/NorfairKing/validity")
3785 (synopsis
3786 "Testing utilities for the @code{validity} library")
3787 (description
3788 "This package provides testing utilities that are useful in conjunction
3789with the @code{Validity} typeclass.")
3790 (license license:expat)))
3791
3792(define-public ghc-genvalidity-property
3793 (package
3794 (name "ghc-genvalidity-property")
3795 (version "0.2.1.1")
3796 (source
3797 (origin
3798 (method url-fetch)
3799 (uri (string-append
3800 "https://hackage.haskell.org/package/"
3801 "genvalidity-property/genvalidity-property-"
3802 version
3803 ".tar.gz"))
3804 (sha256
3805 (base32
3806 "0cjw5i2pydidda9bnp6x37ylhxdk9g874x5sadr6sscg5kq85a1b"))))
3807 (build-system haskell-build-system)
3808 (inputs
3809 `(("ghc-quickcheck" ,ghc-quickcheck)
3810 ("ghc-genvalidity" ,ghc-genvalidity)
3811 ("ghc-hspec" ,ghc-hspec)
3812 ("hspec-discover" ,hspec-discover)
3813 ("ghc-validity" ,ghc-validity)))
3814 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
3815 (home-page
3816 "https://github.com/NorfairKing/validity")
3817 (synopsis
3818 "Standard properties for functions on @code{Validity} types")
3819 (description
3820 "This package supplements the @code{Validity} typeclass with standard
3821properties for functions operating on them.")
3822 (license license:expat)))
3823
3824(define-public ghc-gitrev
3825 (package
3826 (name "ghc-gitrev")
3827 (version "1.3.1")
3828 (source
3829 (origin
3830 (method url-fetch)
3831 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
3832 version ".tar.gz"))
3833 (sha256
3834 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
3835 (build-system haskell-build-system)
3836 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
3837 (home-page "https://github.com/acfoltzer/gitrev")
3838 (synopsis "Compile git revision info into Haskell projects")
3839 (description
3840 "This package provides some handy Template Haskell splices for including
3841the current git hash and branch in the code of your project. This is useful
3842for including in panic messages, @command{--version} output, or diagnostic
3843info for more informative bug reports.")
3844 (license license:bsd-3)))
3845
3846(define-public ghc-glob
3847 (package
3848 (name "ghc-glob")
3849 (version "0.9.2")
3850 (source
3851 (origin
3852 (method url-fetch)
3853 (uri (string-append "https://hackage.haskell.org/package/"
3854 "Glob-" version "/"
3855 "Glob-" version ".tar.gz"))
3856 (sha256
3857 (base32
3858 "1rbwcq9w9951qsnp13vqcm9r01yax2yh1wk8s4zxa3ckk9717iwg"))))
3859 (build-system haskell-build-system)
3860 (inputs
3861 `(("ghc-dlist" ,ghc-dlist)
3862 ("ghc-semigroups" ,ghc-semigroups)
3863 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3864 (native-inputs
3865 `(("ghc-hunit" ,ghc-hunit)
3866 ("ghc-quickcheck" ,ghc-quickcheck)
3867 ("ghc-test-framework" ,ghc-test-framework)
3868 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3869 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3870 (home-page "http://iki.fi/matti.niemenmaa/glob/")
3871 (synopsis "Haskell library matching glob patterns against file paths")
3872 (description "This package provides a Haskell library for @dfn{globbing}:
3873matching patterns against file paths.")
3874 (license license:bsd-3)))
3875
3876(define-public ghc-gluraw
3877 (package
3878 (name "ghc-gluraw")
3879 (version "2.0.0.4")
3880 (source
3881 (origin
3882 (method url-fetch)
3883 (uri (string-append
3884 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
3885 version
3886 ".tar.gz"))
3887 (sha256
3888 (base32
3889 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
3890 (build-system haskell-build-system)
3891 (inputs
3892 `(("ghc-openglraw" ,ghc-openglraw)))
3893 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3894 (synopsis "Raw Haskell bindings GLU")
3895 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
3896utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
3897basis for a nicer interface.")
3898 (license license:bsd-3)))
3899
3900(define-public ghc-glut
3901 (package
3902 (name "ghc-glut")
3903 (version "2.7.0.14")
3904 (source
3905 (origin
3906 (method url-fetch)
3907 (uri (string-append
3908 "https://hackage.haskell.org/package/GLUT/GLUT-"
3909 version
3910 ".tar.gz"))
3911 (sha256
3912 (base32
3913 "01i162fly4q1751fp60lgkzlb8kr0qqbvmxj74zc6skb19qggy2w"))))
3914 (build-system haskell-build-system)
3915 (inputs
3916 `(("ghc-statevar" ,ghc-statevar)
3917 ("ghc-opengl" ,ghc-opengl)
3918 ("ghc-openglraw" ,ghc-openglraw)
3919 ("freeglut" ,freeglut)))
3920 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3921 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
3922 (description "This library provides Haskell bindings for the OpenGL
3923Utility Toolkit, a window system-independent toolkit for writing OpenGL
3924programs.")
3925 (license license:bsd-3)))
3926
3927(define-public ghc-gnuplot
3928 (package
3929 (name "ghc-gnuplot")
3930 (version "0.5.5.2")
3931 (source
3932 (origin
3933 (method url-fetch)
3934 (uri (string-append
3935 "mirror://hackage/package/gnuplot/gnuplot-"
3936 version ".tar.gz"))
3937 (sha256
3938 (base32 "1mlppnc13ygjzmf6ldydys4wvy35yb3xjwwfgf9rbi7nfcqjr6mn"))))
3939 (build-system haskell-build-system)
3940 (inputs
3941 `(("ghc-temporary" ,ghc-temporary)
3942 ("ghc-utility-ht" ,ghc-utility-ht)
3943 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
3944 ("ghc-data-accessor" ,ghc-data-accessor)
3945 ("ghc-semigroups" ,ghc-semigroups)
3946 ("gnuplot" ,gnuplot)))
3947 (arguments
3948 `(#:phases
3949 (modify-phases %standard-phases
3950 (add-before 'configure 'fix-path-to-gnuplot
3951 (lambda* (#:key inputs #:allow-other-keys)
3952 (let ((gnuplot (assoc-ref inputs "gnuplot")))
3953 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
3954 (("(gnuplotName = ).*$" all cmd)
3955 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
3956 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
3957 (synopsis "2D and 3D plots using gnuplot")
3958 (description "This package provides a Haskell module for creating 2D and
39593D plots using gnuplot.")
3960 (license license:bsd-3)))
3961
3962(define-public ghc-graphviz
3963 (package
3964 (name "ghc-graphviz")
3965 (version "2999.20.0.2")
3966 (source (origin
3967 (method url-fetch)
3968 (uri (string-append "https://hackage.haskell.org/package/"
3969 "graphviz/graphviz-" version ".tar.gz"))
3970 (sha256
3971 (base32
3972 "0kj7ap0gnliviq2p8lscw1m06capnsa90vpvcys24nqy5nw2wrp7"))))
3973 (build-system haskell-build-system)
3974 (inputs
3975 `(("ghc-quickcheck" ,ghc-quickcheck)
3976 ("ghc-colour" ,ghc-colour)
3977 ("ghc-dlist" ,ghc-dlist)
3978 ("ghc-fgl" ,ghc-fgl)
3979 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
3980 ("ghc-polyparse" ,ghc-polyparse)
3981 ("ghc-temporary" ,ghc-temporary)
3982 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
3983 (native-inputs
3984 `(("ghc-hspec" ,ghc-hspec)
3985 ("graphviz" ,graphviz)
3986 ("hspec-discover" ,hspec-discover)))
3987 (home-page "https://hackage.haskell.org/package/graphviz")
3988 (synopsis "Bindings to Graphviz for graph visualisation")
3989 (description
3990 "This library provides bindings for the Dot language used by
3991the @uref{https://graphviz.org/, Graphviz} suite of programs for
3992visualising graphs, as well as functions to call those programs.
3993Main features of the graphviz library include:
3994
3995@enumerate
3996@item Almost complete coverage of all Graphviz attributes and syntax
3997@item Support for specifying clusters
3998@item The ability to use a custom node type
3999@item Functions for running a Graphviz layout tool with all specified output types
4000@item Generate and parse Dot code with two options: strict and liberal
4001@item Functions to convert FGL graphs and other graph-like data structures
4002@item Round-trip support for passing an FGL graph through Graphviz to augment node
4003and edge labels with positional information, etc.
4004@end enumerate\n")
4005 (license license:bsd-3)))
4006
4007(define-public ghc-gtk2hs-buildtools
4008 (package
4009 (name "ghc-gtk2hs-buildtools")
4010 (version "0.13.4.0")
4011 (source
4012 (origin
4013 (method url-fetch)
4014 (uri (string-append "https://hackage.haskell.org/package/"
4015 "gtk2hs-buildtools/gtk2hs-buildtools-"
4016 version ".tar.gz"))
4017 (sha256
4018 (base32
4019 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
4020 (build-system haskell-build-system)
4021 (inputs
4022 `(("ghc-random" ,ghc-random)
4023 ("ghc-hashtables" ,ghc-hashtables)))
4024 (native-inputs
4025 `(("ghc-alex" ,ghc-alex)
4026 ("ghc-happy" ,ghc-happy)))
4027 (home-page "http://projects.haskell.org/gtk2hs/")
4028 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4029 (description
4030 "This package provides a set of helper programs necessary to build the
4031Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4032that is used to generate FFI declarations, a tool to build a type hierarchy
4033that mirrors the C type hierarchy of GObjects found in glib, and a generator
4034for signal declarations that are used to call back from C to Haskell. These
4035tools are not needed to actually run Gtk2Hs programs.")
4036 (license license:gpl2)))
4037
4038(define-public ghc-hackage-security
4039 (package
4040 (name "ghc-hackage-security")
4041 (version "0.5.3.0")
4042 (source
4043 (origin
4044 (method url-fetch)
4045 (uri (string-append "https://hackage.haskell.org/package/"
4046 "hackage-security/hackage-security-"
4047 version ".tar.gz"))
4048 (sha256
4049 (base32
4050 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4051 (build-system haskell-build-system)
4052 (arguments
4053 `(#:tests? #f)) ; Tests fail because of framework updates.
4054 (inputs
4055 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4056 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4057 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4058 ("ghc-ed25519" ,ghc-ed25519)
4059 ("ghc-network" ,ghc-network)
4060 ("ghc-network-uri" ,ghc-network-uri)
4061 ("ghc-tar" ,ghc-tar)
4062 ("ghc-zlib" ,ghc-zlib)))
4063 (native-inputs
4064 `(("ghc-network-uri" ,ghc-network-uri)
4065 ("ghc-quickcheck" ,ghc-quickcheck)
4066 ("ghc-tar" ,ghc-tar)
4067 ("ghc-tasty" ,ghc-tasty)
4068 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4069 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4070 ("ghc-temporary" ,ghc-temporary)
4071 ("ghc-zlib" ,ghc-zlib)))
4072 (home-page "https://github.com/haskell/hackage-security")
4073 (synopsis "Hackage security library")
4074 (description "This Hackage security library provides both server and
4075client utilities for securing @uref{http://hackage.haskell.org/, the
4076Hackage package server}. It is based on
4077@uref{http://theupdateframework.com/, The Update Framework}, a set of
4078recommendations developed by security researchers at various universities
4079in the US as well as developers on the @uref{https://www.torproject.org/,
4080Tor project}.")
4081 (license license:bsd-3)))
4082
4083(define-public ghc-haddock
4084 (package
4085 (name "ghc-haddock")
4086 (version "2.19.0.1")
4087 (source
4088 (origin
4089 (method url-fetch)
4090 (uri (string-append
4091 "https://hackage.haskell.org/package/haddock/haddock-"
4092 version
4093 ".tar.gz"))
4094 (sha256
4095 (base32
4096 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4097 (build-system haskell-build-system)
4098 (arguments
4099 `(#:phases
4100 (modify-phases %standard-phases
4101 ;; There are four test suites that require the ghc-haddock-test
4102 ;; package, which no longer builds with GHC 8.4.3. This phase
4103 ;; removes these four test suites from the Cabal file, so that we
4104 ;; do not need ghc-haddock-test as an input.
4105 (add-before 'configure 'remove-haddock-test-test-suites
4106 (lambda _
4107 (use-modules (ice-9 rdelim))
4108 (with-atomic-file-replacement "haddock.cabal"
4109 (lambda (in out)
4110 (let loop ((line (read-line in 'concat)) (deleting? #f))
4111 (cond
4112 ((eof-object? line) #t)
4113 ((string-every char-set:whitespace line)
4114 (unless deleting? (display line out))
4115 (loop (read-line in 'concat) #f))
4116 ((member line '("test-suite html-test\n"
4117 "test-suite hypsrc-test\n"
4118 "test-suite latex-test\n"
4119 "test-suite hoogle-test\n"))
4120 (loop (read-line in 'concat) #t))
4121 (else
4122 (unless deleting? (display line out))
4123 (loop (read-line in 'concat) deleting?)))))))))))
4124 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4125 (native-inputs
4126 `(("ghc-hspec" ,ghc-hspec)))
4127 (home-page "https://www.haskell.org/haddock/")
4128 (synopsis
4129 "Documentation-generation tool for Haskell libraries")
4130 (description
4131 "Haddock is a documentation-generation tool for Haskell libraries.")
4132 (license license:bsd-3)))
4133
4134(define-public ghc-haddock-api
4135 (package
4136 (name "ghc-haddock-api")
4137 (version "2.19.0.1")
4138 (source
4139 (origin
4140 (method url-fetch)
4141 (uri (string-append
4142 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4143 version
4144 ".tar.gz"))
4145 (sha256
4146 (base32
4147 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4148 (build-system haskell-build-system)
4149 (arguments
4150 `(#:phases
4151 (modify-phases %standard-phases
4152 (add-before 'configure 'update-constraints
4153 (lambda _
4154 (substitute* "haddock-api.cabal"
4155 (("Cabal \\^>= 2\\.0\\.0")
4156 "Cabal ^>= 2.2.0")
4157 (("hspec \\^>= 2\\.4\\.4")
4158 "hspec >= 2.4.4 && < 2.6")))))))
4159 (inputs
4160 `(("ghc-paths" ,ghc-paths)
4161 ("ghc-haddock-library" ,ghc-haddock-library)))
4162 (native-inputs
4163 `(("ghc-quickcheck" ,ghc-quickcheck)
4164 ("ghc-hspec" ,ghc-hspec)
4165 ("hspec-discover" ,hspec-discover)))
4166 (home-page "https://www.haskell.org/haddock/")
4167 (synopsis "API for documentation-generation tool Haddock")
4168 (description "This package provides an API to Haddock, the
4169documentation-generation tool for Haskell libraries.")
4170 (license license:bsd-3)))
4171
4172(define-public ghc-haddock-library
4173 (package
4174 (name "ghc-haddock-library")
4175 (version "1.5.0.1")
4176 (source
4177 (origin
4178 (method url-fetch)
4179 (uri (string-append
4180 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4181 version
4182 ".tar.gz"))
4183 (sha256
4184 (base32
4185 "1cmbg8l5xrwpliclwy3l057raypjqy0hsg1h1743ahaj8gq10b7z"))
4186 (patches (search-patches
4187 "ghc-haddock-library-unbundle.patch"))
4188 (modules '((guix build utils)))
4189 (snippet '(begin
4190 (delete-file-recursively "vendor")
4191 #t))))
4192 (build-system haskell-build-system)
4193 (arguments
4194 `(#:phases
4195 (modify-phases %standard-phases
4196 (add-before 'configure 'relax-test-suite-dependencies
4197 (lambda _
4198 (substitute* "haddock-library.cabal"
4199 (("base-compat\\s*\\^>= 0\\.9\\.3") "base-compat")
4200 (("hspec\\s*\\^>= 2\\.4\\.4") "hspec"))))
4201 ;; The release tarball does not contain the "fixtures/examples"
4202 ;; directory, which is required for testing. In the upstream
4203 ;; repository, the directory exists and is populated. Here, we
4204 ;; create an empty directory to placate the tests.
4205 (add-before 'check 'add-examples-directory
4206 (lambda _
4207 (mkdir "fixtures/examples")
4208 #t)))))
4209 (native-inputs
4210 `(("ghc-base-compat" ,ghc-base-compat)
4211 ("ghc-hspec" ,ghc-hspec)
4212 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4213 ("ghc-quickcheck" ,ghc-quickcheck)
4214 ("ghc-tree-diff" ,ghc-tree-diff)
4215 ("hspec-discover" ,hspec-discover)))
4216 (home-page "https://www.haskell.org/haddock/")
4217 (synopsis "Library exposing some functionality of Haddock")
4218 (description
4219 "Haddock is a documentation-generation tool for Haskell libraries. These
4220modules expose some functionality of it without pulling in the GHC dependency.
4221Please note that the API is likely to change so specify upper bounds in your
4222project if you can't release often. For interacting with Haddock itself, see
4223the ‘haddock’ package.")
4224 (license license:bsd-3)))
4225
4226(define-public ghc-half
4227 (package
4228 (name "ghc-half")
4229 (version "0.3")
4230 (source
4231 (origin
4232 (method url-fetch)
4233 (uri (string-append
4234 "https://hackage.haskell.org/package/half/half-"
4235 version ".tar.gz"))
4236 (sha256
4237 (base32
4238 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4239 (build-system haskell-build-system)
4240 (native-inputs
4241 `(("ghc-hspec" ,ghc-hspec)
4242 ("ghc-quickcheck" ,ghc-quickcheck)))
4243 (home-page "https://github.com/ekmett/half")
4244 (synopsis "Half-precision floating-point computations")
4245 (description "This library provides a half-precision floating-point
4246computation library for Haskell.")
4247 (license license:bsd-3)))
4248
4249(define-public ghc-happy
4250 (package
4251 (name "ghc-happy")
4252 (version "1.19.9")
4253 (source
4254 (origin
4255 (method url-fetch)
4256 (uri (string-append
4257 "https://hackage.haskell.org/package/happy/happy-"
4258 version
4259 ".tar.gz"))
4260 (sha256
4261 (base32
4262 "138xpxdb7x62lpmgmb6b3v3vgdqqvqn4273jaap3mjmc2gla709y"))))
4263 (build-system haskell-build-system)
4264 (arguments
4265 `(#:phases
4266 (modify-phases %standard-phases
4267 (add-after 'unpack 'skip-test-issue93
4268 (lambda _
4269 ;; Tests run out of memory on a system with 2GB of available RAM,
4270 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4271 (substitute* "tests/Makefile"
4272 ((" issue93.y ") " "))
4273 #t)))))
4274 (home-page "https://hackage.haskell.org/package/happy")
4275 (synopsis "Parser generator for Haskell")
4276 (description "Happy is a parser generator for Haskell. Given a grammar
4277specification in BNF, Happy generates Haskell code to parse the grammar.
4278Happy works in a similar way to the yacc tool for C.")
4279 (license license:bsd-3)))
4280
4281(define-public ghc-hashable
4282 (package
4283 (name "ghc-hashable")
4284 (version "1.2.7.0")
4285 (outputs '("out" "doc"))
4286 (source
4287 (origin
4288 (method url-fetch)
4289 (uri (string-append
4290 "https://hackage.haskell.org/package/hashable/hashable-"
4291 version
4292 ".tar.gz"))
4293 (sha256
4294 (base32
4295 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4296 (build-system haskell-build-system)
4297 (inputs
4298 `(("ghc-random" ,ghc-random)))
4299 (native-inputs
4300 `(("ghc-test-framework" ,ghc-test-framework)
4301 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4302 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4303 ("ghc-hunit" ,ghc-hunit)
4304 ("ghc-quickcheck" ,ghc-quickcheck)))
4305 (home-page "https://github.com/tibbe/hashable")
4306 (synopsis "Class for types that can be converted to a hash value")
4307 (description
4308 "This package defines a class, @code{Hashable}, for types that can be
4309converted to a hash value. This class exists for the benefit of hashing-based
4310data structures. The package provides instances for basic types and a way to
4311combine hash values.")
4312 (license license:bsd-3)))
4313
4314(define-public ghc-hashable-bootstrap
4315 (package
4316 (inherit ghc-hashable)
4317 (name "ghc-hashable-bootstrap")
4318 (arguments `(#:tests? #f))
4319 (native-inputs '())
4320 (properties '((hidden? #t)))))
4321
4322(define-public ghc-hashable-time
4323 (package
4324 (name "ghc-hashable-time")
4325 (version "0.2.0.1")
4326 (source
4327 (origin
4328 (method url-fetch)
4329 (uri (string-append
4330 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4331 version
4332 ".tar.gz"))
4333 (sha256
4334 (base32
4335 "0k932nyd08l3xxbh2g3n76py2f4kd9yw4s5a065vjz0xp6wjnxdm"))))
4336 (build-system haskell-build-system)
4337 (arguments
4338 `(#:cabal-revision
4339 ("1" "0rv40xkg3gj8jnqsry1gq3f5s5la6d5arg8fzkirnwdpcgha1as6")))
4340 (inputs `(("ghc-hashable" ,ghc-hashable)))
4341 (home-page "http://hackage.haskell.org/package/hashable-time")
4342 (synopsis "Hashable instances for Data.Time")
4343 (description
4344 "This package provides @code{Hashable} instances for types in
4345@code{Data.Time}.")
4346 (license license:bsd-3)))
4347
4348(define-public ghc-hashtables
4349 (package
4350 (name "ghc-hashtables")
4351 (version "1.2.3.1")
4352 (source
4353 (origin
4354 (method url-fetch)
4355 (uri (string-append
4356 "https://hackage.haskell.org/package/hashtables/hashtables-"
4357 version ".tar.gz"))
4358 (sha256
4359 (base32 "1giw9caajr07slf09j7zry9b0kvm4yj9q78zy1mawzi6gk3wglcg"))))
4360 (build-system haskell-build-system)
4361 (inputs
4362 `(("ghc-hashable" ,ghc-hashable)
4363 ("ghc-primitive" ,ghc-primitive)
4364 ("ghc-vector" ,ghc-vector)))
4365 (home-page "https://github.com/gregorycollins/hashtables")
4366 (synopsis "Haskell Mutable hash tables in the ST monad")
4367 (description "This package provides a Haskell library including a
4368couple of different implementations of mutable hash tables in the ST
4369monad, as well as a typeclass abstracting their common operations, and
4370a set of wrappers to use the hash tables in the IO monad.")
4371 (license license:bsd-3)))
4372
4373(define-public ghc-haskell-lexer
4374 (package
4375 (name "ghc-haskell-lexer")
4376 (version "1.0.2")
4377 (source
4378 (origin
4379 (method url-fetch)
4380 (uri (string-append
4381 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4382 version ".tar.gz"))
4383 (sha256
4384 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4385 (build-system haskell-build-system)
4386 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4387 (synopsis "Fully compliant Haskell 98 lexer")
4388 (description
4389 "This package provides a fully compliant Haskell 98 lexer.")
4390 (license license:bsd-3)))
4391
4392(define-public ghc-haskell-src
4393 (package
4394 (name "ghc-haskell-src")
4395 (version "1.0.3.0")
4396 (source
4397 (origin
4398 (method url-fetch)
4399 (uri (string-append
4400 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4401 version
4402 ".tar.gz"))
4403 (sha256
4404 (base32
4405 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4406 (build-system haskell-build-system)
4407 (inputs
4408 `(("ghc-happy" ,ghc-happy)
4409 ("ghc-syb" ,ghc-syb)))
4410 (home-page
4411 "https://hackage.haskell.org/package/haskell-src")
4412 (synopsis
4413 "Support for manipulating Haskell source code")
4414 (description
4415 "The @code{haskell-src} package provides support for manipulating Haskell
4416source code. The package provides a lexer, parser and pretty-printer, and a
4417definition of a Haskell abstract syntax tree (AST). Common uses of this
4418package are to parse or generate Haskell 98 code.")
4419 (license license:bsd-3)))
4420
4421(define-public ghc-haskell-src-exts
4422 (package
4423 (name "ghc-haskell-src-exts")
4424 (version "1.20.2")
4425 (source
4426 (origin
4427 (method url-fetch)
4428 (uri (string-append
4429 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4430 version
4431 ".tar.gz"))
4432 (sha256
4433 (base32
4434 "1sm3z4v1p5yffg01ldgavz71s3bvfhjfa13k428rk14bpkl8crlz"))))
4435 (build-system haskell-build-system)
4436 (inputs
4437 `(("cpphs" ,cpphs)
4438 ("ghc-happy" ,ghc-happy)
4439 ("ghc-pretty-show" ,ghc-pretty-show)))
4440 (native-inputs
4441 `(("ghc-smallcheck" ,ghc-smallcheck)
4442 ("ghc-tasty" ,ghc-tasty)
4443 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4444 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4445 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4446 (synopsis "Library for manipulating Haskell source")
4447 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4448extension of the standard @code{haskell-src} package, and handles most
4449registered syntactic extensions to Haskell. All extensions implemented in GHC
4450are supported. Apart from these standard extensions, it also handles regular
4451patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4452 (license license:bsd-3)))
4453
4454(define-public ghc-haskell-src-exts-util
4455 (package
4456 (name "ghc-haskell-src-exts-util")
4457 (version "0.2.3")
4458 (source
4459 (origin
4460 (method url-fetch)
4461 (uri (string-append "https://hackage.haskell.org/package/"
4462 "haskell-src-exts-util/haskell-src-exts-util-"
4463 version ".tar.gz"))
4464 (sha256
4465 (base32
4466 "1803718paq89f8pdck4mb88hv2k1ah9lxzq0lgjgwi9n88ryycz8"))))
4467 (build-system haskell-build-system)
4468 (inputs
4469 `(("ghc-data-default" ,ghc-data-default)
4470 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4471 ("ghc-semigroups" ,ghc-semigroups)
4472 ("ghc-uniplate" ,ghc-uniplate)))
4473 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4474 (synopsis "Helper functions for working with haskell-src-exts trees")
4475 (description
4476 "This package provides helper functions for working with
4477@code{haskell-src-exts} trees.")
4478 (license license:bsd-3)))
4479
4480(define-public ghc-haskell-src-meta
4481 (package
4482 (name "ghc-haskell-src-meta")
4483 (version "0.8.0.3")
4484 (source (origin
4485 (method url-fetch)
4486 (uri (string-append "https://hackage.haskell.org/package/"
4487 "haskell-src-meta/haskell-src-meta-"
4488 version ".tar.gz"))
4489 (sha256
4490 (base32
4491 "08jq156zv4m0fjq6712n99c1jwxnpa6kj6sq8ch0r1l0a1ay6ww4"))))
4492 (build-system haskell-build-system)
4493 (inputs
4494 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4495 ("ghc-syb" ,ghc-syb)
4496 ("ghc-th-orphans" ,ghc-th-orphans)))
4497 (native-inputs
4498 `(("ghc-hunit" ,ghc-hunit)
4499 ("ghc-test-framework" ,ghc-test-framework)
4500 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4501 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4502 (synopsis "Parse source to template-haskell abstract syntax")
4503 (description
4504 "This package provides tools to parse Haskell sources to the
4505template-haskell abstract syntax.")
4506 (license license:bsd-3)))
4507
4508(define-public ghc-hasktags
4509 (package
4510 (name "ghc-hasktags")
4511 (version "0.71.2")
4512 (source
4513 (origin
4514 (method url-fetch)
4515 (uri (string-append
4516 "https://hackage.haskell.org/package/hasktags/hasktags-"
4517 version
4518 ".tar.gz"))
4519 (sha256
4520 (base32
4521 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4522 (build-system haskell-build-system)
4523 (inputs
4524 `(("ghc-system-filepath" ,ghc-system-filepath)
4525 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4526 (native-inputs
4527 `(("ghc-json" ,ghc-json)
4528 ("ghc-utf8-string" ,ghc-utf8-string)
4529 ("ghc-microlens-platform" ,ghc-microlens-platform)
4530 ("ghc-hunit" ,ghc-hunit)))
4531 (home-page "http://github.com/MarcWeber/hasktags")
4532 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4533 (description
4534 "This package provides a means of generating tag files for Emacs and
4535Vim.")
4536 (license license:bsd-3)))
4537
4538(define-public ghc-hex
4539 (package
4540 (name "ghc-hex")
4541 (version "0.1.2")
4542 (source
4543 (origin
4544 (method url-fetch)
4545 (uri (string-append "https://hackage.haskell.org/package/"
4546 "hex-" version "/"
4547 "hex-" version ".tar.gz"))
4548 (sha256
4549 (base32
4550 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4551 (build-system haskell-build-system)
4552 (home-page "https://hackage.haskell.org/package/hex")
4553 (synopsis "Convert strings into hexadecimal and back")
4554 (description "This package provides conversion functions between
4555bytestrings and their hexademical representation.")
4556 (license license:bsd-3)))
4557
4558(define-public ghc-highlighting-kate
4559 (package
4560 (name "ghc-highlighting-kate")
4561 (version "0.6.4")
4562 (source (origin
4563 (method url-fetch)
4564 (uri (string-append "https://hackage.haskell.org/package/"
4565 "highlighting-kate/highlighting-kate-"
4566 version ".tar.gz"))
4567 (sha256
4568 (base32
4569 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4570 (build-system haskell-build-system)
4571 (inputs
4572 `(("ghc-diff" ,ghc-diff)
4573 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4574 (native-inputs
4575 `(("ghc-blaze-html" ,ghc-blaze-html)
4576 ("ghc-utf8-string" ,ghc-utf8-string)))
4577 (home-page "https://github.com/jgm/highlighting-kate")
4578 (synopsis "Syntax highlighting library")
4579 (description
4580 "Highlighting-kate is a syntax highlighting library with support for
4581nearly one hundred languages. The syntax parsers are automatically generated
4582from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4583supported by Kate can be added. An (optional) command-line program is
4584provided, along with a utility for generating new parsers from Kate XML syntax
4585descriptions.")
4586 (license license:gpl2+)))
4587
4588(define-public ghc-hindent
4589 (package
4590 (name "ghc-hindent")
4591 (version "5.3.0")
4592 (source
4593 (origin
4594 (method url-fetch)
4595 (uri (string-append
4596 "https://hackage.haskell.org/package/hindent/hindent-"
4597 version
4598 ".tar.gz"))
4599 (sha256
4600 (base32
4601 "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg"))))
4602 (build-system haskell-build-system)
4603 (arguments
4604 `(#:modules ((guix build haskell-build-system)
4605 (guix build utils)
4606 (guix build emacs-utils))
4607 #:imported-modules (,@%haskell-build-system-modules
4608 (guix build emacs-utils))
4609 #:phases
4610 (modify-phases %standard-phases
4611 (add-after 'install 'emacs-install
4612 (lambda* (#:key inputs outputs #:allow-other-keys)
4613 (let* ((out (assoc-ref outputs "out"))
4614 (elisp-file "elisp/hindent.el")
4615 (dest (string-append out "/share/emacs/site-lisp"
4616 "/guix.d/hindent-" ,version))
4617 (emacs (string-append (assoc-ref inputs "emacs")
4618 "/bin/emacs")))
4619 (make-file-writable elisp-file)
4620 (emacs-substitute-variables elisp-file
4621 ("hindent-process-path"
4622 (string-append out "/bin/hindent")))
4623 (install-file elisp-file dest)
4624 (emacs-generate-autoloads "hindent" dest)))))))
4625 (inputs
4626 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4627 ("ghc-monad-loops" ,ghc-monad-loops)
4628 ("ghc-utf8-string" ,ghc-utf8-string)
4629 ("ghc-exceptions" ,ghc-exceptions)
4630 ("ghc-yaml" ,ghc-yaml)
4631 ("ghc-unix-compat" ,ghc-unix-compat)
4632 ("ghc-path" ,ghc-path)
4633 ("ghc-path-io" ,ghc-path-io)
4634 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4635 (native-inputs
4636 `(("ghc-hspec" ,ghc-hspec)
4637 ("ghc-diff" ,ghc-diff)
4638 ("emacs" ,emacs-minimal)))
4639 (home-page
4640 "https://github.com/commercialhaskell/hindent")
4641 (synopsis "Extensible Haskell pretty printer")
4642 (description
4643 "This package provides automatic formatting for Haskell files. Both a
4644library and an executable.")
4645 (license license:bsd-3)))
4646
4647(define-public ghc-hinotify
4648 (package
4649 (name "ghc-hinotify")
4650 (version "0.3.10")
4651 (source (origin
4652 (method url-fetch)
4653 (uri (string-append
4654 "https://hackage.haskell.org/package/hinotify/"
4655 "hinotify-" version ".tar.gz"))
4656 (sha256
4657 (base32
4658 "17ax3n68a5c2ddazp86aciliskrh6znd3bnry0wcllmb6dbpsaxg"))))
4659 (build-system haskell-build-system)
4660 (inputs
4661 `(("ghc-async" ,ghc-async)))
4662 (home-page "https://github.com/kolmodin/hinotify.git")
4663 (synopsis "Haskell binding to inotify")
4664 (description "This library provides a wrapper to the Linux kernel's inotify
4665feature, allowing applications to subscribe to notifications when a file is
4666accessed or modified.")
4667 (license license:bsd-3)))
4668
4669(define-public ghc-hmatrix
4670 (package
4671 (name "ghc-hmatrix")
4672 (version "0.19.0.0")
4673 (source
4674 (origin
4675 (method url-fetch)
4676 (uri (string-append
4677 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
4678 version ".tar.gz"))
4679 (sha256
4680 (base32 "10jd69nby29dggghcyjk6ykyr5wrn97nrv1dkpyrp0y5xm12xssj"))))
4681 (build-system haskell-build-system)
4682 (inputs
4683 `(("ghc-random" ,ghc-random)
4684 ("ghc-split" ,ghc-split)
4685 ("ghc-storable-complex" ,ghc-storable-complex)
4686 ("ghc-semigroups" ,ghc-semigroups)
4687 ("ghc-vector" ,ghc-vector)
4688 ;;("openblas" ,openblas)
4689 ("lapack" ,lapack)))
4690 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
4691 ;; disables inclusion of the LAPACK functions.
4692 ;; (arguments `(#:configure-flags '("--flags=openblas")))
4693 (home-page "https://github.com/albertoruiz/hmatrix")
4694 (synopsis "Haskell numeric linear algebra library")
4695 (description "The HMatrix package provices a Haskell library for
4696dealing with linear systems, matrix decompositions, and other
4697numerical computations based on BLAS and LAPACK.")
4698 (license license:bsd-3)))
4699
4700(define-public ghc-hmatrix-gsl
4701 (package
4702 (name "ghc-hmatrix-gsl")
4703 (version "0.19.0.1")
4704 (source
4705 (origin
4706 (method url-fetch)
4707 (uri (string-append
4708 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
4709 version ".tar.gz"))
4710 (sha256
4711 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
4712 (build-system haskell-build-system)
4713 (inputs
4714 `(("ghc-hmatrix" ,ghc-hmatrix)
4715 ("ghc-vector" ,ghc-vector)
4716 ("ghc-random" ,ghc-random)
4717 ("gsl" ,gsl)))
4718 (native-inputs `(("pkg-config" ,pkg-config)))
4719 (home-page "https://github.com/albertoruiz/hmatrix")
4720 (synopsis "Haskell GSL binding")
4721 (description "This Haskell library provides a purely functional
4722interface to selected numerical computations, internally implemented
4723using GSL.")
4724 (license license:gpl3+)))
4725
4726(define-public ghc-hmatrix-gsl-stats
4727 (package
4728 (name "ghc-hmatrix-gsl-stats")
4729 (version "0.4.1.7")
4730 (source
4731 (origin
4732 (method url-fetch)
4733 (uri
4734 (string-append
4735 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4736 version ".tar.gz"))
4737 (sha256
4738 (base32 "1gslgk58lzin43cvbpivhw7nrn9qyaa6qwhy1z9ypvyal5p8n3sa"))))
4739 (build-system haskell-build-system)
4740 (inputs
4741 `(("ghc-vector" ,ghc-vector)
4742 ("ghc-storable-complex" ,ghc-storable-complex)
4743 ("ghc-hmatrix" ,ghc-hmatrix)
4744 ("gsl" ,gsl)))
4745 (native-inputs `(("pkg-config" ,pkg-config)))
4746 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
4747 (synopsis "GSL Statistics interface for Haskell")
4748 (description "This Haskell library provides a purely functional
4749interface for statistics based on hmatrix and GSL.")
4750 (license license:bsd-3)))
4751
4752(define-public ghc-hmatrix-special
4753 (package
4754 (name "ghc-hmatrix-special")
4755 (version "0.19.0.0")
4756 (source
4757 (origin
4758 (method url-fetch)
4759 (uri
4760 (string-append
4761 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
4762 version ".tar.gz"))
4763 (sha256
4764 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
4765 (build-system haskell-build-system)
4766 (inputs
4767 `(("ghc-hmatrix" ,ghc-hmatrix)
4768 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
4769 (home-page "https://github.com/albertoruiz/hmatrix")
4770 (synopsis "Haskell interface to GSL special functions")
4771 (description "This library provides an interface to GSL special
4772functions for Haskell.")
4773 (license license:gpl3+)))
4774
4775(define-public ghc-hostname
4776 (package
4777 (name "ghc-hostname")
4778 (version "1.0")
4779 (source
4780 (origin
4781 (method url-fetch)
4782 (uri (string-append "https://hackage.haskell.org/package/hostname/"
4783 "hostname-" version ".tar.gz"))
4784 (sha256
4785 (base32
4786 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
4787 (build-system haskell-build-system)
4788 (home-page "https://hackage.haskell.org/package/hostname")
4789 (synopsis "Hostname in Haskell")
4790 (description "Network.HostName is a simple package providing a means to
4791determine the hostname.")
4792 (license license:bsd-3)))
4793
4794(define-public ghc-hourglass
4795 (package
4796 (name "ghc-hourglass")
4797 (version "0.2.12")
4798 (source (origin
4799 (method url-fetch)
4800 (uri (string-append "https://hackage.haskell.org/package/"
4801 "hourglass/hourglass-" version ".tar.gz"))
4802 (sha256
4803 (base32
4804 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
4805 (build-system haskell-build-system)
4806 (inputs
4807 `(("ghc-old-locale" ,ghc-old-locale)))
4808 (native-inputs
4809 `(("ghc-tasty" ,ghc-tasty)
4810 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4811 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4812 (home-page "https://github.com/vincenthz/hs-hourglass")
4813 (synopsis "Simple time-related library for Haskell")
4814 (description
4815 "This is a simple time library providing a simple but powerful and
4816performant API. The backbone of the library are the @code{Timeable} and
4817@code{Time} type classes. Each @code{Timeable} instances can be converted to
4818a type that has a @code{Time} instances, and thus are different
4819representations of current time.")
4820 (license license:bsd-3)))
4821
4822(define-public ghc-hpack
4823 (package
4824 (name "ghc-hpack")
4825 (version "0.28.2")
4826 (source
4827 (origin
4828 (method url-fetch)
4829 (uri (string-append "https://hackage.haskell.org/package/hpack/"
4830 "hpack-" version ".tar.gz"))
4831 (sha256
4832 (base32
4833 "18w0h76jdp3mk9vin8da9iz3cwhcxmw787xy8wlh8bxcpcr16q5r"))))
4834 (build-system haskell-build-system)
4835 (inputs
4836 `(("ghc-aeson" ,ghc-aeson)
4837 ("ghc-bifunctors" ,ghc-bifunctors)
4838 ("ghc-cryptonite" ,ghc-cryptonite)
4839 ("ghc-glob" ,ghc-glob)
4840 ("ghc-http-client" ,ghc-http-client)
4841 ("ghc-http-client-tls" ,ghc-http-client-tls)
4842 ("ghc-http-types" ,ghc-http-types)
4843 ("ghc-scientific" ,ghc-scientific)
4844 ("ghc-unordered-containers" ,ghc-unordered-containers)
4845 ("ghc-vector" ,ghc-vector)
4846 ("ghc-yaml" ,ghc-yaml)))
4847 (native-inputs
4848 `(("ghc-hspec" ,ghc-hspec)
4849 ("ghc-hunit" ,ghc-hunit)
4850 ("ghc-interpolate" ,ghc-interpolate)
4851 ("ghc-mockery" ,ghc-mockery)
4852 ("ghc-quickcheck" ,ghc-quickcheck)
4853 ("ghc-temporary" ,ghc-temporary)
4854 ("hspec-discover" ,hspec-discover)))
4855 (home-page "https://github.com/sol/hpack")
4856 (synopsis "Tools for an alternative Haskell package format")
4857 (description
4858 "Hpack is a format for Haskell packages. It is an alternative to the
4859Cabal package format and follows different design principles. Hpack packages
4860are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
4861@code{stack} support @code{package.yaml} natively. For other build tools the
4862@code{hpack} executable can be used to generate a @code{.cabal} file from
4863@code{package.yaml}.")
4864 (license license:expat)))
4865
4866(define-public ghc-hs-bibutils
4867 (package
4868 (name "ghc-hs-bibutils")
4869 (version "6.6.0.0")
4870 (source
4871 (origin
4872 (method url-fetch)
4873 (uri (string-append
4874 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
4875 version ".tar.gz"))
4876 (sha256
4877 (base32
4878 "0n2sz2zl4naspryd49ii858qkjp2lapns5a2gr8zm6vvn5sh1f0l"))))
4879 (build-system haskell-build-system)
4880 (inputs `(("ghc-syb" ,ghc-syb)))
4881 (home-page "https://hackage.haskell.org/package/hs-bibutils")
4882 (synopsis "Haskell bindings to bibutils")
4883 (description
4884 "This package provides Haskell bindings to @code{bibutils}, a library
4885that interconverts between various bibliography formats using a common
4886MODS-format XML intermediate.")
4887 (license license:gpl2+)))
4888
4889(define-public ghc-hslogger
4890 (package
4891 (name "ghc-hslogger")
4892 (version "1.2.10")
4893 (source
4894 (origin
4895 (method url-fetch)
4896 (uri (string-append "https://hackage.haskell.org/package/"
4897 "hslogger-" version "/" "hslogger-"
4898 version ".tar.gz"))
4899 (sha256 (base32
4900 "0as5gvlh6pi2gflakp695qnlizyyp059dqrhvjl4gjxalja6xjnp"))))
4901 (build-system haskell-build-system)
4902 (inputs
4903 `(("ghc-network" ,ghc-network)
4904 ("ghc-old-locale" ,ghc-old-locale)))
4905 (native-inputs
4906 `(("ghc-hunit" ,ghc-hunit)))
4907 (home-page "https://software.complete.org/hslogger")
4908 (synopsis "Logging framework for Haskell, similar to Python's logging module")
4909 (description "Hslogger lets each log message have a priority and source be
4910associated with it. The programmer can then define global handlers that route
4911or filter messages based on the priority and source. It also has a syslog
4912handler built in.")
4913 (license license:bsd-3)))
4914
4915(define-public ghc-hslua
4916 (package
4917 (name "ghc-hslua")
4918 (version "0.9.5.2")
4919 (source (origin
4920 (method url-fetch)
4921 (uri (string-append "https://hackage.haskell.org/package/"
4922 "hslua/hslua-" version ".tar.gz"))
4923 (sha256
4924 (base32
4925 "1rdvv01p214zfjh6fcqjjgqwi8y42wad6cqzhlcv5gvclzw2ck8f"))))
4926 (build-system haskell-build-system)
4927 (arguments
4928 `(#:configure-flags '("-fsystem-lua")))
4929 (inputs
4930 `(("lua" ,lua)
4931 ("ghc-exceptions" ,ghc-exceptions)
4932 ("ghc-fail" ,ghc-fail)))
4933 (native-inputs
4934 `(("ghc-tasty" ,ghc-tasty)
4935 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
4936 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4937 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4938 ("ghc-quickcheck" ,ghc-quickcheck)
4939 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
4940 (home-page "https://hackage.haskell.org/package/hslua")
4941 (synopsis "Lua language interpreter embedding in Haskell")
4942 (description
4943 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
4944described in @url{https://www.lua.org/}.")
4945 (license license:expat)))
4946
4947(define-public ghc-hslua-module-text
4948 (package
4949 (name "ghc-hslua-module-text")
4950 (version "0.1.2.1")
4951 (source
4952 (origin
4953 (method url-fetch)
4954 (uri (string-append "https://hackage.haskell.org/package/"
4955 "hslua-module-text/hslua-module-text-"
4956 version ".tar.gz"))
4957 (sha256
4958 (base32
4959 "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf"))))
4960 (build-system haskell-build-system)
4961 (arguments
4962 `(#:cabal-revision
4963 ("1" "0vajlsd7y6pwa08635q0cx8z5c1c55bk7fvavw7g2vmyvxqjzx6n")))
4964 (inputs
4965 `(("ghc-hslua" ,ghc-hslua)))
4966 (native-inputs
4967 `(("ghc-tasty" ,ghc-tasty)
4968 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4969 (home-page "https://github.com/hslua/hslua-module-text")
4970 (synopsis "Lua module for text")
4971 (description
4972 "This package provides a UTF-8 aware subset of Lua's @code{string} module
4973for Haskell. The functions provided by this module are @code{upper},
4974@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
4975 (license license:expat)))
4976
4977(define-public ghc-http-api-data
4978 (package
4979 (name "ghc-http-api-data")
4980 (version "0.3.8.1")
4981 (source
4982 (origin
4983 (method url-fetch)
4984 (uri (string-append "https://hackage.haskell.org/package/"
4985 "http-api-data-" version "/"
4986 "http-api-data-" version ".tar.gz"))
4987 (sha256
4988 (base32
4989 "1cq6459b8wz6nvkvpi89dg189n5q2xdq4rdq435hf150555vmskf"))))
4990 (build-system haskell-build-system)
4991 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9
4992 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
4993 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
4994 ("ghc-hashable" ,ghc-hashable)
4995 ("ghc-http-types" ,ghc-http-types)
4996 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
4997 ("ghc-unordered-containers" ,ghc-unordered-containers)
4998 ("ghc-uri-bytestring" ,ghc-uri-bytestring)
4999 ("ghc-uuid-types" ,ghc-uuid-types)))
5000 (home-page "https://github.com/fizruk/http-api-data")
5001 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5002query parameters")
5003 (description "This Haskell package defines typeclasses used for converting
5004Haskell data types to and from HTTP API data.")
5005 (license license:bsd-3)))
5006
5007(define-public ghc-ieee754
5008 (package
5009 (name "ghc-ieee754")
5010 (version "0.8.0")
5011 (source (origin
5012 (method url-fetch)
5013 (uri (string-append
5014 "https://hackage.haskell.org/package/ieee754/"
5015 "ieee754-" version ".tar.gz"))
5016 (sha256
5017 (base32
5018 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5019 (build-system haskell-build-system)
5020 (home-page "https://github.com/patperry/hs-ieee754")
5021 (synopsis "Utilities for dealing with IEEE floating point numbers")
5022 (description "Utilities for dealing with IEEE floating point numbers,
5023ported from the Tango math library; approximate and exact equality comparisons
5024for general types.")
5025 (license license:bsd-3)))
5026
5027(define-public ghc-ifelse
5028 (package
5029 (name "ghc-ifelse")
5030 (version "0.85")
5031 (source
5032 (origin
5033 (method url-fetch)
5034 (uri (string-append "https://hackage.haskell.org/package/"
5035 "IfElse/IfElse-" version ".tar.gz"))
5036 (sha256
5037 (base32
5038 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5039 (build-system haskell-build-system)
5040 (home-page "http://hackage.haskell.org/package/IfElse")
5041 (synopsis "Monadic control flow with anaphoric variants")
5042 (description "This library provides functions for control flow inside of
5043monads with anaphoric variants on @code{if} and @code{when} and a C-like
5044@code{switch} function.")
5045 (license license:bsd-3)))
5046
5047(define-public ghc-indents
5048 (package
5049 (name "ghc-indents")
5050 (version "0.5.0.0")
5051 (source (origin
5052 (method url-fetch)
5053 (uri (string-append
5054 "https://hackage.haskell.org/package/indents/indents-"
5055 version ".tar.gz"))
5056 (sha256
5057 (base32
5058 "1ly3v41jacc6lrsvg4j3m5a6zs90gr8dyif5m6bf34hj1k5cgg0n"))))
5059 (build-system haskell-build-system)
5060 ;; This package needs an older version of tasty.
5061 (arguments '(#:tests? #f))
5062 (inputs
5063 `(("ghc-concatenative" ,ghc-concatenative)))
5064 (native-inputs
5065 `(("ghc-tasty" ,ghc-tasty)
5066 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5067 (home-page "http://patch-tag.com/r/salazar/indents")
5068 (synopsis "Indentation sensitive parser-combinators for parsec")
5069 (description
5070 "This library provides functions for use in parsing indentation sensitive
5071contexts. It parses blocks of lines all indented to the same level as well as
5072lines continued at an indented level below.")
5073 (license license:bsd-3)))
5074
5075(define-public ghc-inline-c
5076 (package
5077 (name "ghc-inline-c")
5078 (version "0.6.1.0")
5079 (source
5080 (origin
5081 (method url-fetch)
5082 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5083 "inline-c-" version ".tar.gz"))
5084 (sha256
5085 (base32
5086 "0vbfrsqsi7mdziqsnj68bsqlwbqxxhvrmy9rv6w8z18d1m8w3n6h"))))
5087 (build-system haskell-build-system)
5088 (inputs
5089 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5090 ("ghc-cryptohash" ,ghc-cryptohash)
5091 ("ghc-hashable" ,ghc-hashable)
5092 ("ghc-parsers" ,ghc-parsers)
5093 ("ghc-unordered-containers" ,ghc-unordered-containers)
5094 ("ghc-vector" ,ghc-vector)))
5095 (native-inputs
5096 `(("ghc-quickcheck" ,ghc-quickcheck)
5097 ("ghc-hspec" ,ghc-hspec)
5098 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5099 ("ghc-regex-posix" ,ghc-regex-posix)))
5100 (home-page "http://hackage.haskell.org/package/inline-c")
5101 (synopsis "Write Haskell source files including C code inline")
5102 (description
5103 "inline-c lets you seamlessly call C libraries and embed high-performance
5104inline C code in Haskell modules. Haskell and C can be freely intermixed in
5105the same source file, and data passed to and from code in either language with
5106minimal overhead. No FFI required.")
5107 (license license:expat)))
5108
5109(define-public ghc-inline-c-cpp
5110 (package
5111 (name "ghc-inline-c-cpp")
5112 (version "0.2.2.1")
5113 (source
5114 (origin
5115 (method url-fetch)
5116 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5117 "inline-c-cpp-" version ".tar.gz"))
5118 (sha256
5119 (base32
5120 "1rk7fmpkmxw9hhwr8df29kadnf0ybnwj64ggdbnsdrpfyhnkisci"))))
5121 (build-system haskell-build-system)
5122 (inputs
5123 `(("ghc-inline-c" ,ghc-inline-c)
5124 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5125 (native-inputs
5126 `(("ghc-hspec" ,ghc-hspec)))
5127 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5128 (synopsis "Lets you embed C++ code into Haskell")
5129 (description
5130 "This package provides utilities to inline C++ code into Haskell using
5131@code{inline-c}.")
5132 (license license:expat)))
5133
5134(define-public ghc-integer-logarithms
5135 (package
5136 (name "ghc-integer-logarithms")
5137 (version "1.0.2.1")
5138 (source
5139 (origin
5140 (method url-fetch)
5141 (uri (string-append "https://hackage.haskell.org/package/"
5142 "integer-logarithms/integer-logarithms-"
5143 version ".tar.gz"))
5144 (sha256
5145 (base32
5146 "1wj8kgjg5bn2yrs4zh9qfjv85cx6w998j9pi39yrbv305944mb9j"))))
5147 (build-system haskell-build-system)
5148 (arguments
5149 `(#:phases
5150 (modify-phases %standard-phases
5151 (add-before 'configure 'update-constraints
5152 (lambda _
5153 (substitute* "integer-logarithms.cabal"
5154 (("tasty >= 0\\.10 && < 1\\.1")
5155 "tasty >= 0.10 && < 1.2")))))))
5156 (native-inputs
5157 `(("ghc-quickcheck" ,ghc-quickcheck)
5158 ("ghc-smallcheck" ,ghc-smallcheck)
5159 ("ghc-tasty" ,ghc-tasty)
5160 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5161 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5162 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5163 (home-page "https://github.com/Bodigrim/integer-logarithms")
5164 (synopsis "Integer logarithms")
5165 (description
5166 "This package provides the following modules:
5167@code{Math.NumberTheory.Logarithms} and
5168@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5169@code{GHC.Integer.Logarithms.Compat} and
5170@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5171in migrated modules.")
5172 (license license:expat)))
5173
5174(define-public ghc-integer-logarithms-bootstrap
5175 (package
5176 (inherit ghc-integer-logarithms)
5177 (name "ghc-integer-logarithms-bootstrap")
5178 (arguments `(#:tests? #f))
5179 (native-inputs '())
5180 (properties '(hidden? #t))))
5181
5182(define-public ghc-interpolate
5183 (package
5184 (name "ghc-interpolate")
5185 (version "0.2.0")
5186 (source
5187 (origin
5188 (method url-fetch)
5189 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5190 "interpolate-" version ".tar.gz"))
5191 (sha256
5192 (base32
5193 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5194 (build-system haskell-build-system)
5195 (inputs
5196 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5197 (native-inputs
5198 `(("ghc-base-compat" ,ghc-base-compat)
5199 ("ghc-hspec" ,ghc-hspec)
5200 ("ghc-quickcheck" ,ghc-quickcheck)
5201 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5202 ("hspec-discover" ,hspec-discover)))
5203 (home-page "https://github.com/sol/interpolate")
5204 (synopsis "String interpolation library")
5205 (description "This package provides a string interpolation library for
5206Haskell.")
5207 (license license:expat)))
5208
5209(define-public ghc-intervalmap
5210 (package
5211 (name "ghc-intervalmap")
5212 (version "0.6.0.0")
5213 (source
5214 (origin
5215 (method url-fetch)
5216 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5217 "IntervalMap-" version ".tar.gz"))
5218 (sha256
5219 (base32
5220 "06hin9wf1by8aqa7820fsi2339bh82184frkwz3jsb9sqa0hszcg"))))
5221 (build-system haskell-build-system)
5222 (native-inputs
5223 `(("ghc-quickcheck" ,ghc-quickcheck)))
5224 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5225 (synopsis "Containers for intervals, with efficient search")
5226 (description
5227 "This package provides ordered containers of intervals, with efficient
5228search for all keys containing a point or overlapping an interval. See the
5229example code on the home page for a quick introduction.")
5230 (license license:bsd-3)))
5231
5232(define-public ghc-invariant
5233 (package
5234 (name "ghc-invariant")
5235 (version "0.5.1")
5236 (source
5237 (origin
5238 (method url-fetch)
5239 (uri (string-append
5240 "https://hackage.haskell.org/package/invariant/invariant-"
5241 version ".tar.gz"))
5242 (sha256
5243 (base32
5244 "0aqj7z55632qdg45074kgn9qfdxzb0a2f8lgjzr0l0i4mm2rr37b"))))
5245 (build-system haskell-build-system)
5246 (inputs
5247 `(("ghc-bifunctors" ,ghc-bifunctors)
5248 ("ghc-comonad" ,ghc-comonad)
5249 ("ghc-contravariant" ,ghc-contravariant)
5250 ("ghc-profunctors" ,ghc-profunctors)
5251 ("ghc-semigroups" ,ghc-semigroups)
5252 ("ghc-statevar" ,ghc-statevar)
5253 ("ghc-tagged" ,ghc-tagged)
5254 ("ghc-th-abstraction" ,ghc-th-abstraction)
5255 ("ghc-transformers-compat" ,ghc-transformers-compat)
5256 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5257 (native-inputs
5258 `(("ghc-hspec" ,ghc-hspec)
5259 ("ghc-quickcheck" ,ghc-quickcheck)
5260 ("hspec-discover" ,hspec-discover)))
5261 (home-page "https://github.com/nfrisby/invariant-functors")
5262 (synopsis "Haskell98 invariant functors")
5263 (description "Haskell98 invariant functors (also known as exponential
5264functors). For more information, see Edward Kmett's article
5265@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5266 (license license:bsd-2)))
5267
5268(define-public ghc-io-streams
5269 (package
5270 (name "ghc-io-streams")
5271 (version "1.5.0.1")
5272 (source
5273 (origin
5274 (method url-fetch)
5275 (uri (string-append "https://hackage.haskell.org/package/"
5276 "io-streams/io-streams-" version ".tar.gz"))
5277 (sha256
5278 (base32
5279 "12rcdg2d70644bvn838fxcjkssqj8pssnx5y657si5rijcbkgjsx"))))
5280 (build-system haskell-build-system)
5281 (inputs
5282 `(("ghc-attoparsec" ,ghc-attoparsec)
5283 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5284 ("ghc-network" ,ghc-network)
5285 ("ghc-primitive" ,ghc-primitive)
5286 ("ghc-vector" ,ghc-vector)
5287 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5288 (native-inputs
5289 `(("ghc-hunit" ,ghc-hunit)
5290 ("ghc-quickcheck" ,ghc-quickcheck)
5291 ("ghc-test-framework" ,ghc-test-framework)
5292 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5293 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5294 ("ghc-zlib" ,ghc-zlib)))
5295 (arguments
5296 `(#:cabal-revision
5297 ("2" "1mcab95d6hm098myh9gp7sh10srigjphgvm8s9pfs7jg5hzghy14")))
5298 (home-page "http://hackage.haskell.org/package/io-streams")
5299 (synopsis "Simple and composable stream I/O")
5300 (description "This library contains simple and easy-to-use
5301primitives for I/O using streams.")
5302 (license license:bsd-3)))
5303
5304(define-public ghc-io-streams-haproxy
5305 (package
5306 (name "ghc-io-streams-haproxy")
5307 (version "1.0.0.2")
5308 (source
5309 (origin
5310 (method url-fetch)
5311 (uri (string-append "https://hackage.haskell.org/package/"
5312 "io-streams-haproxy/io-streams-haproxy-"
5313 version ".tar.gz"))
5314 (sha256
5315 (base32
5316 "11nh9q158mgnvvb23s5ffg87lkhl5smk039yl43jghxmb214z0bp"))))
5317 (build-system haskell-build-system)
5318 (inputs
5319 `(("ghc-attoparsec" ,ghc-attoparsec)
5320 ("ghc-io-streams" ,ghc-io-streams)
5321 ("ghc-network" ,ghc-network)))
5322 (native-inputs
5323 `(("ghc-hunit" ,ghc-hunit)
5324 ("ghc-test-framework" ,ghc-test-framework)
5325 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5326 (arguments
5327 `(#:cabal-revision
5328 ("4" "06c51a057n5bc9xfbp2m4jz5ds4z1xvmsx5mppch6qfwbz7x5i9l")))
5329 (home-page "http://snapframework.com/")
5330 (synopsis "HAProxy protocol 1.5 support for io-streams")
5331 (description "HAProxy protocol version 1.5 support
5332(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5333for applications using io-streams. The proxy protocol allows information
5334about a networked peer (like remote address and port) to be propagated
5335through a forwarding proxy that is configured to speak this protocol.")
5336 (license license:bsd-3)))
5337
5338(define-public ghc-iproute
5339 (package
5340 (name "ghc-iproute")
5341 (version "1.7.5")
5342 (source
5343 (origin
5344 (method url-fetch)
5345 (uri (string-append
5346 "https://hackage.haskell.org/package/iproute/iproute-"
5347 version
5348 ".tar.gz"))
5349 (sha256
5350 (base32
5351 "1vw1nm3s8vz1hqnjnqd3wh5rr4q3m2r4izn5ynhf93h9185qwqzd"))))
5352 (build-system haskell-build-system)
5353 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5354 ; exported by ghc-byteorder. Doctest issue.
5355 (inputs
5356 `(("ghc-appar" ,ghc-appar)
5357 ("ghc-byteorder" ,ghc-byteorder)
5358 ("ghc-network" ,ghc-network)
5359 ("ghc-safe" ,ghc-safe)))
5360 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5361 (synopsis "IP routing table")
5362 (description "IP Routing Table is a tree of IP ranges to search one of
5363them on the longest match base. It is a kind of TRIE with one way branching
5364removed. Both IPv4 and IPv6 are supported.")
5365 (license license:bsd-3)))
5366
5367(define-public ghc-iwlib
5368 (package
5369 (name "ghc-iwlib")
5370 (version "0.1.0")
5371 (source
5372 (origin
5373 (method url-fetch)
5374 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5375 version ".tar.gz"))
5376 (sha256
5377 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5378 (build-system haskell-build-system)
5379 (inputs
5380 `(("wireless-tools" ,wireless-tools)))
5381 (home-page "https://github.com/jaor/iwlib")
5382 (synopsis "Haskell binding to the iw wireless networking library")
5383 (description
5384 "IWlib is a thin Haskell binding to the iw C library. It provides
5385information about the current wireless network connections, and adapters on
5386supported systems.")
5387 (license license:bsd-3)))
5388
5389(define-public ghc-json
5390 (package
5391 (name "ghc-json")
5392 (version "0.9.2")
5393 (source
5394 (origin
5395 (method url-fetch)
5396 (uri (string-append "https://hackage.haskell.org/package/json/"
5397 "json-" version ".tar.gz"))
5398 (sha256
5399 (base32
5400 "13kkfgx58z18jphbg56jn08jn72wi3kvfndlwwx87hqwg7x1dfz6"))))
5401 (build-system haskell-build-system)
5402 (inputs
5403 `(("ghc-syb" ,ghc-syb)))
5404 (home-page "https://hackage.haskell.org/package/json")
5405 (synopsis "Serializes Haskell data to and from JSON")
5406 (description "This package provides a parser and pretty printer for
5407converting between Haskell values and JSON.
5408JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5409 (license license:bsd-3)))
5410
5411(define-public ghc-juicypixels
5412 (package
5413 (name "ghc-juicypixels")
5414 (version "3.2.9.5")
5415 (source (origin
5416 (method url-fetch)
5417 (uri (string-append "https://hackage.haskell.org/package/"
5418 "JuicyPixels/JuicyPixels-"
5419 version ".tar.gz"))
5420 (sha256
5421 (base32
5422 "0mf3ihr0xy2wc2wzb9a17g0n3p60x7pvm8akwpvhdy8klvs6r744"))))
5423 (build-system haskell-build-system)
5424 (inputs
5425 `(("ghc-zlib" ,ghc-zlib)
5426 ("ghc-vector" ,ghc-vector)
5427 ("ghc-primitive" ,ghc-primitive)
5428 ("ghc-mmap" ,ghc-mmap)))
5429 (home-page "https://github.com/Twinside/Juicy.Pixels")
5430 (synopsis "Picture loading and serialization library")
5431 (description
5432 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5433TIFF and GIF formats.")
5434 (license license:bsd-3)))
5435
5436(define-public ghc-kan-extensions
5437 (package
5438 (name "ghc-kan-extensions")
5439 (version "5.2")
5440 (source
5441 (origin
5442 (method url-fetch)
5443 (uri (string-append
5444 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5445 version
5446 ".tar.gz"))
5447 (sha256
5448 (base32
5449 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5450 (build-system haskell-build-system)
5451 (inputs
5452 `(("ghc-adjunctions" ,ghc-adjunctions)
5453 ("ghc-comonad" ,ghc-comonad)
5454 ("ghc-contravariant" ,ghc-contravariant)
5455 ("ghc-distributive" ,ghc-distributive)
5456 ("ghc-free" ,ghc-free)
5457 ("ghc-invariant" ,ghc-invariant)
5458 ("ghc-semigroupoids" ,ghc-semigroupoids)
5459 ("ghc-tagged" ,ghc-tagged)
5460 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5461 (home-page "https://github.com/ekmett/kan-extensions/")
5462 (synopsis "Kan extensions library")
5463 (description "This library provides Kan extensions, Kan lifts, various
5464forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5465 (license license:bsd-3)))
5466
5467(define-public ghc-language-c
5468 (package
5469 (name "ghc-language-c")
5470 (version "0.8.1")
5471 (source
5472 (origin
5473 (method url-fetch)
5474 (uri (string-append "https://hackage.haskell.org/package/"
5475 "language-c/language-c-" version ".tar.gz"))
5476 (sha256
5477 (base32
5478 "0sdkjj0hq8p69fcdm6ljbjkjvrsrb8a6rl5dq6dj6byj32ajrm3d"))))
5479 (build-system haskell-build-system)
5480 (inputs `(("ghc-syb" ,ghc-syb)))
5481 (native-inputs
5482 `(("ghc-happy" ,ghc-happy)
5483 ("ghc-alex" ,ghc-alex)))
5484 (home-page "https://visq.github.io/language-c/")
5485 (synopsis "Analysis and generation of C code")
5486 (description
5487 "Language C is a Haskell library for the analysis and generation of C code.
5488It features a complete, well-tested parser and pretty printer for all of C99
5489and a large set of GNU extensions.")
5490 (license license:bsd-3)))
5491
5492(define-public ghc-language-glsl
5493 (package
5494 (name "ghc-language-glsl")
5495 (version "0.3.0")
5496 (source
5497 (origin
5498 (method url-fetch)
5499 (uri (string-append "https://hackage.haskell.org/package/"
5500 "language-glsl/language-glsl-" version ".tar.gz"))
5501 (sha256
5502 (base32
5503 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
5504 (build-system haskell-build-system)
5505 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
5506 (arguments
5507 `(#:tests? #f
5508 #:cabal-revision
5509 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
5510 (home-page "http://hackage.haskell.org/package/language-glsl")
5511 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
5512 (description "This package is a Haskell library for the
5513representation, parsing, and pretty-printing of GLSL 1.50 code.")
5514 (license license:bsd-3)))
5515
5516(define-public ghc-language-haskell-extract
5517 (package
5518 (name "ghc-language-haskell-extract")
5519 (version "0.2.4")
5520 (source
5521 (origin
5522 (method url-fetch)
5523 (uri (string-append "https://hackage.haskell.org/package/"
5524 "language-haskell-extract-" version "/"
5525 "language-haskell-extract-" version ".tar.gz"))
5526 (sha256
5527 (base32
5528 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
5529 (build-system haskell-build-system)
5530 (inputs
5531 `(("ghc-regex-posix" ,ghc-regex-posix)))
5532 (home-page "https://github.com/finnsson/template-helper")
5533 (synopsis "Haskell module to automatically extract functions from
5534the local code")
5535 (description "This package contains helper functions on top of
5536Template Haskell.
5537
5538For example, @code{functionExtractor} extracts all functions after a
5539regexp-pattern, which can be useful if you wish to extract all functions
5540beginning with @code{test} (for a test framework) or all functions beginning
5541with @code{wc} (for a web service).")
5542 (license license:bsd-3)))
5543
5544(define-public ghc-lens
5545 (package
5546 (name "ghc-lens")
5547 (version "4.16.1")
5548 (source
5549 (origin
5550 (method url-fetch)
5551 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5552 version ".tar.gz"))
5553 (sha256
5554 (base32
5555 "1im4drhbydbawd6i0jsrzpqihnmx4ywpkg7yg94ddwsw3mxwkgpm"))))
5556 (build-system haskell-build-system)
5557 (arguments
5558 `(#:cabal-revision
5559 ("2" "11h83lj5mba4grhz1qx3irz10ysm9c3k7k6i6xv2cr60q8xin3ri")))
5560 (inputs
5561 `(("ghc-base-orphans" ,ghc-base-orphans)
5562 ("ghc-bifunctors" ,ghc-bifunctors)
5563 ("ghc-distributive" ,ghc-distributive)
5564 ("ghc-exceptions" ,ghc-exceptions)
5565 ("ghc-free" ,ghc-free)
5566 ("ghc-kan-extensions" ,ghc-kan-extensions)
5567 ("ghc-parallel" ,ghc-parallel)
5568 ("ghc-reflection" ,ghc-reflection)
5569 ("ghc-semigroupoids" ,ghc-semigroupoids)
5570 ("ghc-vector" ,ghc-vector)
5571 ("ghc-call-stack" ,ghc-call-stack)
5572 ("ghc-comonad" ,ghc-comonad)
5573 ("ghc-contravariant" ,ghc-contravariant)
5574 ("ghc-hashable" ,ghc-hashable)
5575 ("ghc-profunctors" ,ghc-profunctors)
5576 ("ghc-semigroups" ,ghc-semigroups)
5577 ("ghc-tagged" ,ghc-tagged)
5578 ("ghc-transformers-compat" ,ghc-transformers-compat)
5579 ("ghc-unordered-containers" ,ghc-unordered-containers)
5580 ("ghc-void" ,ghc-void)
5581 ("ghc-generic-deriving" ,ghc-generic-deriving)
5582 ("ghc-nats" ,ghc-nats)
5583 ("ghc-simple-reflect" ,ghc-simple-reflect)
5584 ("hlint" ,hlint)))
5585 (native-inputs
5586 `(("cabal-doctest" ,cabal-doctest)
5587 ("ghc-doctest" ,ghc-doctest)
5588 ("ghc-hunit" ,ghc-hunit)
5589 ("ghc-test-framework" ,ghc-test-framework)
5590 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5591 ("ghc-test-framework-th" ,ghc-test-framework-th)
5592 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5593 ("ghc-quickcheck" ,ghc-quickcheck)))
5594 (home-page "https://github.com/ekmett/lens/")
5595 (synopsis "Lenses, Folds and Traversals")
5596 (description "This library provides @code{Control.Lens}. The combinators
5597in @code{Control.Lens} provide a highly generic toolbox for composing families
5598of getters, folds, isomorphisms, traversals, setters and lenses and their
5599indexed variants.")
5600 (license license:bsd-3)))
5601
5602(define-public ghc-libffi
5603 (package
5604 (name "ghc-libffi")
5605 (version "0.1")
5606 (source
5607 (origin
5608 (method url-fetch)
5609 (uri (string-append "https://hackage.haskell.org/package/"
5610 "libffi/libffi-" version ".tar.gz"))
5611 (sha256
5612 (base32
5613 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
5614 (build-system haskell-build-system)
5615 (native-inputs `(("pkg-config" ,pkg-config)))
5616 (inputs `(("libffi" ,libffi)))
5617 (home-page "http://hackage.haskell.org/package/libffi")
5618 (synopsis "Haskell binding to libffi")
5619 (description
5620 "A binding to libffi, allowing C functions of types only known at runtime
5621to be called from Haskell.")
5622 (license license:bsd-3)))
5623
5624(define-public ghc-libmpd
5625 (package
5626 (name "ghc-libmpd")
5627 (version "0.9.0.9")
5628 (source
5629 (origin
5630 (method url-fetch)
5631 (uri (string-append
5632 "mirror://hackage/package/libmpd/libmpd-"
5633 version
5634 ".tar.gz"))
5635 (sha256
5636 (base32
5637 "1931m23iqb4wddpdidm4ph746zpaw41kkjzmb074j7yyfpk7x1jv"))))
5638 (build-system haskell-build-system)
5639 ;; Tests fail on i686.
5640 ;; See https://github.com/vimus/libmpd-haskell/issues/112
5641 (arguments `(#:tests? #f))
5642 (inputs
5643 `(("ghc-attoparsec" ,ghc-attoparsec)
5644 ("ghc-old-locale" ,ghc-old-locale)
5645 ("ghc-data-default-class" ,ghc-data-default-class)
5646 ("ghc-network" ,ghc-network)
5647 ("ghc-utf8-string" ,ghc-utf8-string)))
5648 (native-inputs
5649 `(("ghc-quickcheck" ,ghc-quickcheck)
5650 ("ghc-hspec" ,ghc-hspec)
5651 ("hspec-discover" ,hspec-discover)))
5652 (home-page "https://github.com/vimus/libmpd-haskell")
5653 (synopsis "Haskell client library for the Music Player Daemon")
5654 (description "This package provides a pure Haskell client library for the
5655Music Player Daemon.")
5656 (license license:expat)))
5657
5658(define-public ghc-libxml
5659 (package
5660 (name "ghc-libxml")
5661 (version "0.1.1")
5662 (source
5663 (origin
5664 (method url-fetch)
5665 (uri (string-append "https://hackage.haskell.org/package/libxml/"
5666 "libxml-" version ".tar.gz"))
5667 (sha256
5668 (base32
5669 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
5670 (build-system haskell-build-system)
5671 (inputs
5672 `(("libxml2" ,libxml2)))
5673 (arguments
5674 `(#:configure-flags
5675 `(,(string-append "--extra-include-dirs="
5676 (assoc-ref %build-inputs "libxml2")
5677 "/include/libxml2"))))
5678 (home-page "https://hackage.haskell.org/package/libxml")
5679 (synopsis "Haskell bindings to libxml2")
5680 (description
5681 "This library provides minimal Haskell binding to libxml2.")
5682 (license license:bsd-3)))
5683
5684(define-public ghc-lifted-async
5685 (package
5686 (name "ghc-lifted-async")
5687 (version "0.10.0.2")
5688 (source
5689 (origin
5690 (method url-fetch)
5691 (uri (string-append
5692 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
5693 version ".tar.gz"))
5694 (sha256
5695 (base32
5696 "1073r512c1x2m1v0jar9bwqg656slg7jd1jhsyj6m8awgx1l1mwf"))))
5697 (build-system haskell-build-system)
5698 (inputs
5699 `(("ghc-async" ,ghc-async)
5700 ("ghc-lifted-base" ,ghc-lifted-base)
5701 ("ghc-transformers-base" ,ghc-transformers-base)
5702 ("ghc-monad-control" ,ghc-monad-control)
5703 ("ghc-constraints" ,ghc-constraints)
5704 ("ghc-hunit" ,ghc-hunit)
5705 ("ghc-tasty" ,ghc-tasty)
5706 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5707 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5708 ("ghc-tasty-th" ,ghc-tasty-th)))
5709 (home-page "https://github.com/maoe/lifted-async")
5710 (synopsis "Run lifted IO operations asynchronously and wait for their results")
5711 (description
5712 "This package provides IO operations from @code{async} package lifted to any
5713instance of @code{MonadBase} or @code{MonadBaseControl}.")
5714 (license license:bsd-3)))
5715
5716(define-public ghc-lifted-base
5717 (package
5718 (name "ghc-lifted-base")
5719 (version "0.2.3.12")
5720 (source
5721 (origin
5722 (method url-fetch)
5723 (uri (string-append
5724 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
5725 version
5726 ".tar.gz"))
5727 (sha256
5728 (base32
5729 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
5730 (build-system haskell-build-system)
5731 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
5732 (inputs
5733 `(("ghc-transformers-base" ,ghc-transformers-base)
5734 ("ghc-monad-control" ,ghc-monad-control)
5735 ("ghc-transformers-compat" ,ghc-transformers-compat)
5736 ("ghc-hunit" ,ghc-hunit)))
5737 (home-page "https://github.com/basvandijk/lifted-base")
5738 (synopsis "Lifted IO operations from the base library")
5739 (description "Lifted-base exports IO operations from the @code{base}
5740library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5741Note that not all modules from @code{base} are converted yet. The package
5742includes a copy of the @code{monad-peel} test suite written by Anders
5743Kaseorg.")
5744 (license license:bsd-3)))
5745
5746(define-public ghc-linear
5747 (package
5748 (name "ghc-linear")
5749 (version "1.20.8")
5750 (source
5751 (origin
5752 (method url-fetch)
5753 (uri (string-append "https://hackage.haskell.org/package/linear/"
5754 "linear-" version ".tar.gz"))
5755 (sha256
5756 (base32
5757 "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"))))
5758 (build-system haskell-build-system)
5759 (inputs
5760 `(("ghc-adjunctions" ,ghc-adjunctions)
5761 ("ghc-base-orphans" ,ghc-base-orphans)
5762 ("ghc-bytes" ,ghc-bytes)
5763 ("ghc-cereal" ,ghc-cereal)
5764 ("ghc-distributive" ,ghc-distributive)
5765 ("ghc-hashable" ,ghc-hashable)
5766 ("ghc-lens" ,ghc-lens)
5767 ("ghc-reflection" ,ghc-reflection)
5768 ("ghc-semigroups" ,ghc-semigroups)
5769 ("ghc-semigroupoids" ,ghc-semigroupoids)
5770 ("ghc-tagged" ,ghc-tagged)
5771 ("ghc-transformers-compat" ,ghc-transformers-compat)
5772 ("ghc-unordered-containers" ,ghc-unordered-containers)
5773 ("ghc-vector" ,ghc-vector)
5774 ("ghc-void" ,ghc-void)))
5775 (native-inputs
5776 `(("cabal-doctest" ,cabal-doctest)
5777 ("ghc-doctest" ,ghc-doctest)
5778 ("ghc-simple-reflect" ,ghc-simple-reflect)
5779 ("ghc-test-framework" ,ghc-test-framework)
5780 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5781 ("ghc-hunit" ,ghc-hunit)))
5782 (home-page "http://github.com/ekmett/linear/")
5783 (synopsis "Linear algebra library for Haskell")
5784 (description
5785 "This package provides types and combinators for linear algebra on free
5786vector spaces.")
5787 (license license:bsd-3)))
5788
5789(define-public ghc-logging-facade
5790 (package
5791 (name "ghc-logging-facade")
5792 (version "0.3.0")
5793 (source (origin
5794 (method url-fetch)
5795 (uri (string-append "https://hackage.haskell.org/package/"
5796 "logging-facade/logging-facade-"
5797 version ".tar.gz"))
5798 (sha256
5799 (base32
5800 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
5801 (build-system haskell-build-system)
5802 (native-inputs
5803 `(("ghc-hspec" ,ghc-hspec)
5804 ("hspec-discover" ,hspec-discover)))
5805 (home-page "https://hackage.haskell.org/package/logging-facade")
5806 (synopsis "Simple logging abstraction that allows multiple back-ends")
5807 (description
5808 "This package provides a simple logging abstraction that allows multiple
5809back-ends.")
5810 (license license:expat)))
5811
5812(define-public ghc-logict
5813 (package
5814 (name "ghc-logict")
5815 (version "0.6.0.2")
5816 (source
5817 (origin
5818 (method url-fetch)
5819 (uri (string-append
5820 "https://hackage.haskell.org/package/logict/logict-"
5821 version
5822 ".tar.gz"))
5823 (sha256
5824 (base32
5825 "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi"))))
5826 (build-system haskell-build-system)
5827 (home-page "http://code.haskell.org/~dolio/")
5828 (synopsis "Backtracking logic-programming monad")
5829 (description "This library provides a continuation-based, backtracking,
5830logic programming monad. An adaptation of the two-continuation implementation
5831found in the paper \"Backtracking, Interleaving, and Terminating Monad
5832Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
5833online}.")
5834 (license license:bsd-3)))
5835
5836(define-public ghc-lzma
5837 (package
5838 (name "ghc-lzma")
5839 (version "0.0.0.3")
5840 (source
5841 (origin
5842 (method url-fetch)
5843 (uri (string-append "https://hackage.haskell.org/package/lzma/"
5844 "lzma-" version ".tar.gz"))
5845 (sha256
5846 (base32
5847 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
5848 (build-system haskell-build-system)
5849 (arguments
5850 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
5851 #:cabal-revision
5852 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
5853 (native-inputs
5854 `(("ghc-hunit" ,ghc-hunit)
5855 ("ghc-quickcheck" ,ghc-quickcheck)
5856 ("ghc-tasty" ,ghc-tasty)
5857 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5858 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
5859 (home-page "https://github.com/hvr/lzma")
5860 (synopsis "LZMA/XZ compression and decompression")
5861 (description
5862 "This package provides a pure interface for compressing and
5863decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
5864monadic incremental interface is provided as well.")
5865 (license license:bsd-3)))
5866
5867(define-public ghc-lzma-conduit
5868 (package
5869 (name "ghc-lzma-conduit")
5870 (version "1.2.1")
5871 (source
5872 (origin
5873 (method url-fetch)
5874 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
5875 "lzma-conduit-" version ".tar.gz"))
5876 (sha256
5877 (base32
5878 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
5879 (build-system haskell-build-system)
5880 (inputs
5881 `(("ghc-conduit" ,ghc-conduit)
5882 ("ghc-lzma" ,ghc-lzma)
5883 ("ghc-resourcet" ,ghc-resourcet)))
5884 (native-inputs
5885 `(("ghc-base-compat" ,ghc-base-compat)
5886 ("ghc-test-framework" ,ghc-test-framework)
5887 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5888 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5889 ("ghc-hunit" ,ghc-hunit)
5890 ("ghc-quickcheck" ,ghc-quickcheck)))
5891 (home-page "https://github.com/alphaHeavy/lzma-conduit")
5892 (synopsis "Conduit interface for lzma/xz compression")
5893 (description
5894 "This package provides a @code{Conduit} interface for the LZMA
5895compression algorithm used in the @code{.xz} file format.")
5896 (license license:bsd-3)))
5897
5898(define-public ghc-markdown-unlit
5899 (package
5900 (name "ghc-markdown-unlit")
5901 (version "0.5.0")
5902 (source (origin
5903 (method url-fetch)
5904 (uri (string-append
5905 "mirror://hackage/package/markdown-unlit/"
5906 "markdown-unlit-" version ".tar.gz"))
5907 (sha256
5908 (base32
5909 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
5910 (build-system haskell-build-system)
5911 (inputs
5912 `(("ghc-base-compat" ,ghc-base-compat)
5913 ("ghc-hspec" ,ghc-hspec)
5914 ("ghc-quickcheck" ,ghc-quickcheck)
5915 ("ghc-silently" ,ghc-silently)
5916 ("ghc-stringbuilder" ,ghc-stringbuilder)
5917 ("ghc-temporary" ,ghc-temporary)
5918 ("hspec-discover" ,hspec-discover)))
5919 (home-page "https://github.com/sol/markdown-unlit#readme")
5920 (synopsis "Literate Haskell support for Markdown")
5921 (description "This package allows you to have a README.md that at the
5922same time is a literate Haskell program.")
5923 (license license:expat)))
5924
5925(define-public ghc-math-functions
5926 (package
5927 (name "ghc-math-functions")
5928 (version "0.2.1.0")
5929 (source
5930 (origin
5931 (method url-fetch)
5932 (uri (string-append "https://hackage.haskell.org/package/"
5933 "math-functions-" version "/"
5934 "math-functions-" version ".tar.gz"))
5935 (sha256
5936 (base32
5937 "1sv5vabsx332v1lpb6v3jv4zrzvpx1n7yprzd8wlcda5vsc5a6zp"))))
5938 (build-system haskell-build-system)
5939 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
5940 (inputs
5941 `(("ghc-vector" ,ghc-vector)
5942 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
5943 (native-inputs
5944 `(("ghc-hunit" ,ghc-hunit)
5945 ("ghc-quickcheck" ,ghc-quickcheck)
5946 ("ghc-erf" ,ghc-erf)
5947 ("ghc-test-framework" ,ghc-test-framework)
5948 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5949 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
5950 (home-page "https://github.com/bos/math-functions")
5951 (synopsis "Special functions and Chebyshev polynomials for Haskell")
5952 (description "This Haskell library provides implementations of
5953special mathematical functions and Chebyshev polynomials. These
5954functions are often useful in statistical and numerical computing.")
5955 (license license:bsd-3)))
5956
5957(define-public ghc-megaparsec
5958 (package
5959 (name "ghc-megaparsec")
5960 (version "6.5.0")
5961 (source
5962 (origin
5963 (method url-fetch)
5964 (uri (string-append "https://hackage.haskell.org/package/"
5965 "megaparsec/megaparsec-"
5966 version ".tar.gz"))
5967 (sha256
5968 (base32
5969 "12iggy7qpf8x93jm64zf0g215xwy779bqyfyjk2bhmxqqr1yzgdy"))))
5970 (build-system haskell-build-system)
5971 (arguments
5972 `(#:cabal-revision
5973 ("4" "0ij3asi5vwlhbgwsy6nhli9a0qb7926mg809fsgyl1rnhs9fvpx1")))
5974 (inputs
5975 `(("ghc-case-insensitive" ,ghc-case-insensitive)
5976 ("ghc-parser-combinators" ,ghc-parser-combinators)
5977 ("ghc-scientific" ,ghc-scientific)))
5978 (native-inputs
5979 `(("ghc-quickcheck" ,ghc-quickcheck)
5980 ("ghc-hspec" ,ghc-hspec)
5981 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
5982 ("hspec-discover" ,hspec-discover)))
5983 (home-page "https://github.com/mrkkrp/megaparsec")
5984 (synopsis "Monadic parser combinators")
5985 (description
5986 "This is an industrial-strength monadic parser combinator library.
5987Megaparsec is a feature-rich package that strikes a nice balance between
5988speed, flexibility, and quality of parse errors.")
5989 (license license:bsd-2)))
5990
5991(define-public ghc-memory
5992 (package
5993 (name "ghc-memory")
5994 (version "0.14.16")
5995 (source (origin
5996 (method url-fetch)
5997 (uri (string-append "https://hackage.haskell.org/package/"
5998 "memory/memory-" version ".tar.gz"))
5999 (sha256
6000 (base32
6001 "03rbszi5d4z9rlbfv8ydrl1xf84xsh8z57g07f7j9qccn9587c3v"))))
6002 (build-system haskell-build-system)
6003 (inputs
6004 `(("ghc-basement" ,ghc-basement)
6005 ("ghc-foundation" ,ghc-foundation)))
6006 (native-inputs
6007 `(("ghc-tasty" ,ghc-tasty)
6008 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6009 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6010 (home-page "https://github.com/vincenthz/hs-memory")
6011 (synopsis "Memory abstractions for Haskell")
6012 (description
6013 "This package provides memory abstractions, such as chunk of memory,
6014polymorphic byte array management and manipulation functions. It contains a
6015polymorphic byte array abstraction and functions similar to strict ByteString,
6016different type of byte array abstraction, raw memory IO operations (memory
6017set, memory copy, ..) and more")
6018 (license license:bsd-3)))
6019
6020(define-public ghc-memotrie
6021 (package
6022 (name "ghc-memotrie")
6023 (version "0.6.9")
6024 (source
6025 (origin
6026 (method url-fetch)
6027 (uri (string-append
6028 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6029 version
6030 ".tar.gz"))
6031 (sha256
6032 (base32
6033 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6034 (build-system haskell-build-system)
6035 (inputs
6036 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6037 (home-page "https://github.com/conal/MemoTrie")
6038 (synopsis "Trie-based memo functions")
6039 (description "This package provides a functional library for creating
6040efficient memo functions using tries.")
6041 (license license:bsd-3)))
6042
6043(define-public ghc-microlens
6044 (package
6045 (name "ghc-microlens")
6046 (version "0.4.9.1")
6047 (source
6048 (origin
6049 (method url-fetch)
6050 (uri (string-append "https://hackage.haskell.org/package/"
6051 "microlens-" version "/"
6052 "microlens-" version ".tar.gz"))
6053 (sha256
6054 (base32
6055 "0j2nzf0vpx2anvsrg2w0vy2z4jn3kkcs2n6glkzblhn1j9piqh51"))))
6056 (build-system haskell-build-system)
6057 (home-page
6058 "https://github.com/aelve/microlens")
6059 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6060 (description "This Haskell package provides a lens library, just like
6061@code{ghc-lens}, but smaller. It provides essential lenses and
6062traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6063nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6064combinators (like @code{failing} and @code{singular}), but everything else is
6065stripped. As the result, this package has no dependencies.")
6066 (license license:bsd-3)))
6067
6068(define-public ghc-microlens-ghc
6069 (package
6070 (name "ghc-microlens-ghc")
6071 (version "0.4.9.1")
6072 (source
6073 (origin
6074 (method url-fetch)
6075 (uri (string-append
6076 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6077 version
6078 ".tar.gz"))
6079 (sha256
6080 (base32
6081 "03iwgg8zww9irv59l70c8yy7vzxir1zf66y12210xk91k5hq6jrj"))))
6082 (build-system haskell-build-system)
6083 (inputs `(("ghc-microlens" ,ghc-microlens)))
6084 (home-page "https://github.com/monadfix/microlens")
6085 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6086 (description "This library provides everything that @code{microlens}
6087provides plus instances to make @code{each}, @code{at}, and @code{ix}
6088usable with arrays, @code{ByteString}, and containers. This package is
6089a part of the @uref{http://hackage.haskell.org/package/microlens,
6090microlens} family; see the readme
6091@uref{https://github.com/aelve/microlens#readme, on Github}.")
6092 (license license:bsd-3)))
6093
6094(define-public ghc-microlens-mtl
6095 (package
6096 (name "ghc-microlens-mtl")
6097 (version "0.1.11.1")
6098 (source
6099 (origin
6100 (method url-fetch)
6101 (uri (string-append
6102 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6103 version
6104 ".tar.gz"))
6105 (sha256
6106 (base32
6107 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6108 (build-system haskell-build-system)
6109 (inputs
6110 `(("ghc-microlens" ,ghc-microlens)
6111 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6112 (home-page "https://github.com/monadfix/microlens")
6113 (synopsis
6114 "@code{microlens} support for Reader/Writer/State from mtl")
6115 (description
6116 "This package contains functions (like @code{view} or @code{+=}) which
6117work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6118mtl package. This package is a part of the
6119@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6120readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6121 (license license:bsd-3)))
6122
6123(define-public ghc-microlens-platform
6124 (package
6125 (name "ghc-microlens-platform")
6126 (version "0.3.10")
6127 (source
6128 (origin
6129 (method url-fetch)
6130 (uri (string-append
6131 "https://hackage.haskell.org/package/"
6132 "microlens-platform/microlens-platform-" version ".tar.gz"))
6133 (sha256
6134 (base32
6135 "1d4nhmgf9jq0ixc7qhwm7aaw3xdr0nalw58d0ydsydgf02cyazwv"))))
6136 (build-system haskell-build-system)
6137 (inputs
6138 `(("ghc-hashable" ,ghc-hashable)
6139 ("ghc-microlens" ,ghc-microlens)
6140 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6141 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6142 ("ghc-microlens-th" ,ghc-microlens-th)
6143 ("ghc-unordered-containers" ,ghc-unordered-containers)
6144 ("ghc-vector" ,ghc-vector)))
6145 (home-page "https://github.com/monadfix/microlens")
6146 (synopsis "Feature-complete microlens")
6147 (description
6148 "This package exports a module which is the recommended starting point
6149for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6150you aren't trying to keep your dependencies minimal. By importing
6151@code{Lens.Micro.Platform} you get all functions and instances from
6152@uref{http://hackage.haskell.org/package/microlens, microlens},
6153@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6154@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6155@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6156well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6157minor and major versions of @code{microlens-platform} are incremented whenever
6158the minor and major versions of any other @code{microlens} package are
6159incremented, so you can depend on the exact version of
6160@code{microlens-platform} without specifying the version of @code{microlens}
6161you need. This package is a part of the
6162@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6163readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6164 (license license:bsd-3)))
6165
6166(define-public ghc-microlens-th
6167 (package
6168 (name "ghc-microlens-th")
6169 (version "0.4.2.2")
6170 (source
6171 (origin
6172 (method url-fetch)
6173 (uri (string-append "https://hackage.haskell.org/package/"
6174 "microlens-th-" version "/"
6175 "microlens-th-" version ".tar.gz"))
6176 (sha256
6177 (base32
6178 "02nj7lnl61yffi3c6wn341arxhld5r0vj6nzcb5zmqjhnqsv8c05"))))
6179 (build-system haskell-build-system)
6180 (inputs `(("ghc-microlens" ,ghc-microlens)
6181 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6182 (home-page
6183 "https://github.com/aelve/microlens")
6184 (synopsis "Automatic generation of record lenses for
6185@code{ghc-microlens}")
6186 (description "This Haskell package lets you automatically generate lenses
6187for data types; code was extracted from the lens package, and therefore
6188generated lenses are fully compatible with ones generated by lens (and can be
6189used both from lens and microlens).")
6190 (license license:bsd-3)))
6191
6192(define-public ghc-missingh
6193 (package
6194 (name "ghc-missingh")
6195 (version "1.4.0.1")
6196 (source
6197 (origin
6198 (method url-fetch)
6199 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6200 "MissingH-" version ".tar.gz"))
6201 (sha256
6202 (base32
6203 "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"))))
6204 (build-system haskell-build-system)
6205 ;; Tests require the unmaintained testpack package, which depends on the
6206 ;; outdated QuickCheck version 2.7, which can no longer be built with
6207 ;; recent versions of GHC and Haskell libraries.
6208 (arguments '(#:tests? #f))
6209 (inputs
6210 `(("ghc-network" ,ghc-network)
6211 ("ghc-hunit" ,ghc-hunit)
6212 ("ghc-regex-compat" ,ghc-regex-compat)
6213 ("ghc-hslogger" ,ghc-hslogger)
6214 ("ghc-random" ,ghc-random)
6215 ("ghc-old-time" ,ghc-old-time)
6216 ("ghc-old-locale" ,ghc-old-locale)))
6217 (native-inputs
6218 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6219 ("ghc-quickcheck" ,ghc-quickcheck)
6220 ("ghc-hunit" ,ghc-hunit)))
6221 (home-page "http://software.complete.org/missingh")
6222 (synopsis "Large utility library")
6223 (description
6224 "MissingH is a library of all sorts of utility functions for Haskell
6225programmers. It is written in pure Haskell and thus should be extremely
6226portable and easy to use.")
6227 (license license:bsd-3)))
6228
6229(define-public ghc-mmap
6230 (package
6231 (name "ghc-mmap")
6232 (version "0.5.9")
6233 (source (origin
6234 (method url-fetch)
6235 (uri (string-append "https://hackage.haskell.org/package/"
6236 "mmap/mmap-" version ".tar.gz"))
6237 (sha256
6238 (base32
6239 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6240 (build-system haskell-build-system)
6241 (home-page "https://hackage.haskell.org/package/mmap")
6242 (synopsis "Memory mapped files for Haskell")
6243 (description
6244 "This library provides a wrapper to @code{mmap}, allowing files or
6245devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6246@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6247do on-demand loading.")
6248 (license license:bsd-3)))
6249
6250(define-public ghc-mmorph
6251 (package
6252 (name "ghc-mmorph")
6253 (version "1.1.2")
6254 (source
6255 (origin
6256 (method url-fetch)
6257 (uri (string-append
6258 "https://hackage.haskell.org/package/mmorph/mmorph-"
6259 version
6260 ".tar.gz"))
6261 (sha256
6262 (base32
6263 "1gjz1ib968lqybma7my1n19qq6cdj6a7nskrlnwy4jy9jrwzs2n9"))))
6264 (build-system haskell-build-system)
6265 (inputs
6266 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6267 (home-page "https://hackage.haskell.org/package/mmorph")
6268 (synopsis "Monad morphisms")
6269 (description
6270 "This library provides monad morphism utilities, most commonly used for
6271manipulating monad transformer stacks.")
6272 (license license:bsd-3)))
6273
6274(define-public ghc-mockery
6275 (package
6276 (name "ghc-mockery")
6277 (version "0.3.5")
6278 (source (origin
6279 (method url-fetch)
6280 (uri (string-append "https://hackage.haskell.org/package/"
6281 "mockery/mockery-" version ".tar.gz"))
6282 (sha256
6283 (base32
6284 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6285 (build-system haskell-build-system)
6286 (inputs
6287 `(("ghc-temporary" ,ghc-temporary)
6288 ("ghc-logging-facade" ,ghc-logging-facade)
6289 ("ghc-base-compat" ,ghc-base-compat)))
6290 (native-inputs
6291 `(("ghc-hspec" ,ghc-hspec)
6292 ("hspec-discover" ,hspec-discover)))
6293 (home-page "https://hackage.haskell.org/package/mockery")
6294 (synopsis "Support functions for automated testing")
6295 (description
6296 "The mockery package provides support functions for automated testing.")
6297 (license license:expat)))
6298
6299(define-public ghc-monad-control
6300 (package
6301 (name "ghc-monad-control")
6302 (version "1.0.2.3")
6303 (source
6304 (origin
6305 (method url-fetch)
6306 (uri (string-append
6307 "https://hackage.haskell.org/package/monad-control"
6308 "/monad-control-" version ".tar.gz"))
6309 (sha256
6310 (base32
6311 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6312 (build-system haskell-build-system)
6313 (inputs
6314 `(("ghc-transformers-base" ,ghc-transformers-base)
6315 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6316 (home-page "https://github.com/basvandijk/monad-control")
6317 (synopsis "Monad transformers to lift control operations like exception
6318catching")
6319 (description "This package defines the type class @code{MonadBaseControl},
6320a subset of @code{MonadBase} into which generic control operations such as
6321@code{catch} can be lifted from @code{IO} or any other base monad.")
6322 (license license:bsd-3)))
6323
6324(define-public ghc-monad-logger
6325 (package
6326 (name "ghc-monad-logger")
6327 (version "0.3.29")
6328 (source
6329 (origin
6330 (method url-fetch)
6331 (uri (string-append "https://hackage.haskell.org/package/"
6332 "monad-logger-" version "/"
6333 "monad-logger-" version ".tar.gz"))
6334 (sha256
6335 (base32
6336 "1z516s4pa9n94zf0l45mylssg07xr1d1m6zrz900p0iv3vfd07mv"))))
6337 (build-system haskell-build-system)
6338 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6339 ("ghc-stm-chans" ,ghc-stm-chans)
6340 ("ghc-lifted-base" ,ghc-lifted-base)
6341 ("ghc-resourcet" ,ghc-resourcet)
6342 ("ghc-conduit" ,ghc-conduit)
6343 ("ghc-conduit-extra" ,ghc-conduit-extra)
6344 ("ghc-fast-logger" ,ghc-fast-logger)
6345 ("ghc-transformers-base" ,ghc-transformers-base)
6346 ("ghc-monad-control" ,ghc-monad-control)
6347 ("ghc-monad-loops" ,ghc-monad-loops)
6348 ("ghc-blaze-builder" ,ghc-blaze-builder)
6349 ("ghc-exceptions" ,ghc-exceptions)))
6350 (home-page "https://github.com/kazu-yamamoto/logger")
6351 (synopsis "Provides a class of monads which can log messages for Haskell")
6352 (description "This Haskell package uses a monad transformer approach
6353for logging.
6354
6355This package provides Template Haskell functions for determining source
6356code locations of messages.")
6357 (license license:expat)))
6358
6359(define-public ghc-monad-loops
6360 (package
6361 (name "ghc-monad-loops")
6362 (version "0.4.3")
6363 (source
6364 (origin
6365 (method url-fetch)
6366 (uri (string-append "https://hackage.haskell.org/package/"
6367 "monad-loops-" version "/"
6368 "monad-loops-" version ".tar.gz"))
6369 (sha256
6370 (base32
6371 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6372 (build-system haskell-build-system)
6373 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6374 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6375 (home-page "https://github.com/mokus0/monad-loops")
6376 (synopsis "Monadic loops for Haskell")
6377 (description "This Haskell package provides some useful control
6378operators for looping.")
6379 (license license:public-domain)))
6380
6381(define-public ghc-monad-par
6382 (package
6383 (name "ghc-monad-par")
6384 (version "0.3.4.8")
6385 (source
6386 (origin
6387 (method url-fetch)
6388 (uri (string-append "https://hackage.haskell.org/package/"
6389 "monad-par-" version "/"
6390 "monad-par-" version ".tar.gz"))
6391 (sha256
6392 (base32
6393 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6394 (build-system haskell-build-system)
6395 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6396 ("ghc-abstract-deque" ,ghc-abstract-deque)
6397 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6398 ("ghc-mwc-random" ,ghc-mwc-random)
6399 ("ghc-parallel" ,ghc-parallel)))
6400 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6401 ("ghc-hunit" ,ghc-hunit)
6402 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6403 ("ghc-test-framework-quickcheck2"
6404 ,ghc-test-framework-quickcheck2)
6405 ("ghc-test-framework" ,ghc-test-framework)
6406 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6407 (home-page "https://github.com/simonmar/monad-par")
6408 (synopsis "Haskell library for parallel programming based on a monad")
6409 (description "The @code{Par} monad offers an API for parallel
6410programming. The library works for parallelising both pure and @code{IO}
6411computations, although only the pure version is deterministic. The default
6412implementation provides a work-stealing scheduler and supports forking tasks
6413that are much lighter weight than IO-threads.")
6414 (license license:bsd-3)))
6415
6416(define-public ghc-monad-par-extras
6417 (package
6418 (name "ghc-monad-par-extras")
6419 (version "0.3.3")
6420 (source
6421 (origin
6422 (method url-fetch)
6423 (uri (string-append "https://hackage.haskell.org/package/"
6424 "monad-par-extras-" version "/"
6425 "monad-par-extras-" version ".tar.gz"))
6426 (sha256
6427 (base32
6428 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6429 (build-system haskell-build-system)
6430 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6431 ("ghc-cereal" ,ghc-cereal)
6432 ("ghc-random" ,ghc-random)))
6433 (home-page "https://github.com/simonmar/monad-par")
6434 (synopsis "Combinators and extra features for Par monads for Haskell")
6435 (description "This Haskell package provides additional data structures,
6436and other added capabilities layered on top of the @code{Par} monad.")
6437 (license license:bsd-3)))
6438
6439(define-public ghc-monadplus
6440 (package
6441 (name "ghc-monadplus")
6442 (version "1.4.2")
6443 (source
6444 (origin
6445 (method url-fetch)
6446 (uri (string-append "https://hackage.haskell.org/package/monadplus"
6447 "/monadplus-" version ".tar.gz"))
6448 (sha256
6449 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
6450 (build-system haskell-build-system)
6451 (home-page "https://hackage.haskell.org/package/monadplus")
6452 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
6453 (description
6454 "This package generalizes many common stream operations such as
6455@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
6456arbitrary @code{MonadPlus} instances.")
6457 (license license:bsd-3)))
6458
6459(define-public ghc-monadrandom
6460 (package
6461 (name "ghc-monadrandom")
6462 (version "0.5.1.1")
6463 (source
6464 (origin
6465 (method url-fetch)
6466 (uri (string-append "https://hackage.haskell.org/package/"
6467 "MonadRandom-" version "/"
6468 "MonadRandom-" version ".tar.gz"))
6469 (sha256
6470 (base32
6471 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
6472 (build-system haskell-build-system)
6473 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6474 ("ghc-primitive" ,ghc-primitive)
6475 ("ghc-fail" ,ghc-fail)
6476 ("ghc-random" ,ghc-random)))
6477 (home-page "https://github.com/byorgey/MonadRandom")
6478 (synopsis "Random-number generation monad for Haskell")
6479 (description "This Haskell package provides support for computations
6480which consume random values.")
6481 (license license:bsd-3)))
6482
6483(define-public ghc-monads-tf
6484 (package
6485 (name "ghc-monads-tf")
6486 (version "0.1.0.3")
6487 (source
6488 (origin
6489 (method url-fetch)
6490 (uri (string-append
6491 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
6492 version ".tar.gz"))
6493 (sha256
6494 (base32
6495 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
6496 (build-system haskell-build-system)
6497 (home-page "https://hackage.haskell.org/package/monads-tf")
6498 (synopsis "Monad classes, using type families")
6499 (description
6500 "Monad classes using type families, with instances for various monad transformers,
6501inspired by the paper 'Functional Programming with Overloading and Higher-Order
6502Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
6503the @code{mtl-tf} package.")
6504 (license license:bsd-3)))
6505
6506(define-public ghc-mono-traversable
6507 (package
6508 (name "ghc-mono-traversable")
6509 (version "1.0.9.0")
6510 (source
6511 (origin
6512 (method url-fetch)
6513 (uri (string-append "https://hackage.haskell.org/package/"
6514 "mono-traversable-" version "/"
6515 "mono-traversable-" version ".tar.gz"))
6516 (sha256
6517 (base32
6518 "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
6519 (build-system haskell-build-system)
6520 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
6521 ("ghc-hashable" ,ghc-hashable)
6522 ("ghc-vector" ,ghc-vector)
6523 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
6524 ("ghc-split" ,ghc-split)))
6525 (native-inputs `(("ghc-hspec" ,ghc-hspec)
6526 ("ghc-hunit" ,ghc-hunit)
6527 ("ghc-quickcheck" ,ghc-quickcheck)
6528 ("ghc-semigroups" ,ghc-semigroups)
6529 ("ghc-foldl" ,ghc-foldl)))
6530 (home-page "https://github.com/snoyberg/mono-traversable")
6531 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
6532containers")
6533 (description "This Haskell package provides Monomorphic variants of the
6534Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
6535basic typeclasses, you understand mono-traversable. In addition to what
6536you are used to, it adds on an IsSequence typeclass and has code for marking
6537data structures as non-empty.")
6538 (license license:expat)))
6539
6540(define-public ghc-murmur-hash
6541 (package
6542 (name "ghc-murmur-hash")
6543 (version "0.1.0.9")
6544 (source
6545 (origin
6546 (method url-fetch)
6547 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
6548 "/murmur-hash-" version ".tar.gz"))
6549 (sha256
6550 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
6551 (build-system haskell-build-system)
6552 (home-page "https://github.com/nominolo/murmur-hash")
6553 (synopsis "MurmurHash2 implementation for Haskell")
6554 (description
6555 "This package provides an implementation of MurmurHash2, a good, fast,
6556general-purpose, non-cryptographic hashing function. See
6557@url{https://sites.google.com/site/murmurhash/} for details. This
6558implementation is pure Haskell, so it might be a bit slower than a C FFI
6559binding.")
6560 (license license:bsd-3)))
6561
6562(define-public ghc-mwc-random
6563 (package
6564 (name "ghc-mwc-random")
6565 (version "0.13.6.0")
6566 (source
6567 (origin
6568 (method url-fetch)
6569 (uri (string-append "https://hackage.haskell.org/package/"
6570 "mwc-random-" version "/"
6571 "mwc-random-" version ".tar.gz"))
6572 (sha256
6573 (base32
6574 "05j7yh0hh9nxic3dijmzv44kc6gzclvamdph7sq7w19wq57k6pq6"))))
6575 (build-system haskell-build-system)
6576 (inputs
6577 `(("ghc-primitive" ,ghc-primitive)
6578 ("ghc-vector" ,ghc-vector)
6579 ("ghc-math-functions" ,ghc-math-functions)))
6580 (arguments
6581 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
6582 (native-inputs
6583 `(("ghc-hunit" ,ghc-hunit)
6584 ("ghc-quickcheck" ,ghc-quickcheck)
6585 ("ghc-test-framework" ,ghc-test-framework)
6586 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6587 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6588 (home-page "https://github.com/bos/mwc-random")
6589 (synopsis "Random number generation library for Haskell")
6590 (description "This Haskell package contains code for generating
6591high quality random numbers that follow either a uniform or normal
6592distribution. The generated numbers are suitable for use in
6593statistical applications.
6594
6595The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
6596multiply-with-carry generator, which has a period of 2^{8222} and
6597fares well in tests of randomness. It is also extremely fast,
6598between 2 and 3 times faster than the Mersenne Twister.")
6599 (license license:bsd-3)))
6600
6601(define-public ghc-nats
6602 (package
6603 (name "ghc-nats")
6604 (version "1.1.2")
6605 (source
6606 (origin
6607 (method url-fetch)
6608 (uri (string-append
6609 "https://hackage.haskell.org/package/nats/nats-"
6610 version
6611 ".tar.gz"))
6612 (sha256
6613 (base32
6614 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
6615 (build-system haskell-build-system)
6616 (arguments `(#:haddock? #f))
6617 (inputs
6618 `(("ghc-hashable" ,ghc-hashable)))
6619 (home-page "https://hackage.haskell.org/package/nats")
6620 (synopsis "Natural numbers")
6621 (description "This library provides the natural numbers for Haskell.")
6622 (license license:bsd-3)))
6623
6624(define-public ghc-nats-bootstrap
6625 (package
6626 (inherit ghc-nats)
6627 (name "ghc-nats-bootstrap")
6628 (inputs
6629 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
6630 (properties '((hidden? #t)))))
6631
6632(define-public ghc-network
6633 (package
6634 (name "ghc-network")
6635 (version "2.6.3.6")
6636 (outputs '("out" "doc"))
6637 (source
6638 (origin
6639 (method url-fetch)
6640 (uri (string-append
6641 "https://hackage.haskell.org/package/network/network-"
6642 version
6643 ".tar.gz"))
6644 (sha256
6645 (base32
6646 "198mam7ahny48p9fajznbqq16a8ya2gw0xm3gnm1si1rmc4hdplv"))))
6647 (build-system haskell-build-system)
6648 ;; The regression tests depend on an unpublished module.
6649 (arguments `(#:tests? #f))
6650 (native-inputs
6651 `(("ghc-hunit" ,ghc-hunit)
6652 ("ghc-doctest" ,ghc-doctest)
6653 ("ghc-test-framework" ,ghc-test-framework)
6654 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6655 (home-page "https://github.com/haskell/network")
6656 (synopsis "Low-level networking interface")
6657 (description
6658 "This package provides a low-level networking interface.")
6659 (license license:bsd-3)))
6660
6661(define-public ghc-network-info
6662 (package
6663 (name "ghc-network-info")
6664 (version "0.2.0.10")
6665 (source
6666 (origin
6667 (method url-fetch)
6668 (uri (string-append "https://hackage.haskell.org/package/"
6669 "network-info-" version "/"
6670 "network-info-" version ".tar.gz"))
6671 (sha256
6672 (base32
6673 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
6674 (build-system haskell-build-system)
6675 (home-page "https://github.com/jystic/network-info")
6676 (synopsis "Access the local computer's basic network configuration")
6677 (description "This Haskell library provides simple read-only access to the
6678local computer's networking configuration. It is currently capable of
6679getting a list of all the network interfaces and their respective
6680IPv4, IPv6 and MAC addresses.")
6681 (license license:bsd-3)))
6682
6683(define-public ghc-network-uri
6684 (package
6685 (name "ghc-network-uri")
6686 (version "2.6.1.0")
6687 (outputs '("out" "doc"))
6688 (source
6689 (origin
6690 (method url-fetch)
6691 (uri (string-append
6692 "https://hackage.haskell.org/package/network-uri/network-uri-"
6693 version
6694 ".tar.gz"))
6695 (sha256
6696 (base32
6697 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
6698 (build-system haskell-build-system)
6699 (arguments
6700 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
6701 (inputs
6702 `(("ghc-network" ,ghc-network)))
6703 (native-inputs
6704 `(("ghc-hunit" ,ghc-hunit)))
6705 (home-page
6706 "https://github.com/haskell/network-uri")
6707 (synopsis "Library for URI manipulation")
6708 (description "This package provides an URI manipulation interface. In
6709@code{network-2.6} the @code{Network.URI} module was split off from the
6710@code{network} package into this package.")
6711 (license license:bsd-3)))
6712
6713(define-public ghc-newtype-generics
6714 (package
6715 (name "ghc-newtype-generics")
6716 (version "0.5.3")
6717 (source
6718 (origin
6719 (method url-fetch)
6720 (uri (string-append "https://hackage.haskell.org/package/"
6721 "newtype-generics/newtype-generics-"
6722 version ".tar.gz"))
6723 (sha256
6724 (base32
6725 "0igyisw2djg19v9vkna1rwf47k97mvkvk4bbkmswznvbm00z15gj"))))
6726 (build-system haskell-build-system)
6727 (native-inputs
6728 `(("ghc-hspec" ,ghc-hspec)
6729 ("hspec-discover" ,hspec-discover)))
6730 (home-page "http://github.com/sjakobi/newtype-generics")
6731 (synopsis "Typeclass and set of functions for working with newtypes")
6732 (description "The @code{Newtype} typeclass represents the packing and
6733unpacking of a newtype, and allows you to operate under that newtype with
6734functions such as @code{ala}. Generics support was added in version 0.4,
6735making this package a full replacement for the original newtype package,
6736and an alternative to newtype-th.")
6737 (license license:bsd-3)))
6738
6b652f5a
JS
6739(define-public ghc-non-negative
6740 (package
6741 (name "ghc-non-negative")
6742 (version "0.1.2")
6743 (source
6744 (origin
6745 (method url-fetch)
6746 (uri
6747 (string-append
6748 "https://hackage.haskell.org/package/non-negative/non-negative-"
6749 version ".tar.gz"))
6750 (sha256
6751 (base32
6752 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
6753 (build-system haskell-build-system)
6754 (inputs
6755 `(("ghc-semigroups" ,ghc-semigroups)
6756 ("ghc-utility-ht" ,ghc-utility-ht)
6757 ("ghc-quickcheck" ,ghc-quickcheck)))
6758 (home-page "https://hackage.haskell.org/package/non-negative")
6759 (synopsis "Non-negative numbers class")
6760 (description "This library provides a class for non-negative numbers,
6761a wrapper which can turn any ordered numeric type into a member of that
6762class, and a lazy number type for non-negative numbers (a generalization
6763of Peano numbers).")
6764 (license license:gpl3+)))
6765
dddbc90c
RV
6766(define-public ghc-objectname
6767 (package
6768 (name "ghc-objectname")
6769 (version "1.1.0.1")
6770 (source
6771 (origin
6772 (method url-fetch)
6773 (uri (string-append
6774 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
6775 version
6776 ".tar.gz"))
6777 (sha256
6778 (base32
6779 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
6780 (build-system haskell-build-system)
6781 (home-page "https://hackage.haskell.org/package/ObjectName")
6782 (synopsis "Helper library for Haskell OpenGL")
6783 (description "This tiny package contains the class ObjectName, which
6784corresponds to the general notion of explicitly handled identifiers for API
6785objects, e.g. a texture object name in OpenGL or a buffer object name in
6786OpenAL.")
6787 (license license:bsd-3)))
6788
6789(define-public ghc-old-locale
6790 (package
6791 (name "ghc-old-locale")
6792 (version "1.0.0.7")
6793 (source
6794 (origin
6795 (method url-fetch)
6796 (uri (string-append
6797 "https://hackage.haskell.org/package/old-locale/old-locale-"
6798 version
6799 ".tar.gz"))
6800 (sha256
6801 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
6802 (build-system haskell-build-system)
6803 (arguments
6804 `(#:cabal-revision
6805 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
6806 (home-page "https://hackage.haskell.org/package/old-locale")
6807 (synopsis "Adapt to locale conventions")
6808 (description
6809 "This package provides the ability to adapt to locale conventions such as
6810date and time formats.")
6811 (license license:bsd-3)))
6812
6813(define-public ghc-old-time
6814 (package
6815 (name "ghc-old-time")
6816 (version "1.1.0.3")
6817 (source
6818 (origin
6819 (method url-fetch)
6820 (uri (string-append
6821 "https://hackage.haskell.org/package/old-time/old-time-"
6822 version
6823 ".tar.gz"))
6824 (sha256
6825 (base32
6826 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
6827 (build-system haskell-build-system)
6828 (arguments
6829 `(#:cabal-revision
6830 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
6831 (inputs
6832 `(("ghc-old-locale" ,ghc-old-locale)))
6833 (home-page "https://hackage.haskell.org/package/old-time")
6834 (synopsis "Time compatibility library for Haskell")
6835 (description "Old-time is a package for backwards compatibility with the
6836old @code{time} library. For new projects, the newer
6837@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
6838 (license license:bsd-3)))
6839
6840(define-public ghc-opengl
6841 (package
6842 (name "ghc-opengl")
6843 (version "3.0.2.2")
6844 (source
6845 (origin
6846 (method url-fetch)
6847 (uri (string-append
6848 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
6849 version
6850 ".tar.gz"))
6851 (sha256
6852 (base32
6853 "19vxwvx2n8zq2klj176l25n2b64ybp0b8mhm4p46gvpcivz41fjc"))))
6854 (build-system haskell-build-system)
6855 (inputs
6856 `(("ghc-objectname" ,ghc-objectname)
6857 ("ghc-gluraw" ,ghc-gluraw)
6858 ("ghc-statevar" ,ghc-statevar)
6859 ("ghc-openglraw" ,ghc-openglraw)))
6860 (home-page "https://www.haskell.org/haskellwiki/Opengl")
6861 (synopsis "Haskell bindings for the OpenGL graphics system")
6862 (description "This package provides Haskell bindings for the OpenGL
6863graphics system (GL, version 4.5) and its accompanying utility library (GLU,
6864version 1.3).")
6865 (license license:bsd-3)))
6866
6867(define-public ghc-openglraw
6868 (package
6869 (name "ghc-openglraw")
6870 (version "3.3.1.0")
6871 (source
6872 (origin
6873 (method url-fetch)
6874 (uri (string-append
6875 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
6876 version
6877 ".tar.gz"))
6878 (sha256
6879 (base32
6880 "1x8w3x308jldj2c1xqcq3a3sc2jc06pdpgqkgjsmixi1skv4a1vb"))))
6881 (build-system haskell-build-system)
6882 (inputs
6883 `(("ghc-half" ,ghc-half)
6884 ("ghc-fixed" ,ghc-fixed)
6885 ("glu" ,glu)))
6886 (home-page "https://www.haskell.org/haskellwiki/Opengl")
6887 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
6888 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
6889graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
6890of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
6891offers access to all necessary functions, tokens and types plus a general
6892facility for loading extension entries. The module hierarchy closely mirrors
6893the naming structure of the OpenGL extensions, making it easy to find the
6894right module to import. All API entries are loaded dynamically, so no special
6895C header files are needed for building this package. If an API entry is not
6896found at runtime, a userError is thrown.")
6897 (license license:bsd-3)))
6898
6899(define-public ghc-operational
6900 (package
6901 (name "ghc-operational")
6902 (version "0.2.3.5")
6903 (source
6904 (origin
6905 (method url-fetch)
6906 (uri (string-append "https://hackage.haskell.org/package/operational/"
6907 "operational-" version ".tar.gz"))
6908 (sha256
6909 (base32
6910 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
6911 (build-system haskell-build-system)
6912 (inputs
6913 `(("ghc-random" ,ghc-random)))
6914 (home-page "http://wiki.haskell.org/Operational")
6915 (synopsis "Implementation of difficult monads made easy with operational semantics")
6916 (description
6917 "This library makes it easy to implement monads with tricky control
6918flow. This is useful for: writing web applications in a sequential style,
6919programming games with a uniform interface for human and AI players and easy
6920replay capababilities, implementing fast parser monads, designing monadic
6921DSLs, etc.")
6922 (license license:bsd-3)))
6923
6924(define-public ghc-options
6925 (package
6926 (name "ghc-options")
6927 (version "1.2.1.1")
6928 (source
6929 (origin
6930 (method url-fetch)
6931 (uri (string-append
6932 "https://hackage.haskell.org/package/options/options-"
6933 version ".tar.gz"))
6934 (sha256
6935 (base32
6936 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
6937 (build-system haskell-build-system)
6938 (inputs
6939 `(("ghc-monads-tf" ,ghc-monads-tf)
6940 ("ghc-chell" ,ghc-chell)
6941 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
6942 (home-page "https://john-millikin.com/software/haskell-options/")
6943 (synopsis "Powerful and easy-to-use command-line option parser")
6944 (description
6945 "The @code{options} package lets library and application developers
6946easily work with command-line options.")
6947 (license license:expat)))
6948
6949;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
6950(define ghc-options-bootstrap
6951 (package
6952 (name "ghc-options-bootstrap")
6953 (version "1.2.1.1")
6954 (source
6955 (origin
6956 (method url-fetch)
6957 (uri (string-append
6958 "https://hackage.haskell.org/package/options/options-"
6959 version ".tar.gz"))
6960 (sha256
6961 (base32
6962 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
6963 (build-system haskell-build-system)
6964 (arguments
6965 `(#:tests? #f))
6966 (inputs
6967 `(("ghc-monads-tf" ,ghc-monads-tf)))
6968 (home-page "https://john-millikin.com/software/haskell-options/")
6969 (synopsis "Powerful and easy-to-use command-line option parser")
6970 (description
6971 "The @code{options} package lets library and application developers
6972easily work with command-line options.")
6973 (license license:expat)))
6974
6975
6976(define-public ghc-optparse-applicative
6977 (package
6978 (name "ghc-optparse-applicative")
6979 (version "0.14.2.0")
6980 (source
6981 (origin
6982 (method url-fetch)
6983 (uri (string-append
6984 "https://hackage.haskell.org/package/optparse-applicative"
6985 "/optparse-applicative-" version ".tar.gz"))
6986 (sha256
6987 (base32
6988 "0c3z1mvynlyv1garjbdmdd3npm40dabgm75js4r07cf766c1wd71"))))
6989 (build-system haskell-build-system)
6990 (inputs
6991 `(("ghc-transformers-compat" ,ghc-transformers-compat)
6992 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
6993 (native-inputs
6994 `(("ghc-quickcheck" ,ghc-quickcheck)))
6995 (home-page "https://github.com/pcapriotti/optparse-applicative")
6996 (synopsis "Utilities and combinators for parsing command line options")
6997 (description "This package provides utilities and combinators for parsing
6998command line options in Haskell.")
6999 (license license:bsd-3)))
7000
7001(define-public ghc-pandoc
7002 (package
7003 (name "ghc-pandoc")
7004 (version "2.2.1")
7005 (source
7006 (origin
7007 (method url-fetch)
7008 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7009 version ".tar.gz"))
7010 (sha256
7011 (base32
7012 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
7013 (build-system haskell-build-system)
7014 (arguments
7015 `(#:phases
7016 (modify-phases %standard-phases
7017 (add-before 'configure 'update-constraints
7018 (lambda _
7019 (substitute* "pandoc.cabal"
7020 (("tasty >= 0\\.11 && < 1\\.1")
7021 "tasty >= 0.11 && < 1.1.1"))))
7022 (add-before 'configure 'patch-tests
7023 (lambda _
7024 ;; These tests fail benignly and have been adjusted upstream:
7025 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
7026 (substitute* "test/Tests/Old.hs"
7027 (("lhsWriterTests \"html\"") "[]")))))))
7028 (inputs
7029 `(("ghc-aeson" ,ghc-aeson)
7030 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7031 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7032 ("ghc-blaze-html" ,ghc-blaze-html)
7033 ("ghc-blaze-markup" ,ghc-blaze-markup)
7034 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7035 ("ghc-data-default" ,ghc-data-default)
7036 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7037 ("ghc-diff" ,ghc-diff)
7038 ("ghc-doctemplates" ,ghc-doctemplates)
7039 ("ghc-executable-path" ,ghc-executable-path)
7040 ("ghc-glob" ,ghc-glob)
7041 ("ghc-haddock-library" ,ghc-haddock-library)
7042 ("ghc-hslua" ,ghc-hslua)
7043 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7044 ("ghc-http" ,ghc-http)
7045 ("ghc-http-client" ,ghc-http-client)
7046 ("ghc-http-client-tls" ,ghc-http-client-tls)
7047 ("ghc-http-types" ,ghc-http-types)
7048 ("ghc-juicypixels" ,ghc-juicypixels)
7049 ("ghc-network" ,ghc-network)
7050 ("ghc-network-uri" ,ghc-network-uri)
7051 ("ghc-old-locale" ,ghc-old-locale)
7052 ("ghc-pandoc-types" ,ghc-pandoc-types)
7053 ("ghc-random" ,ghc-random)
7054 ("ghc-scientific" ,ghc-scientific)
7055 ("ghc-sha" ,ghc-sha)
7056 ("ghc-skylighting" ,ghc-skylighting)
7057 ("ghc-split" ,ghc-split)
7058 ("ghc-syb" ,ghc-syb)
7059 ("ghc-tagsoup" ,ghc-tagsoup)
7060 ("ghc-temporary" ,ghc-temporary)
7061 ("ghc-texmath" ,ghc-texmath)
7062 ("ghc-unordered-containers" ,ghc-unordered-containers)
7063 ("ghc-vector" ,ghc-vector)
7064 ("ghc-xml" ,ghc-xml)
7065 ("ghc-yaml" ,ghc-yaml)
7066 ("ghc-zip-archive" ,ghc-zip-archive)
7067 ("ghc-zlib" ,ghc-zlib)))
7068 (native-inputs
7069 `(("ghc-tasty" ,ghc-tasty)
7070 ("ghc-tasty-golden" ,ghc-tasty-golden)
7071 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7072 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7073 ("ghc-quickcheck" ,ghc-quickcheck)
7074 ("ghc-hunit" ,ghc-hunit)))
7075 (home-page "https://pandoc.org")
7076 (synopsis "Conversion between markup formats")
7077 (description
7078 "Pandoc is a Haskell library for converting from one markup format to
7079another, and a command-line tool that uses this library. It can read and
7080write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7081LaTeX, DocBook, and many more.
7082
7083Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7084definition lists, tables, and other features. A compatibility mode is
7085provided for those who need a drop-in replacement for Markdown.pl.")
7086 (license license:gpl2+)))
7087
7088(define-public ghc-pandoc-citeproc
7089 (package
7090 (name "ghc-pandoc-citeproc")
7091 (version "0.14.3.1")
7092 (source
7093 (origin
7094 (method url-fetch)
7095 (uri (string-append "https://hackage.haskell.org/package/"
7096 "pandoc-citeproc/pandoc-citeproc-"
7097 version ".tar.gz"))
7098 (sha256
7099 (base32
7100 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7101 (build-system haskell-build-system)
7102 (arguments
7103 `(#:phases
7104 (modify-phases %standard-phases
7105 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7106 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7107 (add-before 'configure 'patch-tests
7108 (lambda _
7109 (substitute* "tests/test-pandoc-citeproc.hs"
7110 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7111 "let allTests = citeprocTests"))))
7112 ;; Tests need to be run after installation.
7113 (delete 'check)
7114 (add-after 'install 'post-install-check
7115 (assoc-ref %standard-phases 'check)))))
7116 (inputs
7117 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7118 ("ghc-pandoc" ,ghc-pandoc)
7119 ("ghc-tagsoup" ,ghc-tagsoup)
7120 ("ghc-aeson" ,ghc-aeson)
7121 ("ghc-vector" ,ghc-vector)
7122 ("ghc-xml-conduit" ,ghc-xml-conduit)
7123 ("ghc-unordered-containers" ,ghc-unordered-containers)
7124 ("ghc-data-default" ,ghc-data-default)
7125 ("ghc-setenv" ,ghc-setenv)
7126 ("ghc-split" ,ghc-split)
7127 ("ghc-yaml" ,ghc-yaml)
7128 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7129 ("ghc-rfc5051" ,ghc-rfc5051)
7130 ("ghc-syb" ,ghc-syb)
7131 ("ghc-old-locale" ,ghc-old-locale)
7132 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7133 ("ghc-attoparsec" ,ghc-attoparsec)
7134 ("ghc-temporary" ,ghc-temporary)))
7135 (home-page "https://github.com/jgm/pandoc-citeproc")
7136 (synopsis "Library for using pandoc with citeproc")
7137 (description
7138 "The @code{pandoc-citeproc} library exports functions for using the
7139citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7140rendering bibliographic reference citations into a variety of styles using a
7141macro language called @dfn{Citation Style Language} (CSL). This package also
7142contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7143and also has a mode for converting bibliographic databases a YAML format
7144suitable for inclusion in pandoc YAML metadata.")
7145 (license license:bsd-3)))
7146
7147(define-public ghc-pandoc-types
7148 (package
7149 (name "ghc-pandoc-types")
7150 (version "1.17.5.1")
7151 (source (origin
7152 (method url-fetch)
7153 (uri (string-append "https://hackage.haskell.org/package/"
7154 "pandoc-types/pandoc-types-"
7155 version ".tar.gz"))
7156 (sha256
7157 (base32
7158 "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
7159 (build-system haskell-build-system)
7160 (inputs
7161 `(("ghc-syb" ,ghc-syb)
7162 ("ghc-aeson" ,ghc-aeson)
7163 ("ghc-string-qq" ,ghc-string-qq)))
7164 (native-inputs
7165 `(("ghc-quickcheck" ,ghc-quickcheck)
7166 ("ghc-test-framework" ,ghc-test-framework)
7167 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7168 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7169 ("ghc-hunit" ,ghc-hunit)))
7170 (home-page "http://johnmacfarlane.net/pandoc")
7171 (synopsis "Types for representing a structured document")
7172 (description
7173 "This module defines the @code{Pandoc} data structure, which is used by
7174pandoc to represent structured documents. It also provides functions for
7175building up, manipulating and serialising @code{Pandoc} structures.")
7176 (license license:bsd-3)))
7177
7178(define-public ghc-parallel
7179 (package
7180 (name "ghc-parallel")
7181 (version "3.2.2.0")
7182 (outputs '("out" "doc"))
7183 (source
7184 (origin
7185 (method url-fetch)
7186 (uri (string-append
7187 "https://hackage.haskell.org/package/parallel/parallel-"
7188 version
7189 ".tar.gz"))
7190 (sha256
7191 (base32
7192 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7193 (build-system haskell-build-system)
7194 (home-page "https://hackage.haskell.org/package/parallel")
7195 (synopsis "Parallel programming library")
7196 (description
7197 "This package provides a library for parallel programming.")
7198 (license license:bsd-3)))
7199
7200(define-public ghc-parsec-numbers
7201 (package
7202 (name "ghc-parsec-numbers")
7203 (version "0.1.0")
7204 (source
7205 (origin
7206 (method url-fetch)
7207 (uri (string-append "https://hackage.haskell.org/package/"
7208 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7209 (sha256
7210 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7211 (build-system haskell-build-system)
7212 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7213 (synopsis "Utilities for parsing numbers from strings")
7214 (description
7215 "This package provides the number parsers without the need to use a large
7216(and unportable) token parser.")
7217 (license license:bsd-3)))
7218
7219(define-public ghc-parser-combinators
7220 (package
7221 (name "ghc-parser-combinators")
7222 (version "1.0.0")
7223 (source
7224 (origin
7225 (method url-fetch)
7226 (uri (string-append "https://hackage.haskell.org/package/"
7227 "parser-combinators/parser-combinators-"
7228 version ".tar.gz"))
7229 (sha256
7230 (base32
7231 "1pwfdsklqwvaynwpdzmx1bs35mp6dpsyaqdnzxnqcrxwf5h8sk75"))))
7232 (build-system haskell-build-system)
7233 (home-page "https://github.com/mrkkrp/parser-combinators")
7234 (synopsis "Commonly useful parser combinators")
7235 (description
7236 "This is a lightweight package providing commonly useful parser
7237combinators.")
7238 (license license:bsd-3)))
7239
7240(define-public ghc-parsers
7241 (package
7242 (name "ghc-parsers")
7243 (version "0.12.9")
7244 (source
7245 (origin
7246 (method url-fetch)
7247 (uri (string-append
7248 "https://hackage.haskell.org/package/parsers/parsers-"
7249 version
7250 ".tar.gz"))
7251 (sha256
7252 (base32
7253 "1r05sc1mcglk8w596kq9a1brfn9c2vll8lq16j07ln0vsz4jzrc1"))))
7254 (build-system haskell-build-system)
7255 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7256 ; -package attoparsec-0.13.0.1"
7257 (inputs
7258 `(("ghc-base-orphans" ,ghc-base-orphans)
7259 ("ghc-attoparsec" ,ghc-attoparsec)
7260 ("ghc-scientific" ,ghc-scientific)
7261 ("ghc-charset" ,ghc-charset)
7262 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7263 (home-page "https://github.com/ekmett/parsers/")
7264 (synopsis "Parsing combinators")
7265 (description "This library provides convenient combinators for working
7266with and building parsing combinator libraries. Given a few simple instances,
7267you get access to a large number of canned definitions. Instances exist for
7268the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7269@code{Text.Read}.")
7270 (license license:bsd-3)))
7271
7272(define-public ghc-path
7273 (package
7274 (name "ghc-path")
7275 (version "0.6.1")
7276 (source
7277 (origin
7278 (method url-fetch)
7279 (uri (string-append
7280 "https://hackage.haskell.org/package/path/path-"
7281 version
7282 ".tar.gz"))
7283 (sha256
7284 (base32
7285 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7286 (build-system haskell-build-system)
7287 (arguments
7288 ;; TODO: There are some Windows-related tests and modules that need to be
7289 ;; danced around.
7290 `(#:tests? #f
7291 #:cabal-revision
7292 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7293 (inputs
7294 `(("ghc-aeson" ,ghc-aeson)
7295 ("ghc-exceptions" ,ghc-exceptions)
7296 ("ghc-hashable" ,ghc-hashable)))
7297 (native-inputs
7298 `(("ghc-hspec" ,ghc-hspec)
7299 ("ghc-quickcheck" ,ghc-quickcheck)
7300 ("ghc-genvalidity" ,ghc-genvalidity)
7301 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7302 ("ghc-hspec" ,ghc-hspec)
7303 ("ghc-validity" ,ghc-validity)))
7304 (home-page
7305 "http://hackage.haskell.org/package/path")
7306 (synopsis "Support for well-typed paths")
7307 (description "This package introduces a type for paths upholding useful
7308invariants.")
7309 (license license:bsd-3)))
7310
7311(define-public ghc-path-io
7312 (package
7313 (name "ghc-path-io")
7314 (version "1.3.3")
7315 (source
7316 (origin
7317 (method url-fetch)
7318 (uri (string-append
7319 "https://hackage.haskell.org/package/path-io/path-io-"
7320 version
7321 ".tar.gz"))
7322 (sha256
7323 (base32
7324 "1g9m3qliqjk1img894wsb89diym5zrq51qkkrwhz4sbm9a8hbv1a"))))
7325 (build-system haskell-build-system)
7326 (inputs
7327 `(("ghc-dlist" ,ghc-dlist)
7328 ("ghc-exceptions" ,ghc-exceptions)
7329 ("ghc-path" ,ghc-path)
7330 ("ghc-transformers-base" ,ghc-transformers-base)
7331 ("ghc-unix-compat" ,ghc-unix-compat)
7332 ("ghc-temporary" ,ghc-temporary)))
7333 (native-inputs
7334 `(("ghc-hspec" ,ghc-hspec)))
7335 (arguments
7336 `(#:cabal-revision
7337 ("3" "1h9hsibbflkxpjl2fqamqiv3x3gasf51apnmklrs9l9x8r32hzcc")))
7338 (home-page
7339 "https://github.com/mrkkrp/path-io")
7340 (synopsis "Functions for manipulating well-typed paths")
7341 (description "This package provides an interface to the @code{directory}
7342package for users of @code{path}. It also implements some missing stuff like
7343recursive scanning and copying of directories, working with temporary
7344files/directories, and more.")
7345 (license license:bsd-3)))
7346
7347(define-public ghc-paths
7348 (package
7349 (name "ghc-paths")
7350 (version "0.1.0.9")
7351 (outputs '("out" "doc"))
7352 (source
7353 (origin
7354 (method url-fetch)
7355 (uri (string-append
7356 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7357 version
7358 ".tar.gz"))
7359 (sha256
7360 (base32
7361 "0ibrr1dxa35xx20cpp8jzgfak1rdmy344dfwq4vlq013c6w8z9mg"))))
7362 (build-system haskell-build-system)
7363 (home-page "https://github.com/simonmar/ghc-paths")
7364 (synopsis
7365 "Knowledge of GHC's installation directories")
7366 (description
7367 "Knowledge of GHC's installation directories.")
7368 (license license:bsd-3)))
7369
7370(define-public ghc-patience
7371 (package
7372 (name "ghc-patience")
7373 (version "0.1.1")
7374 (source
7375 (origin
7376 (method url-fetch)
7377 (uri (string-append
7378 "https://hackage.haskell.org/package/patience/patience-"
7379 version ".tar.gz"))
7380 (sha256
7381 (base32
7382 "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"))))
7383 (build-system haskell-build-system)
7384 (home-page "https://hackage.haskell.org/package/patience")
7385 (synopsis "Patience diff and longest increasing subsequence")
7386 (description
7387 "This library implements the 'patience diff' algorithm, as well as the
7388patience algorithm for the longest increasing subsequence problem.
7389Patience diff computes the difference between two lists, for example the lines
7390of two versions of a source file. It provides a good balance between
7391performance, nice output for humans, and simplicity of implementation.")
7392 (license license:bsd-3)))
7393
7394(define-public ghc-pcre-light
7395 (package
7396 (name "ghc-pcre-light")
7397 (version "0.4.0.4")
7398 (source
7399 (origin
7400 (method url-fetch)
7401 (uri (string-append
7402 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7403 version
7404 ".tar.gz"))
7405 (sha256
7406 (base32
7407 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7408 (build-system haskell-build-system)
7409 (inputs
7410 `(("pcre" ,pcre)))
7411 (native-inputs
7412 `(("pkg-config" ,pkg-config)))
7413 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7414 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7415 (description "This package provides a small, efficient, and portable regex
7416library for Perl 5 compatible regular expressions. The PCRE library is a set
7417of functions that implement regular expression pattern matching using the same
7418syntax and semantics as Perl 5.")
7419 (license license:bsd-3)))
7420
7421(define-public ghc-persistent
7422 (package
7423 (name "ghc-persistent")
7424 (version "2.8.2")
7425 (source
7426 (origin
7427 (method url-fetch)
7428 (uri (string-append "https://hackage.haskell.org/package/"
7429 "persistent-" version "/"
7430 "persistent-" version ".tar.gz"))
7431 (sha256
7432 (base32
7433 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
7434 (build-system haskell-build-system)
7435 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7436 ("ghc-conduit" ,ghc-conduit)
7437 ("ghc-resourcet" ,ghc-resourcet)
7438 ("ghc-exceptions" ,ghc-exceptions)
7439 ("ghc-monad-control" ,ghc-monad-control)
7440 ("ghc-lifted-base" ,ghc-lifted-base)
7441 ("ghc-resource-pool" ,ghc-resource-pool)
7442 ("ghc-path-pieces" ,ghc-path-pieces)
7443 ("ghc-http-api-data" ,ghc-http-api-data)
7444 ("ghc-aeson" ,ghc-aeson)
7445 ("ghc-monad-logger" ,ghc-monad-logger)
7446 ("ghc-transformers-base" ,ghc-transformers-base)
7447 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7448 ("ghc-unordered-containers" ,ghc-unordered-containers)
7449 ("ghc-vector" ,ghc-vector)
7450 ("ghc-attoparsec" ,ghc-attoparsec)
7451 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7452 ("ghc-blaze-html" ,ghc-blaze-html)
7453 ("ghc-blaze-markup" ,ghc-blaze-markup)
7454 ("ghc-silently" ,ghc-silently)
7455 ("ghc-fast-logger" ,ghc-fast-logger)
7456 ("ghc-scientific" ,ghc-scientific)
7457 ("ghc-tagged" ,ghc-tagged)
7458 ("ghc-void" ,ghc-void)))
7459 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7460 (home-page "https://www.yesodweb.com/book/persistent")
7461 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7462 (description "This Haskell package allows Haskell programs to access data
7463storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7464way.")
7465 (license license:expat)))
7466
7467(define-public ghc-persistent-sqlite
7468 (package
7469 (name "ghc-persistent-sqlite")
7470 (version "2.8.2")
7471 (source
7472 (origin
7473 (method url-fetch)
7474 (uri (string-append "https://hackage.haskell.org/package/"
7475 "persistent-sqlite-" version "/"
7476 "persistent-sqlite-" version ".tar.gz"))
7477 (sha256
7478 (base32
7479 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7480 (build-system haskell-build-system)
7481 (inputs `(("ghc-persistent" ,ghc-persistent)
7482 ("ghc-unliftio-core" ,ghc-unliftio-core)
7483 ("ghc-aeson" ,ghc-aeson)
7484 ("ghc-conduit" ,ghc-conduit)
7485 ("ghc-monad-logger" ,ghc-monad-logger)
7486 ("ghc-microlens-th" ,ghc-microlens-th)
7487 ("ghc-resourcet" ,ghc-resourcet)
7488 ("ghc-old-locale" ,ghc-old-locale)
7489 ("ghc-resource-pool" ,ghc-resource-pool)
7490 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7491 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7492 ("ghc-persistent-template" ,ghc-persistent-template)
7493 ("ghc-temporary" ,ghc-temporary)))
7494 (home-page
7495 "https://www.yesodweb.com/book/persistent")
7496 (synopsis "Backend for the persistent library using sqlite3")
7497 (description "This Haskell package includes a thin sqlite3 wrapper based
7498on the direct-sqlite package, as well as the entire C library, so there are no
7499system dependencies.")
7500 (license license:expat)))
7501
7502(define-public ghc-persistent-template
7503 (package
7504 (name "ghc-persistent-template")
7505 (version "2.5.4")
7506 (source
7507 (origin
7508 (method url-fetch)
7509 (uri (string-append "https://hackage.haskell.org/package/"
7510 "persistent-template-" version "/"
7511 "persistent-template-" version ".tar.gz"))
7512 (sha256
7513 (base32
7514 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7515 (build-system haskell-build-system)
7516 (arguments
7517 `(#:cabal-revision
7518 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7519 (inputs `(("ghc-persistent" ,ghc-persistent)
7520 ("ghc-monad-control" ,ghc-monad-control)
7521 ("ghc-aeson" ,ghc-aeson)
7522 ("ghc-aeson-compat" ,ghc-aeson-compat)
7523 ("ghc-monad-logger" ,ghc-monad-logger)
7524 ("ghc-unordered-containers" ,ghc-unordered-containers)
7525 ("ghc-tagged" ,ghc-tagged)
7526 ("ghc-path-pieces" ,ghc-path-pieces)
7527 ("ghc-http-api-data" ,ghc-http-api-data)))
7528 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7529 ("ghc-quickcheck" ,ghc-quickcheck)))
7530 (home-page "https://www.yesodweb.com/book/persistent")
7531 (synopsis "Type-safe, non-relational, multi-backend persistence")
7532 (description "This Haskell package provides interfaces and helper
7533functions for the ghc-persistent package.")
7534 (license license:expat)))
7535
7536(define-public ghc-polyparse
7537 (package
7538 (name "ghc-polyparse")
7539 (version "1.12")
7540 (source
7541 (origin
7542 (method url-fetch)
7543 (uri (string-append
7544 "https://hackage.haskell.org/package/polyparse/polyparse-"
7545 version
7546 ".tar.gz"))
7547 (sha256
7548 (base32
7549 "05dya1vdvq29hkhkdlsglzhw7bdn51rvs1javs0q75nf99c66k7m"))))
7550 (build-system haskell-build-system)
7551 (home-page
7552 "http://code.haskell.org/~malcolm/polyparse/")
7553 (synopsis
7554 "Alternative parser combinator libraries")
7555 (description
7556 "This package provides a variety of alternative parser combinator
7557libraries, including the original HuttonMeijer set. The Poly sets have
7558features like good error reporting, arbitrary token type, running state, lazy
7559parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7560standard Read class, for better deserialisation of Haskell values from
7561Strings.")
7562 (license license:lgpl2.1)))
7563
7564(define-public ghc-pqueue
7565 (package
7566 (name "ghc-pqueue")
7567 (version "1.4.1.1")
7568 (source
7569 (origin
7570 (method url-fetch)
7571 (uri (string-append "https://hackage.haskell.org/package/"
7572 "pqueue/pqueue-" version ".tar.gz"))
7573 (sha256
7574 (base32
7575 "1zvwm1zcqqq5n101s1brjhgbay8rf9fviq6gxbplf40i63m57p1x"))))
7576 (build-system haskell-build-system)
7577 (native-inputs
7578 `(("ghc-quickcheck" ,ghc-quickcheck)))
7579 (home-page "https://hackage.haskell.org/package/pqueue")
7580 (synopsis "Reliable, persistent, fast priority queues")
7581 (description
7582 "This package provides a fast, reliable priority queue implementation
7583based on a binomial heap.")
7584 (license license:bsd-3)))
7585
7586(define-public ghc-prelude-extras
7587 (package
7588 (name "ghc-prelude-extras")
7589 (version "0.4.0.3")
7590 (source
7591 (origin
7592 (method url-fetch)
7593 (uri (string-append
7594 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7595 version
7596 ".tar.gz"))
7597 (sha256
7598 (base32
7599 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7600 (build-system haskell-build-system)
7601 (home-page "https://github.com/ekmett/prelude-extras")
7602 (synopsis "Higher order versions of Prelude classes")
7603 (description "This library provides higher order versions of
7604@code{Prelude} classes to ease programming with polymorphic recursion and
7605reduce @code{UndecidableInstances}.")
7606 (license license:bsd-3)))
7607
7608(define-public ghc-prettyclass
7609 (package
7610 (name "ghc-prettyclass")
7611 (version "1.0.0.0")
7612 (source
7613 (origin
7614 (method url-fetch)
7615 (uri (string-append "https://hackage.haskell.org/package/"
7616 "prettyclass/prettyclass-" version ".tar.gz"))
7617 (sha256
7618 (base32
7619 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7620 (build-system haskell-build-system)
7621 (home-page "http://hackage.haskell.org/package/prettyclass")
7622 (synopsis "Pretty printing class similar to Show")
7623 (description "This package provides a pretty printing class similar
7624to @code{Show}, based on the HughesPJ pretty printing library. It
7625provides the pretty printing class and instances for the Prelude
7626types.")
7627 (license license:bsd-3)))
7628
7629(define-public ghc-pretty-hex
7630 (package
7631 (name "ghc-pretty-hex")
7632 (version "1.0")
7633 (source
7634 (origin
7635 (method url-fetch)
7636 (uri (string-append "https://hackage.haskell.org/package/"
7637 "pretty-hex-" version "/"
7638 "pretty-hex-" version ".tar.gz"))
7639 (sha256
7640 (base32
7641 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7642 (build-system haskell-build-system)
7643 (home-page "https://github.com/GaloisInc/hexdump")
7644 (synopsis "Haskell library for hex dumps of ByteStrings")
7645 (description "This Haskell library generates pretty hex dumps of
7646ByteStrings in the style of other common *nix hex dump tools.")
7647 (license license:bsd-3)))
7648
7649(define-public ghc-pretty-show
7650 (package
7651 (name "ghc-pretty-show")
7652 (version "1.7")
7653 (source
7654 (origin
7655 (method url-fetch)
7656 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
7657 "pretty-show-" version ".tar.gz"))
7658 (sha256
7659 (base32
7660 "0br7pkxqqqhby2j2v1g847lgqsrasx56g1jw3dhmjh4flzs6warq"))))
7661 (build-system haskell-build-system)
7662 (inputs
7663 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
7664 ("ghc-happy" ,ghc-happy)))
7665 (home-page "http://wiki.github.com/yav/pretty-show")
7666 (synopsis "Tools for working with derived `Show` instances")
7667 (description
7668 "This package provides a library and an executable for working with
7669derived @code{Show} instances. By using the library, derived @code{Show}
7670instances can be parsed into a generic data structure. The @code{ppsh} tool
7671uses the library to produce human-readable versions of @code{Show} instances,
7672which can be quite handy for debugging Haskell programs. We can also render
7673complex generic values into an interactive Html page, for easier
7674examination.")
7675 (license license:expat)))
7676
7677(define-public ghc-primitive
7678 (package
7679 (name "ghc-primitive")
7680 (version "0.6.4.0")
7681 (outputs '("out" "doc"))
7682 (source
7683 (origin
7684 (method url-fetch)
7685 (uri (string-append
7686 "https://hackage.haskell.org/package/primitive/primitive-"
7687 version
7688 ".tar.gz"))
7689 (sha256
7690 (base32
7691 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
7692 (build-system haskell-build-system)
7693 (home-page
7694 "https://github.com/haskell/primitive")
7695 (synopsis "Primitive memory-related operations")
7696 (description
7697 "This package provides various primitive memory-related operations.")
7698 (license license:bsd-3)))
7699
7700(define-public ghc-profunctors
7701 (package
7702 (name "ghc-profunctors")
7703 (version "5.2.2")
7704 (source
7705 (origin
7706 (method url-fetch)
7707 (uri (string-append
7708 "https://hackage.haskell.org/package/profunctors/profunctors-"
7709 version
7710 ".tar.gz"))
7711 (sha256
7712 (base32
7713 "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9"))))
7714 (build-system haskell-build-system)
7715 (arguments
7716 `(#:cabal-revision
7717 ("2" "1ywlg9z8nlhd2avgb8c6gbkv8zyk7hvc25926bafyg0m0k8y1amq")))
7718 (inputs
7719 `(("ghc-base-orphans" ,ghc-base-orphans)
7720 ("ghc-bifunctors" ,ghc-bifunctors)
7721 ("ghc-comonad" ,ghc-comonad)
7722 ("ghc-contravariant" ,ghc-contravariant)
7723 ("ghc-distributive" ,ghc-distributive)
7724 ("ghc-semigroups" ,ghc-semigroups)
7725 ("ghc-tagged" ,ghc-tagged)))
7726 (home-page "https://github.com/ekmett/profunctors/")
7727 (synopsis "Profunctors for Haskell")
7728 (description "This library provides profunctors for Haskell.")
7729 (license license:bsd-3)))
7730
7731(define-public ghc-psqueues
7732 (package
7733 (name "ghc-psqueues")
7734 (version "0.2.7.0")
7735 (source
7736 (origin
7737 (method url-fetch)
7738 (uri (string-append "https://hackage.haskell.org/package/"
7739 "psqueues-" version "/"
7740 "psqueues-" version ".tar.gz"))
7741 (sha256
7742 (base32
7743 "1sjgc9bxh63kkdp59nbirx3xazr02ia5yhp4f4a0jnq1hj465wsc"))))
7744 (build-system haskell-build-system)
7745 (inputs
7746 `(("ghc-hashable" ,ghc-hashable)))
7747 (native-inputs
7748 `(("ghc-hunit" ,ghc-hunit)
7749 ("ghc-quickcheck" ,ghc-quickcheck)
7750 ("ghc-tagged" ,ghc-tagged)
7751 ("ghc-test-framework" ,ghc-test-framework)
7752 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7753 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7754 (home-page "https://github.com/jaspervdj/psqueues")
7755 (synopsis "Pure priority search queues")
7756 (description "The psqueues package provides
7757@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
7758three different flavors:
7759
7760@itemize
7761@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
7762fast insertion, deletion and lookup. This implementation is based on Ralf
7763Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
7764Implementation Technique for Priority Search Queues}.
7765
7766Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
7767PSQueue} library, although it is considerably faster and provides a slightly
7768different API.
7769
7770@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
7771key type to @code{Int} and uses a
7772@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
7773with an additional min-heap property.
7774
7775@item @code{HashPSQ k p v} is a fairly straightforward extension
7776of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
7777@code{IntPSQ}. If there are any hash collisions, it uses an
7778@code{OrdPSQ} to resolve those. The performance of this implementation
7779is comparable to that of @code{IntPSQ}, but it is more widely
7780applicable since the keys are not restricted to @code{Int},
7781but rather to any @code{Hashable} datatype.
7782@end itemize
7783
7784Each of the three implementations provides the same API, so they can
7785be used interchangeably.
7786
7787Typical applications of Priority Search Queues include:
7788
7789@itemize
7790@item Caches, and more specifically LRU Caches;
7791@item Schedulers;
7792@item Pathfinding algorithms, such as Dijkstra's and A*.
7793@end itemize")
7794 (license license:bsd-3)))
7795
7796(define-public ghc-random
7797 (package
7798 (name "ghc-random")
7799 (version "1.1")
7800 (outputs '("out" "doc"))
7801 (source
7802 (origin
7803 (method url-fetch)
7804 (uri (string-append
7805 "https://hackage.haskell.org/package/random/random-"
7806 version
7807 ".tar.gz"))
7808 (sha256
7809 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
7810 (build-system haskell-build-system)
7811 (home-page "https://hackage.haskell.org/package/random")
7812 (synopsis "Random number library")
7813 (description "This package provides a basic random number generation
7814library, including the ability to split random number generators.")
7815 (license license:bsd-3)))
7816
7817(define-public ghc-raw-strings-qq
7818 (package
7819 (name "ghc-raw-strings-qq")
7820 (version "1.1")
7821 (source
7822 (origin
7823 (method url-fetch)
7824 (uri (string-append "https://hackage.haskell.org/package/"
7825 "raw-strings-qq/raw-strings-qq-"
7826 version ".tar.gz"))
7827 (sha256
7828 (base32
7829 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
7830 (build-system haskell-build-system)
7831 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
7832 (home-page "https://github.com/23Skidoo/raw-strings-qq")
7833 (synopsis "Raw string literals for Haskell")
7834 (description
7835 "This package provides a quasiquoter for raw string literals, i.e. string
7836literals that don't recognise the standard escape sequences. Basically, they
7837make your code more readable by freeing you from the responsibility to escape
7838backslashes. They are useful when working with regular expressions,
7839DOS/Windows paths and markup languages (such as XML).")
7840 (license license:bsd-3)))
7841
7842(define-public ghc-readable
7843 (package
7844 (name "ghc-readable")
7845 (version "0.3.1")
7846 (source
7847 (origin
7848 (method url-fetch)
7849 (uri (string-append "https://hackage.haskell.org/package/"
7850 "readable/readable-" version ".tar.gz"))
7851 (sha256
7852 (base32
7853 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
7854 (build-system haskell-build-system)
7855 (home-page "https://github.com/mightybyte/readable")
7856 (synopsis "Type class for reading from Text and ByteString")
7857 (description "This package provides a @code{Readable} type class for
7858reading data types from @code{ByteString} and @code{Text}. It also
7859includes efficient implementations for common data types.")
7860 (license license:bsd-3)))
7861
7862(define-public ghc-rebase
7863 (package
7864 (name "ghc-rebase")
7865 (version "1.2.4")
7866 (source
7867 (origin
7868 (method url-fetch)
7869 (uri (string-append "https://hackage.haskell.org/package/"
7870 "rebase-" version "/"
7871 "rebase-" version ".tar.gz"))
7872 (sha256
7873 (base32
7874 "1gah2qwfpzwamnikbc5h4nv6dgvv9h16di9ka7946za3nibyasya"))))
7875 (build-system haskell-build-system)
7876 (inputs `(("ghc-hashable" ,ghc-hashable)
7877 ("ghc-vector" ,ghc-vector)
7878 ("ghc-unordered-containers" ,ghc-unordered-containers)
7879 ("ghc-scientific" ,ghc-scientific)
7880 ("ghc-uuid" ,ghc-uuid)
7881 ("ghc-dlist" ,ghc-dlist)
7882 ("ghc-void" ,ghc-void)
7883 ("ghc-bifunctors" ,ghc-bifunctors)
7884 ("ghc-profunctors" ,ghc-profunctors)
7885 ("ghc-contravariant" ,ghc-contravariant)
7886 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
7887 ("ghc-semigroups" ,ghc-semigroups)
7888 ("ghc-either" ,ghc-either)
7889 ("ghc-fail" ,ghc-fail)
7890 ("ghc-base-prelude" ,ghc-base-prelude)))
7891 (home-page "https://github.com/nikita-volkov/rebase")
7892 (synopsis "Progressive alternative to the base package
7893for Haskell")
7894 (description "This Haskell package is intended for those who are
7895tired of keeping long lists of dependencies to the same essential libraries
7896in each package as well as the endless imports of the same APIs all over again.
7897
7898It also supports the modern tendencies in the language.
7899
7900To solve those problems this package does the following:
7901
7902@itemize
7903@item Reexport the original APIs under the @code{Rebase} namespace.
7904
7905@item Export all the possible non-conflicting symbols from the
7906@code{Rebase.Prelude} module.
7907
7908@item Give priority to the modern practices in the conflicting cases.
7909@end itemize
7910
7911The policy behind the package is only to reexport the non-ambiguous and
7912non-controversial APIs, which the community has obviously settled on.
7913The package is intended to rapidly evolve with the contribution from
7914the community, with the missing features being added with pull-requests.")
7915 (license license:expat)))
7916
7917(define-public ghc-reducers
7918 (package
7919 (name "ghc-reducers")
7920 (version "3.12.3")
7921 (source
7922 (origin
7923 (method url-fetch)
7924 (uri (string-append
7925 "https://hackage.haskell.org/package/reducers/reducers-"
7926 version
7927 ".tar.gz"))
7928 (sha256
7929 (base32
7930 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
7931 (build-system haskell-build-system)
7932 (inputs
7933 `(("ghc-fingertree" ,ghc-fingertree)
7934 ("ghc-hashable" ,ghc-hashable)
7935 ("ghc-unordered-containers" ,ghc-unordered-containers)
7936 ("ghc-semigroupoids" ,ghc-semigroupoids)
7937 ("ghc-semigroups" ,ghc-semigroups)))
7938 (home-page "https://github.com/ekmett/reducers/")
7939 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
7940 (description "This library provides various semigroups, specialized
7941containers and a general map/reduce framework for Haskell.")
7942 (license license:bsd-3)))
7943
7944(define-public ghc-refact
7945 (package
7946 (name "ghc-refact")
7947 (version "0.3.0.2")
7948 (source
7949 (origin
7950 (method url-fetch)
7951 (uri (string-append "https://hackage.haskell.org/package/"
7952 "refact/refact-"
7953 version ".tar.gz"))
7954 (sha256
7955 (base32
7956 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
7957 (build-system haskell-build-system)
7958 (home-page "http://hackage.haskell.org/package/refact")
7959 (synopsis "Specify refactorings to perform with apply-refact")
7960 (description
7961 "This library provides a datatype which can be interpreted by
7962@code{apply-refact}. It exists as a separate library so that applications can
7963specify refactorings without depending on GHC.")
7964 (license license:bsd-3)))
7965
7966(define-public ghc-reflection
7967 (package
7968 (name "ghc-reflection")
7969 (version "2.1.4")
7970 (source
7971 (origin
7972 (method url-fetch)
7973 (uri (string-append
7974 "https://hackage.haskell.org/package/reflection/reflection-"
7975 version
7976 ".tar.gz"))
7977 (sha256
7978 (base32
7979 "0kf4a5ijw6jfnfibjcrpdy9vzh1n6v2pxia8dhyyqdissiwc8bzj"))))
7980 (build-system haskell-build-system)
7981 (inputs `(("ghc-tagged" ,ghc-tagged)))
7982 (home-page "https://github.com/ekmett/reflection")
7983 (synopsis "Reify arbitrary terms into types that can be reflected back
7984into terms")
7985 (description "This package addresses the 'configuration problem' which is
7986propagating configurations that are available at run-time, allowing multiple
7987configurations to coexist without resorting to mutable global variables or
7988@code{System.IO.Unsafe.unsafePerformIO}.")
7989 (license license:bsd-3)))
7990
7991(define-public ghc-regex
7992 (package
7993 (name "ghc-regex")
7994 (version "1.0.1.3")
7995 (source
7996 (origin
7997 (method url-fetch)
7998 (uri (string-append "https://hackage.haskell.org/package/regex/"
7999 "regex-" version ".tar.gz"))
8000 (sha256
8001 (base32
8002 "1sjkpkgv4phy5b5v2lr89x4vx4dh44pj0sbvlsp6n86w9v6v4jwb"))))
8003 (build-system haskell-build-system)
8004 (arguments
8005 `(#:phases
8006 (modify-phases %standard-phases
8007 (add-after 'unpack 'relax-dependencies
8008 (lambda _
8009 (substitute* "regex.cabal"
8010 (("base-compat.*>=.*0.6.*")
8011 "base-compat >= 0.6\n")
8012 (("template-haskell.*>=.*2.7.*")
8013 "template-haskell >= 2.7\n"))
8014 #t)))))
8015 (inputs
8016 `(("ghc-base-compat" ,ghc-base-compat)
8017 ("ghc-hashable" ,ghc-hashable)
8018 ("ghc-regex-base" ,ghc-regex-base)
8019 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8020 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8021 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8022 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8023 ("ghc-unordered-containers" ,ghc-unordered-containers)
8024 ("ghc-utf8-string" ,ghc-utf8-string)))
8025 (home-page "http://regex.uk")
8026 (synopsis "Toolkit for regex-base")
8027 (description
8028 "This package provides a regular expression toolkit for @code{regex-base}
8029with compile-time checking of regular expression syntax, data types for
8030matches and captures, a text replacement toolkit, portable options, high-level
8031AWK-like tools for building text processing apps, regular expression macros
8032with parsers and test bench, comprehensive documentation, tutorials and
8033copious examples.")
8034 (license license:bsd-3)))
8035
8036(define-public ghc-regex-applicative
8037 (package
8038 (name "ghc-regex-applicative")
8039 (version "0.3.3")
8040 (source
8041 (origin
8042 (method url-fetch)
8043 (uri (string-append
8044 "https://hackage.haskell.org/package/regex-applicative/"
8045 "regex-applicative-" version ".tar.gz"))
8046 (sha256
8047 (base32
8048 "1riv7jqf26lbv4rm54sd6mrx8xdh4dvh4xbzymzdfdw13k6a4nb6"))))
8049 (build-system haskell-build-system)
8050 (inputs
8051 `(("ghc-smallcheck" ,ghc-smallcheck)
8052 ("ghc-tasty" ,ghc-tasty)
8053 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8054 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8055 (home-page "https://github.com/feuerbach/regex-applicative")
8056 (synopsis "Regex-based parsing with applicative interface")
8057 (description
8058 "@code{regex-applicative} is a Haskell library for parsing using
8059regular expressions. Parsers can be built using Applicative interface.")
8060 (license license:expat)))
8061
8062(define-public ghc-regex-base
8063 (package
8064 (name "ghc-regex-base")
8065 (version "0.93.2")
8066 (source
8067 (origin
8068 (method url-fetch)
8069 (uri (string-append
8070 "https://hackage.haskell.org/package/regex-base/regex-base-"
8071 version
8072 ".tar.gz"))
8073 (sha256
8074 (base32
8075 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8076 (build-system haskell-build-system)
8077 (home-page
8078 "https://sourceforge.net/projects/lazy-regex")
8079 (synopsis "Replaces/Enhances Text.Regex")
8080 (description "@code{Text.Regex.Base} provides the interface API for
8081regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8082 (license license:bsd-3)))
8083
8084(define-public ghc-regex-compat
8085 (package
8086 (name "ghc-regex-compat")
8087 (version "0.95.1")
8088 (source
8089 (origin
8090 (method url-fetch)
8091 (uri (string-append
8092 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8093 version
8094 ".tar.gz"))
8095 (sha256
8096 (base32
8097 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8098 (build-system haskell-build-system)
8099 (inputs
8100 `(("ghc-regex-base" ,ghc-regex-base)
8101 ("ghc-regex-posix" ,ghc-regex-posix)))
8102 (home-page "https://sourceforge.net/projects/lazy-regex")
8103 (synopsis "Replaces/Enhances Text.Regex")
8104 (description "This library provides one module layer over
8105@code{regex-posix} to replace @code{Text.Regex}.")
8106 (license license:bsd-3)))
8107
8108(define-public ghc-regex-compat-tdfa
8109 (package
8110 (name "ghc-regex-compat-tdfa")
8111 (version "0.95.1.4")
8112 (source
8113 (origin
8114 (method url-fetch)
8115 (uri (string-append
8116 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8117 version ".tar.gz"))
8118 (sha256
8119 (base32
8120 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8121 (build-system haskell-build-system)
8122 (inputs
8123 `(("ghc-regex-base" ,ghc-regex-base)
8124 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8125 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8126 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8127 (description
8128 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8129@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8130This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8131this problem.")
8132 (license license:bsd-3)))
8133
8134(define-public ghc-regex-pcre-builtin
8135 (package
8136 (name "ghc-regex-pcre-builtin")
8137 (version "0.94.4.8.8.35")
8138 (source (origin
8139 (method url-fetch)
8140 (uri (string-append "https://hackage.haskell.org/package/"
8141 "regex-pcre-builtin/regex-pcre-builtin-"
8142 version ".tar.gz"))
8143 (sha256
8144 (base32
8145 "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b"))))
8146 (build-system haskell-build-system)
8147 (inputs
8148 `(("ghc-regex-base" ,ghc-regex-base)))
8149 (home-page "https://hackage.haskell.org/package/regex-pcre")
8150 (synopsis "Enhancement of the builtin Text.Regex library")
8151 (description
8152 "This package is an enhancement of the @code{Text.Regex} library,
8153providing the PCRE backend to accompany regex-base, with bundled code from
8154@url{https://www.pcre.org}.")
8155 (license license:bsd-3)))
8156
8157(define-public ghc-regex-posix
8158 (package
8159 (name "ghc-regex-posix")
8160 (version "0.95.2")
8161 (source
8162 (origin
8163 (method url-fetch)
8164 (uri (string-append
8165 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8166 version
8167 ".tar.gz"))
8168 (sha256
8169 (base32
8170 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8171 (build-system haskell-build-system)
8172 (inputs
8173 `(("ghc-regex-base" ,ghc-regex-base)))
8174 (home-page "https://sourceforge.net/projects/lazy-regex")
8175 (synopsis "POSIX regular expressions for Haskell")
8176 (description "This library provides the POSIX regex backend used by the
8177Haskell library @code{regex-base}.")
8178 (license license:bsd-3)))
8179
8180(define-public ghc-regex-tdfa
8181 (package
8182 (name "ghc-regex-tdfa")
8183 (version "1.2.3.1")
8184 (source
8185 (origin
8186 (method url-fetch)
8187 (uri (string-append
8188 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8189 version ".tar.gz"))
8190 (sha256
8191 (base32
8192 "0l7ajnh4hpgggf2a1r9dg0hx2fy679vd2kada5y7r02hy3nfxala"))))
8193 (build-system haskell-build-system)
8194 (inputs
8195 `(("ghc-regex-base" ,ghc-regex-base)))
8196 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8197 (synopsis "POSIX extended regular expressions in Haskell.")
8198 (description
8199 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8200extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8201inspired by libtre.")
8202 (license license:bsd-3)))
8203
8204(define-public ghc-regex-tdfa-text
8205 (package
8206 (name "ghc-regex-tdfa-text")
8207 (version "1.0.0.3")
8208 (source
8209 (origin
8210 (method url-fetch)
8211 (uri (string-append
8212 "https://hackage.haskell.org/package/regex-tdfa-text/"
8213 "regex-tdfa-text-" version ".tar.gz"))
8214 (sha256
8215 (base32
8216 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8217 (build-system haskell-build-system)
8218 (inputs
8219 `(("ghc-regex-base" ,ghc-regex-base)
8220 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8221 (home-page
8222 "http://hackage.haskell.org/package/regex-tdfa-text")
8223 (synopsis "Text interface for regex-tdfa")
8224 (description
8225 "This provides an extra text interface for regex-tdfa.")
8226 (license license:bsd-3)))
8227
8228(define-public ghc-rerebase
8229 (package
8230 (name "ghc-rerebase")
8231 (version "1.2.2")
8232 (source
8233 (origin
8234 (method url-fetch)
8235 (uri (string-append
8236 "https://hackage.haskell.org/package/rerebase/rerebase-"
8237 version ".tar.gz"))
8238 (sha256
8239 (base32
8240 "11v6rmz7ql2rdx6mhb3lsal952lwihclfhh0m7fcnii5br0906ks"))))
8241 (build-system haskell-build-system)
8242 (inputs
8243 `(("ghc-rebase" ,ghc-rebase)))
8244 (home-page "https://github.com/nikita-volkov/rerebase")
8245 (synopsis "Reexports from ``base'' with many other standard libraries")
8246 (description "A rich drop-in replacement for @code{base}. For details and
8247documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8248the project's home page}.")
8249 (license license:expat)))
8250
8251(define-public ghc-resolv
8252 (package
8253 (name "ghc-resolv")
8254 (version "0.1.1.1")
8255 (source
8256 (origin
8257 (method url-fetch)
8258 (uri (string-append
8259 "https://hackage.haskell.org/package/resolv/resolv-"
8260 version ".tar.gz"))
8261 (sha256
8262 (base32
8263 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
8264 (build-system haskell-build-system)
8265 (arguments
8266 `(#:cabal-revision
8267 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
8268 #:tests? #f)) ; The required test frameworks are too old.
8269 (inputs
8270 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8271 (home-page "https://github.com/haskell/hackage-security")
8272 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8273 (description "This package implements an API for accessing the
8274@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8275resolver service via the standard @code{libresolv} system library (whose
8276API is often available directly via the standard @code{libc} C library) on
8277Unix systems.")
8278 (license license:gpl3)))
8279
8280(define-public ghc-resource-pool
8281 (package
8282 (name "ghc-resource-pool")
8283 (version "0.2.3.2")
8284 (source
8285 (origin
8286 (method url-fetch)
8287 (uri (string-append "https://hackage.haskell.org/package/"
8288 "resource-pool-" version "/"
8289 "resource-pool-" version ".tar.gz"))
8290 (sha256
8291 (base32
8292 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8293 (build-system haskell-build-system)
8294 (inputs `(("ghc-hashable" ,ghc-hashable)
8295 ("ghc-monad-control" ,ghc-monad-control)
8296 ("ghc-transformers-base" ,ghc-transformers-base)
8297 ("ghc-vector" ,ghc-vector)))
8298 (home-page "https://github.com/bos/pool")
8299 (synopsis "Striped resource pooling implementation in Haskell")
8300 (description "This Haskell package provides striped pooling abstraction
8301for managing flexibly-sized collections of resources such as database
8302connections.")
8303 (license license:bsd-3)))
8304
8305(define-public ghc-resourcet
8306 (package
8307 (name "ghc-resourcet")
8308 (version "1.2.1")
8309 (source
8310 (origin
8311 (method url-fetch)
8312 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8313 "resourcet-" version ".tar.gz"))
8314 (sha256
8315 (base32
8316 "0rzjzh34s36ssign7akqjnwnjxf11c3511wk7ky0xxy0dqmc2rg7"))))
8317 (build-system haskell-build-system)
8318 (inputs
8319 `(("ghc-transformers-base" ,ghc-transformers-base)
8320 ("ghc-monad-control" ,ghc-monad-control)
8321 ("ghc-transformers-compat" ,ghc-transformers-compat)
8322 ("ghc-mmorph" ,ghc-mmorph)
8323 ("ghc-exceptions" ,ghc-exceptions)
8324 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8325 (native-inputs
8326 `(("ghc-lifted-base" ,ghc-lifted-base)
8327 ("ghc-hspec" ,ghc-hspec)))
8328 (home-page "https://github.com/snoyberg/conduit")
8329 (synopsis "Deterministic allocation and freeing of scarce resources")
8330 (description "ResourceT is a monad transformer which creates a region of
8331code where you can safely allocate resources.")
8332 (license license:bsd-3)))
8333
8334(define-public ghc-rfc5051
8335 (package
8336 (name "ghc-rfc5051")
8337 (version "0.1.0.3")
8338 (source
8339 (origin
8340 (method url-fetch)
8341 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8342 "rfc5051-" version ".tar.gz"))
8343 (sha256
8344 (base32
8345 "0av4c3qvwbkbzrjrrg601ay9pds7wscqqp2lc2z78mv2lllap3g3"))))
8346 (build-system haskell-build-system)
8347 (home-page "https://hackage.haskell.org/package/rfc5051")
8348 (synopsis "Simple unicode collation as per RFC5051")
8349 (description
8350 "This library implements @code{unicode-casemap}, the simple, non
8351locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8352unicode collation can be done using @code{text-icu}, but that is a big
8353dependency that depends on a large C library, and @code{rfc5051} might be
8354better for some purposes.")
8355 (license license:bsd-3)))
8356
8357(define-public ghc-rio
8358 (package
8359 (name "ghc-rio")
8360 (version "0.1.5.0")
8361 (source
8362 (origin
8363 (method url-fetch)
8364 (uri (string-append
8365 "https://hackage.haskell.org/package/rio/rio-"
8366 version ".tar.gz"))
8367 (sha256
8368 (base32
8369 "064h8a4hp53a479d3ak0vmqbx8hi0cpg7zn4wp23rjy26dka8p7g"))))
8370 (build-system haskell-build-system)
8371 (inputs
8372 `(("ghc-exceptions" ,ghc-exceptions)
8373 ("ghc-hashable" ,ghc-hashable)
8374 ("ghc-microlens" ,ghc-microlens)
8375 ("ghc-primitive" ,ghc-primitive)
8376 ("ghc-typed-process" ,ghc-typed-process)
8377 ("ghc-unliftio" ,ghc-unliftio)
8378 ("ghc-unordered-containers" ,ghc-unordered-containers)
8379 ("ghc-vector" ,ghc-vector)))
8380 (native-inputs
8381 `(("ghc-hspec" ,ghc-hspec)
8382 ("hspec-discover" ,hspec-discover)))
8383 (home-page "https://github.com/commercialhaskell/rio#readme")
8384 (synopsis "A standard library for Haskell")
8385 (description "This package works as a prelude replacement for Haskell,
8386providing more functionality and types out of the box than the standard
8387prelude (such as common data types like @code{ByteString} and
8388@code{Text}), as well as removing common ``gotchas'', like partial
8389functions and lazy I/O. The guiding principle here is:
8390@itemize
8391@item If something is safe to use in general and has no expected naming
8392conflicts, expose it.
8393@item If something should not always be used, or has naming conflicts,
8394expose it from another module in the hierarchy.
8395@end itemize")
8396 (license license:expat)))
8397
8398(define-public ghc-safe
8399 (package
8400 (name "ghc-safe")
8401 (version "0.3.17")
8402 (source
8403 (origin
8404 (method url-fetch)
8405 (uri (string-append
8406 "https://hackage.haskell.org/package/safe/safe-"
8407 version
8408 ".tar.gz"))
8409 (sha256
8410 (base32
8411 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8412 (build-system haskell-build-system)
8413 (native-inputs
8414 `(("ghc-quickcheck" ,ghc-quickcheck)))
8415 (home-page "https://github.com/ndmitchell/safe#readme")
8416 (synopsis "Library of safe (exception free) functions")
8417 (description "This library provides wrappers around @code{Prelude} and
8418@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8419exceptions.")
8420 (license license:bsd-3)))
8421
8422(define-public ghc-safe-exceptions
8423 (package
8424 (name "ghc-safe-exceptions")
8425 (version "0.1.7.0")
8426 (source
8427 (origin
8428 (method url-fetch)
8429 (uri (string-append "https://hackage.haskell.org/package/"
8430 "safe-exceptions/safe-exceptions-"
8431 version ".tar.gz"))
8432 (sha256
8433 (base32
8434 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8435 (build-system haskell-build-system)
8436 (arguments
8437 '(#:cabal-revision
8438 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8439 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8440 (native-inputs
8441 `(("ghc-hspec" ,ghc-hspec)
8442 ("ghc-void" ,ghc-void)
8443 ("hspec-discover" ,hspec-discover)))
8444 (home-page "https://github.com/fpco/safe-exceptions")
8445 (synopsis "Safe, consistent, and easy exception handling")
8446 (description "Runtime exceptions - as exposed in @code{base} by the
8447@code{Control.Exception} module - have long been an intimidating part of the
8448Haskell ecosystem. This package is intended to overcome this. It provides a
8449safe and simple API on top of the existing exception handling machinery. The
8450API is equivalent to the underlying implementation in terms of power but
8451encourages best practices to minimize the chances of getting the exception
8452handling wrong.")
8453 (license license:expat)))
8454
8455(define-public ghc-safeio
8456 (package
8457 (name "ghc-safeio")
8458 (version "0.0.5.0")
8459 (source
8460 (origin
8461 (method url-fetch)
8462 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8463 "safeio-" version ".tar.gz"))
8464 (sha256
8465 (base32
8466 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8467 (build-system haskell-build-system)
8468 (inputs
8469 `(("ghc-conduit" ,ghc-conduit)
8470 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8471 ("ghc-exceptions" ,ghc-exceptions)
8472 ("ghc-resourcet" ,ghc-resourcet)))
8473 (native-inputs
8474 `(("ghc-hunit" ,ghc-hunit)
8475 ("ghc-test-framework" ,ghc-test-framework)
8476 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8477 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8478 (home-page "https://github.com/luispedro/safeio")
8479 (synopsis "Write output to disk atomically")
8480 (description
8481 "This package implements utilities to perform atomic output so as to
8482avoid the problem of partial intermediate files.")
8483 (license license:expat)))
8484
8485(define-public ghc-safesemaphore
8486 (package
8487 (name "ghc-safesemaphore")
8488 (version "0.10.1")
8489 (source
8490 (origin
8491 (method url-fetch)
8492 (uri (string-append "https://hackage.haskell.org/package/"
8493 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8494 (sha256
8495 (base32
8496 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8497 (build-system haskell-build-system)
8498 (native-inputs
8499 `(("ghc-hunit" ,ghc-hunit)))
8500 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8501 (synopsis "Exception safe semaphores")
8502 (description "This library provides exception safe semaphores that can be
8503used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8504are not exception safe and can be broken by @code{killThread}.")
8505 (license license:bsd-3)))
8506
8507(define-public ghc-sandi
8508 (package
8509 (name "ghc-sandi")
8510 (version "0.4.2")
8511 (source
8512 (origin
8513 (method url-fetch)
8514 (uri (string-append
8515 "https://hackage.haskell.org/package/sandi/sandi-"
8516 version ".tar.gz"))
8517 (sha256
8518 (base32
8519 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8520 (build-system haskell-build-system)
8521 (inputs
8522 `(("ghc-stringsearch" ,ghc-stringsearch)
8523 ("ghc-conduit" ,ghc-conduit)
8524 ("ghc-exceptions" ,ghc-exceptions)
8525 ("ghc-hunit" ,ghc-hunit)
8526 ("ghc-tasty" ,ghc-tasty)
8527 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8528 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8529 ("ghc-tasty-th" ,ghc-tasty-th)))
8530 (home-page "https://hackage.haskell.org/package/sandi")
8531 (synopsis "Data encoding library")
8532 (description "Reasonably fast data encoding library.")
8533 (license license:bsd-3)))
8534
8535(define-public ghc-scientific
8536 (package
8537 (name "ghc-scientific")
8538 (version "0.3.6.2")
8539 (source
8540 (origin
8541 (method url-fetch)
8542 (uri (string-append
8543 "https://hackage.haskell.org/package/scientific/scientific-"
8544 version
8545 ".tar.gz"))
8546 (sha256
8547 (base32
8548 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8549 (build-system haskell-build-system)
8550 (inputs
8551 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8552 ("ghc-hashable" ,ghc-hashable)
8553 ("ghc-primitive" ,ghc-primitive)))
8554 (native-inputs
8555 `(("ghc-tasty" ,ghc-tasty)
8556 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8557 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8558 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8559 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8560 ("ghc-smallcheck" ,ghc-smallcheck)
8561 ("ghc-quickcheck" ,ghc-quickcheck)))
8562 (home-page "https://github.com/basvandijk/scientific")
8563 (synopsis "Numbers represented using scientific notation")
8564 (description "This package provides @code{Data.Scientific}, which provides
8565the number type @code{Scientific}. Scientific numbers are arbitrary precision
8566and space efficient. They are represented using
8567@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
8568notation}.")
8569 (license license:bsd-3)))
8570
8571(define-public ghc-scientific-bootstrap
8572 (package
8573 (inherit ghc-scientific)
8574 (name "ghc-scientific-bootstrap")
8575 (arguments `(#:tests? #f))
8576 (inputs
8577 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
8578 ("ghc-hashable" ,ghc-hashable)
8579 ("ghc-primitive" ,ghc-primitive)))
8580 (native-inputs '())
8581 (properties '(hidden? #t))))
8582
8583(define-public ghc-sdl
8584 (package
8585 (name "ghc-sdl")
8586 (version "0.6.7.0")
8587 (source
8588 (origin
8589 (method url-fetch)
8590 (uri (string-append
8591 "https://hackage.haskell.org/package/SDL/SDL-"
8592 version
8593 ".tar.gz"))
8594 (sha256
8595 (base32
8596 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
8597 (build-system haskell-build-system)
8598 (inputs
8599 `(("sdl" ,sdl)))
8600 (home-page "https://hackage.haskell.org/package/SDL")
8601 (synopsis "LibSDL for Haskell")
8602 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
8603multimedia library designed to provide low level access to audio, keyboard,
8604mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
8605by MPEG playback software, emulators, and many popular games, including the
8606award winning Linux port of \"Civilization: Call To Power.\"")
8607 (license license:bsd-3)))
8608
1874cdc1
RV
8609(define-public ghc-sdl2
8610 (package
8611 (name "ghc-sdl2")
8612 (version "2.4.1.0")
8613 (source
8614 (origin
8615 (method url-fetch)
8616 (uri (string-append "https://hackage.haskell.org/package/"
8617 "sdl2/sdl2-" version ".tar.gz"))
8618 (sha256
8619 (base32
8620 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
8621 (build-system haskell-build-system)
8622 (arguments '(#:tests? #f)) ; tests require graphical environment
8623 (inputs
8624 `(("ghc-exceptions" ,ghc-exceptions)
8625 ("ghc-linear" ,ghc-linear)
8626 ("ghc-statevar" ,ghc-statevar)
8627 ("ghc-vector" ,ghc-vector)
8628 ("sdl2" ,sdl2)))
8629 (native-inputs
8630 `(("ghc-weigh" ,ghc-weigh)
8631 ("pkg-config" ,pkg-config)))
8632 (home-page "http://hackage.haskell.org/package/sdl2")
8633 (synopsis "High- and low-level bindings to the SDL library")
8634 (description
8635 "This package contains bindings to the SDL 2 library, in both high- and
8636low-level forms. The @code{SDL} namespace contains high-level bindings, where
8637enumerations are split into sum types, and we perform automatic
8638error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
8639translation of the C API into Haskell FFI calls. As such, this does not
8640contain sum types nor error checking. Thus this namespace is suitable for
8641building your own abstraction over SDL, but is not recommended for day-to-day
8642programming.")
8643 (license license:bsd-3)))
8644
8645(define-public ghc-sdl2-image
8646 (package
8647 (name "ghc-sdl2-image")
8648 (version "2.0.0")
8649 (source
8650 (origin
8651 (method url-fetch)
8652 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
8653 "sdl2-image-" version ".tar.gz"))
8654 (sha256
8655 (base32
8656 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
8657 (build-system haskell-build-system)
8658 (inputs
8659 `(("ghc-sdl2" ,ghc-sdl2)
8660 ("sdl2-image" ,sdl2-image)))
8661 (native-inputs
8662 `(("pkg-config" ,pkg-config)))
8663 (home-page "http://hackage.haskell.org/package/sdl2-image")
8664 (synopsis "Bindings to SDL2_image")
8665 (description "This package provides Haskell bindings to
8666@code{SDL2_image}.")
8667 (license license:expat)))
8668
8669(define-public ghc-sdl2-mixer
8670 (package
8671 (name "ghc-sdl2-mixer")
8672 (version "1.1.0")
8673 (source
8674 (origin
8675 (method url-fetch)
8676 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
8677 "sdl2-mixer-" version ".tar.gz"))
8678 (sha256
8679 (base32
8680 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
8681 (build-system haskell-build-system)
8682 (inputs
8683 `(("ghc-data-default-class" ,ghc-data-default-class)
8684 ("ghc-lifted-base" ,ghc-lifted-base)
8685 ("ghc-monad-control" ,ghc-monad-control)
8686 ("ghc-sdl2" ,ghc-sdl2)
8687 ("ghc-vector" ,ghc-vector)
8688 ("sdl2-mixer" ,sdl2-mixer)))
8689 (native-inputs
8690 `(("pkg-config" ,pkg-config)))
8691 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
8692 (synopsis "Bindings to SDL2 mixer")
8693 (description "This package provides Haskell bindings to
8694@code{SDL2_mixer}.")
8695 (license license:bsd-3)))
8696
dddbc90c
RV
8697(define-public ghc-sdl-image
8698 (package
8699 (name "ghc-sdl-image")
8700 (version "0.6.2.0")
8701 (source
8702 (origin
8703 (method url-fetch)
8704 (uri (string-append
8705 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
8706 version
8707 ".tar.gz"))
8708 (sha256
8709 (base32
8710 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
8711 (build-system haskell-build-system)
8712 (arguments
8713 `(#:configure-flags
8714 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
8715 (sdl-image-include (string-append sdl-image "/include/SDL")))
8716 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
8717 (inputs
8718 `(("ghc-sdl" ,ghc-sdl)
8719 ("sdl-image" ,sdl-image)))
8720 (home-page "https://hackage.haskell.org/package/SDL-image")
8721 (synopsis "Haskell bindings to libSDL_image")
8722 (description "SDL_image is an image file loading library. It loads images
8723as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
8724PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
8725 (license license:bsd-3)))
8726
8727(define-public ghc-sdl-mixer
8728 (package
8729 (name "ghc-sdl-mixer")
8730 (version "0.6.3.0")
8731 (source
8732 (origin
8733 (method url-fetch)
8734 (uri (string-append
8735 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
8736 version
8737 ".tar.gz"))
8738 (sha256
8739 (base32
8740 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
8741 (build-system haskell-build-system)
8742 (arguments
8743 `(#:configure-flags
8744 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
8745 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
8746 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
8747 (inputs
8748 `(("ghc-sdl" ,ghc-sdl)
8749 ("sdl-mixer" ,sdl-mixer)))
8750 (home-page "https://hackage.haskell.org/package/SDL-mixer")
8751 (synopsis "Haskell bindings to libSDL_mixer")
8752 (description "SDL_mixer is a sample multi-channel audio mixer library. It
8753supports any number of simultaneously playing channels of 16 bit stereo audio,
8754plus a single channel of music, mixed by the popular MikMod MOD, Timidity
8755MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
8756 (license license:bsd-3)))
8757
8758(define-public ghc-securemem
8759 (package
8760 (name "ghc-securemem")
8761 (version "0.1.10")
8762 (source
8763 (origin
8764 (method url-fetch)
8765 (uri (string-append "https://hackage.haskell.org/package/"
8766 "securemem-" version "/"
8767 "securemem-" version ".tar.gz"))
8768 (sha256
8769 (base32
8770 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
8771 (build-system haskell-build-system)
8772 (inputs `(("ghc-byteable" ,ghc-byteable)
8773 ("ghc-memory" ,ghc-memory)))
8774 (home-page "https://github.com/vincenthz/hs-securemem")
8775 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
8776Haskell")
8777 (description "SecureMem is similar to ByteString, except that it provides
8778a memory chunk that will be auto-scrubbed after it run out of scope.")
8779 (license license:bsd-3)))
8780
8781(define-public ghc-semigroupoids
8782 (package
8783 (name "ghc-semigroupoids")
8784 (version "5.2.2")
8785 (source
8786 (origin
8787 (method url-fetch)
8788 (uri (string-append
8789 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
8790 version
8791 ".tar.gz"))
8792 (sha256
8793 (base32
8794 "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
8795 (build-system haskell-build-system)
8796 (arguments
8797 `(#:cabal-revision
8798 ("4" "0pqfrxzypjq6z8lgdkzq4vhcyqkpk5326hny0r6snpc3gm78r4ij")))
8799 (inputs
8800 `(("ghc-base-orphans" ,ghc-base-orphans)
8801 ("ghc-transformers-compat" ,ghc-transformers-compat)
8802 ("ghc-bifunctors" ,ghc-bifunctors)
8803 ("ghc-comonad" ,ghc-comonad)
8804 ("ghc-contravariant" ,ghc-contravariant)
8805 ("ghc-distributive" ,ghc-distributive)
8806 ("ghc-hashable" ,ghc-hashable)
8807 ("ghc-semigroups" ,ghc-semigroups)
8808 ("ghc-tagged" ,ghc-tagged)
8809 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8810 (native-inputs
8811 `(("cabal-doctest" ,cabal-doctest)
8812 ("ghc-doctest" ,ghc-doctest)))
8813 (home-page "https://github.com/ekmett/semigroupoids")
8814 (synopsis "Semigroupoids operations for Haskell")
8815 (description "This library provides a wide array of (semi)groupoids and
8816operations for working with them. A @code{Semigroupoid} is a @code{Category}
8817without the requirement of identity arrows for every object in the category.
8818A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
8819Finally, to work with these weaker structures it is beneficial to have
8820containers that can provide stronger guarantees about their contents, so
8821versions of @code{Traversable} and @code{Foldable} that can be folded with
8822just a @code{Semigroup} are added.")
8823 (license license:bsd-3)))
8824
8825(define-public ghc-semigroups
8826 (package
8827 (name "ghc-semigroups")
8828 (version "0.18.5")
8829 (source
8830 (origin
8831 (method url-fetch)
8832 (uri (string-append
8833 "https://hackage.haskell.org/package/semigroups/semigroups-"
8834 version
8835 ".tar.gz"))
8836 (sha256
8837 (base32
8838 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
8839 (build-system haskell-build-system)
8840 (inputs
8841 `(("ghc-nats" ,ghc-nats)
8842 ("ghc-tagged" ,ghc-tagged)
8843 ("ghc-unordered-containers" ,ghc-unordered-containers)
8844 ("ghc-hashable" ,ghc-hashable)))
8845 (home-page "https://github.com/ekmett/semigroups/")
8846 (synopsis "Semigroup operations for Haskell")
8847 (description "This package provides semigroups for Haskell. In
8848mathematics, a semigroup is an algebraic structure consisting of a set
8849together with an associative binary operation. A semigroup generalizes a
8850monoid in that there might not exist an identity element. It
8851also (originally) generalized a group (a monoid with all inverses) to a type
8852where every element did not have to have an inverse, thus the name
8853semigroup.")
8854 (license license:bsd-3)))
8855
8856(define-public ghc-semigroups-bootstrap
8857 (package
8858 (inherit ghc-semigroups)
8859 (name "ghc-semigroups-bootstrap")
8860 (inputs
8861 `(("ghc-nats" ,ghc-nats-bootstrap)
8862 ("ghc-tagged" ,ghc-tagged)
8863 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
8864 ("ghc-hashable" ,ghc-hashable-bootstrap)))
8865 (properties '(hidden? #t))))
8866
8867(define-public ghc-setenv
8868 (package
8869 (name "ghc-setenv")
8870 (version "0.1.1.3")
8871 (source
8872 (origin
8873 (method url-fetch)
8874 (uri (string-append
8875 "https://hackage.haskell.org/package/setenv/setenv-"
8876 version
8877 ".tar.gz"))
8878 (sha256
8879 (base32
8880 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
8881 (build-system haskell-build-system)
8882 (home-page "https://hackage.haskell.org/package/setenv")
8883 (synopsis "Library for setting environment variables")
8884 (description "This package provides a Haskell library for setting
8885environment variables.")
8886 (license license:expat)))
8887
8888(define-public ghc-setlocale
8889 (package
8890 (name "ghc-setlocale")
8891 (version "1.0.0.8")
8892 (source (origin
8893 (method url-fetch)
8894 (uri (string-append
8895 "https://hackage.haskell.org/package/setlocale-"
8896 version "/setlocale-" version ".tar.gz"))
8897 (sha256
8898 (base32
8899 "0sdrsmkhw08483d73ysgm2926fdbhii61br03lqpqw0lfzj4ilbd"))))
8900 (build-system haskell-build-system)
8901 (home-page "https://hackage.haskell.org/package/setlocale")
8902 (synopsis "Haskell bindings to setlocale")
8903 (description "This package provides Haskell bindings to the
8904@code{setlocale} C function.")
8905 (license license:bsd-3)))
8906
8907(define-public ghc-shakespeare
8908 (package
8909 (name "ghc-shakespeare")
8910 (version "2.0.15")
8911 (source
8912 (origin
8913 (method url-fetch)
8914 (uri (string-append "https://hackage.haskell.org/package/"
8915 "shakespeare-" version "/"
8916 "shakespeare-" version ".tar.gz"))
8917 (sha256
8918 (base32
8919 "1vk4b19zvwy4mpwaq9z3l3kfmz75gfyf7alhh0y112gspgpccm23"))))
8920 (build-system haskell-build-system)
8921 (inputs `(("ghc-aeson" ,ghc-aeson)
8922 ("ghc-blaze-markup" ,ghc-blaze-markup)
8923 ("ghc-blaze-html" ,ghc-blaze-html)
8924 ("ghc-exceptions" ,ghc-exceptions)
8925 ("ghc-vector" ,ghc-vector)
8926 ("ghc-unordered-containers" ,ghc-unordered-containers)
8927 ("ghc-scientific" ,ghc-scientific)))
8928 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8929 ("ghc-hunit" ,ghc-hunit)
8930 ("hspec-discover" ,hspec-discover)))
8931 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
8932 (synopsis "Family of type-safe template languages for Haskell")
8933 (description "This Haskell package provides a family of type-safe
8934templates with simple variable interpolation. Shakespeare templates can
8935be used inline with a quasi-quoter or in an external file and it
8936interpolates variables according to the type being inserted.")
8937 (license license:expat)))
8938
8939(define-public ghc-shelly
8940 (package
8941 (name "ghc-shelly")
8942 (version "1.8.1")
8943 (source
8944 (origin
8945 (method url-fetch)
8946 (uri (string-append
8947 "https://hackage.haskell.org/package/shelly/shelly-"
8948 version ".tar.gz"))
8949 (sha256
8950 (base32
8951 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
8952 (build-system haskell-build-system)
8953 (inputs
8954 `(("ghc-unix-compat" ,ghc-unix-compat)
8955 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
8956 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
8957 ("ghc-monad-control" ,ghc-monad-control)
8958 ("ghc-lifted-base" ,ghc-lifted-base)
8959 ("ghc-lifted-async" ,ghc-lifted-async)
8960 ("ghc-exceptions" ,ghc-exceptions)
8961 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
8962 ("ghc-async" ,ghc-async)
8963 ("ghc-transformers-base" ,ghc-transformers-base)
8964 ("ghc-hunit" ,ghc-hunit)
8965 ("ghc-hspec" ,ghc-hspec)
8966 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
8967 (home-page "https://github.com/yesodweb/Shelly.hs")
8968 (synopsis "Shell-like (systems) programming in Haskell")
8969 (description
8970 "Shelly provides convenient systems programming in Haskell, similar in
8971spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
8972 (license license:bsd-3)))
8973
8974(define-public ghc-silently
8975 (package
8976 (name "ghc-silently")
8977 (version "1.2.5")
8978 (source
8979 (origin
8980 (method url-fetch)
8981 (uri (string-append
8982 "https://hackage.haskell.org/package/silently/silently-"
8983 version
8984 ".tar.gz"))
8985 (sha256
8986 (base32
8987 "0f9qm3f7y0hpxn6mddhhg51mm1r134qkvd2kr8r6192ka1ijbxnf"))))
8988 (build-system haskell-build-system)
8989 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
8990 ;; (inputs
8991 ;; `(("ghc-temporary" ,ghc-temporary)))
8992 (home-page "https://github.com/hspec/silently")
8993 (synopsis "Prevent writing to stdout")
8994 (description "This package provides functions to prevent or capture
8995writing to stdout and other handles.")
8996 (license license:bsd-3)))
8997
8998(define-public ghc-simple-reflect
8999 (package
9000 (name "ghc-simple-reflect")
9001 (version "0.3.3")
9002 (source
9003 (origin
9004 (method url-fetch)
9005 (uri (string-append
9006 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9007 version
9008 ".tar.gz"))
9009 (sha256
9010 (base32
9011 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9012 (build-system haskell-build-system)
9013 (home-page
9014 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9015 (synopsis
9016 "Simple reflection of expressions containing variables")
9017 (description
9018 "This package allows simple reflection of expressions containing
9019variables. Reflection here means that a Haskell expression is turned into a
9020string. The primary aim of this package is teaching and understanding; there
9021are no options for manipulating the reflected expressions beyond showing
9022them.")
9023 (license license:bsd-3)))
9024
9025(define-public ghc-simple-sendfile
9026 (package
9027 (name "ghc-simple-sendfile")
9028 (version "0.2.27")
9029 (source
9030 (origin
9031 (method url-fetch)
9032 (uri (string-append "https://hackage.haskell.org/package/"
9033 "simple-sendfile-" version "/"
9034 "simple-sendfile-" version ".tar.gz"))
9035 (sha256
9036 (base32
9037 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
9038 (build-system haskell-build-system)
9039 (inputs
9040 `(("ghc-conduit" ,ghc-conduit)
9041 ("ghc-conduit-extra" ,ghc-conduit-extra)
9042 ("ghc-network" ,ghc-network)
9043 ("ghc-resourcet" ,ghc-resourcet)))
9044 (native-inputs
9045 `(("ghc-hspec" ,ghc-hspec)
9046 ("hspec-discover" ,hspec-discover)))
9047 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9048 (synopsis "Cross platform library for the sendfile system call")
9049 (description "This library tries to call minimum system calls which
9050are the bottleneck of web servers.")
9051 (license license:bsd-3)))
9052
9053(define-public ghc-skylighting-core
9054 (package
9055 (name "ghc-skylighting-core")
9056 (version "0.7.2")
9057 (source (origin
9058 (method url-fetch)
9059 (uri (string-append "https://hackage.haskell.org/package/"
9060 "skylighting-core/skylighting-core-"
9061 version ".tar.gz"))
9062 (sha256
9063 (base32
9064 "066fwmwsd7xcvwlinfk2izlzq0xp8697i6lnbgsbl71jdybyackq"))))
9065 (build-system haskell-build-system)
9066 (inputs
9067 `(("ghc-aeson" ,ghc-aeson)
9068 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9069 ("ghc-attoparsec" ,ghc-attoparsec)
9070 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9071 ("ghc-blaze-html" ,ghc-blaze-html)
9072 ("ghc-case-insensitive" ,ghc-case-insensitive)
9073 ("ghc-colour" ,ghc-colour)
9074 ("ghc-hxt" ,ghc-hxt)
9075 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9076 ("ghc-safe" ,ghc-safe)
9077 ("ghc-utf8-string" ,ghc-utf8-string)))
9078 (native-inputs
9079 `(("ghc-diff" ,ghc-diff)
9080 ("ghc-hunit" ,ghc-hunit)
9081 ("ghc-pretty-show" ,ghc-pretty-show)
9082 ("ghc-quickcheck" ,ghc-quickcheck)
9083 ("ghc-tasty" ,ghc-tasty)
9084 ("ghc-tasty-golden" ,ghc-tasty-golden)
9085 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9086 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9087 (home-page "https://github.com/jgm/skylighting")
9088 (synopsis "Syntax highlighting library")
9089 (description "Skylighting is a syntax highlighting library with support
9090for over one hundred languages. It derives its tokenizers from XML syntax
9091definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9092supported by that framework can be added. An optional command-line program is
9093provided. Skylighting is intended to be the successor to highlighting-kate.")
9094 (license license:gpl2)))
9095
9096(define-public ghc-skylighting
9097 (package
9098 (inherit ghc-skylighting-core)
9099 (name "ghc-skylighting")
9100 (version "0.7.2")
9101 (source (origin
9102 (method url-fetch)
9103 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9104 version "/skylighting-" version ".tar.gz"))
9105 (sha256
9106 (base32
9107 "1rh3z1a7a4clvksdw1qlpmhxqkfahwypi70k91whgfamzsqpxdch"))))
9108 (inputs
9109 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9110 ,@(package-inputs ghc-skylighting-core)))))
9111
9112(define-public ghc-smallcheck
9113 (package
9114 (name "ghc-smallcheck")
9115 (version "1.1.5")
9116 (source
9117 (origin
9118 (method url-fetch)
9119 (uri (string-append
9120 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9121 version
9122 ".tar.gz"))
9123 (sha256
9124 (base32
9125 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9126 (build-system haskell-build-system)
9127 (inputs
9128 `(("ghc-logict" ,ghc-logict)))
9129 (home-page
9130 "https://github.com/feuerbach/smallcheck")
9131 (synopsis "Property-based testing library")
9132 (description "SmallCheck is a testing library that allows to verify
9133properties for all test cases up to some depth. The test cases are generated
9134automatically by SmallCheck.")
9135 (license license:bsd-3)))
9136
9137(define-public ghc-socks
9138 (package
9139 (name "ghc-socks")
9140 (version "0.5.6")
9141 (source (origin
9142 (method url-fetch)
9143 (uri (string-append "https://hackage.haskell.org/package/"
9144 "socks/socks-" version ".tar.gz"))
9145 (sha256
9146 (base32
9147 "0f44qy74i0n6ll3jym0a2ipafkpw1h67amcpqmj8iq95h21wsqzs"))))
9148 (build-system haskell-build-system)
9149 (inputs
9150 `(("ghc-cereal" ,ghc-cereal)
9151 ("ghc-network" ,ghc-network)))
9152 (home-page "https://github.com/vincenthz/hs-socks")
9153 (synopsis "SOCKS proxy (version 5) implementation")
9154 (description
9155 "This library provides a SOCKS proxy (version 5) implementation.")
9156 (license license:bsd-3)))
9157
9158(define-public ghc-split
9159 (package
9160 (name "ghc-split")
9161 (version "0.2.3.3")
9162 (outputs '("out" "doc"))
9163 (source
9164 (origin
9165 (method url-fetch)
9166 (uri (string-append
9167 "https://hackage.haskell.org/package/split/split-"
9168 version
9169 ".tar.gz"))
9170 (sha256
9171 (base32
9172 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9173 (build-system haskell-build-system)
9174 (native-inputs
9175 `(("ghc-quickcheck" ,ghc-quickcheck)))
9176 (home-page "https://hackage.haskell.org/package/split")
9177 (synopsis "Combinator library for splitting lists")
9178 (description "This package provides a collection of Haskell functions for
9179splitting lists into parts, akin to the @code{split} function found in several
9180mainstream languages.")
9181 (license license:bsd-3)))
9182
9183(define-public ghc-statevar
9184 (package
9185 (name "ghc-statevar")
9186 (version "1.1.1.1")
9187 (source
9188 (origin
9189 (method url-fetch)
9190 (uri (string-append
9191 "https://hackage.haskell.org/package/StateVar/StateVar-"
9192 version
9193 ".tar.gz"))
9194 (sha256
9195 (base32
9196 "08r2iw0gdmfs4f6wraaq19vfmkjdbics3dbhw39y7mdjd98kcr7b"))))
9197 (build-system haskell-build-system)
9198 (home-page "https://hackage.haskell.org/package/StateVar")
9199 (synopsis "State variables for Haskell")
9200 (description "This package provides state variables, which are references
9201in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9202 (license license:bsd-3)))
9203
9204(define-public ghc-statistics
9205 (package
9206 (name "ghc-statistics")
9207 (version "0.14.0.2")
9208 (source
9209 (origin
9210 (method url-fetch)
9211 (uri (string-append "https://hackage.haskell.org/package/"
9212 "statistics-" version "/"
9213 "statistics-" version ".tar.gz"))
9214 (sha256
9215 (base32
9216 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
9217 (build-system haskell-build-system)
9218 (arguments
9219 '(#:cabal-revision
9220 ("2" "1bx70yqkn62ii17fjv3pig4hklrzkqd09zj67zzjiyjzmn04fir3")
9221 ;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
9222 #:tests? #f))
9223 (inputs
9224 `(("ghc-aeson" ,ghc-aeson)
9225 ("ghc-base-orphans" ,ghc-base-orphans)
9226 ("ghc-erf" ,ghc-erf)
9227 ("ghc-math-functions" ,ghc-math-functions)
9228 ("ghc-monad-par" ,ghc-monad-par)
9229 ("ghc-mwc-random" ,ghc-mwc-random)
9230 ("ghc-primitive" ,ghc-primitive)
9231 ("ghc-vector" ,ghc-vector)
9232 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9233 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9234 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9235 (native-inputs
9236 `(("ghc-hunit" ,ghc-hunit)
9237 ("ghc-quickcheck" ,ghc-quickcheck)
9238 ("ghc-ieee754" ,ghc-ieee754)
9239 ("ghc-test-framework" ,ghc-test-framework)
9240 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9241 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9242 (home-page "https://github.com/bos/mwc-random")
9243 (synopsis "Haskell library of statistical types, data, and functions")
9244 (description "This library provides a number of common functions
9245and types useful in statistics. We focus on high performance, numerical
9246robustness, and use of good algorithms. Where possible, we provide references
9247to the statistical literature.
9248
9249The library's facilities can be divided into four broad categories:
9250
9251@itemize
9252@item Working with widely used discrete and continuous probability
9253distributions. (There are dozens of exotic distributions in use; we focus
9254on the most common.)
9255
9256@item Computing with sample data: quantile estimation, kernel density
9257estimation, histograms, bootstrap methods, significance testing,
9258and regression and autocorrelation analysis.
9259
9260@item Random variate generation under several different distributions.
9261
9262@item Common statistical tests for significant differences between samples.
9263@end itemize")
9264 (license license:bsd-2)))
9265
9266(define-public ghc-stm-chans
9267 (package
9268 (name "ghc-stm-chans")
9269 (version "3.0.0.4")
9270 (source
9271 (origin
9272 (method url-fetch)
9273 (uri (string-append "https://hackage.haskell.org/package/"
9274 "stm-chans-" version "/"
9275 "stm-chans-" version ".tar.gz"))
9276 (sha256
9277 (base32
9278 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9279 (build-system haskell-build-system)
9280 (home-page "https://hackage.haskell.org/package/stm-chans")
9281 (synopsis "Additional types of channels for ghc-stm")
9282 (description "This Haskell package offers a collection of channel types,
9283similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9284features.")
9285 (license license:bsd-3)))
9286
9287(define-public ghc-stm-conduit
9288 (package
9289 (name "ghc-stm-conduit")
9290 (version "4.0.0")
9291 (source
9292 (origin
9293 (method url-fetch)
9294 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9295 "stm-conduit-" version ".tar.gz"))
9296 (sha256
9297 (base32
9298 "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
9299 (build-system haskell-build-system)
9300 (inputs
9301 `(("ghc-stm-chans" ,ghc-stm-chans)
9302 ("ghc-cereal" ,ghc-cereal)
9303 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9304 ("ghc-conduit" ,ghc-conduit)
9305 ("ghc-conduit-extra" ,ghc-conduit-extra)
9306 ("ghc-exceptions" ,ghc-exceptions)
9307 ("ghc-resourcet" ,ghc-resourcet)
9308 ("ghc-async" ,ghc-async)
9309 ("ghc-monad-loops" ,ghc-monad-loops)
9310 ("ghc-unliftio" ,ghc-unliftio)))
9311 (native-inputs
9312 `(("ghc-doctest" ,ghc-doctest)
9313 ("ghc-quickcheck" ,ghc-quickcheck)
9314 ("ghc-hunit" ,ghc-hunit)
9315 ("ghc-test-framework" ,ghc-test-framework)
9316 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9317 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9318 (home-page "https://github.com/cgaebel/stm-conduit")
9319 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9320 (description
9321 "This package provides two simple conduit wrappers around STM channels: a
9322source and a sink.")
9323 (license license:bsd-3)))
9324
9325(define-public ghc-stmonadtrans
9326 (package
9327 (name "ghc-stmonadtrans")
9328 (version "0.4.3")
9329 (source
9330 (origin
9331 (method url-fetch)
9332 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9333 "/STMonadTrans-" version ".tar.gz"))
9334 (sha256
9335 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9336 (build-system haskell-build-system)
9337 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9338 (synopsis "Monad transformer version of the ST monad")
9339 (description
9340 "This package provides a monad transformer version of the @code{ST} monad
9341for strict state threads.")
9342 (license license:bsd-3)))
9343
9344(define-public ghc-storable-complex
9345 (package
9346 (name "ghc-storable-complex")
9347 (version "0.2.2")
9348 (source
9349 (origin
9350 (method url-fetch)
9351 (uri (string-append
9352 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9353 version ".tar.gz"))
9354 (sha256
9355 (base32 "01kwwkpbfjrv26vj83cd92px5qbq1bpgxj0r45534aksqhany1xb"))))
9356 (build-system haskell-build-system)
9357 (home-page "https://github.com/cartazio/storable-complex")
9358 (synopsis "Haskell Storable instance for Complex")
9359 (description "This package provides a Haskell library including a
9360Storable instance for Complex which is binary compatible with C99, C++
9361and Fortran complex data types.")
9362 (license license:bsd-3)))
9363
bc06ca45
JS
9364(define-public ghc-storablevector
9365 (package
9366 (name "ghc-storablevector")
9367 (version "0.2.13")
9368 (source
9369 (origin
9370 (method url-fetch)
9371 (uri
9372 (string-append
9373 "https://hackage.haskell.org/package/storablevector/storablevector-"
9374 version ".tar.gz"))
9375 (sha256
9376 (base32
9377 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
9378 (build-system haskell-build-system)
9379 (inputs
9380 `(("ghc-non-negative" ,ghc-non-negative)
9381 ("ghc-utility-ht" ,ghc-utility-ht)
9382 ("ghc-semigroups" ,ghc-semigroups)
9383 ("ghc-unsafe" ,ghc-unsafe)
9384 ("ghc-quickcheck" ,ghc-quickcheck)
9385 ("ghc-syb" ,ghc-syb)))
9386 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
9387 (synopsis "Fast, packed, strict storable arrays with a list interface")
9388 (description "This library provides fast, packed, strict storable
9389arrays with a list interface, a chunky lazy list interface with variable
9390chunk size and an interface for write access via the ST monad. This is
9391much like bytestring and binary but can be used for every
9392@code{Foreign.Storable.Storable} type. See also
9393@url{http://hackage.haskell.org/package/vector}, a library with a
9394similar intention.
9395
9396This library does not do advanced fusion optimization, since especially
9397for lazy vectors this would either be incorrect or not applicable. See
9398@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
9399a library that provides fusion with lazy lists.")
9400 (license license:bsd-3)))
9401
dddbc90c
RV
9402(define-public ghc-streaming-commons
9403 (package
9404 (name "ghc-streaming-commons")
9405 (version "0.2.1.1")
9406 (source
9407 (origin
9408 (method url-fetch)
9409 (uri (string-append "https://hackage.haskell.org/package/"
9410 "streaming-commons/streaming-commons-"
9411 version ".tar.gz"))
9412 (sha256
9413 (base32
9414 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9415 (build-system haskell-build-system)
9416 (inputs
9417 `(("ghc-async" ,ghc-async)
9418 ("ghc-blaze-builder" ,ghc-blaze-builder)
9419 ("ghc-network" ,ghc-network)
9420 ("ghc-random" ,ghc-random)
9421 ("ghc-zlib" ,ghc-zlib)))
9422 (native-inputs
9423 `(("ghc-quickcheck" ,ghc-quickcheck)
9424 ("ghc-hspec" ,ghc-hspec)
9425 ("hspec-discover" ,hspec-discover)))
9426 (home-page "https://hackage.haskell.org/package/streaming-commons")
9427 (synopsis "Conduit and pipes needed by some streaming data libraries")
9428 (description "This package provides low-dependency functionality commonly
9429needed by various Haskell streaming data libraries, such as @code{conduit} and
9430@code{pipe}s.")
9431 (license license:expat)))
9432
9433(define-public ghc-strict
9434 (package
9435 (name "ghc-strict")
9436 (version "0.3.2")
9437 (source
9438 (origin
9439 (method url-fetch)
9440 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
9441 version ".tar.gz"))
9442 (sha256
9443 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
9444 (build-system haskell-build-system)
9445 (home-page "https://hackage.haskell.org/package/strict")
9446 (synopsis "Strict data types and String IO")
9447 (description
9448 "This package provides strict versions of some standard Haskell data
9449types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
9450IO operations.")
9451 (license license:bsd-3)))
9452
9453(define-public ghc-stringbuilder
9454 (package
9455 (name "ghc-stringbuilder")
9456 (version "0.5.1")
9457 (source
9458 (origin
9459 (method url-fetch)
9460 (uri (string-append
9461 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
9462 version
9463 ".tar.gz"))
9464 (sha256
9465 (base32
9466 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
9467 (build-system haskell-build-system)
9468 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
9469 ; enabled
9470 (home-page "https://hackage.haskell.org/package/stringbuilder")
9471 (synopsis "Writer monad for multi-line string literals")
9472 (description "This package provides a writer monad for multi-line string
9473literals.")
9474 (license license:expat)))
9475
9476(define-public ghc-string-qq
9477 (package
9478 (name "ghc-string-qq")
9479 (version "0.0.2")
9480 (source
9481 (origin
9482 (method url-fetch)
9483 (uri (string-append
9484 "https://hackage.haskell.org/package/string-qq/string-qq-"
9485 version
9486 ".tar.gz"))
9487 (sha256
9488 (base32
9489 "0662m3i5xrdrr95w829bszkhp88mj9iy1zya54vk2sl5hz9wlmwp"))))
9490 (build-system haskell-build-system)
9491 (home-page "http://hackage.haskell.org/package/string-qq")
9492 (synopsis
9493 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
9494 (description
9495 "This package provides a quasiquoter for non-interpolated strings, texts
9496and bytestrings.")
9497 (license license:public-domain)))
9498
9499(define-public ghc-stringsearch
9500 (package
9501 (name "ghc-stringsearch")
9502 (version "0.3.6.6")
9503 (source
9504 (origin
9505 (method url-fetch)
9506 (uri (string-append
9507 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
9508 version
9509 ".tar.gz"))
9510 (sha256
9511 (base32
9512 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
9513 (build-system haskell-build-system)
9514 (home-page "https://bitbucket.org/dafis/stringsearch")
9515 (synopsis "Fast searching, splitting and replacing of ByteStrings")
9516 (description "This package provides several functions to quickly search
9517for substrings in strict or lazy @code{ByteStrings}. It also provides
9518functions for breaking or splitting on substrings and replacing all
9519occurrences of a substring (the first in case of overlaps) with another.")
9520 (license license:bsd-3)))
9521
9522(define-public ghc-stylish-haskell
9523 (package
9524 (name "ghc-stylish-haskell")
9525 (version "0.9.2.1")
9526 (source
9527 (origin
9528 (method url-fetch)
9529 (uri (string-append
9530 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
9531 version
9532 ".tar.gz"))
9533 (sha256
9534 (base32
9535 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
9536 (build-system haskell-build-system)
9537 (inputs
9538 `(("ghc-aeson" ,ghc-aeson)
9539 ("ghc-file-embed" ,ghc-file-embed)
9540 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
9541 ("ghc-semigroups" ,ghc-semigroups)
9542 ("ghc-syb" ,ghc-syb)
9543 ("ghc-yaml" ,ghc-yaml)
9544 ("ghc-strict" ,ghc-strict)
9545 ("ghc-optparse-applicative"
9546 ,ghc-optparse-applicative)))
9547 (native-inputs
9548 `(("ghc-hunit" ,ghc-hunit)
9549 ("ghc-test-framework" ,ghc-test-framework)
9550 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
9551 (home-page "https://github.com/jaspervdj/stylish-haskell")
9552 (synopsis "Haskell code prettifier")
9553 (description "Stylish-haskell is a Haskell code prettifier. The goal is
9554not to format all of the code in a file, to avoid \"getting in the way\".
9555However, this tool can e.g. clean up import statements and help doing various
9556tasks that get tedious very quickly. It can
9557@itemize
9558@item
9559Align and sort @code{import} statements
9560@item
9561Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
9562pragmas
9563@item
9564Remove trailing whitespaces
9565@item
9566Align branches in @code{case} and fields in records
9567@item
9568Convert line endings (customisable)
9569@item
9570Replace tabs by four spaces (turned off by default)
9571@item
9572Replace some ASCII sequences by their Unicode equivalent (turned off by
9573default)
9574@end itemize")
9575 (license license:bsd-3)))
9576
9577(define-public ghc-syb
9578 (package
9579 (name "ghc-syb")
9580 (version "0.7")
9581 (outputs '("out" "doc"))
9582 (source
9583 (origin
9584 (method url-fetch)
9585 (uri (string-append
9586 "https://hackage.haskell.org/package/syb/syb-"
9587 version
9588 ".tar.gz"))
9589 (sha256
9590 (base32
9591 "1da2zz7gqm4xbkx5vpd74dayx1svaxyl145fl14mq15lbb77sxdq"))))
9592 (build-system haskell-build-system)
9593 (inputs
9594 `(("ghc-hunit" ,ghc-hunit)))
9595 (home-page
9596 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
9597 (synopsis "Scrap Your Boilerplate")
9598 (description "This package contains the generics system described in the
9599/Scrap Your Boilerplate/ papers (see
9600@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
9601defines the @code{Data} class of types permitting folding and unfolding of
9602constructor applications, instances of this class for primitive types, and a
9603variety of traversals.")
9604 (license license:bsd-3)))
9605
9606(define-public ghc-system-fileio
9607 (package
9608 (name "ghc-system-fileio")
9609 (version "0.3.16.3")
9610 (source
9611 (origin
9612 (method url-fetch)
9613 (uri (string-append
9614 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
9615 version ".tar.gz"))
9616 (sha256
9617 (base32
9618 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
9619 (build-system haskell-build-system)
9620 (inputs
9621 `(("ghc-system-filepath" ,ghc-system-filepath)
9622 ("ghc-chell" ,ghc-chell)
9623 ("ghc-temporary" ,ghc-temporary)))
9624 (home-page "https://github.com/fpco/haskell-filesystem")
9625 (synopsis "Consistent file system interaction across GHC versions")
9626 (description
9627 "This is a small wrapper around the directory, unix, and Win32 packages,
9628for use with system-filepath. It provides a consistent API to the various
9629versions of these packages distributed with different versions of GHC.
9630In particular, this library supports working with POSIX files that have paths
9631which can't be decoded in the current locale encoding.")
9632 (license license:expat)))
9633
9634;; See ghc-system-filepath-bootstrap. In addition this package depends on
9635;; ghc-system-filepath.
9636(define ghc-system-fileio-bootstrap
9637 (package
9638 (name "ghc-system-fileio-bootstrap")
9639 (version "0.3.16.3")
9640 (source
9641 (origin
9642 (method url-fetch)
9643 (uri (string-append
9644 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
9645 version ".tar.gz"))
9646 (sha256
9647 (base32
9648 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
9649 (build-system haskell-build-system)
9650 (arguments
9651 `(#:tests? #f))
9652 (inputs
9653 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9654 ("ghc-temporary" ,ghc-temporary)))
9655 (home-page "https://github.com/fpco/haskell-filesystem")
9656 (synopsis "Consistent file system interaction across GHC versions")
9657 (description
9658 "This is a small wrapper around the directory, unix, and Win32 packages,
9659for use with system-filepath. It provides a consistent API to the various
9660versions of these packages distributed with different versions of GHC.
9661In particular, this library supports working with POSIX files that have paths
9662which can't be decoded in the current locale encoding.")
9663 (license license:expat)))
9664
9665
9666(define-public ghc-system-filepath
9667 (package
9668 (name "ghc-system-filepath")
9669 (version "0.4.14")
9670 (source
9671 (origin
9672 (method url-fetch)
9673 (uri (string-append
9674 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
9675 version ".tar.gz"))
9676 (sha256
9677 (base32
9678 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
9679 (build-system haskell-build-system)
9680 ;; FIXME: One of the tests fails:
9681 ;; [ FAIL ] tests.validity.posix
9682 ;; note: seed=7310214548328823169
9683 ;; *** Failed! Falsifiable (after 24 tests):
9684 ;; 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"
9685 (arguments `(#:tests? #f))
9686 (inputs
9687 `(("ghc-chell" ,ghc-chell)
9688 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
9689 ("ghc-quickcheck" ,ghc-quickcheck)))
9690 (home-page "https://github.com/fpco/haskell-filesystem")
9691 (synopsis "High-level, byte-based file and directory path manipulations")
9692 (description
9693 "Provides a FilePath datatype and utility functions for operating on it.
9694Unlike the filepath package, this package does not simply reuse String,
9695increasing type safety.")
9696 (license license:expat)))
9697
9698;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
9699;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
9700;; which depends on ghc-chell and ghc-chell-quickcheck.
9701;; Therefore we bootstrap it with tests disabled.
9702(define ghc-system-filepath-bootstrap
9703 (package
9704 (name "ghc-system-filepath-bootstrap")
9705 (version "0.4.14")
9706 (source
9707 (origin
9708 (method url-fetch)
9709 (uri (string-append
9710 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
9711 version ".tar.gz"))
9712 (sha256
9713 (base32
9714 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
9715 (build-system haskell-build-system)
9716 (arguments
9717 `(#:tests? #f))
9718 (inputs
9719 `(("ghc-quickcheck" ,ghc-quickcheck)))
9720 (home-page "https://github.com/fpco/haskell-filesystem")
9721 (synopsis "High-level, byte-based file and directory path manipulations")
9722 (description
9723 "Provides a FilePath datatype and utility functions for operating on it.
9724Unlike the filepath package, this package does not simply reuse String,
9725increasing type safety.")
9726 (license license:expat)))
9727
9728
9729(define-public ghc-tagged
9730 (package
9731 (name "ghc-tagged")
9732 (version "0.8.5")
9733 (source
9734 (origin
9735 (method url-fetch)
9736 (uri (string-append
9737 "https://hackage.haskell.org/package/tagged/tagged-"
9738 version
9739 ".tar.gz"))
9740 (sha256
9741 (base32
9742 "16cdzh0bw16nvjnyyy5j9s60malhz4nnazw96vxb0xzdap4m2z74"))))
9743 (build-system haskell-build-system)
9744 (arguments
9745 `(#:cabal-revision
9746 ("2" "0r2knfcq0b4s652vlvlnfwxlc2mkc2ra9kl8bp4zdn1awmfy0ia5")))
9747 (inputs
9748 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
9749 (home-page "https://hackage.haskell.org/package/tagged")
9750 (synopsis "Haskell phantom types to avoid passing dummy arguments")
9751 (description "This library provides phantom types for Haskell 98, to avoid
9752having to unsafely pass dummy arguments.")
9753 (license license:bsd-3)))
9754
9755(define-public ghc-tar
9756 (package
9757 (name "ghc-tar")
9758 (version "0.5.1.0")
9759 (source
9760 (origin
9761 (method url-fetch)
9762 (uri (string-append
9763 "https://hackage.haskell.org/package/tar/tar-"
9764 version ".tar.gz"))
9765 (sha256
9766 (base32
9767 "0s2brvaxg5fki2jdkccmnpssiy6a3wjh24p6a3dkkdvjcixnk7f8"))))
9768 (build-system haskell-build-system)
9769 ;; FIXME: 2/24 tests fail.
9770 (arguments `(#:tests? #f))
9771 (inputs
9772 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
9773 ("ghc-quickcheck" ,ghc-quickcheck)
9774 ("ghc-tasty" ,ghc-tasty)
9775 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9776 (home-page "https://hackage.haskell.org/package/tar")
9777 (synopsis "Reading, writing and manipulating \".tar\" archive files")
9778 (description
9779 "This library is for working with \\\"@.tar@\\\" archive files.
9780It can read and write a range of common variations of the tar archive format
9781including V7, POSIX USTAR and GNU formats. It provides support for packing and
9782unpacking portable archives. This makes it suitable for distribution but not
9783backup because details like file ownership and exact permissions are not
9784preserved. It also provides features for random access to archive content using
9785an index.")
9786 (license license:bsd-3)))
9787
9788(define-public ghc-temporary
9789 (package
9790 (name "ghc-temporary")
9791 (version "1.3")
9792 (source
9793 (origin
9794 (method url-fetch)
9795 (uri (string-append
9796 "https://hackage.haskell.org/package/temporary/temporary-"
9797 version
9798 ".tar.gz"))
9799 (sha256
9800 (base32
9801 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
9802 (build-system haskell-build-system)
9803 (inputs
9804 `(("ghc-exceptions" ,ghc-exceptions)
9805 ("ghc-random" ,ghc-random)))
9806 (native-inputs
9807 `(("ghc-base-compat" ,ghc-base-compat)
9808 ("ghc-tasty" ,ghc-tasty)
9809 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9810 (home-page "https://www.github.com/batterseapower/temporary")
9811 (synopsis "Temporary file and directory support")
9812 (description "The functions for creating temporary files and directories
9813in the Haskelll base library are quite limited. This library just repackages
9814the Cabal implementations of its own temporary file and folder functions so
9815that you can use them without linking against Cabal or depending on it being
9816installed.")
9817 (license license:bsd-3)))
9818
9819(define-public ghc-temporary-rc
9820 (package
9821 (name "ghc-temporary-rc")
9822 (version "1.2.0.3")
9823 (source
9824 (origin
9825 (method url-fetch)
9826 (uri (string-append
9827 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
9828 version
9829 ".tar.gz"))
9830 (sha256
9831 (base32
9832 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
9833 (build-system haskell-build-system)
9834 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
9835 (home-page
9836 "https://www.github.com/feuerbach/temporary")
9837 (synopsis
9838 "Portable temporary file and directory support")
9839 (description
9840 "The functions for creating temporary files and directories in the base
9841library are quite limited. The unixutils package contains some good ones, but
9842they aren't portable to Windows. This library just repackages the Cabal
9843implementations of its own temporary file and folder functions so that you can
9844use them without linking against Cabal or depending on it being installed.
9845This is a better maintained fork of the \"temporary\" package.")
9846 (license license:bsd-3)))
9847
9848(define-public ghc-terminal-size
9849 (package
9850 (name "ghc-terminal-size")
9851 (version "0.3.2.1")
9852 (source (origin
9853 (method url-fetch)
9854 (uri (string-append
9855 "https://hackage.haskell.org/package/terminal-size/"
9856 "terminal-size-" version ".tar.gz"))
9857 (sha256
9858 (base32
9859 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
9860 (build-system haskell-build-system)
9861 (home-page "https://hackage.haskell.org/package/terminal-size")
9862 (synopsis "Get terminal window height and width")
9863 (description "Get terminal window height and width without ncurses
9864dependency.")
9865 (license license:bsd-3)))
9866
9867(define-public ghc-texmath
9868 (package
9869 (name "ghc-texmath")
9870 (version "0.11.0.1")
9871 (source (origin
9872 (method url-fetch)
9873 (uri (string-append "https://hackage.haskell.org/package/"
9874 "texmath/texmath-" version ".tar.gz"))
9875 (sha256
9876 (base32
9877 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
9878 (build-system haskell-build-system)
9879 (inputs
9880 `(("ghc-syb" ,ghc-syb)
9881 ("ghc-network-uri" ,ghc-network-uri)
9882 ("ghc-split" ,ghc-split)
9883 ("ghc-temporary" ,ghc-temporary)
9884 ("ghc-utf8-string" ,ghc-utf8-string)
9885 ("ghc-xml" ,ghc-xml)
9886 ("ghc-pandoc-types" ,ghc-pandoc-types)))
9887 (home-page "https://github.com/jgm/texmath")
9888 (synopsis "Conversion between formats used to represent mathematics")
9889 (description
9890 "The texmath library provides functions to read and write TeX math,
9891presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
9892Office). Support is also included for converting math formats to pandoc's
9893native format (allowing conversion, via pandoc, to a variety of different
9894markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
9895it can parse and apply LaTeX macros.")
9896 (license license:gpl2+)))
9897
9898(define-public ghc-text-binary
9899 (package
9900 (name "ghc-text-binary")
9901 (version "0.2.1.1")
9902 (source
9903 (origin
9904 (method url-fetch)
9905 (uri (string-append "https://hackage.haskell.org/package/"
9906 "text-binary/text-binary-"
9907 version ".tar.gz"))
9908 (sha256
9909 (base32
9910 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
9911 (build-system haskell-build-system)
9912 (home-page "https://github.com/kawu/text-binary")
9913 (synopsis "Binary instances for text types")
9914 (description
9915 "This package provides a compatibility layer providing @code{Binary}
9916instances for strict and lazy text types for versions older than 1.2.1 of the
9917text package.")
9918 (license license:bsd-2)))
9919
9920(define-public ghc-tf-random
9921 (package
9922 (name "ghc-tf-random")
9923 (version "0.5")
9924 (outputs '("out" "doc"))
9925 (source
9926 (origin
9927 (method url-fetch)
9928 (uri (string-append
9929 "https://hackage.haskell.org/package/tf-random/tf-random-"
9930 version
9931 ".tar.gz"))
9932 (sha256
9933 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
9934 (build-system haskell-build-system)
9935 (inputs
9936 `(("ghc-primitive" ,ghc-primitive)
9937 ("ghc-random" ,ghc-random)))
9938 (home-page "https://hackage.haskell.org/package/tf-random")
9939 (synopsis "High-quality splittable pseudorandom number generator")
9940 (description "This package contains an implementation of a high-quality
9941splittable pseudorandom number generator. The generator is based on a
9942cryptographic hash function built on top of the ThreeFish block cipher. See
9943the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
9944Hashing\" by Claessen, Pałka for details and the rationale of the design.")
9945 (license license:bsd-3)))
9946
9947(define-public ghc-th-abstraction
9948 (package
9949 (name "ghc-th-abstraction")
9950 (version "0.2.8.0")
9951 (source
9952 (origin
9953 (method url-fetch)
9954 (uri (string-append "https://hackage.haskell.org/package/"
9955 "th-abstraction/th-abstraction-"
9956 version ".tar.gz"))
9957 (sha256
9958 (base32
9959 "0n17w4q2ykd0nica4sck2wng6md56rfad8x0icl0l8vnzb9nn4ya"))))
9960 (build-system haskell-build-system)
9961 (home-page "https://github.com/glguy/th-abstraction")
9962 (synopsis "Nicer interface for reified information about data types")
9963 (description
9964 "This package normalizes variations in the interface for inspecting
9965datatype information via Template Haskell so that packages and support a
9966single, easier to use informational datatype while supporting many versions of
9967Template Haskell.")
9968 (license license:isc)))
9969
9970(define-public ghc-th-expand-syns
9971 (package
9972 (name "ghc-th-expand-syns")
9973 (version "0.4.4.0")
9974 (source (origin
9975 (method url-fetch)
9976 (uri (string-append "https://hackage.haskell.org/package/"
9977 "th-expand-syns/th-expand-syns-"
9978 version ".tar.gz"))
9979 (sha256
9980 (base32
9981 "01prlvh3py5hq5ccjidfyp9ixq2zd88dkbsidyjrpkja6v8m43yc"))))
9982 (build-system haskell-build-system)
9983 (inputs
9984 `(("ghc-syb" ,ghc-syb)))
9985 (home-page "https://hackage.haskell.org/package/th-expand-syns")
9986 (synopsis "Expands type synonyms in Template Haskell ASTs")
9987 (description
9988 "This package enables users to expand type synonyms in Template Haskell
9989@dfn{abstract syntax trees} (ASTs).")
9990 (license license:bsd-3)))
9991
9992(define-public ghc-th-lift
9993 (package
9994 (name "ghc-th-lift")
9995 (version "0.7.11")
9996 (source (origin
9997 (method url-fetch)
9998 (uri (string-append "https://hackage.haskell.org/package/"
9999 "th-lift/th-lift-" version ".tar.gz"))
10000 (sha256
10001 (base32
10002 "131360zxb0hazbqwbkk6ab2p77jkxr79bwwm618mrwrwkm3x2g6m"))))
10003 (build-system haskell-build-system)
10004 (inputs
10005 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10006 (home-page "https://github.com/mboes/th-lift")
10007 (synopsis "Derive Template Haskell's Lift class for datatypes")
10008 (description
10009 "This is a Haskell library to derive Template Haskell's Lift class for
10010datatypes.")
10011 (license license:bsd-3)))
10012
10013(define-public ghc-th-lift-instances
10014 (package
10015 (name "ghc-th-lift-instances")
10016 (version "0.1.11")
10017 (source
10018 (origin
10019 (method url-fetch)
10020 (uri (string-append "https://hackage.haskell.org/package/"
10021 "th-lift-instances/th-lift-instances-"
10022 version ".tar.gz"))
10023 (sha256
10024 (base32
10025 "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x"))))
10026 (build-system haskell-build-system)
10027 (inputs
10028 `(("ghc-th-lift" ,ghc-th-lift)
10029 ("ghc-vector" ,ghc-vector)
10030 ("ghc-quickcheck" ,ghc-quickcheck)))
10031 (home-page "https://github.com/bennofs/th-lift-instances/")
10032 (synopsis "Lift instances for template-haskell for common data types.")
10033 (description "Most data types in the Haskell platform do not have Lift
10034instances. This package provides orphan instances for @code{containers},
10035@code{text}, @code{bytestring} and @code{vector}.")
10036 (license license:bsd-3)))
10037
10038(define-public ghc-th-orphans
10039 (package
10040 (name "ghc-th-orphans")
10041 (version "0.13.6")
10042 (source (origin
10043 (method url-fetch)
10044 (uri (string-append "https://hackage.haskell.org/package/"
10045 "th-orphans/th-orphans-" version ".tar.gz"))
10046 (sha256
10047 (base32
10048 "0sfl3pn9kq9da3ji3lsgzgzy82vz6yvsg80dmakc1jvk7awycibp"))))
10049 (build-system haskell-build-system)
10050 (inputs
10051 `(("ghc-th-lift" ,ghc-th-lift)
10052 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10053 ("ghc-th-reify-many" ,ghc-th-reify-many)
10054 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10055 (native-inputs
10056 `(("ghc-hspec" ,ghc-hspec)))
10057 (home-page "https://hackage.haskell.org/package/th-orphans")
10058 (synopsis "Orphan instances for TH datatypes")
10059 (description
10060 "This package provides orphan instances for Template Haskell datatypes. In particular,
10061instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10062and @code{Eq} instances. These instances used to live in the haskell-src-meta
10063package, and that's where the version number started.")
10064 (license license:bsd-3)))
10065
10066(define-public ghc-threads
10067 (package
10068 (name "ghc-threads")
10069 (version "0.5.1.6")
10070 (source
10071 (origin
10072 (method url-fetch)
10073 (uri (string-append "https://hackage.haskell.org/package/"
10074 "threads/threads-" version ".tar.gz"))
10075 (sha256
10076 (base32
10077 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10078 (build-system haskell-build-system)
10079 (native-inputs
10080 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10081 ("ghc-hunit" ,ghc-hunit)
10082 ("ghc-test-framework" ,ghc-test-framework)
10083 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10084 (home-page "https://github.com/basvandijk/threads")
10085 (synopsis "Fork threads and wait for their result")
10086 (description "This package provides functions to fork threads and
10087wait for their result, whether it's an exception or a normal value.
10088Besides waiting for the termination of a single thread this package also
10089provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10090package is similar to the @code{threadmanager}, @code{async} and
10091@code{spawn} packages. The advantages of this package are:
10092
dddbc90c
RV
10093@itemize
10094@item Simpler API.
10095@item More efficient in both space and time.
10096@item No space-leak when forking a large number of threads.
10097@item Correct handling of asynchronous exceptions.
10098@item GHC specific functionality like @code{forkOn} and
10099@code{forkIOWithUnmask}.
10100@end itemize")
10101 (license license:bsd-3)))
10102
10103(define-public ghc-th-reify-many
10104 (package
10105 (name "ghc-th-reify-many")
10106 (version "0.1.8")
10107 (source (origin
10108 (method url-fetch)
10109 (uri (string-append "https://hackage.haskell.org/package/"
10110 "th-reify-many/th-reify-many-"
10111 version ".tar.gz"))
10112 (sha256
10113 (base32
10114 "0hzy6hvhvcd6i60vx5cp2b7ggmnnjh9rx4h8bm8xw4grglcaxjnf"))))
10115 (build-system haskell-build-system)
10116 (inputs
10117 `(("ghc-safe" ,ghc-safe)
10118 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10119 (home-page "https://github.com/mgsloan/th-reify-many")
10120 (synopsis "Recurseively reify template haskell datatype info")
10121 (description
10122 "th-reify-many provides functions for recursively reifying top level
10123declarations. The main intended use case is for enumerating the names of
10124datatypes reachable from an initial datatype, and passing these names to some
10125function which generates instances.")
10126 (license license:bsd-3)))
10127
10128(define-public ghc-time-locale-compat
10129 (package
10130 (name "ghc-time-locale-compat")
10131 (version "0.1.1.5")
10132 (source
10133 (origin
10134 (method url-fetch)
10135 (uri (string-append "https://hackage.haskell.org/package/"
10136 "time-locale-compat/time-locale-compat-"
10137 version ".tar.gz"))
10138 (sha256
10139 (base32
10140 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10141 (build-system haskell-build-system)
10142 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10143 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10144 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10145 (description "This package contains a wrapped name module for
10146@code{TimeLocale}.")
10147 (license license:bsd-3)))
10148
7bbfa392
JS
10149(define-public ghc-timeit
10150 (package
10151 (name "ghc-timeit")
10152 (version "2.0")
10153 (source
10154 (origin
10155 (method url-fetch)
10156 (uri
10157 (string-append
10158 "https://hackage.haskell.org/package/timeit/timeit-"
10159 version ".tar.gz"))
10160 (sha256
10161 (base32
10162 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
10163 (build-system haskell-build-system)
10164 (home-page "https://github.com/merijn/timeit")
10165 (synopsis "Time monadic computations with an IO base")
10166 (description "This package provides a simple wrapper to show the
10167used CPU time of monadic computation with an IO base.")
10168 (license license:bsd-3)))
10169
dddbc90c
RV
10170(define-public ghc-tldr
10171 (package
10172 (name "ghc-tldr")
10173 (version "0.4.0.1")
10174 (source
10175 (origin
10176 (method url-fetch)
10177 (uri (string-append
10178 "https://hackage.haskell.org/package/tldr/tldr-"
10179 version
10180 ".tar.gz"))
10181 (sha256
10182 (base32
10183 "0nc581y9jjzwd8l88g48c72mla7k6q1w102akl7gl5jsk9ljamd3"))))
10184 (build-system haskell-build-system)
10185 (inputs
10186 `(("ghc-cmark" ,ghc-cmark)
10187 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10188 ("ghc-typed-process" ,ghc-typed-process)
10189 ("ghc-semigroups" ,ghc-semigroups)))
10190 (native-inputs
10191 `(("ghc-tasty" ,ghc-tasty)
10192 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10193 (home-page "https://github.com/psibi/tldr-hs#readme")
10194 (synopsis "Haskell tldr client")
10195 (description "This package provides the @command{tldr} command and a
10196Haskell client library allowing users to update and view @code{tldr} pages
10197from a shell. The @code{tldr} pages are a community effort to simplify the
10198man pages with practical examples.")
10199 (license license:bsd-3)))
10200
10201(define-public ghc-transformers-base
10202 (package
10203 (name "ghc-transformers-base")
10204 (version "0.4.5.2")
10205 (source
10206 (origin
10207 (method url-fetch)
10208 (uri (string-append
10209 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10210 version
10211 ".tar.gz"))
10212 (sha256
10213 (base32
10214 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10215 (build-system haskell-build-system)
10216 (inputs
10217 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10218 (home-page
10219 "https://hackage.haskell.org/package/transformers-compat")
10220 (synopsis
10221 "Backported transformer library")
10222 (description
10223 "Backported versions of types that were added to transformers in
10224transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10225compatibility to run on old versions of the platform.")
10226 (license license:bsd-3)))
10227
10228(define-public ghc-transformers-compat
10229 (package
10230 (name "ghc-transformers-compat")
10231 (version "0.6.2")
10232 (source
10233 (origin
10234 (method url-fetch)
10235 (uri (string-append
10236 "https://hackage.haskell.org/package/transformers-compat"
10237 "/transformers-compat-" version ".tar.gz"))
10238 (sha256
10239 (base32
10240 "1gp4a8kvniwgm8947ghb4iwv4b7wd6ry4kvv4nfnym4agf5j41nw"))))
10241 (build-system haskell-build-system)
10242 (home-page "https://github.com/ekmett/transformers-compat/")
10243 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10244 (description "This package includes backported versions of types that were
10245added to transformers in transformers 0.3 and 0.4 for users who need strict
10246transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10247but also need those types.")
10248 (license license:bsd-3)))
10249
10250(define-public ghc-tree-diff
10251 (package
10252 (name "ghc-tree-diff")
10253 (version "0.0.1")
10254 (source
10255 (origin
10256 (method url-fetch)
10257 (uri (string-append
10258 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10259 version
10260 ".tar.gz"))
10261 (sha256
10262 (base32
10263 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10264 (build-system haskell-build-system)
10265 (arguments
10266 `(#:cabal-revision
10267 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10268 #:phases
10269 (modify-phases %standard-phases
10270 (add-before 'configure 'update-constraints
10271 (lambda _
10272 (substitute* "tree-diff.cabal"
10273 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10274 "trifecta >=1.7.1.1 && <=2")))))))
10275 (inputs
10276 `(("ghc-aeson" ,ghc-aeson)
10277 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10278 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10279 ("ghc-base-compat" ,ghc-base-compat)
10280 ("ghc-generics-sop" ,ghc-generics-sop)
10281 ("ghc-hashable" ,ghc-hashable)
10282 ("ghc-memotrie" ,ghc-memotrie)
10283 ("ghc-parsers" ,ghc-parsers)
10284 ("ghc-quickcheck" ,ghc-quickcheck)
10285 ("ghc-scientific" ,ghc-scientific)
10286 ("ghc-tagged" ,ghc-tagged)
10287 ("ghc-unordered-containers" ,ghc-unordered-containers)
10288 ("ghc-uuid-types" ,ghc-uuid-types)
10289 ("ghc-vector" ,ghc-vector)))
10290 (native-inputs
10291 `(("ghc-base-compat" ,ghc-base-compat)
10292 ("ghc-quickcheck" ,ghc-quickcheck)
10293 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10294 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10295 ("ghc-trifecta" ,ghc-trifecta)
10296 ("ghc-tasty" ,ghc-tasty)
10297 ("ghc-tasty-golden" ,ghc-tasty-golden)
10298 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10299 (home-page "https://github.com/phadej/tree-diff")
10300 (synopsis "Compute difference between (expression) trees")
10301 (description "This Haskell library provides a function for computing
10302the difference between (expression) trees. It also provides a way to
10303compute the difference between arbitrary abstract datatypes (ADTs) using
10304@code{Generics}-derivable helpers.")
10305 (license license:bsd-3)))
10306
10307(define-public ghc-trifecta
10308 (package
10309 (name "ghc-trifecta")
10310 (version "2")
10311 (source (origin
10312 (method url-fetch)
10313 (uri (string-append
10314 "https://hackage.haskell.org/package/trifecta/"
10315 "trifecta-" version ".tar.gz"))
10316 (sha256
10317 (base32
10318 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10319 (build-system haskell-build-system)
10320 (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
10321 (inputs
10322 `(("ghc-reducers" ,ghc-reducers)
10323 ("ghc-semigroups" ,ghc-semigroups)
10324 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10325 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10326 ("ghc-blaze-builder" ,ghc-blaze-builder)
10327 ("ghc-blaze-html" ,ghc-blaze-html)
10328 ("ghc-blaze-markup" ,ghc-blaze-markup)
10329 ("ghc-charset" ,ghc-charset)
10330 ("ghc-comonad" ,ghc-comonad)
10331 ("ghc-fingertree" ,ghc-fingertree)
10332 ("ghc-hashable" ,ghc-hashable)
10333 ("ghc-lens" ,ghc-lens)
10334 ("ghc-parsers" ,ghc-parsers)
10335 ("ghc-profunctors" ,ghc-profunctors)
10336 ("ghc-unordered-containers" ,ghc-unordered-containers)
10337 ("ghc-utf8-string" ,ghc-utf8-string)))
10338 (native-inputs
10339 `(("cabal-doctest" ,cabal-doctest)
10340 ("ghc-doctest" ,ghc-doctest)
10341 ("ghc-quickcheck" ,ghc-quickcheck)))
10342 (home-page "https://github.com/ekmett/trifecta/")
10343 (synopsis "Parser combinator library with convenient diagnostics")
10344 (description "Trifecta is a modern parser combinator library for Haskell,
10345with slicing and Clang-style colored diagnostics.")
10346 (license license:bsd-3)))
10347
10348(define-public ghc-tuple-th
10349 (package
10350 (name "ghc-tuple-th")
10351 (version "0.2.5")
10352 (source
10353 (origin
10354 (method url-fetch)
10355 (uri (string-append "https://hackage.haskell.org/package/"
10356 "tuple-th-" version "/"
10357 "tuple-th-" version ".tar.gz"))
10358 (sha256
10359 (base32
10360 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10361 (build-system haskell-build-system)
10362 (home-page "https://github.com/DanielSchuessler/tuple-th")
10363 (synopsis "Generate utility functions for tuples of statically known size
10364for Haskell")
10365 (description "This Haskell package contains Template Haskell functions for
10366generating functions similar to those in @code{Data.List} for tuples of
10367statically known size.")
10368 (license license:bsd-3)))
10369
10370(define-public ghc-typed-process
10371 (package
10372 (name "ghc-typed-process")
10373 (version "0.2.3.0")
10374 (source
10375 (origin
10376 (method url-fetch)
10377 (uri (string-append "https://hackage.haskell.org/package/"
10378 "typed-process/typed-process-"
10379 version ".tar.gz"))
10380 (sha256
10381 (base32
10382 "0j36vrc9w841m5qbwqra1lwiznx31xfnhin1sm8x2c2739csbpn0"))))
10383 (build-system haskell-build-system)
10384 (inputs
10385 `(("ghc-async" ,ghc-async)))
10386 (native-inputs
10387 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10388 ("ghc-hspec" ,ghc-hspec)
10389 ("hspec-discover" ,hspec-discover)
10390 ("ghc-temporary" ,ghc-temporary)))
10391 (home-page "https://haskell-lang.org/library/typed-process")
10392 (synopsis "Run external processes with strong typing of streams")
10393 (description
10394 "This library provides the ability to launch and interact with external
10395processes. It wraps around the @code{process} library, and intends to improve
10396upon it.")
10397 (license license:expat)))
10398
10399(define-public ghc-unbounded-delays
10400 (package
10401 (name "ghc-unbounded-delays")
10402 (version "0.1.1.0")
10403 (source
10404 (origin
10405 (method url-fetch)
10406 (uri (string-append
10407 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
10408 version
10409 ".tar.gz"))
10410 (sha256
10411 (base32
10412 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
10413 (build-system haskell-build-system)
10414 (home-page "https://github.com/basvandijk/unbounded-delays")
10415 (synopsis "Unbounded thread delays and timeouts")
10416 (description "The @code{threadDelay} and @code{timeout} functions from the
10417Haskell base library use the bounded @code{Int} type for specifying the delay
10418or timeout period. This package provides alternative functions which use the
10419unbounded @code{Integer} type.")
10420 (license license:bsd-3)))
10421
10422(define-public ghc-unexceptionalio
10423 (package
10424 (name "ghc-unexceptionalio")
10425 (version "0.4.0")
10426 (source
10427 (origin
10428 (method url-fetch)
10429 (uri (string-append "https://hackage.haskell.org/package/"
10430 "unexceptionalio-" version "/" "unexceptionalio-"
10431 version ".tar.gz"))
10432 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
10433 (build-system haskell-build-system)
10434 (home-page "https://github.com/singpolyma/unexceptionalio")
10435 (synopsis "IO without any non-error, synchronous exceptions")
10436 (description "When you've caught all the exceptions that can be
10437handled safely, this is what you're left with.")
10438 (license license:isc)))
10439
10440(define-public ghc-union-find
10441 (package
10442 (name "ghc-union-find")
10443 (version "0.2")
10444 (source (origin
10445 (method url-fetch)
10446 (uri (string-append
10447 "https://hackage.haskell.org/package/union-find/union-find-"
10448 version ".tar.gz"))
10449 (sha256
10450 (base32
10451 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
10452 (build-system haskell-build-system)
10453 (home-page "https://github.com/nominolo/union-find")
10454 (synopsis "Efficient union and equivalence testing of sets")
10455 (description
10456 "The Union/Find algorithm implements these operations in (effectively)
10457constant-time:
10458@enumerate
10459@item Check whether two elements are in the same equivalence class.
10460@item Create a union of two equivalence classes.
10461@item Look up the descriptor of the equivalence class.
10462@end enumerate\n")
10463 (license license:bsd-3)))
10464
10465(define-public ghc-uniplate
10466 (package
10467 (name "ghc-uniplate")
10468 (version "1.6.12")
10469 (source
10470 (origin
10471 (method url-fetch)
10472 (uri (string-append
10473 "https://hackage.haskell.org/package/uniplate/uniplate-"
10474 version
10475 ".tar.gz"))
10476 (sha256
10477 (base32
10478 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
10479 (build-system haskell-build-system)
10480 (inputs
10481 `(("ghc-syb" ,ghc-syb)
10482 ("ghc-hashable" ,ghc-hashable)
10483 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10484 (home-page "http://community.haskell.org/~ndm/uniplate/")
10485 (synopsis "Simple, concise and fast generic operations")
10486 (description "Uniplate is a library for writing simple and concise generic
10487operations. Uniplate has similar goals to the original Scrap Your Boilerplate
10488work, but is substantially simpler and faster.")
10489 (license license:bsd-3)))
10490
10491(define-public ghc-unix-compat
10492 (package
10493 (name "ghc-unix-compat")
10494 (version "0.5.1")
10495 (source
10496 (origin
10497 (method url-fetch)
10498 (uri (string-append
10499 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
10500 version
10501 ".tar.gz"))
10502 (sha256
10503 (base32
10504 "0llwl7rp63fy2ychwdclz1afj45pbin5pfl01dvn6rwhvmwhr7d3"))))
10505 (build-system haskell-build-system)
10506 (home-page
10507 "https://github.com/jystic/unix-compat")
10508 (synopsis "Portable POSIX-compatibility layer")
10509 (description
10510 "This package provides portable implementations of parts of the unix
10511package. This package re-exports the unix package when available. When it
10512isn't available, portable implementations are used.")
10513 (license license:bsd-3)))
10514
10515(define-public ghc-unix-time
10516 (package
10517 (name "ghc-unix-time")
10518 (version "0.3.8")
10519 (source
10520 (origin
10521 (method url-fetch)
10522 (uri (string-append
10523 "https://hackage.haskell.org/package/unix-time/unix-time-"
10524 version
10525 ".tar.gz"))
10526 (sha256
10527 (base32
10528 "051slgpid5cxiaw203ky0ql3823h28fcjs08axkzd4265wrvv8fw"))))
10529 (build-system haskell-build-system)
10530 (arguments
10531 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
10532 ; is weird, that should be provided by GHC 7.10.2.
10533 (inputs
10534 `(("ghc-old-time" ,ghc-old-time)
10535 ("ghc-old-locale" ,ghc-old-locale)))
10536 (home-page "https://hackage.haskell.org/package/unix-time")
10537 (synopsis "Unix time parser/formatter and utilities")
10538 (description "This library provides fast parsing and formatting utilities
10539for Unix time in Haskell.")
10540 (license license:bsd-3)))
10541
10542(define-public ghc-unliftio
10543 (package
10544 (name "ghc-unliftio")
10545 (version "0.2.7.0")
10546 (source
10547 (origin
10548 (method url-fetch)
10549 (uri (string-append
10550 "https://hackage.haskell.org/package/unliftio/unliftio-"
10551 version
10552 ".tar.gz"))
10553 (sha256
10554 (base32
10555 "0qql93lq5w7qghl454cc3s1i8v1jb4h08n82fqkw0kli4g3g9njs"))))
10556 (build-system haskell-build-system)
10557 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
10558 (inputs
10559 `(("ghc-async" ,ghc-async)
10560 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10561 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
10562 (home-page "https://github.com/fpco/unliftio")
10563 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
10564IO (batteries included)")
10565 (description "This Haskell package provides the core @code{MonadUnliftIO}
10566typeclass, a number of common instances, and a collection of common functions
10567working with it.")
10568 (license license:expat)))
10569
10570(define-public ghc-unliftio-core
10571 (package
10572 (name "ghc-unliftio-core")
10573 (version "0.1.1.0")
10574 (source
10575 (origin
10576 (method url-fetch)
10577 (uri (string-append "https://hackage.haskell.org/package/"
10578 "unliftio-core-" version "/"
10579 "unliftio-core-" version ".tar.gz"))
10580 (sha256
10581 (base32
10582 "1193fplsjm1lcr05xwvkj1rsyzx74i755f6kw3ikmxbsv0bv0l3m"))))
10583 (build-system haskell-build-system)
10584 (arguments
10585 `(#:cabal-revision
10586 ("1" "16bjwcsaghqqmyi69rq65dn3ydifyfaabq3ns37apdm00mwqbcj2")))
10587 (home-page
10588 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
10589 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
10590 (description "This Haskell package provides the core @code{MonadUnliftIO}
10591typeclass, instances for base and transformers, and basic utility
10592functions.")
10593 (license license:expat)))
10594
10595(define-public ghc-unordered-containers
10596 (package
10597 (name "ghc-unordered-containers")
10598 (version "0.2.9.0")
10599 (outputs '("out" "doc"))
10600 (source
10601 (origin
10602 (method url-fetch)
10603 (uri (string-append
10604 "https://hackage.haskell.org/package/unordered-containers"
10605 "/unordered-containers-" version ".tar.gz"))
10606 (sha256
10607 (base32
10608 "0l4264p0av12cc6i8gls13q8y27x12z2ar4x34n3x59y99fcnc37"))))
10609 (build-system haskell-build-system)
10610 (inputs
10611 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
10612 ("ghc-hunit" ,ghc-hunit)
10613 ("ghc-quickcheck" ,ghc-quickcheck)
10614 ("ghc-test-framework" ,ghc-test-framework)
10615 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10616 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
10617 ("ghc-hashable" ,ghc-hashable)))
10618 (home-page
10619 "https://github.com/tibbe/unordered-containers")
10620 (synopsis
10621 "Efficient hashing-based container types")
10622 (description
10623 "Efficient hashing-based container types. The containers have been
10624optimized for performance critical use, both in terms of large data quantities
10625and high speed.")
10626 (license license:bsd-3)))
10627
10628(define-public ghc-unordered-containers-bootstrap
10629 (package
10630 (inherit ghc-unordered-containers)
10631 (name "ghc-unordered-containers-bootstrap")
10632 (arguments `(#:tests? #f))
10633 (inputs
10634 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
10635 (properties '(hidden? #t))))
10636
a52f4c57
JS
10637(define-public ghc-unsafe
10638 (package
10639 (name "ghc-unsafe")
10640 (version "0.0")
10641 (source
10642 (origin
10643 (method url-fetch)
10644 (uri
10645 (string-append
10646 "https://hackage.haskell.org/package/unsafe/unsafe-"
10647 version ".tar.gz"))
10648 (sha256
10649 (base32
10650 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
10651 (build-system haskell-build-system)
10652 (home-page "https://hackage.haskell.org/package/unsafe")
10653 (synopsis "Unified interface to unsafe functions")
10654 (description "Safe Haskell introduced the notion of safe and unsafe
10655modules. In order to make as many as possible modules ``safe'', the
10656well-known unsafe functions were moved to distinguished modules. This
10657makes it hard to write packages that work with both old and new versions
10658of GHC. This package provides a single module System.Unsafe that
10659exports the unsafe functions from the base package. It provides them in
10660a style ready for qualification, that is, you should import them by
10661@code{import qualified System.Unsafe as Unsafe}.")
10662 (license license:bsd-3)))
10663
dddbc90c
RV
10664(define-public ghc-uri-bytestring
10665 (package
10666 (name "ghc-uri-bytestring")
10667 (version "0.3.2.0")
10668 (source
10669 (origin
10670 (method url-fetch)
10671 (uri (string-append "https://hackage.haskell.org/package/"
10672 "uri-bytestring-" version "/"
10673 "uri-bytestring-" version ".tar.gz"))
10674 (sha256
10675 (base32
10676 "1q04j5ybvk37zk2m0bkjwyhblz0ymdj0cn4rvsvdca1ikn5xdv5c"))))
10677 (build-system haskell-build-system)
10678 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
10679 ("ghc-fail" ,ghc-fail)
10680 ("ghc-blaze-builder" ,ghc-blaze-builder)
10681 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
10682 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
10683 ("ghc-hunit" ,ghc-hunit)
10684 ("ghc-quickcheck" ,ghc-quickcheck)
10685 ("ghc-tasty" ,ghc-tasty)
10686 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10687 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10688 ("ghc-base-compat" ,ghc-base-compat)
10689 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
10690 ("ghc-semigroups" ,ghc-semigroups)
10691 ("ghc-generics-sop" ,ghc-generics-sop)))
10692 (home-page "https://github.com/Soostone/uri-bytestring")
10693 (synopsis "Haskell URI parsing as ByteStrings")
10694 (description "This Haskell package aims to be an RFC3986 compliant URI
10695parser that uses ByteStrings for parsing and representing the URI data.")
10696 (license license:bsd-3)))
10697
10698(define-public ghc-utf8-string
10699 (package
10700 (name "ghc-utf8-string")
10701 (version "1.0.1.1")
10702 (source
10703 (origin
10704 (method url-fetch)
10705 (uri (string-append
10706 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
10707 version
10708 ".tar.gz"))
10709 (sha256
10710 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
10711 (build-system haskell-build-system)
10712 (arguments
10713 `(#:cabal-revision
10714 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
10715 (home-page "https://github.com/glguy/utf8-string/")
10716 (synopsis "Support for reading and writing UTF8 Strings")
10717 (description
10718 "A UTF8 layer for Strings. The utf8-string package provides operations
10719for encoding UTF8 strings to Word8 lists and back, and for reading and writing
10720UTF8 without truncation.")
10721 (license license:bsd-3)))
10722
10723(define-public ghc-utility-ht
10724 (package
10725 (name "ghc-utility-ht")
10726 (version "0.0.14")
10727 (home-page "https://hackage.haskell.org/package/utility-ht")
10728 (source
10729 (origin
10730 (method url-fetch)
10731 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
10732 (sha256
10733 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
10734 (build-system haskell-build-system)
10735 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
10736 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
10737 (description "This package includes Hakell modules providing various
10738helper functions for Lists, Maybes, Tuples, Functions.")
10739 (license license:bsd-3)))
10740
10741(define-public ghc-uuid
10742 (package
10743 (name "ghc-uuid")
10744 (version "1.3.13")
10745 (source
10746 (origin
10747 (method url-fetch)
10748 (uri (string-append "https://hackage.haskell.org/package/"
10749 "uuid-" version "/"
10750 "uuid-" version ".tar.gz"))
10751 (sha256
10752 (base32
10753 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
10754 (build-system haskell-build-system)
10755 (arguments
10756 `(#:cabal-revision
10757 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
10758 #:phases
10759 (modify-phases %standard-phases
10760 (add-before 'configure 'strip-test-framework-constraints
10761 (lambda _
10762 (substitute* "uuid.cabal"
10763 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
10764 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
10765 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
10766 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
10767 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
10768 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
10769 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
10770 ("ghc-entropy" ,ghc-entropy)
10771 ("ghc-network-info" ,ghc-network-info)
10772 ("ghc-random" ,ghc-random)
10773 ("ghc-uuid-types" ,ghc-uuid-types)))
10774 (native-inputs `(("ghc-hunit" ,ghc-hunit)
10775 ("ghc-quickcheck" ,ghc-quickcheck)
10776 ("ghc-tasty" ,ghc-tasty)
10777 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10778 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10779 (home-page "https://github.com/hvr/uuid")
10780 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
10781 (description "This Haskell library provides utilities creating, comparing,
10782parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
10783 (license license:bsd-3)))
10784
10785(define-public ghc-uuid-types
10786 (package
10787 (name "ghc-uuid-types")
10788 (version "1.0.3")
10789 (source
10790 (origin
10791 (method url-fetch)
10792 (uri (string-append "https://hackage.haskell.org/package/"
10793 "uuid-types-" version "/"
10794 "uuid-types-" version ".tar.gz"))
10795 (sha256
10796 (base32
10797 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
10798 (build-system haskell-build-system)
10799 (arguments
10800 `(#:phases
10801 (modify-phases %standard-phases
10802 (add-before 'configure 'strip-test-framework-constraints
10803 (lambda _
10804 (substitute* "uuid-types.cabal"
10805 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
10806 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
10807 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
10808 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
10809 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
10810 (inputs `(("ghc-hashable" ,ghc-hashable)
10811 ("ghc-random" ,ghc-random)))
10812 (native-inputs `(("ghc-hunit" ,ghc-hunit)
10813 ("ghc-quickcheck" ,ghc-quickcheck)
10814 ("ghc-tasty" ,ghc-tasty)
10815 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10816 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10817 (home-page "https://github.com/hvr/uuid")
10818 (synopsis "Haskell type definitions for UUIDs")
10819 (description "This Haskell library contains type definitions for
10820@dfn{Universally Unique Identifiers} or
10821@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
10822functions.")
10823 (license license:bsd-3)))
10824
10825(define-public ghc-validation
10826 (package
10827 (name "ghc-validation")
10828 (version "1")
10829 (source
10830 (origin
10831 (method url-fetch)
10832 (uri (string-append
10833 "mirror://hackage/package/validation/validation-"
10834 version
10835 ".tar.gz"))
10836 (sha256
10837 (base32
10838 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
10839 (build-system haskell-build-system)
10840 (arguments
10841 `(#:cabal-revision
10842 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
10843 (inputs
10844 `(("ghc-semigroups" ,ghc-semigroups)
10845 ("ghc-semigroupoids" ,ghc-semigroupoids)
10846 ("ghc-bifunctors" ,ghc-bifunctors)
10847 ("ghc-lens" ,ghc-lens)))
10848 (native-inputs
10849 `(("ghc-hedgehog" ,ghc-hedgehog)
10850 ("ghc-hunit" ,ghc-hunit)))
10851 (home-page "https://github.com/qfpl/validation")
10852 (synopsis
10853 "Data-type like Either but with an accumulating Applicative")
10854 (description
10855 "A data-type like Either but with differing properties and type-class
10856instances.
10857
10858Library support is provided for this different representation, including
10859@code{lens}-related functions for converting between each and abstracting over
10860their similarities.
10861
10862The @code{Validation} data type is isomorphic to @code{Either}, but has an
10863instance of @code{Applicative} that accumulates on the error side. That is to
10864say, if two (or more) errors are encountered, they are appended using a
10865@{Semigroup} operation.
10866
10867As a consequence of this @code{Applicative} instance, there is no
10868corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
10869example of, \"An applicative functor that is not a monad.\"")
10870 (license license:bsd-3)))
10871
10872(define-public ghc-validity
10873 (package
10874 (name "ghc-validity")
10875 (version "0.7.0.0")
10876 (source
10877 (origin
10878 (method url-fetch)
10879 (uri (string-append
10880 "https://hackage.haskell.org/package/validity/validity-"
10881 version
10882 ".tar.gz"))
10883 (sha256
10884 (base32
10885 "0xribw98amafihw87ddajk6vlirp7w9b26lrnjgq7jfm4710j95f"))))
10886 (build-system haskell-build-system)
10887 (native-inputs `(("ghc-hspec" ,ghc-hspec)
10888 ("hspec-discover" ,hspec-discover)))
10889 (home-page
10890 "https://github.com/NorfairKing/validity")
10891 (synopsis "Validity typeclass")
10892 (description
10893 "Values of custom types usually have invariants imposed upon them. This
10894package provides the @code{Validity} type class, which makes these invariants
10895explicit by providing a function to check whether the invariants hold.")
10896 (license license:expat)))
10897
10898(define-public ghc-vault
10899 (package
10900 (name "ghc-vault")
10901 (version "0.3.1.2")
10902 (source
10903 (origin
10904 (method url-fetch)
10905 (uri (string-append
10906 "https://hackage.haskell.org/package/vault/vault-"
10907 version
10908 ".tar.gz"))
10909 (sha256
10910 (base32
10911 "072mbrihsdsb8c6xvg6lvk0rqjgvxvi8qkg4n6wwym5hq0pfa04y"))))
10912 (build-system haskell-build-system)
10913 (inputs
10914 `(("ghc-unordered-containers" ,ghc-unordered-containers)
10915 ("ghc-hashable" ,ghc-hashable)
10916 ("ghc-semigroupoids" ,ghc-semigroupoids)))
10917 (home-page
10918 "https://github.com/HeinrichApfelmus/vault")
10919 (synopsis "Persistent store for arbitrary values")
10920 (description "This package provides vaults for Haskell. A vault is a
10921persistent store for values of arbitrary types. It's like having first-class
10922access to the storage space behind @code{IORefs}. The data structure is
10923analogous to a bank vault, where you can access different bank boxes with
10924different keys; hence the name. Also provided is a @code{locker} type,
10925representing a store for a single element.")
10926 (license license:bsd-3)))
10927
10928(define-public ghc-vector
10929 (package
10930 (name "ghc-vector")
10931 (version "0.12.0.1")
10932 (outputs '("out" "doc"))
10933 (source
10934 (origin
10935 (method url-fetch)
10936 (uri (string-append
10937 "https://hackage.haskell.org/package/vector/vector-"
10938 version
10939 ".tar.gz"))
10940 (sha256
10941 (base32
10942 "0yrx2ypiaxahvaz84af5bi855hd3107kxkbqc8km29nsp5wyw05i"))))
10943 (build-system haskell-build-system)
10944 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
10945 ;; disabled for now.
10946 (arguments
10947 `(#:cabal-revision
10948 ("3" "0y5rh8k710i2a3p1h2rghvr5cfg78p5h0kbfi7ifxqqf6pzlyr1x")
10949 #:tests? #f))
10950 (inputs
10951 `(("ghc-primitive" ,ghc-primitive)
10952 ("ghc-random" ,ghc-random)
10953 ("ghc-quickcheck" ,ghc-quickcheck)
10954 ;; ("ghc-hunit" ,ghc-hunit)
10955 ;; ("ghc-test-framework" ,ghc-test-framework)
10956 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10957 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
10958 ))
10959 (home-page "https://github.com/haskell/vector")
10960 (synopsis "Efficient Arrays")
10961 (description "This library provides an efficient implementation of
10962Int-indexed arrays (both mutable and immutable), with a powerful loop
10963optimisation framework.")
10964 (license license:bsd-3)))
10965
10966(define-public ghc-vector-algorithms
10967 (package
10968 (name "ghc-vector-algorithms")
10969 (version "0.7.0.4")
10970 (source
10971 (origin
10972 (method url-fetch)
10973 (uri (string-append "https://hackage.haskell.org/package/"
10974 "vector-algorithms-" version "/"
10975 "vector-algorithms-" version ".tar.gz"))
10976 (sha256
10977 (base32
10978 "0mfa8ig9v69l41p2vb5jl4qmaln5y1rlzarr2mlgm8g1nvq8qqdg"))))
10979 (build-system haskell-build-system)
10980 (inputs
10981 `(("ghc-vector" ,ghc-vector)))
10982 (native-inputs
10983 `(("ghc-quickcheck" ,ghc-quickcheck)))
10984 (home-page "https://github.com/bos/math-functions")
10985 (synopsis "Algorithms for vector arrays in Haskell")
10986 (description "This Haskell library algorithms for vector arrays.")
10987 (license license:bsd-3)))
10988
10989(define-public ghc-vector-binary-instances
10990 (package
10991 (name "ghc-vector-binary-instances")
10992 (version "0.2.4")
10993 (source
10994 (origin
10995 (method url-fetch)
10996 (uri (string-append
10997 "https://hackage.haskell.org/package/"
10998 "vector-binary-instances/vector-binary-instances-"
10999 version ".tar.gz"))
11000 (sha256
11001 (base32
11002 "1y236jb72iab9ska1mc48z6yb0xgwmj45laaqdyjxksd84z7hbrb"))))
11003 (build-system haskell-build-system)
11004 (arguments
11005 `(#:cabal-revision
11006 ("1" "196frl4akhfk7xf1nxzn8lmq99dxhzhsimanswn9yy7ym8zhki4i")))
11007 (inputs
11008 `(("ghc-vector" ,ghc-vector)))
11009 (native-inputs
11010 `(("ghc-tasty" ,ghc-tasty)
11011 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11012 (home-page "https://github.com/bos/vector-binary-instances")
11013 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11014 (description "This library provides instances of @code{Binary} for the
11015types defined in the @code{vector} package, making it easy to serialize
11016vectors to and from disk. We use the generic interface to vectors, so all
11017vector types are supported. Specific instances are provided for unboxed,
11018boxed and storable vectors.")
11019 (license license:bsd-3)))
11020
11021(define-public ghc-vector-builder
11022 (package
11023 (name "ghc-vector-builder")
11024 (version "0.3.6")
11025 (source
11026 (origin
11027 (method url-fetch)
11028 (uri (string-append "https://hackage.haskell.org/package/"
11029 "vector-builder-" version "/"
11030 "vector-builder-" version ".tar.gz"))
11031 (sha256
11032 (base32
11033 "06d2pa1fb3ydrl7l6rjazqyxv5i73v65x2f5fp0ypjxfbm6jsmn8"))))
11034 (build-system haskell-build-system)
11035 (inputs `(("ghc-vector" ,ghc-vector)
11036 ("ghc-semigroups" ,ghc-semigroups)
11037 ("ghc-base-prelude" ,ghc-base-prelude)))
11038 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11039 ("ghc-tasty" ,ghc-tasty)
11040 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11041 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11042 ("ghc-hunit" ,ghc-hunit)
11043 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11044 ("ghc-rerebase" ,ghc-rerebase)))
11045 (home-page "https://github.com/nikita-volkov/vector-builder")
11046 (synopsis "Vector builder for Haskell")
11047 (description "This Haskell package provides an API for constructing vectors.
11048It provides the composable @code{Builder} abstraction, which has instances of the
11049@code{Monoid} and @code{Semigroup} classes.
11050
11051You would first use the @code{Builder} abstraction to specify the structure of
11052the vector; then you can execute the builder to actually produce the
11053vector. ")
11054 (license license:expat)))
11055
11056(define-public ghc-vector-th-unbox
11057 (package
11058 (name "ghc-vector-th-unbox")
11059 (version "0.2.1.6")
11060 (source
11061 (origin
11062 (method url-fetch)
11063 (uri (string-append "https://hackage.haskell.org/package/"
11064 "vector-th-unbox-" version "/"
11065 "vector-th-unbox-" version ".tar.gz"))
11066 (sha256
11067 (base32
11068 "0d82x55f5vvr1jvaia382m23rs690lg55pvavv8f4ph0y6kd91xy"))))
11069 (build-system haskell-build-system)
11070 (inputs
11071 `(("ghc-vector" ,ghc-vector)
11072 ("ghc-data-default" ,ghc-data-default)))
11073 (home-page "https://github.com/liyang/vector-th-unbox")
11074 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
11075 (description "This Haskell library provides a Template Haskell
11076deriver for unboxed vectors, given a pair of coercion functions to
11077and from some existing type with an Unbox instance.")
11078 (license license:bsd-3)))
11079
11080(define-public ghc-void
11081 (package
11082 (name "ghc-void")
11083 (version "0.7.2")
11084 (source
11085 (origin
11086 (method url-fetch)
11087 (uri (string-append
11088 "https://hackage.haskell.org/package/void/void-"
11089 version
11090 ".tar.gz"))
11091 (sha256
11092 (base32
11093 "0aygw0yb1h3yhmfl3bkwh5d3h0l4mmsxz7j53vdm6jryl1kgxzyk"))))
11094 (build-system haskell-build-system)
11095 (inputs
11096 `(("ghc-semigroups" ,ghc-semigroups)
11097 ("ghc-hashable" ,ghc-hashable)))
11098 (home-page "https://github.com/ekmett/void")
11099 (synopsis
11100 "Logically uninhabited data type")
11101 (description
11102 "A Haskell 98 logically uninhabited data type, used to indicate that a
11103given term should not exist.")
11104 (license license:bsd-3)))
11105
11106(define-public ghc-wave
11107 (package
11108 (name "ghc-wave")
11109 (version "0.1.5")
11110 (source (origin
11111 (method url-fetch)
11112 (uri (string-append
11113 "https://hackage.haskell.org/package/wave/wave-"
11114 version
11115 ".tar.gz"))
11116 (sha256
11117 (base32
11118 "03zycmwrchhqvi37fdvlzz2d1vl4hy0i8xyys1zznw38qfq0h2i5"))))
11119 (build-system haskell-build-system)
11120 (arguments
11121 '(#:phases
11122 (modify-phases %standard-phases
11123 (add-before 'configure 'update-constraints
11124 (lambda _
11125 (substitute* "wave.cabal"
11126 (("temporary.* < 1\\.3")
11127 "temporary >= 1.1 && < 1.4")))))))
11128 (inputs
11129 `(("ghc-cereal" ,ghc-cereal)
11130 ("ghc-data-default-class"
11131 ,ghc-data-default-class)
11132 ("ghc-quickcheck" ,ghc-quickcheck)
11133 ("ghc-temporary" ,ghc-temporary)))
11134 (native-inputs
11135 `(("hspec-discover" ,hspec-discover)
11136 ("ghc-hspec" ,ghc-hspec)))
11137 (home-page "https://github.com/mrkkrp/wave")
11138 (synopsis "Work with WAVE and RF64 files in Haskell")
11139 (description "This package allows you to work with WAVE and RF64
11140files in Haskell.")
11141 (license license:bsd-3)))
11142
11143(define-public ghc-wcwidth
11144 (package
11145 (name "ghc-wcwidth")
11146 (version "0.0.2")
11147 (source
11148 (origin
11149 (method url-fetch)
11150 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11151 version ".tar.gz"))
11152 (sha256
11153 (base32
11154 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11155 (build-system haskell-build-system)
11156 (inputs
11157 `(("ghc-setlocale" ,ghc-setlocale)
11158 ("ghc-utf8-string" ,ghc-utf8-string)
11159 ("ghc-attoparsec" ,ghc-attoparsec)))
11160 (home-page "https://github.com/solidsnack/wcwidth/")
11161 (synopsis "Haskell bindings to wcwidth")
11162 (description "This package provides Haskell bindings to your system's
11163native wcwidth and a command line tool to examine the widths assigned by it.
11164The command line tool can compile a width table to Haskell code that assigns
11165widths to the Char type.")
11166 (license license:bsd-3)))
11167
11168(define-public ghc-wcwidth-bootstrap
11169 (package
11170 (inherit ghc-wcwidth)
11171 (name "ghc-wcwidth-bootstrap")
11172 (inputs
11173 `(("ghc-setlocale" ,ghc-setlocale)
11174 ("ghc-utf8-string" ,ghc-utf8-string)
11175 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
11176 (properties '(hidden? #t))))
11177
11178(define-public ghc-weigh
11179 (package
11180 (name "ghc-weigh")
11181 (version "0.0.12")
11182 (source
11183 (origin
11184 (method url-fetch)
11185 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11186 "weigh-" version ".tar.gz"))
11187 (sha256
11188 (base32
11189 "0zw2a997gxgdzqmd7j730kxgynzmjvvlkw84dajmfzf1v9pbij7x"))))
11190 (build-system haskell-build-system)
11191 (inputs
11192 `(("ghc-split" ,ghc-split)
11193 ("ghc-temporary" ,ghc-temporary)))
11194 (home-page "https://github.com/fpco/weigh#readme")
11195 (synopsis "Measure allocations of a Haskell functions/values")
11196 (description "This package provides tools to measure the memory usage of a
11197Haskell value or function.")
11198 (license license:bsd-3)))
11199
11200(define-public ghc-wl-pprint
11201 (package
11202 (name "ghc-wl-pprint")
11203 (version "1.2.1")
11204 (source (origin
11205 (method url-fetch)
11206 (uri (string-append
11207 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11208 version ".tar.gz"))
11209 (sha256
11210 (base32
11211 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11212 (build-system haskell-build-system)
11213 (home-page "https://hackage.haskell.org/package/wl-pprint")
11214 (synopsis "Wadler/Leijen pretty printer")
11215 (description
11216 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11217Printer}. This version allows the library user to declare overlapping
11218instances of the @code{Pretty} class.")
11219 (license license:bsd-3)))
11220
11221(define-public ghc-wl-pprint-annotated
11222 (package
11223 (name "ghc-wl-pprint-annotated")
11224 (version "0.1.0.1")
11225 (source
11226 (origin
11227 (method url-fetch)
11228 (uri (string-append
11229 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11230 version
11231 ".tar.gz"))
11232 (sha256
11233 (base32
11234 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11235 (build-system haskell-build-system)
11236 (native-inputs
11237 `(("ghc-tasty" ,ghc-tasty)
11238 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11239 (home-page
11240 "https://github.com/minad/wl-pprint-annotated#readme")
11241 (synopsis
11242 "Wadler/Leijen pretty printer with annotation support")
11243 (description
11244 "Annotations are useful for coloring. This is a limited version of
11245@code{wl-pprint-extras} without support for point effects and without the free
11246monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11247Compared to @code{annotated-wl-pprint} this library provides a slightly
11248modernized interface.")
11249 (license license:bsd-3)))
11250
11251(define-public ghc-wl-pprint-text
11252 (package
11253 (name "ghc-wl-pprint-text")
11254 (version "1.2.0.0")
11255 (source
11256 (origin
11257 (method url-fetch)
11258 (uri (string-append
11259 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11260 version ".tar.gz"))
11261 (sha256
11262 (base32
11263 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11264 (build-system haskell-build-system)
11265 (inputs
11266 `(("ghc-base-compat" ,ghc-base-compat)))
11267 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11268 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11269 (description
11270 "A clone of wl-pprint for use with the text library.")
11271 (license license:bsd-3)))
11272
11273(define-public ghc-word8
11274 (package
11275 (name "ghc-word8")
11276 (version "0.1.3")
11277 (source
11278 (origin
11279 (method url-fetch)
11280 (uri (string-append
11281 "https://hackage.haskell.org/package/word8/word8-"
11282 version
11283 ".tar.gz"))
11284 (sha256
11285 (base32
11286 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11287 (build-system haskell-build-system)
11288 (native-inputs
11289 `(("ghc-hspec" ,ghc-hspec)
11290 ("hspec-discover" ,hspec-discover)))
11291 (home-page "https://hackage.haskell.org/package/word8")
11292 (synopsis "Word8 library for Haskell")
11293 (description "Word8 library to be used with @code{Data.ByteString}.")
11294 (license license:bsd-3)))
11295
11296(define-public ghc-x11
11297 (package
11298 (name "ghc-x11")
11299 (version "1.9")
11300 (source
11301 (origin
11302 (method url-fetch)
11303 (uri (string-append "https://hackage.haskell.org/package/X11/"
11304 "X11-" version ".tar.gz"))
11305 (sha256
11306 (base32 "1f8dy6ckkyvpcv7zlniyv01cqjb9lgqscm8pml58cvwc7n38w4qh"))))
11307 (build-system haskell-build-system)
11308 (inputs
11309 `(("libx11" ,libx11)
11310 ("libxrandr" ,libxrandr)
11311 ("libxinerama" ,libxinerama)
11312 ("libxscrnsaver" ,libxscrnsaver)
11313 ("ghc-data-default" ,ghc-data-default)))
11314 (home-page "https://github.com/haskell-pkg-janitors/X11")
11315 (synopsis "Bindings to the X11 graphics library")
11316 (description
11317 "This package provides Haskell bindings to the X11 graphics library. The
11318bindings are a direct translation of the C bindings.")
11319 (license license:bsd-3)))
11320
11321(define-public ghc-x11-xft
11322 (package
11323 (name "ghc-x11-xft")
11324 (version "0.3.1")
11325 (source
11326 (origin
11327 (method url-fetch)
11328 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11329 "X11-xft-" version ".tar.gz"))
11330 (sha256
11331 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11332 (inputs
11333 `(("ghc-x11" ,ghc-x11)
11334 ("ghc-utf8-string" ,ghc-utf8-string)
11335 ("libx11" ,libx11)
11336 ("libxft" ,libxft)
11337 ("xorgproto" ,xorgproto)))
11338 (native-inputs
11339 `(("pkg-config" ,pkg-config)))
11340 (build-system haskell-build-system)
11341 (home-page "https://hackage.haskell.org/package/X11-xft")
11342 (synopsis "Bindings to Xft")
11343 (description
11344 "Bindings to the Xft, X Free Type interface library, and some Xrender
11345parts.")
11346 (license license:lgpl2.1)))
11347
11348(define-public ghc-xdg-basedir
11349 (package
11350 (name "ghc-xdg-basedir")
11351 (version "0.2.2")
11352 (source
11353 (origin
11354 (method url-fetch)
11355 (uri (string-append
11356 "https://hackage.haskell.org/package/xdg-basedir/"
11357 "xdg-basedir-" version ".tar.gz"))
11358 (sha256
11359 (base32
11360 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
11361 (build-system haskell-build-system)
11362 (home-page "http://github.com/willdonnelly/xdg-basedir")
11363 (synopsis "XDG Base Directory library for Haskell")
11364 (description "This package provides a library implementing the XDG Base Directory spec.")
11365 (license license:bsd-3)))
11366
11367(define-public ghc-xml
11368 (package
11369 (name "ghc-xml")
11370 (version "1.3.14")
11371 (source
11372 (origin
11373 (method url-fetch)
11374 (uri (string-append
11375 "https://hackage.haskell.org/package/xml/xml-"
11376 version
11377 ".tar.gz"))
11378 (sha256
11379 (base32
11380 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
11381 (build-system haskell-build-system)
11382 (home-page "http://code.galois.com")
11383 (synopsis "Simple XML library for Haskell")
11384 (description "This package provides a simple XML library for Haskell.")
11385 (license license:bsd-3)))
11386
11387(define-public ghc-xml-conduit
11388 (package
11389 (name "ghc-xml-conduit")
11390 (version "1.8.0.1")
11391 (source
11392 (origin
11393 (method url-fetch)
11394 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
11395 "xml-conduit-" version ".tar.gz"))
11396 (sha256
11397 (base32
11398 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
11399 (build-system haskell-build-system)
11400 (inputs
11401 `(("ghc-conduit" ,ghc-conduit)
11402 ("ghc-conduit-extra" ,ghc-conduit-extra)
11403 ("ghc-doctest" ,ghc-doctest)
11404 ("ghc-resourcet" ,ghc-resourcet)
11405 ("ghc-xml-types" ,ghc-xml-types)
11406 ("ghc-attoparsec" ,ghc-attoparsec)
11407 ("ghc-data-default-class" ,ghc-data-default-class)
11408 ("ghc-blaze-markup" ,ghc-blaze-markup)
11409 ("ghc-blaze-html" ,ghc-blaze-html)
11410 ("ghc-monad-control" ,ghc-monad-control)
11411 ("ghc-hspec" ,ghc-hspec)
11412 ("ghc-hunit" ,ghc-hunit)))
11413 (home-page "https://github.com/snoyberg/xml")
11414 (synopsis "Utilities for dealing with XML with the conduit package")
11415 (description
11416 "This package provides pure-Haskell utilities for dealing with XML with
11417the @code{conduit} package.")
11418 (license license:expat)))
11419
11420(define-public ghc-xml-types
11421 (package
11422 (name "ghc-xml-types")
11423 (version "0.3.6")
11424 (source
11425 (origin
11426 (method url-fetch)
11427 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
11428 "xml-types-" version ".tar.gz"))
11429 (sha256
11430 (base32
11431 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
11432 (build-system haskell-build-system)
11433 (home-page "https://john-millikin.com/software/haskell-xml/")
11434 (synopsis "Basic types for representing XML")
11435 (description "This package provides basic types for representing XML
11436documents.")
11437 (license license:expat)))
11438
11439(define-public ghc-yaml
11440 (package
11441 (name "ghc-yaml")
11442 (version "0.8.32")
11443 (source (origin
11444 (method url-fetch)
11445 (uri (string-append "https://hackage.haskell.org/package/"
11446 "yaml/yaml-" version ".tar.gz"))
11447 (sha256
11448 (base32
11449 "0cbsyh4ilvjzq1q7pxls43k6pdqxg1l85xzibcwpbvmlvrizh86w"))))
11450 (build-system haskell-build-system)
11451 ;; The tests are broken on i686. They are fixed in 0.10.3.0.
11452 ;; See https://github.com/snoyberg/yaml/issues/158
11453 (arguments `(#:tests? #f))
11454 (inputs
11455 `(("ghc-conduit" ,ghc-conduit)
11456 ("ghc-resourcet" ,ghc-resourcet)
11457 ("ghc-aeson" ,ghc-aeson)
11458 ("ghc-unordered-containers" ,ghc-unordered-containers)
11459 ("ghc-vector" ,ghc-vector)
11460 ("ghc-attoparsec" ,ghc-attoparsec)
11461 ("ghc-scientific" ,ghc-scientific)
11462 ("ghc-semigroups" ,ghc-semigroups)
11463 ("ghc-temporary" ,ghc-temporary)
11464 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11465 ("ghc-base-compat" ,ghc-base-compat)))
11466 (native-inputs
11467 `(("ghc-hspec" ,ghc-hspec)
11468 ("ghc-hunit" ,ghc-hunit)
11469 ("hspec-discover" ,hspec-discover)
11470 ("ghc-mockery" ,ghc-mockery)))
11471 (home-page "https://github.com/snoyberg/yaml/")
11472 (synopsis "Parsing and rendering YAML documents")
11473 (description
11474 "This package provides a library to parse and render YAML documents.")
11475 (license license:bsd-3)))
11476
11477(define-public ghc-zip-archive
11478 (package
11479 (name "ghc-zip-archive")
11480 (version "0.3.3")
11481 (source
11482 (origin
11483 (method url-fetch)
11484 (uri (string-append
11485 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
11486 version
11487 ".tar.gz"))
11488 (sha256
11489 (base32
11490 "0kf8xyac168bng8a0za2jwrbss7a4ralvci9g54hnvl0gkkxx2lq"))))
11491 (build-system haskell-build-system)
11492 (inputs
11493 `(("ghc-digest" ,ghc-digest)
11494 ("ghc-temporary" ,ghc-temporary)
11495 ("ghc-zlib" ,ghc-zlib)))
11496 (native-inputs
11497 `(("ghc-hunit" ,ghc-hunit)
11498 ("unzip" ,unzip)))
11499 (home-page "https://hackage.haskell.org/package/zip-archive")
11500 (synopsis "Zip archive library for Haskell")
11501 (description "The zip-archive library provides functions for creating,
11502modifying, and extracting files from zip archives in Haskell.")
11503 (license license:bsd-3)))
11504
11505(define-public ghc-zlib
11506 (package
11507 (name "ghc-zlib")
11508 (version "0.6.2")
11509 (outputs '("out" "doc"))
11510 (source
11511 (origin
11512 (method url-fetch)
11513 (uri (string-append
11514 "https://hackage.haskell.org/package/zlib/zlib-"
11515 version
11516 ".tar.gz"))
11517 (sha256
11518 (base32
11519 "1vbzf0awb6zb456xf48za1kl22018646cfzq4frvxgb9ay97vk0d"))))
11520 (build-system haskell-build-system)
11521 (arguments
11522 `(#:phases
11523 (modify-phases %standard-phases
11524 (add-before 'configure 'strip-test-framework-constraints
11525 (lambda _
11526 (substitute* "zlib.cabal"
11527 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
11528 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
11529 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11530 (inputs `(("zlib" ,zlib)))
11531 (native-inputs
11532 `(("ghc-quickcheck" ,ghc-quickcheck)
11533 ("ghc-tasty" ,ghc-tasty)
11534 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11535 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11536 (home-page "https://hackage.haskell.org/package/zlib")
11537 (synopsis
11538 "Compression and decompression in the gzip and zlib formats")
11539 (description
11540 "This package provides a pure interface for compressing and decompressing
11541streams of data represented as lazy @code{ByteString}s. It uses the zlib C
11542library so it has high performance. It supports the @code{zlib}, @code{gzip}
11543and @code{raw} compression formats. It provides a convenient high level API
11544suitable for most tasks and for the few cases where more control is needed it
11545provides access to the full zlib feature set.")
bbf8bf31 11546 (license license:bsd-3)))
14e41996
RV
11547
11548(define-public ghc-zlib-bindings
11549 (package
11550 (name "ghc-zlib-bindings")
11551 (version "0.1.1.5")
11552 (source
11553 (origin
11554 (method url-fetch)
11555 (uri (string-append "https://hackage.haskell.org/package/"
11556 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
11557 (sha256
11558 (base32
11559 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
11560 (build-system haskell-build-system)
11561 (inputs
11562 `(("ghc-zlib" ,ghc-zlib)))
11563 (native-inputs
11564 `(("ghc-hspec" ,ghc-hspec)
11565 ("ghc-quickcheck" ,ghc-quickcheck)))
11566 (arguments
11567 `(#:cabal-revision
11568 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
11569 (home-page "https://github.com/snapframework/zlib-bindings")
11570 (synopsis "Low-level bindings to the @code{zlib} package")
11571 (description "This package provides low-level bindings to the
11572@code{zlib} package.")
11573 (license license:bsd-3)))