gnu: Add ghc-unsafe.
[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
6739(define-public ghc-objectname
6740 (package
6741 (name "ghc-objectname")
6742 (version "1.1.0.1")
6743 (source
6744 (origin
6745 (method url-fetch)
6746 (uri (string-append
6747 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
6748 version
6749 ".tar.gz"))
6750 (sha256
6751 (base32
6752 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
6753 (build-system haskell-build-system)
6754 (home-page "https://hackage.haskell.org/package/ObjectName")
6755 (synopsis "Helper library for Haskell OpenGL")
6756 (description "This tiny package contains the class ObjectName, which
6757corresponds to the general notion of explicitly handled identifiers for API
6758objects, e.g. a texture object name in OpenGL or a buffer object name in
6759OpenAL.")
6760 (license license:bsd-3)))
6761
6762(define-public ghc-old-locale
6763 (package
6764 (name "ghc-old-locale")
6765 (version "1.0.0.7")
6766 (source
6767 (origin
6768 (method url-fetch)
6769 (uri (string-append
6770 "https://hackage.haskell.org/package/old-locale/old-locale-"
6771 version
6772 ".tar.gz"))
6773 (sha256
6774 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
6775 (build-system haskell-build-system)
6776 (arguments
6777 `(#:cabal-revision
6778 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
6779 (home-page "https://hackage.haskell.org/package/old-locale")
6780 (synopsis "Adapt to locale conventions")
6781 (description
6782 "This package provides the ability to adapt to locale conventions such as
6783date and time formats.")
6784 (license license:bsd-3)))
6785
6786(define-public ghc-old-time
6787 (package
6788 (name "ghc-old-time")
6789 (version "1.1.0.3")
6790 (source
6791 (origin
6792 (method url-fetch)
6793 (uri (string-append
6794 "https://hackage.haskell.org/package/old-time/old-time-"
6795 version
6796 ".tar.gz"))
6797 (sha256
6798 (base32
6799 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
6800 (build-system haskell-build-system)
6801 (arguments
6802 `(#:cabal-revision
6803 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
6804 (inputs
6805 `(("ghc-old-locale" ,ghc-old-locale)))
6806 (home-page "https://hackage.haskell.org/package/old-time")
6807 (synopsis "Time compatibility library for Haskell")
6808 (description "Old-time is a package for backwards compatibility with the
6809old @code{time} library. For new projects, the newer
6810@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
6811 (license license:bsd-3)))
6812
6813(define-public ghc-opengl
6814 (package
6815 (name "ghc-opengl")
6816 (version "3.0.2.2")
6817 (source
6818 (origin
6819 (method url-fetch)
6820 (uri (string-append
6821 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
6822 version
6823 ".tar.gz"))
6824 (sha256
6825 (base32
6826 "19vxwvx2n8zq2klj176l25n2b64ybp0b8mhm4p46gvpcivz41fjc"))))
6827 (build-system haskell-build-system)
6828 (inputs
6829 `(("ghc-objectname" ,ghc-objectname)
6830 ("ghc-gluraw" ,ghc-gluraw)
6831 ("ghc-statevar" ,ghc-statevar)
6832 ("ghc-openglraw" ,ghc-openglraw)))
6833 (home-page "https://www.haskell.org/haskellwiki/Opengl")
6834 (synopsis "Haskell bindings for the OpenGL graphics system")
6835 (description "This package provides Haskell bindings for the OpenGL
6836graphics system (GL, version 4.5) and its accompanying utility library (GLU,
6837version 1.3).")
6838 (license license:bsd-3)))
6839
6840(define-public ghc-openglraw
6841 (package
6842 (name "ghc-openglraw")
6843 (version "3.3.1.0")
6844 (source
6845 (origin
6846 (method url-fetch)
6847 (uri (string-append
6848 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
6849 version
6850 ".tar.gz"))
6851 (sha256
6852 (base32
6853 "1x8w3x308jldj2c1xqcq3a3sc2jc06pdpgqkgjsmixi1skv4a1vb"))))
6854 (build-system haskell-build-system)
6855 (inputs
6856 `(("ghc-half" ,ghc-half)
6857 ("ghc-fixed" ,ghc-fixed)
6858 ("glu" ,glu)))
6859 (home-page "https://www.haskell.org/haskellwiki/Opengl")
6860 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
6861 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
6862graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
6863of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
6864offers access to all necessary functions, tokens and types plus a general
6865facility for loading extension entries. The module hierarchy closely mirrors
6866the naming structure of the OpenGL extensions, making it easy to find the
6867right module to import. All API entries are loaded dynamically, so no special
6868C header files are needed for building this package. If an API entry is not
6869found at runtime, a userError is thrown.")
6870 (license license:bsd-3)))
6871
6872(define-public ghc-operational
6873 (package
6874 (name "ghc-operational")
6875 (version "0.2.3.5")
6876 (source
6877 (origin
6878 (method url-fetch)
6879 (uri (string-append "https://hackage.haskell.org/package/operational/"
6880 "operational-" version ".tar.gz"))
6881 (sha256
6882 (base32
6883 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
6884 (build-system haskell-build-system)
6885 (inputs
6886 `(("ghc-random" ,ghc-random)))
6887 (home-page "http://wiki.haskell.org/Operational")
6888 (synopsis "Implementation of difficult monads made easy with operational semantics")
6889 (description
6890 "This library makes it easy to implement monads with tricky control
6891flow. This is useful for: writing web applications in a sequential style,
6892programming games with a uniform interface for human and AI players and easy
6893replay capababilities, implementing fast parser monads, designing monadic
6894DSLs, etc.")
6895 (license license:bsd-3)))
6896
6897(define-public ghc-options
6898 (package
6899 (name "ghc-options")
6900 (version "1.2.1.1")
6901 (source
6902 (origin
6903 (method url-fetch)
6904 (uri (string-append
6905 "https://hackage.haskell.org/package/options/options-"
6906 version ".tar.gz"))
6907 (sha256
6908 (base32
6909 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
6910 (build-system haskell-build-system)
6911 (inputs
6912 `(("ghc-monads-tf" ,ghc-monads-tf)
6913 ("ghc-chell" ,ghc-chell)
6914 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
6915 (home-page "https://john-millikin.com/software/haskell-options/")
6916 (synopsis "Powerful and easy-to-use command-line option parser")
6917 (description
6918 "The @code{options} package lets library and application developers
6919easily work with command-line options.")
6920 (license license:expat)))
6921
6922;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
6923(define ghc-options-bootstrap
6924 (package
6925 (name "ghc-options-bootstrap")
6926 (version "1.2.1.1")
6927 (source
6928 (origin
6929 (method url-fetch)
6930 (uri (string-append
6931 "https://hackage.haskell.org/package/options/options-"
6932 version ".tar.gz"))
6933 (sha256
6934 (base32
6935 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
6936 (build-system haskell-build-system)
6937 (arguments
6938 `(#:tests? #f))
6939 (inputs
6940 `(("ghc-monads-tf" ,ghc-monads-tf)))
6941 (home-page "https://john-millikin.com/software/haskell-options/")
6942 (synopsis "Powerful and easy-to-use command-line option parser")
6943 (description
6944 "The @code{options} package lets library and application developers
6945easily work with command-line options.")
6946 (license license:expat)))
6947
6948
6949(define-public ghc-optparse-applicative
6950 (package
6951 (name "ghc-optparse-applicative")
6952 (version "0.14.2.0")
6953 (source
6954 (origin
6955 (method url-fetch)
6956 (uri (string-append
6957 "https://hackage.haskell.org/package/optparse-applicative"
6958 "/optparse-applicative-" version ".tar.gz"))
6959 (sha256
6960 (base32
6961 "0c3z1mvynlyv1garjbdmdd3npm40dabgm75js4r07cf766c1wd71"))))
6962 (build-system haskell-build-system)
6963 (inputs
6964 `(("ghc-transformers-compat" ,ghc-transformers-compat)
6965 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
6966 (native-inputs
6967 `(("ghc-quickcheck" ,ghc-quickcheck)))
6968 (home-page "https://github.com/pcapriotti/optparse-applicative")
6969 (synopsis "Utilities and combinators for parsing command line options")
6970 (description "This package provides utilities and combinators for parsing
6971command line options in Haskell.")
6972 (license license:bsd-3)))
6973
6974(define-public ghc-pandoc
6975 (package
6976 (name "ghc-pandoc")
6977 (version "2.2.1")
6978 (source
6979 (origin
6980 (method url-fetch)
6981 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
6982 version ".tar.gz"))
6983 (sha256
6984 (base32
6985 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
6986 (build-system haskell-build-system)
6987 (arguments
6988 `(#:phases
6989 (modify-phases %standard-phases
6990 (add-before 'configure 'update-constraints
6991 (lambda _
6992 (substitute* "pandoc.cabal"
6993 (("tasty >= 0\\.11 && < 1\\.1")
6994 "tasty >= 0.11 && < 1.1.1"))))
6995 (add-before 'configure 'patch-tests
6996 (lambda _
6997 ;; These tests fail benignly and have been adjusted upstream:
6998 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
6999 (substitute* "test/Tests/Old.hs"
7000 (("lhsWriterTests \"html\"") "[]")))))))
7001 (inputs
7002 `(("ghc-aeson" ,ghc-aeson)
7003 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7004 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7005 ("ghc-blaze-html" ,ghc-blaze-html)
7006 ("ghc-blaze-markup" ,ghc-blaze-markup)
7007 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7008 ("ghc-data-default" ,ghc-data-default)
7009 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7010 ("ghc-diff" ,ghc-diff)
7011 ("ghc-doctemplates" ,ghc-doctemplates)
7012 ("ghc-executable-path" ,ghc-executable-path)
7013 ("ghc-glob" ,ghc-glob)
7014 ("ghc-haddock-library" ,ghc-haddock-library)
7015 ("ghc-hslua" ,ghc-hslua)
7016 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7017 ("ghc-http" ,ghc-http)
7018 ("ghc-http-client" ,ghc-http-client)
7019 ("ghc-http-client-tls" ,ghc-http-client-tls)
7020 ("ghc-http-types" ,ghc-http-types)
7021 ("ghc-juicypixels" ,ghc-juicypixels)
7022 ("ghc-network" ,ghc-network)
7023 ("ghc-network-uri" ,ghc-network-uri)
7024 ("ghc-old-locale" ,ghc-old-locale)
7025 ("ghc-pandoc-types" ,ghc-pandoc-types)
7026 ("ghc-random" ,ghc-random)
7027 ("ghc-scientific" ,ghc-scientific)
7028 ("ghc-sha" ,ghc-sha)
7029 ("ghc-skylighting" ,ghc-skylighting)
7030 ("ghc-split" ,ghc-split)
7031 ("ghc-syb" ,ghc-syb)
7032 ("ghc-tagsoup" ,ghc-tagsoup)
7033 ("ghc-temporary" ,ghc-temporary)
7034 ("ghc-texmath" ,ghc-texmath)
7035 ("ghc-unordered-containers" ,ghc-unordered-containers)
7036 ("ghc-vector" ,ghc-vector)
7037 ("ghc-xml" ,ghc-xml)
7038 ("ghc-yaml" ,ghc-yaml)
7039 ("ghc-zip-archive" ,ghc-zip-archive)
7040 ("ghc-zlib" ,ghc-zlib)))
7041 (native-inputs
7042 `(("ghc-tasty" ,ghc-tasty)
7043 ("ghc-tasty-golden" ,ghc-tasty-golden)
7044 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7045 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7046 ("ghc-quickcheck" ,ghc-quickcheck)
7047 ("ghc-hunit" ,ghc-hunit)))
7048 (home-page "https://pandoc.org")
7049 (synopsis "Conversion between markup formats")
7050 (description
7051 "Pandoc is a Haskell library for converting from one markup format to
7052another, and a command-line tool that uses this library. It can read and
7053write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7054LaTeX, DocBook, and many more.
7055
7056Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7057definition lists, tables, and other features. A compatibility mode is
7058provided for those who need a drop-in replacement for Markdown.pl.")
7059 (license license:gpl2+)))
7060
7061(define-public ghc-pandoc-citeproc
7062 (package
7063 (name "ghc-pandoc-citeproc")
7064 (version "0.14.3.1")
7065 (source
7066 (origin
7067 (method url-fetch)
7068 (uri (string-append "https://hackage.haskell.org/package/"
7069 "pandoc-citeproc/pandoc-citeproc-"
7070 version ".tar.gz"))
7071 (sha256
7072 (base32
7073 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7074 (build-system haskell-build-system)
7075 (arguments
7076 `(#:phases
7077 (modify-phases %standard-phases
7078 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7079 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7080 (add-before 'configure 'patch-tests
7081 (lambda _
7082 (substitute* "tests/test-pandoc-citeproc.hs"
7083 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7084 "let allTests = citeprocTests"))))
7085 ;; Tests need to be run after installation.
7086 (delete 'check)
7087 (add-after 'install 'post-install-check
7088 (assoc-ref %standard-phases 'check)))))
7089 (inputs
7090 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7091 ("ghc-pandoc" ,ghc-pandoc)
7092 ("ghc-tagsoup" ,ghc-tagsoup)
7093 ("ghc-aeson" ,ghc-aeson)
7094 ("ghc-vector" ,ghc-vector)
7095 ("ghc-xml-conduit" ,ghc-xml-conduit)
7096 ("ghc-unordered-containers" ,ghc-unordered-containers)
7097 ("ghc-data-default" ,ghc-data-default)
7098 ("ghc-setenv" ,ghc-setenv)
7099 ("ghc-split" ,ghc-split)
7100 ("ghc-yaml" ,ghc-yaml)
7101 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7102 ("ghc-rfc5051" ,ghc-rfc5051)
7103 ("ghc-syb" ,ghc-syb)
7104 ("ghc-old-locale" ,ghc-old-locale)
7105 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7106 ("ghc-attoparsec" ,ghc-attoparsec)
7107 ("ghc-temporary" ,ghc-temporary)))
7108 (home-page "https://github.com/jgm/pandoc-citeproc")
7109 (synopsis "Library for using pandoc with citeproc")
7110 (description
7111 "The @code{pandoc-citeproc} library exports functions for using the
7112citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7113rendering bibliographic reference citations into a variety of styles using a
7114macro language called @dfn{Citation Style Language} (CSL). This package also
7115contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7116and also has a mode for converting bibliographic databases a YAML format
7117suitable for inclusion in pandoc YAML metadata.")
7118 (license license:bsd-3)))
7119
7120(define-public ghc-pandoc-types
7121 (package
7122 (name "ghc-pandoc-types")
7123 (version "1.17.5.1")
7124 (source (origin
7125 (method url-fetch)
7126 (uri (string-append "https://hackage.haskell.org/package/"
7127 "pandoc-types/pandoc-types-"
7128 version ".tar.gz"))
7129 (sha256
7130 (base32
7131 "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
7132 (build-system haskell-build-system)
7133 (inputs
7134 `(("ghc-syb" ,ghc-syb)
7135 ("ghc-aeson" ,ghc-aeson)
7136 ("ghc-string-qq" ,ghc-string-qq)))
7137 (native-inputs
7138 `(("ghc-quickcheck" ,ghc-quickcheck)
7139 ("ghc-test-framework" ,ghc-test-framework)
7140 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7141 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7142 ("ghc-hunit" ,ghc-hunit)))
7143 (home-page "http://johnmacfarlane.net/pandoc")
7144 (synopsis "Types for representing a structured document")
7145 (description
7146 "This module defines the @code{Pandoc} data structure, which is used by
7147pandoc to represent structured documents. It also provides functions for
7148building up, manipulating and serialising @code{Pandoc} structures.")
7149 (license license:bsd-3)))
7150
7151(define-public ghc-parallel
7152 (package
7153 (name "ghc-parallel")
7154 (version "3.2.2.0")
7155 (outputs '("out" "doc"))
7156 (source
7157 (origin
7158 (method url-fetch)
7159 (uri (string-append
7160 "https://hackage.haskell.org/package/parallel/parallel-"
7161 version
7162 ".tar.gz"))
7163 (sha256
7164 (base32
7165 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7166 (build-system haskell-build-system)
7167 (home-page "https://hackage.haskell.org/package/parallel")
7168 (synopsis "Parallel programming library")
7169 (description
7170 "This package provides a library for parallel programming.")
7171 (license license:bsd-3)))
7172
7173(define-public ghc-parsec-numbers
7174 (package
7175 (name "ghc-parsec-numbers")
7176 (version "0.1.0")
7177 (source
7178 (origin
7179 (method url-fetch)
7180 (uri (string-append "https://hackage.haskell.org/package/"
7181 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7182 (sha256
7183 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7184 (build-system haskell-build-system)
7185 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7186 (synopsis "Utilities for parsing numbers from strings")
7187 (description
7188 "This package provides the number parsers without the need to use a large
7189(and unportable) token parser.")
7190 (license license:bsd-3)))
7191
7192(define-public ghc-parser-combinators
7193 (package
7194 (name "ghc-parser-combinators")
7195 (version "1.0.0")
7196 (source
7197 (origin
7198 (method url-fetch)
7199 (uri (string-append "https://hackage.haskell.org/package/"
7200 "parser-combinators/parser-combinators-"
7201 version ".tar.gz"))
7202 (sha256
7203 (base32
7204 "1pwfdsklqwvaynwpdzmx1bs35mp6dpsyaqdnzxnqcrxwf5h8sk75"))))
7205 (build-system haskell-build-system)
7206 (home-page "https://github.com/mrkkrp/parser-combinators")
7207 (synopsis "Commonly useful parser combinators")
7208 (description
7209 "This is a lightweight package providing commonly useful parser
7210combinators.")
7211 (license license:bsd-3)))
7212
7213(define-public ghc-parsers
7214 (package
7215 (name "ghc-parsers")
7216 (version "0.12.9")
7217 (source
7218 (origin
7219 (method url-fetch)
7220 (uri (string-append
7221 "https://hackage.haskell.org/package/parsers/parsers-"
7222 version
7223 ".tar.gz"))
7224 (sha256
7225 (base32
7226 "1r05sc1mcglk8w596kq9a1brfn9c2vll8lq16j07ln0vsz4jzrc1"))))
7227 (build-system haskell-build-system)
7228 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7229 ; -package attoparsec-0.13.0.1"
7230 (inputs
7231 `(("ghc-base-orphans" ,ghc-base-orphans)
7232 ("ghc-attoparsec" ,ghc-attoparsec)
7233 ("ghc-scientific" ,ghc-scientific)
7234 ("ghc-charset" ,ghc-charset)
7235 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7236 (home-page "https://github.com/ekmett/parsers/")
7237 (synopsis "Parsing combinators")
7238 (description "This library provides convenient combinators for working
7239with and building parsing combinator libraries. Given a few simple instances,
7240you get access to a large number of canned definitions. Instances exist for
7241the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7242@code{Text.Read}.")
7243 (license license:bsd-3)))
7244
7245(define-public ghc-path
7246 (package
7247 (name "ghc-path")
7248 (version "0.6.1")
7249 (source
7250 (origin
7251 (method url-fetch)
7252 (uri (string-append
7253 "https://hackage.haskell.org/package/path/path-"
7254 version
7255 ".tar.gz"))
7256 (sha256
7257 (base32
7258 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7259 (build-system haskell-build-system)
7260 (arguments
7261 ;; TODO: There are some Windows-related tests and modules that need to be
7262 ;; danced around.
7263 `(#:tests? #f
7264 #:cabal-revision
7265 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7266 (inputs
7267 `(("ghc-aeson" ,ghc-aeson)
7268 ("ghc-exceptions" ,ghc-exceptions)
7269 ("ghc-hashable" ,ghc-hashable)))
7270 (native-inputs
7271 `(("ghc-hspec" ,ghc-hspec)
7272 ("ghc-quickcheck" ,ghc-quickcheck)
7273 ("ghc-genvalidity" ,ghc-genvalidity)
7274 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7275 ("ghc-hspec" ,ghc-hspec)
7276 ("ghc-validity" ,ghc-validity)))
7277 (home-page
7278 "http://hackage.haskell.org/package/path")
7279 (synopsis "Support for well-typed paths")
7280 (description "This package introduces a type for paths upholding useful
7281invariants.")
7282 (license license:bsd-3)))
7283
7284(define-public ghc-path-io
7285 (package
7286 (name "ghc-path-io")
7287 (version "1.3.3")
7288 (source
7289 (origin
7290 (method url-fetch)
7291 (uri (string-append
7292 "https://hackage.haskell.org/package/path-io/path-io-"
7293 version
7294 ".tar.gz"))
7295 (sha256
7296 (base32
7297 "1g9m3qliqjk1img894wsb89diym5zrq51qkkrwhz4sbm9a8hbv1a"))))
7298 (build-system haskell-build-system)
7299 (inputs
7300 `(("ghc-dlist" ,ghc-dlist)
7301 ("ghc-exceptions" ,ghc-exceptions)
7302 ("ghc-path" ,ghc-path)
7303 ("ghc-transformers-base" ,ghc-transformers-base)
7304 ("ghc-unix-compat" ,ghc-unix-compat)
7305 ("ghc-temporary" ,ghc-temporary)))
7306 (native-inputs
7307 `(("ghc-hspec" ,ghc-hspec)))
7308 (arguments
7309 `(#:cabal-revision
7310 ("3" "1h9hsibbflkxpjl2fqamqiv3x3gasf51apnmklrs9l9x8r32hzcc")))
7311 (home-page
7312 "https://github.com/mrkkrp/path-io")
7313 (synopsis "Functions for manipulating well-typed paths")
7314 (description "This package provides an interface to the @code{directory}
7315package for users of @code{path}. It also implements some missing stuff like
7316recursive scanning and copying of directories, working with temporary
7317files/directories, and more.")
7318 (license license:bsd-3)))
7319
7320(define-public ghc-paths
7321 (package
7322 (name "ghc-paths")
7323 (version "0.1.0.9")
7324 (outputs '("out" "doc"))
7325 (source
7326 (origin
7327 (method url-fetch)
7328 (uri (string-append
7329 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7330 version
7331 ".tar.gz"))
7332 (sha256
7333 (base32
7334 "0ibrr1dxa35xx20cpp8jzgfak1rdmy344dfwq4vlq013c6w8z9mg"))))
7335 (build-system haskell-build-system)
7336 (home-page "https://github.com/simonmar/ghc-paths")
7337 (synopsis
7338 "Knowledge of GHC's installation directories")
7339 (description
7340 "Knowledge of GHC's installation directories.")
7341 (license license:bsd-3)))
7342
7343(define-public ghc-patience
7344 (package
7345 (name "ghc-patience")
7346 (version "0.1.1")
7347 (source
7348 (origin
7349 (method url-fetch)
7350 (uri (string-append
7351 "https://hackage.haskell.org/package/patience/patience-"
7352 version ".tar.gz"))
7353 (sha256
7354 (base32
7355 "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"))))
7356 (build-system haskell-build-system)
7357 (home-page "https://hackage.haskell.org/package/patience")
7358 (synopsis "Patience diff and longest increasing subsequence")
7359 (description
7360 "This library implements the 'patience diff' algorithm, as well as the
7361patience algorithm for the longest increasing subsequence problem.
7362Patience diff computes the difference between two lists, for example the lines
7363of two versions of a source file. It provides a good balance between
7364performance, nice output for humans, and simplicity of implementation.")
7365 (license license:bsd-3)))
7366
7367(define-public ghc-pcre-light
7368 (package
7369 (name "ghc-pcre-light")
7370 (version "0.4.0.4")
7371 (source
7372 (origin
7373 (method url-fetch)
7374 (uri (string-append
7375 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7376 version
7377 ".tar.gz"))
7378 (sha256
7379 (base32
7380 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7381 (build-system haskell-build-system)
7382 (inputs
7383 `(("pcre" ,pcre)))
7384 (native-inputs
7385 `(("pkg-config" ,pkg-config)))
7386 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7387 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7388 (description "This package provides a small, efficient, and portable regex
7389library for Perl 5 compatible regular expressions. The PCRE library is a set
7390of functions that implement regular expression pattern matching using the same
7391syntax and semantics as Perl 5.")
7392 (license license:bsd-3)))
7393
7394(define-public ghc-persistent
7395 (package
7396 (name "ghc-persistent")
7397 (version "2.8.2")
7398 (source
7399 (origin
7400 (method url-fetch)
7401 (uri (string-append "https://hackage.haskell.org/package/"
7402 "persistent-" version "/"
7403 "persistent-" version ".tar.gz"))
7404 (sha256
7405 (base32
7406 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
7407 (build-system haskell-build-system)
7408 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7409 ("ghc-conduit" ,ghc-conduit)
7410 ("ghc-resourcet" ,ghc-resourcet)
7411 ("ghc-exceptions" ,ghc-exceptions)
7412 ("ghc-monad-control" ,ghc-monad-control)
7413 ("ghc-lifted-base" ,ghc-lifted-base)
7414 ("ghc-resource-pool" ,ghc-resource-pool)
7415 ("ghc-path-pieces" ,ghc-path-pieces)
7416 ("ghc-http-api-data" ,ghc-http-api-data)
7417 ("ghc-aeson" ,ghc-aeson)
7418 ("ghc-monad-logger" ,ghc-monad-logger)
7419 ("ghc-transformers-base" ,ghc-transformers-base)
7420 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7421 ("ghc-unordered-containers" ,ghc-unordered-containers)
7422 ("ghc-vector" ,ghc-vector)
7423 ("ghc-attoparsec" ,ghc-attoparsec)
7424 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7425 ("ghc-blaze-html" ,ghc-blaze-html)
7426 ("ghc-blaze-markup" ,ghc-blaze-markup)
7427 ("ghc-silently" ,ghc-silently)
7428 ("ghc-fast-logger" ,ghc-fast-logger)
7429 ("ghc-scientific" ,ghc-scientific)
7430 ("ghc-tagged" ,ghc-tagged)
7431 ("ghc-void" ,ghc-void)))
7432 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7433 (home-page "https://www.yesodweb.com/book/persistent")
7434 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7435 (description "This Haskell package allows Haskell programs to access data
7436storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7437way.")
7438 (license license:expat)))
7439
7440(define-public ghc-persistent-sqlite
7441 (package
7442 (name "ghc-persistent-sqlite")
7443 (version "2.8.2")
7444 (source
7445 (origin
7446 (method url-fetch)
7447 (uri (string-append "https://hackage.haskell.org/package/"
7448 "persistent-sqlite-" version "/"
7449 "persistent-sqlite-" version ".tar.gz"))
7450 (sha256
7451 (base32
7452 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7453 (build-system haskell-build-system)
7454 (inputs `(("ghc-persistent" ,ghc-persistent)
7455 ("ghc-unliftio-core" ,ghc-unliftio-core)
7456 ("ghc-aeson" ,ghc-aeson)
7457 ("ghc-conduit" ,ghc-conduit)
7458 ("ghc-monad-logger" ,ghc-monad-logger)
7459 ("ghc-microlens-th" ,ghc-microlens-th)
7460 ("ghc-resourcet" ,ghc-resourcet)
7461 ("ghc-old-locale" ,ghc-old-locale)
7462 ("ghc-resource-pool" ,ghc-resource-pool)
7463 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7464 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7465 ("ghc-persistent-template" ,ghc-persistent-template)
7466 ("ghc-temporary" ,ghc-temporary)))
7467 (home-page
7468 "https://www.yesodweb.com/book/persistent")
7469 (synopsis "Backend for the persistent library using sqlite3")
7470 (description "This Haskell package includes a thin sqlite3 wrapper based
7471on the direct-sqlite package, as well as the entire C library, so there are no
7472system dependencies.")
7473 (license license:expat)))
7474
7475(define-public ghc-persistent-template
7476 (package
7477 (name "ghc-persistent-template")
7478 (version "2.5.4")
7479 (source
7480 (origin
7481 (method url-fetch)
7482 (uri (string-append "https://hackage.haskell.org/package/"
7483 "persistent-template-" version "/"
7484 "persistent-template-" version ".tar.gz"))
7485 (sha256
7486 (base32
7487 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7488 (build-system haskell-build-system)
7489 (arguments
7490 `(#:cabal-revision
7491 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7492 (inputs `(("ghc-persistent" ,ghc-persistent)
7493 ("ghc-monad-control" ,ghc-monad-control)
7494 ("ghc-aeson" ,ghc-aeson)
7495 ("ghc-aeson-compat" ,ghc-aeson-compat)
7496 ("ghc-monad-logger" ,ghc-monad-logger)
7497 ("ghc-unordered-containers" ,ghc-unordered-containers)
7498 ("ghc-tagged" ,ghc-tagged)
7499 ("ghc-path-pieces" ,ghc-path-pieces)
7500 ("ghc-http-api-data" ,ghc-http-api-data)))
7501 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7502 ("ghc-quickcheck" ,ghc-quickcheck)))
7503 (home-page "https://www.yesodweb.com/book/persistent")
7504 (synopsis "Type-safe, non-relational, multi-backend persistence")
7505 (description "This Haskell package provides interfaces and helper
7506functions for the ghc-persistent package.")
7507 (license license:expat)))
7508
7509(define-public ghc-polyparse
7510 (package
7511 (name "ghc-polyparse")
7512 (version "1.12")
7513 (source
7514 (origin
7515 (method url-fetch)
7516 (uri (string-append
7517 "https://hackage.haskell.org/package/polyparse/polyparse-"
7518 version
7519 ".tar.gz"))
7520 (sha256
7521 (base32
7522 "05dya1vdvq29hkhkdlsglzhw7bdn51rvs1javs0q75nf99c66k7m"))))
7523 (build-system haskell-build-system)
7524 (home-page
7525 "http://code.haskell.org/~malcolm/polyparse/")
7526 (synopsis
7527 "Alternative parser combinator libraries")
7528 (description
7529 "This package provides a variety of alternative parser combinator
7530libraries, including the original HuttonMeijer set. The Poly sets have
7531features like good error reporting, arbitrary token type, running state, lazy
7532parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7533standard Read class, for better deserialisation of Haskell values from
7534Strings.")
7535 (license license:lgpl2.1)))
7536
7537(define-public ghc-pqueue
7538 (package
7539 (name "ghc-pqueue")
7540 (version "1.4.1.1")
7541 (source
7542 (origin
7543 (method url-fetch)
7544 (uri (string-append "https://hackage.haskell.org/package/"
7545 "pqueue/pqueue-" version ".tar.gz"))
7546 (sha256
7547 (base32
7548 "1zvwm1zcqqq5n101s1brjhgbay8rf9fviq6gxbplf40i63m57p1x"))))
7549 (build-system haskell-build-system)
7550 (native-inputs
7551 `(("ghc-quickcheck" ,ghc-quickcheck)))
7552 (home-page "https://hackage.haskell.org/package/pqueue")
7553 (synopsis "Reliable, persistent, fast priority queues")
7554 (description
7555 "This package provides a fast, reliable priority queue implementation
7556based on a binomial heap.")
7557 (license license:bsd-3)))
7558
7559(define-public ghc-prelude-extras
7560 (package
7561 (name "ghc-prelude-extras")
7562 (version "0.4.0.3")
7563 (source
7564 (origin
7565 (method url-fetch)
7566 (uri (string-append
7567 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7568 version
7569 ".tar.gz"))
7570 (sha256
7571 (base32
7572 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7573 (build-system haskell-build-system)
7574 (home-page "https://github.com/ekmett/prelude-extras")
7575 (synopsis "Higher order versions of Prelude classes")
7576 (description "This library provides higher order versions of
7577@code{Prelude} classes to ease programming with polymorphic recursion and
7578reduce @code{UndecidableInstances}.")
7579 (license license:bsd-3)))
7580
7581(define-public ghc-prettyclass
7582 (package
7583 (name "ghc-prettyclass")
7584 (version "1.0.0.0")
7585 (source
7586 (origin
7587 (method url-fetch)
7588 (uri (string-append "https://hackage.haskell.org/package/"
7589 "prettyclass/prettyclass-" version ".tar.gz"))
7590 (sha256
7591 (base32
7592 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7593 (build-system haskell-build-system)
7594 (home-page "http://hackage.haskell.org/package/prettyclass")
7595 (synopsis "Pretty printing class similar to Show")
7596 (description "This package provides a pretty printing class similar
7597to @code{Show}, based on the HughesPJ pretty printing library. It
7598provides the pretty printing class and instances for the Prelude
7599types.")
7600 (license license:bsd-3)))
7601
7602(define-public ghc-pretty-hex
7603 (package
7604 (name "ghc-pretty-hex")
7605 (version "1.0")
7606 (source
7607 (origin
7608 (method url-fetch)
7609 (uri (string-append "https://hackage.haskell.org/package/"
7610 "pretty-hex-" version "/"
7611 "pretty-hex-" version ".tar.gz"))
7612 (sha256
7613 (base32
7614 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7615 (build-system haskell-build-system)
7616 (home-page "https://github.com/GaloisInc/hexdump")
7617 (synopsis "Haskell library for hex dumps of ByteStrings")
7618 (description "This Haskell library generates pretty hex dumps of
7619ByteStrings in the style of other common *nix hex dump tools.")
7620 (license license:bsd-3)))
7621
7622(define-public ghc-pretty-show
7623 (package
7624 (name "ghc-pretty-show")
7625 (version "1.7")
7626 (source
7627 (origin
7628 (method url-fetch)
7629 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
7630 "pretty-show-" version ".tar.gz"))
7631 (sha256
7632 (base32
7633 "0br7pkxqqqhby2j2v1g847lgqsrasx56g1jw3dhmjh4flzs6warq"))))
7634 (build-system haskell-build-system)
7635 (inputs
7636 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
7637 ("ghc-happy" ,ghc-happy)))
7638 (home-page "http://wiki.github.com/yav/pretty-show")
7639 (synopsis "Tools for working with derived `Show` instances")
7640 (description
7641 "This package provides a library and an executable for working with
7642derived @code{Show} instances. By using the library, derived @code{Show}
7643instances can be parsed into a generic data structure. The @code{ppsh} tool
7644uses the library to produce human-readable versions of @code{Show} instances,
7645which can be quite handy for debugging Haskell programs. We can also render
7646complex generic values into an interactive Html page, for easier
7647examination.")
7648 (license license:expat)))
7649
7650(define-public ghc-primitive
7651 (package
7652 (name "ghc-primitive")
7653 (version "0.6.4.0")
7654 (outputs '("out" "doc"))
7655 (source
7656 (origin
7657 (method url-fetch)
7658 (uri (string-append
7659 "https://hackage.haskell.org/package/primitive/primitive-"
7660 version
7661 ".tar.gz"))
7662 (sha256
7663 (base32
7664 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
7665 (build-system haskell-build-system)
7666 (home-page
7667 "https://github.com/haskell/primitive")
7668 (synopsis "Primitive memory-related operations")
7669 (description
7670 "This package provides various primitive memory-related operations.")
7671 (license license:bsd-3)))
7672
7673(define-public ghc-profunctors
7674 (package
7675 (name "ghc-profunctors")
7676 (version "5.2.2")
7677 (source
7678 (origin
7679 (method url-fetch)
7680 (uri (string-append
7681 "https://hackage.haskell.org/package/profunctors/profunctors-"
7682 version
7683 ".tar.gz"))
7684 (sha256
7685 (base32
7686 "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9"))))
7687 (build-system haskell-build-system)
7688 (arguments
7689 `(#:cabal-revision
7690 ("2" "1ywlg9z8nlhd2avgb8c6gbkv8zyk7hvc25926bafyg0m0k8y1amq")))
7691 (inputs
7692 `(("ghc-base-orphans" ,ghc-base-orphans)
7693 ("ghc-bifunctors" ,ghc-bifunctors)
7694 ("ghc-comonad" ,ghc-comonad)
7695 ("ghc-contravariant" ,ghc-contravariant)
7696 ("ghc-distributive" ,ghc-distributive)
7697 ("ghc-semigroups" ,ghc-semigroups)
7698 ("ghc-tagged" ,ghc-tagged)))
7699 (home-page "https://github.com/ekmett/profunctors/")
7700 (synopsis "Profunctors for Haskell")
7701 (description "This library provides profunctors for Haskell.")
7702 (license license:bsd-3)))
7703
7704(define-public ghc-psqueues
7705 (package
7706 (name "ghc-psqueues")
7707 (version "0.2.7.0")
7708 (source
7709 (origin
7710 (method url-fetch)
7711 (uri (string-append "https://hackage.haskell.org/package/"
7712 "psqueues-" version "/"
7713 "psqueues-" version ".tar.gz"))
7714 (sha256
7715 (base32
7716 "1sjgc9bxh63kkdp59nbirx3xazr02ia5yhp4f4a0jnq1hj465wsc"))))
7717 (build-system haskell-build-system)
7718 (inputs
7719 `(("ghc-hashable" ,ghc-hashable)))
7720 (native-inputs
7721 `(("ghc-hunit" ,ghc-hunit)
7722 ("ghc-quickcheck" ,ghc-quickcheck)
7723 ("ghc-tagged" ,ghc-tagged)
7724 ("ghc-test-framework" ,ghc-test-framework)
7725 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7726 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7727 (home-page "https://github.com/jaspervdj/psqueues")
7728 (synopsis "Pure priority search queues")
7729 (description "The psqueues package provides
7730@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
7731three different flavors:
7732
7733@itemize
7734@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
7735fast insertion, deletion and lookup. This implementation is based on Ralf
7736Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
7737Implementation Technique for Priority Search Queues}.
7738
7739Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
7740PSQueue} library, although it is considerably faster and provides a slightly
7741different API.
7742
7743@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
7744key type to @code{Int} and uses a
7745@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
7746with an additional min-heap property.
7747
7748@item @code{HashPSQ k p v} is a fairly straightforward extension
7749of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
7750@code{IntPSQ}. If there are any hash collisions, it uses an
7751@code{OrdPSQ} to resolve those. The performance of this implementation
7752is comparable to that of @code{IntPSQ}, but it is more widely
7753applicable since the keys are not restricted to @code{Int},
7754but rather to any @code{Hashable} datatype.
7755@end itemize
7756
7757Each of the three implementations provides the same API, so they can
7758be used interchangeably.
7759
7760Typical applications of Priority Search Queues include:
7761
7762@itemize
7763@item Caches, and more specifically LRU Caches;
7764@item Schedulers;
7765@item Pathfinding algorithms, such as Dijkstra's and A*.
7766@end itemize")
7767 (license license:bsd-3)))
7768
7769(define-public ghc-random
7770 (package
7771 (name "ghc-random")
7772 (version "1.1")
7773 (outputs '("out" "doc"))
7774 (source
7775 (origin
7776 (method url-fetch)
7777 (uri (string-append
7778 "https://hackage.haskell.org/package/random/random-"
7779 version
7780 ".tar.gz"))
7781 (sha256
7782 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
7783 (build-system haskell-build-system)
7784 (home-page "https://hackage.haskell.org/package/random")
7785 (synopsis "Random number library")
7786 (description "This package provides a basic random number generation
7787library, including the ability to split random number generators.")
7788 (license license:bsd-3)))
7789
7790(define-public ghc-raw-strings-qq
7791 (package
7792 (name "ghc-raw-strings-qq")
7793 (version "1.1")
7794 (source
7795 (origin
7796 (method url-fetch)
7797 (uri (string-append "https://hackage.haskell.org/package/"
7798 "raw-strings-qq/raw-strings-qq-"
7799 version ".tar.gz"))
7800 (sha256
7801 (base32
7802 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
7803 (build-system haskell-build-system)
7804 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
7805 (home-page "https://github.com/23Skidoo/raw-strings-qq")
7806 (synopsis "Raw string literals for Haskell")
7807 (description
7808 "This package provides a quasiquoter for raw string literals, i.e. string
7809literals that don't recognise the standard escape sequences. Basically, they
7810make your code more readable by freeing you from the responsibility to escape
7811backslashes. They are useful when working with regular expressions,
7812DOS/Windows paths and markup languages (such as XML).")
7813 (license license:bsd-3)))
7814
7815(define-public ghc-readable
7816 (package
7817 (name "ghc-readable")
7818 (version "0.3.1")
7819 (source
7820 (origin
7821 (method url-fetch)
7822 (uri (string-append "https://hackage.haskell.org/package/"
7823 "readable/readable-" version ".tar.gz"))
7824 (sha256
7825 (base32
7826 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
7827 (build-system haskell-build-system)
7828 (home-page "https://github.com/mightybyte/readable")
7829 (synopsis "Type class for reading from Text and ByteString")
7830 (description "This package provides a @code{Readable} type class for
7831reading data types from @code{ByteString} and @code{Text}. It also
7832includes efficient implementations for common data types.")
7833 (license license:bsd-3)))
7834
7835(define-public ghc-rebase
7836 (package
7837 (name "ghc-rebase")
7838 (version "1.2.4")
7839 (source
7840 (origin
7841 (method url-fetch)
7842 (uri (string-append "https://hackage.haskell.org/package/"
7843 "rebase-" version "/"
7844 "rebase-" version ".tar.gz"))
7845 (sha256
7846 (base32
7847 "1gah2qwfpzwamnikbc5h4nv6dgvv9h16di9ka7946za3nibyasya"))))
7848 (build-system haskell-build-system)
7849 (inputs `(("ghc-hashable" ,ghc-hashable)
7850 ("ghc-vector" ,ghc-vector)
7851 ("ghc-unordered-containers" ,ghc-unordered-containers)
7852 ("ghc-scientific" ,ghc-scientific)
7853 ("ghc-uuid" ,ghc-uuid)
7854 ("ghc-dlist" ,ghc-dlist)
7855 ("ghc-void" ,ghc-void)
7856 ("ghc-bifunctors" ,ghc-bifunctors)
7857 ("ghc-profunctors" ,ghc-profunctors)
7858 ("ghc-contravariant" ,ghc-contravariant)
7859 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
7860 ("ghc-semigroups" ,ghc-semigroups)
7861 ("ghc-either" ,ghc-either)
7862 ("ghc-fail" ,ghc-fail)
7863 ("ghc-base-prelude" ,ghc-base-prelude)))
7864 (home-page "https://github.com/nikita-volkov/rebase")
7865 (synopsis "Progressive alternative to the base package
7866for Haskell")
7867 (description "This Haskell package is intended for those who are
7868tired of keeping long lists of dependencies to the same essential libraries
7869in each package as well as the endless imports of the same APIs all over again.
7870
7871It also supports the modern tendencies in the language.
7872
7873To solve those problems this package does the following:
7874
7875@itemize
7876@item Reexport the original APIs under the @code{Rebase} namespace.
7877
7878@item Export all the possible non-conflicting symbols from the
7879@code{Rebase.Prelude} module.
7880
7881@item Give priority to the modern practices in the conflicting cases.
7882@end itemize
7883
7884The policy behind the package is only to reexport the non-ambiguous and
7885non-controversial APIs, which the community has obviously settled on.
7886The package is intended to rapidly evolve with the contribution from
7887the community, with the missing features being added with pull-requests.")
7888 (license license:expat)))
7889
7890(define-public ghc-reducers
7891 (package
7892 (name "ghc-reducers")
7893 (version "3.12.3")
7894 (source
7895 (origin
7896 (method url-fetch)
7897 (uri (string-append
7898 "https://hackage.haskell.org/package/reducers/reducers-"
7899 version
7900 ".tar.gz"))
7901 (sha256
7902 (base32
7903 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
7904 (build-system haskell-build-system)
7905 (inputs
7906 `(("ghc-fingertree" ,ghc-fingertree)
7907 ("ghc-hashable" ,ghc-hashable)
7908 ("ghc-unordered-containers" ,ghc-unordered-containers)
7909 ("ghc-semigroupoids" ,ghc-semigroupoids)
7910 ("ghc-semigroups" ,ghc-semigroups)))
7911 (home-page "https://github.com/ekmett/reducers/")
7912 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
7913 (description "This library provides various semigroups, specialized
7914containers and a general map/reduce framework for Haskell.")
7915 (license license:bsd-3)))
7916
7917(define-public ghc-refact
7918 (package
7919 (name "ghc-refact")
7920 (version "0.3.0.2")
7921 (source
7922 (origin
7923 (method url-fetch)
7924 (uri (string-append "https://hackage.haskell.org/package/"
7925 "refact/refact-"
7926 version ".tar.gz"))
7927 (sha256
7928 (base32
7929 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
7930 (build-system haskell-build-system)
7931 (home-page "http://hackage.haskell.org/package/refact")
7932 (synopsis "Specify refactorings to perform with apply-refact")
7933 (description
7934 "This library provides a datatype which can be interpreted by
7935@code{apply-refact}. It exists as a separate library so that applications can
7936specify refactorings without depending on GHC.")
7937 (license license:bsd-3)))
7938
7939(define-public ghc-reflection
7940 (package
7941 (name "ghc-reflection")
7942 (version "2.1.4")
7943 (source
7944 (origin
7945 (method url-fetch)
7946 (uri (string-append
7947 "https://hackage.haskell.org/package/reflection/reflection-"
7948 version
7949 ".tar.gz"))
7950 (sha256
7951 (base32
7952 "0kf4a5ijw6jfnfibjcrpdy9vzh1n6v2pxia8dhyyqdissiwc8bzj"))))
7953 (build-system haskell-build-system)
7954 (inputs `(("ghc-tagged" ,ghc-tagged)))
7955 (home-page "https://github.com/ekmett/reflection")
7956 (synopsis "Reify arbitrary terms into types that can be reflected back
7957into terms")
7958 (description "This package addresses the 'configuration problem' which is
7959propagating configurations that are available at run-time, allowing multiple
7960configurations to coexist without resorting to mutable global variables or
7961@code{System.IO.Unsafe.unsafePerformIO}.")
7962 (license license:bsd-3)))
7963
7964(define-public ghc-regex
7965 (package
7966 (name "ghc-regex")
7967 (version "1.0.1.3")
7968 (source
7969 (origin
7970 (method url-fetch)
7971 (uri (string-append "https://hackage.haskell.org/package/regex/"
7972 "regex-" version ".tar.gz"))
7973 (sha256
7974 (base32
7975 "1sjkpkgv4phy5b5v2lr89x4vx4dh44pj0sbvlsp6n86w9v6v4jwb"))))
7976 (build-system haskell-build-system)
7977 (arguments
7978 `(#:phases
7979 (modify-phases %standard-phases
7980 (add-after 'unpack 'relax-dependencies
7981 (lambda _
7982 (substitute* "regex.cabal"
7983 (("base-compat.*>=.*0.6.*")
7984 "base-compat >= 0.6\n")
7985 (("template-haskell.*>=.*2.7.*")
7986 "template-haskell >= 2.7\n"))
7987 #t)))))
7988 (inputs
7989 `(("ghc-base-compat" ,ghc-base-compat)
7990 ("ghc-hashable" ,ghc-hashable)
7991 ("ghc-regex-base" ,ghc-regex-base)
7992 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
7993 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
7994 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
7995 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
7996 ("ghc-unordered-containers" ,ghc-unordered-containers)
7997 ("ghc-utf8-string" ,ghc-utf8-string)))
7998 (home-page "http://regex.uk")
7999 (synopsis "Toolkit for regex-base")
8000 (description
8001 "This package provides a regular expression toolkit for @code{regex-base}
8002with compile-time checking of regular expression syntax, data types for
8003matches and captures, a text replacement toolkit, portable options, high-level
8004AWK-like tools for building text processing apps, regular expression macros
8005with parsers and test bench, comprehensive documentation, tutorials and
8006copious examples.")
8007 (license license:bsd-3)))
8008
8009(define-public ghc-regex-applicative
8010 (package
8011 (name "ghc-regex-applicative")
8012 (version "0.3.3")
8013 (source
8014 (origin
8015 (method url-fetch)
8016 (uri (string-append
8017 "https://hackage.haskell.org/package/regex-applicative/"
8018 "regex-applicative-" version ".tar.gz"))
8019 (sha256
8020 (base32
8021 "1riv7jqf26lbv4rm54sd6mrx8xdh4dvh4xbzymzdfdw13k6a4nb6"))))
8022 (build-system haskell-build-system)
8023 (inputs
8024 `(("ghc-smallcheck" ,ghc-smallcheck)
8025 ("ghc-tasty" ,ghc-tasty)
8026 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8027 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8028 (home-page "https://github.com/feuerbach/regex-applicative")
8029 (synopsis "Regex-based parsing with applicative interface")
8030 (description
8031 "@code{regex-applicative} is a Haskell library for parsing using
8032regular expressions. Parsers can be built using Applicative interface.")
8033 (license license:expat)))
8034
8035(define-public ghc-regex-base
8036 (package
8037 (name "ghc-regex-base")
8038 (version "0.93.2")
8039 (source
8040 (origin
8041 (method url-fetch)
8042 (uri (string-append
8043 "https://hackage.haskell.org/package/regex-base/regex-base-"
8044 version
8045 ".tar.gz"))
8046 (sha256
8047 (base32
8048 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8049 (build-system haskell-build-system)
8050 (home-page
8051 "https://sourceforge.net/projects/lazy-regex")
8052 (synopsis "Replaces/Enhances Text.Regex")
8053 (description "@code{Text.Regex.Base} provides the interface API for
8054regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8055 (license license:bsd-3)))
8056
8057(define-public ghc-regex-compat
8058 (package
8059 (name "ghc-regex-compat")
8060 (version "0.95.1")
8061 (source
8062 (origin
8063 (method url-fetch)
8064 (uri (string-append
8065 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8066 version
8067 ".tar.gz"))
8068 (sha256
8069 (base32
8070 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8071 (build-system haskell-build-system)
8072 (inputs
8073 `(("ghc-regex-base" ,ghc-regex-base)
8074 ("ghc-regex-posix" ,ghc-regex-posix)))
8075 (home-page "https://sourceforge.net/projects/lazy-regex")
8076 (synopsis "Replaces/Enhances Text.Regex")
8077 (description "This library provides one module layer over
8078@code{regex-posix} to replace @code{Text.Regex}.")
8079 (license license:bsd-3)))
8080
8081(define-public ghc-regex-compat-tdfa
8082 (package
8083 (name "ghc-regex-compat-tdfa")
8084 (version "0.95.1.4")
8085 (source
8086 (origin
8087 (method url-fetch)
8088 (uri (string-append
8089 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8090 version ".tar.gz"))
8091 (sha256
8092 (base32
8093 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8094 (build-system haskell-build-system)
8095 (inputs
8096 `(("ghc-regex-base" ,ghc-regex-base)
8097 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8098 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8099 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8100 (description
8101 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8102@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8103This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8104this problem.")
8105 (license license:bsd-3)))
8106
8107(define-public ghc-regex-pcre-builtin
8108 (package
8109 (name "ghc-regex-pcre-builtin")
8110 (version "0.94.4.8.8.35")
8111 (source (origin
8112 (method url-fetch)
8113 (uri (string-append "https://hackage.haskell.org/package/"
8114 "regex-pcre-builtin/regex-pcre-builtin-"
8115 version ".tar.gz"))
8116 (sha256
8117 (base32
8118 "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b"))))
8119 (build-system haskell-build-system)
8120 (inputs
8121 `(("ghc-regex-base" ,ghc-regex-base)))
8122 (home-page "https://hackage.haskell.org/package/regex-pcre")
8123 (synopsis "Enhancement of the builtin Text.Regex library")
8124 (description
8125 "This package is an enhancement of the @code{Text.Regex} library,
8126providing the PCRE backend to accompany regex-base, with bundled code from
8127@url{https://www.pcre.org}.")
8128 (license license:bsd-3)))
8129
8130(define-public ghc-regex-posix
8131 (package
8132 (name "ghc-regex-posix")
8133 (version "0.95.2")
8134 (source
8135 (origin
8136 (method url-fetch)
8137 (uri (string-append
8138 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8139 version
8140 ".tar.gz"))
8141 (sha256
8142 (base32
8143 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8144 (build-system haskell-build-system)
8145 (inputs
8146 `(("ghc-regex-base" ,ghc-regex-base)))
8147 (home-page "https://sourceforge.net/projects/lazy-regex")
8148 (synopsis "POSIX regular expressions for Haskell")
8149 (description "This library provides the POSIX regex backend used by the
8150Haskell library @code{regex-base}.")
8151 (license license:bsd-3)))
8152
8153(define-public ghc-regex-tdfa
8154 (package
8155 (name "ghc-regex-tdfa")
8156 (version "1.2.3.1")
8157 (source
8158 (origin
8159 (method url-fetch)
8160 (uri (string-append
8161 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8162 version ".tar.gz"))
8163 (sha256
8164 (base32
8165 "0l7ajnh4hpgggf2a1r9dg0hx2fy679vd2kada5y7r02hy3nfxala"))))
8166 (build-system haskell-build-system)
8167 (inputs
8168 `(("ghc-regex-base" ,ghc-regex-base)))
8169 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8170 (synopsis "POSIX extended regular expressions in Haskell.")
8171 (description
8172 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8173extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8174inspired by libtre.")
8175 (license license:bsd-3)))
8176
8177(define-public ghc-regex-tdfa-text
8178 (package
8179 (name "ghc-regex-tdfa-text")
8180 (version "1.0.0.3")
8181 (source
8182 (origin
8183 (method url-fetch)
8184 (uri (string-append
8185 "https://hackage.haskell.org/package/regex-tdfa-text/"
8186 "regex-tdfa-text-" version ".tar.gz"))
8187 (sha256
8188 (base32
8189 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8190 (build-system haskell-build-system)
8191 (inputs
8192 `(("ghc-regex-base" ,ghc-regex-base)
8193 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8194 (home-page
8195 "http://hackage.haskell.org/package/regex-tdfa-text")
8196 (synopsis "Text interface for regex-tdfa")
8197 (description
8198 "This provides an extra text interface for regex-tdfa.")
8199 (license license:bsd-3)))
8200
8201(define-public ghc-rerebase
8202 (package
8203 (name "ghc-rerebase")
8204 (version "1.2.2")
8205 (source
8206 (origin
8207 (method url-fetch)
8208 (uri (string-append
8209 "https://hackage.haskell.org/package/rerebase/rerebase-"
8210 version ".tar.gz"))
8211 (sha256
8212 (base32
8213 "11v6rmz7ql2rdx6mhb3lsal952lwihclfhh0m7fcnii5br0906ks"))))
8214 (build-system haskell-build-system)
8215 (inputs
8216 `(("ghc-rebase" ,ghc-rebase)))
8217 (home-page "https://github.com/nikita-volkov/rerebase")
8218 (synopsis "Reexports from ``base'' with many other standard libraries")
8219 (description "A rich drop-in replacement for @code{base}. For details and
8220documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8221the project's home page}.")
8222 (license license:expat)))
8223
8224(define-public ghc-resolv
8225 (package
8226 (name "ghc-resolv")
8227 (version "0.1.1.1")
8228 (source
8229 (origin
8230 (method url-fetch)
8231 (uri (string-append
8232 "https://hackage.haskell.org/package/resolv/resolv-"
8233 version ".tar.gz"))
8234 (sha256
8235 (base32
8236 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
8237 (build-system haskell-build-system)
8238 (arguments
8239 `(#:cabal-revision
8240 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
8241 #:tests? #f)) ; The required test frameworks are too old.
8242 (inputs
8243 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8244 (home-page "https://github.com/haskell/hackage-security")
8245 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8246 (description "This package implements an API for accessing the
8247@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8248resolver service via the standard @code{libresolv} system library (whose
8249API is often available directly via the standard @code{libc} C library) on
8250Unix systems.")
8251 (license license:gpl3)))
8252
8253(define-public ghc-resource-pool
8254 (package
8255 (name "ghc-resource-pool")
8256 (version "0.2.3.2")
8257 (source
8258 (origin
8259 (method url-fetch)
8260 (uri (string-append "https://hackage.haskell.org/package/"
8261 "resource-pool-" version "/"
8262 "resource-pool-" version ".tar.gz"))
8263 (sha256
8264 (base32
8265 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8266 (build-system haskell-build-system)
8267 (inputs `(("ghc-hashable" ,ghc-hashable)
8268 ("ghc-monad-control" ,ghc-monad-control)
8269 ("ghc-transformers-base" ,ghc-transformers-base)
8270 ("ghc-vector" ,ghc-vector)))
8271 (home-page "https://github.com/bos/pool")
8272 (synopsis "Striped resource pooling implementation in Haskell")
8273 (description "This Haskell package provides striped pooling abstraction
8274for managing flexibly-sized collections of resources such as database
8275connections.")
8276 (license license:bsd-3)))
8277
8278(define-public ghc-resourcet
8279 (package
8280 (name "ghc-resourcet")
8281 (version "1.2.1")
8282 (source
8283 (origin
8284 (method url-fetch)
8285 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8286 "resourcet-" version ".tar.gz"))
8287 (sha256
8288 (base32
8289 "0rzjzh34s36ssign7akqjnwnjxf11c3511wk7ky0xxy0dqmc2rg7"))))
8290 (build-system haskell-build-system)
8291 (inputs
8292 `(("ghc-transformers-base" ,ghc-transformers-base)
8293 ("ghc-monad-control" ,ghc-monad-control)
8294 ("ghc-transformers-compat" ,ghc-transformers-compat)
8295 ("ghc-mmorph" ,ghc-mmorph)
8296 ("ghc-exceptions" ,ghc-exceptions)
8297 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8298 (native-inputs
8299 `(("ghc-lifted-base" ,ghc-lifted-base)
8300 ("ghc-hspec" ,ghc-hspec)))
8301 (home-page "https://github.com/snoyberg/conduit")
8302 (synopsis "Deterministic allocation and freeing of scarce resources")
8303 (description "ResourceT is a monad transformer which creates a region of
8304code where you can safely allocate resources.")
8305 (license license:bsd-3)))
8306
8307(define-public ghc-rfc5051
8308 (package
8309 (name "ghc-rfc5051")
8310 (version "0.1.0.3")
8311 (source
8312 (origin
8313 (method url-fetch)
8314 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8315 "rfc5051-" version ".tar.gz"))
8316 (sha256
8317 (base32
8318 "0av4c3qvwbkbzrjrrg601ay9pds7wscqqp2lc2z78mv2lllap3g3"))))
8319 (build-system haskell-build-system)
8320 (home-page "https://hackage.haskell.org/package/rfc5051")
8321 (synopsis "Simple unicode collation as per RFC5051")
8322 (description
8323 "This library implements @code{unicode-casemap}, the simple, non
8324locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8325unicode collation can be done using @code{text-icu}, but that is a big
8326dependency that depends on a large C library, and @code{rfc5051} might be
8327better for some purposes.")
8328 (license license:bsd-3)))
8329
8330(define-public ghc-rio
8331 (package
8332 (name "ghc-rio")
8333 (version "0.1.5.0")
8334 (source
8335 (origin
8336 (method url-fetch)
8337 (uri (string-append
8338 "https://hackage.haskell.org/package/rio/rio-"
8339 version ".tar.gz"))
8340 (sha256
8341 (base32
8342 "064h8a4hp53a479d3ak0vmqbx8hi0cpg7zn4wp23rjy26dka8p7g"))))
8343 (build-system haskell-build-system)
8344 (inputs
8345 `(("ghc-exceptions" ,ghc-exceptions)
8346 ("ghc-hashable" ,ghc-hashable)
8347 ("ghc-microlens" ,ghc-microlens)
8348 ("ghc-primitive" ,ghc-primitive)
8349 ("ghc-typed-process" ,ghc-typed-process)
8350 ("ghc-unliftio" ,ghc-unliftio)
8351 ("ghc-unordered-containers" ,ghc-unordered-containers)
8352 ("ghc-vector" ,ghc-vector)))
8353 (native-inputs
8354 `(("ghc-hspec" ,ghc-hspec)
8355 ("hspec-discover" ,hspec-discover)))
8356 (home-page "https://github.com/commercialhaskell/rio#readme")
8357 (synopsis "A standard library for Haskell")
8358 (description "This package works as a prelude replacement for Haskell,
8359providing more functionality and types out of the box than the standard
8360prelude (such as common data types like @code{ByteString} and
8361@code{Text}), as well as removing common ``gotchas'', like partial
8362functions and lazy I/O. The guiding principle here is:
8363@itemize
8364@item If something is safe to use in general and has no expected naming
8365conflicts, expose it.
8366@item If something should not always be used, or has naming conflicts,
8367expose it from another module in the hierarchy.
8368@end itemize")
8369 (license license:expat)))
8370
8371(define-public ghc-safe
8372 (package
8373 (name "ghc-safe")
8374 (version "0.3.17")
8375 (source
8376 (origin
8377 (method url-fetch)
8378 (uri (string-append
8379 "https://hackage.haskell.org/package/safe/safe-"
8380 version
8381 ".tar.gz"))
8382 (sha256
8383 (base32
8384 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8385 (build-system haskell-build-system)
8386 (native-inputs
8387 `(("ghc-quickcheck" ,ghc-quickcheck)))
8388 (home-page "https://github.com/ndmitchell/safe#readme")
8389 (synopsis "Library of safe (exception free) functions")
8390 (description "This library provides wrappers around @code{Prelude} and
8391@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8392exceptions.")
8393 (license license:bsd-3)))
8394
8395(define-public ghc-safe-exceptions
8396 (package
8397 (name "ghc-safe-exceptions")
8398 (version "0.1.7.0")
8399 (source
8400 (origin
8401 (method url-fetch)
8402 (uri (string-append "https://hackage.haskell.org/package/"
8403 "safe-exceptions/safe-exceptions-"
8404 version ".tar.gz"))
8405 (sha256
8406 (base32
8407 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8408 (build-system haskell-build-system)
8409 (arguments
8410 '(#:cabal-revision
8411 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8412 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8413 (native-inputs
8414 `(("ghc-hspec" ,ghc-hspec)
8415 ("ghc-void" ,ghc-void)
8416 ("hspec-discover" ,hspec-discover)))
8417 (home-page "https://github.com/fpco/safe-exceptions")
8418 (synopsis "Safe, consistent, and easy exception handling")
8419 (description "Runtime exceptions - as exposed in @code{base} by the
8420@code{Control.Exception} module - have long been an intimidating part of the
8421Haskell ecosystem. This package is intended to overcome this. It provides a
8422safe and simple API on top of the existing exception handling machinery. The
8423API is equivalent to the underlying implementation in terms of power but
8424encourages best practices to minimize the chances of getting the exception
8425handling wrong.")
8426 (license license:expat)))
8427
8428(define-public ghc-safeio
8429 (package
8430 (name "ghc-safeio")
8431 (version "0.0.5.0")
8432 (source
8433 (origin
8434 (method url-fetch)
8435 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8436 "safeio-" version ".tar.gz"))
8437 (sha256
8438 (base32
8439 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8440 (build-system haskell-build-system)
8441 (inputs
8442 `(("ghc-conduit" ,ghc-conduit)
8443 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8444 ("ghc-exceptions" ,ghc-exceptions)
8445 ("ghc-resourcet" ,ghc-resourcet)))
8446 (native-inputs
8447 `(("ghc-hunit" ,ghc-hunit)
8448 ("ghc-test-framework" ,ghc-test-framework)
8449 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8450 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8451 (home-page "https://github.com/luispedro/safeio")
8452 (synopsis "Write output to disk atomically")
8453 (description
8454 "This package implements utilities to perform atomic output so as to
8455avoid the problem of partial intermediate files.")
8456 (license license:expat)))
8457
8458(define-public ghc-safesemaphore
8459 (package
8460 (name "ghc-safesemaphore")
8461 (version "0.10.1")
8462 (source
8463 (origin
8464 (method url-fetch)
8465 (uri (string-append "https://hackage.haskell.org/package/"
8466 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8467 (sha256
8468 (base32
8469 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8470 (build-system haskell-build-system)
8471 (native-inputs
8472 `(("ghc-hunit" ,ghc-hunit)))
8473 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8474 (synopsis "Exception safe semaphores")
8475 (description "This library provides exception safe semaphores that can be
8476used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8477are not exception safe and can be broken by @code{killThread}.")
8478 (license license:bsd-3)))
8479
8480(define-public ghc-sandi
8481 (package
8482 (name "ghc-sandi")
8483 (version "0.4.2")
8484 (source
8485 (origin
8486 (method url-fetch)
8487 (uri (string-append
8488 "https://hackage.haskell.org/package/sandi/sandi-"
8489 version ".tar.gz"))
8490 (sha256
8491 (base32
8492 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8493 (build-system haskell-build-system)
8494 (inputs
8495 `(("ghc-stringsearch" ,ghc-stringsearch)
8496 ("ghc-conduit" ,ghc-conduit)
8497 ("ghc-exceptions" ,ghc-exceptions)
8498 ("ghc-hunit" ,ghc-hunit)
8499 ("ghc-tasty" ,ghc-tasty)
8500 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8501 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8502 ("ghc-tasty-th" ,ghc-tasty-th)))
8503 (home-page "https://hackage.haskell.org/package/sandi")
8504 (synopsis "Data encoding library")
8505 (description "Reasonably fast data encoding library.")
8506 (license license:bsd-3)))
8507
8508(define-public ghc-scientific
8509 (package
8510 (name "ghc-scientific")
8511 (version "0.3.6.2")
8512 (source
8513 (origin
8514 (method url-fetch)
8515 (uri (string-append
8516 "https://hackage.haskell.org/package/scientific/scientific-"
8517 version
8518 ".tar.gz"))
8519 (sha256
8520 (base32
8521 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8522 (build-system haskell-build-system)
8523 (inputs
8524 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8525 ("ghc-hashable" ,ghc-hashable)
8526 ("ghc-primitive" ,ghc-primitive)))
8527 (native-inputs
8528 `(("ghc-tasty" ,ghc-tasty)
8529 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8530 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8531 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8532 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8533 ("ghc-smallcheck" ,ghc-smallcheck)
8534 ("ghc-quickcheck" ,ghc-quickcheck)))
8535 (home-page "https://github.com/basvandijk/scientific")
8536 (synopsis "Numbers represented using scientific notation")
8537 (description "This package provides @code{Data.Scientific}, which provides
8538the number type @code{Scientific}. Scientific numbers are arbitrary precision
8539and space efficient. They are represented using
8540@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
8541notation}.")
8542 (license license:bsd-3)))
8543
8544(define-public ghc-scientific-bootstrap
8545 (package
8546 (inherit ghc-scientific)
8547 (name "ghc-scientific-bootstrap")
8548 (arguments `(#:tests? #f))
8549 (inputs
8550 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
8551 ("ghc-hashable" ,ghc-hashable)
8552 ("ghc-primitive" ,ghc-primitive)))
8553 (native-inputs '())
8554 (properties '(hidden? #t))))
8555
8556(define-public ghc-sdl
8557 (package
8558 (name "ghc-sdl")
8559 (version "0.6.7.0")
8560 (source
8561 (origin
8562 (method url-fetch)
8563 (uri (string-append
8564 "https://hackage.haskell.org/package/SDL/SDL-"
8565 version
8566 ".tar.gz"))
8567 (sha256
8568 (base32
8569 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
8570 (build-system haskell-build-system)
8571 (inputs
8572 `(("sdl" ,sdl)))
8573 (home-page "https://hackage.haskell.org/package/SDL")
8574 (synopsis "LibSDL for Haskell")
8575 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
8576multimedia library designed to provide low level access to audio, keyboard,
8577mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
8578by MPEG playback software, emulators, and many popular games, including the
8579award winning Linux port of \"Civilization: Call To Power.\"")
8580 (license license:bsd-3)))
8581
1874cdc1
RV
8582(define-public ghc-sdl2
8583 (package
8584 (name "ghc-sdl2")
8585 (version "2.4.1.0")
8586 (source
8587 (origin
8588 (method url-fetch)
8589 (uri (string-append "https://hackage.haskell.org/package/"
8590 "sdl2/sdl2-" version ".tar.gz"))
8591 (sha256
8592 (base32
8593 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
8594 (build-system haskell-build-system)
8595 (arguments '(#:tests? #f)) ; tests require graphical environment
8596 (inputs
8597 `(("ghc-exceptions" ,ghc-exceptions)
8598 ("ghc-linear" ,ghc-linear)
8599 ("ghc-statevar" ,ghc-statevar)
8600 ("ghc-vector" ,ghc-vector)
8601 ("sdl2" ,sdl2)))
8602 (native-inputs
8603 `(("ghc-weigh" ,ghc-weigh)
8604 ("pkg-config" ,pkg-config)))
8605 (home-page "http://hackage.haskell.org/package/sdl2")
8606 (synopsis "High- and low-level bindings to the SDL library")
8607 (description
8608 "This package contains bindings to the SDL 2 library, in both high- and
8609low-level forms. The @code{SDL} namespace contains high-level bindings, where
8610enumerations are split into sum types, and we perform automatic
8611error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
8612translation of the C API into Haskell FFI calls. As such, this does not
8613contain sum types nor error checking. Thus this namespace is suitable for
8614building your own abstraction over SDL, but is not recommended for day-to-day
8615programming.")
8616 (license license:bsd-3)))
8617
8618(define-public ghc-sdl2-image
8619 (package
8620 (name "ghc-sdl2-image")
8621 (version "2.0.0")
8622 (source
8623 (origin
8624 (method url-fetch)
8625 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
8626 "sdl2-image-" version ".tar.gz"))
8627 (sha256
8628 (base32
8629 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
8630 (build-system haskell-build-system)
8631 (inputs
8632 `(("ghc-sdl2" ,ghc-sdl2)
8633 ("sdl2-image" ,sdl2-image)))
8634 (native-inputs
8635 `(("pkg-config" ,pkg-config)))
8636 (home-page "http://hackage.haskell.org/package/sdl2-image")
8637 (synopsis "Bindings to SDL2_image")
8638 (description "This package provides Haskell bindings to
8639@code{SDL2_image}.")
8640 (license license:expat)))
8641
8642(define-public ghc-sdl2-mixer
8643 (package
8644 (name "ghc-sdl2-mixer")
8645 (version "1.1.0")
8646 (source
8647 (origin
8648 (method url-fetch)
8649 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
8650 "sdl2-mixer-" version ".tar.gz"))
8651 (sha256
8652 (base32
8653 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
8654 (build-system haskell-build-system)
8655 (inputs
8656 `(("ghc-data-default-class" ,ghc-data-default-class)
8657 ("ghc-lifted-base" ,ghc-lifted-base)
8658 ("ghc-monad-control" ,ghc-monad-control)
8659 ("ghc-sdl2" ,ghc-sdl2)
8660 ("ghc-vector" ,ghc-vector)
8661 ("sdl2-mixer" ,sdl2-mixer)))
8662 (native-inputs
8663 `(("pkg-config" ,pkg-config)))
8664 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
8665 (synopsis "Bindings to SDL2 mixer")
8666 (description "This package provides Haskell bindings to
8667@code{SDL2_mixer}.")
8668 (license license:bsd-3)))
8669
dddbc90c
RV
8670(define-public ghc-sdl-image
8671 (package
8672 (name "ghc-sdl-image")
8673 (version "0.6.2.0")
8674 (source
8675 (origin
8676 (method url-fetch)
8677 (uri (string-append
8678 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
8679 version
8680 ".tar.gz"))
8681 (sha256
8682 (base32
8683 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
8684 (build-system haskell-build-system)
8685 (arguments
8686 `(#:configure-flags
8687 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
8688 (sdl-image-include (string-append sdl-image "/include/SDL")))
8689 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
8690 (inputs
8691 `(("ghc-sdl" ,ghc-sdl)
8692 ("sdl-image" ,sdl-image)))
8693 (home-page "https://hackage.haskell.org/package/SDL-image")
8694 (synopsis "Haskell bindings to libSDL_image")
8695 (description "SDL_image is an image file loading library. It loads images
8696as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
8697PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
8698 (license license:bsd-3)))
8699
8700(define-public ghc-sdl-mixer
8701 (package
8702 (name "ghc-sdl-mixer")
8703 (version "0.6.3.0")
8704 (source
8705 (origin
8706 (method url-fetch)
8707 (uri (string-append
8708 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
8709 version
8710 ".tar.gz"))
8711 (sha256
8712 (base32
8713 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
8714 (build-system haskell-build-system)
8715 (arguments
8716 `(#:configure-flags
8717 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
8718 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
8719 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
8720 (inputs
8721 `(("ghc-sdl" ,ghc-sdl)
8722 ("sdl-mixer" ,sdl-mixer)))
8723 (home-page "https://hackage.haskell.org/package/SDL-mixer")
8724 (synopsis "Haskell bindings to libSDL_mixer")
8725 (description "SDL_mixer is a sample multi-channel audio mixer library. It
8726supports any number of simultaneously playing channels of 16 bit stereo audio,
8727plus a single channel of music, mixed by the popular MikMod MOD, Timidity
8728MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
8729 (license license:bsd-3)))
8730
8731(define-public ghc-securemem
8732 (package
8733 (name "ghc-securemem")
8734 (version "0.1.10")
8735 (source
8736 (origin
8737 (method url-fetch)
8738 (uri (string-append "https://hackage.haskell.org/package/"
8739 "securemem-" version "/"
8740 "securemem-" version ".tar.gz"))
8741 (sha256
8742 (base32
8743 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
8744 (build-system haskell-build-system)
8745 (inputs `(("ghc-byteable" ,ghc-byteable)
8746 ("ghc-memory" ,ghc-memory)))
8747 (home-page "https://github.com/vincenthz/hs-securemem")
8748 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
8749Haskell")
8750 (description "SecureMem is similar to ByteString, except that it provides
8751a memory chunk that will be auto-scrubbed after it run out of scope.")
8752 (license license:bsd-3)))
8753
8754(define-public ghc-semigroupoids
8755 (package
8756 (name "ghc-semigroupoids")
8757 (version "5.2.2")
8758 (source
8759 (origin
8760 (method url-fetch)
8761 (uri (string-append
8762 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
8763 version
8764 ".tar.gz"))
8765 (sha256
8766 (base32
8767 "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
8768 (build-system haskell-build-system)
8769 (arguments
8770 `(#:cabal-revision
8771 ("4" "0pqfrxzypjq6z8lgdkzq4vhcyqkpk5326hny0r6snpc3gm78r4ij")))
8772 (inputs
8773 `(("ghc-base-orphans" ,ghc-base-orphans)
8774 ("ghc-transformers-compat" ,ghc-transformers-compat)
8775 ("ghc-bifunctors" ,ghc-bifunctors)
8776 ("ghc-comonad" ,ghc-comonad)
8777 ("ghc-contravariant" ,ghc-contravariant)
8778 ("ghc-distributive" ,ghc-distributive)
8779 ("ghc-hashable" ,ghc-hashable)
8780 ("ghc-semigroups" ,ghc-semigroups)
8781 ("ghc-tagged" ,ghc-tagged)
8782 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8783 (native-inputs
8784 `(("cabal-doctest" ,cabal-doctest)
8785 ("ghc-doctest" ,ghc-doctest)))
8786 (home-page "https://github.com/ekmett/semigroupoids")
8787 (synopsis "Semigroupoids operations for Haskell")
8788 (description "This library provides a wide array of (semi)groupoids and
8789operations for working with them. A @code{Semigroupoid} is a @code{Category}
8790without the requirement of identity arrows for every object in the category.
8791A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
8792Finally, to work with these weaker structures it is beneficial to have
8793containers that can provide stronger guarantees about their contents, so
8794versions of @code{Traversable} and @code{Foldable} that can be folded with
8795just a @code{Semigroup} are added.")
8796 (license license:bsd-3)))
8797
8798(define-public ghc-semigroups
8799 (package
8800 (name "ghc-semigroups")
8801 (version "0.18.5")
8802 (source
8803 (origin
8804 (method url-fetch)
8805 (uri (string-append
8806 "https://hackage.haskell.org/package/semigroups/semigroups-"
8807 version
8808 ".tar.gz"))
8809 (sha256
8810 (base32
8811 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
8812 (build-system haskell-build-system)
8813 (inputs
8814 `(("ghc-nats" ,ghc-nats)
8815 ("ghc-tagged" ,ghc-tagged)
8816 ("ghc-unordered-containers" ,ghc-unordered-containers)
8817 ("ghc-hashable" ,ghc-hashable)))
8818 (home-page "https://github.com/ekmett/semigroups/")
8819 (synopsis "Semigroup operations for Haskell")
8820 (description "This package provides semigroups for Haskell. In
8821mathematics, a semigroup is an algebraic structure consisting of a set
8822together with an associative binary operation. A semigroup generalizes a
8823monoid in that there might not exist an identity element. It
8824also (originally) generalized a group (a monoid with all inverses) to a type
8825where every element did not have to have an inverse, thus the name
8826semigroup.")
8827 (license license:bsd-3)))
8828
8829(define-public ghc-semigroups-bootstrap
8830 (package
8831 (inherit ghc-semigroups)
8832 (name "ghc-semigroups-bootstrap")
8833 (inputs
8834 `(("ghc-nats" ,ghc-nats-bootstrap)
8835 ("ghc-tagged" ,ghc-tagged)
8836 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
8837 ("ghc-hashable" ,ghc-hashable-bootstrap)))
8838 (properties '(hidden? #t))))
8839
8840(define-public ghc-setenv
8841 (package
8842 (name "ghc-setenv")
8843 (version "0.1.1.3")
8844 (source
8845 (origin
8846 (method url-fetch)
8847 (uri (string-append
8848 "https://hackage.haskell.org/package/setenv/setenv-"
8849 version
8850 ".tar.gz"))
8851 (sha256
8852 (base32
8853 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
8854 (build-system haskell-build-system)
8855 (home-page "https://hackage.haskell.org/package/setenv")
8856 (synopsis "Library for setting environment variables")
8857 (description "This package provides a Haskell library for setting
8858environment variables.")
8859 (license license:expat)))
8860
8861(define-public ghc-setlocale
8862 (package
8863 (name "ghc-setlocale")
8864 (version "1.0.0.8")
8865 (source (origin
8866 (method url-fetch)
8867 (uri (string-append
8868 "https://hackage.haskell.org/package/setlocale-"
8869 version "/setlocale-" version ".tar.gz"))
8870 (sha256
8871 (base32
8872 "0sdrsmkhw08483d73ysgm2926fdbhii61br03lqpqw0lfzj4ilbd"))))
8873 (build-system haskell-build-system)
8874 (home-page "https://hackage.haskell.org/package/setlocale")
8875 (synopsis "Haskell bindings to setlocale")
8876 (description "This package provides Haskell bindings to the
8877@code{setlocale} C function.")
8878 (license license:bsd-3)))
8879
8880(define-public ghc-shakespeare
8881 (package
8882 (name "ghc-shakespeare")
8883 (version "2.0.15")
8884 (source
8885 (origin
8886 (method url-fetch)
8887 (uri (string-append "https://hackage.haskell.org/package/"
8888 "shakespeare-" version "/"
8889 "shakespeare-" version ".tar.gz"))
8890 (sha256
8891 (base32
8892 "1vk4b19zvwy4mpwaq9z3l3kfmz75gfyf7alhh0y112gspgpccm23"))))
8893 (build-system haskell-build-system)
8894 (inputs `(("ghc-aeson" ,ghc-aeson)
8895 ("ghc-blaze-markup" ,ghc-blaze-markup)
8896 ("ghc-blaze-html" ,ghc-blaze-html)
8897 ("ghc-exceptions" ,ghc-exceptions)
8898 ("ghc-vector" ,ghc-vector)
8899 ("ghc-unordered-containers" ,ghc-unordered-containers)
8900 ("ghc-scientific" ,ghc-scientific)))
8901 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8902 ("ghc-hunit" ,ghc-hunit)
8903 ("hspec-discover" ,hspec-discover)))
8904 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
8905 (synopsis "Family of type-safe template languages for Haskell")
8906 (description "This Haskell package provides a family of type-safe
8907templates with simple variable interpolation. Shakespeare templates can
8908be used inline with a quasi-quoter or in an external file and it
8909interpolates variables according to the type being inserted.")
8910 (license license:expat)))
8911
8912(define-public ghc-shelly
8913 (package
8914 (name "ghc-shelly")
8915 (version "1.8.1")
8916 (source
8917 (origin
8918 (method url-fetch)
8919 (uri (string-append
8920 "https://hackage.haskell.org/package/shelly/shelly-"
8921 version ".tar.gz"))
8922 (sha256
8923 (base32
8924 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
8925 (build-system haskell-build-system)
8926 (inputs
8927 `(("ghc-unix-compat" ,ghc-unix-compat)
8928 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
8929 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
8930 ("ghc-monad-control" ,ghc-monad-control)
8931 ("ghc-lifted-base" ,ghc-lifted-base)
8932 ("ghc-lifted-async" ,ghc-lifted-async)
8933 ("ghc-exceptions" ,ghc-exceptions)
8934 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
8935 ("ghc-async" ,ghc-async)
8936 ("ghc-transformers-base" ,ghc-transformers-base)
8937 ("ghc-hunit" ,ghc-hunit)
8938 ("ghc-hspec" ,ghc-hspec)
8939 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
8940 (home-page "https://github.com/yesodweb/Shelly.hs")
8941 (synopsis "Shell-like (systems) programming in Haskell")
8942 (description
8943 "Shelly provides convenient systems programming in Haskell, similar in
8944spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
8945 (license license:bsd-3)))
8946
8947(define-public ghc-silently
8948 (package
8949 (name "ghc-silently")
8950 (version "1.2.5")
8951 (source
8952 (origin
8953 (method url-fetch)
8954 (uri (string-append
8955 "https://hackage.haskell.org/package/silently/silently-"
8956 version
8957 ".tar.gz"))
8958 (sha256
8959 (base32
8960 "0f9qm3f7y0hpxn6mddhhg51mm1r134qkvd2kr8r6192ka1ijbxnf"))))
8961 (build-system haskell-build-system)
8962 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
8963 ;; (inputs
8964 ;; `(("ghc-temporary" ,ghc-temporary)))
8965 (home-page "https://github.com/hspec/silently")
8966 (synopsis "Prevent writing to stdout")
8967 (description "This package provides functions to prevent or capture
8968writing to stdout and other handles.")
8969 (license license:bsd-3)))
8970
8971(define-public ghc-simple-reflect
8972 (package
8973 (name "ghc-simple-reflect")
8974 (version "0.3.3")
8975 (source
8976 (origin
8977 (method url-fetch)
8978 (uri (string-append
8979 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
8980 version
8981 ".tar.gz"))
8982 (sha256
8983 (base32
8984 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
8985 (build-system haskell-build-system)
8986 (home-page
8987 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
8988 (synopsis
8989 "Simple reflection of expressions containing variables")
8990 (description
8991 "This package allows simple reflection of expressions containing
8992variables. Reflection here means that a Haskell expression is turned into a
8993string. The primary aim of this package is teaching and understanding; there
8994are no options for manipulating the reflected expressions beyond showing
8995them.")
8996 (license license:bsd-3)))
8997
8998(define-public ghc-simple-sendfile
8999 (package
9000 (name "ghc-simple-sendfile")
9001 (version "0.2.27")
9002 (source
9003 (origin
9004 (method url-fetch)
9005 (uri (string-append "https://hackage.haskell.org/package/"
9006 "simple-sendfile-" version "/"
9007 "simple-sendfile-" version ".tar.gz"))
9008 (sha256
9009 (base32
9010 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
9011 (build-system haskell-build-system)
9012 (inputs
9013 `(("ghc-conduit" ,ghc-conduit)
9014 ("ghc-conduit-extra" ,ghc-conduit-extra)
9015 ("ghc-network" ,ghc-network)
9016 ("ghc-resourcet" ,ghc-resourcet)))
9017 (native-inputs
9018 `(("ghc-hspec" ,ghc-hspec)
9019 ("hspec-discover" ,hspec-discover)))
9020 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9021 (synopsis "Cross platform library for the sendfile system call")
9022 (description "This library tries to call minimum system calls which
9023are the bottleneck of web servers.")
9024 (license license:bsd-3)))
9025
9026(define-public ghc-skylighting-core
9027 (package
9028 (name "ghc-skylighting-core")
9029 (version "0.7.2")
9030 (source (origin
9031 (method url-fetch)
9032 (uri (string-append "https://hackage.haskell.org/package/"
9033 "skylighting-core/skylighting-core-"
9034 version ".tar.gz"))
9035 (sha256
9036 (base32
9037 "066fwmwsd7xcvwlinfk2izlzq0xp8697i6lnbgsbl71jdybyackq"))))
9038 (build-system haskell-build-system)
9039 (inputs
9040 `(("ghc-aeson" ,ghc-aeson)
9041 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9042 ("ghc-attoparsec" ,ghc-attoparsec)
9043 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9044 ("ghc-blaze-html" ,ghc-blaze-html)
9045 ("ghc-case-insensitive" ,ghc-case-insensitive)
9046 ("ghc-colour" ,ghc-colour)
9047 ("ghc-hxt" ,ghc-hxt)
9048 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9049 ("ghc-safe" ,ghc-safe)
9050 ("ghc-utf8-string" ,ghc-utf8-string)))
9051 (native-inputs
9052 `(("ghc-diff" ,ghc-diff)
9053 ("ghc-hunit" ,ghc-hunit)
9054 ("ghc-pretty-show" ,ghc-pretty-show)
9055 ("ghc-quickcheck" ,ghc-quickcheck)
9056 ("ghc-tasty" ,ghc-tasty)
9057 ("ghc-tasty-golden" ,ghc-tasty-golden)
9058 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9059 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9060 (home-page "https://github.com/jgm/skylighting")
9061 (synopsis "Syntax highlighting library")
9062 (description "Skylighting is a syntax highlighting library with support
9063for over one hundred languages. It derives its tokenizers from XML syntax
9064definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9065supported by that framework can be added. An optional command-line program is
9066provided. Skylighting is intended to be the successor to highlighting-kate.")
9067 (license license:gpl2)))
9068
9069(define-public ghc-skylighting
9070 (package
9071 (inherit ghc-skylighting-core)
9072 (name "ghc-skylighting")
9073 (version "0.7.2")
9074 (source (origin
9075 (method url-fetch)
9076 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9077 version "/skylighting-" version ".tar.gz"))
9078 (sha256
9079 (base32
9080 "1rh3z1a7a4clvksdw1qlpmhxqkfahwypi70k91whgfamzsqpxdch"))))
9081 (inputs
9082 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9083 ,@(package-inputs ghc-skylighting-core)))))
9084
9085(define-public ghc-smallcheck
9086 (package
9087 (name "ghc-smallcheck")
9088 (version "1.1.5")
9089 (source
9090 (origin
9091 (method url-fetch)
9092 (uri (string-append
9093 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9094 version
9095 ".tar.gz"))
9096 (sha256
9097 (base32
9098 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9099 (build-system haskell-build-system)
9100 (inputs
9101 `(("ghc-logict" ,ghc-logict)))
9102 (home-page
9103 "https://github.com/feuerbach/smallcheck")
9104 (synopsis "Property-based testing library")
9105 (description "SmallCheck is a testing library that allows to verify
9106properties for all test cases up to some depth. The test cases are generated
9107automatically by SmallCheck.")
9108 (license license:bsd-3)))
9109
9110(define-public ghc-socks
9111 (package
9112 (name "ghc-socks")
9113 (version "0.5.6")
9114 (source (origin
9115 (method url-fetch)
9116 (uri (string-append "https://hackage.haskell.org/package/"
9117 "socks/socks-" version ".tar.gz"))
9118 (sha256
9119 (base32
9120 "0f44qy74i0n6ll3jym0a2ipafkpw1h67amcpqmj8iq95h21wsqzs"))))
9121 (build-system haskell-build-system)
9122 (inputs
9123 `(("ghc-cereal" ,ghc-cereal)
9124 ("ghc-network" ,ghc-network)))
9125 (home-page "https://github.com/vincenthz/hs-socks")
9126 (synopsis "SOCKS proxy (version 5) implementation")
9127 (description
9128 "This library provides a SOCKS proxy (version 5) implementation.")
9129 (license license:bsd-3)))
9130
9131(define-public ghc-split
9132 (package
9133 (name "ghc-split")
9134 (version "0.2.3.3")
9135 (outputs '("out" "doc"))
9136 (source
9137 (origin
9138 (method url-fetch)
9139 (uri (string-append
9140 "https://hackage.haskell.org/package/split/split-"
9141 version
9142 ".tar.gz"))
9143 (sha256
9144 (base32
9145 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9146 (build-system haskell-build-system)
9147 (native-inputs
9148 `(("ghc-quickcheck" ,ghc-quickcheck)))
9149 (home-page "https://hackage.haskell.org/package/split")
9150 (synopsis "Combinator library for splitting lists")
9151 (description "This package provides a collection of Haskell functions for
9152splitting lists into parts, akin to the @code{split} function found in several
9153mainstream languages.")
9154 (license license:bsd-3)))
9155
9156(define-public ghc-statevar
9157 (package
9158 (name "ghc-statevar")
9159 (version "1.1.1.1")
9160 (source
9161 (origin
9162 (method url-fetch)
9163 (uri (string-append
9164 "https://hackage.haskell.org/package/StateVar/StateVar-"
9165 version
9166 ".tar.gz"))
9167 (sha256
9168 (base32
9169 "08r2iw0gdmfs4f6wraaq19vfmkjdbics3dbhw39y7mdjd98kcr7b"))))
9170 (build-system haskell-build-system)
9171 (home-page "https://hackage.haskell.org/package/StateVar")
9172 (synopsis "State variables for Haskell")
9173 (description "This package provides state variables, which are references
9174in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9175 (license license:bsd-3)))
9176
9177(define-public ghc-statistics
9178 (package
9179 (name "ghc-statistics")
9180 (version "0.14.0.2")
9181 (source
9182 (origin
9183 (method url-fetch)
9184 (uri (string-append "https://hackage.haskell.org/package/"
9185 "statistics-" version "/"
9186 "statistics-" version ".tar.gz"))
9187 (sha256
9188 (base32
9189 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
9190 (build-system haskell-build-system)
9191 (arguments
9192 '(#:cabal-revision
9193 ("2" "1bx70yqkn62ii17fjv3pig4hklrzkqd09zj67zzjiyjzmn04fir3")
9194 ;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
9195 #:tests? #f))
9196 (inputs
9197 `(("ghc-aeson" ,ghc-aeson)
9198 ("ghc-base-orphans" ,ghc-base-orphans)
9199 ("ghc-erf" ,ghc-erf)
9200 ("ghc-math-functions" ,ghc-math-functions)
9201 ("ghc-monad-par" ,ghc-monad-par)
9202 ("ghc-mwc-random" ,ghc-mwc-random)
9203 ("ghc-primitive" ,ghc-primitive)
9204 ("ghc-vector" ,ghc-vector)
9205 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9206 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9207 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9208 (native-inputs
9209 `(("ghc-hunit" ,ghc-hunit)
9210 ("ghc-quickcheck" ,ghc-quickcheck)
9211 ("ghc-ieee754" ,ghc-ieee754)
9212 ("ghc-test-framework" ,ghc-test-framework)
9213 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9214 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9215 (home-page "https://github.com/bos/mwc-random")
9216 (synopsis "Haskell library of statistical types, data, and functions")
9217 (description "This library provides a number of common functions
9218and types useful in statistics. We focus on high performance, numerical
9219robustness, and use of good algorithms. Where possible, we provide references
9220to the statistical literature.
9221
9222The library's facilities can be divided into four broad categories:
9223
9224@itemize
9225@item Working with widely used discrete and continuous probability
9226distributions. (There are dozens of exotic distributions in use; we focus
9227on the most common.)
9228
9229@item Computing with sample data: quantile estimation, kernel density
9230estimation, histograms, bootstrap methods, significance testing,
9231and regression and autocorrelation analysis.
9232
9233@item Random variate generation under several different distributions.
9234
9235@item Common statistical tests for significant differences between samples.
9236@end itemize")
9237 (license license:bsd-2)))
9238
9239(define-public ghc-stm-chans
9240 (package
9241 (name "ghc-stm-chans")
9242 (version "3.0.0.4")
9243 (source
9244 (origin
9245 (method url-fetch)
9246 (uri (string-append "https://hackage.haskell.org/package/"
9247 "stm-chans-" version "/"
9248 "stm-chans-" version ".tar.gz"))
9249 (sha256
9250 (base32
9251 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9252 (build-system haskell-build-system)
9253 (home-page "https://hackage.haskell.org/package/stm-chans")
9254 (synopsis "Additional types of channels for ghc-stm")
9255 (description "This Haskell package offers a collection of channel types,
9256similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9257features.")
9258 (license license:bsd-3)))
9259
9260(define-public ghc-stm-conduit
9261 (package
9262 (name "ghc-stm-conduit")
9263 (version "4.0.0")
9264 (source
9265 (origin
9266 (method url-fetch)
9267 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9268 "stm-conduit-" version ".tar.gz"))
9269 (sha256
9270 (base32
9271 "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
9272 (build-system haskell-build-system)
9273 (inputs
9274 `(("ghc-stm-chans" ,ghc-stm-chans)
9275 ("ghc-cereal" ,ghc-cereal)
9276 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9277 ("ghc-conduit" ,ghc-conduit)
9278 ("ghc-conduit-extra" ,ghc-conduit-extra)
9279 ("ghc-exceptions" ,ghc-exceptions)
9280 ("ghc-resourcet" ,ghc-resourcet)
9281 ("ghc-async" ,ghc-async)
9282 ("ghc-monad-loops" ,ghc-monad-loops)
9283 ("ghc-unliftio" ,ghc-unliftio)))
9284 (native-inputs
9285 `(("ghc-doctest" ,ghc-doctest)
9286 ("ghc-quickcheck" ,ghc-quickcheck)
9287 ("ghc-hunit" ,ghc-hunit)
9288 ("ghc-test-framework" ,ghc-test-framework)
9289 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9290 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9291 (home-page "https://github.com/cgaebel/stm-conduit")
9292 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9293 (description
9294 "This package provides two simple conduit wrappers around STM channels: a
9295source and a sink.")
9296 (license license:bsd-3)))
9297
9298(define-public ghc-stmonadtrans
9299 (package
9300 (name "ghc-stmonadtrans")
9301 (version "0.4.3")
9302 (source
9303 (origin
9304 (method url-fetch)
9305 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9306 "/STMonadTrans-" version ".tar.gz"))
9307 (sha256
9308 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9309 (build-system haskell-build-system)
9310 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9311 (synopsis "Monad transformer version of the ST monad")
9312 (description
9313 "This package provides a monad transformer version of the @code{ST} monad
9314for strict state threads.")
9315 (license license:bsd-3)))
9316
9317(define-public ghc-storable-complex
9318 (package
9319 (name "ghc-storable-complex")
9320 (version "0.2.2")
9321 (source
9322 (origin
9323 (method url-fetch)
9324 (uri (string-append
9325 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9326 version ".tar.gz"))
9327 (sha256
9328 (base32 "01kwwkpbfjrv26vj83cd92px5qbq1bpgxj0r45534aksqhany1xb"))))
9329 (build-system haskell-build-system)
9330 (home-page "https://github.com/cartazio/storable-complex")
9331 (synopsis "Haskell Storable instance for Complex")
9332 (description "This package provides a Haskell library including a
9333Storable instance for Complex which is binary compatible with C99, C++
9334and Fortran complex data types.")
9335 (license license:bsd-3)))
9336
9337(define-public ghc-streaming-commons
9338 (package
9339 (name "ghc-streaming-commons")
9340 (version "0.2.1.1")
9341 (source
9342 (origin
9343 (method url-fetch)
9344 (uri (string-append "https://hackage.haskell.org/package/"
9345 "streaming-commons/streaming-commons-"
9346 version ".tar.gz"))
9347 (sha256
9348 (base32
9349 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9350 (build-system haskell-build-system)
9351 (inputs
9352 `(("ghc-async" ,ghc-async)
9353 ("ghc-blaze-builder" ,ghc-blaze-builder)
9354 ("ghc-network" ,ghc-network)
9355 ("ghc-random" ,ghc-random)
9356 ("ghc-zlib" ,ghc-zlib)))
9357 (native-inputs
9358 `(("ghc-quickcheck" ,ghc-quickcheck)
9359 ("ghc-hspec" ,ghc-hspec)
9360 ("hspec-discover" ,hspec-discover)))
9361 (home-page "https://hackage.haskell.org/package/streaming-commons")
9362 (synopsis "Conduit and pipes needed by some streaming data libraries")
9363 (description "This package provides low-dependency functionality commonly
9364needed by various Haskell streaming data libraries, such as @code{conduit} and
9365@code{pipe}s.")
9366 (license license:expat)))
9367
9368(define-public ghc-strict
9369 (package
9370 (name "ghc-strict")
9371 (version "0.3.2")
9372 (source
9373 (origin
9374 (method url-fetch)
9375 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
9376 version ".tar.gz"))
9377 (sha256
9378 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
9379 (build-system haskell-build-system)
9380 (home-page "https://hackage.haskell.org/package/strict")
9381 (synopsis "Strict data types and String IO")
9382 (description
9383 "This package provides strict versions of some standard Haskell data
9384types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
9385IO operations.")
9386 (license license:bsd-3)))
9387
9388(define-public ghc-stringbuilder
9389 (package
9390 (name "ghc-stringbuilder")
9391 (version "0.5.1")
9392 (source
9393 (origin
9394 (method url-fetch)
9395 (uri (string-append
9396 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
9397 version
9398 ".tar.gz"))
9399 (sha256
9400 (base32
9401 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
9402 (build-system haskell-build-system)
9403 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
9404 ; enabled
9405 (home-page "https://hackage.haskell.org/package/stringbuilder")
9406 (synopsis "Writer monad for multi-line string literals")
9407 (description "This package provides a writer monad for multi-line string
9408literals.")
9409 (license license:expat)))
9410
9411(define-public ghc-string-qq
9412 (package
9413 (name "ghc-string-qq")
9414 (version "0.0.2")
9415 (source
9416 (origin
9417 (method url-fetch)
9418 (uri (string-append
9419 "https://hackage.haskell.org/package/string-qq/string-qq-"
9420 version
9421 ".tar.gz"))
9422 (sha256
9423 (base32
9424 "0662m3i5xrdrr95w829bszkhp88mj9iy1zya54vk2sl5hz9wlmwp"))))
9425 (build-system haskell-build-system)
9426 (home-page "http://hackage.haskell.org/package/string-qq")
9427 (synopsis
9428 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
9429 (description
9430 "This package provides a quasiquoter for non-interpolated strings, texts
9431and bytestrings.")
9432 (license license:public-domain)))
9433
9434(define-public ghc-stringsearch
9435 (package
9436 (name "ghc-stringsearch")
9437 (version "0.3.6.6")
9438 (source
9439 (origin
9440 (method url-fetch)
9441 (uri (string-append
9442 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
9443 version
9444 ".tar.gz"))
9445 (sha256
9446 (base32
9447 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
9448 (build-system haskell-build-system)
9449 (home-page "https://bitbucket.org/dafis/stringsearch")
9450 (synopsis "Fast searching, splitting and replacing of ByteStrings")
9451 (description "This package provides several functions to quickly search
9452for substrings in strict or lazy @code{ByteStrings}. It also provides
9453functions for breaking or splitting on substrings and replacing all
9454occurrences of a substring (the first in case of overlaps) with another.")
9455 (license license:bsd-3)))
9456
9457(define-public ghc-stylish-haskell
9458 (package
9459 (name "ghc-stylish-haskell")
9460 (version "0.9.2.1")
9461 (source
9462 (origin
9463 (method url-fetch)
9464 (uri (string-append
9465 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
9466 version
9467 ".tar.gz"))
9468 (sha256
9469 (base32
9470 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
9471 (build-system haskell-build-system)
9472 (inputs
9473 `(("ghc-aeson" ,ghc-aeson)
9474 ("ghc-file-embed" ,ghc-file-embed)
9475 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
9476 ("ghc-semigroups" ,ghc-semigroups)
9477 ("ghc-syb" ,ghc-syb)
9478 ("ghc-yaml" ,ghc-yaml)
9479 ("ghc-strict" ,ghc-strict)
9480 ("ghc-optparse-applicative"
9481 ,ghc-optparse-applicative)))
9482 (native-inputs
9483 `(("ghc-hunit" ,ghc-hunit)
9484 ("ghc-test-framework" ,ghc-test-framework)
9485 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
9486 (home-page "https://github.com/jaspervdj/stylish-haskell")
9487 (synopsis "Haskell code prettifier")
9488 (description "Stylish-haskell is a Haskell code prettifier. The goal is
9489not to format all of the code in a file, to avoid \"getting in the way\".
9490However, this tool can e.g. clean up import statements and help doing various
9491tasks that get tedious very quickly. It can
9492@itemize
9493@item
9494Align and sort @code{import} statements
9495@item
9496Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
9497pragmas
9498@item
9499Remove trailing whitespaces
9500@item
9501Align branches in @code{case} and fields in records
9502@item
9503Convert line endings (customisable)
9504@item
9505Replace tabs by four spaces (turned off by default)
9506@item
9507Replace some ASCII sequences by their Unicode equivalent (turned off by
9508default)
9509@end itemize")
9510 (license license:bsd-3)))
9511
9512(define-public ghc-syb
9513 (package
9514 (name "ghc-syb")
9515 (version "0.7")
9516 (outputs '("out" "doc"))
9517 (source
9518 (origin
9519 (method url-fetch)
9520 (uri (string-append
9521 "https://hackage.haskell.org/package/syb/syb-"
9522 version
9523 ".tar.gz"))
9524 (sha256
9525 (base32
9526 "1da2zz7gqm4xbkx5vpd74dayx1svaxyl145fl14mq15lbb77sxdq"))))
9527 (build-system haskell-build-system)
9528 (inputs
9529 `(("ghc-hunit" ,ghc-hunit)))
9530 (home-page
9531 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
9532 (synopsis "Scrap Your Boilerplate")
9533 (description "This package contains the generics system described in the
9534/Scrap Your Boilerplate/ papers (see
9535@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
9536defines the @code{Data} class of types permitting folding and unfolding of
9537constructor applications, instances of this class for primitive types, and a
9538variety of traversals.")
9539 (license license:bsd-3)))
9540
9541(define-public ghc-system-fileio
9542 (package
9543 (name "ghc-system-fileio")
9544 (version "0.3.16.3")
9545 (source
9546 (origin
9547 (method url-fetch)
9548 (uri (string-append
9549 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
9550 version ".tar.gz"))
9551 (sha256
9552 (base32
9553 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
9554 (build-system haskell-build-system)
9555 (inputs
9556 `(("ghc-system-filepath" ,ghc-system-filepath)
9557 ("ghc-chell" ,ghc-chell)
9558 ("ghc-temporary" ,ghc-temporary)))
9559 (home-page "https://github.com/fpco/haskell-filesystem")
9560 (synopsis "Consistent file system interaction across GHC versions")
9561 (description
9562 "This is a small wrapper around the directory, unix, and Win32 packages,
9563for use with system-filepath. It provides a consistent API to the various
9564versions of these packages distributed with different versions of GHC.
9565In particular, this library supports working with POSIX files that have paths
9566which can't be decoded in the current locale encoding.")
9567 (license license:expat)))
9568
9569;; See ghc-system-filepath-bootstrap. In addition this package depends on
9570;; ghc-system-filepath.
9571(define ghc-system-fileio-bootstrap
9572 (package
9573 (name "ghc-system-fileio-bootstrap")
9574 (version "0.3.16.3")
9575 (source
9576 (origin
9577 (method url-fetch)
9578 (uri (string-append
9579 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
9580 version ".tar.gz"))
9581 (sha256
9582 (base32
9583 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
9584 (build-system haskell-build-system)
9585 (arguments
9586 `(#:tests? #f))
9587 (inputs
9588 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9589 ("ghc-temporary" ,ghc-temporary)))
9590 (home-page "https://github.com/fpco/haskell-filesystem")
9591 (synopsis "Consistent file system interaction across GHC versions")
9592 (description
9593 "This is a small wrapper around the directory, unix, and Win32 packages,
9594for use with system-filepath. It provides a consistent API to the various
9595versions of these packages distributed with different versions of GHC.
9596In particular, this library supports working with POSIX files that have paths
9597which can't be decoded in the current locale encoding.")
9598 (license license:expat)))
9599
9600
9601(define-public ghc-system-filepath
9602 (package
9603 (name "ghc-system-filepath")
9604 (version "0.4.14")
9605 (source
9606 (origin
9607 (method url-fetch)
9608 (uri (string-append
9609 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
9610 version ".tar.gz"))
9611 (sha256
9612 (base32
9613 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
9614 (build-system haskell-build-system)
9615 ;; FIXME: One of the tests fails:
9616 ;; [ FAIL ] tests.validity.posix
9617 ;; note: seed=7310214548328823169
9618 ;; *** Failed! Falsifiable (after 24 tests):
9619 ;; 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"
9620 (arguments `(#:tests? #f))
9621 (inputs
9622 `(("ghc-chell" ,ghc-chell)
9623 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
9624 ("ghc-quickcheck" ,ghc-quickcheck)))
9625 (home-page "https://github.com/fpco/haskell-filesystem")
9626 (synopsis "High-level, byte-based file and directory path manipulations")
9627 (description
9628 "Provides a FilePath datatype and utility functions for operating on it.
9629Unlike the filepath package, this package does not simply reuse String,
9630increasing type safety.")
9631 (license license:expat)))
9632
9633;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
9634;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
9635;; which depends on ghc-chell and ghc-chell-quickcheck.
9636;; Therefore we bootstrap it with tests disabled.
9637(define ghc-system-filepath-bootstrap
9638 (package
9639 (name "ghc-system-filepath-bootstrap")
9640 (version "0.4.14")
9641 (source
9642 (origin
9643 (method url-fetch)
9644 (uri (string-append
9645 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
9646 version ".tar.gz"))
9647 (sha256
9648 (base32
9649 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
9650 (build-system haskell-build-system)
9651 (arguments
9652 `(#:tests? #f))
9653 (inputs
9654 `(("ghc-quickcheck" ,ghc-quickcheck)))
9655 (home-page "https://github.com/fpco/haskell-filesystem")
9656 (synopsis "High-level, byte-based file and directory path manipulations")
9657 (description
9658 "Provides a FilePath datatype and utility functions for operating on it.
9659Unlike the filepath package, this package does not simply reuse String,
9660increasing type safety.")
9661 (license license:expat)))
9662
9663
9664(define-public ghc-tagged
9665 (package
9666 (name "ghc-tagged")
9667 (version "0.8.5")
9668 (source
9669 (origin
9670 (method url-fetch)
9671 (uri (string-append
9672 "https://hackage.haskell.org/package/tagged/tagged-"
9673 version
9674 ".tar.gz"))
9675 (sha256
9676 (base32
9677 "16cdzh0bw16nvjnyyy5j9s60malhz4nnazw96vxb0xzdap4m2z74"))))
9678 (build-system haskell-build-system)
9679 (arguments
9680 `(#:cabal-revision
9681 ("2" "0r2knfcq0b4s652vlvlnfwxlc2mkc2ra9kl8bp4zdn1awmfy0ia5")))
9682 (inputs
9683 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
9684 (home-page "https://hackage.haskell.org/package/tagged")
9685 (synopsis "Haskell phantom types to avoid passing dummy arguments")
9686 (description "This library provides phantom types for Haskell 98, to avoid
9687having to unsafely pass dummy arguments.")
9688 (license license:bsd-3)))
9689
9690(define-public ghc-tar
9691 (package
9692 (name "ghc-tar")
9693 (version "0.5.1.0")
9694 (source
9695 (origin
9696 (method url-fetch)
9697 (uri (string-append
9698 "https://hackage.haskell.org/package/tar/tar-"
9699 version ".tar.gz"))
9700 (sha256
9701 (base32
9702 "0s2brvaxg5fki2jdkccmnpssiy6a3wjh24p6a3dkkdvjcixnk7f8"))))
9703 (build-system haskell-build-system)
9704 ;; FIXME: 2/24 tests fail.
9705 (arguments `(#:tests? #f))
9706 (inputs
9707 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
9708 ("ghc-quickcheck" ,ghc-quickcheck)
9709 ("ghc-tasty" ,ghc-tasty)
9710 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9711 (home-page "https://hackage.haskell.org/package/tar")
9712 (synopsis "Reading, writing and manipulating \".tar\" archive files")
9713 (description
9714 "This library is for working with \\\"@.tar@\\\" archive files.
9715It can read and write a range of common variations of the tar archive format
9716including V7, POSIX USTAR and GNU formats. It provides support for packing and
9717unpacking portable archives. This makes it suitable for distribution but not
9718backup because details like file ownership and exact permissions are not
9719preserved. It also provides features for random access to archive content using
9720an index.")
9721 (license license:bsd-3)))
9722
9723(define-public ghc-temporary
9724 (package
9725 (name "ghc-temporary")
9726 (version "1.3")
9727 (source
9728 (origin
9729 (method url-fetch)
9730 (uri (string-append
9731 "https://hackage.haskell.org/package/temporary/temporary-"
9732 version
9733 ".tar.gz"))
9734 (sha256
9735 (base32
9736 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
9737 (build-system haskell-build-system)
9738 (inputs
9739 `(("ghc-exceptions" ,ghc-exceptions)
9740 ("ghc-random" ,ghc-random)))
9741 (native-inputs
9742 `(("ghc-base-compat" ,ghc-base-compat)
9743 ("ghc-tasty" ,ghc-tasty)
9744 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9745 (home-page "https://www.github.com/batterseapower/temporary")
9746 (synopsis "Temporary file and directory support")
9747 (description "The functions for creating temporary files and directories
9748in the Haskelll base library are quite limited. This library just repackages
9749the Cabal implementations of its own temporary file and folder functions so
9750that you can use them without linking against Cabal or depending on it being
9751installed.")
9752 (license license:bsd-3)))
9753
9754(define-public ghc-temporary-rc
9755 (package
9756 (name "ghc-temporary-rc")
9757 (version "1.2.0.3")
9758 (source
9759 (origin
9760 (method url-fetch)
9761 (uri (string-append
9762 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
9763 version
9764 ".tar.gz"))
9765 (sha256
9766 (base32
9767 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
9768 (build-system haskell-build-system)
9769 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
9770 (home-page
9771 "https://www.github.com/feuerbach/temporary")
9772 (synopsis
9773 "Portable temporary file and directory support")
9774 (description
9775 "The functions for creating temporary files and directories in the base
9776library are quite limited. The unixutils package contains some good ones, but
9777they aren't portable to Windows. This library just repackages the Cabal
9778implementations of its own temporary file and folder functions so that you can
9779use them without linking against Cabal or depending on it being installed.
9780This is a better maintained fork of the \"temporary\" package.")
9781 (license license:bsd-3)))
9782
9783(define-public ghc-terminal-size
9784 (package
9785 (name "ghc-terminal-size")
9786 (version "0.3.2.1")
9787 (source (origin
9788 (method url-fetch)
9789 (uri (string-append
9790 "https://hackage.haskell.org/package/terminal-size/"
9791 "terminal-size-" version ".tar.gz"))
9792 (sha256
9793 (base32
9794 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
9795 (build-system haskell-build-system)
9796 (home-page "https://hackage.haskell.org/package/terminal-size")
9797 (synopsis "Get terminal window height and width")
9798 (description "Get terminal window height and width without ncurses
9799dependency.")
9800 (license license:bsd-3)))
9801
9802(define-public ghc-texmath
9803 (package
9804 (name "ghc-texmath")
9805 (version "0.11.0.1")
9806 (source (origin
9807 (method url-fetch)
9808 (uri (string-append "https://hackage.haskell.org/package/"
9809 "texmath/texmath-" version ".tar.gz"))
9810 (sha256
9811 (base32
9812 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
9813 (build-system haskell-build-system)
9814 (inputs
9815 `(("ghc-syb" ,ghc-syb)
9816 ("ghc-network-uri" ,ghc-network-uri)
9817 ("ghc-split" ,ghc-split)
9818 ("ghc-temporary" ,ghc-temporary)
9819 ("ghc-utf8-string" ,ghc-utf8-string)
9820 ("ghc-xml" ,ghc-xml)
9821 ("ghc-pandoc-types" ,ghc-pandoc-types)))
9822 (home-page "https://github.com/jgm/texmath")
9823 (synopsis "Conversion between formats used to represent mathematics")
9824 (description
9825 "The texmath library provides functions to read and write TeX math,
9826presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
9827Office). Support is also included for converting math formats to pandoc's
9828native format (allowing conversion, via pandoc, to a variety of different
9829markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
9830it can parse and apply LaTeX macros.")
9831 (license license:gpl2+)))
9832
9833(define-public ghc-text-binary
9834 (package
9835 (name "ghc-text-binary")
9836 (version "0.2.1.1")
9837 (source
9838 (origin
9839 (method url-fetch)
9840 (uri (string-append "https://hackage.haskell.org/package/"
9841 "text-binary/text-binary-"
9842 version ".tar.gz"))
9843 (sha256
9844 (base32
9845 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
9846 (build-system haskell-build-system)
9847 (home-page "https://github.com/kawu/text-binary")
9848 (synopsis "Binary instances for text types")
9849 (description
9850 "This package provides a compatibility layer providing @code{Binary}
9851instances for strict and lazy text types for versions older than 1.2.1 of the
9852text package.")
9853 (license license:bsd-2)))
9854
9855(define-public ghc-tf-random
9856 (package
9857 (name "ghc-tf-random")
9858 (version "0.5")
9859 (outputs '("out" "doc"))
9860 (source
9861 (origin
9862 (method url-fetch)
9863 (uri (string-append
9864 "https://hackage.haskell.org/package/tf-random/tf-random-"
9865 version
9866 ".tar.gz"))
9867 (sha256
9868 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
9869 (build-system haskell-build-system)
9870 (inputs
9871 `(("ghc-primitive" ,ghc-primitive)
9872 ("ghc-random" ,ghc-random)))
9873 (home-page "https://hackage.haskell.org/package/tf-random")
9874 (synopsis "High-quality splittable pseudorandom number generator")
9875 (description "This package contains an implementation of a high-quality
9876splittable pseudorandom number generator. The generator is based on a
9877cryptographic hash function built on top of the ThreeFish block cipher. See
9878the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
9879Hashing\" by Claessen, Pałka for details and the rationale of the design.")
9880 (license license:bsd-3)))
9881
9882(define-public ghc-th-abstraction
9883 (package
9884 (name "ghc-th-abstraction")
9885 (version "0.2.8.0")
9886 (source
9887 (origin
9888 (method url-fetch)
9889 (uri (string-append "https://hackage.haskell.org/package/"
9890 "th-abstraction/th-abstraction-"
9891 version ".tar.gz"))
9892 (sha256
9893 (base32
9894 "0n17w4q2ykd0nica4sck2wng6md56rfad8x0icl0l8vnzb9nn4ya"))))
9895 (build-system haskell-build-system)
9896 (home-page "https://github.com/glguy/th-abstraction")
9897 (synopsis "Nicer interface for reified information about data types")
9898 (description
9899 "This package normalizes variations in the interface for inspecting
9900datatype information via Template Haskell so that packages and support a
9901single, easier to use informational datatype while supporting many versions of
9902Template Haskell.")
9903 (license license:isc)))
9904
9905(define-public ghc-th-expand-syns
9906 (package
9907 (name "ghc-th-expand-syns")
9908 (version "0.4.4.0")
9909 (source (origin
9910 (method url-fetch)
9911 (uri (string-append "https://hackage.haskell.org/package/"
9912 "th-expand-syns/th-expand-syns-"
9913 version ".tar.gz"))
9914 (sha256
9915 (base32
9916 "01prlvh3py5hq5ccjidfyp9ixq2zd88dkbsidyjrpkja6v8m43yc"))))
9917 (build-system haskell-build-system)
9918 (inputs
9919 `(("ghc-syb" ,ghc-syb)))
9920 (home-page "https://hackage.haskell.org/package/th-expand-syns")
9921 (synopsis "Expands type synonyms in Template Haskell ASTs")
9922 (description
9923 "This package enables users to expand type synonyms in Template Haskell
9924@dfn{abstract syntax trees} (ASTs).")
9925 (license license:bsd-3)))
9926
9927(define-public ghc-th-lift
9928 (package
9929 (name "ghc-th-lift")
9930 (version "0.7.11")
9931 (source (origin
9932 (method url-fetch)
9933 (uri (string-append "https://hackage.haskell.org/package/"
9934 "th-lift/th-lift-" version ".tar.gz"))
9935 (sha256
9936 (base32
9937 "131360zxb0hazbqwbkk6ab2p77jkxr79bwwm618mrwrwkm3x2g6m"))))
9938 (build-system haskell-build-system)
9939 (inputs
9940 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
9941 (home-page "https://github.com/mboes/th-lift")
9942 (synopsis "Derive Template Haskell's Lift class for datatypes")
9943 (description
9944 "This is a Haskell library to derive Template Haskell's Lift class for
9945datatypes.")
9946 (license license:bsd-3)))
9947
9948(define-public ghc-th-lift-instances
9949 (package
9950 (name "ghc-th-lift-instances")
9951 (version "0.1.11")
9952 (source
9953 (origin
9954 (method url-fetch)
9955 (uri (string-append "https://hackage.haskell.org/package/"
9956 "th-lift-instances/th-lift-instances-"
9957 version ".tar.gz"))
9958 (sha256
9959 (base32
9960 "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x"))))
9961 (build-system haskell-build-system)
9962 (inputs
9963 `(("ghc-th-lift" ,ghc-th-lift)
9964 ("ghc-vector" ,ghc-vector)
9965 ("ghc-quickcheck" ,ghc-quickcheck)))
9966 (home-page "https://github.com/bennofs/th-lift-instances/")
9967 (synopsis "Lift instances for template-haskell for common data types.")
9968 (description "Most data types in the Haskell platform do not have Lift
9969instances. This package provides orphan instances for @code{containers},
9970@code{text}, @code{bytestring} and @code{vector}.")
9971 (license license:bsd-3)))
9972
9973(define-public ghc-th-orphans
9974 (package
9975 (name "ghc-th-orphans")
9976 (version "0.13.6")
9977 (source (origin
9978 (method url-fetch)
9979 (uri (string-append "https://hackage.haskell.org/package/"
9980 "th-orphans/th-orphans-" version ".tar.gz"))
9981 (sha256
9982 (base32
9983 "0sfl3pn9kq9da3ji3lsgzgzy82vz6yvsg80dmakc1jvk7awycibp"))))
9984 (build-system haskell-build-system)
9985 (inputs
9986 `(("ghc-th-lift" ,ghc-th-lift)
9987 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
9988 ("ghc-th-reify-many" ,ghc-th-reify-many)
9989 ("ghc-generic-deriving" ,ghc-generic-deriving)))
9990 (native-inputs
9991 `(("ghc-hspec" ,ghc-hspec)))
9992 (home-page "https://hackage.haskell.org/package/th-orphans")
9993 (synopsis "Orphan instances for TH datatypes")
9994 (description
9995 "This package provides orphan instances for Template Haskell datatypes. In particular,
9996instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
9997and @code{Eq} instances. These instances used to live in the haskell-src-meta
9998package, and that's where the version number started.")
9999 (license license:bsd-3)))
10000
10001(define-public ghc-threads
10002 (package
10003 (name "ghc-threads")
10004 (version "0.5.1.6")
10005 (source
10006 (origin
10007 (method url-fetch)
10008 (uri (string-append "https://hackage.haskell.org/package/"
10009 "threads/threads-" version ".tar.gz"))
10010 (sha256
10011 (base32
10012 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10013 (build-system haskell-build-system)
10014 (native-inputs
10015 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10016 ("ghc-hunit" ,ghc-hunit)
10017 ("ghc-test-framework" ,ghc-test-framework)
10018 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10019 (home-page "https://github.com/basvandijk/threads")
10020 (synopsis "Fork threads and wait for their result")
10021 (description "This package provides functions to fork threads and
10022wait for their result, whether it's an exception or a normal value.
10023Besides waiting for the termination of a single thread this package also
10024provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10025package is similar to the @code{threadmanager}, @code{async} and
10026@code{spawn} packages. The advantages of this package are:
10027
dddbc90c
RV
10028@itemize
10029@item Simpler API.
10030@item More efficient in both space and time.
10031@item No space-leak when forking a large number of threads.
10032@item Correct handling of asynchronous exceptions.
10033@item GHC specific functionality like @code{forkOn} and
10034@code{forkIOWithUnmask}.
10035@end itemize")
10036 (license license:bsd-3)))
10037
10038(define-public ghc-th-reify-many
10039 (package
10040 (name "ghc-th-reify-many")
10041 (version "0.1.8")
10042 (source (origin
10043 (method url-fetch)
10044 (uri (string-append "https://hackage.haskell.org/package/"
10045 "th-reify-many/th-reify-many-"
10046 version ".tar.gz"))
10047 (sha256
10048 (base32
10049 "0hzy6hvhvcd6i60vx5cp2b7ggmnnjh9rx4h8bm8xw4grglcaxjnf"))))
10050 (build-system haskell-build-system)
10051 (inputs
10052 `(("ghc-safe" ,ghc-safe)
10053 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10054 (home-page "https://github.com/mgsloan/th-reify-many")
10055 (synopsis "Recurseively reify template haskell datatype info")
10056 (description
10057 "th-reify-many provides functions for recursively reifying top level
10058declarations. The main intended use case is for enumerating the names of
10059datatypes reachable from an initial datatype, and passing these names to some
10060function which generates instances.")
10061 (license license:bsd-3)))
10062
10063(define-public ghc-time-locale-compat
10064 (package
10065 (name "ghc-time-locale-compat")
10066 (version "0.1.1.5")
10067 (source
10068 (origin
10069 (method url-fetch)
10070 (uri (string-append "https://hackage.haskell.org/package/"
10071 "time-locale-compat/time-locale-compat-"
10072 version ".tar.gz"))
10073 (sha256
10074 (base32
10075 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10076 (build-system haskell-build-system)
10077 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10078 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10079 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10080 (description "This package contains a wrapped name module for
10081@code{TimeLocale}.")
10082 (license license:bsd-3)))
10083
10084(define-public ghc-tldr
10085 (package
10086 (name "ghc-tldr")
10087 (version "0.4.0.1")
10088 (source
10089 (origin
10090 (method url-fetch)
10091 (uri (string-append
10092 "https://hackage.haskell.org/package/tldr/tldr-"
10093 version
10094 ".tar.gz"))
10095 (sha256
10096 (base32
10097 "0nc581y9jjzwd8l88g48c72mla7k6q1w102akl7gl5jsk9ljamd3"))))
10098 (build-system haskell-build-system)
10099 (inputs
10100 `(("ghc-cmark" ,ghc-cmark)
10101 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10102 ("ghc-typed-process" ,ghc-typed-process)
10103 ("ghc-semigroups" ,ghc-semigroups)))
10104 (native-inputs
10105 `(("ghc-tasty" ,ghc-tasty)
10106 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10107 (home-page "https://github.com/psibi/tldr-hs#readme")
10108 (synopsis "Haskell tldr client")
10109 (description "This package provides the @command{tldr} command and a
10110Haskell client library allowing users to update and view @code{tldr} pages
10111from a shell. The @code{tldr} pages are a community effort to simplify the
10112man pages with practical examples.")
10113 (license license:bsd-3)))
10114
10115(define-public ghc-transformers-base
10116 (package
10117 (name "ghc-transformers-base")
10118 (version "0.4.5.2")
10119 (source
10120 (origin
10121 (method url-fetch)
10122 (uri (string-append
10123 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10124 version
10125 ".tar.gz"))
10126 (sha256
10127 (base32
10128 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10129 (build-system haskell-build-system)
10130 (inputs
10131 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10132 (home-page
10133 "https://hackage.haskell.org/package/transformers-compat")
10134 (synopsis
10135 "Backported transformer library")
10136 (description
10137 "Backported versions of types that were added to transformers in
10138transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10139compatibility to run on old versions of the platform.")
10140 (license license:bsd-3)))
10141
10142(define-public ghc-transformers-compat
10143 (package
10144 (name "ghc-transformers-compat")
10145 (version "0.6.2")
10146 (source
10147 (origin
10148 (method url-fetch)
10149 (uri (string-append
10150 "https://hackage.haskell.org/package/transformers-compat"
10151 "/transformers-compat-" version ".tar.gz"))
10152 (sha256
10153 (base32
10154 "1gp4a8kvniwgm8947ghb4iwv4b7wd6ry4kvv4nfnym4agf5j41nw"))))
10155 (build-system haskell-build-system)
10156 (home-page "https://github.com/ekmett/transformers-compat/")
10157 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10158 (description "This package includes backported versions of types that were
10159added to transformers in transformers 0.3 and 0.4 for users who need strict
10160transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10161but also need those types.")
10162 (license license:bsd-3)))
10163
10164(define-public ghc-tree-diff
10165 (package
10166 (name "ghc-tree-diff")
10167 (version "0.0.1")
10168 (source
10169 (origin
10170 (method url-fetch)
10171 (uri (string-append
10172 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10173 version
10174 ".tar.gz"))
10175 (sha256
10176 (base32
10177 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10178 (build-system haskell-build-system)
10179 (arguments
10180 `(#:cabal-revision
10181 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10182 #:phases
10183 (modify-phases %standard-phases
10184 (add-before 'configure 'update-constraints
10185 (lambda _
10186 (substitute* "tree-diff.cabal"
10187 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10188 "trifecta >=1.7.1.1 && <=2")))))))
10189 (inputs
10190 `(("ghc-aeson" ,ghc-aeson)
10191 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10192 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10193 ("ghc-base-compat" ,ghc-base-compat)
10194 ("ghc-generics-sop" ,ghc-generics-sop)
10195 ("ghc-hashable" ,ghc-hashable)
10196 ("ghc-memotrie" ,ghc-memotrie)
10197 ("ghc-parsers" ,ghc-parsers)
10198 ("ghc-quickcheck" ,ghc-quickcheck)
10199 ("ghc-scientific" ,ghc-scientific)
10200 ("ghc-tagged" ,ghc-tagged)
10201 ("ghc-unordered-containers" ,ghc-unordered-containers)
10202 ("ghc-uuid-types" ,ghc-uuid-types)
10203 ("ghc-vector" ,ghc-vector)))
10204 (native-inputs
10205 `(("ghc-base-compat" ,ghc-base-compat)
10206 ("ghc-quickcheck" ,ghc-quickcheck)
10207 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10208 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10209 ("ghc-trifecta" ,ghc-trifecta)
10210 ("ghc-tasty" ,ghc-tasty)
10211 ("ghc-tasty-golden" ,ghc-tasty-golden)
10212 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10213 (home-page "https://github.com/phadej/tree-diff")
10214 (synopsis "Compute difference between (expression) trees")
10215 (description "This Haskell library provides a function for computing
10216the difference between (expression) trees. It also provides a way to
10217compute the difference between arbitrary abstract datatypes (ADTs) using
10218@code{Generics}-derivable helpers.")
10219 (license license:bsd-3)))
10220
10221(define-public ghc-trifecta
10222 (package
10223 (name "ghc-trifecta")
10224 (version "2")
10225 (source (origin
10226 (method url-fetch)
10227 (uri (string-append
10228 "https://hackage.haskell.org/package/trifecta/"
10229 "trifecta-" version ".tar.gz"))
10230 (sha256
10231 (base32
10232 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10233 (build-system haskell-build-system)
10234 (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
10235 (inputs
10236 `(("ghc-reducers" ,ghc-reducers)
10237 ("ghc-semigroups" ,ghc-semigroups)
10238 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10239 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10240 ("ghc-blaze-builder" ,ghc-blaze-builder)
10241 ("ghc-blaze-html" ,ghc-blaze-html)
10242 ("ghc-blaze-markup" ,ghc-blaze-markup)
10243 ("ghc-charset" ,ghc-charset)
10244 ("ghc-comonad" ,ghc-comonad)
10245 ("ghc-fingertree" ,ghc-fingertree)
10246 ("ghc-hashable" ,ghc-hashable)
10247 ("ghc-lens" ,ghc-lens)
10248 ("ghc-parsers" ,ghc-parsers)
10249 ("ghc-profunctors" ,ghc-profunctors)
10250 ("ghc-unordered-containers" ,ghc-unordered-containers)
10251 ("ghc-utf8-string" ,ghc-utf8-string)))
10252 (native-inputs
10253 `(("cabal-doctest" ,cabal-doctest)
10254 ("ghc-doctest" ,ghc-doctest)
10255 ("ghc-quickcheck" ,ghc-quickcheck)))
10256 (home-page "https://github.com/ekmett/trifecta/")
10257 (synopsis "Parser combinator library with convenient diagnostics")
10258 (description "Trifecta is a modern parser combinator library for Haskell,
10259with slicing and Clang-style colored diagnostics.")
10260 (license license:bsd-3)))
10261
10262(define-public ghc-tuple-th
10263 (package
10264 (name "ghc-tuple-th")
10265 (version "0.2.5")
10266 (source
10267 (origin
10268 (method url-fetch)
10269 (uri (string-append "https://hackage.haskell.org/package/"
10270 "tuple-th-" version "/"
10271 "tuple-th-" version ".tar.gz"))
10272 (sha256
10273 (base32
10274 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10275 (build-system haskell-build-system)
10276 (home-page "https://github.com/DanielSchuessler/tuple-th")
10277 (synopsis "Generate utility functions for tuples of statically known size
10278for Haskell")
10279 (description "This Haskell package contains Template Haskell functions for
10280generating functions similar to those in @code{Data.List} for tuples of
10281statically known size.")
10282 (license license:bsd-3)))
10283
10284(define-public ghc-typed-process
10285 (package
10286 (name "ghc-typed-process")
10287 (version "0.2.3.0")
10288 (source
10289 (origin
10290 (method url-fetch)
10291 (uri (string-append "https://hackage.haskell.org/package/"
10292 "typed-process/typed-process-"
10293 version ".tar.gz"))
10294 (sha256
10295 (base32
10296 "0j36vrc9w841m5qbwqra1lwiznx31xfnhin1sm8x2c2739csbpn0"))))
10297 (build-system haskell-build-system)
10298 (inputs
10299 `(("ghc-async" ,ghc-async)))
10300 (native-inputs
10301 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10302 ("ghc-hspec" ,ghc-hspec)
10303 ("hspec-discover" ,hspec-discover)
10304 ("ghc-temporary" ,ghc-temporary)))
10305 (home-page "https://haskell-lang.org/library/typed-process")
10306 (synopsis "Run external processes with strong typing of streams")
10307 (description
10308 "This library provides the ability to launch and interact with external
10309processes. It wraps around the @code{process} library, and intends to improve
10310upon it.")
10311 (license license:expat)))
10312
10313(define-public ghc-unbounded-delays
10314 (package
10315 (name "ghc-unbounded-delays")
10316 (version "0.1.1.0")
10317 (source
10318 (origin
10319 (method url-fetch)
10320 (uri (string-append
10321 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
10322 version
10323 ".tar.gz"))
10324 (sha256
10325 (base32
10326 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
10327 (build-system haskell-build-system)
10328 (home-page "https://github.com/basvandijk/unbounded-delays")
10329 (synopsis "Unbounded thread delays and timeouts")
10330 (description "The @code{threadDelay} and @code{timeout} functions from the
10331Haskell base library use the bounded @code{Int} type for specifying the delay
10332or timeout period. This package provides alternative functions which use the
10333unbounded @code{Integer} type.")
10334 (license license:bsd-3)))
10335
10336(define-public ghc-unexceptionalio
10337 (package
10338 (name "ghc-unexceptionalio")
10339 (version "0.4.0")
10340 (source
10341 (origin
10342 (method url-fetch)
10343 (uri (string-append "https://hackage.haskell.org/package/"
10344 "unexceptionalio-" version "/" "unexceptionalio-"
10345 version ".tar.gz"))
10346 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
10347 (build-system haskell-build-system)
10348 (home-page "https://github.com/singpolyma/unexceptionalio")
10349 (synopsis "IO without any non-error, synchronous exceptions")
10350 (description "When you've caught all the exceptions that can be
10351handled safely, this is what you're left with.")
10352 (license license:isc)))
10353
10354(define-public ghc-union-find
10355 (package
10356 (name "ghc-union-find")
10357 (version "0.2")
10358 (source (origin
10359 (method url-fetch)
10360 (uri (string-append
10361 "https://hackage.haskell.org/package/union-find/union-find-"
10362 version ".tar.gz"))
10363 (sha256
10364 (base32
10365 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
10366 (build-system haskell-build-system)
10367 (home-page "https://github.com/nominolo/union-find")
10368 (synopsis "Efficient union and equivalence testing of sets")
10369 (description
10370 "The Union/Find algorithm implements these operations in (effectively)
10371constant-time:
10372@enumerate
10373@item Check whether two elements are in the same equivalence class.
10374@item Create a union of two equivalence classes.
10375@item Look up the descriptor of the equivalence class.
10376@end enumerate\n")
10377 (license license:bsd-3)))
10378
10379(define-public ghc-uniplate
10380 (package
10381 (name "ghc-uniplate")
10382 (version "1.6.12")
10383 (source
10384 (origin
10385 (method url-fetch)
10386 (uri (string-append
10387 "https://hackage.haskell.org/package/uniplate/uniplate-"
10388 version
10389 ".tar.gz"))
10390 (sha256
10391 (base32
10392 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
10393 (build-system haskell-build-system)
10394 (inputs
10395 `(("ghc-syb" ,ghc-syb)
10396 ("ghc-hashable" ,ghc-hashable)
10397 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10398 (home-page "http://community.haskell.org/~ndm/uniplate/")
10399 (synopsis "Simple, concise and fast generic operations")
10400 (description "Uniplate is a library for writing simple and concise generic
10401operations. Uniplate has similar goals to the original Scrap Your Boilerplate
10402work, but is substantially simpler and faster.")
10403 (license license:bsd-3)))
10404
10405(define-public ghc-unix-compat
10406 (package
10407 (name "ghc-unix-compat")
10408 (version "0.5.1")
10409 (source
10410 (origin
10411 (method url-fetch)
10412 (uri (string-append
10413 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
10414 version
10415 ".tar.gz"))
10416 (sha256
10417 (base32
10418 "0llwl7rp63fy2ychwdclz1afj45pbin5pfl01dvn6rwhvmwhr7d3"))))
10419 (build-system haskell-build-system)
10420 (home-page
10421 "https://github.com/jystic/unix-compat")
10422 (synopsis "Portable POSIX-compatibility layer")
10423 (description
10424 "This package provides portable implementations of parts of the unix
10425package. This package re-exports the unix package when available. When it
10426isn't available, portable implementations are used.")
10427 (license license:bsd-3)))
10428
10429(define-public ghc-unix-time
10430 (package
10431 (name "ghc-unix-time")
10432 (version "0.3.8")
10433 (source
10434 (origin
10435 (method url-fetch)
10436 (uri (string-append
10437 "https://hackage.haskell.org/package/unix-time/unix-time-"
10438 version
10439 ".tar.gz"))
10440 (sha256
10441 (base32
10442 "051slgpid5cxiaw203ky0ql3823h28fcjs08axkzd4265wrvv8fw"))))
10443 (build-system haskell-build-system)
10444 (arguments
10445 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
10446 ; is weird, that should be provided by GHC 7.10.2.
10447 (inputs
10448 `(("ghc-old-time" ,ghc-old-time)
10449 ("ghc-old-locale" ,ghc-old-locale)))
10450 (home-page "https://hackage.haskell.org/package/unix-time")
10451 (synopsis "Unix time parser/formatter and utilities")
10452 (description "This library provides fast parsing and formatting utilities
10453for Unix time in Haskell.")
10454 (license license:bsd-3)))
10455
10456(define-public ghc-unliftio
10457 (package
10458 (name "ghc-unliftio")
10459 (version "0.2.7.0")
10460 (source
10461 (origin
10462 (method url-fetch)
10463 (uri (string-append
10464 "https://hackage.haskell.org/package/unliftio/unliftio-"
10465 version
10466 ".tar.gz"))
10467 (sha256
10468 (base32
10469 "0qql93lq5w7qghl454cc3s1i8v1jb4h08n82fqkw0kli4g3g9njs"))))
10470 (build-system haskell-build-system)
10471 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
10472 (inputs
10473 `(("ghc-async" ,ghc-async)
10474 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10475 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
10476 (home-page "https://github.com/fpco/unliftio")
10477 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
10478IO (batteries included)")
10479 (description "This Haskell package provides the core @code{MonadUnliftIO}
10480typeclass, a number of common instances, and a collection of common functions
10481working with it.")
10482 (license license:expat)))
10483
10484(define-public ghc-unliftio-core
10485 (package
10486 (name "ghc-unliftio-core")
10487 (version "0.1.1.0")
10488 (source
10489 (origin
10490 (method url-fetch)
10491 (uri (string-append "https://hackage.haskell.org/package/"
10492 "unliftio-core-" version "/"
10493 "unliftio-core-" version ".tar.gz"))
10494 (sha256
10495 (base32
10496 "1193fplsjm1lcr05xwvkj1rsyzx74i755f6kw3ikmxbsv0bv0l3m"))))
10497 (build-system haskell-build-system)
10498 (arguments
10499 `(#:cabal-revision
10500 ("1" "16bjwcsaghqqmyi69rq65dn3ydifyfaabq3ns37apdm00mwqbcj2")))
10501 (home-page
10502 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
10503 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
10504 (description "This Haskell package provides the core @code{MonadUnliftIO}
10505typeclass, instances for base and transformers, and basic utility
10506functions.")
10507 (license license:expat)))
10508
10509(define-public ghc-unordered-containers
10510 (package
10511 (name "ghc-unordered-containers")
10512 (version "0.2.9.0")
10513 (outputs '("out" "doc"))
10514 (source
10515 (origin
10516 (method url-fetch)
10517 (uri (string-append
10518 "https://hackage.haskell.org/package/unordered-containers"
10519 "/unordered-containers-" version ".tar.gz"))
10520 (sha256
10521 (base32
10522 "0l4264p0av12cc6i8gls13q8y27x12z2ar4x34n3x59y99fcnc37"))))
10523 (build-system haskell-build-system)
10524 (inputs
10525 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
10526 ("ghc-hunit" ,ghc-hunit)
10527 ("ghc-quickcheck" ,ghc-quickcheck)
10528 ("ghc-test-framework" ,ghc-test-framework)
10529 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10530 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
10531 ("ghc-hashable" ,ghc-hashable)))
10532 (home-page
10533 "https://github.com/tibbe/unordered-containers")
10534 (synopsis
10535 "Efficient hashing-based container types")
10536 (description
10537 "Efficient hashing-based container types. The containers have been
10538optimized for performance critical use, both in terms of large data quantities
10539and high speed.")
10540 (license license:bsd-3)))
10541
10542(define-public ghc-unordered-containers-bootstrap
10543 (package
10544 (inherit ghc-unordered-containers)
10545 (name "ghc-unordered-containers-bootstrap")
10546 (arguments `(#:tests? #f))
10547 (inputs
10548 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
10549 (properties '(hidden? #t))))
10550
a52f4c57
JS
10551(define-public ghc-unsafe
10552 (package
10553 (name "ghc-unsafe")
10554 (version "0.0")
10555 (source
10556 (origin
10557 (method url-fetch)
10558 (uri
10559 (string-append
10560 "https://hackage.haskell.org/package/unsafe/unsafe-"
10561 version ".tar.gz"))
10562 (sha256
10563 (base32
10564 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
10565 (build-system haskell-build-system)
10566 (home-page "https://hackage.haskell.org/package/unsafe")
10567 (synopsis "Unified interface to unsafe functions")
10568 (description "Safe Haskell introduced the notion of safe and unsafe
10569modules. In order to make as many as possible modules ``safe'', the
10570well-known unsafe functions were moved to distinguished modules. This
10571makes it hard to write packages that work with both old and new versions
10572of GHC. This package provides a single module System.Unsafe that
10573exports the unsafe functions from the base package. It provides them in
10574a style ready for qualification, that is, you should import them by
10575@code{import qualified System.Unsafe as Unsafe}.")
10576 (license license:bsd-3)))
10577
dddbc90c
RV
10578(define-public ghc-uri-bytestring
10579 (package
10580 (name "ghc-uri-bytestring")
10581 (version "0.3.2.0")
10582 (source
10583 (origin
10584 (method url-fetch)
10585 (uri (string-append "https://hackage.haskell.org/package/"
10586 "uri-bytestring-" version "/"
10587 "uri-bytestring-" version ".tar.gz"))
10588 (sha256
10589 (base32
10590 "1q04j5ybvk37zk2m0bkjwyhblz0ymdj0cn4rvsvdca1ikn5xdv5c"))))
10591 (build-system haskell-build-system)
10592 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
10593 ("ghc-fail" ,ghc-fail)
10594 ("ghc-blaze-builder" ,ghc-blaze-builder)
10595 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
10596 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
10597 ("ghc-hunit" ,ghc-hunit)
10598 ("ghc-quickcheck" ,ghc-quickcheck)
10599 ("ghc-tasty" ,ghc-tasty)
10600 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10601 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10602 ("ghc-base-compat" ,ghc-base-compat)
10603 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
10604 ("ghc-semigroups" ,ghc-semigroups)
10605 ("ghc-generics-sop" ,ghc-generics-sop)))
10606 (home-page "https://github.com/Soostone/uri-bytestring")
10607 (synopsis "Haskell URI parsing as ByteStrings")
10608 (description "This Haskell package aims to be an RFC3986 compliant URI
10609parser that uses ByteStrings for parsing and representing the URI data.")
10610 (license license:bsd-3)))
10611
10612(define-public ghc-utf8-string
10613 (package
10614 (name "ghc-utf8-string")
10615 (version "1.0.1.1")
10616 (source
10617 (origin
10618 (method url-fetch)
10619 (uri (string-append
10620 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
10621 version
10622 ".tar.gz"))
10623 (sha256
10624 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
10625 (build-system haskell-build-system)
10626 (arguments
10627 `(#:cabal-revision
10628 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
10629 (home-page "https://github.com/glguy/utf8-string/")
10630 (synopsis "Support for reading and writing UTF8 Strings")
10631 (description
10632 "A UTF8 layer for Strings. The utf8-string package provides operations
10633for encoding UTF8 strings to Word8 lists and back, and for reading and writing
10634UTF8 without truncation.")
10635 (license license:bsd-3)))
10636
10637(define-public ghc-utility-ht
10638 (package
10639 (name "ghc-utility-ht")
10640 (version "0.0.14")
10641 (home-page "https://hackage.haskell.org/package/utility-ht")
10642 (source
10643 (origin
10644 (method url-fetch)
10645 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
10646 (sha256
10647 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
10648 (build-system haskell-build-system)
10649 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
10650 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
10651 (description "This package includes Hakell modules providing various
10652helper functions for Lists, Maybes, Tuples, Functions.")
10653 (license license:bsd-3)))
10654
10655(define-public ghc-uuid
10656 (package
10657 (name "ghc-uuid")
10658 (version "1.3.13")
10659 (source
10660 (origin
10661 (method url-fetch)
10662 (uri (string-append "https://hackage.haskell.org/package/"
10663 "uuid-" version "/"
10664 "uuid-" version ".tar.gz"))
10665 (sha256
10666 (base32
10667 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
10668 (build-system haskell-build-system)
10669 (arguments
10670 `(#:cabal-revision
10671 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
10672 #:phases
10673 (modify-phases %standard-phases
10674 (add-before 'configure 'strip-test-framework-constraints
10675 (lambda _
10676 (substitute* "uuid.cabal"
10677 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
10678 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
10679 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
10680 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
10681 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
10682 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
10683 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
10684 ("ghc-entropy" ,ghc-entropy)
10685 ("ghc-network-info" ,ghc-network-info)
10686 ("ghc-random" ,ghc-random)
10687 ("ghc-uuid-types" ,ghc-uuid-types)))
10688 (native-inputs `(("ghc-hunit" ,ghc-hunit)
10689 ("ghc-quickcheck" ,ghc-quickcheck)
10690 ("ghc-tasty" ,ghc-tasty)
10691 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10692 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10693 (home-page "https://github.com/hvr/uuid")
10694 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
10695 (description "This Haskell library provides utilities creating, comparing,
10696parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
10697 (license license:bsd-3)))
10698
10699(define-public ghc-uuid-types
10700 (package
10701 (name "ghc-uuid-types")
10702 (version "1.0.3")
10703 (source
10704 (origin
10705 (method url-fetch)
10706 (uri (string-append "https://hackage.haskell.org/package/"
10707 "uuid-types-" version "/"
10708 "uuid-types-" version ".tar.gz"))
10709 (sha256
10710 (base32
10711 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
10712 (build-system haskell-build-system)
10713 (arguments
10714 `(#:phases
10715 (modify-phases %standard-phases
10716 (add-before 'configure 'strip-test-framework-constraints
10717 (lambda _
10718 (substitute* "uuid-types.cabal"
10719 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
10720 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
10721 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
10722 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
10723 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
10724 (inputs `(("ghc-hashable" ,ghc-hashable)
10725 ("ghc-random" ,ghc-random)))
10726 (native-inputs `(("ghc-hunit" ,ghc-hunit)
10727 ("ghc-quickcheck" ,ghc-quickcheck)
10728 ("ghc-tasty" ,ghc-tasty)
10729 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10730 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10731 (home-page "https://github.com/hvr/uuid")
10732 (synopsis "Haskell type definitions for UUIDs")
10733 (description "This Haskell library contains type definitions for
10734@dfn{Universally Unique Identifiers} or
10735@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
10736functions.")
10737 (license license:bsd-3)))
10738
10739(define-public ghc-validation
10740 (package
10741 (name "ghc-validation")
10742 (version "1")
10743 (source
10744 (origin
10745 (method url-fetch)
10746 (uri (string-append
10747 "mirror://hackage/package/validation/validation-"
10748 version
10749 ".tar.gz"))
10750 (sha256
10751 (base32
10752 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
10753 (build-system haskell-build-system)
10754 (arguments
10755 `(#:cabal-revision
10756 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
10757 (inputs
10758 `(("ghc-semigroups" ,ghc-semigroups)
10759 ("ghc-semigroupoids" ,ghc-semigroupoids)
10760 ("ghc-bifunctors" ,ghc-bifunctors)
10761 ("ghc-lens" ,ghc-lens)))
10762 (native-inputs
10763 `(("ghc-hedgehog" ,ghc-hedgehog)
10764 ("ghc-hunit" ,ghc-hunit)))
10765 (home-page "https://github.com/qfpl/validation")
10766 (synopsis
10767 "Data-type like Either but with an accumulating Applicative")
10768 (description
10769 "A data-type like Either but with differing properties and type-class
10770instances.
10771
10772Library support is provided for this different representation, including
10773@code{lens}-related functions for converting between each and abstracting over
10774their similarities.
10775
10776The @code{Validation} data type is isomorphic to @code{Either}, but has an
10777instance of @code{Applicative} that accumulates on the error side. That is to
10778say, if two (or more) errors are encountered, they are appended using a
10779@{Semigroup} operation.
10780
10781As a consequence of this @code{Applicative} instance, there is no
10782corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
10783example of, \"An applicative functor that is not a monad.\"")
10784 (license license:bsd-3)))
10785
10786(define-public ghc-validity
10787 (package
10788 (name "ghc-validity")
10789 (version "0.7.0.0")
10790 (source
10791 (origin
10792 (method url-fetch)
10793 (uri (string-append
10794 "https://hackage.haskell.org/package/validity/validity-"
10795 version
10796 ".tar.gz"))
10797 (sha256
10798 (base32
10799 "0xribw98amafihw87ddajk6vlirp7w9b26lrnjgq7jfm4710j95f"))))
10800 (build-system haskell-build-system)
10801 (native-inputs `(("ghc-hspec" ,ghc-hspec)
10802 ("hspec-discover" ,hspec-discover)))
10803 (home-page
10804 "https://github.com/NorfairKing/validity")
10805 (synopsis "Validity typeclass")
10806 (description
10807 "Values of custom types usually have invariants imposed upon them. This
10808package provides the @code{Validity} type class, which makes these invariants
10809explicit by providing a function to check whether the invariants hold.")
10810 (license license:expat)))
10811
10812(define-public ghc-vault
10813 (package
10814 (name "ghc-vault")
10815 (version "0.3.1.2")
10816 (source
10817 (origin
10818 (method url-fetch)
10819 (uri (string-append
10820 "https://hackage.haskell.org/package/vault/vault-"
10821 version
10822 ".tar.gz"))
10823 (sha256
10824 (base32
10825 "072mbrihsdsb8c6xvg6lvk0rqjgvxvi8qkg4n6wwym5hq0pfa04y"))))
10826 (build-system haskell-build-system)
10827 (inputs
10828 `(("ghc-unordered-containers" ,ghc-unordered-containers)
10829 ("ghc-hashable" ,ghc-hashable)
10830 ("ghc-semigroupoids" ,ghc-semigroupoids)))
10831 (home-page
10832 "https://github.com/HeinrichApfelmus/vault")
10833 (synopsis "Persistent store for arbitrary values")
10834 (description "This package provides vaults for Haskell. A vault is a
10835persistent store for values of arbitrary types. It's like having first-class
10836access to the storage space behind @code{IORefs}. The data structure is
10837analogous to a bank vault, where you can access different bank boxes with
10838different keys; hence the name. Also provided is a @code{locker} type,
10839representing a store for a single element.")
10840 (license license:bsd-3)))
10841
10842(define-public ghc-vector
10843 (package
10844 (name "ghc-vector")
10845 (version "0.12.0.1")
10846 (outputs '("out" "doc"))
10847 (source
10848 (origin
10849 (method url-fetch)
10850 (uri (string-append
10851 "https://hackage.haskell.org/package/vector/vector-"
10852 version
10853 ".tar.gz"))
10854 (sha256
10855 (base32
10856 "0yrx2ypiaxahvaz84af5bi855hd3107kxkbqc8km29nsp5wyw05i"))))
10857 (build-system haskell-build-system)
10858 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
10859 ;; disabled for now.
10860 (arguments
10861 `(#:cabal-revision
10862 ("3" "0y5rh8k710i2a3p1h2rghvr5cfg78p5h0kbfi7ifxqqf6pzlyr1x")
10863 #:tests? #f))
10864 (inputs
10865 `(("ghc-primitive" ,ghc-primitive)
10866 ("ghc-random" ,ghc-random)
10867 ("ghc-quickcheck" ,ghc-quickcheck)
10868 ;; ("ghc-hunit" ,ghc-hunit)
10869 ;; ("ghc-test-framework" ,ghc-test-framework)
10870 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10871 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
10872 ))
10873 (home-page "https://github.com/haskell/vector")
10874 (synopsis "Efficient Arrays")
10875 (description "This library provides an efficient implementation of
10876Int-indexed arrays (both mutable and immutable), with a powerful loop
10877optimisation framework.")
10878 (license license:bsd-3)))
10879
10880(define-public ghc-vector-algorithms
10881 (package
10882 (name "ghc-vector-algorithms")
10883 (version "0.7.0.4")
10884 (source
10885 (origin
10886 (method url-fetch)
10887 (uri (string-append "https://hackage.haskell.org/package/"
10888 "vector-algorithms-" version "/"
10889 "vector-algorithms-" version ".tar.gz"))
10890 (sha256
10891 (base32
10892 "0mfa8ig9v69l41p2vb5jl4qmaln5y1rlzarr2mlgm8g1nvq8qqdg"))))
10893 (build-system haskell-build-system)
10894 (inputs
10895 `(("ghc-vector" ,ghc-vector)))
10896 (native-inputs
10897 `(("ghc-quickcheck" ,ghc-quickcheck)))
10898 (home-page "https://github.com/bos/math-functions")
10899 (synopsis "Algorithms for vector arrays in Haskell")
10900 (description "This Haskell library algorithms for vector arrays.")
10901 (license license:bsd-3)))
10902
10903(define-public ghc-vector-binary-instances
10904 (package
10905 (name "ghc-vector-binary-instances")
10906 (version "0.2.4")
10907 (source
10908 (origin
10909 (method url-fetch)
10910 (uri (string-append
10911 "https://hackage.haskell.org/package/"
10912 "vector-binary-instances/vector-binary-instances-"
10913 version ".tar.gz"))
10914 (sha256
10915 (base32
10916 "1y236jb72iab9ska1mc48z6yb0xgwmj45laaqdyjxksd84z7hbrb"))))
10917 (build-system haskell-build-system)
10918 (arguments
10919 `(#:cabal-revision
10920 ("1" "196frl4akhfk7xf1nxzn8lmq99dxhzhsimanswn9yy7ym8zhki4i")))
10921 (inputs
10922 `(("ghc-vector" ,ghc-vector)))
10923 (native-inputs
10924 `(("ghc-tasty" ,ghc-tasty)
10925 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10926 (home-page "https://github.com/bos/vector-binary-instances")
10927 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
10928 (description "This library provides instances of @code{Binary} for the
10929types defined in the @code{vector} package, making it easy to serialize
10930vectors to and from disk. We use the generic interface to vectors, so all
10931vector types are supported. Specific instances are provided for unboxed,
10932boxed and storable vectors.")
10933 (license license:bsd-3)))
10934
10935(define-public ghc-vector-builder
10936 (package
10937 (name "ghc-vector-builder")
10938 (version "0.3.6")
10939 (source
10940 (origin
10941 (method url-fetch)
10942 (uri (string-append "https://hackage.haskell.org/package/"
10943 "vector-builder-" version "/"
10944 "vector-builder-" version ".tar.gz"))
10945 (sha256
10946 (base32
10947 "06d2pa1fb3ydrl7l6rjazqyxv5i73v65x2f5fp0ypjxfbm6jsmn8"))))
10948 (build-system haskell-build-system)
10949 (inputs `(("ghc-vector" ,ghc-vector)
10950 ("ghc-semigroups" ,ghc-semigroups)
10951 ("ghc-base-prelude" ,ghc-base-prelude)))
10952 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
10953 ("ghc-tasty" ,ghc-tasty)
10954 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10955 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10956 ("ghc-hunit" ,ghc-hunit)
10957 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
10958 ("ghc-rerebase" ,ghc-rerebase)))
10959 (home-page "https://github.com/nikita-volkov/vector-builder")
10960 (synopsis "Vector builder for Haskell")
10961 (description "This Haskell package provides an API for constructing vectors.
10962It provides the composable @code{Builder} abstraction, which has instances of the
10963@code{Monoid} and @code{Semigroup} classes.
10964
10965You would first use the @code{Builder} abstraction to specify the structure of
10966the vector; then you can execute the builder to actually produce the
10967vector. ")
10968 (license license:expat)))
10969
10970(define-public ghc-vector-th-unbox
10971 (package
10972 (name "ghc-vector-th-unbox")
10973 (version "0.2.1.6")
10974 (source
10975 (origin
10976 (method url-fetch)
10977 (uri (string-append "https://hackage.haskell.org/package/"
10978 "vector-th-unbox-" version "/"
10979 "vector-th-unbox-" version ".tar.gz"))
10980 (sha256
10981 (base32
10982 "0d82x55f5vvr1jvaia382m23rs690lg55pvavv8f4ph0y6kd91xy"))))
10983 (build-system haskell-build-system)
10984 (inputs
10985 `(("ghc-vector" ,ghc-vector)
10986 ("ghc-data-default" ,ghc-data-default)))
10987 (home-page "https://github.com/liyang/vector-th-unbox")
10988 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
10989 (description "This Haskell library provides a Template Haskell
10990deriver for unboxed vectors, given a pair of coercion functions to
10991and from some existing type with an Unbox instance.")
10992 (license license:bsd-3)))
10993
10994(define-public ghc-void
10995 (package
10996 (name "ghc-void")
10997 (version "0.7.2")
10998 (source
10999 (origin
11000 (method url-fetch)
11001 (uri (string-append
11002 "https://hackage.haskell.org/package/void/void-"
11003 version
11004 ".tar.gz"))
11005 (sha256
11006 (base32
11007 "0aygw0yb1h3yhmfl3bkwh5d3h0l4mmsxz7j53vdm6jryl1kgxzyk"))))
11008 (build-system haskell-build-system)
11009 (inputs
11010 `(("ghc-semigroups" ,ghc-semigroups)
11011 ("ghc-hashable" ,ghc-hashable)))
11012 (home-page "https://github.com/ekmett/void")
11013 (synopsis
11014 "Logically uninhabited data type")
11015 (description
11016 "A Haskell 98 logically uninhabited data type, used to indicate that a
11017given term should not exist.")
11018 (license license:bsd-3)))
11019
11020(define-public ghc-wave
11021 (package
11022 (name "ghc-wave")
11023 (version "0.1.5")
11024 (source (origin
11025 (method url-fetch)
11026 (uri (string-append
11027 "https://hackage.haskell.org/package/wave/wave-"
11028 version
11029 ".tar.gz"))
11030 (sha256
11031 (base32
11032 "03zycmwrchhqvi37fdvlzz2d1vl4hy0i8xyys1zznw38qfq0h2i5"))))
11033 (build-system haskell-build-system)
11034 (arguments
11035 '(#:phases
11036 (modify-phases %standard-phases
11037 (add-before 'configure 'update-constraints
11038 (lambda _
11039 (substitute* "wave.cabal"
11040 (("temporary.* < 1\\.3")
11041 "temporary >= 1.1 && < 1.4")))))))
11042 (inputs
11043 `(("ghc-cereal" ,ghc-cereal)
11044 ("ghc-data-default-class"
11045 ,ghc-data-default-class)
11046 ("ghc-quickcheck" ,ghc-quickcheck)
11047 ("ghc-temporary" ,ghc-temporary)))
11048 (native-inputs
11049 `(("hspec-discover" ,hspec-discover)
11050 ("ghc-hspec" ,ghc-hspec)))
11051 (home-page "https://github.com/mrkkrp/wave")
11052 (synopsis "Work with WAVE and RF64 files in Haskell")
11053 (description "This package allows you to work with WAVE and RF64
11054files in Haskell.")
11055 (license license:bsd-3)))
11056
11057(define-public ghc-wcwidth
11058 (package
11059 (name "ghc-wcwidth")
11060 (version "0.0.2")
11061 (source
11062 (origin
11063 (method url-fetch)
11064 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11065 version ".tar.gz"))
11066 (sha256
11067 (base32
11068 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11069 (build-system haskell-build-system)
11070 (inputs
11071 `(("ghc-setlocale" ,ghc-setlocale)
11072 ("ghc-utf8-string" ,ghc-utf8-string)
11073 ("ghc-attoparsec" ,ghc-attoparsec)))
11074 (home-page "https://github.com/solidsnack/wcwidth/")
11075 (synopsis "Haskell bindings to wcwidth")
11076 (description "This package provides Haskell bindings to your system's
11077native wcwidth and a command line tool to examine the widths assigned by it.
11078The command line tool can compile a width table to Haskell code that assigns
11079widths to the Char type.")
11080 (license license:bsd-3)))
11081
11082(define-public ghc-wcwidth-bootstrap
11083 (package
11084 (inherit ghc-wcwidth)
11085 (name "ghc-wcwidth-bootstrap")
11086 (inputs
11087 `(("ghc-setlocale" ,ghc-setlocale)
11088 ("ghc-utf8-string" ,ghc-utf8-string)
11089 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
11090 (properties '(hidden? #t))))
11091
11092(define-public ghc-weigh
11093 (package
11094 (name "ghc-weigh")
11095 (version "0.0.12")
11096 (source
11097 (origin
11098 (method url-fetch)
11099 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11100 "weigh-" version ".tar.gz"))
11101 (sha256
11102 (base32
11103 "0zw2a997gxgdzqmd7j730kxgynzmjvvlkw84dajmfzf1v9pbij7x"))))
11104 (build-system haskell-build-system)
11105 (inputs
11106 `(("ghc-split" ,ghc-split)
11107 ("ghc-temporary" ,ghc-temporary)))
11108 (home-page "https://github.com/fpco/weigh#readme")
11109 (synopsis "Measure allocations of a Haskell functions/values")
11110 (description "This package provides tools to measure the memory usage of a
11111Haskell value or function.")
11112 (license license:bsd-3)))
11113
11114(define-public ghc-wl-pprint
11115 (package
11116 (name "ghc-wl-pprint")
11117 (version "1.2.1")
11118 (source (origin
11119 (method url-fetch)
11120 (uri (string-append
11121 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11122 version ".tar.gz"))
11123 (sha256
11124 (base32
11125 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11126 (build-system haskell-build-system)
11127 (home-page "https://hackage.haskell.org/package/wl-pprint")
11128 (synopsis "Wadler/Leijen pretty printer")
11129 (description
11130 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11131Printer}. This version allows the library user to declare overlapping
11132instances of the @code{Pretty} class.")
11133 (license license:bsd-3)))
11134
11135(define-public ghc-wl-pprint-annotated
11136 (package
11137 (name "ghc-wl-pprint-annotated")
11138 (version "0.1.0.1")
11139 (source
11140 (origin
11141 (method url-fetch)
11142 (uri (string-append
11143 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11144 version
11145 ".tar.gz"))
11146 (sha256
11147 (base32
11148 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11149 (build-system haskell-build-system)
11150 (native-inputs
11151 `(("ghc-tasty" ,ghc-tasty)
11152 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11153 (home-page
11154 "https://github.com/minad/wl-pprint-annotated#readme")
11155 (synopsis
11156 "Wadler/Leijen pretty printer with annotation support")
11157 (description
11158 "Annotations are useful for coloring. This is a limited version of
11159@code{wl-pprint-extras} without support for point effects and without the free
11160monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11161Compared to @code{annotated-wl-pprint} this library provides a slightly
11162modernized interface.")
11163 (license license:bsd-3)))
11164
11165(define-public ghc-wl-pprint-text
11166 (package
11167 (name "ghc-wl-pprint-text")
11168 (version "1.2.0.0")
11169 (source
11170 (origin
11171 (method url-fetch)
11172 (uri (string-append
11173 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11174 version ".tar.gz"))
11175 (sha256
11176 (base32
11177 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11178 (build-system haskell-build-system)
11179 (inputs
11180 `(("ghc-base-compat" ,ghc-base-compat)))
11181 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11182 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11183 (description
11184 "A clone of wl-pprint for use with the text library.")
11185 (license license:bsd-3)))
11186
11187(define-public ghc-word8
11188 (package
11189 (name "ghc-word8")
11190 (version "0.1.3")
11191 (source
11192 (origin
11193 (method url-fetch)
11194 (uri (string-append
11195 "https://hackage.haskell.org/package/word8/word8-"
11196 version
11197 ".tar.gz"))
11198 (sha256
11199 (base32
11200 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11201 (build-system haskell-build-system)
11202 (native-inputs
11203 `(("ghc-hspec" ,ghc-hspec)
11204 ("hspec-discover" ,hspec-discover)))
11205 (home-page "https://hackage.haskell.org/package/word8")
11206 (synopsis "Word8 library for Haskell")
11207 (description "Word8 library to be used with @code{Data.ByteString}.")
11208 (license license:bsd-3)))
11209
11210(define-public ghc-x11
11211 (package
11212 (name "ghc-x11")
11213 (version "1.9")
11214 (source
11215 (origin
11216 (method url-fetch)
11217 (uri (string-append "https://hackage.haskell.org/package/X11/"
11218 "X11-" version ".tar.gz"))
11219 (sha256
11220 (base32 "1f8dy6ckkyvpcv7zlniyv01cqjb9lgqscm8pml58cvwc7n38w4qh"))))
11221 (build-system haskell-build-system)
11222 (inputs
11223 `(("libx11" ,libx11)
11224 ("libxrandr" ,libxrandr)
11225 ("libxinerama" ,libxinerama)
11226 ("libxscrnsaver" ,libxscrnsaver)
11227 ("ghc-data-default" ,ghc-data-default)))
11228 (home-page "https://github.com/haskell-pkg-janitors/X11")
11229 (synopsis "Bindings to the X11 graphics library")
11230 (description
11231 "This package provides Haskell bindings to the X11 graphics library. The
11232bindings are a direct translation of the C bindings.")
11233 (license license:bsd-3)))
11234
11235(define-public ghc-x11-xft
11236 (package
11237 (name "ghc-x11-xft")
11238 (version "0.3.1")
11239 (source
11240 (origin
11241 (method url-fetch)
11242 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11243 "X11-xft-" version ".tar.gz"))
11244 (sha256
11245 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11246 (inputs
11247 `(("ghc-x11" ,ghc-x11)
11248 ("ghc-utf8-string" ,ghc-utf8-string)
11249 ("libx11" ,libx11)
11250 ("libxft" ,libxft)
11251 ("xorgproto" ,xorgproto)))
11252 (native-inputs
11253 `(("pkg-config" ,pkg-config)))
11254 (build-system haskell-build-system)
11255 (home-page "https://hackage.haskell.org/package/X11-xft")
11256 (synopsis "Bindings to Xft")
11257 (description
11258 "Bindings to the Xft, X Free Type interface library, and some Xrender
11259parts.")
11260 (license license:lgpl2.1)))
11261
11262(define-public ghc-xdg-basedir
11263 (package
11264 (name "ghc-xdg-basedir")
11265 (version "0.2.2")
11266 (source
11267 (origin
11268 (method url-fetch)
11269 (uri (string-append
11270 "https://hackage.haskell.org/package/xdg-basedir/"
11271 "xdg-basedir-" version ".tar.gz"))
11272 (sha256
11273 (base32
11274 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
11275 (build-system haskell-build-system)
11276 (home-page "http://github.com/willdonnelly/xdg-basedir")
11277 (synopsis "XDG Base Directory library for Haskell")
11278 (description "This package provides a library implementing the XDG Base Directory spec.")
11279 (license license:bsd-3)))
11280
11281(define-public ghc-xml
11282 (package
11283 (name "ghc-xml")
11284 (version "1.3.14")
11285 (source
11286 (origin
11287 (method url-fetch)
11288 (uri (string-append
11289 "https://hackage.haskell.org/package/xml/xml-"
11290 version
11291 ".tar.gz"))
11292 (sha256
11293 (base32
11294 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
11295 (build-system haskell-build-system)
11296 (home-page "http://code.galois.com")
11297 (synopsis "Simple XML library for Haskell")
11298 (description "This package provides a simple XML library for Haskell.")
11299 (license license:bsd-3)))
11300
11301(define-public ghc-xml-conduit
11302 (package
11303 (name "ghc-xml-conduit")
11304 (version "1.8.0.1")
11305 (source
11306 (origin
11307 (method url-fetch)
11308 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
11309 "xml-conduit-" version ".tar.gz"))
11310 (sha256
11311 (base32
11312 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
11313 (build-system haskell-build-system)
11314 (inputs
11315 `(("ghc-conduit" ,ghc-conduit)
11316 ("ghc-conduit-extra" ,ghc-conduit-extra)
11317 ("ghc-doctest" ,ghc-doctest)
11318 ("ghc-resourcet" ,ghc-resourcet)
11319 ("ghc-xml-types" ,ghc-xml-types)
11320 ("ghc-attoparsec" ,ghc-attoparsec)
11321 ("ghc-data-default-class" ,ghc-data-default-class)
11322 ("ghc-blaze-markup" ,ghc-blaze-markup)
11323 ("ghc-blaze-html" ,ghc-blaze-html)
11324 ("ghc-monad-control" ,ghc-monad-control)
11325 ("ghc-hspec" ,ghc-hspec)
11326 ("ghc-hunit" ,ghc-hunit)))
11327 (home-page "https://github.com/snoyberg/xml")
11328 (synopsis "Utilities for dealing with XML with the conduit package")
11329 (description
11330 "This package provides pure-Haskell utilities for dealing with XML with
11331the @code{conduit} package.")
11332 (license license:expat)))
11333
11334(define-public ghc-xml-types
11335 (package
11336 (name "ghc-xml-types")
11337 (version "0.3.6")
11338 (source
11339 (origin
11340 (method url-fetch)
11341 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
11342 "xml-types-" version ".tar.gz"))
11343 (sha256
11344 (base32
11345 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
11346 (build-system haskell-build-system)
11347 (home-page "https://john-millikin.com/software/haskell-xml/")
11348 (synopsis "Basic types for representing XML")
11349 (description "This package provides basic types for representing XML
11350documents.")
11351 (license license:expat)))
11352
11353(define-public ghc-yaml
11354 (package
11355 (name "ghc-yaml")
11356 (version "0.8.32")
11357 (source (origin
11358 (method url-fetch)
11359 (uri (string-append "https://hackage.haskell.org/package/"
11360 "yaml/yaml-" version ".tar.gz"))
11361 (sha256
11362 (base32
11363 "0cbsyh4ilvjzq1q7pxls43k6pdqxg1l85xzibcwpbvmlvrizh86w"))))
11364 (build-system haskell-build-system)
11365 ;; The tests are broken on i686. They are fixed in 0.10.3.0.
11366 ;; See https://github.com/snoyberg/yaml/issues/158
11367 (arguments `(#:tests? #f))
11368 (inputs
11369 `(("ghc-conduit" ,ghc-conduit)
11370 ("ghc-resourcet" ,ghc-resourcet)
11371 ("ghc-aeson" ,ghc-aeson)
11372 ("ghc-unordered-containers" ,ghc-unordered-containers)
11373 ("ghc-vector" ,ghc-vector)
11374 ("ghc-attoparsec" ,ghc-attoparsec)
11375 ("ghc-scientific" ,ghc-scientific)
11376 ("ghc-semigroups" ,ghc-semigroups)
11377 ("ghc-temporary" ,ghc-temporary)
11378 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11379 ("ghc-base-compat" ,ghc-base-compat)))
11380 (native-inputs
11381 `(("ghc-hspec" ,ghc-hspec)
11382 ("ghc-hunit" ,ghc-hunit)
11383 ("hspec-discover" ,hspec-discover)
11384 ("ghc-mockery" ,ghc-mockery)))
11385 (home-page "https://github.com/snoyberg/yaml/")
11386 (synopsis "Parsing and rendering YAML documents")
11387 (description
11388 "This package provides a library to parse and render YAML documents.")
11389 (license license:bsd-3)))
11390
11391(define-public ghc-zip-archive
11392 (package
11393 (name "ghc-zip-archive")
11394 (version "0.3.3")
11395 (source
11396 (origin
11397 (method url-fetch)
11398 (uri (string-append
11399 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
11400 version
11401 ".tar.gz"))
11402 (sha256
11403 (base32
11404 "0kf8xyac168bng8a0za2jwrbss7a4ralvci9g54hnvl0gkkxx2lq"))))
11405 (build-system haskell-build-system)
11406 (inputs
11407 `(("ghc-digest" ,ghc-digest)
11408 ("ghc-temporary" ,ghc-temporary)
11409 ("ghc-zlib" ,ghc-zlib)))
11410 (native-inputs
11411 `(("ghc-hunit" ,ghc-hunit)
11412 ("unzip" ,unzip)))
11413 (home-page "https://hackage.haskell.org/package/zip-archive")
11414 (synopsis "Zip archive library for Haskell")
11415 (description "The zip-archive library provides functions for creating,
11416modifying, and extracting files from zip archives in Haskell.")
11417 (license license:bsd-3)))
11418
11419(define-public ghc-zlib
11420 (package
11421 (name "ghc-zlib")
11422 (version "0.6.2")
11423 (outputs '("out" "doc"))
11424 (source
11425 (origin
11426 (method url-fetch)
11427 (uri (string-append
11428 "https://hackage.haskell.org/package/zlib/zlib-"
11429 version
11430 ".tar.gz"))
11431 (sha256
11432 (base32
11433 "1vbzf0awb6zb456xf48za1kl22018646cfzq4frvxgb9ay97vk0d"))))
11434 (build-system haskell-build-system)
11435 (arguments
11436 `(#:phases
11437 (modify-phases %standard-phases
11438 (add-before 'configure 'strip-test-framework-constraints
11439 (lambda _
11440 (substitute* "zlib.cabal"
11441 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
11442 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
11443 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11444 (inputs `(("zlib" ,zlib)))
11445 (native-inputs
11446 `(("ghc-quickcheck" ,ghc-quickcheck)
11447 ("ghc-tasty" ,ghc-tasty)
11448 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11449 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11450 (home-page "https://hackage.haskell.org/package/zlib")
11451 (synopsis
11452 "Compression and decompression in the gzip and zlib formats")
11453 (description
11454 "This package provides a pure interface for compressing and decompressing
11455streams of data represented as lazy @code{ByteString}s. It uses the zlib C
11456library so it has high performance. It supports the @code{zlib}, @code{gzip}
11457and @code{raw} compression formats. It provides a convenient high level API
11458suitable for most tasks and for the few cases where more control is needed it
11459provides access to the full zlib feature set.")
bbf8bf31 11460 (license license:bsd-3)))
14e41996
RV
11461
11462(define-public ghc-zlib-bindings
11463 (package
11464 (name "ghc-zlib-bindings")
11465 (version "0.1.1.5")
11466 (source
11467 (origin
11468 (method url-fetch)
11469 (uri (string-append "https://hackage.haskell.org/package/"
11470 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
11471 (sha256
11472 (base32
11473 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
11474 (build-system haskell-build-system)
11475 (inputs
11476 `(("ghc-zlib" ,ghc-zlib)))
11477 (native-inputs
11478 `(("ghc-hspec" ,ghc-hspec)
11479 ("ghc-quickcheck" ,ghc-quickcheck)))
11480 (arguments
11481 `(#:cabal-revision
11482 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
11483 (home-page "https://github.com/snapframework/zlib-bindings")
11484 (synopsis "Low-level bindings to the @code{zlib} package")
11485 (description "This package provides low-level bindings to the
11486@code{zlib} package.")
11487 (license license:bsd-3)))