gnu: git-annex: Update license.
[jackhill/guix/guix.git] / gnu / packages / haskell-xyz.scm
CommitLineData
6b34d01c 1;;; GNU Guix --- Functional package management for GNU
dddbc90c
RV
2;;; Copyright © 2015, 2016 Federico Beffa <beffa@fbengineering.ch>
3;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
4;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
5;;; Copyright © 2015, 2019 Eric Bavier <bavier@member.fsf.org>
6;;; Copyright © 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
7;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
799d8d3c 8;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
dddbc90c
RV
9;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
10;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
11;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
12;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
13;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
14;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
15;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
16;;; Copyright © 2018 Tonton <tonton@riseup.net>
17;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
18;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
19;;; Copyright © 2018, 2019 Gabriel Hondet <gabrielhondet@gmail.com>
6b34d01c 20;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
dddbc90c 21;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
a52f4c57 22;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
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 '())
799d8d3c 466 (properties '((hidden? #t)))))
dddbc90c
RV
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
f169f713
JS
3558(define-public ghc-fmlist
3559 (package
3560 (name "ghc-fmlist")
3561 (version "0.9.2")
3562 (source
3563 (origin
3564 (method url-fetch)
3565 (uri
3566 (string-append
3567 "https://hackage.haskell.org/package/fmlist/fmlist-"
3568 version ".tar.gz"))
3569 (sha256
3570 (base32
3571 "02868865hqm189h5wjd916abvqwkhbrx5b0119s1dwp70ifvbi4g"))))
3572 (build-system haskell-build-system)
3573 (home-page "https://github.com/sjoerdvisscher/fmlist")
3574 (synopsis "FoldMap lists")
3575 (description "FoldMap lists are lists represented by their
3576@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
3577append, just like DLists, but other operations might have favorable
3578performance characteristics as well. These wild claims are still
3579completely unverified though.")
3580 (license license:bsd-3)))
3581
dddbc90c
RV
3582(define-public ghc-foldl
3583 (package
3584 (name "ghc-foldl")
3585 (version "1.4.3")
3586 (source
3587 (origin
3588 (method url-fetch)
3589 (uri (string-append "https://hackage.haskell.org/package/"
3590 "foldl-" version "/"
3591 "foldl-" version ".tar.gz"))
3592 (sha256
3593 (base32
3594 "13n0ca3hw5jzqf6rxsdbhbwkn61a9zlm13f0f205s60j3sc72jzk"))))
3595 (build-system haskell-build-system)
3596 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3597 ("ghc-primitive" ,ghc-primitive)
3598 ("ghc-vector" ,ghc-vector)
3599 ("ghc-unordered-containers" ,ghc-unordered-containers)
3600 ("ghc-hashable" ,ghc-hashable)
3601 ("ghc-contravariant" ,ghc-contravariant)
3602 ("ghc-semigroups" ,ghc-semigroups)
3603 ("ghc-profunctors" ,ghc-profunctors)
3604 ("ghc-semigroupoids" ,ghc-semigroupoids)
3605 ("ghc-comonad" ,ghc-comonad)
3606 ("ghc-vector-builder" ,ghc-vector-builder)))
3607 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
3608 (synopsis "Composable, streaming, and efficient left folds for Haskell")
3609 (description "This Haskell library provides strict left folds that stream
3610in constant memory, and you can combine folds using @code{Applicative} style
3611to derive new folds. Derived folds still traverse the container just once
3612and are often as efficient as hand-written folds.")
3613 (license license:bsd-3)))
3614
3615(define-public ghc-foundation
3616 (package
3617 (name "ghc-foundation")
3618 (version "0.0.21")
3619 (source
3620 (origin
3621 (method url-fetch)
3622 (uri (string-append "https://hackage.haskell.org/package/"
3623 "foundation/foundation-" version ".tar.gz"))
3624 (sha256
3625 (base32
3626 "1q43y8wfj0wf9gdq2kzphwjwq6m5pvryy1lqgk954aq5z3ks1lsf"))))
3627 (build-system haskell-build-system)
3628 (inputs `(("ghc-basement" ,ghc-basement)))
3629 (home-page "https://github.com/haskell-foundation/foundation")
3630 (synopsis "Alternative prelude with batteries and no dependencies")
3631 (description
3632 "This package provides a custom prelude with no dependencies apart from
3633the base package.
3634
3635Foundation has the following goals:
3636
3637@enumerate
3638@item provide a base like sets of modules that provide a consistent set of
3639 features and bugfixes across multiple versions of GHC (unlike base).
3640@item provide a better and more efficient prelude than base's prelude.
3641@item be self-sufficient: no external dependencies apart from base;
3642@item provide better data-types: packed unicode string by default, arrays;
3643@item Numerical classes that better represent mathematical things (no more
3644 all-in-one @code{Num});
3645@item I/O system with less lazy IO.
3646@end enumerate\n")
3647 (license license:bsd-3)))
3648
3649(define-public ghc-free
3650 (package
3651 (name "ghc-free")
3652 (version "5.0.2")
3653 (source
3654 (origin
3655 (method url-fetch)
3656 (uri (string-append
3657 "https://hackage.haskell.org/package/free/free-"
3658 version
3659 ".tar.gz"))
3660 (sha256
3661 (base32
3662 "15m3n9vhz7z3kzv1w3wlfa3x8jp4cbrkwmrcjr7jlx39iqffn1gg"))))
3663 (build-system haskell-build-system)
3664 (inputs
3665 `(("ghc-prelude-extras" ,ghc-prelude-extras)
3666 ("ghc-profunctors" ,ghc-profunctors)
3667 ("ghc-exceptions" ,ghc-exceptions)
3668 ("ghc-bifunctors" ,ghc-bifunctors)
3669 ("ghc-comonad" ,ghc-comonad)
3670 ("ghc-distributive" ,ghc-distributive)
3671 ("ghc-semigroupoids" ,ghc-semigroupoids)
3672 ("ghc-semigroups" ,ghc-semigroups)
3673 ("ghc-transformers-base" ,ghc-transformers-base)
3674 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3675 (home-page "https://github.com/ekmett/free/")
3676 (synopsis "Unrestricted monads for Haskell")
3677 (description "This library provides free monads, which are useful for many
3678tree-like structures and domain specific languages. If @code{f} is a
3679@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
3680whose nodes are labeled with the constructors of @code{f}. The word \"free\"
3681is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
3682f} makes no constraining assumptions beyond those given by @code{f} and the
3683definition of @code{Monad}.")
3684 (license license:bsd-3)))
3685
3686(define-public ghc-fsnotify
3687 (package
3688 (name "ghc-fsnotify")
3689 (version "0.3.0.1")
3690 (source (origin
3691 (method url-fetch)
3692 (uri (string-append
3693 "https://hackage.haskell.org/package/fsnotify/"
3694 "fsnotify-" version ".tar.gz"))
3695 (sha256
3696 (base32
3697 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
3698 (build-system haskell-build-system)
3699 (inputs
3700 `(("ghc-async" ,ghc-async)
3701 ("ghc-unix-compat" ,ghc-unix-compat)
3702 ("ghc-hinotify" ,ghc-hinotify)
3703 ("ghc-tasty" ,ghc-tasty)
3704 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3705 ("ghc-random" ,ghc-random)
3706 ("ghc-shelly" ,ghc-shelly)
3707 ("ghc-temporary" ,ghc-temporary)))
3708 (home-page "https://github.com/haskell-fswatch/hfsnotify")
3709 (synopsis "Cross platform library for file change notification.")
3710 (description "Cross platform library for file creation, modification, and
3711deletion notification. This library builds upon existing libraries for platform
3712specific Windows, Mac, and Linux file system event notification.")
3713 (license license:bsd-3)))
3714
3715(define-public ghc-generic-deriving
3716 (package
3717 (name "ghc-generic-deriving")
3718 (version "1.12.2")
3719 (source
3720 (origin
3721 (method url-fetch)
3722 (uri (string-append
3723 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
3724 version
3725 ".tar.gz"))
3726 (sha256
3727 (base32
3728 "1i7d6cpj9yhaqb79zays3nqchhaacacjz9bkc0zlwj73y5gvi22n"))))
3729 (build-system haskell-build-system)
3730 (inputs
3731 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
3732 (native-inputs
3733 `(("ghc-hspec" ,ghc-hspec)
3734 ("hspec-discover" ,hspec-discover)))
3735 (home-page "https://hackage.haskell.org/package/generic-deriving")
3736 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3737 (description "This package provides functionality for generalising the
3738deriving mechanism in Haskell to arbitrary classes.")
3739 (license license:bsd-3)))
3740
3741(define-public ghc-generics-sop
3742 (package
3743 (name "ghc-generics-sop")
3744 (version "0.3.2.0")
3745 (source
3746 (origin
3747 (method url-fetch)
3748 (uri (string-append "https://hackage.haskell.org/package/"
3749 "generics-sop-" version "/"
3750 "generics-sop-" version ".tar.gz"))
3751 (sha256
3752 (base32
3753 "168v62i845jh9jbfaz3ldz8svz4wmzq9mf2vhb7pxlnbkk8fqq1h"))))
3754 (build-system haskell-build-system)
3755 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3756 (home-page "https://github.com/well-typed/generics-sop")
3757 (synopsis "Generic Programming using True Sums of Products for Haskell")
3758 (description "This Haskell package supports the definition of generic
3759functions. Datatypes are viewed in a uniform, structured way: the choice
3760between constructors is represented using an n-ary sum, and the arguments of
3761each constructor are represented using an n-ary product.")
3762 (license license:bsd-3)))
3763
3764(define-public ghc-geniplate-mirror
3765 (package
3766 (name "ghc-geniplate-mirror")
3767 (version "0.7.6")
3768 (source
3769 (origin
3770 (method url-fetch)
3771 (uri (string-append "https://hackage.haskell.org/package"
3772 "/geniplate-mirror"
3773 "/geniplate-mirror-" version ".tar.gz"))
3774 (sha256
3775 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
3776 (build-system haskell-build-system)
3777 (home-page "https://github.com/danr/geniplate")
3778 (synopsis "Use Template Haskell to generate Uniplate-like functions")
3779 (description
3780 "Use Template Haskell to generate Uniplate-like functions. This is a
3781maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
3782geniplate} package, written by Lennart Augustsson.")
3783 (license license:bsd-3)))
3784
3785(define-public ghc-genvalidity
3786 (package
3787 (name "ghc-genvalidity")
3788 (version "0.5.1.0")
3789 (source
3790 (origin
3791 (method url-fetch)
3792 (uri (string-append
3793 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
3794 version
3795 ".tar.gz"))
3796 (sha256
3797 (base32
3798 "17ykq38j9a2lzir6dqz5jgy6ndaafrpkhqhcg96c5ppg7wcxaaj0"))))
3799 (build-system haskell-build-system)
3800 (inputs
3801 `(("ghc-quickcheck" ,ghc-quickcheck)
3802 ("ghc-validity" ,ghc-validity)))
3803 (native-inputs
3804 `(("ghc-hspec" ,ghc-hspec)
3805 ("hspec-discover" ,hspec-discover)
3806 ("ghc-hspec-core" ,ghc-hspec-core)))
3807 (home-page
3808 "https://github.com/NorfairKing/validity")
3809 (synopsis
3810 "Testing utilities for the @code{validity} library")
3811 (description
3812 "This package provides testing utilities that are useful in conjunction
3813with the @code{Validity} typeclass.")
3814 (license license:expat)))
3815
3816(define-public ghc-genvalidity-property
3817 (package
3818 (name "ghc-genvalidity-property")
3819 (version "0.2.1.1")
3820 (source
3821 (origin
3822 (method url-fetch)
3823 (uri (string-append
3824 "https://hackage.haskell.org/package/"
3825 "genvalidity-property/genvalidity-property-"
3826 version
3827 ".tar.gz"))
3828 (sha256
3829 (base32
3830 "0cjw5i2pydidda9bnp6x37ylhxdk9g874x5sadr6sscg5kq85a1b"))))
3831 (build-system haskell-build-system)
3832 (inputs
3833 `(("ghc-quickcheck" ,ghc-quickcheck)
3834 ("ghc-genvalidity" ,ghc-genvalidity)
3835 ("ghc-hspec" ,ghc-hspec)
3836 ("hspec-discover" ,hspec-discover)
3837 ("ghc-validity" ,ghc-validity)))
3838 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
3839 (home-page
3840 "https://github.com/NorfairKing/validity")
3841 (synopsis
3842 "Standard properties for functions on @code{Validity} types")
3843 (description
3844 "This package supplements the @code{Validity} typeclass with standard
3845properties for functions operating on them.")
3846 (license license:expat)))
3847
3848(define-public ghc-gitrev
3849 (package
3850 (name "ghc-gitrev")
3851 (version "1.3.1")
3852 (source
3853 (origin
3854 (method url-fetch)
3855 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
3856 version ".tar.gz"))
3857 (sha256
3858 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
3859 (build-system haskell-build-system)
3860 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
3861 (home-page "https://github.com/acfoltzer/gitrev")
3862 (synopsis "Compile git revision info into Haskell projects")
3863 (description
3864 "This package provides some handy Template Haskell splices for including
3865the current git hash and branch in the code of your project. This is useful
3866for including in panic messages, @command{--version} output, or diagnostic
3867info for more informative bug reports.")
3868 (license license:bsd-3)))
3869
3870(define-public ghc-glob
3871 (package
3872 (name "ghc-glob")
3873 (version "0.9.2")
3874 (source
3875 (origin
3876 (method url-fetch)
3877 (uri (string-append "https://hackage.haskell.org/package/"
3878 "Glob-" version "/"
3879 "Glob-" version ".tar.gz"))
3880 (sha256
3881 (base32
3882 "1rbwcq9w9951qsnp13vqcm9r01yax2yh1wk8s4zxa3ckk9717iwg"))))
3883 (build-system haskell-build-system)
3884 (inputs
3885 `(("ghc-dlist" ,ghc-dlist)
3886 ("ghc-semigroups" ,ghc-semigroups)
3887 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3888 (native-inputs
3889 `(("ghc-hunit" ,ghc-hunit)
3890 ("ghc-quickcheck" ,ghc-quickcheck)
3891 ("ghc-test-framework" ,ghc-test-framework)
3892 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3893 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3894 (home-page "http://iki.fi/matti.niemenmaa/glob/")
3895 (synopsis "Haskell library matching glob patterns against file paths")
3896 (description "This package provides a Haskell library for @dfn{globbing}:
3897matching patterns against file paths.")
3898 (license license:bsd-3)))
3899
3900(define-public ghc-gluraw
3901 (package
3902 (name "ghc-gluraw")
3903 (version "2.0.0.4")
3904 (source
3905 (origin
3906 (method url-fetch)
3907 (uri (string-append
3908 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
3909 version
3910 ".tar.gz"))
3911 (sha256
3912 (base32
3913 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
3914 (build-system haskell-build-system)
3915 (inputs
3916 `(("ghc-openglraw" ,ghc-openglraw)))
3917 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3918 (synopsis "Raw Haskell bindings GLU")
3919 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
3920utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
3921basis for a nicer interface.")
3922 (license license:bsd-3)))
3923
3924(define-public ghc-glut
3925 (package
3926 (name "ghc-glut")
3927 (version "2.7.0.14")
3928 (source
3929 (origin
3930 (method url-fetch)
3931 (uri (string-append
3932 "https://hackage.haskell.org/package/GLUT/GLUT-"
3933 version
3934 ".tar.gz"))
3935 (sha256
3936 (base32
3937 "01i162fly4q1751fp60lgkzlb8kr0qqbvmxj74zc6skb19qggy2w"))))
3938 (build-system haskell-build-system)
3939 (inputs
3940 `(("ghc-statevar" ,ghc-statevar)
3941 ("ghc-opengl" ,ghc-opengl)
3942 ("ghc-openglraw" ,ghc-openglraw)
3943 ("freeglut" ,freeglut)))
3944 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3945 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
3946 (description "This library provides Haskell bindings for the OpenGL
3947Utility Toolkit, a window system-independent toolkit for writing OpenGL
3948programs.")
3949 (license license:bsd-3)))
3950
3951(define-public ghc-gnuplot
3952 (package
3953 (name "ghc-gnuplot")
3954 (version "0.5.5.2")
3955 (source
3956 (origin
3957 (method url-fetch)
3958 (uri (string-append
3959 "mirror://hackage/package/gnuplot/gnuplot-"
3960 version ".tar.gz"))
3961 (sha256
3962 (base32 "1mlppnc13ygjzmf6ldydys4wvy35yb3xjwwfgf9rbi7nfcqjr6mn"))))
3963 (build-system haskell-build-system)
3964 (inputs
3965 `(("ghc-temporary" ,ghc-temporary)
3966 ("ghc-utility-ht" ,ghc-utility-ht)
3967 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
3968 ("ghc-data-accessor" ,ghc-data-accessor)
3969 ("ghc-semigroups" ,ghc-semigroups)
3970 ("gnuplot" ,gnuplot)))
3971 (arguments
3972 `(#:phases
3973 (modify-phases %standard-phases
3974 (add-before 'configure 'fix-path-to-gnuplot
3975 (lambda* (#:key inputs #:allow-other-keys)
3976 (let ((gnuplot (assoc-ref inputs "gnuplot")))
3977 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
3978 (("(gnuplotName = ).*$" all cmd)
3979 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
3980 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
3981 (synopsis "2D and 3D plots using gnuplot")
3982 (description "This package provides a Haskell module for creating 2D and
39833D plots using gnuplot.")
3984 (license license:bsd-3)))
3985
3986(define-public ghc-graphviz
3987 (package
3988 (name "ghc-graphviz")
3989 (version "2999.20.0.2")
3990 (source (origin
3991 (method url-fetch)
3992 (uri (string-append "https://hackage.haskell.org/package/"
3993 "graphviz/graphviz-" version ".tar.gz"))
3994 (sha256
3995 (base32
3996 "0kj7ap0gnliviq2p8lscw1m06capnsa90vpvcys24nqy5nw2wrp7"))))
3997 (build-system haskell-build-system)
3998 (inputs
3999 `(("ghc-quickcheck" ,ghc-quickcheck)
4000 ("ghc-colour" ,ghc-colour)
4001 ("ghc-dlist" ,ghc-dlist)
4002 ("ghc-fgl" ,ghc-fgl)
4003 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4004 ("ghc-polyparse" ,ghc-polyparse)
4005 ("ghc-temporary" ,ghc-temporary)
4006 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4007 (native-inputs
4008 `(("ghc-hspec" ,ghc-hspec)
4009 ("graphviz" ,graphviz)
4010 ("hspec-discover" ,hspec-discover)))
4011 (home-page "https://hackage.haskell.org/package/graphviz")
4012 (synopsis "Bindings to Graphviz for graph visualisation")
4013 (description
4014 "This library provides bindings for the Dot language used by
4015the @uref{https://graphviz.org/, Graphviz} suite of programs for
4016visualising graphs, as well as functions to call those programs.
4017Main features of the graphviz library include:
4018
4019@enumerate
4020@item Almost complete coverage of all Graphviz attributes and syntax
4021@item Support for specifying clusters
4022@item The ability to use a custom node type
4023@item Functions for running a Graphviz layout tool with all specified output types
4024@item Generate and parse Dot code with two options: strict and liberal
4025@item Functions to convert FGL graphs and other graph-like data structures
4026@item Round-trip support for passing an FGL graph through Graphviz to augment node
4027and edge labels with positional information, etc.
4028@end enumerate\n")
4029 (license license:bsd-3)))
4030
4031(define-public ghc-gtk2hs-buildtools
4032 (package
4033 (name "ghc-gtk2hs-buildtools")
4034 (version "0.13.4.0")
4035 (source
4036 (origin
4037 (method url-fetch)
4038 (uri (string-append "https://hackage.haskell.org/package/"
4039 "gtk2hs-buildtools/gtk2hs-buildtools-"
4040 version ".tar.gz"))
4041 (sha256
4042 (base32
4043 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
4044 (build-system haskell-build-system)
4045 (inputs
4046 `(("ghc-random" ,ghc-random)
4047 ("ghc-hashtables" ,ghc-hashtables)))
4048 (native-inputs
4049 `(("ghc-alex" ,ghc-alex)
4050 ("ghc-happy" ,ghc-happy)))
4051 (home-page "http://projects.haskell.org/gtk2hs/")
4052 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4053 (description
4054 "This package provides a set of helper programs necessary to build the
4055Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4056that is used to generate FFI declarations, a tool to build a type hierarchy
4057that mirrors the C type hierarchy of GObjects found in glib, and a generator
4058for signal declarations that are used to call back from C to Haskell. These
4059tools are not needed to actually run Gtk2Hs programs.")
4060 (license license:gpl2)))
4061
4062(define-public ghc-hackage-security
4063 (package
4064 (name "ghc-hackage-security")
4065 (version "0.5.3.0")
4066 (source
4067 (origin
4068 (method url-fetch)
4069 (uri (string-append "https://hackage.haskell.org/package/"
4070 "hackage-security/hackage-security-"
4071 version ".tar.gz"))
4072 (sha256
4073 (base32
4074 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4075 (build-system haskell-build-system)
4076 (arguments
4077 `(#:tests? #f)) ; Tests fail because of framework updates.
4078 (inputs
4079 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4080 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4081 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4082 ("ghc-ed25519" ,ghc-ed25519)
4083 ("ghc-network" ,ghc-network)
4084 ("ghc-network-uri" ,ghc-network-uri)
4085 ("ghc-tar" ,ghc-tar)
4086 ("ghc-zlib" ,ghc-zlib)))
4087 (native-inputs
4088 `(("ghc-network-uri" ,ghc-network-uri)
4089 ("ghc-quickcheck" ,ghc-quickcheck)
4090 ("ghc-tar" ,ghc-tar)
4091 ("ghc-tasty" ,ghc-tasty)
4092 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4093 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4094 ("ghc-temporary" ,ghc-temporary)
4095 ("ghc-zlib" ,ghc-zlib)))
4096 (home-page "https://github.com/haskell/hackage-security")
4097 (synopsis "Hackage security library")
4098 (description "This Hackage security library provides both server and
4099client utilities for securing @uref{http://hackage.haskell.org/, the
4100Hackage package server}. It is based on
4101@uref{http://theupdateframework.com/, The Update Framework}, a set of
4102recommendations developed by security researchers at various universities
4103in the US as well as developers on the @uref{https://www.torproject.org/,
4104Tor project}.")
4105 (license license:bsd-3)))
4106
4107(define-public ghc-haddock
4108 (package
4109 (name "ghc-haddock")
4110 (version "2.19.0.1")
4111 (source
4112 (origin
4113 (method url-fetch)
4114 (uri (string-append
4115 "https://hackage.haskell.org/package/haddock/haddock-"
4116 version
4117 ".tar.gz"))
4118 (sha256
4119 (base32
4120 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4121 (build-system haskell-build-system)
4122 (arguments
4123 `(#:phases
4124 (modify-phases %standard-phases
4125 ;; There are four test suites that require the ghc-haddock-test
4126 ;; package, which no longer builds with GHC 8.4.3. This phase
4127 ;; removes these four test suites from the Cabal file, so that we
4128 ;; do not need ghc-haddock-test as an input.
4129 (add-before 'configure 'remove-haddock-test-test-suites
4130 (lambda _
4131 (use-modules (ice-9 rdelim))
4132 (with-atomic-file-replacement "haddock.cabal"
4133 (lambda (in out)
4134 (let loop ((line (read-line in 'concat)) (deleting? #f))
4135 (cond
4136 ((eof-object? line) #t)
4137 ((string-every char-set:whitespace line)
4138 (unless deleting? (display line out))
4139 (loop (read-line in 'concat) #f))
4140 ((member line '("test-suite html-test\n"
4141 "test-suite hypsrc-test\n"
4142 "test-suite latex-test\n"
4143 "test-suite hoogle-test\n"))
4144 (loop (read-line in 'concat) #t))
4145 (else
4146 (unless deleting? (display line out))
4147 (loop (read-line in 'concat) deleting?)))))))))))
4148 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4149 (native-inputs
4150 `(("ghc-hspec" ,ghc-hspec)))
4151 (home-page "https://www.haskell.org/haddock/")
4152 (synopsis
4153 "Documentation-generation tool for Haskell libraries")
4154 (description
4155 "Haddock is a documentation-generation tool for Haskell libraries.")
4156 (license license:bsd-3)))
4157
4158(define-public ghc-haddock-api
4159 (package
4160 (name "ghc-haddock-api")
4161 (version "2.19.0.1")
4162 (source
4163 (origin
4164 (method url-fetch)
4165 (uri (string-append
4166 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4167 version
4168 ".tar.gz"))
4169 (sha256
4170 (base32
4171 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4172 (build-system haskell-build-system)
4173 (arguments
4174 `(#:phases
4175 (modify-phases %standard-phases
4176 (add-before 'configure 'update-constraints
4177 (lambda _
4178 (substitute* "haddock-api.cabal"
4179 (("Cabal \\^>= 2\\.0\\.0")
4180 "Cabal ^>= 2.2.0")
4181 (("hspec \\^>= 2\\.4\\.4")
4182 "hspec >= 2.4.4 && < 2.6")))))))
4183 (inputs
4184 `(("ghc-paths" ,ghc-paths)
4185 ("ghc-haddock-library" ,ghc-haddock-library)))
4186 (native-inputs
4187 `(("ghc-quickcheck" ,ghc-quickcheck)
4188 ("ghc-hspec" ,ghc-hspec)
4189 ("hspec-discover" ,hspec-discover)))
4190 (home-page "https://www.haskell.org/haddock/")
4191 (synopsis "API for documentation-generation tool Haddock")
4192 (description "This package provides an API to Haddock, the
4193documentation-generation tool for Haskell libraries.")
4194 (license license:bsd-3)))
4195
4196(define-public ghc-haddock-library
4197 (package
4198 (name "ghc-haddock-library")
4199 (version "1.5.0.1")
4200 (source
4201 (origin
4202 (method url-fetch)
4203 (uri (string-append
4204 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4205 version
4206 ".tar.gz"))
4207 (sha256
4208 (base32
4209 "1cmbg8l5xrwpliclwy3l057raypjqy0hsg1h1743ahaj8gq10b7z"))
4210 (patches (search-patches
4211 "ghc-haddock-library-unbundle.patch"))
4212 (modules '((guix build utils)))
4213 (snippet '(begin
4214 (delete-file-recursively "vendor")
4215 #t))))
4216 (build-system haskell-build-system)
4217 (arguments
4218 `(#:phases
4219 (modify-phases %standard-phases
4220 (add-before 'configure 'relax-test-suite-dependencies
4221 (lambda _
4222 (substitute* "haddock-library.cabal"
4223 (("base-compat\\s*\\^>= 0\\.9\\.3") "base-compat")
4224 (("hspec\\s*\\^>= 2\\.4\\.4") "hspec"))))
4225 ;; The release tarball does not contain the "fixtures/examples"
4226 ;; directory, which is required for testing. In the upstream
4227 ;; repository, the directory exists and is populated. Here, we
4228 ;; create an empty directory to placate the tests.
4229 (add-before 'check 'add-examples-directory
4230 (lambda _
4231 (mkdir "fixtures/examples")
4232 #t)))))
4233 (native-inputs
4234 `(("ghc-base-compat" ,ghc-base-compat)
4235 ("ghc-hspec" ,ghc-hspec)
4236 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4237 ("ghc-quickcheck" ,ghc-quickcheck)
4238 ("ghc-tree-diff" ,ghc-tree-diff)
4239 ("hspec-discover" ,hspec-discover)))
4240 (home-page "https://www.haskell.org/haddock/")
4241 (synopsis "Library exposing some functionality of Haddock")
4242 (description
4243 "Haddock is a documentation-generation tool for Haskell libraries. These
4244modules expose some functionality of it without pulling in the GHC dependency.
4245Please note that the API is likely to change so specify upper bounds in your
4246project if you can't release often. For interacting with Haddock itself, see
4247the ‘haddock’ package.")
4248 (license license:bsd-3)))
4249
4250(define-public ghc-half
4251 (package
4252 (name "ghc-half")
4253 (version "0.3")
4254 (source
4255 (origin
4256 (method url-fetch)
4257 (uri (string-append
4258 "https://hackage.haskell.org/package/half/half-"
4259 version ".tar.gz"))
4260 (sha256
4261 (base32
4262 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4263 (build-system haskell-build-system)
4264 (native-inputs
4265 `(("ghc-hspec" ,ghc-hspec)
4266 ("ghc-quickcheck" ,ghc-quickcheck)))
4267 (home-page "https://github.com/ekmett/half")
4268 (synopsis "Half-precision floating-point computations")
4269 (description "This library provides a half-precision floating-point
4270computation library for Haskell.")
4271 (license license:bsd-3)))
4272
4273(define-public ghc-happy
4274 (package
4275 (name "ghc-happy")
4276 (version "1.19.9")
4277 (source
4278 (origin
4279 (method url-fetch)
4280 (uri (string-append
4281 "https://hackage.haskell.org/package/happy/happy-"
4282 version
4283 ".tar.gz"))
4284 (sha256
4285 (base32
4286 "138xpxdb7x62lpmgmb6b3v3vgdqqvqn4273jaap3mjmc2gla709y"))))
4287 (build-system haskell-build-system)
4288 (arguments
4289 `(#:phases
4290 (modify-phases %standard-phases
4291 (add-after 'unpack 'skip-test-issue93
4292 (lambda _
4293 ;; Tests run out of memory on a system with 2GB of available RAM,
4294 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4295 (substitute* "tests/Makefile"
4296 ((" issue93.y ") " "))
4297 #t)))))
4298 (home-page "https://hackage.haskell.org/package/happy")
4299 (synopsis "Parser generator for Haskell")
4300 (description "Happy is a parser generator for Haskell. Given a grammar
4301specification in BNF, Happy generates Haskell code to parse the grammar.
4302Happy works in a similar way to the yacc tool for C.")
4303 (license license:bsd-3)))
4304
4305(define-public ghc-hashable
4306 (package
4307 (name "ghc-hashable")
4308 (version "1.2.7.0")
4309 (outputs '("out" "doc"))
4310 (source
4311 (origin
4312 (method url-fetch)
4313 (uri (string-append
4314 "https://hackage.haskell.org/package/hashable/hashable-"
4315 version
4316 ".tar.gz"))
4317 (sha256
4318 (base32
4319 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4320 (build-system haskell-build-system)
4321 (inputs
4322 `(("ghc-random" ,ghc-random)))
4323 (native-inputs
4324 `(("ghc-test-framework" ,ghc-test-framework)
4325 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4326 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4327 ("ghc-hunit" ,ghc-hunit)
4328 ("ghc-quickcheck" ,ghc-quickcheck)))
4329 (home-page "https://github.com/tibbe/hashable")
4330 (synopsis "Class for types that can be converted to a hash value")
4331 (description
4332 "This package defines a class, @code{Hashable}, for types that can be
4333converted to a hash value. This class exists for the benefit of hashing-based
4334data structures. The package provides instances for basic types and a way to
4335combine hash values.")
4336 (license license:bsd-3)))
4337
4338(define-public ghc-hashable-bootstrap
4339 (package
4340 (inherit ghc-hashable)
4341 (name "ghc-hashable-bootstrap")
4342 (arguments `(#:tests? #f))
4343 (native-inputs '())
4344 (properties '((hidden? #t)))))
4345
4346(define-public ghc-hashable-time
4347 (package
4348 (name "ghc-hashable-time")
4349 (version "0.2.0.1")
4350 (source
4351 (origin
4352 (method url-fetch)
4353 (uri (string-append
4354 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4355 version
4356 ".tar.gz"))
4357 (sha256
4358 (base32
4359 "0k932nyd08l3xxbh2g3n76py2f4kd9yw4s5a065vjz0xp6wjnxdm"))))
4360 (build-system haskell-build-system)
4361 (arguments
4362 `(#:cabal-revision
4363 ("1" "0rv40xkg3gj8jnqsry1gq3f5s5la6d5arg8fzkirnwdpcgha1as6")))
4364 (inputs `(("ghc-hashable" ,ghc-hashable)))
4365 (home-page "http://hackage.haskell.org/package/hashable-time")
4366 (synopsis "Hashable instances for Data.Time")
4367 (description
4368 "This package provides @code{Hashable} instances for types in
4369@code{Data.Time}.")
4370 (license license:bsd-3)))
4371
4372(define-public ghc-hashtables
4373 (package
4374 (name "ghc-hashtables")
4375 (version "1.2.3.1")
4376 (source
4377 (origin
4378 (method url-fetch)
4379 (uri (string-append
4380 "https://hackage.haskell.org/package/hashtables/hashtables-"
4381 version ".tar.gz"))
4382 (sha256
4383 (base32 "1giw9caajr07slf09j7zry9b0kvm4yj9q78zy1mawzi6gk3wglcg"))))
4384 (build-system haskell-build-system)
4385 (inputs
4386 `(("ghc-hashable" ,ghc-hashable)
4387 ("ghc-primitive" ,ghc-primitive)
4388 ("ghc-vector" ,ghc-vector)))
4389 (home-page "https://github.com/gregorycollins/hashtables")
4390 (synopsis "Haskell Mutable hash tables in the ST monad")
4391 (description "This package provides a Haskell library including a
4392couple of different implementations of mutable hash tables in the ST
4393monad, as well as a typeclass abstracting their common operations, and
4394a set of wrappers to use the hash tables in the IO monad.")
4395 (license license:bsd-3)))
4396
4397(define-public ghc-haskell-lexer
4398 (package
4399 (name "ghc-haskell-lexer")
4400 (version "1.0.2")
4401 (source
4402 (origin
4403 (method url-fetch)
4404 (uri (string-append
4405 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4406 version ".tar.gz"))
4407 (sha256
4408 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4409 (build-system haskell-build-system)
4410 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4411 (synopsis "Fully compliant Haskell 98 lexer")
4412 (description
4413 "This package provides a fully compliant Haskell 98 lexer.")
4414 (license license:bsd-3)))
4415
4416(define-public ghc-haskell-src
4417 (package
4418 (name "ghc-haskell-src")
4419 (version "1.0.3.0")
4420 (source
4421 (origin
4422 (method url-fetch)
4423 (uri (string-append
4424 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4425 version
4426 ".tar.gz"))
4427 (sha256
4428 (base32
4429 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4430 (build-system haskell-build-system)
4431 (inputs
4432 `(("ghc-happy" ,ghc-happy)
4433 ("ghc-syb" ,ghc-syb)))
4434 (home-page
4435 "https://hackage.haskell.org/package/haskell-src")
4436 (synopsis
4437 "Support for manipulating Haskell source code")
4438 (description
4439 "The @code{haskell-src} package provides support for manipulating Haskell
4440source code. The package provides a lexer, parser and pretty-printer, and a
4441definition of a Haskell abstract syntax tree (AST). Common uses of this
4442package are to parse or generate Haskell 98 code.")
4443 (license license:bsd-3)))
4444
4445(define-public ghc-haskell-src-exts
4446 (package
4447 (name "ghc-haskell-src-exts")
4448 (version "1.20.2")
4449 (source
4450 (origin
4451 (method url-fetch)
4452 (uri (string-append
4453 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4454 version
4455 ".tar.gz"))
4456 (sha256
4457 (base32
4458 "1sm3z4v1p5yffg01ldgavz71s3bvfhjfa13k428rk14bpkl8crlz"))))
4459 (build-system haskell-build-system)
4460 (inputs
4461 `(("cpphs" ,cpphs)
4462 ("ghc-happy" ,ghc-happy)
4463 ("ghc-pretty-show" ,ghc-pretty-show)))
4464 (native-inputs
4465 `(("ghc-smallcheck" ,ghc-smallcheck)
4466 ("ghc-tasty" ,ghc-tasty)
4467 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4468 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4469 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4470 (synopsis "Library for manipulating Haskell source")
4471 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4472extension of the standard @code{haskell-src} package, and handles most
4473registered syntactic extensions to Haskell. All extensions implemented in GHC
4474are supported. Apart from these standard extensions, it also handles regular
4475patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4476 (license license:bsd-3)))
4477
4478(define-public ghc-haskell-src-exts-util
4479 (package
4480 (name "ghc-haskell-src-exts-util")
4481 (version "0.2.3")
4482 (source
4483 (origin
4484 (method url-fetch)
4485 (uri (string-append "https://hackage.haskell.org/package/"
4486 "haskell-src-exts-util/haskell-src-exts-util-"
4487 version ".tar.gz"))
4488 (sha256
4489 (base32
4490 "1803718paq89f8pdck4mb88hv2k1ah9lxzq0lgjgwi9n88ryycz8"))))
4491 (build-system haskell-build-system)
4492 (inputs
4493 `(("ghc-data-default" ,ghc-data-default)
4494 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4495 ("ghc-semigroups" ,ghc-semigroups)
4496 ("ghc-uniplate" ,ghc-uniplate)))
4497 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4498 (synopsis "Helper functions for working with haskell-src-exts trees")
4499 (description
4500 "This package provides helper functions for working with
4501@code{haskell-src-exts} trees.")
4502 (license license:bsd-3)))
4503
4504(define-public ghc-haskell-src-meta
4505 (package
4506 (name "ghc-haskell-src-meta")
4507 (version "0.8.0.3")
4508 (source (origin
4509 (method url-fetch)
4510 (uri (string-append "https://hackage.haskell.org/package/"
4511 "haskell-src-meta/haskell-src-meta-"
4512 version ".tar.gz"))
4513 (sha256
4514 (base32
4515 "08jq156zv4m0fjq6712n99c1jwxnpa6kj6sq8ch0r1l0a1ay6ww4"))))
4516 (build-system haskell-build-system)
4517 (inputs
4518 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4519 ("ghc-syb" ,ghc-syb)
4520 ("ghc-th-orphans" ,ghc-th-orphans)))
4521 (native-inputs
4522 `(("ghc-hunit" ,ghc-hunit)
4523 ("ghc-test-framework" ,ghc-test-framework)
4524 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4525 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4526 (synopsis "Parse source to template-haskell abstract syntax")
4527 (description
4528 "This package provides tools to parse Haskell sources to the
4529template-haskell abstract syntax.")
4530 (license license:bsd-3)))
4531
4532(define-public ghc-hasktags
4533 (package
4534 (name "ghc-hasktags")
4535 (version "0.71.2")
4536 (source
4537 (origin
4538 (method url-fetch)
4539 (uri (string-append
4540 "https://hackage.haskell.org/package/hasktags/hasktags-"
4541 version
4542 ".tar.gz"))
4543 (sha256
4544 (base32
4545 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4546 (build-system haskell-build-system)
4547 (inputs
4548 `(("ghc-system-filepath" ,ghc-system-filepath)
4549 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4550 (native-inputs
4551 `(("ghc-json" ,ghc-json)
4552 ("ghc-utf8-string" ,ghc-utf8-string)
4553 ("ghc-microlens-platform" ,ghc-microlens-platform)
4554 ("ghc-hunit" ,ghc-hunit)))
4555 (home-page "http://github.com/MarcWeber/hasktags")
4556 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4557 (description
4558 "This package provides a means of generating tag files for Emacs and
4559Vim.")
4560 (license license:bsd-3)))
4561
4562(define-public ghc-hex
4563 (package
4564 (name "ghc-hex")
4565 (version "0.1.2")
4566 (source
4567 (origin
4568 (method url-fetch)
4569 (uri (string-append "https://hackage.haskell.org/package/"
4570 "hex-" version "/"
4571 "hex-" version ".tar.gz"))
4572 (sha256
4573 (base32
4574 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4575 (build-system haskell-build-system)
4576 (home-page "https://hackage.haskell.org/package/hex")
4577 (synopsis "Convert strings into hexadecimal and back")
4578 (description "This package provides conversion functions between
4579bytestrings and their hexademical representation.")
4580 (license license:bsd-3)))
4581
4582(define-public ghc-highlighting-kate
4583 (package
4584 (name "ghc-highlighting-kate")
4585 (version "0.6.4")
4586 (source (origin
4587 (method url-fetch)
4588 (uri (string-append "https://hackage.haskell.org/package/"
4589 "highlighting-kate/highlighting-kate-"
4590 version ".tar.gz"))
4591 (sha256
4592 (base32
4593 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4594 (build-system haskell-build-system)
4595 (inputs
4596 `(("ghc-diff" ,ghc-diff)
4597 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4598 (native-inputs
4599 `(("ghc-blaze-html" ,ghc-blaze-html)
4600 ("ghc-utf8-string" ,ghc-utf8-string)))
4601 (home-page "https://github.com/jgm/highlighting-kate")
4602 (synopsis "Syntax highlighting library")
4603 (description
4604 "Highlighting-kate is a syntax highlighting library with support for
4605nearly one hundred languages. The syntax parsers are automatically generated
4606from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4607supported by Kate can be added. An (optional) command-line program is
4608provided, along with a utility for generating new parsers from Kate XML syntax
4609descriptions.")
4610 (license license:gpl2+)))
4611
4612(define-public ghc-hindent
4613 (package
4614 (name "ghc-hindent")
4615 (version "5.3.0")
4616 (source
4617 (origin
4618 (method url-fetch)
4619 (uri (string-append
4620 "https://hackage.haskell.org/package/hindent/hindent-"
4621 version
4622 ".tar.gz"))
4623 (sha256
4624 (base32
4625 "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg"))))
4626 (build-system haskell-build-system)
4627 (arguments
4628 `(#:modules ((guix build haskell-build-system)
4629 (guix build utils)
4630 (guix build emacs-utils))
4631 #:imported-modules (,@%haskell-build-system-modules
4632 (guix build emacs-utils))
4633 #:phases
4634 (modify-phases %standard-phases
4635 (add-after 'install 'emacs-install
4636 (lambda* (#:key inputs outputs #:allow-other-keys)
4637 (let* ((out (assoc-ref outputs "out"))
4638 (elisp-file "elisp/hindent.el")
4639 (dest (string-append out "/share/emacs/site-lisp"
4640 "/guix.d/hindent-" ,version))
4641 (emacs (string-append (assoc-ref inputs "emacs")
4642 "/bin/emacs")))
4643 (make-file-writable elisp-file)
4644 (emacs-substitute-variables elisp-file
4645 ("hindent-process-path"
4646 (string-append out "/bin/hindent")))
4647 (install-file elisp-file dest)
4648 (emacs-generate-autoloads "hindent" dest)))))))
4649 (inputs
4650 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4651 ("ghc-monad-loops" ,ghc-monad-loops)
4652 ("ghc-utf8-string" ,ghc-utf8-string)
4653 ("ghc-exceptions" ,ghc-exceptions)
4654 ("ghc-yaml" ,ghc-yaml)
4655 ("ghc-unix-compat" ,ghc-unix-compat)
4656 ("ghc-path" ,ghc-path)
4657 ("ghc-path-io" ,ghc-path-io)
4658 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4659 (native-inputs
4660 `(("ghc-hspec" ,ghc-hspec)
4661 ("ghc-diff" ,ghc-diff)
4662 ("emacs" ,emacs-minimal)))
4663 (home-page
4664 "https://github.com/commercialhaskell/hindent")
4665 (synopsis "Extensible Haskell pretty printer")
4666 (description
4667 "This package provides automatic formatting for Haskell files. Both a
4668library and an executable.")
4669 (license license:bsd-3)))
4670
4671(define-public ghc-hinotify
4672 (package
4673 (name "ghc-hinotify")
4674 (version "0.3.10")
4675 (source (origin
4676 (method url-fetch)
4677 (uri (string-append
4678 "https://hackage.haskell.org/package/hinotify/"
4679 "hinotify-" version ".tar.gz"))
4680 (sha256
4681 (base32
4682 "17ax3n68a5c2ddazp86aciliskrh6znd3bnry0wcllmb6dbpsaxg"))))
4683 (build-system haskell-build-system)
4684 (inputs
4685 `(("ghc-async" ,ghc-async)))
4686 (home-page "https://github.com/kolmodin/hinotify.git")
4687 (synopsis "Haskell binding to inotify")
4688 (description "This library provides a wrapper to the Linux kernel's inotify
4689feature, allowing applications to subscribe to notifications when a file is
4690accessed or modified.")
4691 (license license:bsd-3)))
4692
4693(define-public ghc-hmatrix
4694 (package
4695 (name "ghc-hmatrix")
4696 (version "0.19.0.0")
4697 (source
4698 (origin
4699 (method url-fetch)
4700 (uri (string-append
4701 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
4702 version ".tar.gz"))
4703 (sha256
4704 (base32 "10jd69nby29dggghcyjk6ykyr5wrn97nrv1dkpyrp0y5xm12xssj"))))
4705 (build-system haskell-build-system)
4706 (inputs
4707 `(("ghc-random" ,ghc-random)
4708 ("ghc-split" ,ghc-split)
4709 ("ghc-storable-complex" ,ghc-storable-complex)
4710 ("ghc-semigroups" ,ghc-semigroups)
4711 ("ghc-vector" ,ghc-vector)
4712 ;;("openblas" ,openblas)
4713 ("lapack" ,lapack)))
4714 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
4715 ;; disables inclusion of the LAPACK functions.
4716 ;; (arguments `(#:configure-flags '("--flags=openblas")))
4717 (home-page "https://github.com/albertoruiz/hmatrix")
4718 (synopsis "Haskell numeric linear algebra library")
4719 (description "The HMatrix package provices a Haskell library for
4720dealing with linear systems, matrix decompositions, and other
4721numerical computations based on BLAS and LAPACK.")
4722 (license license:bsd-3)))
4723
4724(define-public ghc-hmatrix-gsl
4725 (package
4726 (name "ghc-hmatrix-gsl")
4727 (version "0.19.0.1")
4728 (source
4729 (origin
4730 (method url-fetch)
4731 (uri (string-append
4732 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
4733 version ".tar.gz"))
4734 (sha256
4735 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
4736 (build-system haskell-build-system)
4737 (inputs
4738 `(("ghc-hmatrix" ,ghc-hmatrix)
4739 ("ghc-vector" ,ghc-vector)
4740 ("ghc-random" ,ghc-random)
4741 ("gsl" ,gsl)))
4742 (native-inputs `(("pkg-config" ,pkg-config)))
4743 (home-page "https://github.com/albertoruiz/hmatrix")
4744 (synopsis "Haskell GSL binding")
4745 (description "This Haskell library provides a purely functional
4746interface to selected numerical computations, internally implemented
4747using GSL.")
4748 (license license:gpl3+)))
4749
4750(define-public ghc-hmatrix-gsl-stats
4751 (package
4752 (name "ghc-hmatrix-gsl-stats")
4753 (version "0.4.1.7")
4754 (source
4755 (origin
4756 (method url-fetch)
4757 (uri
4758 (string-append
4759 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4760 version ".tar.gz"))
4761 (sha256
4762 (base32 "1gslgk58lzin43cvbpivhw7nrn9qyaa6qwhy1z9ypvyal5p8n3sa"))))
4763 (build-system haskell-build-system)
4764 (inputs
4765 `(("ghc-vector" ,ghc-vector)
4766 ("ghc-storable-complex" ,ghc-storable-complex)
4767 ("ghc-hmatrix" ,ghc-hmatrix)
4768 ("gsl" ,gsl)))
4769 (native-inputs `(("pkg-config" ,pkg-config)))
4770 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
4771 (synopsis "GSL Statistics interface for Haskell")
4772 (description "This Haskell library provides a purely functional
4773interface for statistics based on hmatrix and GSL.")
4774 (license license:bsd-3)))
4775
4776(define-public ghc-hmatrix-special
4777 (package
4778 (name "ghc-hmatrix-special")
4779 (version "0.19.0.0")
4780 (source
4781 (origin
4782 (method url-fetch)
4783 (uri
4784 (string-append
4785 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
4786 version ".tar.gz"))
4787 (sha256
4788 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
4789 (build-system haskell-build-system)
4790 (inputs
4791 `(("ghc-hmatrix" ,ghc-hmatrix)
4792 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
4793 (home-page "https://github.com/albertoruiz/hmatrix")
4794 (synopsis "Haskell interface to GSL special functions")
4795 (description "This library provides an interface to GSL special
4796functions for Haskell.")
4797 (license license:gpl3+)))
4798
4799(define-public ghc-hostname
4800 (package
4801 (name "ghc-hostname")
4802 (version "1.0")
4803 (source
4804 (origin
4805 (method url-fetch)
4806 (uri (string-append "https://hackage.haskell.org/package/hostname/"
4807 "hostname-" version ".tar.gz"))
4808 (sha256
4809 (base32
4810 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
4811 (build-system haskell-build-system)
4812 (home-page "https://hackage.haskell.org/package/hostname")
4813 (synopsis "Hostname in Haskell")
4814 (description "Network.HostName is a simple package providing a means to
4815determine the hostname.")
4816 (license license:bsd-3)))
4817
4818(define-public ghc-hourglass
4819 (package
4820 (name "ghc-hourglass")
4821 (version "0.2.12")
4822 (source (origin
4823 (method url-fetch)
4824 (uri (string-append "https://hackage.haskell.org/package/"
4825 "hourglass/hourglass-" version ".tar.gz"))
4826 (sha256
4827 (base32
4828 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
4829 (build-system haskell-build-system)
4830 (inputs
4831 `(("ghc-old-locale" ,ghc-old-locale)))
4832 (native-inputs
4833 `(("ghc-tasty" ,ghc-tasty)
4834 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4835 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4836 (home-page "https://github.com/vincenthz/hs-hourglass")
4837 (synopsis "Simple time-related library for Haskell")
4838 (description
4839 "This is a simple time library providing a simple but powerful and
4840performant API. The backbone of the library are the @code{Timeable} and
4841@code{Time} type classes. Each @code{Timeable} instances can be converted to
4842a type that has a @code{Time} instances, and thus are different
4843representations of current time.")
4844 (license license:bsd-3)))
4845
4846(define-public ghc-hpack
4847 (package
4848 (name "ghc-hpack")
4849 (version "0.28.2")
4850 (source
4851 (origin
4852 (method url-fetch)
4853 (uri (string-append "https://hackage.haskell.org/package/hpack/"
4854 "hpack-" version ".tar.gz"))
4855 (sha256
4856 (base32
4857 "18w0h76jdp3mk9vin8da9iz3cwhcxmw787xy8wlh8bxcpcr16q5r"))))
4858 (build-system haskell-build-system)
4859 (inputs
4860 `(("ghc-aeson" ,ghc-aeson)
4861 ("ghc-bifunctors" ,ghc-bifunctors)
4862 ("ghc-cryptonite" ,ghc-cryptonite)
4863 ("ghc-glob" ,ghc-glob)
4864 ("ghc-http-client" ,ghc-http-client)
4865 ("ghc-http-client-tls" ,ghc-http-client-tls)
4866 ("ghc-http-types" ,ghc-http-types)
4867 ("ghc-scientific" ,ghc-scientific)
4868 ("ghc-unordered-containers" ,ghc-unordered-containers)
4869 ("ghc-vector" ,ghc-vector)
4870 ("ghc-yaml" ,ghc-yaml)))
4871 (native-inputs
4872 `(("ghc-hspec" ,ghc-hspec)
4873 ("ghc-hunit" ,ghc-hunit)
4874 ("ghc-interpolate" ,ghc-interpolate)
4875 ("ghc-mockery" ,ghc-mockery)
4876 ("ghc-quickcheck" ,ghc-quickcheck)
4877 ("ghc-temporary" ,ghc-temporary)
4878 ("hspec-discover" ,hspec-discover)))
4879 (home-page "https://github.com/sol/hpack")
4880 (synopsis "Tools for an alternative Haskell package format")
4881 (description
4882 "Hpack is a format for Haskell packages. It is an alternative to the
4883Cabal package format and follows different design principles. Hpack packages
4884are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
4885@code{stack} support @code{package.yaml} natively. For other build tools the
4886@code{hpack} executable can be used to generate a @code{.cabal} file from
4887@code{package.yaml}.")
4888 (license license:expat)))
4889
4890(define-public ghc-hs-bibutils
4891 (package
4892 (name "ghc-hs-bibutils")
4893 (version "6.6.0.0")
4894 (source
4895 (origin
4896 (method url-fetch)
4897 (uri (string-append
4898 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
4899 version ".tar.gz"))
4900 (sha256
4901 (base32
4902 "0n2sz2zl4naspryd49ii858qkjp2lapns5a2gr8zm6vvn5sh1f0l"))))
4903 (build-system haskell-build-system)
4904 (inputs `(("ghc-syb" ,ghc-syb)))
4905 (home-page "https://hackage.haskell.org/package/hs-bibutils")
4906 (synopsis "Haskell bindings to bibutils")
4907 (description
4908 "This package provides Haskell bindings to @code{bibutils}, a library
4909that interconverts between various bibliography formats using a common
4910MODS-format XML intermediate.")
4911 (license license:gpl2+)))
4912
4913(define-public ghc-hslogger
4914 (package
4915 (name "ghc-hslogger")
4916 (version "1.2.10")
4917 (source
4918 (origin
4919 (method url-fetch)
4920 (uri (string-append "https://hackage.haskell.org/package/"
4921 "hslogger-" version "/" "hslogger-"
4922 version ".tar.gz"))
4923 (sha256 (base32
4924 "0as5gvlh6pi2gflakp695qnlizyyp059dqrhvjl4gjxalja6xjnp"))))
4925 (build-system haskell-build-system)
4926 (inputs
4927 `(("ghc-network" ,ghc-network)
4928 ("ghc-old-locale" ,ghc-old-locale)))
4929 (native-inputs
4930 `(("ghc-hunit" ,ghc-hunit)))
4931 (home-page "https://software.complete.org/hslogger")
4932 (synopsis "Logging framework for Haskell, similar to Python's logging module")
4933 (description "Hslogger lets each log message have a priority and source be
4934associated with it. The programmer can then define global handlers that route
4935or filter messages based on the priority and source. It also has a syslog
4936handler built in.")
4937 (license license:bsd-3)))
4938
4939(define-public ghc-hslua
4940 (package
4941 (name "ghc-hslua")
4942 (version "0.9.5.2")
4943 (source (origin
4944 (method url-fetch)
4945 (uri (string-append "https://hackage.haskell.org/package/"
4946 "hslua/hslua-" version ".tar.gz"))
4947 (sha256
4948 (base32
4949 "1rdvv01p214zfjh6fcqjjgqwi8y42wad6cqzhlcv5gvclzw2ck8f"))))
4950 (build-system haskell-build-system)
4951 (arguments
4952 `(#:configure-flags '("-fsystem-lua")))
4953 (inputs
4954 `(("lua" ,lua)
4955 ("ghc-exceptions" ,ghc-exceptions)
4956 ("ghc-fail" ,ghc-fail)))
4957 (native-inputs
4958 `(("ghc-tasty" ,ghc-tasty)
4959 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
4960 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4961 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4962 ("ghc-quickcheck" ,ghc-quickcheck)
4963 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
4964 (home-page "https://hackage.haskell.org/package/hslua")
4965 (synopsis "Lua language interpreter embedding in Haskell")
4966 (description
4967 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
4968described in @url{https://www.lua.org/}.")
4969 (license license:expat)))
4970
4971(define-public ghc-hslua-module-text
4972 (package
4973 (name "ghc-hslua-module-text")
4974 (version "0.1.2.1")
4975 (source
4976 (origin
4977 (method url-fetch)
4978 (uri (string-append "https://hackage.haskell.org/package/"
4979 "hslua-module-text/hslua-module-text-"
4980 version ".tar.gz"))
4981 (sha256
4982 (base32
4983 "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf"))))
4984 (build-system haskell-build-system)
4985 (arguments
4986 `(#:cabal-revision
4987 ("1" "0vajlsd7y6pwa08635q0cx8z5c1c55bk7fvavw7g2vmyvxqjzx6n")))
4988 (inputs
4989 `(("ghc-hslua" ,ghc-hslua)))
4990 (native-inputs
4991 `(("ghc-tasty" ,ghc-tasty)
4992 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4993 (home-page "https://github.com/hslua/hslua-module-text")
4994 (synopsis "Lua module for text")
4995 (description
4996 "This package provides a UTF-8 aware subset of Lua's @code{string} module
4997for Haskell. The functions provided by this module are @code{upper},
4998@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
4999 (license license:expat)))
5000
5001(define-public ghc-http-api-data
5002 (package
5003 (name "ghc-http-api-data")
5004 (version "0.3.8.1")
5005 (source
5006 (origin
5007 (method url-fetch)
5008 (uri (string-append "https://hackage.haskell.org/package/"
5009 "http-api-data-" version "/"
5010 "http-api-data-" version ".tar.gz"))
5011 (sha256
5012 (base32
5013 "1cq6459b8wz6nvkvpi89dg189n5q2xdq4rdq435hf150555vmskf"))))
5014 (build-system haskell-build-system)
5015 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9
5016 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5017 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
5018 ("ghc-hashable" ,ghc-hashable)
5019 ("ghc-http-types" ,ghc-http-types)
5020 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
5021 ("ghc-unordered-containers" ,ghc-unordered-containers)
5022 ("ghc-uri-bytestring" ,ghc-uri-bytestring)
5023 ("ghc-uuid-types" ,ghc-uuid-types)))
5024 (home-page "https://github.com/fizruk/http-api-data")
5025 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5026query parameters")
5027 (description "This Haskell package defines typeclasses used for converting
5028Haskell data types to and from HTTP API data.")
5029 (license license:bsd-3)))
5030
5031(define-public ghc-ieee754
5032 (package
5033 (name "ghc-ieee754")
5034 (version "0.8.0")
5035 (source (origin
5036 (method url-fetch)
5037 (uri (string-append
5038 "https://hackage.haskell.org/package/ieee754/"
5039 "ieee754-" version ".tar.gz"))
5040 (sha256
5041 (base32
5042 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5043 (build-system haskell-build-system)
5044 (home-page "https://github.com/patperry/hs-ieee754")
5045 (synopsis "Utilities for dealing with IEEE floating point numbers")
5046 (description "Utilities for dealing with IEEE floating point numbers,
5047ported from the Tango math library; approximate and exact equality comparisons
5048for general types.")
5049 (license license:bsd-3)))
5050
5051(define-public ghc-ifelse
5052 (package
5053 (name "ghc-ifelse")
5054 (version "0.85")
5055 (source
5056 (origin
5057 (method url-fetch)
5058 (uri (string-append "https://hackage.haskell.org/package/"
5059 "IfElse/IfElse-" version ".tar.gz"))
5060 (sha256
5061 (base32
5062 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5063 (build-system haskell-build-system)
5064 (home-page "http://hackage.haskell.org/package/IfElse")
5065 (synopsis "Monadic control flow with anaphoric variants")
5066 (description "This library provides functions for control flow inside of
5067monads with anaphoric variants on @code{if} and @code{when} and a C-like
5068@code{switch} function.")
5069 (license license:bsd-3)))
5070
5071(define-public ghc-indents
5072 (package
5073 (name "ghc-indents")
5074 (version "0.5.0.0")
5075 (source (origin
5076 (method url-fetch)
5077 (uri (string-append
5078 "https://hackage.haskell.org/package/indents/indents-"
5079 version ".tar.gz"))
5080 (sha256
5081 (base32
5082 "1ly3v41jacc6lrsvg4j3m5a6zs90gr8dyif5m6bf34hj1k5cgg0n"))))
5083 (build-system haskell-build-system)
5084 ;; This package needs an older version of tasty.
5085 (arguments '(#:tests? #f))
5086 (inputs
5087 `(("ghc-concatenative" ,ghc-concatenative)))
5088 (native-inputs
5089 `(("ghc-tasty" ,ghc-tasty)
5090 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5091 (home-page "http://patch-tag.com/r/salazar/indents")
5092 (synopsis "Indentation sensitive parser-combinators for parsec")
5093 (description
5094 "This library provides functions for use in parsing indentation sensitive
5095contexts. It parses blocks of lines all indented to the same level as well as
5096lines continued at an indented level below.")
5097 (license license:bsd-3)))
5098
5099(define-public ghc-inline-c
5100 (package
5101 (name "ghc-inline-c")
5102 (version "0.6.1.0")
5103 (source
5104 (origin
5105 (method url-fetch)
5106 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5107 "inline-c-" version ".tar.gz"))
5108 (sha256
5109 (base32
5110 "0vbfrsqsi7mdziqsnj68bsqlwbqxxhvrmy9rv6w8z18d1m8w3n6h"))))
5111 (build-system haskell-build-system)
5112 (inputs
5113 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5114 ("ghc-cryptohash" ,ghc-cryptohash)
5115 ("ghc-hashable" ,ghc-hashable)
5116 ("ghc-parsers" ,ghc-parsers)
5117 ("ghc-unordered-containers" ,ghc-unordered-containers)
5118 ("ghc-vector" ,ghc-vector)))
5119 (native-inputs
5120 `(("ghc-quickcheck" ,ghc-quickcheck)
5121 ("ghc-hspec" ,ghc-hspec)
5122 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5123 ("ghc-regex-posix" ,ghc-regex-posix)))
5124 (home-page "http://hackage.haskell.org/package/inline-c")
5125 (synopsis "Write Haskell source files including C code inline")
5126 (description
5127 "inline-c lets you seamlessly call C libraries and embed high-performance
5128inline C code in Haskell modules. Haskell and C can be freely intermixed in
5129the same source file, and data passed to and from code in either language with
5130minimal overhead. No FFI required.")
5131 (license license:expat)))
5132
5133(define-public ghc-inline-c-cpp
5134 (package
5135 (name "ghc-inline-c-cpp")
5136 (version "0.2.2.1")
5137 (source
5138 (origin
5139 (method url-fetch)
5140 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5141 "inline-c-cpp-" version ".tar.gz"))
5142 (sha256
5143 (base32
5144 "1rk7fmpkmxw9hhwr8df29kadnf0ybnwj64ggdbnsdrpfyhnkisci"))))
5145 (build-system haskell-build-system)
5146 (inputs
5147 `(("ghc-inline-c" ,ghc-inline-c)
5148 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5149 (native-inputs
5150 `(("ghc-hspec" ,ghc-hspec)))
5151 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5152 (synopsis "Lets you embed C++ code into Haskell")
5153 (description
5154 "This package provides utilities to inline C++ code into Haskell using
5155@code{inline-c}.")
5156 (license license:expat)))
5157
5158(define-public ghc-integer-logarithms
5159 (package
5160 (name "ghc-integer-logarithms")
5161 (version "1.0.2.1")
5162 (source
5163 (origin
5164 (method url-fetch)
5165 (uri (string-append "https://hackage.haskell.org/package/"
5166 "integer-logarithms/integer-logarithms-"
5167 version ".tar.gz"))
5168 (sha256
5169 (base32
5170 "1wj8kgjg5bn2yrs4zh9qfjv85cx6w998j9pi39yrbv305944mb9j"))))
5171 (build-system haskell-build-system)
5172 (arguments
5173 `(#:phases
5174 (modify-phases %standard-phases
5175 (add-before 'configure 'update-constraints
5176 (lambda _
5177 (substitute* "integer-logarithms.cabal"
5178 (("tasty >= 0\\.10 && < 1\\.1")
5179 "tasty >= 0.10 && < 1.2")))))))
5180 (native-inputs
5181 `(("ghc-quickcheck" ,ghc-quickcheck)
5182 ("ghc-smallcheck" ,ghc-smallcheck)
5183 ("ghc-tasty" ,ghc-tasty)
5184 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5185 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5186 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5187 (home-page "https://github.com/Bodigrim/integer-logarithms")
5188 (synopsis "Integer logarithms")
5189 (description
5190 "This package provides the following modules:
5191@code{Math.NumberTheory.Logarithms} and
5192@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5193@code{GHC.Integer.Logarithms.Compat} and
5194@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5195in migrated modules.")
5196 (license license:expat)))
5197
5198(define-public ghc-integer-logarithms-bootstrap
5199 (package
5200 (inherit ghc-integer-logarithms)
5201 (name "ghc-integer-logarithms-bootstrap")
5202 (arguments `(#:tests? #f))
5203 (native-inputs '())
799d8d3c 5204 (properties '((hidden? #t)))))
dddbc90c
RV
5205
5206(define-public ghc-interpolate
5207 (package
5208 (name "ghc-interpolate")
5209 (version "0.2.0")
5210 (source
5211 (origin
5212 (method url-fetch)
5213 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5214 "interpolate-" version ".tar.gz"))
5215 (sha256
5216 (base32
5217 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5218 (build-system haskell-build-system)
5219 (inputs
5220 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5221 (native-inputs
5222 `(("ghc-base-compat" ,ghc-base-compat)
5223 ("ghc-hspec" ,ghc-hspec)
5224 ("ghc-quickcheck" ,ghc-quickcheck)
5225 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5226 ("hspec-discover" ,hspec-discover)))
5227 (home-page "https://github.com/sol/interpolate")
5228 (synopsis "String interpolation library")
5229 (description "This package provides a string interpolation library for
5230Haskell.")
5231 (license license:expat)))
5232
5233(define-public ghc-intervalmap
5234 (package
5235 (name "ghc-intervalmap")
5236 (version "0.6.0.0")
5237 (source
5238 (origin
5239 (method url-fetch)
5240 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5241 "IntervalMap-" version ".tar.gz"))
5242 (sha256
5243 (base32
5244 "06hin9wf1by8aqa7820fsi2339bh82184frkwz3jsb9sqa0hszcg"))))
5245 (build-system haskell-build-system)
5246 (native-inputs
5247 `(("ghc-quickcheck" ,ghc-quickcheck)))
5248 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5249 (synopsis "Containers for intervals, with efficient search")
5250 (description
5251 "This package provides ordered containers of intervals, with efficient
5252search for all keys containing a point or overlapping an interval. See the
5253example code on the home page for a quick introduction.")
5254 (license license:bsd-3)))
5255
5256(define-public ghc-invariant
5257 (package
5258 (name "ghc-invariant")
5259 (version "0.5.1")
5260 (source
5261 (origin
5262 (method url-fetch)
5263 (uri (string-append
5264 "https://hackage.haskell.org/package/invariant/invariant-"
5265 version ".tar.gz"))
5266 (sha256
5267 (base32
5268 "0aqj7z55632qdg45074kgn9qfdxzb0a2f8lgjzr0l0i4mm2rr37b"))))
5269 (build-system haskell-build-system)
5270 (inputs
5271 `(("ghc-bifunctors" ,ghc-bifunctors)
5272 ("ghc-comonad" ,ghc-comonad)
5273 ("ghc-contravariant" ,ghc-contravariant)
5274 ("ghc-profunctors" ,ghc-profunctors)
5275 ("ghc-semigroups" ,ghc-semigroups)
5276 ("ghc-statevar" ,ghc-statevar)
5277 ("ghc-tagged" ,ghc-tagged)
5278 ("ghc-th-abstraction" ,ghc-th-abstraction)
5279 ("ghc-transformers-compat" ,ghc-transformers-compat)
5280 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5281 (native-inputs
5282 `(("ghc-hspec" ,ghc-hspec)
5283 ("ghc-quickcheck" ,ghc-quickcheck)
5284 ("hspec-discover" ,hspec-discover)))
5285 (home-page "https://github.com/nfrisby/invariant-functors")
5286 (synopsis "Haskell98 invariant functors")
5287 (description "Haskell98 invariant functors (also known as exponential
5288functors). For more information, see Edward Kmett's article
5289@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5290 (license license:bsd-2)))
5291
5292(define-public ghc-io-streams
5293 (package
5294 (name "ghc-io-streams")
5295 (version "1.5.0.1")
5296 (source
5297 (origin
5298 (method url-fetch)
5299 (uri (string-append "https://hackage.haskell.org/package/"
5300 "io-streams/io-streams-" version ".tar.gz"))
5301 (sha256
5302 (base32
5303 "12rcdg2d70644bvn838fxcjkssqj8pssnx5y657si5rijcbkgjsx"))))
5304 (build-system haskell-build-system)
5305 (inputs
5306 `(("ghc-attoparsec" ,ghc-attoparsec)
5307 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5308 ("ghc-network" ,ghc-network)
5309 ("ghc-primitive" ,ghc-primitive)
5310 ("ghc-vector" ,ghc-vector)
5311 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5312 (native-inputs
5313 `(("ghc-hunit" ,ghc-hunit)
5314 ("ghc-quickcheck" ,ghc-quickcheck)
5315 ("ghc-test-framework" ,ghc-test-framework)
5316 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5317 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5318 ("ghc-zlib" ,ghc-zlib)))
5319 (arguments
5320 `(#:cabal-revision
5321 ("2" "1mcab95d6hm098myh9gp7sh10srigjphgvm8s9pfs7jg5hzghy14")))
5322 (home-page "http://hackage.haskell.org/package/io-streams")
5323 (synopsis "Simple and composable stream I/O")
5324 (description "This library contains simple and easy-to-use
5325primitives for I/O using streams.")
5326 (license license:bsd-3)))
5327
5328(define-public ghc-io-streams-haproxy
5329 (package
5330 (name "ghc-io-streams-haproxy")
5331 (version "1.0.0.2")
5332 (source
5333 (origin
5334 (method url-fetch)
5335 (uri (string-append "https://hackage.haskell.org/package/"
5336 "io-streams-haproxy/io-streams-haproxy-"
5337 version ".tar.gz"))
5338 (sha256
5339 (base32
5340 "11nh9q158mgnvvb23s5ffg87lkhl5smk039yl43jghxmb214z0bp"))))
5341 (build-system haskell-build-system)
5342 (inputs
5343 `(("ghc-attoparsec" ,ghc-attoparsec)
5344 ("ghc-io-streams" ,ghc-io-streams)
5345 ("ghc-network" ,ghc-network)))
5346 (native-inputs
5347 `(("ghc-hunit" ,ghc-hunit)
5348 ("ghc-test-framework" ,ghc-test-framework)
5349 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5350 (arguments
5351 `(#:cabal-revision
5352 ("4" "06c51a057n5bc9xfbp2m4jz5ds4z1xvmsx5mppch6qfwbz7x5i9l")))
5353 (home-page "http://snapframework.com/")
5354 (synopsis "HAProxy protocol 1.5 support for io-streams")
5355 (description "HAProxy protocol version 1.5 support
5356(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5357for applications using io-streams. The proxy protocol allows information
5358about a networked peer (like remote address and port) to be propagated
5359through a forwarding proxy that is configured to speak this protocol.")
5360 (license license:bsd-3)))
5361
5362(define-public ghc-iproute
5363 (package
5364 (name "ghc-iproute")
5365 (version "1.7.5")
5366 (source
5367 (origin
5368 (method url-fetch)
5369 (uri (string-append
5370 "https://hackage.haskell.org/package/iproute/iproute-"
5371 version
5372 ".tar.gz"))
5373 (sha256
5374 (base32
5375 "1vw1nm3s8vz1hqnjnqd3wh5rr4q3m2r4izn5ynhf93h9185qwqzd"))))
5376 (build-system haskell-build-system)
5377 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5378 ; exported by ghc-byteorder. Doctest issue.
5379 (inputs
5380 `(("ghc-appar" ,ghc-appar)
5381 ("ghc-byteorder" ,ghc-byteorder)
5382 ("ghc-network" ,ghc-network)
5383 ("ghc-safe" ,ghc-safe)))
5384 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5385 (synopsis "IP routing table")
5386 (description "IP Routing Table is a tree of IP ranges to search one of
5387them on the longest match base. It is a kind of TRIE with one way branching
5388removed. Both IPv4 and IPv6 are supported.")
5389 (license license:bsd-3)))
5390
5391(define-public ghc-iwlib
5392 (package
5393 (name "ghc-iwlib")
5394 (version "0.1.0")
5395 (source
5396 (origin
5397 (method url-fetch)
5398 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5399 version ".tar.gz"))
5400 (sha256
5401 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5402 (build-system haskell-build-system)
5403 (inputs
5404 `(("wireless-tools" ,wireless-tools)))
5405 (home-page "https://github.com/jaor/iwlib")
5406 (synopsis "Haskell binding to the iw wireless networking library")
5407 (description
5408 "IWlib is a thin Haskell binding to the iw C library. It provides
5409information about the current wireless network connections, and adapters on
5410supported systems.")
5411 (license license:bsd-3)))
5412
5413(define-public ghc-json
5414 (package
5415 (name "ghc-json")
5416 (version "0.9.2")
5417 (source
5418 (origin
5419 (method url-fetch)
5420 (uri (string-append "https://hackage.haskell.org/package/json/"
5421 "json-" version ".tar.gz"))
5422 (sha256
5423 (base32
5424 "13kkfgx58z18jphbg56jn08jn72wi3kvfndlwwx87hqwg7x1dfz6"))))
5425 (build-system haskell-build-system)
5426 (inputs
5427 `(("ghc-syb" ,ghc-syb)))
5428 (home-page "https://hackage.haskell.org/package/json")
5429 (synopsis "Serializes Haskell data to and from JSON")
5430 (description "This package provides a parser and pretty printer for
5431converting between Haskell values and JSON.
5432JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5433 (license license:bsd-3)))
5434
5435(define-public ghc-juicypixels
5436 (package
5437 (name "ghc-juicypixels")
5438 (version "3.2.9.5")
5439 (source (origin
5440 (method url-fetch)
5441 (uri (string-append "https://hackage.haskell.org/package/"
5442 "JuicyPixels/JuicyPixels-"
5443 version ".tar.gz"))
5444 (sha256
5445 (base32
5446 "0mf3ihr0xy2wc2wzb9a17g0n3p60x7pvm8akwpvhdy8klvs6r744"))))
5447 (build-system haskell-build-system)
5448 (inputs
5449 `(("ghc-zlib" ,ghc-zlib)
5450 ("ghc-vector" ,ghc-vector)
5451 ("ghc-primitive" ,ghc-primitive)
5452 ("ghc-mmap" ,ghc-mmap)))
5453 (home-page "https://github.com/Twinside/Juicy.Pixels")
5454 (synopsis "Picture loading and serialization library")
5455 (description
5456 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5457TIFF and GIF formats.")
5458 (license license:bsd-3)))
5459
5460(define-public ghc-kan-extensions
5461 (package
5462 (name "ghc-kan-extensions")
5463 (version "5.2")
5464 (source
5465 (origin
5466 (method url-fetch)
5467 (uri (string-append
5468 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5469 version
5470 ".tar.gz"))
5471 (sha256
5472 (base32
5473 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5474 (build-system haskell-build-system)
5475 (inputs
5476 `(("ghc-adjunctions" ,ghc-adjunctions)
5477 ("ghc-comonad" ,ghc-comonad)
5478 ("ghc-contravariant" ,ghc-contravariant)
5479 ("ghc-distributive" ,ghc-distributive)
5480 ("ghc-free" ,ghc-free)
5481 ("ghc-invariant" ,ghc-invariant)
5482 ("ghc-semigroupoids" ,ghc-semigroupoids)
5483 ("ghc-tagged" ,ghc-tagged)
5484 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5485 (home-page "https://github.com/ekmett/kan-extensions/")
5486 (synopsis "Kan extensions library")
5487 (description "This library provides Kan extensions, Kan lifts, various
5488forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5489 (license license:bsd-3)))
5490
5491(define-public ghc-language-c
5492 (package
5493 (name "ghc-language-c")
5494 (version "0.8.1")
5495 (source
5496 (origin
5497 (method url-fetch)
5498 (uri (string-append "https://hackage.haskell.org/package/"
5499 "language-c/language-c-" version ".tar.gz"))
5500 (sha256
5501 (base32
5502 "0sdkjj0hq8p69fcdm6ljbjkjvrsrb8a6rl5dq6dj6byj32ajrm3d"))))
5503 (build-system haskell-build-system)
5504 (inputs `(("ghc-syb" ,ghc-syb)))
5505 (native-inputs
5506 `(("ghc-happy" ,ghc-happy)
5507 ("ghc-alex" ,ghc-alex)))
5508 (home-page "https://visq.github.io/language-c/")
5509 (synopsis "Analysis and generation of C code")
5510 (description
5511 "Language C is a Haskell library for the analysis and generation of C code.
5512It features a complete, well-tested parser and pretty printer for all of C99
5513and a large set of GNU extensions.")
5514 (license license:bsd-3)))
5515
5516(define-public ghc-language-glsl
5517 (package
5518 (name "ghc-language-glsl")
5519 (version "0.3.0")
5520 (source
5521 (origin
5522 (method url-fetch)
5523 (uri (string-append "https://hackage.haskell.org/package/"
5524 "language-glsl/language-glsl-" version ".tar.gz"))
5525 (sha256
5526 (base32
5527 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
5528 (build-system haskell-build-system)
5529 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
5530 (arguments
5531 `(#:tests? #f
5532 #:cabal-revision
5533 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
5534 (home-page "http://hackage.haskell.org/package/language-glsl")
5535 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
5536 (description "This package is a Haskell library for the
5537representation, parsing, and pretty-printing of GLSL 1.50 code.")
5538 (license license:bsd-3)))
5539
5540(define-public ghc-language-haskell-extract
5541 (package
5542 (name "ghc-language-haskell-extract")
5543 (version "0.2.4")
5544 (source
5545 (origin
5546 (method url-fetch)
5547 (uri (string-append "https://hackage.haskell.org/package/"
5548 "language-haskell-extract-" version "/"
5549 "language-haskell-extract-" version ".tar.gz"))
5550 (sha256
5551 (base32
5552 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
5553 (build-system haskell-build-system)
5554 (inputs
5555 `(("ghc-regex-posix" ,ghc-regex-posix)))
5556 (home-page "https://github.com/finnsson/template-helper")
5557 (synopsis "Haskell module to automatically extract functions from
5558the local code")
5559 (description "This package contains helper functions on top of
5560Template Haskell.
5561
5562For example, @code{functionExtractor} extracts all functions after a
5563regexp-pattern, which can be useful if you wish to extract all functions
5564beginning with @code{test} (for a test framework) or all functions beginning
5565with @code{wc} (for a web service).")
5566 (license license:bsd-3)))
5567
5568(define-public ghc-lens
5569 (package
5570 (name "ghc-lens")
5571 (version "4.16.1")
5572 (source
5573 (origin
5574 (method url-fetch)
5575 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5576 version ".tar.gz"))
5577 (sha256
5578 (base32
5579 "1im4drhbydbawd6i0jsrzpqihnmx4ywpkg7yg94ddwsw3mxwkgpm"))))
5580 (build-system haskell-build-system)
5581 (arguments
5582 `(#:cabal-revision
5583 ("2" "11h83lj5mba4grhz1qx3irz10ysm9c3k7k6i6xv2cr60q8xin3ri")))
5584 (inputs
5585 `(("ghc-base-orphans" ,ghc-base-orphans)
5586 ("ghc-bifunctors" ,ghc-bifunctors)
5587 ("ghc-distributive" ,ghc-distributive)
5588 ("ghc-exceptions" ,ghc-exceptions)
5589 ("ghc-free" ,ghc-free)
5590 ("ghc-kan-extensions" ,ghc-kan-extensions)
5591 ("ghc-parallel" ,ghc-parallel)
5592 ("ghc-reflection" ,ghc-reflection)
5593 ("ghc-semigroupoids" ,ghc-semigroupoids)
5594 ("ghc-vector" ,ghc-vector)
5595 ("ghc-call-stack" ,ghc-call-stack)
5596 ("ghc-comonad" ,ghc-comonad)
5597 ("ghc-contravariant" ,ghc-contravariant)
5598 ("ghc-hashable" ,ghc-hashable)
5599 ("ghc-profunctors" ,ghc-profunctors)
5600 ("ghc-semigroups" ,ghc-semigroups)
5601 ("ghc-tagged" ,ghc-tagged)
5602 ("ghc-transformers-compat" ,ghc-transformers-compat)
5603 ("ghc-unordered-containers" ,ghc-unordered-containers)
5604 ("ghc-void" ,ghc-void)
5605 ("ghc-generic-deriving" ,ghc-generic-deriving)
5606 ("ghc-nats" ,ghc-nats)
5607 ("ghc-simple-reflect" ,ghc-simple-reflect)
5608 ("hlint" ,hlint)))
5609 (native-inputs
5610 `(("cabal-doctest" ,cabal-doctest)
5611 ("ghc-doctest" ,ghc-doctest)
5612 ("ghc-hunit" ,ghc-hunit)
5613 ("ghc-test-framework" ,ghc-test-framework)
5614 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5615 ("ghc-test-framework-th" ,ghc-test-framework-th)
5616 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5617 ("ghc-quickcheck" ,ghc-quickcheck)))
5618 (home-page "https://github.com/ekmett/lens/")
5619 (synopsis "Lenses, Folds and Traversals")
5620 (description "This library provides @code{Control.Lens}. The combinators
5621in @code{Control.Lens} provide a highly generic toolbox for composing families
5622of getters, folds, isomorphisms, traversals, setters and lenses and their
5623indexed variants.")
5624 (license license:bsd-3)))
5625
5626(define-public ghc-libffi
5627 (package
5628 (name "ghc-libffi")
5629 (version "0.1")
5630 (source
5631 (origin
5632 (method url-fetch)
5633 (uri (string-append "https://hackage.haskell.org/package/"
5634 "libffi/libffi-" version ".tar.gz"))
5635 (sha256
5636 (base32
5637 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
5638 (build-system haskell-build-system)
5639 (native-inputs `(("pkg-config" ,pkg-config)))
5640 (inputs `(("libffi" ,libffi)))
5641 (home-page "http://hackage.haskell.org/package/libffi")
5642 (synopsis "Haskell binding to libffi")
5643 (description
5644 "A binding to libffi, allowing C functions of types only known at runtime
5645to be called from Haskell.")
5646 (license license:bsd-3)))
5647
5648(define-public ghc-libmpd
5649 (package
5650 (name "ghc-libmpd")
5651 (version "0.9.0.9")
5652 (source
5653 (origin
5654 (method url-fetch)
5655 (uri (string-append
5656 "mirror://hackage/package/libmpd/libmpd-"
5657 version
5658 ".tar.gz"))
5659 (sha256
5660 (base32
5661 "1931m23iqb4wddpdidm4ph746zpaw41kkjzmb074j7yyfpk7x1jv"))))
5662 (build-system haskell-build-system)
5663 ;; Tests fail on i686.
5664 ;; See https://github.com/vimus/libmpd-haskell/issues/112
5665 (arguments `(#:tests? #f))
5666 (inputs
5667 `(("ghc-attoparsec" ,ghc-attoparsec)
5668 ("ghc-old-locale" ,ghc-old-locale)
5669 ("ghc-data-default-class" ,ghc-data-default-class)
5670 ("ghc-network" ,ghc-network)
5671 ("ghc-utf8-string" ,ghc-utf8-string)))
5672 (native-inputs
5673 `(("ghc-quickcheck" ,ghc-quickcheck)
5674 ("ghc-hspec" ,ghc-hspec)
5675 ("hspec-discover" ,hspec-discover)))
5676 (home-page "https://github.com/vimus/libmpd-haskell")
5677 (synopsis "Haskell client library for the Music Player Daemon")
5678 (description "This package provides a pure Haskell client library for the
5679Music Player Daemon.")
5680 (license license:expat)))
5681
5682(define-public ghc-libxml
5683 (package
5684 (name "ghc-libxml")
5685 (version "0.1.1")
5686 (source
5687 (origin
5688 (method url-fetch)
5689 (uri (string-append "https://hackage.haskell.org/package/libxml/"
5690 "libxml-" version ".tar.gz"))
5691 (sha256
5692 (base32
5693 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
5694 (build-system haskell-build-system)
5695 (inputs
5696 `(("libxml2" ,libxml2)))
5697 (arguments
5698 `(#:configure-flags
5699 `(,(string-append "--extra-include-dirs="
5700 (assoc-ref %build-inputs "libxml2")
5701 "/include/libxml2"))))
5702 (home-page "https://hackage.haskell.org/package/libxml")
5703 (synopsis "Haskell bindings to libxml2")
5704 (description
5705 "This library provides minimal Haskell binding to libxml2.")
5706 (license license:bsd-3)))
5707
5708(define-public ghc-lifted-async
5709 (package
5710 (name "ghc-lifted-async")
5711 (version "0.10.0.2")
5712 (source
5713 (origin
5714 (method url-fetch)
5715 (uri (string-append
5716 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
5717 version ".tar.gz"))
5718 (sha256
5719 (base32
5720 "1073r512c1x2m1v0jar9bwqg656slg7jd1jhsyj6m8awgx1l1mwf"))))
5721 (build-system haskell-build-system)
5722 (inputs
5723 `(("ghc-async" ,ghc-async)
5724 ("ghc-lifted-base" ,ghc-lifted-base)
5725 ("ghc-transformers-base" ,ghc-transformers-base)
5726 ("ghc-monad-control" ,ghc-monad-control)
5727 ("ghc-constraints" ,ghc-constraints)
5728 ("ghc-hunit" ,ghc-hunit)
5729 ("ghc-tasty" ,ghc-tasty)
5730 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5731 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5732 ("ghc-tasty-th" ,ghc-tasty-th)))
5733 (home-page "https://github.com/maoe/lifted-async")
5734 (synopsis "Run lifted IO operations asynchronously and wait for their results")
5735 (description
5736 "This package provides IO operations from @code{async} package lifted to any
5737instance of @code{MonadBase} or @code{MonadBaseControl}.")
5738 (license license:bsd-3)))
5739
5740(define-public ghc-lifted-base
5741 (package
5742 (name "ghc-lifted-base")
5743 (version "0.2.3.12")
5744 (source
5745 (origin
5746 (method url-fetch)
5747 (uri (string-append
5748 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
5749 version
5750 ".tar.gz"))
5751 (sha256
5752 (base32
5753 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
5754 (build-system haskell-build-system)
5755 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
5756 (inputs
5757 `(("ghc-transformers-base" ,ghc-transformers-base)
5758 ("ghc-monad-control" ,ghc-monad-control)
5759 ("ghc-transformers-compat" ,ghc-transformers-compat)
5760 ("ghc-hunit" ,ghc-hunit)))
5761 (home-page "https://github.com/basvandijk/lifted-base")
5762 (synopsis "Lifted IO operations from the base library")
5763 (description "Lifted-base exports IO operations from the @code{base}
5764library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5765Note that not all modules from @code{base} are converted yet. The package
5766includes a copy of the @code{monad-peel} test suite written by Anders
5767Kaseorg.")
5768 (license license:bsd-3)))
5769
5770(define-public ghc-linear
5771 (package
5772 (name "ghc-linear")
5773 (version "1.20.8")
5774 (source
5775 (origin
5776 (method url-fetch)
5777 (uri (string-append "https://hackage.haskell.org/package/linear/"
5778 "linear-" version ".tar.gz"))
5779 (sha256
5780 (base32
5781 "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"))))
5782 (build-system haskell-build-system)
5783 (inputs
5784 `(("ghc-adjunctions" ,ghc-adjunctions)
5785 ("ghc-base-orphans" ,ghc-base-orphans)
5786 ("ghc-bytes" ,ghc-bytes)
5787 ("ghc-cereal" ,ghc-cereal)
5788 ("ghc-distributive" ,ghc-distributive)
5789 ("ghc-hashable" ,ghc-hashable)
5790 ("ghc-lens" ,ghc-lens)
5791 ("ghc-reflection" ,ghc-reflection)
5792 ("ghc-semigroups" ,ghc-semigroups)
5793 ("ghc-semigroupoids" ,ghc-semigroupoids)
5794 ("ghc-tagged" ,ghc-tagged)
5795 ("ghc-transformers-compat" ,ghc-transformers-compat)
5796 ("ghc-unordered-containers" ,ghc-unordered-containers)
5797 ("ghc-vector" ,ghc-vector)
5798 ("ghc-void" ,ghc-void)))
5799 (native-inputs
5800 `(("cabal-doctest" ,cabal-doctest)
5801 ("ghc-doctest" ,ghc-doctest)
5802 ("ghc-simple-reflect" ,ghc-simple-reflect)
5803 ("ghc-test-framework" ,ghc-test-framework)
5804 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5805 ("ghc-hunit" ,ghc-hunit)))
5806 (home-page "http://github.com/ekmett/linear/")
5807 (synopsis "Linear algebra library for Haskell")
5808 (description
5809 "This package provides types and combinators for linear algebra on free
5810vector spaces.")
5811 (license license:bsd-3)))
1307e4c7
JS
5812
5813(define-public ghc-listlike
5814 (package
5815 (name "ghc-listlike")
5816 (version "4.6.2")
5817 (source
5818 (origin
5819 (method url-fetch)
5820 (uri
5821 (string-append
5822 "https://hackage.haskell.org/package/ListLike/ListLike-"
5823 version ".tar.gz"))
5824 (sha256
5825 (base32
5826 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
5827 (build-system haskell-build-system)
5828 (inputs
5829 `(("ghc-vector" ,ghc-vector)
5830 ("ghc-dlist" ,ghc-dlist)
5831 ("ghc-fmlist" ,ghc-fmlist)
5832 ("ghc-hunit" ,ghc-hunit)
5833 ("ghc-quickcheck" ,ghc-quickcheck)
5834 ("ghc-random" ,ghc-random)
5835 ("ghc-utf8-string" ,ghc-utf8-string)))
5836 (home-page "https://github.com/JohnLato/listlike")
5837 (synopsis "Generic support for list-like structures")
5838 (description "The ListLike module provides a common interface to the
5839various Haskell types that are list-like. Predefined interfaces include
5840standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
5841Custom types can easily be made ListLike instances as well.
5842
5843ListLike also provides for String-like types, such as String and
5844ByteString, for types that support input and output, and for types that
5845can handle infinite lists.")
5846 (license license:bsd-3)))
dddbc90c
RV
5847
5848(define-public ghc-logging-facade
5849 (package
5850 (name "ghc-logging-facade")
5851 (version "0.3.0")
5852 (source (origin
5853 (method url-fetch)
5854 (uri (string-append "https://hackage.haskell.org/package/"
5855 "logging-facade/logging-facade-"
5856 version ".tar.gz"))
5857 (sha256
5858 (base32
5859 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
5860 (build-system haskell-build-system)
5861 (native-inputs
5862 `(("ghc-hspec" ,ghc-hspec)
5863 ("hspec-discover" ,hspec-discover)))
5864 (home-page "https://hackage.haskell.org/package/logging-facade")
5865 (synopsis "Simple logging abstraction that allows multiple back-ends")
5866 (description
5867 "This package provides a simple logging abstraction that allows multiple
5868back-ends.")
5869 (license license:expat)))
5870
5871(define-public ghc-logict
5872 (package
5873 (name "ghc-logict")
5874 (version "0.6.0.2")
5875 (source
5876 (origin
5877 (method url-fetch)
5878 (uri (string-append
5879 "https://hackage.haskell.org/package/logict/logict-"
5880 version
5881 ".tar.gz"))
5882 (sha256
5883 (base32
5884 "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi"))))
5885 (build-system haskell-build-system)
5886 (home-page "http://code.haskell.org/~dolio/")
5887 (synopsis "Backtracking logic-programming monad")
5888 (description "This library provides a continuation-based, backtracking,
5889logic programming monad. An adaptation of the two-continuation implementation
5890found in the paper \"Backtracking, Interleaving, and Terminating Monad
5891Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
5892online}.")
5893 (license license:bsd-3)))
5894
5895(define-public ghc-lzma
5896 (package
5897 (name "ghc-lzma")
5898 (version "0.0.0.3")
5899 (source
5900 (origin
5901 (method url-fetch)
5902 (uri (string-append "https://hackage.haskell.org/package/lzma/"
5903 "lzma-" version ".tar.gz"))
5904 (sha256
5905 (base32
5906 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
5907 (build-system haskell-build-system)
5908 (arguments
5909 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
5910 #:cabal-revision
5911 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
5912 (native-inputs
5913 `(("ghc-hunit" ,ghc-hunit)
5914 ("ghc-quickcheck" ,ghc-quickcheck)
5915 ("ghc-tasty" ,ghc-tasty)
5916 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5917 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
5918 (home-page "https://github.com/hvr/lzma")
5919 (synopsis "LZMA/XZ compression and decompression")
5920 (description
5921 "This package provides a pure interface for compressing and
5922decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
5923monadic incremental interface is provided as well.")
5924 (license license:bsd-3)))
5925
5926(define-public ghc-lzma-conduit
5927 (package
5928 (name "ghc-lzma-conduit")
5929 (version "1.2.1")
5930 (source
5931 (origin
5932 (method url-fetch)
5933 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
5934 "lzma-conduit-" version ".tar.gz"))
5935 (sha256
5936 (base32
5937 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
5938 (build-system haskell-build-system)
5939 (inputs
5940 `(("ghc-conduit" ,ghc-conduit)
5941 ("ghc-lzma" ,ghc-lzma)
5942 ("ghc-resourcet" ,ghc-resourcet)))
5943 (native-inputs
5944 `(("ghc-base-compat" ,ghc-base-compat)
5945 ("ghc-test-framework" ,ghc-test-framework)
5946 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5947 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5948 ("ghc-hunit" ,ghc-hunit)
5949 ("ghc-quickcheck" ,ghc-quickcheck)))
5950 (home-page "https://github.com/alphaHeavy/lzma-conduit")
5951 (synopsis "Conduit interface for lzma/xz compression")
5952 (description
5953 "This package provides a @code{Conduit} interface for the LZMA
5954compression algorithm used in the @code{.xz} file format.")
5955 (license license:bsd-3)))
5956
5957(define-public ghc-markdown-unlit
5958 (package
5959 (name "ghc-markdown-unlit")
5960 (version "0.5.0")
5961 (source (origin
5962 (method url-fetch)
5963 (uri (string-append
5964 "mirror://hackage/package/markdown-unlit/"
5965 "markdown-unlit-" version ".tar.gz"))
5966 (sha256
5967 (base32
5968 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
5969 (build-system haskell-build-system)
5970 (inputs
5971 `(("ghc-base-compat" ,ghc-base-compat)
5972 ("ghc-hspec" ,ghc-hspec)
5973 ("ghc-quickcheck" ,ghc-quickcheck)
5974 ("ghc-silently" ,ghc-silently)
5975 ("ghc-stringbuilder" ,ghc-stringbuilder)
5976 ("ghc-temporary" ,ghc-temporary)
5977 ("hspec-discover" ,hspec-discover)))
5978 (home-page "https://github.com/sol/markdown-unlit#readme")
5979 (synopsis "Literate Haskell support for Markdown")
5980 (description "This package allows you to have a README.md that at the
5981same time is a literate Haskell program.")
5982 (license license:expat)))
5983
5984(define-public ghc-math-functions
5985 (package
5986 (name "ghc-math-functions")
5987 (version "0.2.1.0")
5988 (source
5989 (origin
5990 (method url-fetch)
5991 (uri (string-append "https://hackage.haskell.org/package/"
5992 "math-functions-" version "/"
5993 "math-functions-" version ".tar.gz"))
5994 (sha256
5995 (base32
5996 "1sv5vabsx332v1lpb6v3jv4zrzvpx1n7yprzd8wlcda5vsc5a6zp"))))
5997 (build-system haskell-build-system)
5998 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
5999 (inputs
6000 `(("ghc-vector" ,ghc-vector)
6001 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6002 (native-inputs
6003 `(("ghc-hunit" ,ghc-hunit)
6004 ("ghc-quickcheck" ,ghc-quickcheck)
6005 ("ghc-erf" ,ghc-erf)
6006 ("ghc-test-framework" ,ghc-test-framework)
6007 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6008 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6009 (home-page "https://github.com/bos/math-functions")
6010 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6011 (description "This Haskell library provides implementations of
6012special mathematical functions and Chebyshev polynomials. These
6013functions are often useful in statistical and numerical computing.")
6014 (license license:bsd-3)))
6015
6016(define-public ghc-megaparsec
6017 (package
6018 (name "ghc-megaparsec")
6019 (version "6.5.0")
6020 (source
6021 (origin
6022 (method url-fetch)
6023 (uri (string-append "https://hackage.haskell.org/package/"
6024 "megaparsec/megaparsec-"
6025 version ".tar.gz"))
6026 (sha256
6027 (base32
6028 "12iggy7qpf8x93jm64zf0g215xwy779bqyfyjk2bhmxqqr1yzgdy"))))
6029 (build-system haskell-build-system)
6030 (arguments
6031 `(#:cabal-revision
6032 ("4" "0ij3asi5vwlhbgwsy6nhli9a0qb7926mg809fsgyl1rnhs9fvpx1")))
6033 (inputs
6034 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6035 ("ghc-parser-combinators" ,ghc-parser-combinators)
6036 ("ghc-scientific" ,ghc-scientific)))
6037 (native-inputs
6038 `(("ghc-quickcheck" ,ghc-quickcheck)
6039 ("ghc-hspec" ,ghc-hspec)
6040 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6041 ("hspec-discover" ,hspec-discover)))
6042 (home-page "https://github.com/mrkkrp/megaparsec")
6043 (synopsis "Monadic parser combinators")
6044 (description
6045 "This is an industrial-strength monadic parser combinator library.
6046Megaparsec is a feature-rich package that strikes a nice balance between
6047speed, flexibility, and quality of parse errors.")
6048 (license license:bsd-2)))
6049
6050(define-public ghc-memory
6051 (package
6052 (name "ghc-memory")
6053 (version "0.14.16")
6054 (source (origin
6055 (method url-fetch)
6056 (uri (string-append "https://hackage.haskell.org/package/"
6057 "memory/memory-" version ".tar.gz"))
6058 (sha256
6059 (base32
6060 "03rbszi5d4z9rlbfv8ydrl1xf84xsh8z57g07f7j9qccn9587c3v"))))
6061 (build-system haskell-build-system)
6062 (inputs
6063 `(("ghc-basement" ,ghc-basement)
6064 ("ghc-foundation" ,ghc-foundation)))
6065 (native-inputs
6066 `(("ghc-tasty" ,ghc-tasty)
6067 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6068 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6069 (home-page "https://github.com/vincenthz/hs-memory")
6070 (synopsis "Memory abstractions for Haskell")
6071 (description
6072 "This package provides memory abstractions, such as chunk of memory,
6073polymorphic byte array management and manipulation functions. It contains a
6074polymorphic byte array abstraction and functions similar to strict ByteString,
6075different type of byte array abstraction, raw memory IO operations (memory
6076set, memory copy, ..) and more")
6077 (license license:bsd-3)))
6078
6079(define-public ghc-memotrie
6080 (package
6081 (name "ghc-memotrie")
6082 (version "0.6.9")
6083 (source
6084 (origin
6085 (method url-fetch)
6086 (uri (string-append
6087 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6088 version
6089 ".tar.gz"))
6090 (sha256
6091 (base32
6092 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6093 (build-system haskell-build-system)
6094 (inputs
6095 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6096 (home-page "https://github.com/conal/MemoTrie")
6097 (synopsis "Trie-based memo functions")
6098 (description "This package provides a functional library for creating
6099efficient memo functions using tries.")
6100 (license license:bsd-3)))
6101
6102(define-public ghc-microlens
6103 (package
6104 (name "ghc-microlens")
6105 (version "0.4.9.1")
6106 (source
6107 (origin
6108 (method url-fetch)
6109 (uri (string-append "https://hackage.haskell.org/package/"
6110 "microlens-" version "/"
6111 "microlens-" version ".tar.gz"))
6112 (sha256
6113 (base32
6114 "0j2nzf0vpx2anvsrg2w0vy2z4jn3kkcs2n6glkzblhn1j9piqh51"))))
6115 (build-system haskell-build-system)
6116 (home-page
6117 "https://github.com/aelve/microlens")
6118 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6119 (description "This Haskell package provides a lens library, just like
6120@code{ghc-lens}, but smaller. It provides essential lenses and
6121traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6122nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6123combinators (like @code{failing} and @code{singular}), but everything else is
6124stripped. As the result, this package has no dependencies.")
6125 (license license:bsd-3)))
6126
6127(define-public ghc-microlens-ghc
6128 (package
6129 (name "ghc-microlens-ghc")
6130 (version "0.4.9.1")
6131 (source
6132 (origin
6133 (method url-fetch)
6134 (uri (string-append
6135 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6136 version
6137 ".tar.gz"))
6138 (sha256
6139 (base32
6140 "03iwgg8zww9irv59l70c8yy7vzxir1zf66y12210xk91k5hq6jrj"))))
6141 (build-system haskell-build-system)
6142 (inputs `(("ghc-microlens" ,ghc-microlens)))
6143 (home-page "https://github.com/monadfix/microlens")
6144 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6145 (description "This library provides everything that @code{microlens}
6146provides plus instances to make @code{each}, @code{at}, and @code{ix}
6147usable with arrays, @code{ByteString}, and containers. This package is
6148a part of the @uref{http://hackage.haskell.org/package/microlens,
6149microlens} family; see the readme
6150@uref{https://github.com/aelve/microlens#readme, on Github}.")
6151 (license license:bsd-3)))
6152
6153(define-public ghc-microlens-mtl
6154 (package
6155 (name "ghc-microlens-mtl")
6156 (version "0.1.11.1")
6157 (source
6158 (origin
6159 (method url-fetch)
6160 (uri (string-append
6161 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6162 version
6163 ".tar.gz"))
6164 (sha256
6165 (base32
6166 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6167 (build-system haskell-build-system)
6168 (inputs
6169 `(("ghc-microlens" ,ghc-microlens)
6170 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6171 (home-page "https://github.com/monadfix/microlens")
6172 (synopsis
6173 "@code{microlens} support for Reader/Writer/State from mtl")
6174 (description
6175 "This package contains functions (like @code{view} or @code{+=}) which
6176work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6177mtl package. This package is a part of the
6178@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6179readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6180 (license license:bsd-3)))
6181
6182(define-public ghc-microlens-platform
6183 (package
6184 (name "ghc-microlens-platform")
6185 (version "0.3.10")
6186 (source
6187 (origin
6188 (method url-fetch)
6189 (uri (string-append
6190 "https://hackage.haskell.org/package/"
6191 "microlens-platform/microlens-platform-" version ".tar.gz"))
6192 (sha256
6193 (base32
6194 "1d4nhmgf9jq0ixc7qhwm7aaw3xdr0nalw58d0ydsydgf02cyazwv"))))
6195 (build-system haskell-build-system)
6196 (inputs
6197 `(("ghc-hashable" ,ghc-hashable)
6198 ("ghc-microlens" ,ghc-microlens)
6199 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6200 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6201 ("ghc-microlens-th" ,ghc-microlens-th)
6202 ("ghc-unordered-containers" ,ghc-unordered-containers)
6203 ("ghc-vector" ,ghc-vector)))
6204 (home-page "https://github.com/monadfix/microlens")
6205 (synopsis "Feature-complete microlens")
6206 (description
6207 "This package exports a module which is the recommended starting point
6208for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6209you aren't trying to keep your dependencies minimal. By importing
6210@code{Lens.Micro.Platform} you get all functions and instances from
6211@uref{http://hackage.haskell.org/package/microlens, microlens},
6212@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6213@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6214@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6215well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6216minor and major versions of @code{microlens-platform} are incremented whenever
6217the minor and major versions of any other @code{microlens} package are
6218incremented, so you can depend on the exact version of
6219@code{microlens-platform} without specifying the version of @code{microlens}
6220you need. This package is a part of the
6221@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6222readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6223 (license license:bsd-3)))
6224
6225(define-public ghc-microlens-th
6226 (package
6227 (name "ghc-microlens-th")
6228 (version "0.4.2.2")
6229 (source
6230 (origin
6231 (method url-fetch)
6232 (uri (string-append "https://hackage.haskell.org/package/"
6233 "microlens-th-" version "/"
6234 "microlens-th-" version ".tar.gz"))
6235 (sha256
6236 (base32
6237 "02nj7lnl61yffi3c6wn341arxhld5r0vj6nzcb5zmqjhnqsv8c05"))))
6238 (build-system haskell-build-system)
6239 (inputs `(("ghc-microlens" ,ghc-microlens)
6240 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6241 (home-page
6242 "https://github.com/aelve/microlens")
6243 (synopsis "Automatic generation of record lenses for
6244@code{ghc-microlens}")
6245 (description "This Haskell package lets you automatically generate lenses
6246for data types; code was extracted from the lens package, and therefore
6247generated lenses are fully compatible with ones generated by lens (and can be
6248used both from lens and microlens).")
6249 (license license:bsd-3)))
6250
6251(define-public ghc-missingh
6252 (package
6253 (name "ghc-missingh")
6254 (version "1.4.0.1")
6255 (source
6256 (origin
6257 (method url-fetch)
6258 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6259 "MissingH-" version ".tar.gz"))
6260 (sha256
6261 (base32
6262 "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"))))
6263 (build-system haskell-build-system)
6264 ;; Tests require the unmaintained testpack package, which depends on the
6265 ;; outdated QuickCheck version 2.7, which can no longer be built with
6266 ;; recent versions of GHC and Haskell libraries.
6267 (arguments '(#:tests? #f))
6268 (inputs
6269 `(("ghc-network" ,ghc-network)
6270 ("ghc-hunit" ,ghc-hunit)
6271 ("ghc-regex-compat" ,ghc-regex-compat)
6272 ("ghc-hslogger" ,ghc-hslogger)
6273 ("ghc-random" ,ghc-random)
6274 ("ghc-old-time" ,ghc-old-time)
6275 ("ghc-old-locale" ,ghc-old-locale)))
6276 (native-inputs
6277 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6278 ("ghc-quickcheck" ,ghc-quickcheck)
6279 ("ghc-hunit" ,ghc-hunit)))
6280 (home-page "http://software.complete.org/missingh")
6281 (synopsis "Large utility library")
6282 (description
6283 "MissingH is a library of all sorts of utility functions for Haskell
6284programmers. It is written in pure Haskell and thus should be extremely
6285portable and easy to use.")
6286 (license license:bsd-3)))
6287
6288(define-public ghc-mmap
6289 (package
6290 (name "ghc-mmap")
6291 (version "0.5.9")
6292 (source (origin
6293 (method url-fetch)
6294 (uri (string-append "https://hackage.haskell.org/package/"
6295 "mmap/mmap-" version ".tar.gz"))
6296 (sha256
6297 (base32
6298 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6299 (build-system haskell-build-system)
6300 (home-page "https://hackage.haskell.org/package/mmap")
6301 (synopsis "Memory mapped files for Haskell")
6302 (description
6303 "This library provides a wrapper to @code{mmap}, allowing files or
6304devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6305@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6306do on-demand loading.")
6307 (license license:bsd-3)))
6308
6309(define-public ghc-mmorph
6310 (package
6311 (name "ghc-mmorph")
6312 (version "1.1.2")
6313 (source
6314 (origin
6315 (method url-fetch)
6316 (uri (string-append
6317 "https://hackage.haskell.org/package/mmorph/mmorph-"
6318 version
6319 ".tar.gz"))
6320 (sha256
6321 (base32
6322 "1gjz1ib968lqybma7my1n19qq6cdj6a7nskrlnwy4jy9jrwzs2n9"))))
6323 (build-system haskell-build-system)
6324 (inputs
6325 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6326 (home-page "https://hackage.haskell.org/package/mmorph")
6327 (synopsis "Monad morphisms")
6328 (description
6329 "This library provides monad morphism utilities, most commonly used for
6330manipulating monad transformer stacks.")
6331 (license license:bsd-3)))
6332
6333(define-public ghc-mockery
6334 (package
6335 (name "ghc-mockery")
6336 (version "0.3.5")
6337 (source (origin
6338 (method url-fetch)
6339 (uri (string-append "https://hackage.haskell.org/package/"
6340 "mockery/mockery-" version ".tar.gz"))
6341 (sha256
6342 (base32
6343 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6344 (build-system haskell-build-system)
6345 (inputs
6346 `(("ghc-temporary" ,ghc-temporary)
6347 ("ghc-logging-facade" ,ghc-logging-facade)
6348 ("ghc-base-compat" ,ghc-base-compat)))
6349 (native-inputs
6350 `(("ghc-hspec" ,ghc-hspec)
6351 ("hspec-discover" ,hspec-discover)))
6352 (home-page "https://hackage.haskell.org/package/mockery")
6353 (synopsis "Support functions for automated testing")
6354 (description
6355 "The mockery package provides support functions for automated testing.")
6356 (license license:expat)))
6357
6358(define-public ghc-monad-control
6359 (package
6360 (name "ghc-monad-control")
6361 (version "1.0.2.3")
6362 (source
6363 (origin
6364 (method url-fetch)
6365 (uri (string-append
6366 "https://hackage.haskell.org/package/monad-control"
6367 "/monad-control-" version ".tar.gz"))
6368 (sha256
6369 (base32
6370 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6371 (build-system haskell-build-system)
6372 (inputs
6373 `(("ghc-transformers-base" ,ghc-transformers-base)
6374 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6375 (home-page "https://github.com/basvandijk/monad-control")
6376 (synopsis "Monad transformers to lift control operations like exception
6377catching")
6378 (description "This package defines the type class @code{MonadBaseControl},
6379a subset of @code{MonadBase} into which generic control operations such as
6380@code{catch} can be lifted from @code{IO} or any other base monad.")
6381 (license license:bsd-3)))
6382
6383(define-public ghc-monad-logger
6384 (package
6385 (name "ghc-monad-logger")
6386 (version "0.3.29")
6387 (source
6388 (origin
6389 (method url-fetch)
6390 (uri (string-append "https://hackage.haskell.org/package/"
6391 "monad-logger-" version "/"
6392 "monad-logger-" version ".tar.gz"))
6393 (sha256
6394 (base32
6395 "1z516s4pa9n94zf0l45mylssg07xr1d1m6zrz900p0iv3vfd07mv"))))
6396 (build-system haskell-build-system)
6397 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6398 ("ghc-stm-chans" ,ghc-stm-chans)
6399 ("ghc-lifted-base" ,ghc-lifted-base)
6400 ("ghc-resourcet" ,ghc-resourcet)
6401 ("ghc-conduit" ,ghc-conduit)
6402 ("ghc-conduit-extra" ,ghc-conduit-extra)
6403 ("ghc-fast-logger" ,ghc-fast-logger)
6404 ("ghc-transformers-base" ,ghc-transformers-base)
6405 ("ghc-monad-control" ,ghc-monad-control)
6406 ("ghc-monad-loops" ,ghc-monad-loops)
6407 ("ghc-blaze-builder" ,ghc-blaze-builder)
6408 ("ghc-exceptions" ,ghc-exceptions)))
6409 (home-page "https://github.com/kazu-yamamoto/logger")
6410 (synopsis "Provides a class of monads which can log messages for Haskell")
6411 (description "This Haskell package uses a monad transformer approach
6412for logging.
6413
6414This package provides Template Haskell functions for determining source
6415code locations of messages.")
6416 (license license:expat)))
6417
6418(define-public ghc-monad-loops
6419 (package
6420 (name "ghc-monad-loops")
6421 (version "0.4.3")
6422 (source
6423 (origin
6424 (method url-fetch)
6425 (uri (string-append "https://hackage.haskell.org/package/"
6426 "monad-loops-" version "/"
6427 "monad-loops-" version ".tar.gz"))
6428 (sha256
6429 (base32
6430 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6431 (build-system haskell-build-system)
6432 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6433 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6434 (home-page "https://github.com/mokus0/monad-loops")
6435 (synopsis "Monadic loops for Haskell")
6436 (description "This Haskell package provides some useful control
6437operators for looping.")
6438 (license license:public-domain)))
6439
6440(define-public ghc-monad-par
6441 (package
6442 (name "ghc-monad-par")
6443 (version "0.3.4.8")
6444 (source
6445 (origin
6446 (method url-fetch)
6447 (uri (string-append "https://hackage.haskell.org/package/"
6448 "monad-par-" version "/"
6449 "monad-par-" version ".tar.gz"))
6450 (sha256
6451 (base32
6452 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6453 (build-system haskell-build-system)
6454 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6455 ("ghc-abstract-deque" ,ghc-abstract-deque)
6456 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6457 ("ghc-mwc-random" ,ghc-mwc-random)
6458 ("ghc-parallel" ,ghc-parallel)))
6459 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6460 ("ghc-hunit" ,ghc-hunit)
6461 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6462 ("ghc-test-framework-quickcheck2"
6463 ,ghc-test-framework-quickcheck2)
6464 ("ghc-test-framework" ,ghc-test-framework)
6465 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6466 (home-page "https://github.com/simonmar/monad-par")
6467 (synopsis "Haskell library for parallel programming based on a monad")
6468 (description "The @code{Par} monad offers an API for parallel
6469programming. The library works for parallelising both pure and @code{IO}
6470computations, although only the pure version is deterministic. The default
6471implementation provides a work-stealing scheduler and supports forking tasks
6472that are much lighter weight than IO-threads.")
6473 (license license:bsd-3)))
6474
6475(define-public ghc-monad-par-extras
6476 (package
6477 (name "ghc-monad-par-extras")
6478 (version "0.3.3")
6479 (source
6480 (origin
6481 (method url-fetch)
6482 (uri (string-append "https://hackage.haskell.org/package/"
6483 "monad-par-extras-" version "/"
6484 "monad-par-extras-" version ".tar.gz"))
6485 (sha256
6486 (base32
6487 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6488 (build-system haskell-build-system)
6489 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6490 ("ghc-cereal" ,ghc-cereal)
6491 ("ghc-random" ,ghc-random)))
6492 (home-page "https://github.com/simonmar/monad-par")
6493 (synopsis "Combinators and extra features for Par monads for Haskell")
6494 (description "This Haskell package provides additional data structures,
6495and other added capabilities layered on top of the @code{Par} monad.")
6496 (license license:bsd-3)))
6497
6498(define-public ghc-monadplus
6499 (package
6500 (name "ghc-monadplus")
6501 (version "1.4.2")
6502 (source
6503 (origin
6504 (method url-fetch)
6505 (uri (string-append "https://hackage.haskell.org/package/monadplus"
6506 "/monadplus-" version ".tar.gz"))
6507 (sha256
6508 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
6509 (build-system haskell-build-system)
6510 (home-page "https://hackage.haskell.org/package/monadplus")
6511 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
6512 (description
6513 "This package generalizes many common stream operations such as
6514@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
6515arbitrary @code{MonadPlus} instances.")
6516 (license license:bsd-3)))
6517
6518(define-public ghc-monadrandom
6519 (package
6520 (name "ghc-monadrandom")
6521 (version "0.5.1.1")
6522 (source
6523 (origin
6524 (method url-fetch)
6525 (uri (string-append "https://hackage.haskell.org/package/"
6526 "MonadRandom-" version "/"
6527 "MonadRandom-" version ".tar.gz"))
6528 (sha256
6529 (base32
6530 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
6531 (build-system haskell-build-system)
6532 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6533 ("ghc-primitive" ,ghc-primitive)
6534 ("ghc-fail" ,ghc-fail)
6535 ("ghc-random" ,ghc-random)))
6536 (home-page "https://github.com/byorgey/MonadRandom")
6537 (synopsis "Random-number generation monad for Haskell")
6538 (description "This Haskell package provides support for computations
6539which consume random values.")
6540 (license license:bsd-3)))
6541
6542(define-public ghc-monads-tf
6543 (package
6544 (name "ghc-monads-tf")
6545 (version "0.1.0.3")
6546 (source
6547 (origin
6548 (method url-fetch)
6549 (uri (string-append
6550 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
6551 version ".tar.gz"))
6552 (sha256
6553 (base32
6554 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
6555 (build-system haskell-build-system)
6556 (home-page "https://hackage.haskell.org/package/monads-tf")
6557 (synopsis "Monad classes, using type families")
6558 (description
6559 "Monad classes using type families, with instances for various monad transformers,
6560inspired by the paper 'Functional Programming with Overloading and Higher-Order
6561Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
6562the @code{mtl-tf} package.")
6563 (license license:bsd-3)))
6564
6565(define-public ghc-mono-traversable
6566 (package
6567 (name "ghc-mono-traversable")
6568 (version "1.0.9.0")
6569 (source
6570 (origin
6571 (method url-fetch)
6572 (uri (string-append "https://hackage.haskell.org/package/"
6573 "mono-traversable-" version "/"
6574 "mono-traversable-" version ".tar.gz"))
6575 (sha256
6576 (base32
6577 "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
6578 (build-system haskell-build-system)
6579 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
6580 ("ghc-hashable" ,ghc-hashable)
6581 ("ghc-vector" ,ghc-vector)
6582 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
6583 ("ghc-split" ,ghc-split)))
6584 (native-inputs `(("ghc-hspec" ,ghc-hspec)
6585 ("ghc-hunit" ,ghc-hunit)
6586 ("ghc-quickcheck" ,ghc-quickcheck)
6587 ("ghc-semigroups" ,ghc-semigroups)
6588 ("ghc-foldl" ,ghc-foldl)))
6589 (home-page "https://github.com/snoyberg/mono-traversable")
6590 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
6591containers")
6592 (description "This Haskell package provides Monomorphic variants of the
6593Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
6594basic typeclasses, you understand mono-traversable. In addition to what
6595you are used to, it adds on an IsSequence typeclass and has code for marking
6596data structures as non-empty.")
6597 (license license:expat)))
6598
6599(define-public ghc-murmur-hash
6600 (package
6601 (name "ghc-murmur-hash")
6602 (version "0.1.0.9")
6603 (source
6604 (origin
6605 (method url-fetch)
6606 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
6607 "/murmur-hash-" version ".tar.gz"))
6608 (sha256
6609 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
6610 (build-system haskell-build-system)
6611 (home-page "https://github.com/nominolo/murmur-hash")
6612 (synopsis "MurmurHash2 implementation for Haskell")
6613 (description
6614 "This package provides an implementation of MurmurHash2, a good, fast,
6615general-purpose, non-cryptographic hashing function. See
6616@url{https://sites.google.com/site/murmurhash/} for details. This
6617implementation is pure Haskell, so it might be a bit slower than a C FFI
6618binding.")
6619 (license license:bsd-3)))
6620
6621(define-public ghc-mwc-random
6622 (package
6623 (name "ghc-mwc-random")
6624 (version "0.13.6.0")
6625 (source
6626 (origin
6627 (method url-fetch)
6628 (uri (string-append "https://hackage.haskell.org/package/"
6629 "mwc-random-" version "/"
6630 "mwc-random-" version ".tar.gz"))
6631 (sha256
6632 (base32
6633 "05j7yh0hh9nxic3dijmzv44kc6gzclvamdph7sq7w19wq57k6pq6"))))
6634 (build-system haskell-build-system)
6635 (inputs
6636 `(("ghc-primitive" ,ghc-primitive)
6637 ("ghc-vector" ,ghc-vector)
6638 ("ghc-math-functions" ,ghc-math-functions)))
6639 (arguments
6640 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
6641 (native-inputs
6642 `(("ghc-hunit" ,ghc-hunit)
6643 ("ghc-quickcheck" ,ghc-quickcheck)
6644 ("ghc-test-framework" ,ghc-test-framework)
6645 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6646 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6647 (home-page "https://github.com/bos/mwc-random")
6648 (synopsis "Random number generation library for Haskell")
6649 (description "This Haskell package contains code for generating
6650high quality random numbers that follow either a uniform or normal
6651distribution. The generated numbers are suitable for use in
6652statistical applications.
6653
6654The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
6655multiply-with-carry generator, which has a period of 2^{8222} and
6656fares well in tests of randomness. It is also extremely fast,
6657between 2 and 3 times faster than the Mersenne Twister.")
6658 (license license:bsd-3)))
6659
6660(define-public ghc-nats
6661 (package
6662 (name "ghc-nats")
6663 (version "1.1.2")
6664 (source
6665 (origin
6666 (method url-fetch)
6667 (uri (string-append
6668 "https://hackage.haskell.org/package/nats/nats-"
6669 version
6670 ".tar.gz"))
6671 (sha256
6672 (base32
6673 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
6674 (build-system haskell-build-system)
6675 (arguments `(#:haddock? #f))
6676 (inputs
6677 `(("ghc-hashable" ,ghc-hashable)))
6678 (home-page "https://hackage.haskell.org/package/nats")
6679 (synopsis "Natural numbers")
6680 (description "This library provides the natural numbers for Haskell.")
6681 (license license:bsd-3)))
6682
6683(define-public ghc-nats-bootstrap
6684 (package
6685 (inherit ghc-nats)
6686 (name "ghc-nats-bootstrap")
6687 (inputs
6688 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
6689 (properties '((hidden? #t)))))
6690
6691(define-public ghc-network
6692 (package
6693 (name "ghc-network")
6694 (version "2.6.3.6")
6695 (outputs '("out" "doc"))
6696 (source
6697 (origin
6698 (method url-fetch)
6699 (uri (string-append
6700 "https://hackage.haskell.org/package/network/network-"
6701 version
6702 ".tar.gz"))
6703 (sha256
6704 (base32
6705 "198mam7ahny48p9fajznbqq16a8ya2gw0xm3gnm1si1rmc4hdplv"))))
6706 (build-system haskell-build-system)
6707 ;; The regression tests depend on an unpublished module.
6708 (arguments `(#:tests? #f))
6709 (native-inputs
6710 `(("ghc-hunit" ,ghc-hunit)
6711 ("ghc-doctest" ,ghc-doctest)
6712 ("ghc-test-framework" ,ghc-test-framework)
6713 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6714 (home-page "https://github.com/haskell/network")
6715 (synopsis "Low-level networking interface")
6716 (description
6717 "This package provides a low-level networking interface.")
6718 (license license:bsd-3)))
6719
6720(define-public ghc-network-info
6721 (package
6722 (name "ghc-network-info")
6723 (version "0.2.0.10")
6724 (source
6725 (origin
6726 (method url-fetch)
6727 (uri (string-append "https://hackage.haskell.org/package/"
6728 "network-info-" version "/"
6729 "network-info-" version ".tar.gz"))
6730 (sha256
6731 (base32
6732 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
6733 (build-system haskell-build-system)
6734 (home-page "https://github.com/jystic/network-info")
6735 (synopsis "Access the local computer's basic network configuration")
6736 (description "This Haskell library provides simple read-only access to the
6737local computer's networking configuration. It is currently capable of
6738getting a list of all the network interfaces and their respective
6739IPv4, IPv6 and MAC addresses.")
6740 (license license:bsd-3)))
6741
6742(define-public ghc-network-uri
6743 (package
6744 (name "ghc-network-uri")
6745 (version "2.6.1.0")
6746 (outputs '("out" "doc"))
6747 (source
6748 (origin
6749 (method url-fetch)
6750 (uri (string-append
6751 "https://hackage.haskell.org/package/network-uri/network-uri-"
6752 version
6753 ".tar.gz"))
6754 (sha256
6755 (base32
6756 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
6757 (build-system haskell-build-system)
6758 (arguments
6759 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
6760 (inputs
6761 `(("ghc-network" ,ghc-network)))
6762 (native-inputs
6763 `(("ghc-hunit" ,ghc-hunit)))
6764 (home-page
6765 "https://github.com/haskell/network-uri")
6766 (synopsis "Library for URI manipulation")
6767 (description "This package provides an URI manipulation interface. In
6768@code{network-2.6} the @code{Network.URI} module was split off from the
6769@code{network} package into this package.")
6770 (license license:bsd-3)))
6771
6772(define-public ghc-newtype-generics
6773 (package
6774 (name "ghc-newtype-generics")
6775 (version "0.5.3")
6776 (source
6777 (origin
6778 (method url-fetch)
6779 (uri (string-append "https://hackage.haskell.org/package/"
6780 "newtype-generics/newtype-generics-"
6781 version ".tar.gz"))
6782 (sha256
6783 (base32
6784 "0igyisw2djg19v9vkna1rwf47k97mvkvk4bbkmswznvbm00z15gj"))))
6785 (build-system haskell-build-system)
6786 (native-inputs
6787 `(("ghc-hspec" ,ghc-hspec)
6788 ("hspec-discover" ,hspec-discover)))
6789 (home-page "http://github.com/sjakobi/newtype-generics")
6790 (synopsis "Typeclass and set of functions for working with newtypes")
6791 (description "The @code{Newtype} typeclass represents the packing and
6792unpacking of a newtype, and allows you to operate under that newtype with
6793functions such as @code{ala}. Generics support was added in version 0.4,
6794making this package a full replacement for the original newtype package,
6795and an alternative to newtype-th.")
6796 (license license:bsd-3)))
6797
6b652f5a
JS
6798(define-public ghc-non-negative
6799 (package
6800 (name "ghc-non-negative")
6801 (version "0.1.2")
6802 (source
6803 (origin
6804 (method url-fetch)
6805 (uri
6806 (string-append
6807 "https://hackage.haskell.org/package/non-negative/non-negative-"
6808 version ".tar.gz"))
6809 (sha256
6810 (base32
6811 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
6812 (build-system haskell-build-system)
6813 (inputs
6814 `(("ghc-semigroups" ,ghc-semigroups)
6815 ("ghc-utility-ht" ,ghc-utility-ht)
6816 ("ghc-quickcheck" ,ghc-quickcheck)))
6817 (home-page "https://hackage.haskell.org/package/non-negative")
6818 (synopsis "Non-negative numbers class")
6819 (description "This library provides a class for non-negative numbers,
6820a wrapper which can turn any ordered numeric type into a member of that
6821class, and a lazy number type for non-negative numbers (a generalization
6822of Peano numbers).")
6823 (license license:gpl3+)))
6824
dddbc90c
RV
6825(define-public ghc-objectname
6826 (package
6827 (name "ghc-objectname")
6828 (version "1.1.0.1")
6829 (source
6830 (origin
6831 (method url-fetch)
6832 (uri (string-append
6833 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
6834 version
6835 ".tar.gz"))
6836 (sha256
6837 (base32
6838 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
6839 (build-system haskell-build-system)
6840 (home-page "https://hackage.haskell.org/package/ObjectName")
6841 (synopsis "Helper library for Haskell OpenGL")
6842 (description "This tiny package contains the class ObjectName, which
6843corresponds to the general notion of explicitly handled identifiers for API
6844objects, e.g. a texture object name in OpenGL or a buffer object name in
6845OpenAL.")
6846 (license license:bsd-3)))
6847
6848(define-public ghc-old-locale
6849 (package
6850 (name "ghc-old-locale")
6851 (version "1.0.0.7")
6852 (source
6853 (origin
6854 (method url-fetch)
6855 (uri (string-append
6856 "https://hackage.haskell.org/package/old-locale/old-locale-"
6857 version
6858 ".tar.gz"))
6859 (sha256
6860 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
6861 (build-system haskell-build-system)
6862 (arguments
6863 `(#:cabal-revision
6864 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
6865 (home-page "https://hackage.haskell.org/package/old-locale")
6866 (synopsis "Adapt to locale conventions")
6867 (description
6868 "This package provides the ability to adapt to locale conventions such as
6869date and time formats.")
6870 (license license:bsd-3)))
6871
6872(define-public ghc-old-time
6873 (package
6874 (name "ghc-old-time")
6875 (version "1.1.0.3")
6876 (source
6877 (origin
6878 (method url-fetch)
6879 (uri (string-append
6880 "https://hackage.haskell.org/package/old-time/old-time-"
6881 version
6882 ".tar.gz"))
6883 (sha256
6884 (base32
6885 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
6886 (build-system haskell-build-system)
6887 (arguments
6888 `(#:cabal-revision
6889 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
6890 (inputs
6891 `(("ghc-old-locale" ,ghc-old-locale)))
6892 (home-page "https://hackage.haskell.org/package/old-time")
6893 (synopsis "Time compatibility library for Haskell")
6894 (description "Old-time is a package for backwards compatibility with the
6895old @code{time} library. For new projects, the newer
6896@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
6897 (license license:bsd-3)))
6898
6899(define-public ghc-opengl
6900 (package
6901 (name "ghc-opengl")
6902 (version "3.0.2.2")
6903 (source
6904 (origin
6905 (method url-fetch)
6906 (uri (string-append
6907 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
6908 version
6909 ".tar.gz"))
6910 (sha256
6911 (base32
6912 "19vxwvx2n8zq2klj176l25n2b64ybp0b8mhm4p46gvpcivz41fjc"))))
6913 (build-system haskell-build-system)
6914 (inputs
6915 `(("ghc-objectname" ,ghc-objectname)
6916 ("ghc-gluraw" ,ghc-gluraw)
6917 ("ghc-statevar" ,ghc-statevar)
6918 ("ghc-openglraw" ,ghc-openglraw)))
6919 (home-page "https://www.haskell.org/haskellwiki/Opengl")
6920 (synopsis "Haskell bindings for the OpenGL graphics system")
6921 (description "This package provides Haskell bindings for the OpenGL
6922graphics system (GL, version 4.5) and its accompanying utility library (GLU,
6923version 1.3).")
6924 (license license:bsd-3)))
6925
6926(define-public ghc-openglraw
6927 (package
6928 (name "ghc-openglraw")
6929 (version "3.3.1.0")
6930 (source
6931 (origin
6932 (method url-fetch)
6933 (uri (string-append
6934 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
6935 version
6936 ".tar.gz"))
6937 (sha256
6938 (base32
6939 "1x8w3x308jldj2c1xqcq3a3sc2jc06pdpgqkgjsmixi1skv4a1vb"))))
6940 (build-system haskell-build-system)
6941 (inputs
6942 `(("ghc-half" ,ghc-half)
6943 ("ghc-fixed" ,ghc-fixed)
6944 ("glu" ,glu)))
6945 (home-page "https://www.haskell.org/haskellwiki/Opengl")
6946 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
6947 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
6948graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
6949of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
6950offers access to all necessary functions, tokens and types plus a general
6951facility for loading extension entries. The module hierarchy closely mirrors
6952the naming structure of the OpenGL extensions, making it easy to find the
6953right module to import. All API entries are loaded dynamically, so no special
6954C header files are needed for building this package. If an API entry is not
6955found at runtime, a userError is thrown.")
6956 (license license:bsd-3)))
6957
6958(define-public ghc-operational
6959 (package
6960 (name "ghc-operational")
6961 (version "0.2.3.5")
6962 (source
6963 (origin
6964 (method url-fetch)
6965 (uri (string-append "https://hackage.haskell.org/package/operational/"
6966 "operational-" version ".tar.gz"))
6967 (sha256
6968 (base32
6969 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
6970 (build-system haskell-build-system)
6971 (inputs
6972 `(("ghc-random" ,ghc-random)))
6973 (home-page "http://wiki.haskell.org/Operational")
6974 (synopsis "Implementation of difficult monads made easy with operational semantics")
6975 (description
6976 "This library makes it easy to implement monads with tricky control
6977flow. This is useful for: writing web applications in a sequential style,
6978programming games with a uniform interface for human and AI players and easy
6979replay capababilities, implementing fast parser monads, designing monadic
6980DSLs, etc.")
6981 (license license:bsd-3)))
6982
6983(define-public ghc-options
6984 (package
6985 (name "ghc-options")
6986 (version "1.2.1.1")
6987 (source
6988 (origin
6989 (method url-fetch)
6990 (uri (string-append
6991 "https://hackage.haskell.org/package/options/options-"
6992 version ".tar.gz"))
6993 (sha256
6994 (base32
6995 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
6996 (build-system haskell-build-system)
6997 (inputs
6998 `(("ghc-monads-tf" ,ghc-monads-tf)
6999 ("ghc-chell" ,ghc-chell)
7000 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7001 (home-page "https://john-millikin.com/software/haskell-options/")
7002 (synopsis "Powerful and easy-to-use command-line option parser")
7003 (description
7004 "The @code{options} package lets library and application developers
7005easily work with command-line options.")
7006 (license license:expat)))
7007
7008;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7009(define ghc-options-bootstrap
7010 (package
7011 (name "ghc-options-bootstrap")
7012 (version "1.2.1.1")
7013 (source
7014 (origin
7015 (method url-fetch)
7016 (uri (string-append
7017 "https://hackage.haskell.org/package/options/options-"
7018 version ".tar.gz"))
7019 (sha256
7020 (base32
7021 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7022 (build-system haskell-build-system)
7023 (arguments
7024 `(#:tests? #f))
7025 (inputs
7026 `(("ghc-monads-tf" ,ghc-monads-tf)))
7027 (home-page "https://john-millikin.com/software/haskell-options/")
7028 (synopsis "Powerful and easy-to-use command-line option parser")
7029 (description
7030 "The @code{options} package lets library and application developers
7031easily work with command-line options.")
7032 (license license:expat)))
7033
7034
7035(define-public ghc-optparse-applicative
7036 (package
7037 (name "ghc-optparse-applicative")
7038 (version "0.14.2.0")
7039 (source
7040 (origin
7041 (method url-fetch)
7042 (uri (string-append
7043 "https://hackage.haskell.org/package/optparse-applicative"
7044 "/optparse-applicative-" version ".tar.gz"))
7045 (sha256
7046 (base32
7047 "0c3z1mvynlyv1garjbdmdd3npm40dabgm75js4r07cf766c1wd71"))))
7048 (build-system haskell-build-system)
7049 (inputs
7050 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7051 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7052 (native-inputs
7053 `(("ghc-quickcheck" ,ghc-quickcheck)))
7054 (home-page "https://github.com/pcapriotti/optparse-applicative")
7055 (synopsis "Utilities and combinators for parsing command line options")
7056 (description "This package provides utilities and combinators for parsing
7057command line options in Haskell.")
7058 (license license:bsd-3)))
7059
7060(define-public ghc-pandoc
7061 (package
7062 (name "ghc-pandoc")
7063 (version "2.2.1")
7064 (source
7065 (origin
7066 (method url-fetch)
7067 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7068 version ".tar.gz"))
7069 (sha256
7070 (base32
7071 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
7072 (build-system haskell-build-system)
7073 (arguments
7074 `(#:phases
7075 (modify-phases %standard-phases
7076 (add-before 'configure 'update-constraints
7077 (lambda _
7078 (substitute* "pandoc.cabal"
7079 (("tasty >= 0\\.11 && < 1\\.1")
7080 "tasty >= 0.11 && < 1.1.1"))))
7081 (add-before 'configure 'patch-tests
7082 (lambda _
7083 ;; These tests fail benignly and have been adjusted upstream:
7084 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
7085 (substitute* "test/Tests/Old.hs"
7086 (("lhsWriterTests \"html\"") "[]")))))))
7087 (inputs
7088 `(("ghc-aeson" ,ghc-aeson)
7089 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7090 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7091 ("ghc-blaze-html" ,ghc-blaze-html)
7092 ("ghc-blaze-markup" ,ghc-blaze-markup)
7093 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7094 ("ghc-data-default" ,ghc-data-default)
7095 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7096 ("ghc-diff" ,ghc-diff)
7097 ("ghc-doctemplates" ,ghc-doctemplates)
7098 ("ghc-executable-path" ,ghc-executable-path)
7099 ("ghc-glob" ,ghc-glob)
7100 ("ghc-haddock-library" ,ghc-haddock-library)
7101 ("ghc-hslua" ,ghc-hslua)
7102 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7103 ("ghc-http" ,ghc-http)
7104 ("ghc-http-client" ,ghc-http-client)
7105 ("ghc-http-client-tls" ,ghc-http-client-tls)
7106 ("ghc-http-types" ,ghc-http-types)
7107 ("ghc-juicypixels" ,ghc-juicypixels)
7108 ("ghc-network" ,ghc-network)
7109 ("ghc-network-uri" ,ghc-network-uri)
7110 ("ghc-old-locale" ,ghc-old-locale)
7111 ("ghc-pandoc-types" ,ghc-pandoc-types)
7112 ("ghc-random" ,ghc-random)
7113 ("ghc-scientific" ,ghc-scientific)
7114 ("ghc-sha" ,ghc-sha)
7115 ("ghc-skylighting" ,ghc-skylighting)
7116 ("ghc-split" ,ghc-split)
7117 ("ghc-syb" ,ghc-syb)
7118 ("ghc-tagsoup" ,ghc-tagsoup)
7119 ("ghc-temporary" ,ghc-temporary)
7120 ("ghc-texmath" ,ghc-texmath)
7121 ("ghc-unordered-containers" ,ghc-unordered-containers)
7122 ("ghc-vector" ,ghc-vector)
7123 ("ghc-xml" ,ghc-xml)
7124 ("ghc-yaml" ,ghc-yaml)
7125 ("ghc-zip-archive" ,ghc-zip-archive)
7126 ("ghc-zlib" ,ghc-zlib)))
7127 (native-inputs
7128 `(("ghc-tasty" ,ghc-tasty)
7129 ("ghc-tasty-golden" ,ghc-tasty-golden)
7130 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7131 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7132 ("ghc-quickcheck" ,ghc-quickcheck)
7133 ("ghc-hunit" ,ghc-hunit)))
7134 (home-page "https://pandoc.org")
7135 (synopsis "Conversion between markup formats")
7136 (description
7137 "Pandoc is a Haskell library for converting from one markup format to
7138another, and a command-line tool that uses this library. It can read and
7139write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7140LaTeX, DocBook, and many more.
7141
7142Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7143definition lists, tables, and other features. A compatibility mode is
7144provided for those who need a drop-in replacement for Markdown.pl.")
7145 (license license:gpl2+)))
7146
7147(define-public ghc-pandoc-citeproc
7148 (package
7149 (name "ghc-pandoc-citeproc")
7150 (version "0.14.3.1")
7151 (source
7152 (origin
7153 (method url-fetch)
7154 (uri (string-append "https://hackage.haskell.org/package/"
7155 "pandoc-citeproc/pandoc-citeproc-"
7156 version ".tar.gz"))
7157 (sha256
7158 (base32
7159 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7160 (build-system haskell-build-system)
7161 (arguments
7162 `(#:phases
7163 (modify-phases %standard-phases
7164 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7165 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7166 (add-before 'configure 'patch-tests
7167 (lambda _
7168 (substitute* "tests/test-pandoc-citeproc.hs"
7169 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7170 "let allTests = citeprocTests"))))
7171 ;; Tests need to be run after installation.
7172 (delete 'check)
7173 (add-after 'install 'post-install-check
7174 (assoc-ref %standard-phases 'check)))))
7175 (inputs
7176 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7177 ("ghc-pandoc" ,ghc-pandoc)
7178 ("ghc-tagsoup" ,ghc-tagsoup)
7179 ("ghc-aeson" ,ghc-aeson)
7180 ("ghc-vector" ,ghc-vector)
7181 ("ghc-xml-conduit" ,ghc-xml-conduit)
7182 ("ghc-unordered-containers" ,ghc-unordered-containers)
7183 ("ghc-data-default" ,ghc-data-default)
7184 ("ghc-setenv" ,ghc-setenv)
7185 ("ghc-split" ,ghc-split)
7186 ("ghc-yaml" ,ghc-yaml)
7187 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7188 ("ghc-rfc5051" ,ghc-rfc5051)
7189 ("ghc-syb" ,ghc-syb)
7190 ("ghc-old-locale" ,ghc-old-locale)
7191 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7192 ("ghc-attoparsec" ,ghc-attoparsec)
7193 ("ghc-temporary" ,ghc-temporary)))
7194 (home-page "https://github.com/jgm/pandoc-citeproc")
7195 (synopsis "Library for using pandoc with citeproc")
7196 (description
7197 "The @code{pandoc-citeproc} library exports functions for using the
7198citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7199rendering bibliographic reference citations into a variety of styles using a
7200macro language called @dfn{Citation Style Language} (CSL). This package also
7201contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7202and also has a mode for converting bibliographic databases a YAML format
7203suitable for inclusion in pandoc YAML metadata.")
7204 (license license:bsd-3)))
7205
7206(define-public ghc-pandoc-types
7207 (package
7208 (name "ghc-pandoc-types")
7209 (version "1.17.5.1")
7210 (source (origin
7211 (method url-fetch)
7212 (uri (string-append "https://hackage.haskell.org/package/"
7213 "pandoc-types/pandoc-types-"
7214 version ".tar.gz"))
7215 (sha256
7216 (base32
7217 "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
7218 (build-system haskell-build-system)
7219 (inputs
7220 `(("ghc-syb" ,ghc-syb)
7221 ("ghc-aeson" ,ghc-aeson)
7222 ("ghc-string-qq" ,ghc-string-qq)))
7223 (native-inputs
7224 `(("ghc-quickcheck" ,ghc-quickcheck)
7225 ("ghc-test-framework" ,ghc-test-framework)
7226 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7227 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7228 ("ghc-hunit" ,ghc-hunit)))
7229 (home-page "http://johnmacfarlane.net/pandoc")
7230 (synopsis "Types for representing a structured document")
7231 (description
7232 "This module defines the @code{Pandoc} data structure, which is used by
7233pandoc to represent structured documents. It also provides functions for
7234building up, manipulating and serialising @code{Pandoc} structures.")
7235 (license license:bsd-3)))
7236
7237(define-public ghc-parallel
7238 (package
7239 (name "ghc-parallel")
7240 (version "3.2.2.0")
7241 (outputs '("out" "doc"))
7242 (source
7243 (origin
7244 (method url-fetch)
7245 (uri (string-append
7246 "https://hackage.haskell.org/package/parallel/parallel-"
7247 version
7248 ".tar.gz"))
7249 (sha256
7250 (base32
7251 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7252 (build-system haskell-build-system)
7253 (home-page "https://hackage.haskell.org/package/parallel")
7254 (synopsis "Parallel programming library")
7255 (description
7256 "This package provides a library for parallel programming.")
7257 (license license:bsd-3)))
7258
7259(define-public ghc-parsec-numbers
7260 (package
7261 (name "ghc-parsec-numbers")
7262 (version "0.1.0")
7263 (source
7264 (origin
7265 (method url-fetch)
7266 (uri (string-append "https://hackage.haskell.org/package/"
7267 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7268 (sha256
7269 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7270 (build-system haskell-build-system)
7271 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7272 (synopsis "Utilities for parsing numbers from strings")
7273 (description
7274 "This package provides the number parsers without the need to use a large
7275(and unportable) token parser.")
7276 (license license:bsd-3)))
7277
7278(define-public ghc-parser-combinators
7279 (package
7280 (name "ghc-parser-combinators")
7281 (version "1.0.0")
7282 (source
7283 (origin
7284 (method url-fetch)
7285 (uri (string-append "https://hackage.haskell.org/package/"
7286 "parser-combinators/parser-combinators-"
7287 version ".tar.gz"))
7288 (sha256
7289 (base32
7290 "1pwfdsklqwvaynwpdzmx1bs35mp6dpsyaqdnzxnqcrxwf5h8sk75"))))
7291 (build-system haskell-build-system)
7292 (home-page "https://github.com/mrkkrp/parser-combinators")
7293 (synopsis "Commonly useful parser combinators")
7294 (description
7295 "This is a lightweight package providing commonly useful parser
7296combinators.")
7297 (license license:bsd-3)))
7298
7299(define-public ghc-parsers
7300 (package
7301 (name "ghc-parsers")
7302 (version "0.12.9")
7303 (source
7304 (origin
7305 (method url-fetch)
7306 (uri (string-append
7307 "https://hackage.haskell.org/package/parsers/parsers-"
7308 version
7309 ".tar.gz"))
7310 (sha256
7311 (base32
7312 "1r05sc1mcglk8w596kq9a1brfn9c2vll8lq16j07ln0vsz4jzrc1"))))
7313 (build-system haskell-build-system)
7314 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7315 ; -package attoparsec-0.13.0.1"
7316 (inputs
7317 `(("ghc-base-orphans" ,ghc-base-orphans)
7318 ("ghc-attoparsec" ,ghc-attoparsec)
7319 ("ghc-scientific" ,ghc-scientific)
7320 ("ghc-charset" ,ghc-charset)
7321 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7322 (home-page "https://github.com/ekmett/parsers/")
7323 (synopsis "Parsing combinators")
7324 (description "This library provides convenient combinators for working
7325with and building parsing combinator libraries. Given a few simple instances,
7326you get access to a large number of canned definitions. Instances exist for
7327the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7328@code{Text.Read}.")
7329 (license license:bsd-3)))
7330
7331(define-public ghc-path
7332 (package
7333 (name "ghc-path")
7334 (version "0.6.1")
7335 (source
7336 (origin
7337 (method url-fetch)
7338 (uri (string-append
7339 "https://hackage.haskell.org/package/path/path-"
7340 version
7341 ".tar.gz"))
7342 (sha256
7343 (base32
7344 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7345 (build-system haskell-build-system)
7346 (arguments
7347 ;; TODO: There are some Windows-related tests and modules that need to be
7348 ;; danced around.
7349 `(#:tests? #f
7350 #:cabal-revision
7351 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7352 (inputs
7353 `(("ghc-aeson" ,ghc-aeson)
7354 ("ghc-exceptions" ,ghc-exceptions)
7355 ("ghc-hashable" ,ghc-hashable)))
7356 (native-inputs
7357 `(("ghc-hspec" ,ghc-hspec)
7358 ("ghc-quickcheck" ,ghc-quickcheck)
7359 ("ghc-genvalidity" ,ghc-genvalidity)
7360 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7361 ("ghc-hspec" ,ghc-hspec)
7362 ("ghc-validity" ,ghc-validity)))
7363 (home-page
7364 "http://hackage.haskell.org/package/path")
7365 (synopsis "Support for well-typed paths")
7366 (description "This package introduces a type for paths upholding useful
7367invariants.")
7368 (license license:bsd-3)))
7369
7370(define-public ghc-path-io
7371 (package
7372 (name "ghc-path-io")
7373 (version "1.3.3")
7374 (source
7375 (origin
7376 (method url-fetch)
7377 (uri (string-append
7378 "https://hackage.haskell.org/package/path-io/path-io-"
7379 version
7380 ".tar.gz"))
7381 (sha256
7382 (base32
7383 "1g9m3qliqjk1img894wsb89diym5zrq51qkkrwhz4sbm9a8hbv1a"))))
7384 (build-system haskell-build-system)
7385 (inputs
7386 `(("ghc-dlist" ,ghc-dlist)
7387 ("ghc-exceptions" ,ghc-exceptions)
7388 ("ghc-path" ,ghc-path)
7389 ("ghc-transformers-base" ,ghc-transformers-base)
7390 ("ghc-unix-compat" ,ghc-unix-compat)
7391 ("ghc-temporary" ,ghc-temporary)))
7392 (native-inputs
7393 `(("ghc-hspec" ,ghc-hspec)))
7394 (arguments
7395 `(#:cabal-revision
7396 ("3" "1h9hsibbflkxpjl2fqamqiv3x3gasf51apnmklrs9l9x8r32hzcc")))
7397 (home-page
7398 "https://github.com/mrkkrp/path-io")
7399 (synopsis "Functions for manipulating well-typed paths")
7400 (description "This package provides an interface to the @code{directory}
7401package for users of @code{path}. It also implements some missing stuff like
7402recursive scanning and copying of directories, working with temporary
7403files/directories, and more.")
7404 (license license:bsd-3)))
7405
7406(define-public ghc-paths
7407 (package
7408 (name "ghc-paths")
7409 (version "0.1.0.9")
7410 (outputs '("out" "doc"))
7411 (source
7412 (origin
7413 (method url-fetch)
7414 (uri (string-append
7415 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7416 version
7417 ".tar.gz"))
7418 (sha256
7419 (base32
7420 "0ibrr1dxa35xx20cpp8jzgfak1rdmy344dfwq4vlq013c6w8z9mg"))))
7421 (build-system haskell-build-system)
7422 (home-page "https://github.com/simonmar/ghc-paths")
7423 (synopsis
7424 "Knowledge of GHC's installation directories")
7425 (description
7426 "Knowledge of GHC's installation directories.")
7427 (license license:bsd-3)))
7428
7429(define-public ghc-patience
7430 (package
7431 (name "ghc-patience")
7432 (version "0.1.1")
7433 (source
7434 (origin
7435 (method url-fetch)
7436 (uri (string-append
7437 "https://hackage.haskell.org/package/patience/patience-"
7438 version ".tar.gz"))
7439 (sha256
7440 (base32
7441 "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"))))
7442 (build-system haskell-build-system)
7443 (home-page "https://hackage.haskell.org/package/patience")
7444 (synopsis "Patience diff and longest increasing subsequence")
7445 (description
7446 "This library implements the 'patience diff' algorithm, as well as the
7447patience algorithm for the longest increasing subsequence problem.
7448Patience diff computes the difference between two lists, for example the lines
7449of two versions of a source file. It provides a good balance between
7450performance, nice output for humans, and simplicity of implementation.")
7451 (license license:bsd-3)))
7452
7453(define-public ghc-pcre-light
7454 (package
7455 (name "ghc-pcre-light")
7456 (version "0.4.0.4")
7457 (source
7458 (origin
7459 (method url-fetch)
7460 (uri (string-append
7461 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7462 version
7463 ".tar.gz"))
7464 (sha256
7465 (base32
7466 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7467 (build-system haskell-build-system)
7468 (inputs
7469 `(("pcre" ,pcre)))
7470 (native-inputs
7471 `(("pkg-config" ,pkg-config)))
7472 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7473 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7474 (description "This package provides a small, efficient, and portable regex
7475library for Perl 5 compatible regular expressions. The PCRE library is a set
7476of functions that implement regular expression pattern matching using the same
7477syntax and semantics as Perl 5.")
7478 (license license:bsd-3)))
7479
7480(define-public ghc-persistent
7481 (package
7482 (name "ghc-persistent")
7483 (version "2.8.2")
7484 (source
7485 (origin
7486 (method url-fetch)
7487 (uri (string-append "https://hackage.haskell.org/package/"
7488 "persistent-" version "/"
7489 "persistent-" version ".tar.gz"))
7490 (sha256
7491 (base32
7492 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
7493 (build-system haskell-build-system)
7494 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7495 ("ghc-conduit" ,ghc-conduit)
7496 ("ghc-resourcet" ,ghc-resourcet)
7497 ("ghc-exceptions" ,ghc-exceptions)
7498 ("ghc-monad-control" ,ghc-monad-control)
7499 ("ghc-lifted-base" ,ghc-lifted-base)
7500 ("ghc-resource-pool" ,ghc-resource-pool)
7501 ("ghc-path-pieces" ,ghc-path-pieces)
7502 ("ghc-http-api-data" ,ghc-http-api-data)
7503 ("ghc-aeson" ,ghc-aeson)
7504 ("ghc-monad-logger" ,ghc-monad-logger)
7505 ("ghc-transformers-base" ,ghc-transformers-base)
7506 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7507 ("ghc-unordered-containers" ,ghc-unordered-containers)
7508 ("ghc-vector" ,ghc-vector)
7509 ("ghc-attoparsec" ,ghc-attoparsec)
7510 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7511 ("ghc-blaze-html" ,ghc-blaze-html)
7512 ("ghc-blaze-markup" ,ghc-blaze-markup)
7513 ("ghc-silently" ,ghc-silently)
7514 ("ghc-fast-logger" ,ghc-fast-logger)
7515 ("ghc-scientific" ,ghc-scientific)
7516 ("ghc-tagged" ,ghc-tagged)
7517 ("ghc-void" ,ghc-void)))
7518 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7519 (home-page "https://www.yesodweb.com/book/persistent")
7520 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7521 (description "This Haskell package allows Haskell programs to access data
7522storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7523way.")
7524 (license license:expat)))
7525
7526(define-public ghc-persistent-sqlite
7527 (package
7528 (name "ghc-persistent-sqlite")
7529 (version "2.8.2")
7530 (source
7531 (origin
7532 (method url-fetch)
7533 (uri (string-append "https://hackage.haskell.org/package/"
7534 "persistent-sqlite-" version "/"
7535 "persistent-sqlite-" version ".tar.gz"))
7536 (sha256
7537 (base32
7538 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7539 (build-system haskell-build-system)
7540 (inputs `(("ghc-persistent" ,ghc-persistent)
7541 ("ghc-unliftio-core" ,ghc-unliftio-core)
7542 ("ghc-aeson" ,ghc-aeson)
7543 ("ghc-conduit" ,ghc-conduit)
7544 ("ghc-monad-logger" ,ghc-monad-logger)
7545 ("ghc-microlens-th" ,ghc-microlens-th)
7546 ("ghc-resourcet" ,ghc-resourcet)
7547 ("ghc-old-locale" ,ghc-old-locale)
7548 ("ghc-resource-pool" ,ghc-resource-pool)
7549 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7550 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7551 ("ghc-persistent-template" ,ghc-persistent-template)
7552 ("ghc-temporary" ,ghc-temporary)))
7553 (home-page
7554 "https://www.yesodweb.com/book/persistent")
7555 (synopsis "Backend for the persistent library using sqlite3")
7556 (description "This Haskell package includes a thin sqlite3 wrapper based
7557on the direct-sqlite package, as well as the entire C library, so there are no
7558system dependencies.")
7559 (license license:expat)))
7560
7561(define-public ghc-persistent-template
7562 (package
7563 (name "ghc-persistent-template")
7564 (version "2.5.4")
7565 (source
7566 (origin
7567 (method url-fetch)
7568 (uri (string-append "https://hackage.haskell.org/package/"
7569 "persistent-template-" version "/"
7570 "persistent-template-" version ".tar.gz"))
7571 (sha256
7572 (base32
7573 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7574 (build-system haskell-build-system)
7575 (arguments
7576 `(#:cabal-revision
7577 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7578 (inputs `(("ghc-persistent" ,ghc-persistent)
7579 ("ghc-monad-control" ,ghc-monad-control)
7580 ("ghc-aeson" ,ghc-aeson)
7581 ("ghc-aeson-compat" ,ghc-aeson-compat)
7582 ("ghc-monad-logger" ,ghc-monad-logger)
7583 ("ghc-unordered-containers" ,ghc-unordered-containers)
7584 ("ghc-tagged" ,ghc-tagged)
7585 ("ghc-path-pieces" ,ghc-path-pieces)
7586 ("ghc-http-api-data" ,ghc-http-api-data)))
7587 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7588 ("ghc-quickcheck" ,ghc-quickcheck)))
7589 (home-page "https://www.yesodweb.com/book/persistent")
7590 (synopsis "Type-safe, non-relational, multi-backend persistence")
7591 (description "This Haskell package provides interfaces and helper
7592functions for the ghc-persistent package.")
7593 (license license:expat)))
7594
7595(define-public ghc-polyparse
7596 (package
7597 (name "ghc-polyparse")
7598 (version "1.12")
7599 (source
7600 (origin
7601 (method url-fetch)
7602 (uri (string-append
7603 "https://hackage.haskell.org/package/polyparse/polyparse-"
7604 version
7605 ".tar.gz"))
7606 (sha256
7607 (base32
7608 "05dya1vdvq29hkhkdlsglzhw7bdn51rvs1javs0q75nf99c66k7m"))))
7609 (build-system haskell-build-system)
7610 (home-page
7611 "http://code.haskell.org/~malcolm/polyparse/")
7612 (synopsis
7613 "Alternative parser combinator libraries")
7614 (description
7615 "This package provides a variety of alternative parser combinator
7616libraries, including the original HuttonMeijer set. The Poly sets have
7617features like good error reporting, arbitrary token type, running state, lazy
7618parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7619standard Read class, for better deserialisation of Haskell values from
7620Strings.")
7621 (license license:lgpl2.1)))
7622
7623(define-public ghc-pqueue
7624 (package
7625 (name "ghc-pqueue")
7626 (version "1.4.1.1")
7627 (source
7628 (origin
7629 (method url-fetch)
7630 (uri (string-append "https://hackage.haskell.org/package/"
7631 "pqueue/pqueue-" version ".tar.gz"))
7632 (sha256
7633 (base32
7634 "1zvwm1zcqqq5n101s1brjhgbay8rf9fviq6gxbplf40i63m57p1x"))))
7635 (build-system haskell-build-system)
7636 (native-inputs
7637 `(("ghc-quickcheck" ,ghc-quickcheck)))
7638 (home-page "https://hackage.haskell.org/package/pqueue")
7639 (synopsis "Reliable, persistent, fast priority queues")
7640 (description
7641 "This package provides a fast, reliable priority queue implementation
7642based on a binomial heap.")
7643 (license license:bsd-3)))
7644
7645(define-public ghc-prelude-extras
7646 (package
7647 (name "ghc-prelude-extras")
7648 (version "0.4.0.3")
7649 (source
7650 (origin
7651 (method url-fetch)
7652 (uri (string-append
7653 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7654 version
7655 ".tar.gz"))
7656 (sha256
7657 (base32
7658 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7659 (build-system haskell-build-system)
7660 (home-page "https://github.com/ekmett/prelude-extras")
7661 (synopsis "Higher order versions of Prelude classes")
7662 (description "This library provides higher order versions of
7663@code{Prelude} classes to ease programming with polymorphic recursion and
7664reduce @code{UndecidableInstances}.")
7665 (license license:bsd-3)))
7666
7667(define-public ghc-prettyclass
7668 (package
7669 (name "ghc-prettyclass")
7670 (version "1.0.0.0")
7671 (source
7672 (origin
7673 (method url-fetch)
7674 (uri (string-append "https://hackage.haskell.org/package/"
7675 "prettyclass/prettyclass-" version ".tar.gz"))
7676 (sha256
7677 (base32
7678 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7679 (build-system haskell-build-system)
7680 (home-page "http://hackage.haskell.org/package/prettyclass")
7681 (synopsis "Pretty printing class similar to Show")
7682 (description "This package provides a pretty printing class similar
7683to @code{Show}, based on the HughesPJ pretty printing library. It
7684provides the pretty printing class and instances for the Prelude
7685types.")
7686 (license license:bsd-3)))
7687
7688(define-public ghc-pretty-hex
7689 (package
7690 (name "ghc-pretty-hex")
7691 (version "1.0")
7692 (source
7693 (origin
7694 (method url-fetch)
7695 (uri (string-append "https://hackage.haskell.org/package/"
7696 "pretty-hex-" version "/"
7697 "pretty-hex-" version ".tar.gz"))
7698 (sha256
7699 (base32
7700 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7701 (build-system haskell-build-system)
7702 (home-page "https://github.com/GaloisInc/hexdump")
7703 (synopsis "Haskell library for hex dumps of ByteStrings")
7704 (description "This Haskell library generates pretty hex dumps of
7705ByteStrings in the style of other common *nix hex dump tools.")
7706 (license license:bsd-3)))
7707
7708(define-public ghc-pretty-show
7709 (package
7710 (name "ghc-pretty-show")
7711 (version "1.7")
7712 (source
7713 (origin
7714 (method url-fetch)
7715 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
7716 "pretty-show-" version ".tar.gz"))
7717 (sha256
7718 (base32
7719 "0br7pkxqqqhby2j2v1g847lgqsrasx56g1jw3dhmjh4flzs6warq"))))
7720 (build-system haskell-build-system)
7721 (inputs
7722 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
7723 ("ghc-happy" ,ghc-happy)))
7724 (home-page "http://wiki.github.com/yav/pretty-show")
7725 (synopsis "Tools for working with derived `Show` instances")
7726 (description
7727 "This package provides a library and an executable for working with
7728derived @code{Show} instances. By using the library, derived @code{Show}
7729instances can be parsed into a generic data structure. The @code{ppsh} tool
7730uses the library to produce human-readable versions of @code{Show} instances,
7731which can be quite handy for debugging Haskell programs. We can also render
7732complex generic values into an interactive Html page, for easier
7733examination.")
7734 (license license:expat)))
7735
7736(define-public ghc-primitive
7737 (package
7738 (name "ghc-primitive")
7739 (version "0.6.4.0")
7740 (outputs '("out" "doc"))
7741 (source
7742 (origin
7743 (method url-fetch)
7744 (uri (string-append
7745 "https://hackage.haskell.org/package/primitive/primitive-"
7746 version
7747 ".tar.gz"))
7748 (sha256
7749 (base32
7750 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
7751 (build-system haskell-build-system)
7752 (home-page
7753 "https://github.com/haskell/primitive")
7754 (synopsis "Primitive memory-related operations")
7755 (description
7756 "This package provides various primitive memory-related operations.")
7757 (license license:bsd-3)))
7758
21f5b9a9
JS
7759(define-public ghc-process-extras
7760 (package
7761 (name "ghc-process-extras")
7762 (version "0.7.4")
7763 (source
7764 (origin
7765 (method url-fetch)
7766 (uri
7767 (string-append
7768 "https://hackage.haskell.org/package/process-extras/"
7769 "process-extras-" version ".tar.gz"))
7770 (sha256
7771 (base32
7772 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
7773 (build-system haskell-build-system)
7774 (inputs
7775 `(("ghc-data-default" ,ghc-data-default)
7776 ("ghc-generic-deriving" ,ghc-generic-deriving)
7777 ("ghc-hunit" ,ghc-hunit)
7778 ("ghc-listlike" ,ghc-listlike)))
7779 (home-page "https://github.com/seereason/process-extras")
7780 (synopsis "Extra tools for managing processes")
7781 (description "This packages extends
7782@url{http://hackage.haskell.org/package/process}. It allows you to read
7783process input and output as ByteStrings or Text, or write your own
7784ProcessOutput instance. It also provides lazy process input and output,
7785and a ProcessMaker class for more flexibility in the process creation
7786API.")
7787 (license license:expat)))
7788
dddbc90c
RV
7789(define-public ghc-profunctors
7790 (package
7791 (name "ghc-profunctors")
7792 (version "5.2.2")
7793 (source
7794 (origin
7795 (method url-fetch)
7796 (uri (string-append
7797 "https://hackage.haskell.org/package/profunctors/profunctors-"
7798 version
7799 ".tar.gz"))
7800 (sha256
7801 (base32
7802 "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9"))))
7803 (build-system haskell-build-system)
7804 (arguments
7805 `(#:cabal-revision
7806 ("2" "1ywlg9z8nlhd2avgb8c6gbkv8zyk7hvc25926bafyg0m0k8y1amq")))
7807 (inputs
7808 `(("ghc-base-orphans" ,ghc-base-orphans)
7809 ("ghc-bifunctors" ,ghc-bifunctors)
7810 ("ghc-comonad" ,ghc-comonad)
7811 ("ghc-contravariant" ,ghc-contravariant)
7812 ("ghc-distributive" ,ghc-distributive)
7813 ("ghc-semigroups" ,ghc-semigroups)
7814 ("ghc-tagged" ,ghc-tagged)))
7815 (home-page "https://github.com/ekmett/profunctors/")
7816 (synopsis "Profunctors for Haskell")
7817 (description "This library provides profunctors for Haskell.")
7818 (license license:bsd-3)))
7819
7820(define-public ghc-psqueues
7821 (package
7822 (name "ghc-psqueues")
7823 (version "0.2.7.0")
7824 (source
7825 (origin
7826 (method url-fetch)
7827 (uri (string-append "https://hackage.haskell.org/package/"
7828 "psqueues-" version "/"
7829 "psqueues-" version ".tar.gz"))
7830 (sha256
7831 (base32
7832 "1sjgc9bxh63kkdp59nbirx3xazr02ia5yhp4f4a0jnq1hj465wsc"))))
7833 (build-system haskell-build-system)
7834 (inputs
7835 `(("ghc-hashable" ,ghc-hashable)))
7836 (native-inputs
7837 `(("ghc-hunit" ,ghc-hunit)
7838 ("ghc-quickcheck" ,ghc-quickcheck)
7839 ("ghc-tagged" ,ghc-tagged)
7840 ("ghc-test-framework" ,ghc-test-framework)
7841 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7842 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7843 (home-page "https://github.com/jaspervdj/psqueues")
7844 (synopsis "Pure priority search queues")
7845 (description "The psqueues package provides
7846@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
7847three different flavors:
7848
7849@itemize
7850@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
7851fast insertion, deletion and lookup. This implementation is based on Ralf
7852Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
7853Implementation Technique for Priority Search Queues}.
7854
7855Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
7856PSQueue} library, although it is considerably faster and provides a slightly
7857different API.
7858
7859@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
7860key type to @code{Int} and uses a
7861@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
7862with an additional min-heap property.
7863
7864@item @code{HashPSQ k p v} is a fairly straightforward extension
7865of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
7866@code{IntPSQ}. If there are any hash collisions, it uses an
7867@code{OrdPSQ} to resolve those. The performance of this implementation
7868is comparable to that of @code{IntPSQ}, but it is more widely
7869applicable since the keys are not restricted to @code{Int},
7870but rather to any @code{Hashable} datatype.
7871@end itemize
7872
7873Each of the three implementations provides the same API, so they can
7874be used interchangeably.
7875
7876Typical applications of Priority Search Queues include:
7877
7878@itemize
7879@item Caches, and more specifically LRU Caches;
7880@item Schedulers;
7881@item Pathfinding algorithms, such as Dijkstra's and A*.
7882@end itemize")
7883 (license license:bsd-3)))
7884
7885(define-public ghc-random
7886 (package
7887 (name "ghc-random")
7888 (version "1.1")
7889 (outputs '("out" "doc"))
7890 (source
7891 (origin
7892 (method url-fetch)
7893 (uri (string-append
7894 "https://hackage.haskell.org/package/random/random-"
7895 version
7896 ".tar.gz"))
7897 (sha256
7898 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
7899 (build-system haskell-build-system)
7900 (home-page "https://hackage.haskell.org/package/random")
7901 (synopsis "Random number library")
7902 (description "This package provides a basic random number generation
7903library, including the ability to split random number generators.")
7904 (license license:bsd-3)))
7905
7906(define-public ghc-raw-strings-qq
7907 (package
7908 (name "ghc-raw-strings-qq")
7909 (version "1.1")
7910 (source
7911 (origin
7912 (method url-fetch)
7913 (uri (string-append "https://hackage.haskell.org/package/"
7914 "raw-strings-qq/raw-strings-qq-"
7915 version ".tar.gz"))
7916 (sha256
7917 (base32
7918 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
7919 (build-system haskell-build-system)
7920 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
7921 (home-page "https://github.com/23Skidoo/raw-strings-qq")
7922 (synopsis "Raw string literals for Haskell")
7923 (description
7924 "This package provides a quasiquoter for raw string literals, i.e. string
7925literals that don't recognise the standard escape sequences. Basically, they
7926make your code more readable by freeing you from the responsibility to escape
7927backslashes. They are useful when working with regular expressions,
7928DOS/Windows paths and markup languages (such as XML).")
7929 (license license:bsd-3)))
7930
7931(define-public ghc-readable
7932 (package
7933 (name "ghc-readable")
7934 (version "0.3.1")
7935 (source
7936 (origin
7937 (method url-fetch)
7938 (uri (string-append "https://hackage.haskell.org/package/"
7939 "readable/readable-" version ".tar.gz"))
7940 (sha256
7941 (base32
7942 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
7943 (build-system haskell-build-system)
7944 (home-page "https://github.com/mightybyte/readable")
7945 (synopsis "Type class for reading from Text and ByteString")
7946 (description "This package provides a @code{Readable} type class for
7947reading data types from @code{ByteString} and @code{Text}. It also
7948includes efficient implementations for common data types.")
7949 (license license:bsd-3)))
7950
7951(define-public ghc-rebase
7952 (package
7953 (name "ghc-rebase")
7954 (version "1.2.4")
7955 (source
7956 (origin
7957 (method url-fetch)
7958 (uri (string-append "https://hackage.haskell.org/package/"
7959 "rebase-" version "/"
7960 "rebase-" version ".tar.gz"))
7961 (sha256
7962 (base32
7963 "1gah2qwfpzwamnikbc5h4nv6dgvv9h16di9ka7946za3nibyasya"))))
7964 (build-system haskell-build-system)
7965 (inputs `(("ghc-hashable" ,ghc-hashable)
7966 ("ghc-vector" ,ghc-vector)
7967 ("ghc-unordered-containers" ,ghc-unordered-containers)
7968 ("ghc-scientific" ,ghc-scientific)
7969 ("ghc-uuid" ,ghc-uuid)
7970 ("ghc-dlist" ,ghc-dlist)
7971 ("ghc-void" ,ghc-void)
7972 ("ghc-bifunctors" ,ghc-bifunctors)
7973 ("ghc-profunctors" ,ghc-profunctors)
7974 ("ghc-contravariant" ,ghc-contravariant)
7975 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
7976 ("ghc-semigroups" ,ghc-semigroups)
7977 ("ghc-either" ,ghc-either)
7978 ("ghc-fail" ,ghc-fail)
7979 ("ghc-base-prelude" ,ghc-base-prelude)))
7980 (home-page "https://github.com/nikita-volkov/rebase")
7981 (synopsis "Progressive alternative to the base package
7982for Haskell")
7983 (description "This Haskell package is intended for those who are
7984tired of keeping long lists of dependencies to the same essential libraries
7985in each package as well as the endless imports of the same APIs all over again.
7986
7987It also supports the modern tendencies in the language.
7988
7989To solve those problems this package does the following:
7990
7991@itemize
7992@item Reexport the original APIs under the @code{Rebase} namespace.
7993
7994@item Export all the possible non-conflicting symbols from the
7995@code{Rebase.Prelude} module.
7996
7997@item Give priority to the modern practices in the conflicting cases.
7998@end itemize
7999
8000The policy behind the package is only to reexport the non-ambiguous and
8001non-controversial APIs, which the community has obviously settled on.
8002The package is intended to rapidly evolve with the contribution from
8003the community, with the missing features being added with pull-requests.")
8004 (license license:expat)))
8005
8006(define-public ghc-reducers
8007 (package
8008 (name "ghc-reducers")
8009 (version "3.12.3")
8010 (source
8011 (origin
8012 (method url-fetch)
8013 (uri (string-append
8014 "https://hackage.haskell.org/package/reducers/reducers-"
8015 version
8016 ".tar.gz"))
8017 (sha256
8018 (base32
8019 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8020 (build-system haskell-build-system)
8021 (inputs
8022 `(("ghc-fingertree" ,ghc-fingertree)
8023 ("ghc-hashable" ,ghc-hashable)
8024 ("ghc-unordered-containers" ,ghc-unordered-containers)
8025 ("ghc-semigroupoids" ,ghc-semigroupoids)
8026 ("ghc-semigroups" ,ghc-semigroups)))
8027 (home-page "https://github.com/ekmett/reducers/")
8028 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8029 (description "This library provides various semigroups, specialized
8030containers and a general map/reduce framework for Haskell.")
8031 (license license:bsd-3)))
8032
8033(define-public ghc-refact
8034 (package
8035 (name "ghc-refact")
8036 (version "0.3.0.2")
8037 (source
8038 (origin
8039 (method url-fetch)
8040 (uri (string-append "https://hackage.haskell.org/package/"
8041 "refact/refact-"
8042 version ".tar.gz"))
8043 (sha256
8044 (base32
8045 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8046 (build-system haskell-build-system)
8047 (home-page "http://hackage.haskell.org/package/refact")
8048 (synopsis "Specify refactorings to perform with apply-refact")
8049 (description
8050 "This library provides a datatype which can be interpreted by
8051@code{apply-refact}. It exists as a separate library so that applications can
8052specify refactorings without depending on GHC.")
8053 (license license:bsd-3)))
8054
8055(define-public ghc-reflection
8056 (package
8057 (name "ghc-reflection")
8058 (version "2.1.4")
8059 (source
8060 (origin
8061 (method url-fetch)
8062 (uri (string-append
8063 "https://hackage.haskell.org/package/reflection/reflection-"
8064 version
8065 ".tar.gz"))
8066 (sha256
8067 (base32
8068 "0kf4a5ijw6jfnfibjcrpdy9vzh1n6v2pxia8dhyyqdissiwc8bzj"))))
8069 (build-system haskell-build-system)
8070 (inputs `(("ghc-tagged" ,ghc-tagged)))
8071 (home-page "https://github.com/ekmett/reflection")
8072 (synopsis "Reify arbitrary terms into types that can be reflected back
8073into terms")
8074 (description "This package addresses the 'configuration problem' which is
8075propagating configurations that are available at run-time, allowing multiple
8076configurations to coexist without resorting to mutable global variables or
8077@code{System.IO.Unsafe.unsafePerformIO}.")
8078 (license license:bsd-3)))
8079
8080(define-public ghc-regex
8081 (package
8082 (name "ghc-regex")
8083 (version "1.0.1.3")
8084 (source
8085 (origin
8086 (method url-fetch)
8087 (uri (string-append "https://hackage.haskell.org/package/regex/"
8088 "regex-" version ".tar.gz"))
8089 (sha256
8090 (base32
8091 "1sjkpkgv4phy5b5v2lr89x4vx4dh44pj0sbvlsp6n86w9v6v4jwb"))))
8092 (build-system haskell-build-system)
8093 (arguments
8094 `(#:phases
8095 (modify-phases %standard-phases
8096 (add-after 'unpack 'relax-dependencies
8097 (lambda _
8098 (substitute* "regex.cabal"
8099 (("base-compat.*>=.*0.6.*")
8100 "base-compat >= 0.6\n")
8101 (("template-haskell.*>=.*2.7.*")
8102 "template-haskell >= 2.7\n"))
8103 #t)))))
8104 (inputs
8105 `(("ghc-base-compat" ,ghc-base-compat)
8106 ("ghc-hashable" ,ghc-hashable)
8107 ("ghc-regex-base" ,ghc-regex-base)
8108 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8109 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8110 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8111 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8112 ("ghc-unordered-containers" ,ghc-unordered-containers)
8113 ("ghc-utf8-string" ,ghc-utf8-string)))
8114 (home-page "http://regex.uk")
8115 (synopsis "Toolkit for regex-base")
8116 (description
8117 "This package provides a regular expression toolkit for @code{regex-base}
8118with compile-time checking of regular expression syntax, data types for
8119matches and captures, a text replacement toolkit, portable options, high-level
8120AWK-like tools for building text processing apps, regular expression macros
8121with parsers and test bench, comprehensive documentation, tutorials and
8122copious examples.")
8123 (license license:bsd-3)))
8124
8125(define-public ghc-regex-applicative
8126 (package
8127 (name "ghc-regex-applicative")
8128 (version "0.3.3")
8129 (source
8130 (origin
8131 (method url-fetch)
8132 (uri (string-append
8133 "https://hackage.haskell.org/package/regex-applicative/"
8134 "regex-applicative-" version ".tar.gz"))
8135 (sha256
8136 (base32
8137 "1riv7jqf26lbv4rm54sd6mrx8xdh4dvh4xbzymzdfdw13k6a4nb6"))))
8138 (build-system haskell-build-system)
8139 (inputs
8140 `(("ghc-smallcheck" ,ghc-smallcheck)
8141 ("ghc-tasty" ,ghc-tasty)
8142 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8143 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8144 (home-page "https://github.com/feuerbach/regex-applicative")
8145 (synopsis "Regex-based parsing with applicative interface")
8146 (description
8147 "@code{regex-applicative} is a Haskell library for parsing using
8148regular expressions. Parsers can be built using Applicative interface.")
8149 (license license:expat)))
8150
8151(define-public ghc-regex-base
8152 (package
8153 (name "ghc-regex-base")
8154 (version "0.93.2")
8155 (source
8156 (origin
8157 (method url-fetch)
8158 (uri (string-append
8159 "https://hackage.haskell.org/package/regex-base/regex-base-"
8160 version
8161 ".tar.gz"))
8162 (sha256
8163 (base32
8164 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8165 (build-system haskell-build-system)
8166 (home-page
8167 "https://sourceforge.net/projects/lazy-regex")
8168 (synopsis "Replaces/Enhances Text.Regex")
8169 (description "@code{Text.Regex.Base} provides the interface API for
8170regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8171 (license license:bsd-3)))
8172
8173(define-public ghc-regex-compat
8174 (package
8175 (name "ghc-regex-compat")
8176 (version "0.95.1")
8177 (source
8178 (origin
8179 (method url-fetch)
8180 (uri (string-append
8181 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8182 version
8183 ".tar.gz"))
8184 (sha256
8185 (base32
8186 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8187 (build-system haskell-build-system)
8188 (inputs
8189 `(("ghc-regex-base" ,ghc-regex-base)
8190 ("ghc-regex-posix" ,ghc-regex-posix)))
8191 (home-page "https://sourceforge.net/projects/lazy-regex")
8192 (synopsis "Replaces/Enhances Text.Regex")
8193 (description "This library provides one module layer over
8194@code{regex-posix} to replace @code{Text.Regex}.")
8195 (license license:bsd-3)))
8196
8197(define-public ghc-regex-compat-tdfa
8198 (package
8199 (name "ghc-regex-compat-tdfa")
8200 (version "0.95.1.4")
8201 (source
8202 (origin
8203 (method url-fetch)
8204 (uri (string-append
8205 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8206 version ".tar.gz"))
8207 (sha256
8208 (base32
8209 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8210 (build-system haskell-build-system)
8211 (inputs
8212 `(("ghc-regex-base" ,ghc-regex-base)
8213 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8214 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8215 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8216 (description
8217 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8218@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8219This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8220this problem.")
8221 (license license:bsd-3)))
8222
8223(define-public ghc-regex-pcre-builtin
8224 (package
8225 (name "ghc-regex-pcre-builtin")
8226 (version "0.94.4.8.8.35")
8227 (source (origin
8228 (method url-fetch)
8229 (uri (string-append "https://hackage.haskell.org/package/"
8230 "regex-pcre-builtin/regex-pcre-builtin-"
8231 version ".tar.gz"))
8232 (sha256
8233 (base32
8234 "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b"))))
8235 (build-system haskell-build-system)
8236 (inputs
8237 `(("ghc-regex-base" ,ghc-regex-base)))
8238 (home-page "https://hackage.haskell.org/package/regex-pcre")
8239 (synopsis "Enhancement of the builtin Text.Regex library")
8240 (description
8241 "This package is an enhancement of the @code{Text.Regex} library,
8242providing the PCRE backend to accompany regex-base, with bundled code from
8243@url{https://www.pcre.org}.")
8244 (license license:bsd-3)))
8245
8246(define-public ghc-regex-posix
8247 (package
8248 (name "ghc-regex-posix")
8249 (version "0.95.2")
8250 (source
8251 (origin
8252 (method url-fetch)
8253 (uri (string-append
8254 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8255 version
8256 ".tar.gz"))
8257 (sha256
8258 (base32
8259 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8260 (build-system haskell-build-system)
8261 (inputs
8262 `(("ghc-regex-base" ,ghc-regex-base)))
8263 (home-page "https://sourceforge.net/projects/lazy-regex")
8264 (synopsis "POSIX regular expressions for Haskell")
8265 (description "This library provides the POSIX regex backend used by the
8266Haskell library @code{regex-base}.")
8267 (license license:bsd-3)))
8268
8269(define-public ghc-regex-tdfa
8270 (package
8271 (name "ghc-regex-tdfa")
8272 (version "1.2.3.1")
8273 (source
8274 (origin
8275 (method url-fetch)
8276 (uri (string-append
8277 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8278 version ".tar.gz"))
8279 (sha256
8280 (base32
8281 "0l7ajnh4hpgggf2a1r9dg0hx2fy679vd2kada5y7r02hy3nfxala"))))
8282 (build-system haskell-build-system)
8283 (inputs
8284 `(("ghc-regex-base" ,ghc-regex-base)))
8285 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8286 (synopsis "POSIX extended regular expressions in Haskell.")
8287 (description
8288 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8289extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8290inspired by libtre.")
8291 (license license:bsd-3)))
8292
8293(define-public ghc-regex-tdfa-text
8294 (package
8295 (name "ghc-regex-tdfa-text")
8296 (version "1.0.0.3")
8297 (source
8298 (origin
8299 (method url-fetch)
8300 (uri (string-append
8301 "https://hackage.haskell.org/package/regex-tdfa-text/"
8302 "regex-tdfa-text-" version ".tar.gz"))
8303 (sha256
8304 (base32
8305 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8306 (build-system haskell-build-system)
8307 (inputs
8308 `(("ghc-regex-base" ,ghc-regex-base)
8309 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8310 (home-page
8311 "http://hackage.haskell.org/package/regex-tdfa-text")
8312 (synopsis "Text interface for regex-tdfa")
8313 (description
8314 "This provides an extra text interface for regex-tdfa.")
8315 (license license:bsd-3)))
8316
8317(define-public ghc-rerebase
8318 (package
8319 (name "ghc-rerebase")
8320 (version "1.2.2")
8321 (source
8322 (origin
8323 (method url-fetch)
8324 (uri (string-append
8325 "https://hackage.haskell.org/package/rerebase/rerebase-"
8326 version ".tar.gz"))
8327 (sha256
8328 (base32
8329 "11v6rmz7ql2rdx6mhb3lsal952lwihclfhh0m7fcnii5br0906ks"))))
8330 (build-system haskell-build-system)
8331 (inputs
8332 `(("ghc-rebase" ,ghc-rebase)))
8333 (home-page "https://github.com/nikita-volkov/rerebase")
8334 (synopsis "Reexports from ``base'' with many other standard libraries")
8335 (description "A rich drop-in replacement for @code{base}. For details and
8336documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8337the project's home page}.")
8338 (license license:expat)))
8339
8340(define-public ghc-resolv
8341 (package
8342 (name "ghc-resolv")
8343 (version "0.1.1.1")
8344 (source
8345 (origin
8346 (method url-fetch)
8347 (uri (string-append
8348 "https://hackage.haskell.org/package/resolv/resolv-"
8349 version ".tar.gz"))
8350 (sha256
8351 (base32
8352 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
8353 (build-system haskell-build-system)
8354 (arguments
8355 `(#:cabal-revision
8356 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
8357 #:tests? #f)) ; The required test frameworks are too old.
8358 (inputs
8359 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8360 (home-page "https://github.com/haskell/hackage-security")
8361 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8362 (description "This package implements an API for accessing the
8363@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8364resolver service via the standard @code{libresolv} system library (whose
8365API is often available directly via the standard @code{libc} C library) on
8366Unix systems.")
8367 (license license:gpl3)))
8368
8369(define-public ghc-resource-pool
8370 (package
8371 (name "ghc-resource-pool")
8372 (version "0.2.3.2")
8373 (source
8374 (origin
8375 (method url-fetch)
8376 (uri (string-append "https://hackage.haskell.org/package/"
8377 "resource-pool-" version "/"
8378 "resource-pool-" version ".tar.gz"))
8379 (sha256
8380 (base32
8381 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8382 (build-system haskell-build-system)
8383 (inputs `(("ghc-hashable" ,ghc-hashable)
8384 ("ghc-monad-control" ,ghc-monad-control)
8385 ("ghc-transformers-base" ,ghc-transformers-base)
8386 ("ghc-vector" ,ghc-vector)))
8387 (home-page "https://github.com/bos/pool")
8388 (synopsis "Striped resource pooling implementation in Haskell")
8389 (description "This Haskell package provides striped pooling abstraction
8390for managing flexibly-sized collections of resources such as database
8391connections.")
8392 (license license:bsd-3)))
8393
8394(define-public ghc-resourcet
8395 (package
8396 (name "ghc-resourcet")
8397 (version "1.2.1")
8398 (source
8399 (origin
8400 (method url-fetch)
8401 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8402 "resourcet-" version ".tar.gz"))
8403 (sha256
8404 (base32
8405 "0rzjzh34s36ssign7akqjnwnjxf11c3511wk7ky0xxy0dqmc2rg7"))))
8406 (build-system haskell-build-system)
8407 (inputs
8408 `(("ghc-transformers-base" ,ghc-transformers-base)
8409 ("ghc-monad-control" ,ghc-monad-control)
8410 ("ghc-transformers-compat" ,ghc-transformers-compat)
8411 ("ghc-mmorph" ,ghc-mmorph)
8412 ("ghc-exceptions" ,ghc-exceptions)
8413 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8414 (native-inputs
8415 `(("ghc-lifted-base" ,ghc-lifted-base)
8416 ("ghc-hspec" ,ghc-hspec)))
8417 (home-page "https://github.com/snoyberg/conduit")
8418 (synopsis "Deterministic allocation and freeing of scarce resources")
8419 (description "ResourceT is a monad transformer which creates a region of
8420code where you can safely allocate resources.")
8421 (license license:bsd-3)))
8422
8423(define-public ghc-rfc5051
8424 (package
8425 (name "ghc-rfc5051")
8426 (version "0.1.0.3")
8427 (source
8428 (origin
8429 (method url-fetch)
8430 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8431 "rfc5051-" version ".tar.gz"))
8432 (sha256
8433 (base32
8434 "0av4c3qvwbkbzrjrrg601ay9pds7wscqqp2lc2z78mv2lllap3g3"))))
8435 (build-system haskell-build-system)
8436 (home-page "https://hackage.haskell.org/package/rfc5051")
8437 (synopsis "Simple unicode collation as per RFC5051")
8438 (description
8439 "This library implements @code{unicode-casemap}, the simple, non
8440locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8441unicode collation can be done using @code{text-icu}, but that is a big
8442dependency that depends on a large C library, and @code{rfc5051} might be
8443better for some purposes.")
8444 (license license:bsd-3)))
8445
8446(define-public ghc-rio
8447 (package
8448 (name "ghc-rio")
8449 (version "0.1.5.0")
8450 (source
8451 (origin
8452 (method url-fetch)
8453 (uri (string-append
8454 "https://hackage.haskell.org/package/rio/rio-"
8455 version ".tar.gz"))
8456 (sha256
8457 (base32
8458 "064h8a4hp53a479d3ak0vmqbx8hi0cpg7zn4wp23rjy26dka8p7g"))))
8459 (build-system haskell-build-system)
8460 (inputs
8461 `(("ghc-exceptions" ,ghc-exceptions)
8462 ("ghc-hashable" ,ghc-hashable)
8463 ("ghc-microlens" ,ghc-microlens)
8464 ("ghc-primitive" ,ghc-primitive)
8465 ("ghc-typed-process" ,ghc-typed-process)
8466 ("ghc-unliftio" ,ghc-unliftio)
8467 ("ghc-unordered-containers" ,ghc-unordered-containers)
8468 ("ghc-vector" ,ghc-vector)))
8469 (native-inputs
8470 `(("ghc-hspec" ,ghc-hspec)
8471 ("hspec-discover" ,hspec-discover)))
8472 (home-page "https://github.com/commercialhaskell/rio#readme")
8473 (synopsis "A standard library for Haskell")
8474 (description "This package works as a prelude replacement for Haskell,
8475providing more functionality and types out of the box than the standard
8476prelude (such as common data types like @code{ByteString} and
8477@code{Text}), as well as removing common ``gotchas'', like partial
8478functions and lazy I/O. The guiding principle here is:
8479@itemize
8480@item If something is safe to use in general and has no expected naming
8481conflicts, expose it.
8482@item If something should not always be used, or has naming conflicts,
8483expose it from another module in the hierarchy.
8484@end itemize")
8485 (license license:expat)))
8486
8487(define-public ghc-safe
8488 (package
8489 (name "ghc-safe")
8490 (version "0.3.17")
8491 (source
8492 (origin
8493 (method url-fetch)
8494 (uri (string-append
8495 "https://hackage.haskell.org/package/safe/safe-"
8496 version
8497 ".tar.gz"))
8498 (sha256
8499 (base32
8500 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8501 (build-system haskell-build-system)
8502 (native-inputs
8503 `(("ghc-quickcheck" ,ghc-quickcheck)))
8504 (home-page "https://github.com/ndmitchell/safe#readme")
8505 (synopsis "Library of safe (exception free) functions")
8506 (description "This library provides wrappers around @code{Prelude} and
8507@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8508exceptions.")
8509 (license license:bsd-3)))
8510
8511(define-public ghc-safe-exceptions
8512 (package
8513 (name "ghc-safe-exceptions")
8514 (version "0.1.7.0")
8515 (source
8516 (origin
8517 (method url-fetch)
8518 (uri (string-append "https://hackage.haskell.org/package/"
8519 "safe-exceptions/safe-exceptions-"
8520 version ".tar.gz"))
8521 (sha256
8522 (base32
8523 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8524 (build-system haskell-build-system)
8525 (arguments
8526 '(#:cabal-revision
8527 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8528 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8529 (native-inputs
8530 `(("ghc-hspec" ,ghc-hspec)
8531 ("ghc-void" ,ghc-void)
8532 ("hspec-discover" ,hspec-discover)))
8533 (home-page "https://github.com/fpco/safe-exceptions")
8534 (synopsis "Safe, consistent, and easy exception handling")
8535 (description "Runtime exceptions - as exposed in @code{base} by the
8536@code{Control.Exception} module - have long been an intimidating part of the
8537Haskell ecosystem. This package is intended to overcome this. It provides a
8538safe and simple API on top of the existing exception handling machinery. The
8539API is equivalent to the underlying implementation in terms of power but
8540encourages best practices to minimize the chances of getting the exception
8541handling wrong.")
8542 (license license:expat)))
8543
8544(define-public ghc-safeio
8545 (package
8546 (name "ghc-safeio")
8547 (version "0.0.5.0")
8548 (source
8549 (origin
8550 (method url-fetch)
8551 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8552 "safeio-" version ".tar.gz"))
8553 (sha256
8554 (base32
8555 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8556 (build-system haskell-build-system)
8557 (inputs
8558 `(("ghc-conduit" ,ghc-conduit)
8559 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8560 ("ghc-exceptions" ,ghc-exceptions)
8561 ("ghc-resourcet" ,ghc-resourcet)))
8562 (native-inputs
8563 `(("ghc-hunit" ,ghc-hunit)
8564 ("ghc-test-framework" ,ghc-test-framework)
8565 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8566 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8567 (home-page "https://github.com/luispedro/safeio")
8568 (synopsis "Write output to disk atomically")
8569 (description
8570 "This package implements utilities to perform atomic output so as to
8571avoid the problem of partial intermediate files.")
8572 (license license:expat)))
8573
8574(define-public ghc-safesemaphore
8575 (package
8576 (name "ghc-safesemaphore")
8577 (version "0.10.1")
8578 (source
8579 (origin
8580 (method url-fetch)
8581 (uri (string-append "https://hackage.haskell.org/package/"
8582 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8583 (sha256
8584 (base32
8585 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8586 (build-system haskell-build-system)
8587 (native-inputs
8588 `(("ghc-hunit" ,ghc-hunit)))
8589 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8590 (synopsis "Exception safe semaphores")
8591 (description "This library provides exception safe semaphores that can be
8592used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8593are not exception safe and can be broken by @code{killThread}.")
8594 (license license:bsd-3)))
8595
8596(define-public ghc-sandi
8597 (package
8598 (name "ghc-sandi")
8599 (version "0.4.2")
8600 (source
8601 (origin
8602 (method url-fetch)
8603 (uri (string-append
8604 "https://hackage.haskell.org/package/sandi/sandi-"
8605 version ".tar.gz"))
8606 (sha256
8607 (base32
8608 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8609 (build-system haskell-build-system)
8610 (inputs
8611 `(("ghc-stringsearch" ,ghc-stringsearch)
8612 ("ghc-conduit" ,ghc-conduit)
8613 ("ghc-exceptions" ,ghc-exceptions)
8614 ("ghc-hunit" ,ghc-hunit)
8615 ("ghc-tasty" ,ghc-tasty)
8616 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8617 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8618 ("ghc-tasty-th" ,ghc-tasty-th)))
8619 (home-page "https://hackage.haskell.org/package/sandi")
8620 (synopsis "Data encoding library")
8621 (description "Reasonably fast data encoding library.")
8622 (license license:bsd-3)))
8623
8624(define-public ghc-scientific
8625 (package
8626 (name "ghc-scientific")
8627 (version "0.3.6.2")
8628 (source
8629 (origin
8630 (method url-fetch)
8631 (uri (string-append
8632 "https://hackage.haskell.org/package/scientific/scientific-"
8633 version
8634 ".tar.gz"))
8635 (sha256
8636 (base32
8637 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8638 (build-system haskell-build-system)
8639 (inputs
8640 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8641 ("ghc-hashable" ,ghc-hashable)
8642 ("ghc-primitive" ,ghc-primitive)))
8643 (native-inputs
8644 `(("ghc-tasty" ,ghc-tasty)
8645 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8646 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8647 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8648 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8649 ("ghc-smallcheck" ,ghc-smallcheck)
8650 ("ghc-quickcheck" ,ghc-quickcheck)))
8651 (home-page "https://github.com/basvandijk/scientific")
8652 (synopsis "Numbers represented using scientific notation")
8653 (description "This package provides @code{Data.Scientific}, which provides
8654the number type @code{Scientific}. Scientific numbers are arbitrary precision
8655and space efficient. They are represented using
8656@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
8657notation}.")
8658 (license license:bsd-3)))
8659
8660(define-public ghc-scientific-bootstrap
8661 (package
8662 (inherit ghc-scientific)
8663 (name "ghc-scientific-bootstrap")
8664 (arguments `(#:tests? #f))
8665 (inputs
8666 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
8667 ("ghc-hashable" ,ghc-hashable)
8668 ("ghc-primitive" ,ghc-primitive)))
8669 (native-inputs '())
799d8d3c 8670 (properties '((hidden? #t)))))
dddbc90c
RV
8671
8672(define-public ghc-sdl
8673 (package
8674 (name "ghc-sdl")
8675 (version "0.6.7.0")
8676 (source
8677 (origin
8678 (method url-fetch)
8679 (uri (string-append
8680 "https://hackage.haskell.org/package/SDL/SDL-"
8681 version
8682 ".tar.gz"))
8683 (sha256
8684 (base32
8685 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
8686 (build-system haskell-build-system)
8687 (inputs
8688 `(("sdl" ,sdl)))
8689 (home-page "https://hackage.haskell.org/package/SDL")
8690 (synopsis "LibSDL for Haskell")
8691 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
8692multimedia library designed to provide low level access to audio, keyboard,
8693mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
8694by MPEG playback software, emulators, and many popular games, including the
8695award winning Linux port of \"Civilization: Call To Power.\"")
8696 (license license:bsd-3)))
8697
1874cdc1
RV
8698(define-public ghc-sdl2
8699 (package
8700 (name "ghc-sdl2")
8701 (version "2.4.1.0")
8702 (source
8703 (origin
8704 (method url-fetch)
8705 (uri (string-append "https://hackage.haskell.org/package/"
8706 "sdl2/sdl2-" version ".tar.gz"))
8707 (sha256
8708 (base32
8709 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
8710 (build-system haskell-build-system)
8711 (arguments '(#:tests? #f)) ; tests require graphical environment
8712 (inputs
8713 `(("ghc-exceptions" ,ghc-exceptions)
8714 ("ghc-linear" ,ghc-linear)
8715 ("ghc-statevar" ,ghc-statevar)
8716 ("ghc-vector" ,ghc-vector)
8717 ("sdl2" ,sdl2)))
8718 (native-inputs
8719 `(("ghc-weigh" ,ghc-weigh)
8720 ("pkg-config" ,pkg-config)))
8721 (home-page "http://hackage.haskell.org/package/sdl2")
8722 (synopsis "High- and low-level bindings to the SDL library")
8723 (description
8724 "This package contains bindings to the SDL 2 library, in both high- and
8725low-level forms. The @code{SDL} namespace contains high-level bindings, where
8726enumerations are split into sum types, and we perform automatic
8727error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
8728translation of the C API into Haskell FFI calls. As such, this does not
8729contain sum types nor error checking. Thus this namespace is suitable for
8730building your own abstraction over SDL, but is not recommended for day-to-day
8731programming.")
8732 (license license:bsd-3)))
8733
8734(define-public ghc-sdl2-image
8735 (package
8736 (name "ghc-sdl2-image")
8737 (version "2.0.0")
8738 (source
8739 (origin
8740 (method url-fetch)
8741 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
8742 "sdl2-image-" version ".tar.gz"))
8743 (sha256
8744 (base32
8745 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
8746 (build-system haskell-build-system)
8747 (inputs
8748 `(("ghc-sdl2" ,ghc-sdl2)
8749 ("sdl2-image" ,sdl2-image)))
8750 (native-inputs
8751 `(("pkg-config" ,pkg-config)))
8752 (home-page "http://hackage.haskell.org/package/sdl2-image")
8753 (synopsis "Bindings to SDL2_image")
8754 (description "This package provides Haskell bindings to
8755@code{SDL2_image}.")
8756 (license license:expat)))
8757
8758(define-public ghc-sdl2-mixer
8759 (package
8760 (name "ghc-sdl2-mixer")
8761 (version "1.1.0")
8762 (source
8763 (origin
8764 (method url-fetch)
8765 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
8766 "sdl2-mixer-" version ".tar.gz"))
8767 (sha256
8768 (base32
8769 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
8770 (build-system haskell-build-system)
8771 (inputs
8772 `(("ghc-data-default-class" ,ghc-data-default-class)
8773 ("ghc-lifted-base" ,ghc-lifted-base)
8774 ("ghc-monad-control" ,ghc-monad-control)
8775 ("ghc-sdl2" ,ghc-sdl2)
8776 ("ghc-vector" ,ghc-vector)
8777 ("sdl2-mixer" ,sdl2-mixer)))
8778 (native-inputs
8779 `(("pkg-config" ,pkg-config)))
8780 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
8781 (synopsis "Bindings to SDL2 mixer")
8782 (description "This package provides Haskell bindings to
8783@code{SDL2_mixer}.")
8784 (license license:bsd-3)))
8785
dddbc90c
RV
8786(define-public ghc-sdl-image
8787 (package
8788 (name "ghc-sdl-image")
8789 (version "0.6.2.0")
8790 (source
8791 (origin
8792 (method url-fetch)
8793 (uri (string-append
8794 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
8795 version
8796 ".tar.gz"))
8797 (sha256
8798 (base32
8799 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
8800 (build-system haskell-build-system)
8801 (arguments
8802 `(#:configure-flags
8803 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
8804 (sdl-image-include (string-append sdl-image "/include/SDL")))
8805 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
8806 (inputs
8807 `(("ghc-sdl" ,ghc-sdl)
8808 ("sdl-image" ,sdl-image)))
8809 (home-page "https://hackage.haskell.org/package/SDL-image")
8810 (synopsis "Haskell bindings to libSDL_image")
8811 (description "SDL_image is an image file loading library. It loads images
8812as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
8813PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
8814 (license license:bsd-3)))
8815
8816(define-public ghc-sdl-mixer
8817 (package
8818 (name "ghc-sdl-mixer")
8819 (version "0.6.3.0")
8820 (source
8821 (origin
8822 (method url-fetch)
8823 (uri (string-append
8824 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
8825 version
8826 ".tar.gz"))
8827 (sha256
8828 (base32
8829 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
8830 (build-system haskell-build-system)
8831 (arguments
8832 `(#:configure-flags
8833 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
8834 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
8835 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
8836 (inputs
8837 `(("ghc-sdl" ,ghc-sdl)
8838 ("sdl-mixer" ,sdl-mixer)))
8839 (home-page "https://hackage.haskell.org/package/SDL-mixer")
8840 (synopsis "Haskell bindings to libSDL_mixer")
8841 (description "SDL_mixer is a sample multi-channel audio mixer library. It
8842supports any number of simultaneously playing channels of 16 bit stereo audio,
8843plus a single channel of music, mixed by the popular MikMod MOD, Timidity
8844MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
8845 (license license:bsd-3)))
8846
8847(define-public ghc-securemem
8848 (package
8849 (name "ghc-securemem")
8850 (version "0.1.10")
8851 (source
8852 (origin
8853 (method url-fetch)
8854 (uri (string-append "https://hackage.haskell.org/package/"
8855 "securemem-" version "/"
8856 "securemem-" version ".tar.gz"))
8857 (sha256
8858 (base32
8859 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
8860 (build-system haskell-build-system)
8861 (inputs `(("ghc-byteable" ,ghc-byteable)
8862 ("ghc-memory" ,ghc-memory)))
8863 (home-page "https://github.com/vincenthz/hs-securemem")
8864 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
8865Haskell")
8866 (description "SecureMem is similar to ByteString, except that it provides
8867a memory chunk that will be auto-scrubbed after it run out of scope.")
8868 (license license:bsd-3)))
8869
8870(define-public ghc-semigroupoids
8871 (package
8872 (name "ghc-semigroupoids")
8873 (version "5.2.2")
8874 (source
8875 (origin
8876 (method url-fetch)
8877 (uri (string-append
8878 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
8879 version
8880 ".tar.gz"))
8881 (sha256
8882 (base32
8883 "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
8884 (build-system haskell-build-system)
8885 (arguments
8886 `(#:cabal-revision
8887 ("4" "0pqfrxzypjq6z8lgdkzq4vhcyqkpk5326hny0r6snpc3gm78r4ij")))
8888 (inputs
8889 `(("ghc-base-orphans" ,ghc-base-orphans)
8890 ("ghc-transformers-compat" ,ghc-transformers-compat)
8891 ("ghc-bifunctors" ,ghc-bifunctors)
8892 ("ghc-comonad" ,ghc-comonad)
8893 ("ghc-contravariant" ,ghc-contravariant)
8894 ("ghc-distributive" ,ghc-distributive)
8895 ("ghc-hashable" ,ghc-hashable)
8896 ("ghc-semigroups" ,ghc-semigroups)
8897 ("ghc-tagged" ,ghc-tagged)
8898 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8899 (native-inputs
8900 `(("cabal-doctest" ,cabal-doctest)
8901 ("ghc-doctest" ,ghc-doctest)))
8902 (home-page "https://github.com/ekmett/semigroupoids")
8903 (synopsis "Semigroupoids operations for Haskell")
8904 (description "This library provides a wide array of (semi)groupoids and
8905operations for working with them. A @code{Semigroupoid} is a @code{Category}
8906without the requirement of identity arrows for every object in the category.
8907A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
8908Finally, to work with these weaker structures it is beneficial to have
8909containers that can provide stronger guarantees about their contents, so
8910versions of @code{Traversable} and @code{Foldable} that can be folded with
8911just a @code{Semigroup} are added.")
8912 (license license:bsd-3)))
8913
8914(define-public ghc-semigroups
8915 (package
8916 (name "ghc-semigroups")
8917 (version "0.18.5")
8918 (source
8919 (origin
8920 (method url-fetch)
8921 (uri (string-append
8922 "https://hackage.haskell.org/package/semigroups/semigroups-"
8923 version
8924 ".tar.gz"))
8925 (sha256
8926 (base32
8927 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
8928 (build-system haskell-build-system)
8929 (inputs
8930 `(("ghc-nats" ,ghc-nats)
8931 ("ghc-tagged" ,ghc-tagged)
8932 ("ghc-unordered-containers" ,ghc-unordered-containers)
8933 ("ghc-hashable" ,ghc-hashable)))
8934 (home-page "https://github.com/ekmett/semigroups/")
8935 (synopsis "Semigroup operations for Haskell")
8936 (description "This package provides semigroups for Haskell. In
8937mathematics, a semigroup is an algebraic structure consisting of a set
8938together with an associative binary operation. A semigroup generalizes a
8939monoid in that there might not exist an identity element. It
8940also (originally) generalized a group (a monoid with all inverses) to a type
8941where every element did not have to have an inverse, thus the name
8942semigroup.")
8943 (license license:bsd-3)))
8944
8945(define-public ghc-semigroups-bootstrap
8946 (package
8947 (inherit ghc-semigroups)
8948 (name "ghc-semigroups-bootstrap")
8949 (inputs
8950 `(("ghc-nats" ,ghc-nats-bootstrap)
8951 ("ghc-tagged" ,ghc-tagged)
8952 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
8953 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 8954 (properties '((hidden? #t)))))
dddbc90c
RV
8955
8956(define-public ghc-setenv
8957 (package
8958 (name "ghc-setenv")
8959 (version "0.1.1.3")
8960 (source
8961 (origin
8962 (method url-fetch)
8963 (uri (string-append
8964 "https://hackage.haskell.org/package/setenv/setenv-"
8965 version
8966 ".tar.gz"))
8967 (sha256
8968 (base32
8969 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
8970 (build-system haskell-build-system)
8971 (home-page "https://hackage.haskell.org/package/setenv")
8972 (synopsis "Library for setting environment variables")
8973 (description "This package provides a Haskell library for setting
8974environment variables.")
8975 (license license:expat)))
8976
8977(define-public ghc-setlocale
8978 (package
8979 (name "ghc-setlocale")
8980 (version "1.0.0.8")
8981 (source (origin
8982 (method url-fetch)
8983 (uri (string-append
8984 "https://hackage.haskell.org/package/setlocale-"
8985 version "/setlocale-" version ".tar.gz"))
8986 (sha256
8987 (base32
8988 "0sdrsmkhw08483d73ysgm2926fdbhii61br03lqpqw0lfzj4ilbd"))))
8989 (build-system haskell-build-system)
8990 (home-page "https://hackage.haskell.org/package/setlocale")
8991 (synopsis "Haskell bindings to setlocale")
8992 (description "This package provides Haskell bindings to the
8993@code{setlocale} C function.")
8994 (license license:bsd-3)))
8995
8996(define-public ghc-shakespeare
8997 (package
8998 (name "ghc-shakespeare")
8999 (version "2.0.15")
9000 (source
9001 (origin
9002 (method url-fetch)
9003 (uri (string-append "https://hackage.haskell.org/package/"
9004 "shakespeare-" version "/"
9005 "shakespeare-" version ".tar.gz"))
9006 (sha256
9007 (base32
9008 "1vk4b19zvwy4mpwaq9z3l3kfmz75gfyf7alhh0y112gspgpccm23"))))
9009 (build-system haskell-build-system)
9010 (inputs `(("ghc-aeson" ,ghc-aeson)
9011 ("ghc-blaze-markup" ,ghc-blaze-markup)
9012 ("ghc-blaze-html" ,ghc-blaze-html)
9013 ("ghc-exceptions" ,ghc-exceptions)
9014 ("ghc-vector" ,ghc-vector)
9015 ("ghc-unordered-containers" ,ghc-unordered-containers)
9016 ("ghc-scientific" ,ghc-scientific)))
9017 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9018 ("ghc-hunit" ,ghc-hunit)
9019 ("hspec-discover" ,hspec-discover)))
9020 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9021 (synopsis "Family of type-safe template languages for Haskell")
9022 (description "This Haskell package provides a family of type-safe
9023templates with simple variable interpolation. Shakespeare templates can
9024be used inline with a quasi-quoter or in an external file and it
9025interpolates variables according to the type being inserted.")
9026 (license license:expat)))
9027
9028(define-public ghc-shelly
9029 (package
9030 (name "ghc-shelly")
9031 (version "1.8.1")
9032 (source
9033 (origin
9034 (method url-fetch)
9035 (uri (string-append
9036 "https://hackage.haskell.org/package/shelly/shelly-"
9037 version ".tar.gz"))
9038 (sha256
9039 (base32
9040 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9041 (build-system haskell-build-system)
9042 (inputs
9043 `(("ghc-unix-compat" ,ghc-unix-compat)
9044 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9045 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9046 ("ghc-monad-control" ,ghc-monad-control)
9047 ("ghc-lifted-base" ,ghc-lifted-base)
9048 ("ghc-lifted-async" ,ghc-lifted-async)
9049 ("ghc-exceptions" ,ghc-exceptions)
9050 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9051 ("ghc-async" ,ghc-async)
9052 ("ghc-transformers-base" ,ghc-transformers-base)
9053 ("ghc-hunit" ,ghc-hunit)
9054 ("ghc-hspec" ,ghc-hspec)
9055 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9056 (home-page "https://github.com/yesodweb/Shelly.hs")
9057 (synopsis "Shell-like (systems) programming in Haskell")
9058 (description
9059 "Shelly provides convenient systems programming in Haskell, similar in
9060spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9061 (license license:bsd-3)))
9062
9063(define-public ghc-silently
9064 (package
9065 (name "ghc-silently")
9066 (version "1.2.5")
9067 (source
9068 (origin
9069 (method url-fetch)
9070 (uri (string-append
9071 "https://hackage.haskell.org/package/silently/silently-"
9072 version
9073 ".tar.gz"))
9074 (sha256
9075 (base32
9076 "0f9qm3f7y0hpxn6mddhhg51mm1r134qkvd2kr8r6192ka1ijbxnf"))))
9077 (build-system haskell-build-system)
9078 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9079 ;; (inputs
9080 ;; `(("ghc-temporary" ,ghc-temporary)))
9081 (home-page "https://github.com/hspec/silently")
9082 (synopsis "Prevent writing to stdout")
9083 (description "This package provides functions to prevent or capture
9084writing to stdout and other handles.")
9085 (license license:bsd-3)))
9086
9087(define-public ghc-simple-reflect
9088 (package
9089 (name "ghc-simple-reflect")
9090 (version "0.3.3")
9091 (source
9092 (origin
9093 (method url-fetch)
9094 (uri (string-append
9095 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9096 version
9097 ".tar.gz"))
9098 (sha256
9099 (base32
9100 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9101 (build-system haskell-build-system)
9102 (home-page
9103 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9104 (synopsis
9105 "Simple reflection of expressions containing variables")
9106 (description
9107 "This package allows simple reflection of expressions containing
9108variables. Reflection here means that a Haskell expression is turned into a
9109string. The primary aim of this package is teaching and understanding; there
9110are no options for manipulating the reflected expressions beyond showing
9111them.")
9112 (license license:bsd-3)))
9113
9114(define-public ghc-simple-sendfile
9115 (package
9116 (name "ghc-simple-sendfile")
9117 (version "0.2.27")
9118 (source
9119 (origin
9120 (method url-fetch)
9121 (uri (string-append "https://hackage.haskell.org/package/"
9122 "simple-sendfile-" version "/"
9123 "simple-sendfile-" version ".tar.gz"))
9124 (sha256
9125 (base32
9126 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
9127 (build-system haskell-build-system)
9128 (inputs
9129 `(("ghc-conduit" ,ghc-conduit)
9130 ("ghc-conduit-extra" ,ghc-conduit-extra)
9131 ("ghc-network" ,ghc-network)
9132 ("ghc-resourcet" ,ghc-resourcet)))
9133 (native-inputs
9134 `(("ghc-hspec" ,ghc-hspec)
9135 ("hspec-discover" ,hspec-discover)))
9136 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9137 (synopsis "Cross platform library for the sendfile system call")
9138 (description "This library tries to call minimum system calls which
9139are the bottleneck of web servers.")
9140 (license license:bsd-3)))
9141
9142(define-public ghc-skylighting-core
9143 (package
9144 (name "ghc-skylighting-core")
9145 (version "0.7.2")
9146 (source (origin
9147 (method url-fetch)
9148 (uri (string-append "https://hackage.haskell.org/package/"
9149 "skylighting-core/skylighting-core-"
9150 version ".tar.gz"))
9151 (sha256
9152 (base32
9153 "066fwmwsd7xcvwlinfk2izlzq0xp8697i6lnbgsbl71jdybyackq"))))
9154 (build-system haskell-build-system)
9155 (inputs
9156 `(("ghc-aeson" ,ghc-aeson)
9157 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9158 ("ghc-attoparsec" ,ghc-attoparsec)
9159 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9160 ("ghc-blaze-html" ,ghc-blaze-html)
9161 ("ghc-case-insensitive" ,ghc-case-insensitive)
9162 ("ghc-colour" ,ghc-colour)
9163 ("ghc-hxt" ,ghc-hxt)
9164 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9165 ("ghc-safe" ,ghc-safe)
9166 ("ghc-utf8-string" ,ghc-utf8-string)))
9167 (native-inputs
9168 `(("ghc-diff" ,ghc-diff)
9169 ("ghc-hunit" ,ghc-hunit)
9170 ("ghc-pretty-show" ,ghc-pretty-show)
9171 ("ghc-quickcheck" ,ghc-quickcheck)
9172 ("ghc-tasty" ,ghc-tasty)
9173 ("ghc-tasty-golden" ,ghc-tasty-golden)
9174 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9175 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9176 (home-page "https://github.com/jgm/skylighting")
9177 (synopsis "Syntax highlighting library")
9178 (description "Skylighting is a syntax highlighting library with support
9179for over one hundred languages. It derives its tokenizers from XML syntax
9180definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9181supported by that framework can be added. An optional command-line program is
9182provided. Skylighting is intended to be the successor to highlighting-kate.")
9183 (license license:gpl2)))
9184
9185(define-public ghc-skylighting
9186 (package
9187 (inherit ghc-skylighting-core)
9188 (name "ghc-skylighting")
9189 (version "0.7.2")
9190 (source (origin
9191 (method url-fetch)
9192 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9193 version "/skylighting-" version ".tar.gz"))
9194 (sha256
9195 (base32
9196 "1rh3z1a7a4clvksdw1qlpmhxqkfahwypi70k91whgfamzsqpxdch"))))
9197 (inputs
9198 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9199 ,@(package-inputs ghc-skylighting-core)))))
9200
9201(define-public ghc-smallcheck
9202 (package
9203 (name "ghc-smallcheck")
9204 (version "1.1.5")
9205 (source
9206 (origin
9207 (method url-fetch)
9208 (uri (string-append
9209 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9210 version
9211 ".tar.gz"))
9212 (sha256
9213 (base32
9214 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9215 (build-system haskell-build-system)
9216 (inputs
9217 `(("ghc-logict" ,ghc-logict)))
9218 (home-page
9219 "https://github.com/feuerbach/smallcheck")
9220 (synopsis "Property-based testing library")
9221 (description "SmallCheck is a testing library that allows to verify
9222properties for all test cases up to some depth. The test cases are generated
9223automatically by SmallCheck.")
9224 (license license:bsd-3)))
9225
9226(define-public ghc-socks
9227 (package
9228 (name "ghc-socks")
9229 (version "0.5.6")
9230 (source (origin
9231 (method url-fetch)
9232 (uri (string-append "https://hackage.haskell.org/package/"
9233 "socks/socks-" version ".tar.gz"))
9234 (sha256
9235 (base32
9236 "0f44qy74i0n6ll3jym0a2ipafkpw1h67amcpqmj8iq95h21wsqzs"))))
9237 (build-system haskell-build-system)
9238 (inputs
9239 `(("ghc-cereal" ,ghc-cereal)
9240 ("ghc-network" ,ghc-network)))
9241 (home-page "https://github.com/vincenthz/hs-socks")
9242 (synopsis "SOCKS proxy (version 5) implementation")
9243 (description
9244 "This library provides a SOCKS proxy (version 5) implementation.")
9245 (license license:bsd-3)))
9246
9247(define-public ghc-split
9248 (package
9249 (name "ghc-split")
9250 (version "0.2.3.3")
9251 (outputs '("out" "doc"))
9252 (source
9253 (origin
9254 (method url-fetch)
9255 (uri (string-append
9256 "https://hackage.haskell.org/package/split/split-"
9257 version
9258 ".tar.gz"))
9259 (sha256
9260 (base32
9261 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9262 (build-system haskell-build-system)
9263 (native-inputs
9264 `(("ghc-quickcheck" ,ghc-quickcheck)))
9265 (home-page "https://hackage.haskell.org/package/split")
9266 (synopsis "Combinator library for splitting lists")
9267 (description "This package provides a collection of Haskell functions for
9268splitting lists into parts, akin to the @code{split} function found in several
9269mainstream languages.")
9270 (license license:bsd-3)))
9271
9272(define-public ghc-statevar
9273 (package
9274 (name "ghc-statevar")
9275 (version "1.1.1.1")
9276 (source
9277 (origin
9278 (method url-fetch)
9279 (uri (string-append
9280 "https://hackage.haskell.org/package/StateVar/StateVar-"
9281 version
9282 ".tar.gz"))
9283 (sha256
9284 (base32
9285 "08r2iw0gdmfs4f6wraaq19vfmkjdbics3dbhw39y7mdjd98kcr7b"))))
9286 (build-system haskell-build-system)
9287 (home-page "https://hackage.haskell.org/package/StateVar")
9288 (synopsis "State variables for Haskell")
9289 (description "This package provides state variables, which are references
9290in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9291 (license license:bsd-3)))
9292
9293(define-public ghc-statistics
9294 (package
9295 (name "ghc-statistics")
9296 (version "0.14.0.2")
9297 (source
9298 (origin
9299 (method url-fetch)
9300 (uri (string-append "https://hackage.haskell.org/package/"
9301 "statistics-" version "/"
9302 "statistics-" version ".tar.gz"))
9303 (sha256
9304 (base32
9305 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
9306 (build-system haskell-build-system)
9307 (arguments
9308 '(#:cabal-revision
9309 ("2" "1bx70yqkn62ii17fjv3pig4hklrzkqd09zj67zzjiyjzmn04fir3")
9310 ;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
9311 #:tests? #f))
9312 (inputs
9313 `(("ghc-aeson" ,ghc-aeson)
9314 ("ghc-base-orphans" ,ghc-base-orphans)
9315 ("ghc-erf" ,ghc-erf)
9316 ("ghc-math-functions" ,ghc-math-functions)
9317 ("ghc-monad-par" ,ghc-monad-par)
9318 ("ghc-mwc-random" ,ghc-mwc-random)
9319 ("ghc-primitive" ,ghc-primitive)
9320 ("ghc-vector" ,ghc-vector)
9321 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9322 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9323 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9324 (native-inputs
9325 `(("ghc-hunit" ,ghc-hunit)
9326 ("ghc-quickcheck" ,ghc-quickcheck)
9327 ("ghc-ieee754" ,ghc-ieee754)
9328 ("ghc-test-framework" ,ghc-test-framework)
9329 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9330 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9331 (home-page "https://github.com/bos/mwc-random")
9332 (synopsis "Haskell library of statistical types, data, and functions")
9333 (description "This library provides a number of common functions
9334and types useful in statistics. We focus on high performance, numerical
9335robustness, and use of good algorithms. Where possible, we provide references
9336to the statistical literature.
9337
9338The library's facilities can be divided into four broad categories:
9339
9340@itemize
9341@item Working with widely used discrete and continuous probability
9342distributions. (There are dozens of exotic distributions in use; we focus
9343on the most common.)
9344
9345@item Computing with sample data: quantile estimation, kernel density
9346estimation, histograms, bootstrap methods, significance testing,
9347and regression and autocorrelation analysis.
9348
9349@item Random variate generation under several different distributions.
9350
9351@item Common statistical tests for significant differences between samples.
9352@end itemize")
9353 (license license:bsd-2)))
9354
9355(define-public ghc-stm-chans
9356 (package
9357 (name "ghc-stm-chans")
9358 (version "3.0.0.4")
9359 (source
9360 (origin
9361 (method url-fetch)
9362 (uri (string-append "https://hackage.haskell.org/package/"
9363 "stm-chans-" version "/"
9364 "stm-chans-" version ".tar.gz"))
9365 (sha256
9366 (base32
9367 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9368 (build-system haskell-build-system)
9369 (home-page "https://hackage.haskell.org/package/stm-chans")
9370 (synopsis "Additional types of channels for ghc-stm")
9371 (description "This Haskell package offers a collection of channel types,
9372similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9373features.")
9374 (license license:bsd-3)))
9375
9376(define-public ghc-stm-conduit
9377 (package
9378 (name "ghc-stm-conduit")
9379 (version "4.0.0")
9380 (source
9381 (origin
9382 (method url-fetch)
9383 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9384 "stm-conduit-" version ".tar.gz"))
9385 (sha256
9386 (base32
9387 "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
9388 (build-system haskell-build-system)
9389 (inputs
9390 `(("ghc-stm-chans" ,ghc-stm-chans)
9391 ("ghc-cereal" ,ghc-cereal)
9392 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9393 ("ghc-conduit" ,ghc-conduit)
9394 ("ghc-conduit-extra" ,ghc-conduit-extra)
9395 ("ghc-exceptions" ,ghc-exceptions)
9396 ("ghc-resourcet" ,ghc-resourcet)
9397 ("ghc-async" ,ghc-async)
9398 ("ghc-monad-loops" ,ghc-monad-loops)
9399 ("ghc-unliftio" ,ghc-unliftio)))
9400 (native-inputs
9401 `(("ghc-doctest" ,ghc-doctest)
9402 ("ghc-quickcheck" ,ghc-quickcheck)
9403 ("ghc-hunit" ,ghc-hunit)
9404 ("ghc-test-framework" ,ghc-test-framework)
9405 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9406 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9407 (home-page "https://github.com/cgaebel/stm-conduit")
9408 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9409 (description
9410 "This package provides two simple conduit wrappers around STM channels: a
9411source and a sink.")
9412 (license license:bsd-3)))
9413
9414(define-public ghc-stmonadtrans
9415 (package
9416 (name "ghc-stmonadtrans")
9417 (version "0.4.3")
9418 (source
9419 (origin
9420 (method url-fetch)
9421 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9422 "/STMonadTrans-" version ".tar.gz"))
9423 (sha256
9424 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9425 (build-system haskell-build-system)
9426 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9427 (synopsis "Monad transformer version of the ST monad")
9428 (description
9429 "This package provides a monad transformer version of the @code{ST} monad
9430for strict state threads.")
9431 (license license:bsd-3)))
9432
9433(define-public ghc-storable-complex
9434 (package
9435 (name "ghc-storable-complex")
9436 (version "0.2.2")
9437 (source
9438 (origin
9439 (method url-fetch)
9440 (uri (string-append
9441 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9442 version ".tar.gz"))
9443 (sha256
9444 (base32 "01kwwkpbfjrv26vj83cd92px5qbq1bpgxj0r45534aksqhany1xb"))))
9445 (build-system haskell-build-system)
9446 (home-page "https://github.com/cartazio/storable-complex")
9447 (synopsis "Haskell Storable instance for Complex")
9448 (description "This package provides a Haskell library including a
9449Storable instance for Complex which is binary compatible with C99, C++
9450and Fortran complex data types.")
9451 (license license:bsd-3)))
9452
ad80074a
JS
9453(define-public ghc-storable-record
9454 (package
9455 (name "ghc-storable-record")
9456 (version "0.0.4")
9457 (source
9458 (origin
9459 (method url-fetch)
9460 (uri
9461 (string-append
9462 "https://hackage.haskell.org/package/storable-record/"
9463 "storable-record-" version ".tar.gz"))
9464 (sha256
9465 (base32
9466 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
9467 (build-system haskell-build-system)
9468 (inputs
9469 `(("ghc-semigroups" ,ghc-semigroups)
9470 ("ghc-utility-ht" ,ghc-utility-ht)
9471 ("ghc-storablevector" ,ghc-storablevector)
9472 ("ghc-timeit" ,ghc-timeit)))
9473 (home-page "https://hackage.haskell.org/package/storable-record")
9474 (synopsis "Elegant definition of Storable instances for records")
9475 (description "With this package you can build a Storable instance of
9476a record type from Storable instances of its elements in an elegant way.
9477It does not do any magic, just a bit arithmetic to compute the right
9478offsets, that would be otherwise done manually or by a preprocessor like
9479C2HS. There is no guarantee that the generated memory layout is
9480compatible with that of a corresponding C struct. However, the module
9481generates the smallest layout that is possible with respect to the
9482alignment of the record elements.")
9483 (license license:bsd-3)))
9484
55f4c653
JS
9485(define-public ghc-storable-tuple
9486 (package
9487 (name "ghc-storable-tuple")
9488 (version "0.0.3.3")
9489 (source
9490 (origin
9491 (method url-fetch)
9492 (uri
9493 (string-append
9494 "https://hackage.haskell.org/package/storable-tuple/"
9495 "storable-tuple-" version ".tar.gz"))
9496 (sha256
9497 (base32
9498 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
9499 (build-system haskell-build-system)
9500 (inputs
9501 `(("ghc-storable-record" ,ghc-storable-record)
9502 ("ghc-utility-ht" ,ghc-utility-ht)
9503 ("ghc-base-orphans" ,ghc-base-orphans)))
9504 (home-page "https://hackage.haskell.org/package/storable-tuple")
9505 (synopsis "Storable instance for pairs and triples")
9506 (description "This package provides a Storable instance for pairs
9507and triples which should be binary compatible with C99 and C++. The
9508only purpose of this package is to provide a standard location for this
9509instance so that other packages needing this instance can play nicely
9510together.")
9511 (license license:bsd-3)))
9512
bc06ca45
JS
9513(define-public ghc-storablevector
9514 (package
9515 (name "ghc-storablevector")
9516 (version "0.2.13")
9517 (source
9518 (origin
9519 (method url-fetch)
9520 (uri
9521 (string-append
9522 "https://hackage.haskell.org/package/storablevector/storablevector-"
9523 version ".tar.gz"))
9524 (sha256
9525 (base32
9526 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
9527 (build-system haskell-build-system)
9528 (inputs
9529 `(("ghc-non-negative" ,ghc-non-negative)
9530 ("ghc-utility-ht" ,ghc-utility-ht)
9531 ("ghc-semigroups" ,ghc-semigroups)
9532 ("ghc-unsafe" ,ghc-unsafe)
9533 ("ghc-quickcheck" ,ghc-quickcheck)
9534 ("ghc-syb" ,ghc-syb)))
9535 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
9536 (synopsis "Fast, packed, strict storable arrays with a list interface")
9537 (description "This library provides fast, packed, strict storable
9538arrays with a list interface, a chunky lazy list interface with variable
9539chunk size and an interface for write access via the ST monad. This is
9540much like bytestring and binary but can be used for every
9541@code{Foreign.Storable.Storable} type. See also
9542@url{http://hackage.haskell.org/package/vector}, a library with a
9543similar intention.
9544
9545This library does not do advanced fusion optimization, since especially
9546for lazy vectors this would either be incorrect or not applicable. See
9547@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
9548a library that provides fusion with lazy lists.")
9549 (license license:bsd-3)))
9550
dddbc90c
RV
9551(define-public ghc-streaming-commons
9552 (package
9553 (name "ghc-streaming-commons")
9554 (version "0.2.1.1")
9555 (source
9556 (origin
9557 (method url-fetch)
9558 (uri (string-append "https://hackage.haskell.org/package/"
9559 "streaming-commons/streaming-commons-"
9560 version ".tar.gz"))
9561 (sha256
9562 (base32
9563 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9564 (build-system haskell-build-system)
9565 (inputs
9566 `(("ghc-async" ,ghc-async)
9567 ("ghc-blaze-builder" ,ghc-blaze-builder)
9568 ("ghc-network" ,ghc-network)
9569 ("ghc-random" ,ghc-random)
9570 ("ghc-zlib" ,ghc-zlib)))
9571 (native-inputs
9572 `(("ghc-quickcheck" ,ghc-quickcheck)
9573 ("ghc-hspec" ,ghc-hspec)
9574 ("hspec-discover" ,hspec-discover)))
9575 (home-page "https://hackage.haskell.org/package/streaming-commons")
9576 (synopsis "Conduit and pipes needed by some streaming data libraries")
9577 (description "This package provides low-dependency functionality commonly
9578needed by various Haskell streaming data libraries, such as @code{conduit} and
9579@code{pipe}s.")
9580 (license license:expat)))
9581
9582(define-public ghc-strict
9583 (package
9584 (name "ghc-strict")
9585 (version "0.3.2")
9586 (source
9587 (origin
9588 (method url-fetch)
9589 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
9590 version ".tar.gz"))
9591 (sha256
9592 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
9593 (build-system haskell-build-system)
9594 (home-page "https://hackage.haskell.org/package/strict")
9595 (synopsis "Strict data types and String IO")
9596 (description
9597 "This package provides strict versions of some standard Haskell data
9598types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
9599IO operations.")
9600 (license license:bsd-3)))
9601
9602(define-public ghc-stringbuilder
9603 (package
9604 (name "ghc-stringbuilder")
9605 (version "0.5.1")
9606 (source
9607 (origin
9608 (method url-fetch)
9609 (uri (string-append
9610 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
9611 version
9612 ".tar.gz"))
9613 (sha256
9614 (base32
9615 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
9616 (build-system haskell-build-system)
9617 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
9618 ; enabled
9619 (home-page "https://hackage.haskell.org/package/stringbuilder")
9620 (synopsis "Writer monad for multi-line string literals")
9621 (description "This package provides a writer monad for multi-line string
9622literals.")
9623 (license license:expat)))
9624
9625(define-public ghc-string-qq
9626 (package
9627 (name "ghc-string-qq")
9628 (version "0.0.2")
9629 (source
9630 (origin
9631 (method url-fetch)
9632 (uri (string-append
9633 "https://hackage.haskell.org/package/string-qq/string-qq-"
9634 version
9635 ".tar.gz"))
9636 (sha256
9637 (base32
9638 "0662m3i5xrdrr95w829bszkhp88mj9iy1zya54vk2sl5hz9wlmwp"))))
9639 (build-system haskell-build-system)
9640 (home-page "http://hackage.haskell.org/package/string-qq")
9641 (synopsis
9642 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
9643 (description
9644 "This package provides a quasiquoter for non-interpolated strings, texts
9645and bytestrings.")
9646 (license license:public-domain)))
9647
9648(define-public ghc-stringsearch
9649 (package
9650 (name "ghc-stringsearch")
9651 (version "0.3.6.6")
9652 (source
9653 (origin
9654 (method url-fetch)
9655 (uri (string-append
9656 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
9657 version
9658 ".tar.gz"))
9659 (sha256
9660 (base32
9661 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
9662 (build-system haskell-build-system)
9663 (home-page "https://bitbucket.org/dafis/stringsearch")
9664 (synopsis "Fast searching, splitting and replacing of ByteStrings")
9665 (description "This package provides several functions to quickly search
9666for substrings in strict or lazy @code{ByteStrings}. It also provides
9667functions for breaking or splitting on substrings and replacing all
9668occurrences of a substring (the first in case of overlaps) with another.")
9669 (license license:bsd-3)))
9670
9671(define-public ghc-stylish-haskell
9672 (package
9673 (name "ghc-stylish-haskell")
9674 (version "0.9.2.1")
9675 (source
9676 (origin
9677 (method url-fetch)
9678 (uri (string-append
9679 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
9680 version
9681 ".tar.gz"))
9682 (sha256
9683 (base32
9684 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
9685 (build-system haskell-build-system)
9686 (inputs
9687 `(("ghc-aeson" ,ghc-aeson)
9688 ("ghc-file-embed" ,ghc-file-embed)
9689 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
9690 ("ghc-semigroups" ,ghc-semigroups)
9691 ("ghc-syb" ,ghc-syb)
9692 ("ghc-yaml" ,ghc-yaml)
9693 ("ghc-strict" ,ghc-strict)
9694 ("ghc-optparse-applicative"
9695 ,ghc-optparse-applicative)))
9696 (native-inputs
9697 `(("ghc-hunit" ,ghc-hunit)
9698 ("ghc-test-framework" ,ghc-test-framework)
9699 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
9700 (home-page "https://github.com/jaspervdj/stylish-haskell")
9701 (synopsis "Haskell code prettifier")
9702 (description "Stylish-haskell is a Haskell code prettifier. The goal is
9703not to format all of the code in a file, to avoid \"getting in the way\".
9704However, this tool can e.g. clean up import statements and help doing various
9705tasks that get tedious very quickly. It can
9706@itemize
9707@item
9708Align and sort @code{import} statements
9709@item
9710Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
9711pragmas
9712@item
9713Remove trailing whitespaces
9714@item
9715Align branches in @code{case} and fields in records
9716@item
9717Convert line endings (customisable)
9718@item
9719Replace tabs by four spaces (turned off by default)
9720@item
9721Replace some ASCII sequences by their Unicode equivalent (turned off by
9722default)
9723@end itemize")
9724 (license license:bsd-3)))
9725
9726(define-public ghc-syb
9727 (package
9728 (name "ghc-syb")
9729 (version "0.7")
9730 (outputs '("out" "doc"))
9731 (source
9732 (origin
9733 (method url-fetch)
9734 (uri (string-append
9735 "https://hackage.haskell.org/package/syb/syb-"
9736 version
9737 ".tar.gz"))
9738 (sha256
9739 (base32
9740 "1da2zz7gqm4xbkx5vpd74dayx1svaxyl145fl14mq15lbb77sxdq"))))
9741 (build-system haskell-build-system)
9742 (inputs
9743 `(("ghc-hunit" ,ghc-hunit)))
9744 (home-page
9745 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
9746 (synopsis "Scrap Your Boilerplate")
9747 (description "This package contains the generics system described in the
9748/Scrap Your Boilerplate/ papers (see
9749@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
9750defines the @code{Data} class of types permitting folding and unfolding of
9751constructor applications, instances of this class for primitive types, and a
9752variety of traversals.")
9753 (license license:bsd-3)))
9754
9755(define-public ghc-system-fileio
9756 (package
9757 (name "ghc-system-fileio")
9758 (version "0.3.16.3")
9759 (source
9760 (origin
9761 (method url-fetch)
9762 (uri (string-append
9763 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
9764 version ".tar.gz"))
9765 (sha256
9766 (base32
9767 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
9768 (build-system haskell-build-system)
9769 (inputs
9770 `(("ghc-system-filepath" ,ghc-system-filepath)
9771 ("ghc-chell" ,ghc-chell)
9772 ("ghc-temporary" ,ghc-temporary)))
9773 (home-page "https://github.com/fpco/haskell-filesystem")
9774 (synopsis "Consistent file system interaction across GHC versions")
9775 (description
9776 "This is a small wrapper around the directory, unix, and Win32 packages,
9777for use with system-filepath. It provides a consistent API to the various
9778versions of these packages distributed with different versions of GHC.
9779In particular, this library supports working with POSIX files that have paths
9780which can't be decoded in the current locale encoding.")
9781 (license license:expat)))
9782
9783;; See ghc-system-filepath-bootstrap. In addition this package depends on
9784;; ghc-system-filepath.
9785(define ghc-system-fileio-bootstrap
9786 (package
9787 (name "ghc-system-fileio-bootstrap")
9788 (version "0.3.16.3")
9789 (source
9790 (origin
9791 (method url-fetch)
9792 (uri (string-append
9793 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
9794 version ".tar.gz"))
9795 (sha256
9796 (base32
9797 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
9798 (build-system haskell-build-system)
9799 (arguments
9800 `(#:tests? #f))
9801 (inputs
9802 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9803 ("ghc-temporary" ,ghc-temporary)))
9804 (home-page "https://github.com/fpco/haskell-filesystem")
9805 (synopsis "Consistent file system interaction across GHC versions")
9806 (description
9807 "This is a small wrapper around the directory, unix, and Win32 packages,
9808for use with system-filepath. It provides a consistent API to the various
9809versions of these packages distributed with different versions of GHC.
9810In particular, this library supports working with POSIX files that have paths
9811which can't be decoded in the current locale encoding.")
9812 (license license:expat)))
9813
9814
9815(define-public ghc-system-filepath
9816 (package
9817 (name "ghc-system-filepath")
9818 (version "0.4.14")
9819 (source
9820 (origin
9821 (method url-fetch)
9822 (uri (string-append
9823 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
9824 version ".tar.gz"))
9825 (sha256
9826 (base32
9827 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
9828 (build-system haskell-build-system)
9829 ;; FIXME: One of the tests fails:
9830 ;; [ FAIL ] tests.validity.posix
9831 ;; note: seed=7310214548328823169
9832 ;; *** Failed! Falsifiable (after 24 tests):
9833 ;; 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"
9834 (arguments `(#:tests? #f))
9835 (inputs
9836 `(("ghc-chell" ,ghc-chell)
9837 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
9838 ("ghc-quickcheck" ,ghc-quickcheck)))
9839 (home-page "https://github.com/fpco/haskell-filesystem")
9840 (synopsis "High-level, byte-based file and directory path manipulations")
9841 (description
9842 "Provides a FilePath datatype and utility functions for operating on it.
9843Unlike the filepath package, this package does not simply reuse String,
9844increasing type safety.")
9845 (license license:expat)))
9846
9847;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
9848;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
9849;; which depends on ghc-chell and ghc-chell-quickcheck.
9850;; Therefore we bootstrap it with tests disabled.
9851(define ghc-system-filepath-bootstrap
9852 (package
9853 (name "ghc-system-filepath-bootstrap")
9854 (version "0.4.14")
9855 (source
9856 (origin
9857 (method url-fetch)
9858 (uri (string-append
9859 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
9860 version ".tar.gz"))
9861 (sha256
9862 (base32
9863 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
9864 (build-system haskell-build-system)
9865 (arguments
9866 `(#:tests? #f))
9867 (inputs
9868 `(("ghc-quickcheck" ,ghc-quickcheck)))
9869 (home-page "https://github.com/fpco/haskell-filesystem")
9870 (synopsis "High-level, byte-based file and directory path manipulations")
9871 (description
9872 "Provides a FilePath datatype and utility functions for operating on it.
9873Unlike the filepath package, this package does not simply reuse String,
9874increasing type safety.")
9875 (license license:expat)))
9876
9877
9878(define-public ghc-tagged
9879 (package
9880 (name "ghc-tagged")
9881 (version "0.8.5")
9882 (source
9883 (origin
9884 (method url-fetch)
9885 (uri (string-append
9886 "https://hackage.haskell.org/package/tagged/tagged-"
9887 version
9888 ".tar.gz"))
9889 (sha256
9890 (base32
9891 "16cdzh0bw16nvjnyyy5j9s60malhz4nnazw96vxb0xzdap4m2z74"))))
9892 (build-system haskell-build-system)
9893 (arguments
9894 `(#:cabal-revision
9895 ("2" "0r2knfcq0b4s652vlvlnfwxlc2mkc2ra9kl8bp4zdn1awmfy0ia5")))
9896 (inputs
9897 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
9898 (home-page "https://hackage.haskell.org/package/tagged")
9899 (synopsis "Haskell phantom types to avoid passing dummy arguments")
9900 (description "This library provides phantom types for Haskell 98, to avoid
9901having to unsafely pass dummy arguments.")
9902 (license license:bsd-3)))
9903
9904(define-public ghc-tar
9905 (package
9906 (name "ghc-tar")
9907 (version "0.5.1.0")
9908 (source
9909 (origin
9910 (method url-fetch)
9911 (uri (string-append
9912 "https://hackage.haskell.org/package/tar/tar-"
9913 version ".tar.gz"))
9914 (sha256
9915 (base32
9916 "0s2brvaxg5fki2jdkccmnpssiy6a3wjh24p6a3dkkdvjcixnk7f8"))))
9917 (build-system haskell-build-system)
9918 ;; FIXME: 2/24 tests fail.
9919 (arguments `(#:tests? #f))
9920 (inputs
9921 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
9922 ("ghc-quickcheck" ,ghc-quickcheck)
9923 ("ghc-tasty" ,ghc-tasty)
9924 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9925 (home-page "https://hackage.haskell.org/package/tar")
9926 (synopsis "Reading, writing and manipulating \".tar\" archive files")
9927 (description
9928 "This library is for working with \\\"@.tar@\\\" archive files.
9929It can read and write a range of common variations of the tar archive format
9930including V7, POSIX USTAR and GNU formats. It provides support for packing and
9931unpacking portable archives. This makes it suitable for distribution but not
9932backup because details like file ownership and exact permissions are not
9933preserved. It also provides features for random access to archive content using
9934an index.")
9935 (license license:bsd-3)))
9936
9937(define-public ghc-temporary
9938 (package
9939 (name "ghc-temporary")
9940 (version "1.3")
9941 (source
9942 (origin
9943 (method url-fetch)
9944 (uri (string-append
9945 "https://hackage.haskell.org/package/temporary/temporary-"
9946 version
9947 ".tar.gz"))
9948 (sha256
9949 (base32
9950 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
9951 (build-system haskell-build-system)
9952 (inputs
9953 `(("ghc-exceptions" ,ghc-exceptions)
9954 ("ghc-random" ,ghc-random)))
9955 (native-inputs
9956 `(("ghc-base-compat" ,ghc-base-compat)
9957 ("ghc-tasty" ,ghc-tasty)
9958 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9959 (home-page "https://www.github.com/batterseapower/temporary")
9960 (synopsis "Temporary file and directory support")
9961 (description "The functions for creating temporary files and directories
9962in the Haskelll base library are quite limited. This library just repackages
9963the Cabal implementations of its own temporary file and folder functions so
9964that you can use them without linking against Cabal or depending on it being
9965installed.")
9966 (license license:bsd-3)))
9967
9968(define-public ghc-temporary-rc
9969 (package
9970 (name "ghc-temporary-rc")
9971 (version "1.2.0.3")
9972 (source
9973 (origin
9974 (method url-fetch)
9975 (uri (string-append
9976 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
9977 version
9978 ".tar.gz"))
9979 (sha256
9980 (base32
9981 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
9982 (build-system haskell-build-system)
9983 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
9984 (home-page
9985 "https://www.github.com/feuerbach/temporary")
9986 (synopsis
9987 "Portable temporary file and directory support")
9988 (description
9989 "The functions for creating temporary files and directories in the base
9990library are quite limited. The unixutils package contains some good ones, but
9991they aren't portable to Windows. This library just repackages the Cabal
9992implementations of its own temporary file and folder functions so that you can
9993use them without linking against Cabal or depending on it being installed.
9994This is a better maintained fork of the \"temporary\" package.")
9995 (license license:bsd-3)))
9996
9997(define-public ghc-terminal-size
9998 (package
9999 (name "ghc-terminal-size")
10000 (version "0.3.2.1")
10001 (source (origin
10002 (method url-fetch)
10003 (uri (string-append
10004 "https://hackage.haskell.org/package/terminal-size/"
10005 "terminal-size-" version ".tar.gz"))
10006 (sha256
10007 (base32
10008 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10009 (build-system haskell-build-system)
10010 (home-page "https://hackage.haskell.org/package/terminal-size")
10011 (synopsis "Get terminal window height and width")
10012 (description "Get terminal window height and width without ncurses
10013dependency.")
10014 (license license:bsd-3)))
10015
10016(define-public ghc-texmath
10017 (package
10018 (name "ghc-texmath")
10019 (version "0.11.0.1")
10020 (source (origin
10021 (method url-fetch)
10022 (uri (string-append "https://hackage.haskell.org/package/"
10023 "texmath/texmath-" version ".tar.gz"))
10024 (sha256
10025 (base32
10026 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
10027 (build-system haskell-build-system)
10028 (inputs
10029 `(("ghc-syb" ,ghc-syb)
10030 ("ghc-network-uri" ,ghc-network-uri)
10031 ("ghc-split" ,ghc-split)
10032 ("ghc-temporary" ,ghc-temporary)
10033 ("ghc-utf8-string" ,ghc-utf8-string)
10034 ("ghc-xml" ,ghc-xml)
10035 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10036 (home-page "https://github.com/jgm/texmath")
10037 (synopsis "Conversion between formats used to represent mathematics")
10038 (description
10039 "The texmath library provides functions to read and write TeX math,
10040presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10041Office). Support is also included for converting math formats to pandoc's
10042native format (allowing conversion, via pandoc, to a variety of different
10043markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10044it can parse and apply LaTeX macros.")
10045 (license license:gpl2+)))
10046
10047(define-public ghc-text-binary
10048 (package
10049 (name "ghc-text-binary")
10050 (version "0.2.1.1")
10051 (source
10052 (origin
10053 (method url-fetch)
10054 (uri (string-append "https://hackage.haskell.org/package/"
10055 "text-binary/text-binary-"
10056 version ".tar.gz"))
10057 (sha256
10058 (base32
10059 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10060 (build-system haskell-build-system)
10061 (home-page "https://github.com/kawu/text-binary")
10062 (synopsis "Binary instances for text types")
10063 (description
10064 "This package provides a compatibility layer providing @code{Binary}
10065instances for strict and lazy text types for versions older than 1.2.1 of the
10066text package.")
10067 (license license:bsd-2)))
10068
10069(define-public ghc-tf-random
10070 (package
10071 (name "ghc-tf-random")
10072 (version "0.5")
10073 (outputs '("out" "doc"))
10074 (source
10075 (origin
10076 (method url-fetch)
10077 (uri (string-append
10078 "https://hackage.haskell.org/package/tf-random/tf-random-"
10079 version
10080 ".tar.gz"))
10081 (sha256
10082 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10083 (build-system haskell-build-system)
10084 (inputs
10085 `(("ghc-primitive" ,ghc-primitive)
10086 ("ghc-random" ,ghc-random)))
10087 (home-page "https://hackage.haskell.org/package/tf-random")
10088 (synopsis "High-quality splittable pseudorandom number generator")
10089 (description "This package contains an implementation of a high-quality
10090splittable pseudorandom number generator. The generator is based on a
10091cryptographic hash function built on top of the ThreeFish block cipher. See
10092the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10093Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10094 (license license:bsd-3)))
10095
10096(define-public ghc-th-abstraction
10097 (package
10098 (name "ghc-th-abstraction")
10099 (version "0.2.8.0")
10100 (source
10101 (origin
10102 (method url-fetch)
10103 (uri (string-append "https://hackage.haskell.org/package/"
10104 "th-abstraction/th-abstraction-"
10105 version ".tar.gz"))
10106 (sha256
10107 (base32
10108 "0n17w4q2ykd0nica4sck2wng6md56rfad8x0icl0l8vnzb9nn4ya"))))
10109 (build-system haskell-build-system)
10110 (home-page "https://github.com/glguy/th-abstraction")
10111 (synopsis "Nicer interface for reified information about data types")
10112 (description
10113 "This package normalizes variations in the interface for inspecting
10114datatype information via Template Haskell so that packages and support a
10115single, easier to use informational datatype while supporting many versions of
10116Template Haskell.")
10117 (license license:isc)))
10118
10119(define-public ghc-th-expand-syns
10120 (package
10121 (name "ghc-th-expand-syns")
10122 (version "0.4.4.0")
10123 (source (origin
10124 (method url-fetch)
10125 (uri (string-append "https://hackage.haskell.org/package/"
10126 "th-expand-syns/th-expand-syns-"
10127 version ".tar.gz"))
10128 (sha256
10129 (base32
10130 "01prlvh3py5hq5ccjidfyp9ixq2zd88dkbsidyjrpkja6v8m43yc"))))
10131 (build-system haskell-build-system)
10132 (inputs
10133 `(("ghc-syb" ,ghc-syb)))
10134 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10135 (synopsis "Expands type synonyms in Template Haskell ASTs")
10136 (description
10137 "This package enables users to expand type synonyms in Template Haskell
10138@dfn{abstract syntax trees} (ASTs).")
10139 (license license:bsd-3)))
10140
10141(define-public ghc-th-lift
10142 (package
10143 (name "ghc-th-lift")
10144 (version "0.7.11")
10145 (source (origin
10146 (method url-fetch)
10147 (uri (string-append "https://hackage.haskell.org/package/"
10148 "th-lift/th-lift-" version ".tar.gz"))
10149 (sha256
10150 (base32
10151 "131360zxb0hazbqwbkk6ab2p77jkxr79bwwm618mrwrwkm3x2g6m"))))
10152 (build-system haskell-build-system)
10153 (inputs
10154 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10155 (home-page "https://github.com/mboes/th-lift")
10156 (synopsis "Derive Template Haskell's Lift class for datatypes")
10157 (description
10158 "This is a Haskell library to derive Template Haskell's Lift class for
10159datatypes.")
10160 (license license:bsd-3)))
10161
10162(define-public ghc-th-lift-instances
10163 (package
10164 (name "ghc-th-lift-instances")
10165 (version "0.1.11")
10166 (source
10167 (origin
10168 (method url-fetch)
10169 (uri (string-append "https://hackage.haskell.org/package/"
10170 "th-lift-instances/th-lift-instances-"
10171 version ".tar.gz"))
10172 (sha256
10173 (base32
10174 "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x"))))
10175 (build-system haskell-build-system)
10176 (inputs
10177 `(("ghc-th-lift" ,ghc-th-lift)
10178 ("ghc-vector" ,ghc-vector)
10179 ("ghc-quickcheck" ,ghc-quickcheck)))
10180 (home-page "https://github.com/bennofs/th-lift-instances/")
10181 (synopsis "Lift instances for template-haskell for common data types.")
10182 (description "Most data types in the Haskell platform do not have Lift
10183instances. This package provides orphan instances for @code{containers},
10184@code{text}, @code{bytestring} and @code{vector}.")
10185 (license license:bsd-3)))
10186
10187(define-public ghc-th-orphans
10188 (package
10189 (name "ghc-th-orphans")
10190 (version "0.13.6")
10191 (source (origin
10192 (method url-fetch)
10193 (uri (string-append "https://hackage.haskell.org/package/"
10194 "th-orphans/th-orphans-" version ".tar.gz"))
10195 (sha256
10196 (base32
10197 "0sfl3pn9kq9da3ji3lsgzgzy82vz6yvsg80dmakc1jvk7awycibp"))))
10198 (build-system haskell-build-system)
10199 (inputs
10200 `(("ghc-th-lift" ,ghc-th-lift)
10201 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10202 ("ghc-th-reify-many" ,ghc-th-reify-many)
10203 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10204 (native-inputs
10205 `(("ghc-hspec" ,ghc-hspec)))
10206 (home-page "https://hackage.haskell.org/package/th-orphans")
10207 (synopsis "Orphan instances for TH datatypes")
10208 (description
10209 "This package provides orphan instances for Template Haskell datatypes. In particular,
10210instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10211and @code{Eq} instances. These instances used to live in the haskell-src-meta
10212package, and that's where the version number started.")
10213 (license license:bsd-3)))
10214
10215(define-public ghc-threads
10216 (package
10217 (name "ghc-threads")
10218 (version "0.5.1.6")
10219 (source
10220 (origin
10221 (method url-fetch)
10222 (uri (string-append "https://hackage.haskell.org/package/"
10223 "threads/threads-" version ".tar.gz"))
10224 (sha256
10225 (base32
10226 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10227 (build-system haskell-build-system)
10228 (native-inputs
10229 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10230 ("ghc-hunit" ,ghc-hunit)
10231 ("ghc-test-framework" ,ghc-test-framework)
10232 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10233 (home-page "https://github.com/basvandijk/threads")
10234 (synopsis "Fork threads and wait for their result")
10235 (description "This package provides functions to fork threads and
10236wait for their result, whether it's an exception or a normal value.
10237Besides waiting for the termination of a single thread this package also
10238provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10239package is similar to the @code{threadmanager}, @code{async} and
10240@code{spawn} packages. The advantages of this package are:
10241
dddbc90c
RV
10242@itemize
10243@item Simpler API.
10244@item More efficient in both space and time.
10245@item No space-leak when forking a large number of threads.
10246@item Correct handling of asynchronous exceptions.
10247@item GHC specific functionality like @code{forkOn} and
10248@code{forkIOWithUnmask}.
10249@end itemize")
10250 (license license:bsd-3)))
10251
10252(define-public ghc-th-reify-many
10253 (package
10254 (name "ghc-th-reify-many")
10255 (version "0.1.8")
10256 (source (origin
10257 (method url-fetch)
10258 (uri (string-append "https://hackage.haskell.org/package/"
10259 "th-reify-many/th-reify-many-"
10260 version ".tar.gz"))
10261 (sha256
10262 (base32
10263 "0hzy6hvhvcd6i60vx5cp2b7ggmnnjh9rx4h8bm8xw4grglcaxjnf"))))
10264 (build-system haskell-build-system)
10265 (inputs
10266 `(("ghc-safe" ,ghc-safe)
10267 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10268 (home-page "https://github.com/mgsloan/th-reify-many")
10269 (synopsis "Recurseively reify template haskell datatype info")
10270 (description
10271 "th-reify-many provides functions for recursively reifying top level
10272declarations. The main intended use case is for enumerating the names of
10273datatypes reachable from an initial datatype, and passing these names to some
10274function which generates instances.")
10275 (license license:bsd-3)))
10276
10277(define-public ghc-time-locale-compat
10278 (package
10279 (name "ghc-time-locale-compat")
10280 (version "0.1.1.5")
10281 (source
10282 (origin
10283 (method url-fetch)
10284 (uri (string-append "https://hackage.haskell.org/package/"
10285 "time-locale-compat/time-locale-compat-"
10286 version ".tar.gz"))
10287 (sha256
10288 (base32
10289 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10290 (build-system haskell-build-system)
10291 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10292 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10293 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10294 (description "This package contains a wrapped name module for
10295@code{TimeLocale}.")
10296 (license license:bsd-3)))
10297
7bbfa392
JS
10298(define-public ghc-timeit
10299 (package
10300 (name "ghc-timeit")
10301 (version "2.0")
10302 (source
10303 (origin
10304 (method url-fetch)
10305 (uri
10306 (string-append
10307 "https://hackage.haskell.org/package/timeit/timeit-"
10308 version ".tar.gz"))
10309 (sha256
10310 (base32
10311 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
10312 (build-system haskell-build-system)
10313 (home-page "https://github.com/merijn/timeit")
10314 (synopsis "Time monadic computations with an IO base")
10315 (description "This package provides a simple wrapper to show the
10316used CPU time of monadic computation with an IO base.")
10317 (license license:bsd-3)))
10318
dddbc90c
RV
10319(define-public ghc-tldr
10320 (package
10321 (name "ghc-tldr")
10322 (version "0.4.0.1")
10323 (source
10324 (origin
10325 (method url-fetch)
10326 (uri (string-append
10327 "https://hackage.haskell.org/package/tldr/tldr-"
10328 version
10329 ".tar.gz"))
10330 (sha256
10331 (base32
10332 "0nc581y9jjzwd8l88g48c72mla7k6q1w102akl7gl5jsk9ljamd3"))))
10333 (build-system haskell-build-system)
10334 (inputs
10335 `(("ghc-cmark" ,ghc-cmark)
10336 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10337 ("ghc-typed-process" ,ghc-typed-process)
10338 ("ghc-semigroups" ,ghc-semigroups)))
10339 (native-inputs
10340 `(("ghc-tasty" ,ghc-tasty)
10341 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10342 (home-page "https://github.com/psibi/tldr-hs#readme")
10343 (synopsis "Haskell tldr client")
10344 (description "This package provides the @command{tldr} command and a
10345Haskell client library allowing users to update and view @code{tldr} pages
10346from a shell. The @code{tldr} pages are a community effort to simplify the
10347man pages with practical examples.")
10348 (license license:bsd-3)))
10349
10350(define-public ghc-transformers-base
10351 (package
10352 (name "ghc-transformers-base")
10353 (version "0.4.5.2")
10354 (source
10355 (origin
10356 (method url-fetch)
10357 (uri (string-append
10358 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10359 version
10360 ".tar.gz"))
10361 (sha256
10362 (base32
10363 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10364 (build-system haskell-build-system)
10365 (inputs
10366 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10367 (home-page
10368 "https://hackage.haskell.org/package/transformers-compat")
10369 (synopsis
10370 "Backported transformer library")
10371 (description
10372 "Backported versions of types that were added to transformers in
10373transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10374compatibility to run on old versions of the platform.")
10375 (license license:bsd-3)))
10376
10377(define-public ghc-transformers-compat
10378 (package
10379 (name "ghc-transformers-compat")
10380 (version "0.6.2")
10381 (source
10382 (origin
10383 (method url-fetch)
10384 (uri (string-append
10385 "https://hackage.haskell.org/package/transformers-compat"
10386 "/transformers-compat-" version ".tar.gz"))
10387 (sha256
10388 (base32
10389 "1gp4a8kvniwgm8947ghb4iwv4b7wd6ry4kvv4nfnym4agf5j41nw"))))
10390 (build-system haskell-build-system)
10391 (home-page "https://github.com/ekmett/transformers-compat/")
10392 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10393 (description "This package includes backported versions of types that were
10394added to transformers in transformers 0.3 and 0.4 for users who need strict
10395transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10396but also need those types.")
10397 (license license:bsd-3)))
10398
10399(define-public ghc-tree-diff
10400 (package
10401 (name "ghc-tree-diff")
10402 (version "0.0.1")
10403 (source
10404 (origin
10405 (method url-fetch)
10406 (uri (string-append
10407 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10408 version
10409 ".tar.gz"))
10410 (sha256
10411 (base32
10412 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10413 (build-system haskell-build-system)
10414 (arguments
10415 `(#:cabal-revision
10416 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10417 #:phases
10418 (modify-phases %standard-phases
10419 (add-before 'configure 'update-constraints
10420 (lambda _
10421 (substitute* "tree-diff.cabal"
10422 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10423 "trifecta >=1.7.1.1 && <=2")))))))
10424 (inputs
10425 `(("ghc-aeson" ,ghc-aeson)
10426 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10427 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10428 ("ghc-base-compat" ,ghc-base-compat)
10429 ("ghc-generics-sop" ,ghc-generics-sop)
10430 ("ghc-hashable" ,ghc-hashable)
10431 ("ghc-memotrie" ,ghc-memotrie)
10432 ("ghc-parsers" ,ghc-parsers)
10433 ("ghc-quickcheck" ,ghc-quickcheck)
10434 ("ghc-scientific" ,ghc-scientific)
10435 ("ghc-tagged" ,ghc-tagged)
10436 ("ghc-unordered-containers" ,ghc-unordered-containers)
10437 ("ghc-uuid-types" ,ghc-uuid-types)
10438 ("ghc-vector" ,ghc-vector)))
10439 (native-inputs
10440 `(("ghc-base-compat" ,ghc-base-compat)
10441 ("ghc-quickcheck" ,ghc-quickcheck)
10442 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10443 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10444 ("ghc-trifecta" ,ghc-trifecta)
10445 ("ghc-tasty" ,ghc-tasty)
10446 ("ghc-tasty-golden" ,ghc-tasty-golden)
10447 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10448 (home-page "https://github.com/phadej/tree-diff")
10449 (synopsis "Compute difference between (expression) trees")
10450 (description "This Haskell library provides a function for computing
10451the difference between (expression) trees. It also provides a way to
10452compute the difference between arbitrary abstract datatypes (ADTs) using
10453@code{Generics}-derivable helpers.")
10454 (license license:bsd-3)))
10455
10456(define-public ghc-trifecta
10457 (package
10458 (name "ghc-trifecta")
10459 (version "2")
10460 (source (origin
10461 (method url-fetch)
10462 (uri (string-append
10463 "https://hackage.haskell.org/package/trifecta/"
10464 "trifecta-" version ".tar.gz"))
10465 (sha256
10466 (base32
10467 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10468 (build-system haskell-build-system)
10469 (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
10470 (inputs
10471 `(("ghc-reducers" ,ghc-reducers)
10472 ("ghc-semigroups" ,ghc-semigroups)
10473 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10474 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10475 ("ghc-blaze-builder" ,ghc-blaze-builder)
10476 ("ghc-blaze-html" ,ghc-blaze-html)
10477 ("ghc-blaze-markup" ,ghc-blaze-markup)
10478 ("ghc-charset" ,ghc-charset)
10479 ("ghc-comonad" ,ghc-comonad)
10480 ("ghc-fingertree" ,ghc-fingertree)
10481 ("ghc-hashable" ,ghc-hashable)
10482 ("ghc-lens" ,ghc-lens)
10483 ("ghc-parsers" ,ghc-parsers)
10484 ("ghc-profunctors" ,ghc-profunctors)
10485 ("ghc-unordered-containers" ,ghc-unordered-containers)
10486 ("ghc-utf8-string" ,ghc-utf8-string)))
10487 (native-inputs
10488 `(("cabal-doctest" ,cabal-doctest)
10489 ("ghc-doctest" ,ghc-doctest)
10490 ("ghc-quickcheck" ,ghc-quickcheck)))
10491 (home-page "https://github.com/ekmett/trifecta/")
10492 (synopsis "Parser combinator library with convenient diagnostics")
10493 (description "Trifecta is a modern parser combinator library for Haskell,
10494with slicing and Clang-style colored diagnostics.")
10495 (license license:bsd-3)))
10496
10497(define-public ghc-tuple-th
10498 (package
10499 (name "ghc-tuple-th")
10500 (version "0.2.5")
10501 (source
10502 (origin
10503 (method url-fetch)
10504 (uri (string-append "https://hackage.haskell.org/package/"
10505 "tuple-th-" version "/"
10506 "tuple-th-" version ".tar.gz"))
10507 (sha256
10508 (base32
10509 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10510 (build-system haskell-build-system)
10511 (home-page "https://github.com/DanielSchuessler/tuple-th")
10512 (synopsis "Generate utility functions for tuples of statically known size
10513for Haskell")
10514 (description "This Haskell package contains Template Haskell functions for
10515generating functions similar to those in @code{Data.List} for tuples of
10516statically known size.")
10517 (license license:bsd-3)))
10518
10519(define-public ghc-typed-process
10520 (package
10521 (name "ghc-typed-process")
10522 (version "0.2.3.0")
10523 (source
10524 (origin
10525 (method url-fetch)
10526 (uri (string-append "https://hackage.haskell.org/package/"
10527 "typed-process/typed-process-"
10528 version ".tar.gz"))
10529 (sha256
10530 (base32
10531 "0j36vrc9w841m5qbwqra1lwiznx31xfnhin1sm8x2c2739csbpn0"))))
10532 (build-system haskell-build-system)
10533 (inputs
10534 `(("ghc-async" ,ghc-async)))
10535 (native-inputs
10536 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10537 ("ghc-hspec" ,ghc-hspec)
10538 ("hspec-discover" ,hspec-discover)
10539 ("ghc-temporary" ,ghc-temporary)))
10540 (home-page "https://haskell-lang.org/library/typed-process")
10541 (synopsis "Run external processes with strong typing of streams")
10542 (description
10543 "This library provides the ability to launch and interact with external
10544processes. It wraps around the @code{process} library, and intends to improve
10545upon it.")
10546 (license license:expat)))
10547
10548(define-public ghc-unbounded-delays
10549 (package
10550 (name "ghc-unbounded-delays")
10551 (version "0.1.1.0")
10552 (source
10553 (origin
10554 (method url-fetch)
10555 (uri (string-append
10556 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
10557 version
10558 ".tar.gz"))
10559 (sha256
10560 (base32
10561 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
10562 (build-system haskell-build-system)
10563 (home-page "https://github.com/basvandijk/unbounded-delays")
10564 (synopsis "Unbounded thread delays and timeouts")
10565 (description "The @code{threadDelay} and @code{timeout} functions from the
10566Haskell base library use the bounded @code{Int} type for specifying the delay
10567or timeout period. This package provides alternative functions which use the
10568unbounded @code{Integer} type.")
10569 (license license:bsd-3)))
10570
10571(define-public ghc-unexceptionalio
10572 (package
10573 (name "ghc-unexceptionalio")
10574 (version "0.4.0")
10575 (source
10576 (origin
10577 (method url-fetch)
10578 (uri (string-append "https://hackage.haskell.org/package/"
10579 "unexceptionalio-" version "/" "unexceptionalio-"
10580 version ".tar.gz"))
10581 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
10582 (build-system haskell-build-system)
10583 (home-page "https://github.com/singpolyma/unexceptionalio")
10584 (synopsis "IO without any non-error, synchronous exceptions")
10585 (description "When you've caught all the exceptions that can be
10586handled safely, this is what you're left with.")
10587 (license license:isc)))
10588
10589(define-public ghc-union-find
10590 (package
10591 (name "ghc-union-find")
10592 (version "0.2")
10593 (source (origin
10594 (method url-fetch)
10595 (uri (string-append
10596 "https://hackage.haskell.org/package/union-find/union-find-"
10597 version ".tar.gz"))
10598 (sha256
10599 (base32
10600 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
10601 (build-system haskell-build-system)
10602 (home-page "https://github.com/nominolo/union-find")
10603 (synopsis "Efficient union and equivalence testing of sets")
10604 (description
10605 "The Union/Find algorithm implements these operations in (effectively)
10606constant-time:
10607@enumerate
10608@item Check whether two elements are in the same equivalence class.
10609@item Create a union of two equivalence classes.
10610@item Look up the descriptor of the equivalence class.
10611@end enumerate\n")
10612 (license license:bsd-3)))
10613
10614(define-public ghc-uniplate
10615 (package
10616 (name "ghc-uniplate")
10617 (version "1.6.12")
10618 (source
10619 (origin
10620 (method url-fetch)
10621 (uri (string-append
10622 "https://hackage.haskell.org/package/uniplate/uniplate-"
10623 version
10624 ".tar.gz"))
10625 (sha256
10626 (base32
10627 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
10628 (build-system haskell-build-system)
10629 (inputs
10630 `(("ghc-syb" ,ghc-syb)
10631 ("ghc-hashable" ,ghc-hashable)
10632 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10633 (home-page "http://community.haskell.org/~ndm/uniplate/")
10634 (synopsis "Simple, concise and fast generic operations")
10635 (description "Uniplate is a library for writing simple and concise generic
10636operations. Uniplate has similar goals to the original Scrap Your Boilerplate
10637work, but is substantially simpler and faster.")
10638 (license license:bsd-3)))
10639
10640(define-public ghc-unix-compat
10641 (package
10642 (name "ghc-unix-compat")
10643 (version "0.5.1")
10644 (source
10645 (origin
10646 (method url-fetch)
10647 (uri (string-append
10648 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
10649 version
10650 ".tar.gz"))
10651 (sha256
10652 (base32
10653 "0llwl7rp63fy2ychwdclz1afj45pbin5pfl01dvn6rwhvmwhr7d3"))))
10654 (build-system haskell-build-system)
10655 (home-page
10656 "https://github.com/jystic/unix-compat")
10657 (synopsis "Portable POSIX-compatibility layer")
10658 (description
10659 "This package provides portable implementations of parts of the unix
10660package. This package re-exports the unix package when available. When it
10661isn't available, portable implementations are used.")
10662 (license license:bsd-3)))
10663
10664(define-public ghc-unix-time
10665 (package
10666 (name "ghc-unix-time")
10667 (version "0.3.8")
10668 (source
10669 (origin
10670 (method url-fetch)
10671 (uri (string-append
10672 "https://hackage.haskell.org/package/unix-time/unix-time-"
10673 version
10674 ".tar.gz"))
10675 (sha256
10676 (base32
10677 "051slgpid5cxiaw203ky0ql3823h28fcjs08axkzd4265wrvv8fw"))))
10678 (build-system haskell-build-system)
10679 (arguments
10680 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
10681 ; is weird, that should be provided by GHC 7.10.2.
10682 (inputs
10683 `(("ghc-old-time" ,ghc-old-time)
10684 ("ghc-old-locale" ,ghc-old-locale)))
10685 (home-page "https://hackage.haskell.org/package/unix-time")
10686 (synopsis "Unix time parser/formatter and utilities")
10687 (description "This library provides fast parsing and formatting utilities
10688for Unix time in Haskell.")
10689 (license license:bsd-3)))
10690
10691(define-public ghc-unliftio
10692 (package
10693 (name "ghc-unliftio")
10694 (version "0.2.7.0")
10695 (source
10696 (origin
10697 (method url-fetch)
10698 (uri (string-append
10699 "https://hackage.haskell.org/package/unliftio/unliftio-"
10700 version
10701 ".tar.gz"))
10702 (sha256
10703 (base32
10704 "0qql93lq5w7qghl454cc3s1i8v1jb4h08n82fqkw0kli4g3g9njs"))))
10705 (build-system haskell-build-system)
10706 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
10707 (inputs
10708 `(("ghc-async" ,ghc-async)
10709 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10710 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
10711 (home-page "https://github.com/fpco/unliftio")
10712 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
10713IO (batteries included)")
10714 (description "This Haskell package provides the core @code{MonadUnliftIO}
10715typeclass, a number of common instances, and a collection of common functions
10716working with it.")
10717 (license license:expat)))
10718
10719(define-public ghc-unliftio-core
10720 (package
10721 (name "ghc-unliftio-core")
10722 (version "0.1.1.0")
10723 (source
10724 (origin
10725 (method url-fetch)
10726 (uri (string-append "https://hackage.haskell.org/package/"
10727 "unliftio-core-" version "/"
10728 "unliftio-core-" version ".tar.gz"))
10729 (sha256
10730 (base32
10731 "1193fplsjm1lcr05xwvkj1rsyzx74i755f6kw3ikmxbsv0bv0l3m"))))
10732 (build-system haskell-build-system)
10733 (arguments
10734 `(#:cabal-revision
10735 ("1" "16bjwcsaghqqmyi69rq65dn3ydifyfaabq3ns37apdm00mwqbcj2")))
10736 (home-page
10737 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
10738 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
10739 (description "This Haskell package provides the core @code{MonadUnliftIO}
10740typeclass, instances for base and transformers, and basic utility
10741functions.")
10742 (license license:expat)))
10743
10744(define-public ghc-unordered-containers
10745 (package
10746 (name "ghc-unordered-containers")
10747 (version "0.2.9.0")
10748 (outputs '("out" "doc"))
10749 (source
10750 (origin
10751 (method url-fetch)
10752 (uri (string-append
10753 "https://hackage.haskell.org/package/unordered-containers"
10754 "/unordered-containers-" version ".tar.gz"))
10755 (sha256
10756 (base32
10757 "0l4264p0av12cc6i8gls13q8y27x12z2ar4x34n3x59y99fcnc37"))))
10758 (build-system haskell-build-system)
10759 (inputs
10760 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
10761 ("ghc-hunit" ,ghc-hunit)
10762 ("ghc-quickcheck" ,ghc-quickcheck)
10763 ("ghc-test-framework" ,ghc-test-framework)
10764 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10765 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
10766 ("ghc-hashable" ,ghc-hashable)))
10767 (home-page
10768 "https://github.com/tibbe/unordered-containers")
10769 (synopsis
10770 "Efficient hashing-based container types")
10771 (description
10772 "Efficient hashing-based container types. The containers have been
10773optimized for performance critical use, both in terms of large data quantities
10774and high speed.")
10775 (license license:bsd-3)))
10776
10777(define-public ghc-unordered-containers-bootstrap
10778 (package
10779 (inherit ghc-unordered-containers)
10780 (name "ghc-unordered-containers-bootstrap")
10781 (arguments `(#:tests? #f))
10782 (inputs
10783 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 10784 (properties '((hidden? #t)))))
dddbc90c 10785
a52f4c57
JS
10786(define-public ghc-unsafe
10787 (package
10788 (name "ghc-unsafe")
10789 (version "0.0")
10790 (source
10791 (origin
10792 (method url-fetch)
10793 (uri
10794 (string-append
10795 "https://hackage.haskell.org/package/unsafe/unsafe-"
10796 version ".tar.gz"))
10797 (sha256
10798 (base32
10799 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
10800 (build-system haskell-build-system)
10801 (home-page "https://hackage.haskell.org/package/unsafe")
10802 (synopsis "Unified interface to unsafe functions")
10803 (description "Safe Haskell introduced the notion of safe and unsafe
10804modules. In order to make as many as possible modules ``safe'', the
10805well-known unsafe functions were moved to distinguished modules. This
10806makes it hard to write packages that work with both old and new versions
10807of GHC. This package provides a single module System.Unsafe that
10808exports the unsafe functions from the base package. It provides them in
10809a style ready for qualification, that is, you should import them by
10810@code{import qualified System.Unsafe as Unsafe}.")
10811 (license license:bsd-3)))
10812
dddbc90c
RV
10813(define-public ghc-uri-bytestring
10814 (package
10815 (name "ghc-uri-bytestring")
10816 (version "0.3.2.0")
10817 (source
10818 (origin
10819 (method url-fetch)
10820 (uri (string-append "https://hackage.haskell.org/package/"
10821 "uri-bytestring-" version "/"
10822 "uri-bytestring-" version ".tar.gz"))
10823 (sha256
10824 (base32
10825 "1q04j5ybvk37zk2m0bkjwyhblz0ymdj0cn4rvsvdca1ikn5xdv5c"))))
10826 (build-system haskell-build-system)
10827 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
10828 ("ghc-fail" ,ghc-fail)
10829 ("ghc-blaze-builder" ,ghc-blaze-builder)
10830 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
10831 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
10832 ("ghc-hunit" ,ghc-hunit)
10833 ("ghc-quickcheck" ,ghc-quickcheck)
10834 ("ghc-tasty" ,ghc-tasty)
10835 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10836 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10837 ("ghc-base-compat" ,ghc-base-compat)
10838 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
10839 ("ghc-semigroups" ,ghc-semigroups)
10840 ("ghc-generics-sop" ,ghc-generics-sop)))
10841 (home-page "https://github.com/Soostone/uri-bytestring")
10842 (synopsis "Haskell URI parsing as ByteStrings")
10843 (description "This Haskell package aims to be an RFC3986 compliant URI
10844parser that uses ByteStrings for parsing and representing the URI data.")
10845 (license license:bsd-3)))
10846
10847(define-public ghc-utf8-string
10848 (package
10849 (name "ghc-utf8-string")
10850 (version "1.0.1.1")
10851 (source
10852 (origin
10853 (method url-fetch)
10854 (uri (string-append
10855 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
10856 version
10857 ".tar.gz"))
10858 (sha256
10859 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
10860 (build-system haskell-build-system)
10861 (arguments
10862 `(#:cabal-revision
10863 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
10864 (home-page "https://github.com/glguy/utf8-string/")
10865 (synopsis "Support for reading and writing UTF8 Strings")
10866 (description
10867 "A UTF8 layer for Strings. The utf8-string package provides operations
10868for encoding UTF8 strings to Word8 lists and back, and for reading and writing
10869UTF8 without truncation.")
10870 (license license:bsd-3)))
10871
10872(define-public ghc-utility-ht
10873 (package
10874 (name "ghc-utility-ht")
10875 (version "0.0.14")
10876 (home-page "https://hackage.haskell.org/package/utility-ht")
10877 (source
10878 (origin
10879 (method url-fetch)
10880 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
10881 (sha256
10882 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
10883 (build-system haskell-build-system)
10884 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
10885 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
10886 (description "This package includes Hakell modules providing various
10887helper functions for Lists, Maybes, Tuples, Functions.")
10888 (license license:bsd-3)))
10889
10890(define-public ghc-uuid
10891 (package
10892 (name "ghc-uuid")
10893 (version "1.3.13")
10894 (source
10895 (origin
10896 (method url-fetch)
10897 (uri (string-append "https://hackage.haskell.org/package/"
10898 "uuid-" version "/"
10899 "uuid-" version ".tar.gz"))
10900 (sha256
10901 (base32
10902 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
10903 (build-system haskell-build-system)
10904 (arguments
10905 `(#:cabal-revision
10906 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
10907 #:phases
10908 (modify-phases %standard-phases
10909 (add-before 'configure 'strip-test-framework-constraints
10910 (lambda _
10911 (substitute* "uuid.cabal"
10912 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
10913 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
10914 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
10915 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
10916 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
10917 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
10918 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
10919 ("ghc-entropy" ,ghc-entropy)
10920 ("ghc-network-info" ,ghc-network-info)
10921 ("ghc-random" ,ghc-random)
10922 ("ghc-uuid-types" ,ghc-uuid-types)))
10923 (native-inputs `(("ghc-hunit" ,ghc-hunit)
10924 ("ghc-quickcheck" ,ghc-quickcheck)
10925 ("ghc-tasty" ,ghc-tasty)
10926 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10927 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10928 (home-page "https://github.com/hvr/uuid")
10929 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
10930 (description "This Haskell library provides utilities creating, comparing,
10931parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
10932 (license license:bsd-3)))
10933
10934(define-public ghc-uuid-types
10935 (package
10936 (name "ghc-uuid-types")
10937 (version "1.0.3")
10938 (source
10939 (origin
10940 (method url-fetch)
10941 (uri (string-append "https://hackage.haskell.org/package/"
10942 "uuid-types-" version "/"
10943 "uuid-types-" version ".tar.gz"))
10944 (sha256
10945 (base32
10946 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
10947 (build-system haskell-build-system)
10948 (arguments
10949 `(#:phases
10950 (modify-phases %standard-phases
10951 (add-before 'configure 'strip-test-framework-constraints
10952 (lambda _
10953 (substitute* "uuid-types.cabal"
10954 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
10955 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
10956 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
10957 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
10958 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
10959 (inputs `(("ghc-hashable" ,ghc-hashable)
10960 ("ghc-random" ,ghc-random)))
10961 (native-inputs `(("ghc-hunit" ,ghc-hunit)
10962 ("ghc-quickcheck" ,ghc-quickcheck)
10963 ("ghc-tasty" ,ghc-tasty)
10964 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10965 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10966 (home-page "https://github.com/hvr/uuid")
10967 (synopsis "Haskell type definitions for UUIDs")
10968 (description "This Haskell library contains type definitions for
10969@dfn{Universally Unique Identifiers} or
10970@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
10971functions.")
10972 (license license:bsd-3)))
10973
10974(define-public ghc-validation
10975 (package
10976 (name "ghc-validation")
10977 (version "1")
10978 (source
10979 (origin
10980 (method url-fetch)
10981 (uri (string-append
10982 "mirror://hackage/package/validation/validation-"
10983 version
10984 ".tar.gz"))
10985 (sha256
10986 (base32
10987 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
10988 (build-system haskell-build-system)
10989 (arguments
10990 `(#:cabal-revision
10991 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
10992 (inputs
10993 `(("ghc-semigroups" ,ghc-semigroups)
10994 ("ghc-semigroupoids" ,ghc-semigroupoids)
10995 ("ghc-bifunctors" ,ghc-bifunctors)
10996 ("ghc-lens" ,ghc-lens)))
10997 (native-inputs
10998 `(("ghc-hedgehog" ,ghc-hedgehog)
10999 ("ghc-hunit" ,ghc-hunit)))
11000 (home-page "https://github.com/qfpl/validation")
11001 (synopsis
11002 "Data-type like Either but with an accumulating Applicative")
11003 (description
11004 "A data-type like Either but with differing properties and type-class
11005instances.
11006
11007Library support is provided for this different representation, including
11008@code{lens}-related functions for converting between each and abstracting over
11009their similarities.
11010
11011The @code{Validation} data type is isomorphic to @code{Either}, but has an
11012instance of @code{Applicative} that accumulates on the error side. That is to
11013say, if two (or more) errors are encountered, they are appended using a
11014@{Semigroup} operation.
11015
11016As a consequence of this @code{Applicative} instance, there is no
11017corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11018example of, \"An applicative functor that is not a monad.\"")
11019 (license license:bsd-3)))
11020
11021(define-public ghc-validity
11022 (package
11023 (name "ghc-validity")
11024 (version "0.7.0.0")
11025 (source
11026 (origin
11027 (method url-fetch)
11028 (uri (string-append
11029 "https://hackage.haskell.org/package/validity/validity-"
11030 version
11031 ".tar.gz"))
11032 (sha256
11033 (base32
11034 "0xribw98amafihw87ddajk6vlirp7w9b26lrnjgq7jfm4710j95f"))))
11035 (build-system haskell-build-system)
11036 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11037 ("hspec-discover" ,hspec-discover)))
11038 (home-page
11039 "https://github.com/NorfairKing/validity")
11040 (synopsis "Validity typeclass")
11041 (description
11042 "Values of custom types usually have invariants imposed upon them. This
11043package provides the @code{Validity} type class, which makes these invariants
11044explicit by providing a function to check whether the invariants hold.")
11045 (license license:expat)))
11046
11047(define-public ghc-vault
11048 (package
11049 (name "ghc-vault")
11050 (version "0.3.1.2")
11051 (source
11052 (origin
11053 (method url-fetch)
11054 (uri (string-append
11055 "https://hackage.haskell.org/package/vault/vault-"
11056 version
11057 ".tar.gz"))
11058 (sha256
11059 (base32
11060 "072mbrihsdsb8c6xvg6lvk0rqjgvxvi8qkg4n6wwym5hq0pfa04y"))))
11061 (build-system haskell-build-system)
11062 (inputs
11063 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11064 ("ghc-hashable" ,ghc-hashable)
11065 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11066 (home-page
11067 "https://github.com/HeinrichApfelmus/vault")
11068 (synopsis "Persistent store for arbitrary values")
11069 (description "This package provides vaults for Haskell. A vault is a
11070persistent store for values of arbitrary types. It's like having first-class
11071access to the storage space behind @code{IORefs}. The data structure is
11072analogous to a bank vault, where you can access different bank boxes with
11073different keys; hence the name. Also provided is a @code{locker} type,
11074representing a store for a single element.")
11075 (license license:bsd-3)))
11076
11077(define-public ghc-vector
11078 (package
11079 (name "ghc-vector")
11080 (version "0.12.0.1")
11081 (outputs '("out" "doc"))
11082 (source
11083 (origin
11084 (method url-fetch)
11085 (uri (string-append
11086 "https://hackage.haskell.org/package/vector/vector-"
11087 version
11088 ".tar.gz"))
11089 (sha256
11090 (base32
11091 "0yrx2ypiaxahvaz84af5bi855hd3107kxkbqc8km29nsp5wyw05i"))))
11092 (build-system haskell-build-system)
11093 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11094 ;; disabled for now.
11095 (arguments
11096 `(#:cabal-revision
11097 ("3" "0y5rh8k710i2a3p1h2rghvr5cfg78p5h0kbfi7ifxqqf6pzlyr1x")
11098 #:tests? #f))
11099 (inputs
11100 `(("ghc-primitive" ,ghc-primitive)
11101 ("ghc-random" ,ghc-random)
11102 ("ghc-quickcheck" ,ghc-quickcheck)
11103 ;; ("ghc-hunit" ,ghc-hunit)
11104 ;; ("ghc-test-framework" ,ghc-test-framework)
11105 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11106 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11107 ))
11108 (home-page "https://github.com/haskell/vector")
11109 (synopsis "Efficient Arrays")
11110 (description "This library provides an efficient implementation of
11111Int-indexed arrays (both mutable and immutable), with a powerful loop
11112optimisation framework.")
11113 (license license:bsd-3)))
11114
11115(define-public ghc-vector-algorithms
11116 (package
11117 (name "ghc-vector-algorithms")
11118 (version "0.7.0.4")
11119 (source
11120 (origin
11121 (method url-fetch)
11122 (uri (string-append "https://hackage.haskell.org/package/"
11123 "vector-algorithms-" version "/"
11124 "vector-algorithms-" version ".tar.gz"))
11125 (sha256
11126 (base32
11127 "0mfa8ig9v69l41p2vb5jl4qmaln5y1rlzarr2mlgm8g1nvq8qqdg"))))
11128 (build-system haskell-build-system)
11129 (inputs
11130 `(("ghc-vector" ,ghc-vector)))
11131 (native-inputs
11132 `(("ghc-quickcheck" ,ghc-quickcheck)))
11133 (home-page "https://github.com/bos/math-functions")
11134 (synopsis "Algorithms for vector arrays in Haskell")
11135 (description "This Haskell library algorithms for vector arrays.")
11136 (license license:bsd-3)))
11137
11138(define-public ghc-vector-binary-instances
11139 (package
11140 (name "ghc-vector-binary-instances")
11141 (version "0.2.4")
11142 (source
11143 (origin
11144 (method url-fetch)
11145 (uri (string-append
11146 "https://hackage.haskell.org/package/"
11147 "vector-binary-instances/vector-binary-instances-"
11148 version ".tar.gz"))
11149 (sha256
11150 (base32
11151 "1y236jb72iab9ska1mc48z6yb0xgwmj45laaqdyjxksd84z7hbrb"))))
11152 (build-system haskell-build-system)
11153 (arguments
11154 `(#:cabal-revision
11155 ("1" "196frl4akhfk7xf1nxzn8lmq99dxhzhsimanswn9yy7ym8zhki4i")))
11156 (inputs
11157 `(("ghc-vector" ,ghc-vector)))
11158 (native-inputs
11159 `(("ghc-tasty" ,ghc-tasty)
11160 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11161 (home-page "https://github.com/bos/vector-binary-instances")
11162 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11163 (description "This library provides instances of @code{Binary} for the
11164types defined in the @code{vector} package, making it easy to serialize
11165vectors to and from disk. We use the generic interface to vectors, so all
11166vector types are supported. Specific instances are provided for unboxed,
11167boxed and storable vectors.")
11168 (license license:bsd-3)))
11169
11170(define-public ghc-vector-builder
11171 (package
11172 (name "ghc-vector-builder")
11173 (version "0.3.6")
11174 (source
11175 (origin
11176 (method url-fetch)
11177 (uri (string-append "https://hackage.haskell.org/package/"
11178 "vector-builder-" version "/"
11179 "vector-builder-" version ".tar.gz"))
11180 (sha256
11181 (base32
11182 "06d2pa1fb3ydrl7l6rjazqyxv5i73v65x2f5fp0ypjxfbm6jsmn8"))))
11183 (build-system haskell-build-system)
11184 (inputs `(("ghc-vector" ,ghc-vector)
11185 ("ghc-semigroups" ,ghc-semigroups)
11186 ("ghc-base-prelude" ,ghc-base-prelude)))
11187 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11188 ("ghc-tasty" ,ghc-tasty)
11189 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11190 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11191 ("ghc-hunit" ,ghc-hunit)
11192 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11193 ("ghc-rerebase" ,ghc-rerebase)))
11194 (home-page "https://github.com/nikita-volkov/vector-builder")
11195 (synopsis "Vector builder for Haskell")
11196 (description "This Haskell package provides an API for constructing vectors.
11197It provides the composable @code{Builder} abstraction, which has instances of the
11198@code{Monoid} and @code{Semigroup} classes.
11199
11200You would first use the @code{Builder} abstraction to specify the structure of
11201the vector; then you can execute the builder to actually produce the
11202vector. ")
11203 (license license:expat)))
11204
11205(define-public ghc-vector-th-unbox
11206 (package
11207 (name "ghc-vector-th-unbox")
11208 (version "0.2.1.6")
11209 (source
11210 (origin
11211 (method url-fetch)
11212 (uri (string-append "https://hackage.haskell.org/package/"
11213 "vector-th-unbox-" version "/"
11214 "vector-th-unbox-" version ".tar.gz"))
11215 (sha256
11216 (base32
11217 "0d82x55f5vvr1jvaia382m23rs690lg55pvavv8f4ph0y6kd91xy"))))
11218 (build-system haskell-build-system)
11219 (inputs
11220 `(("ghc-vector" ,ghc-vector)
11221 ("ghc-data-default" ,ghc-data-default)))
11222 (home-page "https://github.com/liyang/vector-th-unbox")
11223 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
11224 (description "This Haskell library provides a Template Haskell
11225deriver for unboxed vectors, given a pair of coercion functions to
11226and from some existing type with an Unbox instance.")
11227 (license license:bsd-3)))
11228
11229(define-public ghc-void
11230 (package
11231 (name "ghc-void")
11232 (version "0.7.2")
11233 (source
11234 (origin
11235 (method url-fetch)
11236 (uri (string-append
11237 "https://hackage.haskell.org/package/void/void-"
11238 version
11239 ".tar.gz"))
11240 (sha256
11241 (base32
11242 "0aygw0yb1h3yhmfl3bkwh5d3h0l4mmsxz7j53vdm6jryl1kgxzyk"))))
11243 (build-system haskell-build-system)
11244 (inputs
11245 `(("ghc-semigroups" ,ghc-semigroups)
11246 ("ghc-hashable" ,ghc-hashable)))
11247 (home-page "https://github.com/ekmett/void")
11248 (synopsis
11249 "Logically uninhabited data type")
11250 (description
11251 "A Haskell 98 logically uninhabited data type, used to indicate that a
11252given term should not exist.")
11253 (license license:bsd-3)))
11254
11255(define-public ghc-wave
11256 (package
11257 (name "ghc-wave")
11258 (version "0.1.5")
11259 (source (origin
11260 (method url-fetch)
11261 (uri (string-append
11262 "https://hackage.haskell.org/package/wave/wave-"
11263 version
11264 ".tar.gz"))
11265 (sha256
11266 (base32
11267 "03zycmwrchhqvi37fdvlzz2d1vl4hy0i8xyys1zznw38qfq0h2i5"))))
11268 (build-system haskell-build-system)
11269 (arguments
11270 '(#:phases
11271 (modify-phases %standard-phases
11272 (add-before 'configure 'update-constraints
11273 (lambda _
11274 (substitute* "wave.cabal"
11275 (("temporary.* < 1\\.3")
11276 "temporary >= 1.1 && < 1.4")))))))
11277 (inputs
11278 `(("ghc-cereal" ,ghc-cereal)
11279 ("ghc-data-default-class"
11280 ,ghc-data-default-class)
11281 ("ghc-quickcheck" ,ghc-quickcheck)
11282 ("ghc-temporary" ,ghc-temporary)))
11283 (native-inputs
11284 `(("hspec-discover" ,hspec-discover)
11285 ("ghc-hspec" ,ghc-hspec)))
11286 (home-page "https://github.com/mrkkrp/wave")
11287 (synopsis "Work with WAVE and RF64 files in Haskell")
11288 (description "This package allows you to work with WAVE and RF64
11289files in Haskell.")
11290 (license license:bsd-3)))
11291
11292(define-public ghc-wcwidth
11293 (package
11294 (name "ghc-wcwidth")
11295 (version "0.0.2")
11296 (source
11297 (origin
11298 (method url-fetch)
11299 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11300 version ".tar.gz"))
11301 (sha256
11302 (base32
11303 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11304 (build-system haskell-build-system)
11305 (inputs
11306 `(("ghc-setlocale" ,ghc-setlocale)
11307 ("ghc-utf8-string" ,ghc-utf8-string)
11308 ("ghc-attoparsec" ,ghc-attoparsec)))
11309 (home-page "https://github.com/solidsnack/wcwidth/")
11310 (synopsis "Haskell bindings to wcwidth")
11311 (description "This package provides Haskell bindings to your system's
11312native wcwidth and a command line tool to examine the widths assigned by it.
11313The command line tool can compile a width table to Haskell code that assigns
11314widths to the Char type.")
11315 (license license:bsd-3)))
11316
11317(define-public ghc-wcwidth-bootstrap
11318 (package
11319 (inherit ghc-wcwidth)
11320 (name "ghc-wcwidth-bootstrap")
11321 (inputs
11322 `(("ghc-setlocale" ,ghc-setlocale)
11323 ("ghc-utf8-string" ,ghc-utf8-string)
11324 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 11325 (properties '((hidden? #t)))))
dddbc90c
RV
11326
11327(define-public ghc-weigh
11328 (package
11329 (name "ghc-weigh")
11330 (version "0.0.12")
11331 (source
11332 (origin
11333 (method url-fetch)
11334 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11335 "weigh-" version ".tar.gz"))
11336 (sha256
11337 (base32
11338 "0zw2a997gxgdzqmd7j730kxgynzmjvvlkw84dajmfzf1v9pbij7x"))))
11339 (build-system haskell-build-system)
11340 (inputs
11341 `(("ghc-split" ,ghc-split)
11342 ("ghc-temporary" ,ghc-temporary)))
11343 (home-page "https://github.com/fpco/weigh#readme")
11344 (synopsis "Measure allocations of a Haskell functions/values")
11345 (description "This package provides tools to measure the memory usage of a
11346Haskell value or function.")
11347 (license license:bsd-3)))
11348
11349(define-public ghc-wl-pprint
11350 (package
11351 (name "ghc-wl-pprint")
11352 (version "1.2.1")
11353 (source (origin
11354 (method url-fetch)
11355 (uri (string-append
11356 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11357 version ".tar.gz"))
11358 (sha256
11359 (base32
11360 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11361 (build-system haskell-build-system)
11362 (home-page "https://hackage.haskell.org/package/wl-pprint")
11363 (synopsis "Wadler/Leijen pretty printer")
11364 (description
11365 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11366Printer}. This version allows the library user to declare overlapping
11367instances of the @code{Pretty} class.")
11368 (license license:bsd-3)))
11369
11370(define-public ghc-wl-pprint-annotated
11371 (package
11372 (name "ghc-wl-pprint-annotated")
11373 (version "0.1.0.1")
11374 (source
11375 (origin
11376 (method url-fetch)
11377 (uri (string-append
11378 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11379 version
11380 ".tar.gz"))
11381 (sha256
11382 (base32
11383 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11384 (build-system haskell-build-system)
11385 (native-inputs
11386 `(("ghc-tasty" ,ghc-tasty)
11387 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11388 (home-page
11389 "https://github.com/minad/wl-pprint-annotated#readme")
11390 (synopsis
11391 "Wadler/Leijen pretty printer with annotation support")
11392 (description
11393 "Annotations are useful for coloring. This is a limited version of
11394@code{wl-pprint-extras} without support for point effects and without the free
11395monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11396Compared to @code{annotated-wl-pprint} this library provides a slightly
11397modernized interface.")
11398 (license license:bsd-3)))
11399
11400(define-public ghc-wl-pprint-text
11401 (package
11402 (name "ghc-wl-pprint-text")
11403 (version "1.2.0.0")
11404 (source
11405 (origin
11406 (method url-fetch)
11407 (uri (string-append
11408 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11409 version ".tar.gz"))
11410 (sha256
11411 (base32
11412 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11413 (build-system haskell-build-system)
11414 (inputs
11415 `(("ghc-base-compat" ,ghc-base-compat)))
11416 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11417 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11418 (description
11419 "A clone of wl-pprint for use with the text library.")
11420 (license license:bsd-3)))
11421
11422(define-public ghc-word8
11423 (package
11424 (name "ghc-word8")
11425 (version "0.1.3")
11426 (source
11427 (origin
11428 (method url-fetch)
11429 (uri (string-append
11430 "https://hackage.haskell.org/package/word8/word8-"
11431 version
11432 ".tar.gz"))
11433 (sha256
11434 (base32
11435 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11436 (build-system haskell-build-system)
11437 (native-inputs
11438 `(("ghc-hspec" ,ghc-hspec)
11439 ("hspec-discover" ,hspec-discover)))
11440 (home-page "https://hackage.haskell.org/package/word8")
11441 (synopsis "Word8 library for Haskell")
11442 (description "Word8 library to be used with @code{Data.ByteString}.")
11443 (license license:bsd-3)))
11444
11445(define-public ghc-x11
11446 (package
11447 (name "ghc-x11")
11448 (version "1.9")
11449 (source
11450 (origin
11451 (method url-fetch)
11452 (uri (string-append "https://hackage.haskell.org/package/X11/"
11453 "X11-" version ".tar.gz"))
11454 (sha256
11455 (base32 "1f8dy6ckkyvpcv7zlniyv01cqjb9lgqscm8pml58cvwc7n38w4qh"))))
11456 (build-system haskell-build-system)
11457 (inputs
11458 `(("libx11" ,libx11)
11459 ("libxrandr" ,libxrandr)
11460 ("libxinerama" ,libxinerama)
11461 ("libxscrnsaver" ,libxscrnsaver)
11462 ("ghc-data-default" ,ghc-data-default)))
11463 (home-page "https://github.com/haskell-pkg-janitors/X11")
11464 (synopsis "Bindings to the X11 graphics library")
11465 (description
11466 "This package provides Haskell bindings to the X11 graphics library. The
11467bindings are a direct translation of the C bindings.")
11468 (license license:bsd-3)))
11469
11470(define-public ghc-x11-xft
11471 (package
11472 (name "ghc-x11-xft")
11473 (version "0.3.1")
11474 (source
11475 (origin
11476 (method url-fetch)
11477 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11478 "X11-xft-" version ".tar.gz"))
11479 (sha256
11480 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11481 (inputs
11482 `(("ghc-x11" ,ghc-x11)
11483 ("ghc-utf8-string" ,ghc-utf8-string)
11484 ("libx11" ,libx11)
11485 ("libxft" ,libxft)
11486 ("xorgproto" ,xorgproto)))
11487 (native-inputs
11488 `(("pkg-config" ,pkg-config)))
11489 (build-system haskell-build-system)
11490 (home-page "https://hackage.haskell.org/package/X11-xft")
11491 (synopsis "Bindings to Xft")
11492 (description
11493 "Bindings to the Xft, X Free Type interface library, and some Xrender
11494parts.")
11495 (license license:lgpl2.1)))
11496
11497(define-public ghc-xdg-basedir
11498 (package
11499 (name "ghc-xdg-basedir")
11500 (version "0.2.2")
11501 (source
11502 (origin
11503 (method url-fetch)
11504 (uri (string-append
11505 "https://hackage.haskell.org/package/xdg-basedir/"
11506 "xdg-basedir-" version ".tar.gz"))
11507 (sha256
11508 (base32
11509 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
11510 (build-system haskell-build-system)
11511 (home-page "http://github.com/willdonnelly/xdg-basedir")
11512 (synopsis "XDG Base Directory library for Haskell")
11513 (description "This package provides a library implementing the XDG Base Directory spec.")
11514 (license license:bsd-3)))
11515
11516(define-public ghc-xml
11517 (package
11518 (name "ghc-xml")
11519 (version "1.3.14")
11520 (source
11521 (origin
11522 (method url-fetch)
11523 (uri (string-append
11524 "https://hackage.haskell.org/package/xml/xml-"
11525 version
11526 ".tar.gz"))
11527 (sha256
11528 (base32
11529 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
11530 (build-system haskell-build-system)
11531 (home-page "http://code.galois.com")
11532 (synopsis "Simple XML library for Haskell")
11533 (description "This package provides a simple XML library for Haskell.")
11534 (license license:bsd-3)))
11535
11536(define-public ghc-xml-conduit
11537 (package
11538 (name "ghc-xml-conduit")
11539 (version "1.8.0.1")
11540 (source
11541 (origin
11542 (method url-fetch)
11543 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
11544 "xml-conduit-" version ".tar.gz"))
11545 (sha256
11546 (base32
11547 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
11548 (build-system haskell-build-system)
11549 (inputs
11550 `(("ghc-conduit" ,ghc-conduit)
11551 ("ghc-conduit-extra" ,ghc-conduit-extra)
11552 ("ghc-doctest" ,ghc-doctest)
11553 ("ghc-resourcet" ,ghc-resourcet)
11554 ("ghc-xml-types" ,ghc-xml-types)
11555 ("ghc-attoparsec" ,ghc-attoparsec)
11556 ("ghc-data-default-class" ,ghc-data-default-class)
11557 ("ghc-blaze-markup" ,ghc-blaze-markup)
11558 ("ghc-blaze-html" ,ghc-blaze-html)
11559 ("ghc-monad-control" ,ghc-monad-control)
11560 ("ghc-hspec" ,ghc-hspec)
11561 ("ghc-hunit" ,ghc-hunit)))
11562 (home-page "https://github.com/snoyberg/xml")
11563 (synopsis "Utilities for dealing with XML with the conduit package")
11564 (description
11565 "This package provides pure-Haskell utilities for dealing with XML with
11566the @code{conduit} package.")
11567 (license license:expat)))
11568
11569(define-public ghc-xml-types
11570 (package
11571 (name "ghc-xml-types")
11572 (version "0.3.6")
11573 (source
11574 (origin
11575 (method url-fetch)
11576 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
11577 "xml-types-" version ".tar.gz"))
11578 (sha256
11579 (base32
11580 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
11581 (build-system haskell-build-system)
11582 (home-page "https://john-millikin.com/software/haskell-xml/")
11583 (synopsis "Basic types for representing XML")
11584 (description "This package provides basic types for representing XML
11585documents.")
11586 (license license:expat)))
11587
11588(define-public ghc-yaml
11589 (package
11590 (name "ghc-yaml")
11591 (version "0.8.32")
11592 (source (origin
11593 (method url-fetch)
11594 (uri (string-append "https://hackage.haskell.org/package/"
11595 "yaml/yaml-" version ".tar.gz"))
11596 (sha256
11597 (base32
11598 "0cbsyh4ilvjzq1q7pxls43k6pdqxg1l85xzibcwpbvmlvrizh86w"))))
11599 (build-system haskell-build-system)
11600 ;; The tests are broken on i686. They are fixed in 0.10.3.0.
11601 ;; See https://github.com/snoyberg/yaml/issues/158
11602 (arguments `(#:tests? #f))
11603 (inputs
11604 `(("ghc-conduit" ,ghc-conduit)
11605 ("ghc-resourcet" ,ghc-resourcet)
11606 ("ghc-aeson" ,ghc-aeson)
11607 ("ghc-unordered-containers" ,ghc-unordered-containers)
11608 ("ghc-vector" ,ghc-vector)
11609 ("ghc-attoparsec" ,ghc-attoparsec)
11610 ("ghc-scientific" ,ghc-scientific)
11611 ("ghc-semigroups" ,ghc-semigroups)
11612 ("ghc-temporary" ,ghc-temporary)
11613 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11614 ("ghc-base-compat" ,ghc-base-compat)))
11615 (native-inputs
11616 `(("ghc-hspec" ,ghc-hspec)
11617 ("ghc-hunit" ,ghc-hunit)
11618 ("hspec-discover" ,hspec-discover)
11619 ("ghc-mockery" ,ghc-mockery)))
11620 (home-page "https://github.com/snoyberg/yaml/")
11621 (synopsis "Parsing and rendering YAML documents")
11622 (description
11623 "This package provides a library to parse and render YAML documents.")
11624 (license license:bsd-3)))
11625
11626(define-public ghc-zip-archive
11627 (package
11628 (name "ghc-zip-archive")
11629 (version "0.3.3")
11630 (source
11631 (origin
11632 (method url-fetch)
11633 (uri (string-append
11634 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
11635 version
11636 ".tar.gz"))
11637 (sha256
11638 (base32
11639 "0kf8xyac168bng8a0za2jwrbss7a4ralvci9g54hnvl0gkkxx2lq"))))
11640 (build-system haskell-build-system)
11641 (inputs
11642 `(("ghc-digest" ,ghc-digest)
11643 ("ghc-temporary" ,ghc-temporary)
11644 ("ghc-zlib" ,ghc-zlib)))
11645 (native-inputs
11646 `(("ghc-hunit" ,ghc-hunit)
11647 ("unzip" ,unzip)))
11648 (home-page "https://hackage.haskell.org/package/zip-archive")
11649 (synopsis "Zip archive library for Haskell")
11650 (description "The zip-archive library provides functions for creating,
11651modifying, and extracting files from zip archives in Haskell.")
11652 (license license:bsd-3)))
11653
11654(define-public ghc-zlib
11655 (package
11656 (name "ghc-zlib")
11657 (version "0.6.2")
11658 (outputs '("out" "doc"))
11659 (source
11660 (origin
11661 (method url-fetch)
11662 (uri (string-append
11663 "https://hackage.haskell.org/package/zlib/zlib-"
11664 version
11665 ".tar.gz"))
11666 (sha256
11667 (base32
11668 "1vbzf0awb6zb456xf48za1kl22018646cfzq4frvxgb9ay97vk0d"))))
11669 (build-system haskell-build-system)
11670 (arguments
11671 `(#:phases
11672 (modify-phases %standard-phases
11673 (add-before 'configure 'strip-test-framework-constraints
11674 (lambda _
11675 (substitute* "zlib.cabal"
11676 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
11677 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
11678 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11679 (inputs `(("zlib" ,zlib)))
11680 (native-inputs
11681 `(("ghc-quickcheck" ,ghc-quickcheck)
11682 ("ghc-tasty" ,ghc-tasty)
11683 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11684 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11685 (home-page "https://hackage.haskell.org/package/zlib")
11686 (synopsis
11687 "Compression and decompression in the gzip and zlib formats")
11688 (description
11689 "This package provides a pure interface for compressing and decompressing
11690streams of data represented as lazy @code{ByteString}s. It uses the zlib C
11691library so it has high performance. It supports the @code{zlib}, @code{gzip}
11692and @code{raw} compression formats. It provides a convenient high level API
11693suitable for most tasks and for the few cases where more control is needed it
11694provides access to the full zlib feature set.")
bbf8bf31 11695 (license license:bsd-3)))
14e41996
RV
11696
11697(define-public ghc-zlib-bindings
11698 (package
11699 (name "ghc-zlib-bindings")
11700 (version "0.1.1.5")
11701 (source
11702 (origin
11703 (method url-fetch)
11704 (uri (string-append "https://hackage.haskell.org/package/"
11705 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
11706 (sha256
11707 (base32
11708 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
11709 (build-system haskell-build-system)
11710 (inputs
11711 `(("ghc-zlib" ,ghc-zlib)))
11712 (native-inputs
11713 `(("ghc-hspec" ,ghc-hspec)
11714 ("ghc-quickcheck" ,ghc-quickcheck)))
11715 (arguments
11716 `(#:cabal-revision
11717 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
11718 (home-page "https://github.com/snapframework/zlib-bindings")
11719 (synopsis "Low-level bindings to the @code{zlib} package")
11720 (description "This package provides low-level bindings to the
11721@code{zlib} package.")
11722 (license license:bsd-3)))