gnu: ghc-regex-pcre-builtin: Update to 0.94.5.8.8.35.
[jackhill/guix/guix.git] / gnu / packages / haskell-xyz.scm
CommitLineData
6b34d01c 1;;; GNU Guix --- Functional package management for GNU
dddbc90c
RV
2;;; Copyright © 2015, 2016 Federico Beffa <beffa@fbengineering.ch>
3;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
4;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
5;;; Copyright © 2015, 2019 Eric Bavier <bavier@member.fsf.org>
6;;; Copyright © 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
7;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
799d8d3c 8;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
dddbc90c
RV
9;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
10;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
11;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
12;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
13;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
14;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
15;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
16;;; Copyright © 2018 Tonton <tonton@riseup.net>
17;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
18;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
19;;; Copyright © 2018, 2019 Gabriel Hondet <gabrielhondet@gmail.com>
6b34d01c 20;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
dddbc90c 21;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
a52f4c57 22;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
e405912c 23;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
9ad9ec2e 24;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
6b34d01c
RV
25;;;
26;;; This file is part of GNU Guix.
27;;;
28;;; GNU Guix is free software; you can redistribute it and/or modify it
29;;; under the terms of the GNU General Public License as published by
30;;; the Free Software Foundation; either version 3 of the License, or (at
31;;; your option) any later version.
32;;;
33;;; GNU Guix is distributed in the hope that it will be useful, but
34;;; WITHOUT ANY WARRANTY; without even the implied warranty of
35;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
36;;; GNU General Public License for more details.
37;;;
38;;; You should have received a copy of the GNU General Public License
39;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
40
41(define-module (gnu packages haskell-xyz)
42 #:use-module (gnu packages)
dddbc90c
RV
43 #:use-module (gnu packages base)
44 #:use-module (gnu packages compression)
45 #:use-module (gnu packages emacs)
46 #:use-module (gnu packages gcc)
47 #:use-module (gnu packages gl)
48 #:use-module (gnu packages graphviz)
49 #:use-module (gnu packages gtk)
50 #:use-module (gnu packages haskell-apps)
efb96749 51 #:use-module (gnu packages haskell-check)
dddbc90c
RV
52 #:use-module (gnu packages haskell-crypto)
53 #:use-module (gnu packages haskell-web)
54 #:use-module (gnu packages libffi)
55 #:use-module (gnu packages linux)
56 #:use-module (gnu packages lua)
57 #:use-module (gnu packages maths)
49e29df5 58 #:use-module (gnu packages ncurses)
dddbc90c
RV
59 #:use-module (gnu packages pcre)
60 #:use-module (gnu packages pkg-config)
61 #:use-module (gnu packages sdl)
62 #:use-module (gnu packages xml)
63 #:use-module (gnu packages xorg)
6b34d01c
RV
64 #:use-module (guix build-system haskell)
65 #:use-module (guix download)
dddbc90c 66 #:use-module (guix git-download)
4780db2c 67 #:use-module (guix utils)
6b34d01c
RV
68 #:use-module ((guix licenses) #:prefix license:)
69 #:use-module (guix packages))
70
dddbc90c 71(define-public ghc-abstract-deque
efb96749 72 (package
dddbc90c
RV
73 (name "ghc-abstract-deque")
74 (version "0.3")
efb96749
RV
75 (source
76 (origin
77 (method url-fetch)
78 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
79 "abstract-deque-" version "/"
80 "abstract-deque-" version ".tar.gz"))
efb96749
RV
81 (sha256
82 (base32
dddbc90c 83 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
efb96749 84 (build-system haskell-build-system)
dddbc90c
RV
85 (inputs `(("ghc-random" ,ghc-random)))
86 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
87 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
88 (description "This Haskell package provides an abstract interface to
89highly-parameterizable queues/deques.
90
91Background: There exists a feature space for queues that extends between:
efb96749
RV
92
93@itemize
dddbc90c
RV
94@item Simple, single-ended, non-concurrent, bounded queues
95
96@item Double-ended, thread-safe, growable queues with important points
97in between (such as the queues used for work stealing).
efb96749
RV
98@end itemize
99
dddbc90c
RV
100This package includes an interface for Deques that allows the programmer
101to use a single API for all of the above, while using the type system to
102select an efficient implementation given the requirements (using type families).
efb96749 103
dddbc90c
RV
104This package also includes a simple reference implementation based on
105@code{IORef} and @code{Data.Sequence}.")
efb96749
RV
106 (license license:bsd-3)))
107
dddbc90c 108(define-public ghc-abstract-par
658dbc7f 109 (package
dddbc90c
RV
110 (name "ghc-abstract-par")
111 (version "0.3.3")
658dbc7f
RV
112 (source
113 (origin
114 (method url-fetch)
115 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
116 "abstract-par-" version "/"
117 "abstract-par-" version ".tar.gz"))
658dbc7f
RV
118 (sha256
119 (base32
dddbc90c
RV
120 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
121 (build-system haskell-build-system)
122 (home-page "https://github.com/simonmar/monad-par")
123 (synopsis "Abstract parallelization interface for Haskell")
124 (description "This Haskell package is an abstract interface
125only. It provides a number of type clasess, but not an
126implementation. The type classes separate different levels
127of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
128module for more details.")
129 (license license:bsd-3)))
130
131(define-public ghc-adjunctions
132 (package
133 (name "ghc-adjunctions")
134 (version "4.4")
135 (source
136 (origin
137 (method url-fetch)
138 (uri (string-append
139 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
140 version
141 ".tar.gz"))
142 (sha256
143 (base32
144 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f
RV
145 (build-system haskell-build-system)
146 (inputs
dddbc90c
RV
147 `(("ghc-profunctors" ,ghc-profunctors)
148 ("ghc-comonad" ,ghc-comonad)
149 ("ghc-contravariant" ,ghc-contravariant)
150 ("ghc-distributive" ,ghc-distributive)
151 ("ghc-free" ,ghc-free)
152 ("ghc-tagged" ,ghc-tagged)
153 ("ghc-semigroupoids" ,ghc-semigroupoids)
154 ("ghc-semigroups" ,ghc-semigroups)
155 ("ghc-transformers-compat" ,ghc-transformers-compat)
156 ("ghc-void" ,ghc-void)))
658dbc7f 157 (native-inputs
dddbc90c
RV
158 `(("ghc-generic-deriving" ,ghc-generic-deriving)
159 ("ghc-hspec" ,ghc-hspec)
160 ("hspec-discover" ,hspec-discover)))
161 (home-page "https://github.com/ekmett/adjunctions/")
162 (synopsis "Adjunctions and representable functors")
163 (description "This library provides adjunctions and representable functors
164for Haskell.")
165 (license license:bsd-3)))
166
167(define-public ghc-aeson-compat
168 (package
169 (name "ghc-aeson-compat")
170 (version "0.3.8")
171 (source
172 (origin
173 (method url-fetch)
174 (uri (string-append "https://hackage.haskell.org/package/"
175 "aeson-compat-" version "/"
176 "aeson-compat-" version ".tar.gz"))
177 (sha256
178 (base32
179 "0j4v13pgk21zy8hqkbx8hw0n05jdl17qphxz9rj4h333pr547r3i"))))
180 (build-system haskell-build-system)
181 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
182 (inputs `(("ghc-base-compat" ,ghc-base-compat)
183 ("ghc-aeson" ,ghc-aeson)
184 ("ghc-attoparsec" ,ghc-attoparsec)
185 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
186 ("ghc-exceptions" ,ghc-exceptions)
187 ("ghc-hashable" ,ghc-hashable)
188 ("ghc-scientific" ,ghc-scientific)
189 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
190 ("ghc-unordered-containers" ,ghc-unordered-containers)
191 ("ghc-vector" ,ghc-vector)
192 ("ghc-tagged" ,ghc-tagged)
193 ("ghc-semigroups" ,ghc-semigroups)
194 ("ghc-nats" ,ghc-nats)))
195 (home-page "https://github.com/phadej/aeson-compat")
196 (synopsis "Compatibility layer for ghc-aeson")
197 (description "This Haskell package provides compatibility layer for
198ghc-aeson.")
199 (license license:bsd-3)))
200
201(define-public ghc-alex
202 (package
203 (name "ghc-alex")
204 (version "3.2.4")
205 (source
206 (origin
207 (method url-fetch)
208 (uri (string-append
209 "https://hackage.haskell.org/package/alex/alex-"
210 version
211 ".tar.gz"))
212 (sha256
213 (base32
214 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
215 (build-system haskell-build-system)
658dbc7f 216 (arguments
dddbc90c
RV
217 `(#:phases
218 (modify-phases %standard-phases
219 (add-before 'check 'set-check-variables
220 (lambda _
221 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
222 (getenv "PATH")))
223 (setenv "alex_datadir" (string-append (getcwd) "/data"))
224 #t)))))
225 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
226 (native-inputs
227 `(("which" ,which)))
228 (home-page "https://www.haskell.org/alex/")
229 (synopsis
230 "Tool for generating lexical analysers in Haskell")
231 (description
232 "Alex is a tool for generating lexical analysers in Haskell. It takes a
233description of tokens based on regular expressions and generates a Haskell
234module containing code for scanning text efficiently. It is similar to the
235tool lex or flex for C/C++.")
658dbc7f
RV
236 (license license:bsd-3)))
237
dddbc90c 238(define-public ghc-alsa-core
7b01a977 239 (package
dddbc90c
RV
240 (name "ghc-alsa-core")
241 (version "0.5.0.1")
242 (source
243 (origin
244 (method url-fetch)
245 (uri (string-append
246 "mirror://hackage/package/alsa-core/alsa-core-"
247 version
248 ".tar.gz"))
249 (sha256
250 (base32
251 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
252 (build-system haskell-build-system)
253 (inputs
254 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
255 ("alsa-lib" ,alsa-lib)))
256 (native-inputs
257 `(("pkg-config" ,pkg-config)))
258 (home-page "http://www.haskell.org/haskellwiki/ALSA")
259 (synopsis "Binding to the ALSA Library API (Exceptions)")
260 (description "This package provides access to ALSA infrastructure, that is
261needed by both alsa-seq and alsa-pcm.")
262 (license license:bsd-3)))
263
264(define-public ghc-annotated-wl-pprint
265 (package
266 (name "ghc-annotated-wl-pprint")
267 (version "0.7.0")
268 (source
269 (origin
270 (method url-fetch)
271 (uri (string-append
272 "https://hackage.haskell.org/package/annotated-wl-pprint"
273 "/annotated-wl-pprint-" version
274 ".tar.gz"))
275 (sha256
276 (base32
277 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
278 (build-system haskell-build-system)
279 (home-page
280 "https://github.com/david-christiansen/annotated-wl-pprint")
281 (synopsis
282 "The Wadler/Leijen Pretty Printer, with annotation support")
283 (description "This is a modified version of wl-pprint, which was based on
284Wadler's paper \"A Prettier Printer\". This version allows the library user
285to annotate the text with semantic information, which can later be rendered in
286a variety of ways.")
287 (license license:bsd-3)))
288
289(define-public ghc-ansi-terminal
290 (package
291 (name "ghc-ansi-terminal")
292 (version "0.8.0.4")
293 (source
294 (origin
295 (method url-fetch)
296 (uri (string-append
297 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
298 version
299 ".tar.gz"))
300 (sha256
301 (base32
302 "0428gq8m3fdnb7ldcsyk97qcch76hcxbgh2666p6f76fs2qbhg7b"))))
303 (build-system haskell-build-system)
304 (inputs
305 `(("ghc-colour" ,ghc-colour)))
306 (home-page "https://github.com/feuerbach/ansi-terminal")
307 (synopsis "ANSI terminal support for Haskell")
308 (description "This package provides ANSI terminal support for Haskell. It
309allows cursor movement, screen clearing, color output showing or hiding the
310cursor, and changing the title.")
311 (license license:bsd-3)))
312
313(define-public ghc-ansi-wl-pprint
314 (package
315 (name "ghc-ansi-wl-pprint")
316 (version "0.6.8.2")
7b01a977
RV
317 (source
318 (origin
319 (method url-fetch)
320 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 321 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
322 version ".tar.gz"))
323 (sha256
324 (base32
dddbc90c 325 "0gnb4mkqryv08vncxnj0bzwcnd749613yw3cxfzw6y3nsldp4c56"))))
7b01a977
RV
326 (build-system haskell-build-system)
327 (inputs
dddbc90c
RV
328 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
329 (home-page "https://github.com/ekmett/ansi-wl-pprint")
330 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
331 (description "This is a pretty printing library based on Wadler's paper
332\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
333colored output using the ansi-terminal package.")
334 (license license:bsd-3)))
335
336(define-public ghc-appar
337 (package
338 (name "ghc-appar")
1159d1a5 339 (version "0.1.8")
dddbc90c
RV
340 (source
341 (origin
342 (method url-fetch)
343 (uri (string-append
344 "https://hackage.haskell.org/package/appar/appar-"
345 version
346 ".tar.gz"))
347 (sha256
348 (base32
1159d1a5 349 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
350 (build-system haskell-build-system)
351 (home-page
352 "https://hackage.haskell.org/package/appar")
353 (synopsis "Simple applicative parser")
354 (description "This package provides a simple applicative parser in Parsec
355style.")
356 (license license:bsd-3)))
357
358(define-public ghc-async
359 (package
360 (name "ghc-async")
361 (version "2.2.1")
362 (source
363 (origin
364 (method url-fetch)
365 (uri (string-append
366 "https://hackage.haskell.org/package/async/async-"
367 version
368 ".tar.gz"))
369 (sha256
370 (base32
371 "09whscli1q5z7lzyq9rfk0bq1ydplh6pjmc6qv0x668k5818c2wg"))))
372 (build-system haskell-build-system)
373 (inputs
374 `(("ghc-hashable" ,ghc-hashable)
375 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
376 ("ghc-test-framework" ,ghc-test-framework)
377 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
378 (home-page "https://github.com/simonmar/async")
379 (synopsis "Library to run IO operations asynchronously")
380 (description "Async provides a library to run IO operations
381asynchronously, and wait for their results. It is a higher-level interface
382over threads in Haskell, in which @code{Async a} is a concurrent thread that
383will eventually deliver a value of type @code{a}.")
7b01a977
RV
384 (license license:bsd-3)))
385
9ad9ec2e
AG
386(define-public ghc-atomic-primops
387 (package
388 (name "ghc-atomic-primops")
389 (version "0.8.2")
390 (source
391 (origin
392 (method url-fetch)
393 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
394 "/atomic-primops-" version ".tar.gz"))
395 (sha256
396 (base32
397 "0cyr2x6xqz6s233znrz9rnrfj56m9bmnawwnka0lsqqy1hp8gy37"))))
398 (build-system haskell-build-system)
399 (inputs `(("ghc-primitive" ,ghc-primitive)))
400 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
401 (synopsis "Safe approach to CAS and other atomic ops")
402 (description
403 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
404use safely, because pointer equality is a highly unstable property in Haskell.
405This library provides a safer method based on the concept of @code{Ticket}s.")
406 (license license:bsd-3)))
407
dddbc90c 408(define-public ghc-atomic-write
79fcc5e5 409 (package
dddbc90c
RV
410 (name "ghc-atomic-write")
411 (version "0.2.0.5")
79fcc5e5
RV
412 (source
413 (origin
414 (method url-fetch)
dddbc90c
RV
415 (uri (string-append
416 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
417 version
418 ".tar.gz"))
79fcc5e5
RV
419 (sha256
420 (base32
dddbc90c
RV
421 "1iaq0hprxcv0sl1sgwcgmm87zraf738va1bciwnx2jkk3k1v9iyv"))))
422 (build-system haskell-build-system)
423 (inputs
424 `(("ghc-temporary" ,ghc-temporary)
425 ("ghc-unix-compat" ,ghc-unix-compat)))
426 (native-inputs
427 `(("ghc-temporary" ,ghc-temporary)
428 ("ghc-unix-compat" ,ghc-unix-compat)
429 ("ghc-hspec" ,ghc-hspec)
430 ("hspec-discover" ,hspec-discover)))
431 (home-page "https://github.com/stackbuilders/atomic-write")
432 (synopsis "Atomically write to a file")
433 (description
434 "Atomically write to a file on POSIX-compliant systems while preserving
435permissions. @code{mv} is an atomic operation. This makes it simple to write
436to a file atomically just by using the @code{mv} operation. However, this
437will destroy the permissions on the original file. This library preserves
438permissions while atomically writing to a file.")
439 (license license:expat)))
440
441(define-public ghc-attoparsec
442 (package
443 (name "ghc-attoparsec")
444 (version "0.13.2.2")
445 (source
446 (origin
447 (method url-fetch)
448 (uri (string-append
449 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
450 version
451 ".tar.gz"))
452 (sha256
453 (base32
454 "0j6qcwd146yzlkc9mcvzvnixsyl65n2a68l28322q5v9p4g4g4yx"))))
79fcc5e5 455 (build-system haskell-build-system)
79fcc5e5 456 (arguments
dddbc90c
RV
457 `(#:phases
458 (modify-phases %standard-phases
459 (add-after 'unpack 'patch-for-newer-quickcheck
460 (lambda _
461 (substitute* "attoparsec.cabal"
462 (("QuickCheck >= 2\\.7 && < 2\\.10")
463 "QuickCheck >= 2.7 && < 2.12"))
464 ;; This test fails because of the newer QuickCheck:
465 ;; <https://github.com/bos/attoparsec/issues/134>.
466 (substitute* "tests/QC/ByteString.hs"
467 ((", testProperty \"satisfyWith\" satisfyWith")
468 "")))))))
469 (inputs
470 `(("ghc-scientific" ,ghc-scientific)))
471 (native-inputs
472 `(("ghc-tasty" ,ghc-tasty)
473 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
474 ("ghc-quickcheck" ,ghc-quickcheck)
475 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
476 ("ghc-vector" ,ghc-vector)))
477 (home-page "https://github.com/bos/attoparsec")
478 (synopsis "Fast combinator parsing for bytestrings and text")
479 (description "This library provides a fast parser combinator library,
480aimed particularly at dealing efficiently with network protocols and
481complicated text/binary file formats.")
79fcc5e5
RV
482 (license license:bsd-3)))
483
dddbc90c 484(define-public ghc-attoparsec-bootstrap
6b34d01c 485 (package
dddbc90c
RV
486 (inherit ghc-attoparsec)
487 (name "ghc-attoparsec-bootstrap")
488 (arguments `(#:tests? #f))
489 (inputs
490 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
491 (native-inputs '())
799d8d3c 492 (properties '((hidden? #t)))))
dddbc90c
RV
493
494(define-public ghc-attoparsec-iso8601
495 (package
496 (name "ghc-attoparsec-iso8601")
6b34d01c
RV
497 (version "1.0.0.0")
498 (source
499 (origin
500 (method url-fetch)
501 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
502 "attoparsec-iso8601-" version "/"
503 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
504 (sha256
505 (base32
dddbc90c 506 "12l55b76bhya9q89mfmqmy6sl5v39b6gzrw5rf3f70vkb23nsv5a"))))
6b34d01c 507 (build-system haskell-build-system)
dddbc90c
RV
508 (arguments
509 `(#:cabal-revision
510 ("1" "06f7pgmmc8456p3hc1y23kz1y127gfczy7s00wz1rls9g2sm2vi4")))
511 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
512 ("ghc-base-compat" ,ghc-base-compat)))
513 (home-page "https://github.com/bos/aeson")
514 (synopsis "Parse ISO 8601 dates")
515 (description "Haskell library for parsing of ISO 8601 dates, originally
516from aeson.")
6b34d01c 517 (license license:bsd-3)))
b57e99f5 518
dddbc90c 519(define-public ghc-auto-update
b57e99f5 520 (package
dddbc90c
RV
521 (name "ghc-auto-update")
522 (version "0.1.4")
523 (source
524 (origin
525 (method url-fetch)
526 (uri (string-append
527 "https://hackage.haskell.org/package/auto-update/auto-update-"
528 version
529 ".tar.gz"))
530 (sha256
531 (base32
532 "09dlh2alsx2mw5kvj931yhbj0aw7jmly2cm9xbscm2sf098w35jy"))))
533 (build-system haskell-build-system)
534 (home-page "https://github.com/yesodweb/wai")
535 (synopsis "Efficiently run periodic, on-demand actions")
536 (description "This library provides mechanisms to efficiently run
537periodic, on-demand actions in Haskell.")
538 (license license:expat)))
539
540(define-public ghc-aws
541 (package
542 (name "ghc-aws")
543 (version "0.20")
b57e99f5
RV
544 (source
545 (origin
546 (method url-fetch)
547 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
548 "aws-" version "/aws-" version ".tar.gz"))
549 (sha256 (base32
550 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
551 (build-system haskell-build-system)
552 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
553 (inputs
554 `(("ghc-aeson" ,ghc-aeson)
555 ("ghc-attoparsec" ,ghc-attoparsec)
556 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
557 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
558 ("ghc-blaze-builder" ,ghc-blaze-builder)
559 ("ghc-byteable" ,ghc-byteable)
560 ("ghc-case-insensitive" ,ghc-case-insensitive)
561 ("ghc-cereal" ,ghc-cereal)
562 ("ghc-conduit" ,ghc-conduit)
563 ("ghc-conduit-extra" ,ghc-conduit-extra)
564 ("ghc-cryptonite" ,ghc-cryptonite)
565 ("ghc-data-default" ,ghc-data-default)
566 ("ghc-http-conduit" ,ghc-http-conduit)
567 ("ghc-http-types" ,ghc-http-types)
568 ("ghc-lifted-base" ,ghc-lifted-base)
569 ("ghc-monad-control" ,ghc-monad-control)
570 ("ghc-network" ,ghc-network)
571 ("ghc-old-locale" ,ghc-old-locale)
572 ("ghc-safe" ,ghc-safe)
573 ("ghc-scientific" ,ghc-scientific)
574 ("ghc-tagged" ,ghc-tagged)
575 ("ghc-unordered-containers" ,ghc-unordered-containers)
576 ("ghc-utf8-string" ,ghc-utf8-string)
577 ("ghc-vector" ,ghc-vector)
578 ("ghc-xml-conduit" ,ghc-xml-conduit)))
579 (native-inputs
580 `(("ghc-quickcheck" ,ghc-quickcheck)
581 ("ghc-errors" ,ghc-errors)
582 ("ghc-http-client" ,ghc-http-client)
583 ("ghc-http-client-tls" ,ghc-http-client-tls)
584 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
585 ("ghc-tasty" ,ghc-tasty)
586 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
587 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
588 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
589 (home-page "https://github.com/aristidb/aws")
590 (synopsis "Amazon Web Services for Haskell")
591 (description "This package attempts to provide support for using
592Amazon Web Services like S3 (storage), SQS (queuing) and others to
593Haskell programmers. The ultimate goal is to support all Amazon
594Web Services.")
595 (license license:bsd-3)))
596
597(define-public ghc-base16-bytestring
598 (package
599 (name "ghc-base16-bytestring")
600 (version "0.1.1.6")
601 (source
602 (origin
603 (method url-fetch)
604 (uri (string-append
605 "https://hackage.haskell.org/package/base16-bytestring/"
606 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
607 (sha256
608 (base32
dddbc90c 609 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 610 (build-system haskell-build-system)
dddbc90c
RV
611 (home-page "https://github.com/bos/base16-bytestring")
612 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
613 (description
614 "This package provides a Haskell library for working with base16-encoded
615data quickly and efficiently, using the ByteString type.")
b57e99f5 616 (license license:bsd-3)))
bbf8bf31 617
dddbc90c 618(define-public ghc-base64-bytestring
bbf8bf31 619 (package
dddbc90c
RV
620 (name "ghc-base64-bytestring")
621 (version "1.0.0.2")
bbf8bf31
RV
622 (source
623 (origin
624 (method url-fetch)
dddbc90c
RV
625 (uri (string-append
626 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
627 version
628 ".tar.gz"))
629 (sha256
630 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
631 (build-system haskell-build-system)
632 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
633 (home-page "https://github.com/bos/base64-bytestring")
634 (synopsis "Base64 encoding and decoding for ByteStrings")
635 (description "This library provides fast base64 encoding and decoding for
636Haskell @code{ByteString}s.")
637 (license license:bsd-3)))
638
639(define-public ghc-base-compat
640 (package
641 (name "ghc-base-compat")
642 (version "0.10.4")
643 (source
644 (origin
645 (method url-fetch)
646 (uri (string-append
647 "https://hackage.haskell.org/package/base-compat/base-compat-"
648 version
649 ".tar.gz"))
bbf8bf31
RV
650 (sha256
651 (base32
dddbc90c 652 "0ksp990gxs731mq19rzbxrbs43nazfljjc8krlx5bjqblw3kfs8d"))))
bbf8bf31
RV
653 (build-system haskell-build-system)
654 (native-inputs
dddbc90c
RV
655 `(("ghc-quickcheck" ,ghc-quickcheck)
656 ("ghc-hspec" ,ghc-hspec)
657 ("hspec-discover" ,hspec-discover)))
658 (home-page "https://hackage.haskell.org/package/base-compat")
659 (synopsis "Haskell compiler compatibility library")
660 (description "This library provides functions available in later versions
661of base to a wider range of compilers, without requiring the use of CPP
662pragmas in your code.")
663 (license license:bsd-3)))
664
665(define-public ghc-basement
666 (package
667 (name "ghc-basement")
8b56c1fd 668 (version "0.0.11")
dddbc90c
RV
669 (source
670 (origin
671 (method url-fetch)
672 (uri (string-append "https://hackage.haskell.org/package/"
673 "basement/basement-" version ".tar.gz"))
674 (sha256
675 (base32
8b56c1fd 676 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
677 (build-system haskell-build-system)
678 (home-page "https://github.com/haskell-foundation/foundation")
679 (synopsis "Basic primitives for Foundation starter pack")
680 (description
681 "This package contains basic primitives for the Foundation set of
682packages.")
683 (license license:bsd-3)))
684
685(define-public ghc-base-orphans
686 (package
687 (name "ghc-base-orphans")
688 (version "0.7")
689 (source
690 (origin
691 (method url-fetch)
692 (uri (string-append
693 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
694 version
695 ".tar.gz"))
696 (sha256
697 (base32
698 "057f9npnqk71ccfh95djfkpd54dzazphj06grwxa3fyhwcwxrb8a"))))
699 (build-system haskell-build-system)
700 (native-inputs
701 `(("ghc-quickcheck" ,ghc-quickcheck)
702 ("ghc-hspec" ,ghc-hspec)
703 ("hspec-discover" ,hspec-discover)))
704 (home-page "https://hackage.haskell.org/package/base-orphans")
705 (synopsis "Orphan instances for backwards compatibility")
706 (description "This package defines orphan instances that mimic instances
707available in later versions of base to a wider (older) range of compilers.")
708 (license license:bsd-3)))
709
710(define-public ghc-base-prelude
711 (package
712 (name "ghc-base-prelude")
713 (version "1.3")
714 (source
715 (origin
716 (method url-fetch)
717 (uri (string-append "https://hackage.haskell.org/package/"
718 "base-prelude-" version "/"
719 "base-prelude-" version ".tar.gz"))
720 (sha256
721 (base32
722 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
723 (build-system haskell-build-system)
724 (home-page "https://github.com/nikita-volkov/base-prelude")
725 (synopsis "The most complete prelude formed solely from the Haskell's base
726package")
727 (description "This Haskell package aims to reexport all the non-conflicting
728and most general definitions from the \"base\" package.
729
730This includes APIs for applicatives, arrows, monoids, foldables, traversables,
731exceptions, generics, ST, MVars and STM.
732
733This package will never have any dependencies other than \"base\".
734
735Versioning policy:
736
737The versioning policy of this package deviates from PVP in the sense
738that its exports in part are transitively determined by the version of \"base\".
739Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
740the bounds of \"base\" as well.")
741 (license license:expat)))
742
743(define-public ghc-base-unicode-symbols
744 (package
745 (name "ghc-base-unicode-symbols")
746 (version "0.2.3")
747 (source
748 (origin
749 (method url-fetch)
750 (uri (string-append
751 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
752 version
753 ".tar.gz"))
754 (sha256
755 (base32
756 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
757 (build-system haskell-build-system)
758 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
759 (synopsis "Unicode alternatives for common functions and operators")
760 (description "This package defines new symbols for a number of functions,
761operators and types in the base package. All symbols are documented with
762their actual definition and information regarding their Unicode code point.
763They should be completely interchangeable with their definitions. For
764further Unicode goodness you can enable the @code{UnicodeSyntax}
765@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
766language extension}. This extension enables Unicode characters to be used to
767stand for certain ASCII character sequences, i.e. → instead of @code{->},
768∀ instead of @code{forall} and many others.")
769 (license license:bsd-3)))
770
771(define-public ghc-bifunctors
772 (package
773 (name "ghc-bifunctors")
774 (version "5.5.3")
775 (source
776 (origin
777 (method url-fetch)
778 (uri (string-append
779 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
780 version
781 ".tar.gz"))
782 (sha256
783 (base32
784 "1jn9rxg643xnlhrknmjz88nblcpsr45xwjkwwnn5nxpasa7m4d6l"))))
785 (build-system haskell-build-system)
786 (inputs
787 `(("ghc-base-orphans" ,ghc-base-orphans)
788 ("ghc-comonad" ,ghc-comonad)
789 ("ghc-th-abstraction" ,ghc-th-abstraction)
790 ("ghc-transformers-compat" ,ghc-transformers-compat)
791 ("ghc-tagged" ,ghc-tagged)
792 ("ghc-semigroups" ,ghc-semigroups)))
793 (native-inputs
794 `(("ghc-hspec" ,ghc-hspec)
795 ("hspec-discover" ,hspec-discover)
796 ("ghc-quickcheck" ,ghc-quickcheck)))
797 (home-page "https://github.com/ekmett/bifunctors/")
798 (synopsis "Bifunctors for Haskell")
799 (description "This package provides bifunctors for Haskell.")
800 (license license:bsd-3)))
801
802(define-public ghc-bindings-dsl
803 (package
804 (name "ghc-bindings-dsl")
805 (version "1.0.25")
806 (source
807 (origin
808 (method url-fetch)
809 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
810 "bindings-DSL-" version ".tar.gz"))
811 (sha256
812 (base32
813 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
814 (build-system haskell-build-system)
815 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
816 (synopsis "FFI domain specific language, on top of hsc2hs")
817 (description
818 "This is a set of macros to be used when writing Haskell FFI. They were
819designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
820extract from them all Haskell code needed to mimic such interfaces. All
821Haskell names used are automatically derived from C names, structures are
822mapped to Haskell instances of @code{Storable}, and there are also macros you
823can use with C code to help write bindings to inline functions or macro
824functions.")
825 (license license:bsd-3)))
826
827(define-public ghc-blaze-builder
828 (package
829 (name "ghc-blaze-builder")
830 (version "0.4.1.0")
831 (source
832 (origin
833 (method url-fetch)
834 (uri (string-append
835 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
836 version
837 ".tar.gz"))
838 (sha256
839 (base32
840 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
841 (build-system haskell-build-system)
842 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
843 (inputs
844 `(("ghc-utf8-string" ,ghc-utf8-string)))
845 (home-page "https://github.com/lpsmith/blaze-builder")
846 (synopsis "Efficient buffered output")
847 (description "This library provides an implementation of the older
848@code{blaze-builder} interface in terms of the new builder that shipped with
849@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
850bridge to the new builder, so that code that uses the old interface can
851interoperate with code that uses the new implementation.")
852 (license license:bsd-3)))
853
854(define-public ghc-blaze-markup
855 (package
856 (name "ghc-blaze-markup")
857 (version "0.8.2.1")
858 (source
859 (origin
860 (method url-fetch)
861 (uri (string-append "https://hackage.haskell.org/package/"
862 "blaze-markup/blaze-markup-"
863 version ".tar.gz"))
864 (sha256
865 (base32
866 "0ih1c3qahkdgzbqihdhny5s313l2m66fbb88w8jbx7yz56y7rawh"))))
867 (build-system haskell-build-system)
868 (arguments
869 `(#:phases
870 (modify-phases %standard-phases
871 (add-before 'configure 'update-constraints
872 (lambda _
873 (substitute* "blaze-markup.cabal"
874 (("tasty >= 1\\.0 && < 1\\.1")
875 "tasty >= 1.0 && < 1.2")))))))
876 (inputs
877 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
878 (native-inputs
879 `(("ghc-hunit" ,ghc-hunit)
880 ("ghc-quickcheck" ,ghc-quickcheck)
881 ("ghc-tasty" ,ghc-tasty)
882 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
883 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
884 (home-page "https://jaspervdj.be/blaze")
885 (synopsis "Fast markup combinator library for Haskell")
886 (description "This library provides core modules of a markup combinator
887library for Haskell.")
888 (license license:bsd-3)))
889
890(define-public ghc-bloomfilter
891 (package
892 (name "ghc-bloomfilter")
893 (version "2.0.1.0")
894 (source
895 (origin
896 (method url-fetch)
897 (uri (string-append "https://hackage.haskell.org/package/"
898 "bloomfilter/bloomfilter-" version ".tar.gz"))
899 (sha256
900 (base32
901 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
902 (build-system haskell-build-system)
903 (native-inputs
904 `(("ghc-quickcheck" ,ghc-quickcheck)
905 ("ghc-random" ,ghc-random)
906 ("ghc-test-framework" ,ghc-test-framework)
907 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
908 (home-page "https://github.com/bos/bloomfilter")
909 (synopsis "Pure and impure Bloom filter implementations")
910 (description "This package provides both mutable and immutable Bloom
911filter data types, along with a family of hash functions and an easy-to-use
912interface.")
913 (license license:bsd-3)))
914
915(define-public ghc-boxes
916 (package
917 (name "ghc-boxes")
918 (version "0.1.5")
919 (source
920 (origin
921 (method url-fetch)
922 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
923 version ".tar.gz"))
924 (sha256
925 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
926 (build-system haskell-build-system)
927 (inputs
928 `(("ghc-split" ,ghc-split)
929 ("ghc-quickcheck" ,ghc-quickcheck)))
930 (home-page "https://hackage.haskell.org/package/boxes")
931 (synopsis "2D text pretty-printing library")
932 (description
933 "Boxes is a pretty-printing library for laying out text in two dimensions,
934using a simple box model.")
935 (license license:bsd-3)))
936
937(define-public ghc-byteable
938 (package
939 (name "ghc-byteable")
940 (version "0.1.1")
941 (source (origin
942 (method url-fetch)
943 (uri (string-append "https://hackage.haskell.org/package/"
944 "byteable/byteable-" version ".tar.gz"))
945 (sha256
946 (base32
947 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
948 (build-system haskell-build-system)
949 (home-page "https://github.com/vincenthz/hs-byteable")
950 (synopsis "Type class for sequence of bytes")
951 (description
952 "This package provides an abstract class to manipulate sequence of bytes.
953The use case of this class is abstracting manipulation of types that are just
954wrapping a bytestring with stronger and more meaniful name.")
955 (license license:bsd-3)))
956
957(define-public ghc-byteorder
958 (package
959 (name "ghc-byteorder")
960 (version "1.0.4")
961 (source
962 (origin
963 (method url-fetch)
964 (uri (string-append
965 "https://hackage.haskell.org/package/byteorder/byteorder-"
966 version
967 ".tar.gz"))
968 (sha256
969 (base32
970 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
971 (build-system haskell-build-system)
972 (home-page
973 "http://community.haskell.org/~aslatter/code/byteorder")
974 (synopsis
975 "Exposes the native endianness of the system")
976 (description
977 "This package is for working with the native byte-ordering of the
978system.")
979 (license license:bsd-3)))
980
981(define-public ghc-bytes
982 (package
983 (name "ghc-bytes")
984 (version "0.15.5")
985 (source
986 (origin
987 (method url-fetch)
988 (uri
989 (string-append "https://hackage.haskell.org/package/bytes-"
990 version "/bytes-"
991 version ".tar.gz"))
992 (file-name (string-append name "-" version ".tar.gz"))
993 (sha256
994 (base32
995 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
996 (build-system haskell-build-system)
997 (inputs `(("ghc-cereal" ,ghc-cereal)
998 ("cabal-doctest" ,cabal-doctest)
999 ("ghc-doctest" ,ghc-doctest)
1000 ("ghc-scientific" ,ghc-scientific)
1001 ("ghc-transformers-compat" ,ghc-transformers-compat)
1002 ("ghc-unordered-containers" ,ghc-unordered-containers)
1003 ("ghc-void" ,ghc-void)
1004 ("ghc-vector" ,ghc-vector)))
1005 (synopsis "Serialization between @code{binary} and @code{cereal}")
1006 (description "This package provides a simple compatibility shim that lets
1007you work with both @code{binary} and @code{cereal} with one chunk of
1008serialization code.")
1009 (home-page "https://hackage.haskell.org/package/bytes")
1010 (license license:bsd-3)))
1011
1012(define-public ghc-bytestring-builder
1013 (package
1014 (name "ghc-bytestring-builder")
13ac8a7f 1015 (version "0.10.8.2.0")
dddbc90c
RV
1016 (source
1017 (origin
1018 (method url-fetch)
1019 (uri (string-append
1020 "https://hackage.haskell.org/package/bytestring-builder"
1021 "/bytestring-builder-" version ".tar.gz"))
1022 (sha256
1023 (base32
13ac8a7f 1024 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1025 (build-system haskell-build-system)
1026 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1027 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1028 (synopsis "The new bytestring builder, packaged outside of GHC")
1029 (description "This package provides the bytestring builder that is
1030debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1031Compatibility package for older packages.")
1032 (license license:bsd-3)))
1033
1034(define-public ghc-bytestring-handle
1035 (package
1036 (name "ghc-bytestring-handle")
1037 (version "0.1.0.6")
1038 (source
1039 (origin
1040 (method url-fetch)
1041 (uri (string-append
1042 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1043 version ".tar.gz"))
1044 (sha256
1045 (base32
1046 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1047 (build-system haskell-build-system)
1048 (arguments
1049 `(#:phases
1050 (modify-phases %standard-phases
1051 (add-before 'configure 'update-constraints
1052 (lambda _
1053 (substitute* "bytestring-handle.cabal"
1054 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
1055 "QuickCheck >= 2.1.2 && < 2.12")
1056 (("base >= 4\\.2 && < 4\\.11")
1057 "base >= 4.2 && < 4.12")))))))
1058 (inputs
1059 `(("ghc-hunit" ,ghc-hunit)
1060 ("ghc-quickcheck" ,ghc-quickcheck)
1061 ("ghc-test-framework" ,ghc-test-framework)
1062 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1063 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1064 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1065 (synopsis "ByteString-backed Handles")
1066 (description "ByteString-backed Handles") ; There is no description
1067 (license license:bsd-3)))
1068
1069(define-public ghc-bytestring-lexing
1070 (package
1071 (name "ghc-bytestring-lexing")
1072 (version "0.5.0.2")
1073 (source
1074 (origin
1075 (method url-fetch)
1076 (uri (string-append "https://hackage.haskell.org/package/"
1077 "bytestring-lexing/bytestring-lexing-"
1078 version ".tar.gz"))
1079 (sha256
1080 (base32
1081 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1082 (build-system haskell-build-system)
1083 (home-page "http://code.haskell.org/~wren/")
1084 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1085 (description
1086 "This package provides tools to parse and produce literals efficiently
1087from strict or lazy bytestrings.")
1088 (license license:bsd-2)))
1089
1090(define-public ghc-bzlib-conduit
1091 (package
1092 (name "ghc-bzlib-conduit")
1093 (version "0.3.0.1")
1094 (source
1095 (origin
1096 (method url-fetch)
1097 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1098 "bzlib-conduit-" version ".tar.gz"))
1099 (sha256
1100 (base32
1101 "0fd2hnr782s7qgipazg2yxwia9qqhkvm9bcm90773c3zkxa13n23"))))
1102 (build-system haskell-build-system)
1103 (inputs
1104 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1105 ("ghc-conduit" ,ghc-conduit)
1106 ("ghc-data-default-class" ,ghc-data-default-class)
1107 ("ghc-resourcet" ,ghc-resourcet)))
1108 (native-inputs
1109 `(("ghc-hspec" ,ghc-hspec)
1110 ("ghc-random" ,ghc-random)))
1111 (home-page "https://github.com/snoyberg/bzlib-conduit")
1112 (synopsis "Streaming compression/decompression via conduits")
1113 (description
1114 "This package provides Haskell bindings to bzlib and Conduit support for
1115streaming compression and decompression.")
1116 (license license:bsd-3)))
1117
1118(define-public ghc-c2hs
1119 (package
1120 (name "ghc-c2hs")
1121 (version "0.28.6")
1122 (source
1123 (origin
1124 (method url-fetch)
1125 (uri (string-append
1126 "https://hackage.haskell.org/package/c2hs/c2hs-"
1127 version
1128 ".tar.gz"))
1129 (sha256
1130 (base32
1131 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1132 (build-system haskell-build-system)
1133 (inputs
1134 `(("ghc-language-c" ,ghc-language-c)
1135 ("ghc-dlist" ,ghc-dlist)))
1136 (native-inputs
1137 `(("ghc-test-framework" ,ghc-test-framework)
1138 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1139 ("ghc-hunit" ,ghc-hunit)
1140 ("ghc-shelly" ,ghc-shelly)
1141 ("gcc" ,gcc)))
1142 (arguments
1143 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1144 ;; of glibc 2.28.
1145 #:tests? #f
1146
1147 #:phases
1148 (modify-phases %standard-phases
1149 (add-before 'check 'set-cc
1150 ;; add a cc executable in the path, needed for some tests to pass
1151 (lambda* (#:key inputs #:allow-other-keys)
1152 (let ((gcc (assoc-ref inputs "gcc"))
1153 (tmpbin (tmpnam))
1154 (curpath (getenv "PATH")))
1155 (mkdir-p tmpbin)
1156 (symlink (which "gcc") (string-append tmpbin "/cc"))
1157 (setenv "PATH" (string-append tmpbin ":" curpath)))
1158 #t))
1159 (add-after 'check 'remove-cc
1160 ;; clean the tmp dir made in 'set-cc
1161 (lambda _
1162 (let* ((cc-path (which "cc"))
1163 (cc-dir (dirname cc-path)))
1164 (delete-file-recursively cc-dir)
1165 #t))))))
1166 (home-page "https://github.com/haskell/c2hs")
1167 (synopsis "Create Haskell bindings to C libraries")
1168 (description "C->Haskell assists in the development of Haskell bindings to
1169C libraries. It extracts interface information from C header files and
1170generates Haskell code with foreign imports and marshaling. Unlike writing
1171foreign imports by hand (or using hsc2hs), this ensures that C functions are
1172imported with the correct Haskell types.")
1173 (license license:gpl2)))
1174
1175(define-public ghc-cairo
1176 (package
1177 (name "ghc-cairo")
1178 (version "0.13.5.0")
1179 (source
1180 (origin
1181 (method url-fetch)
1182 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1183 "cairo-" version ".tar.gz"))
1184 (sha256
1185 (base32
1186 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1187 (build-system haskell-build-system)
1188 (arguments
1189 `(#:modules ((guix build haskell-build-system)
1190 (guix build utils)
1191 (ice-9 match)
1192 (srfi srfi-26))
1193 #:phases
1194 (modify-phases %standard-phases
1195 ;; FIXME: This is a copy of the standard configure phase with a tiny
1196 ;; difference: this package needs the -package-db flag to be passed
1197 ;; to "runhaskell" in addition to the "configure" action, because it
1198 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1199 ;; this option the Setup.hs file cannot be evaluated. The
1200 ;; haskell-build-system should be changed to pass "-package-db" to
1201 ;; "runhaskell" in any case.
1202 (replace 'configure
1203 (lambda* (#:key outputs inputs tests? (configure-flags '())
1204 #:allow-other-keys)
1205 (let* ((out (assoc-ref outputs "out"))
1206 (name-version (strip-store-file-name out))
1207 (input-dirs (match inputs
1208 (((_ . dir) ...)
1209 dir)
1210 (_ '())))
1211 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1212 (params (append `(,(string-append "--prefix=" out))
1213 `(,(string-append "--libdir=" out "/lib"))
1214 `(,(string-append "--bindir=" out "/bin"))
1215 `(,(string-append
1216 "--docdir=" out
1217 "/share/doc/" name-version))
1218 '("--libsubdir=$compiler/$pkg-$version")
1219 '("--package-db=../package.conf.d")
1220 '("--global")
1221 `(,@(map
1222 (cut string-append "--extra-include-dirs=" <>)
1223 (search-path-as-list '("include") input-dirs)))
1224 `(,@(map
1225 (cut string-append "--extra-lib-dirs=" <>)
1226 (search-path-as-list '("lib") input-dirs)))
1227 (if tests?
1228 '("--enable-tests")
1229 '())
1230 configure-flags)))
1231 (unsetenv "GHC_PACKAGE_PATH")
1232 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1233 "Setup.hs" "configure" params)
1234 (setenv "GHC_PACKAGE_PATH" ghc-path)
1235 #t))))))
1236 (inputs
1237 `(("ghc-utf8-string" ,ghc-utf8-string)
1238 ("cairo" ,cairo)))
1239 (native-inputs
1240 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1241 ("pkg-config" ,pkg-config)))
1242 (home-page "http://projects.haskell.org/gtk2hs/")
1243 (synopsis "Haskell bindings to the Cairo vector graphics library")
1244 (description
1245 "Cairo is a library to render high quality vector graphics. There exist
1246various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1247documents, amongst others.")
1248 (license license:bsd-3)))
1249
1250(define-public ghc-call-stack
1251 (package
1252 (name "ghc-call-stack")
1253 (version "0.1.0")
1254 (source
1255 (origin
1256 (method url-fetch)
1257 (uri (string-append "https://hackage.haskell.org/package/"
1258 "call-stack/call-stack-"
1259 version ".tar.gz"))
1260 (sha256
1261 (base32
1262 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1263 (build-system haskell-build-system)
1264 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1265 (home-page "https://github.com/sol/call-stack#readme")
1266 (synopsis "Use GHC call-stacks in a backward compatible way")
1267 (description "This package provides a compatibility layer for using GHC
1268call stacks with different versions of the compiler.")
1269 (license license:expat)))
1270
1271;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1272;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1273(define-public ghc-call-stack-boot
1274 (hidden-package
1275 (package
1276 (inherit ghc-call-stack)
1277 (arguments '(#:tests? #f))
1278 (inputs '()))))
1279
1280(define-public ghc-case-insensitive
1281 (package
1282 (name "ghc-case-insensitive")
1283 (version "1.2.0.11")
1284 (outputs '("out" "doc"))
1285 (source
1286 (origin
1287 (method url-fetch)
1288 (uri (string-append
1289 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1290 version
1291 ".tar.gz"))
1292 (sha256
1293 (base32
1294 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1295 (build-system haskell-build-system)
1296 ;; these inputs are necessary to use this library
1297 (inputs
1298 `(("ghc-hashable" ,ghc-hashable)))
1299 (arguments
1300 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1301 (home-page
1302 "https://github.com/basvandijk/case-insensitive")
1303 (synopsis "Case insensitive string comparison")
1304 (description
1305 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1306constructor which can be parameterised by a string-like type like:
1307@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1308the resulting type will be insensitive to cases.")
1309 (license license:bsd-3)))
1310
1311(define-public ghc-cereal
1312 (package
1313 (name "ghc-cereal")
1314 (version "0.5.7.0")
1315 (source
1316 (origin
1317 (method url-fetch)
1318 (uri (string-append
1319 "https://hackage.haskell.org/package/cereal/cereal-"
1320 version
1321 ".tar.gz"))
1322 (sha256
1323 (base32
1324 "1j7imh2mzqcljld7sx0av69699955rpy3hzivi5723i6a9nszgbs"))))
1325 (build-system haskell-build-system)
1326 (native-inputs
1327 `(("ghc-quickcheck" ,ghc-quickcheck)
1328 ("ghc-fail" ,ghc-fail)
1329 ("ghc-test-framework" ,ghc-test-framework)
1330 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1331 (home-page "https://hackage.haskell.org/package/cereal")
1332 (synopsis "Binary serialization library")
1333 (description "This package provides a binary serialization library,
1334similar to @code{binary}, that introduces an @code{isolate} primitive for
1335parser isolation, and labeled blocks for better error messages.")
1336 (license license:bsd-3)))
1337
1338(define-public ghc-cereal-conduit
1339 (package
1340 (name "ghc-cereal-conduit")
1341 (version "0.8.0")
1342 (source
1343 (origin
1344 (method url-fetch)
1345 (uri (string-append "https://hackage.haskell.org/package/"
1346 "cereal-conduit/cereal-conduit-"
1347 version ".tar.gz"))
1348 (sha256
1349 (base32
1350 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1351 (build-system haskell-build-system)
1352 (inputs
1353 `(("ghc-conduit" ,ghc-conduit)
1354 ("ghc-resourcet" ,ghc-resourcet)
1355 ("ghc-cereal" ,ghc-cereal)))
1356 (native-inputs
1357 `(("ghc-hunit" ,ghc-hunit)))
1358 (home-page "https://github.com/snoyberg/conduit")
1359 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1360 (description
1361 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1362@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1363 (license license:bsd-3)))
1364
1365(define-public ghc-cgi
1366 (package
1367 (name "ghc-cgi")
1368 (version "3001.3.0.2")
1369 (source
1370 (origin
1371 (method url-fetch)
1372 (uri (string-append
1373 "https://hackage.haskell.org/package/cgi/cgi-"
1374 version
1375 ".tar.gz"))
1376 (sha256
1377 (base32
1378 "1hbpplss1m4rdpm4ibip6fpimlhssqa14fl338kl2jbc463i64cj"))))
1379 (build-system haskell-build-system)
1380 (arguments
1381 `(#:phases
1382 (modify-phases %standard-phases
1383 (add-before 'configure 'update-constraints
1384 (lambda _
1385 (substitute* "cgi.cabal"
1386 (("exceptions < 0\\.9")
1387 "exceptions < 0.11")
1388 (("time >= 1\\.5 && < 1\\.7")
1389 "time >= 1.5 && < 1.9")
1390 (("doctest >= 0\\.8 && < 0\\.12")
1391 "doctest >= 0.8 && < 0.17")
1392 (("QuickCheck >= 2\\.8\\.1 && < 2\\.10")
1393 "QuickCheck >= 2.8.1 && < 2.12")))))))
1394 (inputs
1395 `(("ghc-exceptions" ,ghc-exceptions)
1396 ("ghc-multipart" ,ghc-multipart)
1397 ("ghc-network-uri" ,ghc-network-uri)
1398 ("ghc-network" ,ghc-network)))
1399 (native-inputs
1400 `(("ghc-doctest" ,ghc-doctest)
1401 ("ghc-quickcheck" ,ghc-quickcheck)))
1402 (home-page
1403 "https://github.com/cheecheeo/haskell-cgi")
1404 (synopsis "Library for writing CGI programs")
1405 (description
1406 "This is a Haskell library for writing CGI programs.")
1407 (license license:bsd-3)))
1408
1409(define-public ghc-charset
1410 (package
1411 (name "ghc-charset")
1412 (version "0.3.7.1")
1413 (source
1414 (origin
1415 (method url-fetch)
1416 (uri (string-append
1417 "https://hackage.haskell.org/package/charset/charset-"
1418 version
1419 ".tar.gz"))
1420 (sha256
1421 (base32
1422 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1423 (build-system haskell-build-system)
1424 (inputs
1425 `(("ghc-semigroups" ,ghc-semigroups)
1426 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1427 (home-page "https://github.com/ekmett/charset")
1428 (synopsis "Fast unicode character sets for Haskell")
1429 (description "This package provides fast unicode character sets for
1430Haskell, based on complemented PATRICIA tries.")
1431 (license license:bsd-3)))
1432
1433(define-public ghc-chart
1434 (package
1435 (name "ghc-chart")
1436 (version "1.9")
1437 (source
1438 (origin
1439 (method url-fetch)
1440 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1441 "Chart-" version ".tar.gz"))
1442 (sha256
1443 (base32
1444 "1f5azj17y8xsb3gjhf7gg1gnnlq12rxkmfjmgcly314d7vghs05z"))))
1445 (build-system haskell-build-system)
1446 (inputs
1447 `(("ghc-old-locale" ,ghc-old-locale)
1448 ("ghc-lens" ,ghc-lens)
1449 ("ghc-colour" ,ghc-colour)
1450 ("ghc-data-default-class" ,ghc-data-default-class)
1451 ("ghc-operational" ,ghc-operational)
1452 ("ghc-vector" ,ghc-vector)))
1453 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1454 (synopsis "Library for generating 2D charts and plots")
1455 (description
1456 "This package provides a library for generating 2D charts and plots, with
1457backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1458 (license license:bsd-3)))
1459
1460(define-public ghc-chart-cairo
1461 (package
1462 (name "ghc-chart-cairo")
1463 (version "1.9")
1464 (source
1465 (origin
1466 (method url-fetch)
1467 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1468 "Chart-cairo-" version ".tar.gz"))
1469 (sha256
1470 (base32
1471 "0iany6lfyfb1cw0pxfs5aw5k0a6x41m6ql9ad9w59biwdckbsyqr"))))
1472 (build-system haskell-build-system)
1473 (inputs
1474 `(("ghc-old-locale" ,ghc-old-locale)
1475 ("ghc-cairo" ,ghc-cairo)
1476 ("ghc-colour" ,ghc-colour)
1477 ("ghc-data-default-class" ,ghc-data-default-class)
1478 ("ghc-operational" ,ghc-operational)
1479 ("ghc-lens" ,ghc-lens)
1480 ("ghc-chart" ,ghc-chart)))
1481 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1482 (synopsis "Cairo backend for Charts")
1483 (description "This package provides a Cairo vector graphics rendering
1484backend for the Charts library.")
1485 (license license:bsd-3)))
1486
1487(define-public ghc-chasingbottoms
1488 (package
1489 (name "ghc-chasingbottoms")
1490 (version "1.3.1.4")
1491 (source
1492 (origin
1493 (method url-fetch)
1494 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1495 "ChasingBottoms-" version ".tar.gz"))
1496 (sha256
1497 (base32
1498 "06cynx6hcbfpky7qq3b3mjjgwbnaxkwin3znbwq4b9ikiw0ng633"))))
1499 (build-system haskell-build-system)
1500 (inputs
1501 `(("ghc-quickcheck" ,ghc-quickcheck)
1502 ("ghc-random" ,ghc-random)
1503 ("ghc-syb" ,ghc-syb)))
1504 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1505 (synopsis "Testing of partial and infinite values in Haskell")
1506 (description
1507 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1508 ;; rendered properly.
1509 "This is a library for testing code involving bottoms or infinite values.
1510For the underlying theory and a larger example involving use of QuickCheck,
1511see the article
1512@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1513\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1514Partial and Infinite Values\"}.")
1515 (license license:expat)))
1516
1517(define-public ghc-cheapskate
1518 (package
1519 (name "ghc-cheapskate")
1520 (version "0.1.1")
1521 (source
1522 (origin
1523 (method url-fetch)
1524 (uri (string-append
1525 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1526 version
1527 ".tar.gz"))
1528 (sha256
1529 (base32
1530 "1hiqi7h76shjzs2zj0j8g6wnq2hbiq1hmfafdazr97fba2zl2432"))))
1531 (build-system haskell-build-system)
1532 (inputs
1533 `(("ghc-blaze-html" ,ghc-blaze-html)
1534 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1535 ("ghc-data-default" ,ghc-data-default)
1536 ("ghc-syb" ,ghc-syb)
1537 ("ghc-uniplate" ,ghc-uniplate)))
1538 (home-page "https://github.com/jgm/cheapskate")
1539 (synopsis "Experimental markdown processor")
1540 (description "Cheapskate is an experimental Markdown processor in pure
1541Haskell. It aims to process Markdown efficiently and in the most forgiving
1542possible way. It is designed to deal with any input, including garbage, with
1543linear performance. Output is sanitized by default for protection against
1544cross-site scripting (@dfn{XSS}) attacks.")
1545 (license license:bsd-3)))
1546
1547(define-public ghc-chell
1548 (package
1549 (name "ghc-chell")
1550 (version "0.4.0.2")
1551 (source
1552 (origin
1553 (method url-fetch)
1554 (uri (string-append
1555 "https://hackage.haskell.org/package/chell/chell-"
1556 version ".tar.gz"))
1557 (sha256
1558 (base32
1559 "10ingy9qnbmc8cqh4i9pskcw43l0mzk8f3d76b3qz3fig5ary3j9"))))
1560 (build-system haskell-build-system)
1561 (inputs
1562 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1563 ("ghc-patience" ,ghc-patience)
1564 ("ghc-random" ,ghc-random)
1565 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1566 (home-page "https://john-millikin.com/software/chell/")
1567 (synopsis "Simple and intuitive library for automated testing")
1568 (description
1569 "Chell is a simple and intuitive library for automated testing.
1570It natively supports assertion-based testing, and can use companion
1571libraries such as @code{chell-quickcheck} to support more complex
1572testing strategies.")
1573 (license license:expat)))
1574
1575(define-public ghc-chell-quickcheck
1576 (package
1577 (name "ghc-chell-quickcheck")
1578 (version "0.2.5.1")
1579 (source
1580 (origin
1581 (method url-fetch)
1582 (uri (string-append
1583 "https://hackage.haskell.org/package/chell-quickcheck/"
1584 "chell-quickcheck-" version ".tar.gz"))
1585 (sha256
1586 (base32
1587 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
1588 (build-system haskell-build-system)
1589 (arguments
1590 `(#:phases
1591 (modify-phases %standard-phases
1592 (add-before 'configure 'update-constraints
1593 (lambda _
1594 (substitute* "chell-quickcheck.cabal"
1595 (("QuickCheck >= 2\\.3 && < 2\\.11")
1596 "QuickCheck >= 2.3 && < 2.12")))))))
1597 (inputs
1598 `(("ghc-chell" ,ghc-chell)
1599 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1600 ("ghc-random" ,ghc-random)
1601 ("ghc-quickcheck" ,ghc-quickcheck)))
1602 (home-page "https://john-millikin.com/software/chell/")
1603 (synopsis "QuickCheck support for the Chell testing library")
1604 (description "More complex tests for @code{chell}.")
1605 (license license:expat)))
1606
1607(define ghc-chell-quickcheck-bootstrap
1608 (package
1609 (name "ghc-chell-quickcheck-bootstrap")
1610 (version "0.2.5.1")
1611 (source
1612 (origin
1613 (method url-fetch)
1614 (uri (string-append
1615 "https://hackage.haskell.org/package/chell-quickcheck/"
1616 "chell-quickcheck-" version ".tar.gz"))
1617 (sha256
1618 (base32
1619 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
1620 (build-system haskell-build-system)
1621 (inputs
1622 `(("ghc-chell" ,ghc-chell)
1623 ("ghc-random" ,ghc-random)
1624 ("ghc-quickcheck" ,ghc-quickcheck)))
1625 (arguments
1626 `(#:tests? #f
1627 #:phases
1628 (modify-phases %standard-phases
1629 (add-before 'configure 'update-constraints
1630 (lambda _
1631 (substitute* "chell-quickcheck.cabal"
1632 (("QuickCheck >= 2\\.3 && < 2\\.11")
1633 "QuickCheck >= 2.3 && < 2.12")))))))
1634 (home-page "https://john-millikin.com/software/chell/")
1635 (synopsis "QuickCheck support for the Chell testing library")
1636 (description "More complex tests for @code{chell}.")
1637 (license license:expat)))
1638
1639(define-public ghc-chunked-data
1640 (package
1641 (name "ghc-chunked-data")
1642 (version "0.3.1")
1643 (source
1644 (origin
1645 (method url-fetch)
1646 (uri (string-append "https://hackage.haskell.org/package/"
1647 "chunked-data-" version "/"
1648 "chunked-data-" version ".tar.gz"))
1649 (sha256
1650 (base32
1651 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1652 (build-system haskell-build-system)
1653 (inputs `(("ghc-vector" ,ghc-vector)
1654 ("ghc-semigroups" ,ghc-semigroups)))
1655 (home-page "https://github.com/snoyberg/mono-traversable")
1656 (synopsis "Typeclasses for dealing with various chunked data
1657representations for Haskell")
1658 (description "This Haskell package was originally present in
1659classy-prelude.")
1660 (license license:expat)))
1661
1662(define-public ghc-clock
1663 (package
1664 (name "ghc-clock")
1665 (version "0.7.2")
1666 (source
1667 (origin
1668 (method url-fetch)
1669 (uri (string-append
1670 "https://hackage.haskell.org/package/"
1671 "clock/"
1672 "clock-" version ".tar.gz"))
1673 (sha256
1674 (base32 "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8"))))
1675 (build-system haskell-build-system)
1676 (inputs
1677 `(("ghc-tasty" ,ghc-tasty)
1678 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1679 (home-page "https://hackage.haskell.org/package/clock")
1680 (synopsis "High-resolution clock for Haskell")
1681 (description "A package for convenient access to high-resolution clock and
1682timer functions of different operating systems via a unified API.")
1683 (license license:bsd-3)))
1684
1685;; This package builds `clock` without tests, since the tests rely on tasty
1686;; and tasty-quickcheck, which in turn require clock to build.
1687(define-public ghc-clock-bootstrap
1688 (package
1689 (inherit ghc-clock)
1690 (name "ghc-clock-bootstrap")
1691 (arguments '(#:tests? #f))
1692 (inputs '())
1693 (properties '((hidden? #t)))))
1694
1695(define-public ghc-cmark
1696 (package
1697 (name "ghc-cmark")
1698 (version "0.5.6")
1699 (source (origin
1700 (method url-fetch)
1701 ;; XXX As of version 0.5.6, this package bundles libcmark 0.28.0.
1702 ;; See cbits/cmark_version.h.
1703 (uri (string-append "https://hackage.haskell.org/package/"
1704 "cmark/cmark-" version ".tar.gz"))
1705 (sha256
1706 (base32
1707 "1c1j3a8b9qx5zk9myqm3gap8ymz7fipwrdmyfsq9wkkdr9x4np45"))))
1708 (build-system haskell-build-system)
1709 (native-inputs
1710 `(("ghc-hunit" ,ghc-hunit)))
1711 (home-page "https://github.com/jgm/commonmark-hs")
1712 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1713 (description
1714 "This package provides Haskell bindings for
1715@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1716CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1717sources, and does not require prior installation of the C library.")
1718 (license license:bsd-3)))
1719
1720(define-public ghc-cmark-gfm
1721 (package
1722 (name "ghc-cmark-gfm")
1723 (version "0.1.5")
1724 (source
1725 (origin
1726 (method url-fetch)
1727 (uri (string-append "https://hackage.haskell.org/package/"
1728 "cmark-gfm/cmark-gfm-"
1729 version ".tar.gz"))
1730 (sha256
1731 (base32
1732 "13b0mqks5c1q989slgsa3ixr5vvkfyic4ynzgv00kgl5qrs7hqk7"))))
1733 (build-system haskell-build-system)
1734 (native-inputs
1735 `(("ghc-hunit" ,ghc-hunit)))
1736 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1737 (synopsis
1738 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1739 (description
1740 "This package provides Haskell bindings for libcmark-gfm, the reference
1741parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1742It includes sources for libcmark-gfm and does not require prior installation
1743of the C library.")
1744 (license license:bsd-3)))
1745
1746(define-public ghc-cmdargs
1747 (package
1748 (name "ghc-cmdargs")
1749 (version "0.10.20")
1750 (source
1751 (origin
1752 (method url-fetch)
1753 (uri (string-append
1754 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1755 version ".tar.gz"))
1756 (sha256
1757 (base32
1758 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1759 (build-system haskell-build-system)
1760 (home-page
1761 "http://community.haskell.org/~ndm/cmdargs/")
1762 (synopsis "Command line argument processing")
1763 (description
1764 "This library provides an easy way to define command line parsers.")
1765 (license license:bsd-3)))
1766
1767(define-public ghc-code-page
1768 (package
1769 (name "ghc-code-page")
f6bb6519 1770 (version "0.2")
dddbc90c
RV
1771 (source
1772 (origin
1773 (method url-fetch)
1774 (uri (string-append
1775 "https://hackage.haskell.org/package/code-page/code-page-"
1776 version ".tar.gz"))
1777 (sha256
1778 (base32
f6bb6519 1779 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1780 (build-system haskell-build-system)
1781 (home-page "https://github.com/RyanGlScott/code-page")
1782 (synopsis "Windows code page library for Haskell")
1783 (description "A cross-platform library with functions for adjusting
1784code pages on Windows. On all other operating systems, the library does
1785nothing.")
1786 (license license:bsd-3)))
1787
1788(define-public ghc-colour
1789(package
1790 (name "ghc-colour")
bc9d1af9 1791 (version "2.3.5")
dddbc90c
RV
1792 (source
1793 (origin
1794 (method url-fetch)
1795 (uri (string-append
1796 "https://hackage.haskell.org/package/colour/colour-"
1797 version ".tar.gz"))
1798 (sha256
1799 (base32
bc9d1af9 1800 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1801 (arguments
1802 ;; The tests for this package have the following dependency cycle:
1803 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1804 `(#:tests? #f))
1805 (build-system haskell-build-system)
1806 (home-page "https://www.haskell.org/haskellwiki/Colour")
1807 (synopsis "Model for human colour perception")
1808 (description
1809 "This package provides a data type for colours and transparency.
1810Colours can be blended and composed. Various colour spaces are
1811supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1812 (license license:expat)))
1813
1814(define-public ghc-comonad
1815 (package
1816 (name "ghc-comonad")
1817 (version "5.0.4")
1818 (source
1819 (origin
1820 (method url-fetch)
1821 (uri (string-append
1822 "https://hackage.haskell.org/package/comonad/comonad-"
1823 version
1824 ".tar.gz"))
1825 (sha256
1826 (base32
1827 "09g870c4flp4k3fgbibsd0mmfjani1qcpbcl685v8x89kxzrva3q"))))
1828 (build-system haskell-build-system)
1829 (native-inputs
1830 `(("cabal-doctest" ,cabal-doctest)
1831 ("ghc-doctest" ,ghc-doctest)))
1832 (inputs
1833 `(("ghc-contravariant" ,ghc-contravariant)
1834 ("ghc-distributive" ,ghc-distributive)
1835 ("ghc-semigroups" ,ghc-semigroups)
1836 ("ghc-tagged" ,ghc-tagged)
1837 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1838 (home-page "https://github.com/ekmett/comonad/")
1839 (synopsis "Comonads for Haskell")
1840 (description "This library provides @code{Comonad}s for Haskell.")
1841 (license license:bsd-3)))
1842
1843(define-public ghc-concatenative
1844 (package
1845 (name "ghc-concatenative")
1846 (version "1.0.1")
1847 (source (origin
1848 (method url-fetch)
1849 (uri (string-append
1850 "https://hackage.haskell.org/package/concatenative/concatenative-"
1851 version ".tar.gz"))
1852 (sha256
1853 (base32
1854 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1855 (build-system haskell-build-system)
1856 (home-page
1857 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1858 (synopsis "Library for postfix control flow")
1859 (description
1860 "Concatenative gives Haskell Factor-style combinators and arrows for
1861postfix notation. For more information on stack based languages, see
1862@uref{https://concatenative.org}.")
1863 (license license:bsd-3)))
1864
1865(define-public ghc-concurrent-extra
1866 (package
1867 (name "ghc-concurrent-extra")
1868 (version "0.7.0.12")
1869 (source
1870 (origin
1871 (method url-fetch)
1872 (uri (string-append "https://hackage.haskell.org/package/"
1873 "concurrent-extra/concurrent-extra-"
1874 version ".tar.gz"))
1875 (sha256
1876 (base32
1877 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
1878 (build-system haskell-build-system)
1879 (arguments
1880 ;; XXX: The ReadWriteLock 'stressTest' fails.
1881 `(#:tests? #f))
1882 (inputs
1883 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
1884 (native-inputs
1885 `(("ghc-async" ,ghc-async)
1886 ("ghc-hunit" ,ghc-hunit)
1887 ("ghc-random" ,ghc-random)
1888 ("ghc-test-framework" ,ghc-test-framework)
1889 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
1890 (home-page "https://github.com/basvandijk/concurrent-extra")
1891 (synopsis "Extra concurrency primitives")
1892 (description "This Haskell library offers (among other things) the
1893following selection of synchronisation primitives:
1894
1895@itemize
1896@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
1897@item @code{Event}: Wake multiple threads by signalling an event.
1898@item @code{Lock}: Enforce exclusive access to a resource. Also known
1899as a binary semaphore or mutex. The package additionally provides an
1900alternative that works in the STM monad.
1901@item @code{RLock}: A lock which can be acquired multiple times by the
1902same thread. Also known as a reentrant mutex.
1903@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
1904to protect shared resources which may be concurrently read, but only
1905sequentially written.
1906@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
1907@end itemize
1908
1909Please consult the API documentation of the individual modules for more
1910detailed information.
1911
1912This package was inspired by the concurrency libraries of Java and
1913Python.")
1914 (license license:bsd-3)))
1915
1916(define-public ghc-concurrent-output
1917 (package
1918 (name "ghc-concurrent-output")
1919 (version "1.10.9")
1920 (source
1921 (origin
1922 (method url-fetch)
1923 (uri (string-append
1924 "mirror://hackage/package/concurrent-output/concurrent-output-"
1925 version
1926 ".tar.gz"))
1927 (sha256
1928 (base32
1929 "0mwf155w89nbbkjln7hhbn8k3f8p0ylcvgrg31cm7ijpx4499i4c"))))
1930 (build-system haskell-build-system)
1931 (inputs
1932 `(("ghc-async" ,ghc-async)
1933 ("ghc-exceptions" ,ghc-exceptions)
1934 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1935 ("ghc-terminal-size" ,ghc-terminal-size)))
1936 (home-page
1937 "https://hackage.haskell.org/package/concurrent-output")
1938 (synopsis
1939 "Ungarble output from several threads or commands")
1940 (description
1941 "Lets multiple threads and external processes concurrently output to the
1942console, without it getting all garbled up.
1943
1944Built on top of that is a way of defining multiple output regions, which are
1945automatically laid out on the screen and can be individually updated by
1946concurrent threads. Can be used for progress displays etc.")
1947 (license license:bsd-2)))
1948
1949(define-public ghc-conduit
1950 (package
1951 (name "ghc-conduit")
1952 (version "1.3.0.3")
1953 (source (origin
1954 (method url-fetch)
1955 (uri (string-append "https://hackage.haskell.org/package/"
1956 "conduit/conduit-" version ".tar.gz"))
1957 (sha256
1958 (base32
1959 "1sangm0qqi9dzlq95746a3kl14k8b09592a423shxjf2a0b1yx5v"))))
1960 (build-system haskell-build-system)
1961 (inputs
1962 `(("ghc-exceptions" ,ghc-exceptions)
1963 ("ghc-lifted-base" ,ghc-lifted-base)
1964 ("ghc-mono-traversable" ,ghc-mono-traversable)
1965 ("ghc-mmorph" ,ghc-mmorph)
1966 ("ghc-resourcet" ,ghc-resourcet)
1967 ("ghc-silently" ,ghc-silently)
1968 ("ghc-transformers-base" ,ghc-transformers-base)
1969 ("ghc-unliftio" ,ghc-unliftio)
1970 ("ghc-unliftio-core" ,ghc-unliftio-core)
1971 ("ghc-vector" ,ghc-vector)
1972 ("ghc-void" ,ghc-void)))
1973 (native-inputs
1974 `(("ghc-quickcheck" ,ghc-quickcheck)
1975 ("ghc-hspec" ,ghc-hspec)
1976 ("ghc-safe" ,ghc-safe)
1977 ("ghc-split" ,ghc-split)))
1978 (home-page "https://github.com/snoyberg/conduit")
1979 (synopsis "Streaming data library ")
1980 (description
1981 "The conduit package is a solution to the streaming data problem,
1982allowing for production, transformation, and consumption of streams of data
1983in constant memory. It is an alternative to lazy I/O which guarantees
1984deterministic resource handling, and fits in the same general solution
1985space as enumerator/iteratee and pipes.")
1986 (license license:expat)))
1987
1988(define-public ghc-conduit-algorithms
1989 (package
1990 (name "ghc-conduit-algorithms")
1991 (version "0.0.8.1")
1992 (source
1993 (origin
1994 (method url-fetch)
1995 (uri (string-append "https://hackage.haskell.org/package/"
1996 "conduit-algorithms/conduit-algorithms-"
1997 version ".tar.gz"))
1998 (sha256
1999 (base32
2000 "07gx2q3d1bbfw14q41rmqg0i4m018pci10lswc0k1ij6lw7sb9fd"))))
2001 (build-system haskell-build-system)
2002 (inputs
2003 `(("ghc-async" ,ghc-async)
2004 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2005 ("ghc-conduit" ,ghc-conduit)
2006 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2007 ("ghc-conduit-extra" ,ghc-conduit-extra)
2008 ("ghc-exceptions" ,ghc-exceptions)
2009 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2010 ("ghc-monad-control" ,ghc-monad-control)
2011 ("ghc-pqueue" ,ghc-pqueue)
2012 ("ghc-resourcet" ,ghc-resourcet)
2013 ("ghc-stm-conduit" ,ghc-stm-conduit)
2014 ("ghc-streaming-commons" ,ghc-streaming-commons)
2015 ("ghc-unliftio-core" ,ghc-unliftio-core)
2016 ("ghc-vector" ,ghc-vector)))
2017 (native-inputs
2018 `(("ghc-hunit" ,ghc-hunit)
2019 ("ghc-test-framework" ,ghc-test-framework)
2020 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2021 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2022 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2023 (synopsis "Conduit-based algorithms")
2024 (description
2025 "This package provides algorithms on @code{Conduits}, including higher
2026level asynchronous processing and some other utilities.")
2027 (license license:expat)))
2028
2029(define-public ghc-conduit-combinators
2030 (package
2031 (name "ghc-conduit-combinators")
2032 (version "1.3.0")
2033 (source
2034 (origin
2035 (method url-fetch)
2036 (uri (string-append "https://hackage.haskell.org/package/"
2037 "conduit-combinators-" version "/"
2038 "conduit-combinators-" version ".tar.gz"))
2039 (sha256
2040 (base32
2041 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2042 (build-system haskell-build-system)
2043 (inputs `(("ghc-conduit" ,ghc-conduit)
2044 ("ghc-conduit-extra" ,ghc-conduit-extra)
2045 ("ghc-transformers-base" ,ghc-transformers-base)
2046 ("ghc-primitive" ,ghc-primitive)
2047 ("ghc-vector" ,ghc-vector)
2048 ("ghc-void" ,ghc-void)
2049 ("ghc-mwc-random" ,ghc-mwc-random)
2050 ("ghc-unix-compat" ,ghc-unix-compat)
2051 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2052 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2053 ("ghc-resourcet" ,ghc-resourcet)
2054 ("ghc-monad-control" ,ghc-monad-control)
2055 ("ghc-chunked-data" ,ghc-chunked-data)
2056 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2057 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2058 ("ghc-silently" ,ghc-silently)
2059 ("ghc-safe" ,ghc-safe)
2060 ("ghc-quickcheck" ,ghc-quickcheck)))
2061 (home-page "https://github.com/snoyberg/mono-traversable")
2062 (synopsis "Commonly used conduit functions, for both chunked and
2063unchunked data")
2064 (description "This Haskell package provides a replacement for Data.Conduit.List,
2065as well as a convenient Conduit module.")
2066 (license license:expat)))
2067
2068(define-public ghc-conduit-extra
2069 (package
2070 (name "ghc-conduit-extra")
2071 (version "1.3.1.1")
2072 (source
2073 (origin
2074 (method url-fetch)
2075 (uri (string-append "https://hackage.haskell.org/package/"
2076 "conduit-extra/conduit-extra-"
2077 version ".tar.gz"))
2078 (sha256
2079 (base32
2080 "0jaj350vv6mbb26gdwcqz4gwzfzrjydv5pis2da49wz1npbakcfw"))))
2081 (build-system haskell-build-system)
2082 (inputs
2083 `(("ghc-conduit" ,ghc-conduit)
2084 ("ghc-exceptions" ,ghc-exceptions)
2085 ("ghc-monad-control" ,ghc-monad-control)
2086 ("ghc-transformers-base" ,ghc-transformers-base)
2087 ("ghc-typed-process" ,ghc-typed-process)
2088 ("ghc-async" ,ghc-async)
2089 ("ghc-attoparsec" ,ghc-attoparsec)
2090 ("ghc-blaze-builder" ,ghc-blaze-builder)
2091 ("ghc-network" ,ghc-network)
2092 ("ghc-primitive" ,ghc-primitive)
2093 ("ghc-resourcet" ,ghc-resourcet)
2094 ("ghc-streaming-commons" ,ghc-streaming-commons)
2095 ("ghc-hspec" ,ghc-hspec)
2096 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2097 ("ghc-quickcheck" ,ghc-quickcheck)))
2098 (native-inputs
2099 `(("hspec-discover" ,hspec-discover)))
2100 (home-page "https://github.com/snoyberg/conduit")
2101 (synopsis "Conduit adapters for common libraries")
2102 (description
2103 "The @code{conduit} package itself maintains relative small dependencies.
2104The purpose of this package is to collect commonly used utility functions
2105wrapping other library dependencies, without depending on heavier-weight
2106dependencies. The basic idea is that this package should only depend on
2107@code{haskell-platform} packages and @code{conduit}.")
2108 (license license:expat)))
2109
2110(define-public ghc-configurator
2111 (package
2112 (name "ghc-configurator")
2113 (version "0.3.0.0")
2114 (source
2115 (origin
2116 (method url-fetch)
2117 (uri (string-append "https://hackage.haskell.org/package/"
2118 "configurator/configurator-"
2119 version ".tar.gz"))
2120 (sha256
2121 (base32
2122 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2123 (build-system haskell-build-system)
2124 (inputs
2125 `(("ghc-attoparsec" ,ghc-attoparsec)
2126 ("ghc-hashable" ,ghc-hashable)
2127 ("ghc-unix-compat" ,ghc-unix-compat)
2128 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2129 (native-inputs
2130 `(("ghc-hunit" ,ghc-hunit)
2131 ("ghc-test-framework" ,ghc-test-framework)
2132 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2133 (home-page "http://github.com/bos/configurator")
2134 (synopsis "Configuration management")
2135 (description
2136 "This package provides a configuration management library for programs
2137and daemons. The features include:
2138
2139@enumerate
2140@item Automatic, dynamic reloading in response to modifications to
2141 configuration files.
2142@item A simple, but flexible, configuration language, supporting several of
2143 the most commonly needed types of data, along with interpolation of strings
2144 from the configuration or the system environment (e.g. @code{$(HOME)}).
2145@item Subscription-based notification of changes to configuration properties.
2146@item An @code{import} directive allows the configuration of a complex
2147 application to be split across several smaller files, or common configuration
2148 data to be shared across several applications.
2149@end enumerate\n")
2150 (license license:bsd-3)))
2151
2152(define-public ghc-connection
2153 (package
2154 (name "ghc-connection")
2155 (version "0.2.8")
2156 (source (origin
2157 (method url-fetch)
2158 (uri (string-append "https://hackage.haskell.org/package/"
2159 "connection/connection-"
2160 version ".tar.gz"))
2161 (sha256
2162 (base32
2163 "1swkb9w5vx9ph7x55y51dc0srj2z27nd9ibgn8c0qcl6hx7g9cbh"))))
2164 (build-system haskell-build-system)
2165 (inputs
2166 `(("ghc-byteable" ,ghc-byteable)
2167 ("ghc-data-default-class" ,ghc-data-default-class)
2168 ("ghc-network" ,ghc-network)
2169 ("ghc-tls" ,ghc-tls)
2170 ("ghc-socks" ,ghc-socks)
2171 ("ghc-x509" ,ghc-x509)
2172 ("ghc-x509-store" ,ghc-x509-store)
2173 ("ghc-x509-system" ,ghc-x509-system)
2174 ("ghc-x509-validation" ,ghc-x509-validation)))
2175 (home-page "https://github.com/vincenthz/hs-connection")
2176 (synopsis "Simple and easy network connections API")
2177 (description
2178 "This package provides a simple network library for all your connection
2179needs. It provides a very simple API to create sockets to a destination with
2180the choice of SSL/TLS, and SOCKS.")
2181 (license license:bsd-3)))
2182
2183(define-public ghc-constraints
2184 (package
2185 (name "ghc-constraints")
2186 (version "0.10.1")
2187 (source
2188 (origin
2189 (method url-fetch)
2190 (uri (string-append
2191 "https://hackage.haskell.org/package/constraints/constraints-"
2192 version ".tar.gz"))
2193 (sha256
2194 (base32
2195 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2196 (build-system haskell-build-system)
2197 (inputs
2198 `(("ghc-hashable" ,ghc-hashable)
2199 ("ghc-semigroups" ,ghc-semigroups)
2200 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2201 (native-inputs
2202 `(("ghc-hspec" ,ghc-hspec)
2203 ("hspec-discover" ,hspec-discover)))
2204 (home-page "https://github.com/ekmett/constraints/")
2205 (synopsis "Constraint manipulation")
2206 (description
2207 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2208They stopped crashing the compiler in GHC 7.6. This package provides
2209a vocabulary for working with them.")
2210 (license license:bsd-3)))
2211
2212(define-public ghc-contravariant
2213 (package
2214 (name "ghc-contravariant")
2215 (version "1.4.1")
2216 (source
2217 (origin
2218 (method url-fetch)
2219 (uri (string-append
2220 "https://hackage.haskell.org/package/contravariant/contravariant-"
2221 version
2222 ".tar.gz"))
2223 (sha256
2224 (base32
2225 "1vfhk8c5cxmmakx7rflap1ipkx5q0j5vnlrcz7yz6y53kxhksgf9"))))
2226 (build-system haskell-build-system)
2227 (inputs
2228 `(("ghc-void" ,ghc-void)
2229 ("ghc-transformers-compat" ,ghc-transformers-compat)
2230 ("ghc-statevar" ,ghc-statevar)
2231 ("ghc-semigroups" ,ghc-semigroups)))
2232 (home-page
2233 "https://github.com/ekmett/contravariant/")
2234 (synopsis "Contravariant functors")
2235 (description "Contravariant functors for Haskell.")
2236 (license license:bsd-3)))
2237
2238(define-public ghc-contravariant-extras
2239 (package
2240 (name "ghc-contravariant-extras")
2241 (version "0.3.4")
2242 (source
2243 (origin
2244 (method url-fetch)
2245 (uri (string-append "https://hackage.haskell.org/package/"
2246 "contravariant-extras-" version "/"
2247 "contravariant-extras-" version ".tar.gz"))
2248 (sha256
2249 (base32
2250 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2251 (build-system haskell-build-system)
2252 (inputs
2253 `(("ghc-tuple-th" ,ghc-tuple-th)
2254 ("ghc-contravariant" ,ghc-contravariant)
2255 ("ghc-base-prelude" ,ghc-base-prelude)
2256 ("ghc-semigroups" ,ghc-semigroups)))
2257 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2258 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2259 (description "This Haskell package provides extras for the
2260@code{ghc-contravariant} package.")
2261 (license license:expat)))
2262
2263(define-public ghc-convertible
2264 (package
2265 (name "ghc-convertible")
2266 (version "1.1.1.0")
2267 (source
2268 (origin
2269 (method url-fetch)
2270 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2271 "convertible-" version ".tar.gz"))
2272 (sha256
2273 (base32
2274 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2275 (build-system haskell-build-system)
2276 (inputs
2277 `(("ghc-old-time" ,ghc-old-time)
2278 ("ghc-old-locale" ,ghc-old-locale)))
2279 (home-page "https://hackage.haskell.org/package/convertible")
2280 (synopsis "Typeclasses and instances for converting between types")
2281 (description
2282 "This package provides a typeclass with a single function that is
2283designed to help convert between different types: numeric values, dates and
2284times, and the like. The conversions perform bounds checking and return a
2285pure @code{Either} value. This means that you need not remember which specific
2286function performs the conversion you desire.")
2287 (license license:bsd-3)))
2288
2289(define-public ghc-data-accessor
2290 (package
2291 (name "ghc-data-accessor")
6dcca515 2292 (version "0.2.2.8")
dddbc90c
RV
2293 (source
2294 (origin
2295 (method url-fetch)
2296 (uri (string-append
2297 "mirror://hackage/package/data-accessor/data-accessor-"
2298 version ".tar.gz"))
2299 (sha256
6dcca515 2300 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2301 (build-system haskell-build-system)
2302 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2303 (synopsis
2304 "Haskell utilities for accessing and manipulating fields of records")
2305 (description "This package provides Haskell modules for accessing and
2306manipulating fields of records.")
2307 (license license:bsd-3)))
2308
2309(define-public ghc-data-accessor-transformers
2310 (package
2311 (name "ghc-data-accessor-transformers")
2312 (version "0.2.1.7")
2313 (source
2314 (origin
2315 (method url-fetch)
2316 (uri (string-append
2317 "mirror://hackage/package/data-accessor-transformers/"
2318 "data-accessor-transformers-" version ".tar.gz"))
2319 (sha256
2320 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2321 (build-system haskell-build-system)
2322 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2323 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2324 (synopsis "Use Accessor to access state in transformers State monad")
2325 (description "This package provides Haskell modules to allow use of
2326Accessor to access state in transformers State monad.")
2327 (license license:bsd-3)))
2328
2329(define-public ghc-data-default
2330 (package
2331 (name "ghc-data-default")
2332 (version "0.7.1.1")
2333 (source
2334 (origin
2335 (method url-fetch)
2336 (uri (string-append
2337 "https://hackage.haskell.org/package/data-default/data-default-"
2338 version
2339 ".tar.gz"))
2340 (sha256
2341 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2342 (build-system haskell-build-system)
2343 (inputs
2344 `(("ghc-data-default-class"
2345 ,ghc-data-default-class)
2346 ("ghc-data-default-instances-base"
2347 ,ghc-data-default-instances-base)
2348 ("ghc-data-default-instances-containers"
2349 ,ghc-data-default-instances-containers)
2350 ("ghc-data-default-instances-dlist"
2351 ,ghc-data-default-instances-dlist)
2352 ("ghc-data-default-instances-old-locale"
2353 ,ghc-data-default-instances-old-locale)))
2354 (home-page "https://hackage.haskell.org/package/data-default")
2355 (synopsis "Types with default values")
2356 (description
2357 "This package defines a class for types with a default value, and
2358provides instances for types from the base, containers, dlist and old-locale
2359packages.")
2360 (license license:bsd-3)))
2361
2362(define-public ghc-data-default-class
2363 (package
2364 (name "ghc-data-default-class")
2365 (version "0.1.2.0")
2366 (source
2367 (origin
2368 (method url-fetch)
2369 (uri (string-append
2370 "https://hackage.haskell.org/package/data-default-class/"
2371 "data-default-class-" version ".tar.gz"))
2372 (sha256
2373 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2374 (build-system haskell-build-system)
2375 (home-page "https://hackage.haskell.org/package/data-default-class")
2376 (synopsis "Types with default values")
2377 (description
2378 "This package defines a class for types with default values.")
2379 (license license:bsd-3)))
2380
2381(define-public ghc-data-default-instances-base
2382 (package
2383 (name "ghc-data-default-instances-base")
2384 (version "0.1.0.1")
2385 (source
2386 (origin
2387 (method url-fetch)
2388 (uri (string-append
2389 "https://hackage.haskell.org/package/"
2390 "data-default-instances-base/"
2391 "data-default-instances-base-" version ".tar.gz"))
2392 (sha256
2393 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2394 (build-system haskell-build-system)
2395 (inputs
2396 `(("ghc-data-default-class" ,ghc-data-default-class)))
2397 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2398 (synopsis "Default instances for types in base")
2399 (description
2400 "This package provides default instances for types from the base
2401package.")
2402 (license license:bsd-3)))
2403
2404(define-public ghc-data-default-instances-containers
2405 (package
2406 (name "ghc-data-default-instances-containers")
2407 (version "0.0.1")
2408 (source
2409 (origin
2410 (method url-fetch)
2411 (uri (string-append
2412 "https://hackage.haskell.org/package/"
2413 "data-default-instances-containers/"
2414 "data-default-instances-containers-" version ".tar.gz"))
2415 (sha256
2416 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2417 (build-system haskell-build-system)
2418 (inputs
2419 `(("ghc-data-default-class" ,ghc-data-default-class)))
2420 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2421 (synopsis "Default instances for types in containers")
2422 (description "Provides default instances for types from the containers
2423package.")
2424 (license license:bsd-3)))
2425
2426(define-public ghc-data-default-instances-dlist
2427 (package
2428 (name "ghc-data-default-instances-dlist")
2429 (version "0.0.1")
2430 (source
2431 (origin
2432 (method url-fetch)
2433 (uri (string-append
2434 "https://hackage.haskell.org/package/"
2435 "data-default-instances-dlist/"
2436 "data-default-instances-dlist-" version ".tar.gz"))
2437 (sha256
2438 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2439 (build-system haskell-build-system)
2440 (inputs
2441 `(("ghc-data-default-class" ,ghc-data-default-class)
2442 ("ghc-dlist" ,ghc-dlist)))
2443 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2444 (synopsis "Default instances for types in dlist")
2445 (description "Provides default instances for types from the dlist
2446package.")
2447 (license license:bsd-3)))
2448
2449(define-public ghc-data-default-instances-old-locale
2450 (package
2451 (name "ghc-data-default-instances-old-locale")
2452 (version "0.0.1")
2453 (source
2454 (origin
2455 (method url-fetch)
2456 (uri (string-append
2457 "https://hackage.haskell.org/package/"
2458 "data-default-instances-old-locale/"
2459 "data-default-instances-old-locale-" version ".tar.gz"))
2460 (sha256
2461 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2462 (build-system haskell-build-system)
2463 (inputs
2464 `(("ghc-data-default-class" ,ghc-data-default-class)
2465 ("ghc-old-locale" ,ghc-old-locale)))
2466 (home-page
2467 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2468 (synopsis "Default instances for types in old-locale")
2469 (description "Provides Default instances for types from the old-locale
2470 package.")
2471 (license license:bsd-3)))
2472
2473(define-public ghc-data-hash
2474 (package
2475 (name "ghc-data-hash")
2476 (version "0.2.0.1")
2477 (source
2478 (origin
2479 (method url-fetch)
2480 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2481 "/data-hash-" version ".tar.gz"))
2482 (sha256
2483 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2484 (build-system haskell-build-system)
2485 (inputs
2486 `(("ghc-quickcheck" ,ghc-quickcheck)
2487 ("ghc-test-framework" ,ghc-test-framework)
2488 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2489 (home-page "https://hackage.haskell.org/package/data-hash")
2490 (synopsis "Combinators for building fast hashing functions")
2491 (description
2492 "This package provides combinators for building fast hashing functions.
2493It includes hashing functions for all basic Haskell98 types.")
2494 (license license:bsd-3)))
2495
2496(define-public ghc-data-ordlist
2497 (package
2498 (name "ghc-data-ordlist")
2499 (version "0.4.7.0")
2500 (source
2501 (origin
2502 (method url-fetch)
2503 (uri (string-append
2504 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2505 version ".tar.gz"))
2506 (sha256
2507 (base32
2508 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2509 (build-system haskell-build-system)
2510 (home-page "https://hackage.haskell.org/package/data-ordlist")
2511 (synopsis "Set and bag operations on ordered lists")
2512 (description
2513 "This module provides set and multiset operations on ordered lists.")
2514 (license license:bsd-3)))
2515
2516(define-public ghc-deepseq-generics
2517 (package
2518 (name "ghc-deepseq-generics")
2519 (version "0.2.0.0")
2520 (source (origin
2521 (method url-fetch)
2522 (uri (string-append "https://hackage.haskell.org/package/"
2523 "deepseq-generics/deepseq-generics-"
2524 version ".tar.gz"))
2525 (sha256
2526 (base32
2527 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2528 (build-system haskell-build-system)
2529 (arguments
2530 `(#:cabal-revision
2531 ("2" "1pnidf8w8x0w5fsqgv8hhrw07slmhxwy5x4fikgk0bd6k76aqicb")))
2532 (native-inputs
2533 `(("ghc-hunit" ,ghc-hunit)
2534 ("ghc-test-framework" ,ghc-test-framework)
2535 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2536 (home-page "https://github.com/hvr/deepseq-generics")
2537 (synopsis "Generic RNF implementation")
2538 (description
2539 "This package provides a @code{GHC.Generics}-based
2540@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2541providing an @code{rnf} implementation.")
2542 (license license:bsd-3)))
2543
2544(define-public ghc-descriptive
2545 (package
2546 (name "ghc-descriptive")
2547 (version "0.9.5")
2548 (source
2549 (origin
2550 (method url-fetch)
2551 (uri (string-append
2552 "https://hackage.haskell.org/package/descriptive/descriptive-"
2553 version
2554 ".tar.gz"))
2555 (sha256
2556 (base32
2557 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2558 (build-system haskell-build-system)
2559 (inputs
2560 `(("ghc-aeson" ,ghc-aeson)
2561 ("ghc-bifunctors" ,ghc-bifunctors)
2562 ("ghc-scientific" ,ghc-scientific)
2563 ("ghc-vector" ,ghc-vector)))
2564 (native-inputs
2565 `(("ghc-hunit" ,ghc-hunit)
2566 ("ghc-hspec" ,ghc-hspec)))
2567 (home-page
2568 "https://github.com/chrisdone/descriptive")
2569 (synopsis
2570 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2571 (description
2572 "This package provides datatypes and functions for creating consumers
2573and parsers with useful semantics.")
2574 (license license:bsd-3)))
2575
2576(define-public ghc-diff
2577 (package
2578 (name "ghc-diff")
2579 (version "0.3.4")
2580 (source (origin
2581 (method url-fetch)
2582 (uri (string-append "https://hackage.haskell.org/package/"
2583 "Diff/Diff-" version ".tar.gz"))
2584 (sha256
2585 (base32
2586 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
2587 (build-system haskell-build-system)
2588 (native-inputs
2589 `(("ghc-quickcheck" ,ghc-quickcheck)
2590 ("ghc-test-framework" ,ghc-test-framework)
2591 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2592 (home-page "https://hub.darcs.net/sterlingclover/Diff")
2593 (synopsis "O(ND) diff algorithm in Haskell")
2594 (description
2595 "This package provides an implementation of the standard diff algorithm,
2596and utilities for pretty printing.")
2597 (license license:bsd-3)))
2598
2599(define-public ghc-disk-free-space
2600 (package
2601 (name "ghc-disk-free-space")
2602 (version "0.1.0.1")
2603 (source
2604 (origin
2605 (method url-fetch)
2606 (uri (string-append "https://hackage.haskell.org/package/"
2607 "disk-free-space/disk-free-space-"
2608 version ".tar.gz"))
2609 (sha256
2610 (base32
2611 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
2612 (build-system haskell-build-system)
2613 (home-page "https://github.com/redneb/disk-free-space")
2614 (synopsis "Retrieve information about disk space usage")
2615 (description "A cross-platform library for retrieving information about
2616disk space usage.")
2617 (license license:bsd-3)))
2618
2619(define-public ghc-distributive
2620 (package
2621 (name "ghc-distributive")
2622 (version "0.5.3")
2623 (source
2624 (origin
2625 (method url-fetch)
2626 (uri (string-append
2627 "https://hackage.haskell.org/package/distributive/distributive-"
2628 version
2629 ".tar.gz"))
2630 (sha256
2631 (base32
2632 "0y566r97sfyvhsmd4yxiz4ns2mqgwf5bdbp56wgxl6wlkidq0wwi"))))
2633 (build-system haskell-build-system)
2634 (arguments
2635 `(#:cabal-revision
2636 ("6" "06bd38rf31yrvvy989r44pm0id3dsxwcp6nxg7wk6ccj3n2b8rzk")))
2637 (inputs
2638 `(("ghc-tagged" ,ghc-tagged)
2639 ("ghc-base-orphans" ,ghc-base-orphans)
2640 ("ghc-transformers-compat" ,ghc-transformers-compat)
2641 ("ghc-semigroups" ,ghc-semigroups)
2642 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2643 (native-inputs
2644 `(("cabal-doctest" ,cabal-doctest)
2645 ("ghc-doctest" ,ghc-doctest)
2646 ("ghc-hspec" ,ghc-hspec)
2647 ("hspec-discover" ,hspec-discover)))
2648 (home-page "https://github.com/ekmett/distributive/")
2649 (synopsis "Distributive functors for Haskell")
2650 (description "This package provides distributive functors for Haskell.
2651Dual to @code{Traversable}.")
2652 (license license:bsd-3)))
2653
2654(define-public ghc-dlist
2655 (package
2656 (name "ghc-dlist")
2657 (version "0.8.0.4")
2658 (source
2659 (origin
2660 (method url-fetch)
2661 (uri (string-append
2662 "https://hackage.haskell.org/package/dlist/dlist-"
2663 version
2664 ".tar.gz"))
2665 (sha256
2666 (base32 "0yirrh0s6acjy9hhvf5fqg2d6q5y6gm9xs04v6w1imndh1xqdwdc"))))
2667 (build-system haskell-build-system)
2668 (inputs
2669 `(("ghc-quickcheck" ,ghc-quickcheck)))
2670 (home-page "https://github.com/spl/dlist")
2671 (synopsis "Difference lists")
2672 (description
2673 "Difference lists are a list-like type supporting O(1) append. This is
2674particularly useful for efficient logging and pretty printing (e.g. with the
2675Writer monad), where list append quickly becomes too expensive.")
2676 (license license:bsd-3)))
2677
2678(define-public ghc-doctemplates
2679 (package
2680 (name "ghc-doctemplates")
2681 (version "0.2.2.1")
2682 (source
2683 (origin
2684 (method url-fetch)
2685 (uri (string-append "https://hackage.haskell.org/package/"
2686 "doctemplates/doctemplates-"
2687 version ".tar.gz"))
2688 (sha256
2689 (base32
2690 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
2691 (build-system haskell-build-system)
2692 (inputs
2693 `(("ghc-aeson" ,ghc-aeson)
2694 ("ghc-blaze-markup" ,ghc-blaze-markup)
2695 ("ghc-blaze-html" ,ghc-blaze-html)
2696 ("ghc-vector" ,ghc-vector)
2697 ("ghc-unordered-containers" ,ghc-unordered-containers)
2698 ("ghc-scientific" ,ghc-scientific)))
2699 (native-inputs
2700 `(("ghc-hspec" ,ghc-hspec)))
2701 (home-page "https://github.com/jgm/doctemplates#readme")
2702 (synopsis "Pandoc-style document templates")
2703 (description
2704 "This package provides a simple text templating system used by pandoc.")
2705 (license license:bsd-3)))
2706
2707(define-public ghc-doctest
2708 (package
2709 (name "ghc-doctest")
2710 (version "0.16.0")
2711 (source
2712 (origin
2713 (method url-fetch)
2714 (uri (string-append
2715 "https://hackage.haskell.org/package/doctest/doctest-"
2716 version
2717 ".tar.gz"))
2718 (sha256
2719 (base32
2720 "0hkccch65s3kp0b36h7bqhilnpi4bx8kngncm7ma9vbd3dwacjdv"))))
2721 (build-system haskell-build-system)
2722 (arguments `(#:tests? #f)) ; FIXME: missing test framework
2723 (inputs
2724 `(("ghc-syb" ,ghc-syb)
2725 ("ghc-paths" ,ghc-paths)
2726 ("ghc-base-compat" ,ghc-base-compat)
2727 ("ghc-code-page" ,ghc-code-page)
2728 ("ghc-hunit" ,ghc-hunit)
2729 ("ghc-hspec" ,ghc-hspec)
2730 ("ghc-quickcheck" ,ghc-quickcheck)
2731 ("ghc-stringbuilder" ,ghc-stringbuilder)
2732 ("ghc-silently" ,ghc-silently)
2733 ("ghc-setenv" ,ghc-setenv)))
2734 (home-page
2735 "https://github.com/sol/doctest#readme")
2736 (synopsis "Test interactive Haskell examples")
2737 (description "The doctest program checks examples in source code comments.
2738It is modeled after doctest for Python, see
2739@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
2740 (license license:expat)))
2741
2742(define-public ghc-double-conversion
2743 (package
2744 (name "ghc-double-conversion")
2745 (version "2.0.2.0")
2746 (source
2747 (origin
2748 (method url-fetch)
2749 (uri (string-append "https://hackage.haskell.org/package/"
2750 "double-conversion/double-conversion-"
2751 version ".tar.gz"))
2752 (sha256
2753 (base32
2754 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
2755 (build-system haskell-build-system)
2756 (native-inputs
2757 `(("ghc-hunit" ,ghc-hunit)
2758 ("ghc-test-framework" ,ghc-test-framework)
2759 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2760 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2761 (home-page "https://github.com/bos/double-conversion")
2762 (synopsis "Fast conversion between double precision floating point and text")
2763 (description
2764 "This package provides a library that performs fast, accurate conversion
2765between double precision floating point and text.")
2766 (license license:bsd-3)))
2767
2768(define-public ghc-easy-file
2769 (package
2770 (name "ghc-easy-file")
2771 (version "0.2.2")
2772 (source
2773 (origin
2774 (method url-fetch)
2775 (uri (string-append
2776 "https://hackage.haskell.org/package/easy-file/easy-file-"
2777 version
2778 ".tar.gz"))
2779 (sha256
2780 (base32
2781 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
2782 (build-system haskell-build-system)
2783 (home-page
2784 "https://github.com/kazu-yamamoto/easy-file")
2785 (synopsis "File handling library for Haskell")
2786 (description "This library provides file handling utilities for Haskell.")
2787 (license license:bsd-3)))
2788
2789(define-public ghc-easyplot
2790 (package
2791 (name "ghc-easyplot")
2792 (version "1.0")
2793 (source
2794 (origin
2795 (method url-fetch)
2796 (uri (string-append
2797 "https://hackage.haskell.org/package/easyplot/easyplot-"
2798 version ".tar.gz"))
2799 (sha256
2800 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
2801 (build-system haskell-build-system)
2802 (propagated-inputs `(("gnuplot" ,gnuplot)))
2803 (arguments
2804 `(#:phases (modify-phases %standard-phases
2805 (add-after 'unpack 'fix-setup-suffix
2806 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
2807 (home-page "https://hub.darcs.net/scravy/easyplot")
2808 (synopsis "Haskell plotting library based on gnuplot")
2809 (description "This package provides a plotting library for
2810Haskell, using gnuplot for rendering.")
2811 (license license:expat)))
2812
2813(define-public ghc-echo
2814 (package
2815 (name "ghc-echo")
2816 (version "0.1.3")
2817 (source
2818 (origin
2819 (method url-fetch)
2820 (uri (string-append
2821 "https://hackage.haskell.org/package/echo/echo-"
2822 version ".tar.gz"))
2823 (sha256
2824 (base32
2825 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
2826 (build-system haskell-build-system)
2827 (arguments
2828 `(#:cabal-revision
2829 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
2830 (home-page "https://github.com/RyanGlScott/echo")
2831 (synopsis "Echo terminal input portably")
2832 (description "The @code{base} library exposes the @code{hGetEcho} and
2833@code{hSetEcho} functions for querying and setting echo status, but
2834unfortunately, neither function works with MinTTY consoles on Windows.
2835This library provides an alternative interface which works with both
2836MinTTY and other consoles.")
2837 (license license:bsd-3)))
2838
2839(define-public ghc-edisonapi
2840 (package
2841 (name "ghc-edisonapi")
2842 (version "1.3.1")
2843 (source
2844 (origin
2845 (method url-fetch)
2846 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
2847 "/EdisonAPI-" version ".tar.gz"))
2848 (sha256
2849 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
2850 (build-system haskell-build-system)
2851 (home-page "http://rwd.rdockins.name/edison/home/")
2852 (synopsis "Library of efficient, purely-functional data structures (API)")
2853 (description
2854 "Edison is a library of purely functional data structures written by
2855Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
2856value EDiSon (Efficient Data Structures). Edison provides several families of
2857abstractions, each with multiple implementations. The main abstractions
2858provided by Edison are: Sequences such as stacks, queues, and dequeues;
2859Collections such as sets, bags and heaps; and Associative Collections such as
2860finite maps and priority queues where the priority and element are distinct.")
2861 (license license:expat)))
2862
2863(define-public ghc-edisoncore
2864 (package
2865 (name "ghc-edisoncore")
2866 (version "1.3.2.1")
2867 (source
2868 (origin
2869 (method url-fetch)
2870 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
2871 "/EdisonCore-" version ".tar.gz"))
2872 (sha256
2873 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
2874 (build-system haskell-build-system)
2875 (inputs
2876 `(("ghc-quickcheck" ,ghc-quickcheck)
2877 ("ghc-edisonapi" ,ghc-edisonapi)))
2878 (home-page "http://rwd.rdockins.name/edison/home/")
2879 (synopsis "Library of efficient, purely-functional data structures")
2880 (description
2881 "This package provides the core Edison data structure implementations,
2882including multiple sequence, set, bag, and finite map concrete implementations
2883with various performance characteristics.")
2884 (license license:expat)))
2885
2886(define-public ghc-edit-distance
2887 (package
2888 (name "ghc-edit-distance")
2889 (version "0.2.2.1")
2890 (source
2891 (origin
2892 (method url-fetch)
2893 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
2894 "/edit-distance-" version ".tar.gz"))
2895 (sha256
2896 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
2897 (build-system haskell-build-system)
2898 (arguments
2899 `(#:phases
2900 (modify-phases %standard-phases
2901 (add-before 'configure 'update-constraints
2902 (lambda _
2903 (substitute* "edit-distance.cabal"
2904 (("QuickCheck >= 2\\.4 && <2\\.9")
2905 "QuickCheck >= 2.4 && < 2.12")))))))
2906 (inputs
2907 `(("ghc-random" ,ghc-random)
2908 ("ghc-test-framework" ,ghc-test-framework)
2909 ("ghc-quickcheck" ,ghc-quickcheck)
2910 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2911 (home-page "https://github.com/phadej/edit-distance")
2912 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
2913 (description
2914 "This package provides optimized functions to determine the edit
2915distances for fuzzy matching, including Levenshtein and restricted
2916Damerau-Levenshtein algorithms.")
2917 (license license:bsd-3)))
2918
2919(define-public ghc-either
2920 (package
2921 (name "ghc-either")
2922 (version "5.0.1")
2923 (source
2924 (origin
2925 (method url-fetch)
2926 (uri (string-append "https://hackage.haskell.org/package/"
2927 "either-" version "/"
2928 "either-" version ".tar.gz"))
2929 (sha256
2930 (base32
2931 "064hjfld7dkzs78sy30k5qkiva3hx24rax6dvzz5ygr2c0zypdkc"))))
2932 (build-system haskell-build-system)
2933 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
2934 ("ghc-exceptions" ,ghc-exceptions)
2935 ("ghc-free" ,ghc-free)
2936 ("ghc-monad-control" ,ghc-monad-control)
2937 ("ghc-manodrandom" ,ghc-monadrandom)
2938 ("ghc-mmorph" ,ghc-mmorph)
2939 ("ghc-profunctors" ,ghc-profunctors)
2940 ("ghc-semigroups" ,ghc-semigroups)
2941 ("ghc-semigroupoids" ,ghc-semigroupoids)
2942 ("ghc-transformers-base" ,ghc-transformers-base)))
2943 (native-inputs
2944 `(("ghc-quickcheck" ,ghc-quickcheck)
2945 ("ghc-test-framework" ,ghc-test-framework)
2946 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2947 (home-page "https://github.com/ekmett/either")
2948 (synopsis "Provides an either monad transformer for Haskell")
2949 (description "This Haskell package provides an either monad transformer.")
2950 (license license:bsd-3)))
2951
2952(define-public ghc-email-validate
2953 (package
2954 (name "ghc-email-validate")
2955 (version "2.3.2.6")
2956 (source
2957 (origin
2958 (method url-fetch)
2959 (uri (string-append
2960 "https://hackage.haskell.org/package/"
2961 "email-validate/email-validate-"
2962 version
2963 ".tar.gz"))
2964 (sha256
2965 (base32
2966 "0chgylvc8xmhp933rdbmpg5sv4y7yg2h6kbf0ip1dzmbd5p55pa5"))))
2967 (build-system haskell-build-system)
2968 (inputs
2969 `(("ghc-attoparsec" ,ghc-attoparsec)
2970 ("ghc-hspec" ,ghc-hspec)
2971 ("ghc-quickcheck" ,ghc-quickcheck)
2972 ("ghc-doctest" ,ghc-doctest)))
2973 (home-page
2974 "https://github.com/Porges/email-validate-hs")
2975 (synopsis "Email address validator for Haskell")
2976 (description
2977 "This Haskell package provides a validator that can validate an email
2978address string against RFC 5322.")
2979 (license license:bsd-3)))
2980
2981(define-public ghc-enclosed-exceptions
2982 (package
2983 (name "ghc-enclosed-exceptions")
2984 (version "1.0.3")
2985 (source (origin
2986 (method url-fetch)
2987 (uri (string-append "https://hackage.haskell.org/package/"
2988 "enclosed-exceptions/enclosed-exceptions-"
2989 version ".tar.gz"))
2990 (sha256
2991 (base32
2992 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
2993 (build-system haskell-build-system)
2994 ;; FIXME: one of the tests blocks forever:
2995 ;; "thread blocked indefinitely in an MVar operation"
2996 (arguments '(#:tests? #f))
2997 (inputs
2998 `(("ghc-lifted-base" ,ghc-lifted-base)
2999 ("ghc-monad-control" ,ghc-monad-control)
3000 ("ghc-async" ,ghc-async)
3001 ("ghc-transformers-base" ,ghc-transformers-base)))
3002 (native-inputs
3003 `(("ghc-hspec" ,ghc-hspec)
3004 ("ghc-quickcheck" ,ghc-quickcheck)))
3005 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3006 (synopsis "Catch all exceptions from within an enclosed computation")
3007 (description
3008 "This library implements a technique to catch all exceptions raised
3009within an enclosed computation, while remaining responsive to (external)
3010asynchronous exceptions.")
3011 (license license:expat)))
3012
3013(define-public ghc-equivalence
3014 (package
3015 (name "ghc-equivalence")
3016 (version "0.3.2")
3017 (source
3018 (origin
3019 (method url-fetch)
3020 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3021 "/equivalence-" version ".tar.gz"))
3022 (sha256
3023 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
3024 (build-system haskell-build-system)
3025 (inputs
3026 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3027 ("ghc-transformers-compat" ,ghc-transformers-compat)
3028 ("ghc-quickcheck" ,ghc-quickcheck)
3029 ("ghc-test-framework" ,ghc-test-framework)
3030 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3031 (home-page "https://github.com/pa-ba/equivalence")
3032 (synopsis "Maintaining an equivalence relation implemented as union-find")
3033 (description
3034 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3035Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
303622(2), 1975) in order to maintain an equivalence relation. This
3037implementation is a port of the @code{union-find} package using the @code{ST}
3038monad transformer (instead of the IO monad).")
3039 (license license:bsd-3)))
3040
3041(define-public ghc-erf
3042 (package
3043 (name "ghc-erf")
3044 (version "2.0.0.0")
3045 (source
3046 (origin
3047 (method url-fetch)
3048 (uri (string-append "https://hackage.haskell.org/package/"
3049 "erf-" version "/"
3050 "erf-" version ".tar.gz"))
3051 (sha256
3052 (base32
3053 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3054 (build-system haskell-build-system)
3055 (home-page "https://hackage.haskell.org/package/erf")
3056 (synopsis "The error function, erf, and related functions for Haskell")
3057 (description "This Haskell library provides a type class for the
3058error function, erf, and related functions. Instances for Float and
3059Double.")
3060 (license license:bsd-3)))
3061
3062(define-public ghc-errorcall-eq-instance
3063 (package
3064 (name "ghc-errorcall-eq-instance")
3065 (version "0.3.0")
3066 (source
3067 (origin
3068 (method url-fetch)
3069 (uri (string-append "https://hackage.haskell.org/package/"
3070 "errorcall-eq-instance/errorcall-eq-instance-"
3071 version ".tar.gz"))
3072 (sha256
3073 (base32
3074 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3075 (build-system haskell-build-system)
3076 (inputs
3077 `(("ghc-base-orphans" ,ghc-base-orphans)))
3078 (native-inputs
3079 `(("ghc-quickcheck" ,ghc-quickcheck)
3080 ("ghc-hspec" ,ghc-hspec)
3081 ("hspec-discover" ,hspec-discover)))
3082 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3083 (synopsis "Orphan Eq instance for ErrorCall")
3084 (description
3085 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3086This package provides an orphan instance.")
3087 (license license:expat)))
3088
3089(define-public ghc-errors
3090 (package
3091 (name "ghc-errors")
3092 (version "2.3.0")
3093 (source
3094 (origin
3095 (method url-fetch)
3096 (uri (string-append "https://hackage.haskell.org/package/"
3097 "errors-" version "/"
3098 "errors-" version ".tar.gz"))
3099 (sha256
3100 (base32
3101 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3102 (build-system haskell-build-system)
3103 (inputs
3104 `(("ghc-exceptions" ,ghc-exceptions)
3105 ("ghc-transformers-compat" ,ghc-transformers-compat)
3106 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3107 ("ghc-safe" ,ghc-safe)))
3108 (home-page "https://github.com/gabriel439/haskell-errors-library")
3109 (synopsis "Error handling library for Haskell")
3110 (description "This library encourages an error-handling style that
3111directly uses the type system, rather than out-of-band exceptions.")
3112 (license license:bsd-3)))
3113
3114(define-public ghc-esqueleto
3115 (let ((version "2.5.3")
3116 (revision "1")
3117 (commit "b81e0d951e510ebffca03c5a58658ad884cc6fbd"))
3118 (package
3119 (name "ghc-esqueleto")
3120 (version (git-version version revision commit))
3121 (source
3122 (origin
3123 (method git-fetch)
3124 (uri (git-reference
3125 (url "https://github.com/bitemyapp/esqueleto")
3126 (commit commit)))
3127 (file-name (git-file-name name version))
3128 (sha256
3129 (base32
3130 "0lz1qxms7cfg5p3j37inlych0r2fwhm8xbarcys3df9m7jy9nixa"))))
3131 (build-system haskell-build-system)
3132 (arguments
3133 `(#:haddock? #f ; Haddock reports an internal error.
3134 #:phases
3135 (modify-phases %standard-phases
3136 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3137 ;; SQLite backends. Since we only have Haskell packages for
3138 ;; SQLite, we remove the other two test suites. FIXME: Add the
3139 ;; other backends and run all three test suites.
3140 (add-before 'configure 'remove-non-sqlite-test-suites
3141 (lambda _
3142 (use-modules (ice-9 rdelim))
3143 (with-atomic-file-replacement "esqueleto.cabal"
3144 (lambda (in out)
3145 (let loop ((line (read-line in 'concat)) (deleting? #f))
3146 (cond
3147 ((eof-object? line) #t)
3148 ((string-every char-set:whitespace line)
3149 (unless deleting? (display line out))
3150 (loop (read-line in 'concat) #f))
3151 ((member line '("test-suite mysql\n"
3152 "test-suite postgresql\n"))
3153 (loop (read-line in 'concat) #t))
3154 (else
3155 (unless deleting? (display line out))
3156 (loop (read-line in 'concat) deleting?)))))))))))
3157 (inputs
3158 `(("ghc-blaze-html" ,ghc-blaze-html)
3159 ("ghc-conduit" ,ghc-conduit)
3160 ("ghc-monad-logger" ,ghc-monad-logger)
3161 ("ghc-persistent" ,ghc-persistent)
3162 ("ghc-resourcet" ,ghc-resourcet)
3163 ("ghc-tagged" ,ghc-tagged)
3164 ("ghc-unliftio" ,ghc-unliftio)
3165 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3166 (native-inputs
3167 `(("ghc-hspec" ,ghc-hspec)
3168 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3169 ("ghc-persistent-template" ,ghc-persistent-template)))
3170 (home-page "https://github.com/bitemyapp/esqueleto")
3171 (synopsis "Type-safe embedded domain specific language for SQL queries")
3172 (description "This library provides a type-safe embedded domain specific
3173language (EDSL) for SQL queries that works with SQL backends as provided by
3174@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3175to learn new concepts, just new syntax, and it's fairly easy to predict the
3176generated SQL and optimize it for your backend.")
3177 (license license:bsd-3))))
3178
3179(define-public ghc-exactprint
3180 (package
3181 (name "ghc-exactprint")
3182 (version "0.5.6.1")
3183 (source
3184 (origin
3185 (method url-fetch)
3186 (uri (string-append
3187 "https://hackage.haskell.org/package/"
3188 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3189 (sha256
3190 (base32
3191 "141k6qiys0m0r4br7ikp4i546vs3xcil9cwglzcdfcbnb5nj1z87"))))
3192 (build-system haskell-build-system)
3193 (inputs
3194 `(("ghc-paths" ,ghc-paths)
3195 ("ghc-syb" ,ghc-syb)
3196 ("ghc-free" ,ghc-free)))
3197 (native-inputs
3198 `(("ghc-hunit" ,ghc-hunit)
3199 ("ghc-diff" ,ghc-diff)
3200 ("ghc-silently" ,ghc-silently)
3201 ("ghc-filemanip" ,ghc-filemanip)))
3202 (home-page
3203 "http://hackage.haskell.org/package/ghc-exactprint")
3204 (synopsis "ExactPrint for GHC")
3205 (description
3206 "Using the API Annotations available from GHC 7.10.2, this library
3207provides a means to round-trip any code that can be compiled by GHC, currently
3208excluding @file{.lhs} files.")
3209 (license license:bsd-3)))
3210
3211(define-public ghc-exceptions
3212 (package
3213 (name "ghc-exceptions")
3214 (version "0.10.0")
3215 (source
3216 (origin
3217 (method url-fetch)
3218 (uri (string-append
3219 "https://hackage.haskell.org/package/exceptions/exceptions-"
3220 version
3221 ".tar.gz"))
3222 (sha256
3223 (base32
3224 "1ms9zansv0pwzwdjncvx4kf18lnkjy2p61hvjhvxmjx5bqp93p8y"))))
3225 (build-system haskell-build-system)
3226 (native-inputs
3227 `(("ghc-quickcheck" ,ghc-quickcheck)
3228 ("ghc-test-framework" ,ghc-test-framework)
3229 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3230 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3231 (inputs
3232 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3233 (home-page "https://github.com/ekmett/exceptions/")
3234 (synopsis "Extensible optionally-pure exceptions")
3235 (description "This library provides extensible optionally-pure exceptions
3236for Haskell.")
3237 (license license:bsd-3)))
3238
3239(define-public ghc-executable-path
3240 (package
3241 (name "ghc-executable-path")
3242 (version "0.0.3.1")
3243 (source (origin
3244 (method url-fetch)
3245 (uri (string-append "https://hackage.haskell.org/package/"
3246 "executable-path/executable-path-"
3247 version ".tar.gz"))
3248 (sha256
3249 (base32
3250 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3251 (build-system haskell-build-system)
3252 (home-page "https://hackage.haskell.org/package/executable-path")
3253 (synopsis "Find out the full path of the executable")
3254 (description
3255 "The documentation of @code{System.Environment.getProgName} says that
3256\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3257instead, for maximum portability, we just return the leafname of the program
3258as invoked.\" This library tries to provide the missing path.")
3259 (license license:public-domain)))
3260
3261(define-public ghc-extensible-exceptions
3262 (package
3263 (name "ghc-extensible-exceptions")
3264 (version "0.1.1.4")
3265 (source
3266 (origin
3267 (method url-fetch)
3268 (uri (string-append "https://hackage.haskell.org/package/"
3269 "extensible-exceptions/extensible-exceptions-"
3270 version ".tar.gz"))
3271 (sha256
3272 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3273 (build-system haskell-build-system)
3274 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3275 (synopsis "Extensible exceptions for Haskell")
3276 (description
3277 "This package provides extensible exceptions for both new and old
3278versions of GHC (i.e., < 6.10).")
3279 (license license:bsd-3)))
3280
3281(define-public ghc-extra
3282 (package
3283 (name "ghc-extra")
3284 (version "1.6.9")
3285 (source
3286 (origin
3287 (method url-fetch)
3288 (uri (string-append
3289 "https://hackage.haskell.org/package/extra/extra-"
3290 version
3291 ".tar.gz"))
3292 (sha256
3293 (base32
3294 "0xxcpb00pgwi9cmy6a7ghh6rblxry42p8pz5ssfgj20fs1xwzj1b"))))
3295 (build-system haskell-build-system)
3296 (inputs
3297 `(("ghc-clock" ,ghc-clock)
3298 ("ghc-quickcheck" ,ghc-quickcheck)))
3299 (home-page "https://github.com/ndmitchell/extra")
3300 (synopsis "Extra Haskell functions")
3301 (description "This library provides extra functions for the standard
3302Haskell libraries. Most functions are simple additions, filling out missing
3303functionality. A few functions are available in later versions of GHC, but
3304this package makes them available back to GHC 7.2.")
3305 (license license:bsd-3)))
3306
3307(define-public ghc-fail
3308 (package
3309 (name "ghc-fail")
3310 (version "4.9.0.0")
3311 (source
3312 (origin
3313 (method url-fetch)
3314 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3315 version ".tar.gz"))
3316 (sha256
3317 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3318 (build-system haskell-build-system)
3319 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3320 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3321 (synopsis "Forward-compatible MonadFail class")
3322 (description
3323 "This package contains the @code{Control.Monad.Fail} module providing the
3324@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3325class that became available in
3326@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3327older @code{base} package versions. This package turns into an empty package
3328when used with GHC versions which already provide the
3329@code{Control.Monad.Fail} module.")
3330 (license license:bsd-3)))
3331
3332(define-public ghc-fast-logger
3333 (package
3334 (name "ghc-fast-logger")
3335 (version "2.4.11")
3336 (source
3337 (origin
3338 (method url-fetch)
3339 (uri (string-append
3340 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3341 version
3342 ".tar.gz"))
3343 (sha256
3344 (base32
3345 "1ad2vq4nifdxshqk9yrmghqizhkgybfz134kpr6padglb2mxxrdv"))))
3346 (build-system haskell-build-system)
3347 (inputs
3348 `(("ghc-auto-update" ,ghc-auto-update)
3349 ("ghc-easy-file" ,ghc-easy-file)
3350 ("ghc-unix-time" ,ghc-unix-time)))
3351 (native-inputs
3352 `(("hspec-discover" ,hspec-discover)
3353 ("ghc-hspec" ,ghc-hspec)))
3354 (home-page "https://hackage.haskell.org/package/fast-logger")
3355 (synopsis "Fast logging system")
3356 (description "This library provides a fast logging system for Haskell.")
3357 (license license:bsd-3)))
3358
3359(define-public ghc-feed
3360 (package
3361 (name "ghc-feed")
3362 (version "1.0.0.0")
3363 (source
3364 (origin
3365 (method url-fetch)
3366 (uri (string-append "https://hackage.haskell.org/package/"
3367 "feed/feed-" version ".tar.gz"))
3368 (sha256
3369 (base32
3370 "05rgg7x1984mgfhkmz792xj8lhwjgznixhygzr8blf517lns2nck"))))
3371 (build-system haskell-build-system)
3372 (arguments
3373 `(#:cabal-revision
3374 ("4" "0baavcavm3ywykcr9cm07aqr7sna98jba2n68lyn3kany8ri214d")))
3375 (inputs
3376 `(("ghc-base-compat" ,ghc-base-compat)
3377 ("ghc-old-locale" ,ghc-old-locale)
3378 ("ghc-old-time" ,ghc-old-time)
3379 ("ghc-safe" ,ghc-safe)
3380 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3381 ("ghc-utf8-string" ,ghc-utf8-string)
3382 ("ghc-xml-conduit" ,ghc-xml-conduit)
3383 ("ghc-xml-types" ,ghc-xml-types)))
3384 (native-inputs
3385 `(("ghc-hunit" ,ghc-hunit)
3386 ("ghc-test-framework" ,ghc-test-framework)
3387 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3388 (home-page "https://github.com/bergmark/feed")
3389 (synopsis "Haskell package for handling various syndication formats")
3390 (description "This Haskell package includes tools for generating and
3391consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3392 (license license:bsd-3)))
3393
3394(define-public ghc-fgl
3395 (package
3396 (name "ghc-fgl")
3397 (version "5.6.0.0")
3398 (outputs '("out" "doc"))
3399 (source
3400 (origin
3401 (method url-fetch)
3402 (uri (string-append
3403 "https://hackage.haskell.org/package/fgl/fgl-"
3404 version
3405 ".tar.gz"))
3406 (sha256
3407 (base32
3408 "1i6cp4b3w7sjk7y1dq3fh6bci2sm5h3lnbbaw9ln19nwncg2wwll"))))
3409 (build-system haskell-build-system)
3410 (arguments
3411 `(#:phases
3412 (modify-phases %standard-phases
3413 (add-before 'configure 'update-constraints
3414 (lambda _
3415 (substitute* "fgl.cabal"
3416 (("QuickCheck >= 2\\.8 && < 2\\.10")
3417 "QuickCheck >= 2.8 && < 2.12")
3418 (("hspec >= 2\\.1 && < 2\\.5")
3419 "hspec >= 2.1 && < 2.6")))))))
3420 (inputs
3421 `(("ghc-hspec" ,ghc-hspec)
3422 ("ghc-quickcheck" ,ghc-quickcheck)))
3423 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3424 (synopsis
3425 "Martin Erwig's Functional Graph Library")
3426 (description "The functional graph library, FGL, is a collection of type
3427and function definitions to address graph problems. The basis of the library
3428is an inductive definition of graphs in the style of algebraic data types that
3429encourages inductive, recursive definitions of graph algorithms.")
3430 (license license:bsd-3)))
3431
3432(define-public ghc-fgl-arbitrary
3433 (package
3434 (name "ghc-fgl-arbitrary")
3435 (version "0.2.0.3")
3436 (source
3437 (origin
3438 (method url-fetch)
3439 (uri (string-append
3440 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3441 version ".tar.gz"))
3442 (sha256
3443 (base32
3444 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3445 (build-system haskell-build-system)
3446 (arguments
3447 `(#:phases
3448 (modify-phases %standard-phases
3449 (add-before 'configure 'update-constraints
3450 (lambda _
3451 (substitute* "fgl-arbitrary.cabal"
3452 (("QuickCheck >= 2\\.3 && < 2\\.10")
3453 "QuickCheck >= 2.3 && < 2.12")
3454 (("hspec >= 2\\.1 && < 2\\.5")
3455 "hspec >= 2.1 && < 2.6")))))))
3456 (inputs
3457 `(("ghc-fgl" ,ghc-fgl)
3458 ("ghc-quickcheck" ,ghc-quickcheck)
3459 ("ghc-hspec" ,ghc-hspec)))
3460 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3461 (synopsis "QuickCheck support for fgl")
3462 (description
3463 "Provides Arbitrary instances for fgl graphs to avoid adding a
3464QuickCheck dependency for fgl whilst still making the instances
3465available to others. Also available are non-fgl-specific functions
3466for generating graph-like data structures.")
3467 (license license:bsd-3)))
3468
3469(define-public ghc-file-embed
3470 (package
3471 (name "ghc-file-embed")
b5920d50 3472 (version "0.0.11")
dddbc90c
RV
3473 (source
3474 (origin
3475 (method url-fetch)
3476 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3477 "file-embed-" version ".tar.gz"))
3478 (sha256
3479 (base32
b5920d50 3480 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
3481 (build-system haskell-build-system)
3482 (home-page "https://github.com/snoyberg/file-embed")
3483 (synopsis "Use Template Haskell to embed file contents directly")
3484 (description
3485 "This package allows you to use Template Haskell to read a file or all
3486the files in a directory, and turn them into @code{(path, bytestring)} pairs
3487embedded in your Haskell code.")
3488 (license license:bsd-3)))
3489
3490(define-public ghc-filemanip
3491 (package
3492 (name "ghc-filemanip")
3493 (version "0.3.6.3")
3494 (source (origin
3495 (method url-fetch)
3496 (uri (string-append "https://hackage.haskell.org/package/"
3497 "filemanip/filemanip-" version ".tar.gz"))
3498 (sha256
3499 (base32
3500 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3501 (build-system haskell-build-system)
3502 (inputs
3503 `(("ghc-unix-compat" ,ghc-unix-compat)))
3504 (home-page "https://github.com/bos/filemanip")
3505 (synopsis "File and directory manipulation for Haskell")
3506 (description
3507 "This package provides a Haskell library for working with files and
3508directories. It includes code for pattern matching, finding files, modifying
3509file contents, and more.")
3510 (license license:bsd-3)))
3511
3512(define-public ghc-findbin
3513 (package
3514 (name "ghc-findbin")
3515 (version "0.0.5")
3516 (source
3517 (origin
3518 (method url-fetch)
3519 (uri (string-append
3520 "https://hackage.haskell.org/package/FindBin/FindBin-"
3521 version ".tar.gz"))
3522 (sha256
3523 (base32
3524 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3525 (build-system haskell-build-system)
3526 (home-page "https://github.com/audreyt/findbin")
3527 (synopsis "Get the absolute path of the running program")
3528 (description
3529 "This module locates the full directory of the running program, to allow
3530the use of paths relative to it. FindBin supports invocation of Haskell
3531programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3532an executable.")
3533 (license license:bsd-3)))
3534
3535(define-public ghc-fingertree
3536 (package
3537 (name "ghc-fingertree")
3538 (version "0.1.4.1")
3539 (source
3540 (origin
3541 (method url-fetch)
3542 (uri (string-append
3543 "https://hackage.haskell.org/package/fingertree/fingertree-"
3544 version ".tar.gz"))
3545 (sha256
3546 (base32
3547 "192fyzv0pn1437wdpqg1l80rswkk4rw3w61r4bq7dhv354bdqy4p"))))
3548 (build-system haskell-build-system)
3549 (native-inputs
3550 `(("ghc-hunit" ,ghc-hunit)
3551 ("ghc-quickcheck" ,ghc-quickcheck)
3552 ("ghc-test-framework" ,ghc-test-framework)
3553 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3554 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3555 (home-page "https://hackage.haskell.org/package/fingertree")
3556 (synopsis "Generic finger-tree structure")
3557 (description "This library provides finger trees, a general sequence
3558representation with arbitrary annotations, for use as a base for
3559implementations of various collection types. It includes examples, as
3560described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3561simple general-purpose data structure\".")
3562 (license license:bsd-3)))
3563
3564(define-public ghc-fixed
3565 (package
3566 (name "ghc-fixed")
099dda5b 3567 (version "0.3")
dddbc90c
RV
3568 (source
3569 (origin
3570 (method url-fetch)
3571 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
3572 version ".tar.gz"))
3573 (sha256
3574 (base32
099dda5b 3575 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
3576 (build-system haskell-build-system)
3577 (home-page "https://github.com/ekmett/fixed")
3578 (synopsis "Signed 15.16 precision fixed point arithmetic")
3579 (description
3580 "This package provides functions for signed 15.16 precision fixed point
3581arithmetic.")
3582 (license license:bsd-3)))
3583
f169f713
JS
3584(define-public ghc-fmlist
3585 (package
3586 (name "ghc-fmlist")
fe9b83a6 3587 (version "0.9.3")
f169f713
JS
3588 (source
3589 (origin
3590 (method url-fetch)
3591 (uri
3592 (string-append
3593 "https://hackage.haskell.org/package/fmlist/fmlist-"
3594 version ".tar.gz"))
3595 (sha256
3596 (base32
fe9b83a6 3597 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
3598 (build-system haskell-build-system)
3599 (home-page "https://github.com/sjoerdvisscher/fmlist")
3600 (synopsis "FoldMap lists")
3601 (description "FoldMap lists are lists represented by their
3602@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
3603append, just like DLists, but other operations might have favorable
3604performance characteristics as well. These wild claims are still
3605completely unverified though.")
3606 (license license:bsd-3)))
3607
dddbc90c
RV
3608(define-public ghc-foldl
3609 (package
3610 (name "ghc-foldl")
3611 (version "1.4.3")
3612 (source
3613 (origin
3614 (method url-fetch)
3615 (uri (string-append "https://hackage.haskell.org/package/"
3616 "foldl-" version "/"
3617 "foldl-" version ".tar.gz"))
3618 (sha256
3619 (base32
3620 "13n0ca3hw5jzqf6rxsdbhbwkn61a9zlm13f0f205s60j3sc72jzk"))))
3621 (build-system haskell-build-system)
3622 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3623 ("ghc-primitive" ,ghc-primitive)
3624 ("ghc-vector" ,ghc-vector)
3625 ("ghc-unordered-containers" ,ghc-unordered-containers)
3626 ("ghc-hashable" ,ghc-hashable)
3627 ("ghc-contravariant" ,ghc-contravariant)
3628 ("ghc-semigroups" ,ghc-semigroups)
3629 ("ghc-profunctors" ,ghc-profunctors)
3630 ("ghc-semigroupoids" ,ghc-semigroupoids)
3631 ("ghc-comonad" ,ghc-comonad)
3632 ("ghc-vector-builder" ,ghc-vector-builder)))
3633 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
3634 (synopsis "Composable, streaming, and efficient left folds for Haskell")
3635 (description "This Haskell library provides strict left folds that stream
3636in constant memory, and you can combine folds using @code{Applicative} style
3637to derive new folds. Derived folds still traverse the container just once
3638and are often as efficient as hand-written folds.")
3639 (license license:bsd-3)))
3640
3641(define-public ghc-foundation
3642 (package
3643 (name "ghc-foundation")
0a702df9 3644 (version "0.0.25")
dddbc90c
RV
3645 (source
3646 (origin
3647 (method url-fetch)
3648 (uri (string-append "https://hackage.haskell.org/package/"
3649 "foundation/foundation-" version ".tar.gz"))
3650 (sha256
3651 (base32
0a702df9 3652 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c
RV
3653 (build-system haskell-build-system)
3654 (inputs `(("ghc-basement" ,ghc-basement)))
3655 (home-page "https://github.com/haskell-foundation/foundation")
3656 (synopsis "Alternative prelude with batteries and no dependencies")
3657 (description
3658 "This package provides a custom prelude with no dependencies apart from
3659the base package.
3660
3661Foundation has the following goals:
3662
3663@enumerate
3664@item provide a base like sets of modules that provide a consistent set of
3665 features and bugfixes across multiple versions of GHC (unlike base).
3666@item provide a better and more efficient prelude than base's prelude.
3667@item be self-sufficient: no external dependencies apart from base;
3668@item provide better data-types: packed unicode string by default, arrays;
3669@item Numerical classes that better represent mathematical things (no more
3670 all-in-one @code{Num});
3671@item I/O system with less lazy IO.
3672@end enumerate\n")
3673 (license license:bsd-3)))
3674
3675(define-public ghc-free
3676 (package
3677 (name "ghc-free")
3678 (version "5.0.2")
3679 (source
3680 (origin
3681 (method url-fetch)
3682 (uri (string-append
3683 "https://hackage.haskell.org/package/free/free-"
3684 version
3685 ".tar.gz"))
3686 (sha256
3687 (base32
3688 "15m3n9vhz7z3kzv1w3wlfa3x8jp4cbrkwmrcjr7jlx39iqffn1gg"))))
3689 (build-system haskell-build-system)
3690 (inputs
3691 `(("ghc-prelude-extras" ,ghc-prelude-extras)
3692 ("ghc-profunctors" ,ghc-profunctors)
3693 ("ghc-exceptions" ,ghc-exceptions)
3694 ("ghc-bifunctors" ,ghc-bifunctors)
3695 ("ghc-comonad" ,ghc-comonad)
3696 ("ghc-distributive" ,ghc-distributive)
3697 ("ghc-semigroupoids" ,ghc-semigroupoids)
3698 ("ghc-semigroups" ,ghc-semigroups)
3699 ("ghc-transformers-base" ,ghc-transformers-base)
3700 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3701 (home-page "https://github.com/ekmett/free/")
3702 (synopsis "Unrestricted monads for Haskell")
3703 (description "This library provides free monads, which are useful for many
3704tree-like structures and domain specific languages. If @code{f} is a
3705@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
3706whose nodes are labeled with the constructors of @code{f}. The word \"free\"
3707is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
3708f} makes no constraining assumptions beyond those given by @code{f} and the
3709definition of @code{Monad}.")
3710 (license license:bsd-3)))
3711
3712(define-public ghc-fsnotify
3713 (package
3714 (name "ghc-fsnotify")
3715 (version "0.3.0.1")
3716 (source (origin
3717 (method url-fetch)
3718 (uri (string-append
3719 "https://hackage.haskell.org/package/fsnotify/"
3720 "fsnotify-" version ".tar.gz"))
3721 (sha256
3722 (base32
3723 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
3724 (build-system haskell-build-system)
3725 (inputs
3726 `(("ghc-async" ,ghc-async)
3727 ("ghc-unix-compat" ,ghc-unix-compat)
3728 ("ghc-hinotify" ,ghc-hinotify)
3729 ("ghc-tasty" ,ghc-tasty)
3730 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3731 ("ghc-random" ,ghc-random)
3732 ("ghc-shelly" ,ghc-shelly)
3733 ("ghc-temporary" ,ghc-temporary)))
3734 (home-page "https://github.com/haskell-fswatch/hfsnotify")
3735 (synopsis "Cross platform library for file change notification.")
3736 (description "Cross platform library for file creation, modification, and
3737deletion notification. This library builds upon existing libraries for platform
3738specific Windows, Mac, and Linux file system event notification.")
3739 (license license:bsd-3)))
3740
3741(define-public ghc-generic-deriving
3742 (package
3743 (name "ghc-generic-deriving")
3744 (version "1.12.2")
3745 (source
3746 (origin
3747 (method url-fetch)
3748 (uri (string-append
3749 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
3750 version
3751 ".tar.gz"))
3752 (sha256
3753 (base32
3754 "1i7d6cpj9yhaqb79zays3nqchhaacacjz9bkc0zlwj73y5gvi22n"))))
3755 (build-system haskell-build-system)
3756 (inputs
3757 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
3758 (native-inputs
3759 `(("ghc-hspec" ,ghc-hspec)
3760 ("hspec-discover" ,hspec-discover)))
3761 (home-page "https://hackage.haskell.org/package/generic-deriving")
3762 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3763 (description "This package provides functionality for generalising the
3764deriving mechanism in Haskell to arbitrary classes.")
3765 (license license:bsd-3)))
3766
3767(define-public ghc-generics-sop
3768 (package
3769 (name "ghc-generics-sop")
3ed40e10 3770 (version "0.4.0.1")
dddbc90c
RV
3771 (source
3772 (origin
3773 (method url-fetch)
3774 (uri (string-append "https://hackage.haskell.org/package/"
3775 "generics-sop-" version "/"
3776 "generics-sop-" version ".tar.gz"))
3777 (sha256
3778 (base32
3ed40e10 3779 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 3780 (build-system haskell-build-system)
3ed40e10
TS
3781 (inputs
3782 `(("ghc-sop-core" ,ghc-sop-core)
3783 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
3784 (home-page "https://github.com/well-typed/generics-sop")
3785 (synopsis "Generic Programming using True Sums of Products for Haskell")
3786 (description "This Haskell package supports the definition of generic
3787functions. Datatypes are viewed in a uniform, structured way: the choice
3788between constructors is represented using an n-ary sum, and the arguments of
3789each constructor are represented using an n-ary product.")
3790 (license license:bsd-3)))
3791
3792(define-public ghc-geniplate-mirror
3793 (package
3794 (name "ghc-geniplate-mirror")
3795 (version "0.7.6")
3796 (source
3797 (origin
3798 (method url-fetch)
3799 (uri (string-append "https://hackage.haskell.org/package"
3800 "/geniplate-mirror"
3801 "/geniplate-mirror-" version ".tar.gz"))
3802 (sha256
3803 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
3804 (build-system haskell-build-system)
3805 (home-page "https://github.com/danr/geniplate")
3806 (synopsis "Use Template Haskell to generate Uniplate-like functions")
3807 (description
3808 "Use Template Haskell to generate Uniplate-like functions. This is a
3809maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
3810geniplate} package, written by Lennart Augustsson.")
3811 (license license:bsd-3)))
3812
3813(define-public ghc-genvalidity
3814 (package
3815 (name "ghc-genvalidity")
3816 (version "0.5.1.0")
3817 (source
3818 (origin
3819 (method url-fetch)
3820 (uri (string-append
3821 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
3822 version
3823 ".tar.gz"))
3824 (sha256
3825 (base32
3826 "17ykq38j9a2lzir6dqz5jgy6ndaafrpkhqhcg96c5ppg7wcxaaj0"))))
3827 (build-system haskell-build-system)
3828 (inputs
3829 `(("ghc-quickcheck" ,ghc-quickcheck)
3830 ("ghc-validity" ,ghc-validity)))
3831 (native-inputs
3832 `(("ghc-hspec" ,ghc-hspec)
3833 ("hspec-discover" ,hspec-discover)
3834 ("ghc-hspec-core" ,ghc-hspec-core)))
3835 (home-page
3836 "https://github.com/NorfairKing/validity")
3837 (synopsis
3838 "Testing utilities for the @code{validity} library")
3839 (description
3840 "This package provides testing utilities that are useful in conjunction
3841with the @code{Validity} typeclass.")
3842 (license license:expat)))
3843
3844(define-public ghc-genvalidity-property
3845 (package
3846 (name "ghc-genvalidity-property")
3847 (version "0.2.1.1")
3848 (source
3849 (origin
3850 (method url-fetch)
3851 (uri (string-append
3852 "https://hackage.haskell.org/package/"
3853 "genvalidity-property/genvalidity-property-"
3854 version
3855 ".tar.gz"))
3856 (sha256
3857 (base32
3858 "0cjw5i2pydidda9bnp6x37ylhxdk9g874x5sadr6sscg5kq85a1b"))))
3859 (build-system haskell-build-system)
3860 (inputs
3861 `(("ghc-quickcheck" ,ghc-quickcheck)
3862 ("ghc-genvalidity" ,ghc-genvalidity)
3863 ("ghc-hspec" ,ghc-hspec)
3864 ("hspec-discover" ,hspec-discover)
3865 ("ghc-validity" ,ghc-validity)))
3866 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
3867 (home-page
3868 "https://github.com/NorfairKing/validity")
3869 (synopsis
3870 "Standard properties for functions on @code{Validity} types")
3871 (description
3872 "This package supplements the @code{Validity} typeclass with standard
3873properties for functions operating on them.")
3874 (license license:expat)))
3875
3876(define-public ghc-gitrev
3877 (package
3878 (name "ghc-gitrev")
3879 (version "1.3.1")
3880 (source
3881 (origin
3882 (method url-fetch)
3883 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
3884 version ".tar.gz"))
3885 (sha256
3886 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
3887 (build-system haskell-build-system)
3888 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
3889 (home-page "https://github.com/acfoltzer/gitrev")
3890 (synopsis "Compile git revision info into Haskell projects")
3891 (description
3892 "This package provides some handy Template Haskell splices for including
3893the current git hash and branch in the code of your project. This is useful
3894for including in panic messages, @command{--version} output, or diagnostic
3895info for more informative bug reports.")
3896 (license license:bsd-3)))
3897
3898(define-public ghc-glob
3899 (package
3900 (name "ghc-glob")
3901 (version "0.9.2")
3902 (source
3903 (origin
3904 (method url-fetch)
3905 (uri (string-append "https://hackage.haskell.org/package/"
3906 "Glob-" version "/"
3907 "Glob-" version ".tar.gz"))
3908 (sha256
3909 (base32
3910 "1rbwcq9w9951qsnp13vqcm9r01yax2yh1wk8s4zxa3ckk9717iwg"))))
3911 (build-system haskell-build-system)
3912 (inputs
3913 `(("ghc-dlist" ,ghc-dlist)
3914 ("ghc-semigroups" ,ghc-semigroups)
3915 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3916 (native-inputs
3917 `(("ghc-hunit" ,ghc-hunit)
3918 ("ghc-quickcheck" ,ghc-quickcheck)
3919 ("ghc-test-framework" ,ghc-test-framework)
3920 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3921 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3922 (home-page "http://iki.fi/matti.niemenmaa/glob/")
3923 (synopsis "Haskell library matching glob patterns against file paths")
3924 (description "This package provides a Haskell library for @dfn{globbing}:
3925matching patterns against file paths.")
3926 (license license:bsd-3)))
3927
3928(define-public ghc-gluraw
3929 (package
3930 (name "ghc-gluraw")
3931 (version "2.0.0.4")
3932 (source
3933 (origin
3934 (method url-fetch)
3935 (uri (string-append
3936 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
3937 version
3938 ".tar.gz"))
3939 (sha256
3940 (base32
3941 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
3942 (build-system haskell-build-system)
3943 (inputs
3944 `(("ghc-openglraw" ,ghc-openglraw)))
3945 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3946 (synopsis "Raw Haskell bindings GLU")
3947 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
3948utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
3949basis for a nicer interface.")
3950 (license license:bsd-3)))
3951
3952(define-public ghc-glut
3953 (package
3954 (name "ghc-glut")
3955 (version "2.7.0.14")
3956 (source
3957 (origin
3958 (method url-fetch)
3959 (uri (string-append
3960 "https://hackage.haskell.org/package/GLUT/GLUT-"
3961 version
3962 ".tar.gz"))
3963 (sha256
3964 (base32
3965 "01i162fly4q1751fp60lgkzlb8kr0qqbvmxj74zc6skb19qggy2w"))))
3966 (build-system haskell-build-system)
3967 (inputs
3968 `(("ghc-statevar" ,ghc-statevar)
3969 ("ghc-opengl" ,ghc-opengl)
3970 ("ghc-openglraw" ,ghc-openglraw)
3971 ("freeglut" ,freeglut)))
3972 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3973 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
3974 (description "This library provides Haskell bindings for the OpenGL
3975Utility Toolkit, a window system-independent toolkit for writing OpenGL
3976programs.")
3977 (license license:bsd-3)))
3978
3979(define-public ghc-gnuplot
3980 (package
3981 (name "ghc-gnuplot")
3982 (version "0.5.5.2")
3983 (source
3984 (origin
3985 (method url-fetch)
3986 (uri (string-append
3987 "mirror://hackage/package/gnuplot/gnuplot-"
3988 version ".tar.gz"))
3989 (sha256
3990 (base32 "1mlppnc13ygjzmf6ldydys4wvy35yb3xjwwfgf9rbi7nfcqjr6mn"))))
3991 (build-system haskell-build-system)
3992 (inputs
3993 `(("ghc-temporary" ,ghc-temporary)
3994 ("ghc-utility-ht" ,ghc-utility-ht)
3995 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
3996 ("ghc-data-accessor" ,ghc-data-accessor)
3997 ("ghc-semigroups" ,ghc-semigroups)
3998 ("gnuplot" ,gnuplot)))
3999 (arguments
4000 `(#:phases
4001 (modify-phases %standard-phases
4002 (add-before 'configure 'fix-path-to-gnuplot
4003 (lambda* (#:key inputs #:allow-other-keys)
4004 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4005 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4006 (("(gnuplotName = ).*$" all cmd)
4007 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4008 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4009 (synopsis "2D and 3D plots using gnuplot")
4010 (description "This package provides a Haskell module for creating 2D and
40113D plots using gnuplot.")
4012 (license license:bsd-3)))
4013
4014(define-public ghc-graphviz
4015 (package
4016 (name "ghc-graphviz")
4017 (version "2999.20.0.2")
4018 (source (origin
4019 (method url-fetch)
4020 (uri (string-append "https://hackage.haskell.org/package/"
4021 "graphviz/graphviz-" version ".tar.gz"))
4022 (sha256
4023 (base32
4024 "0kj7ap0gnliviq2p8lscw1m06capnsa90vpvcys24nqy5nw2wrp7"))))
4025 (build-system haskell-build-system)
4026 (inputs
4027 `(("ghc-quickcheck" ,ghc-quickcheck)
4028 ("ghc-colour" ,ghc-colour)
4029 ("ghc-dlist" ,ghc-dlist)
4030 ("ghc-fgl" ,ghc-fgl)
4031 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4032 ("ghc-polyparse" ,ghc-polyparse)
4033 ("ghc-temporary" ,ghc-temporary)
4034 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4035 (native-inputs
4036 `(("ghc-hspec" ,ghc-hspec)
4037 ("graphviz" ,graphviz)
4038 ("hspec-discover" ,hspec-discover)))
4039 (home-page "https://hackage.haskell.org/package/graphviz")
4040 (synopsis "Bindings to Graphviz for graph visualisation")
4041 (description
4042 "This library provides bindings for the Dot language used by
4043the @uref{https://graphviz.org/, Graphviz} suite of programs for
4044visualising graphs, as well as functions to call those programs.
4045Main features of the graphviz library include:
4046
4047@enumerate
4048@item Almost complete coverage of all Graphviz attributes and syntax
4049@item Support for specifying clusters
4050@item The ability to use a custom node type
4051@item Functions for running a Graphviz layout tool with all specified output types
4052@item Generate and parse Dot code with two options: strict and liberal
4053@item Functions to convert FGL graphs and other graph-like data structures
4054@item Round-trip support for passing an FGL graph through Graphviz to augment node
4055and edge labels with positional information, etc.
4056@end enumerate\n")
4057 (license license:bsd-3)))
4058
4059(define-public ghc-gtk2hs-buildtools
4060 (package
4061 (name "ghc-gtk2hs-buildtools")
4062 (version "0.13.4.0")
4063 (source
4064 (origin
4065 (method url-fetch)
4066 (uri (string-append "https://hackage.haskell.org/package/"
4067 "gtk2hs-buildtools/gtk2hs-buildtools-"
4068 version ".tar.gz"))
4069 (sha256
4070 (base32
4071 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
4072 (build-system haskell-build-system)
4073 (inputs
4074 `(("ghc-random" ,ghc-random)
4075 ("ghc-hashtables" ,ghc-hashtables)))
4076 (native-inputs
4077 `(("ghc-alex" ,ghc-alex)
4078 ("ghc-happy" ,ghc-happy)))
4079 (home-page "http://projects.haskell.org/gtk2hs/")
4080 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4081 (description
4082 "This package provides a set of helper programs necessary to build the
4083Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4084that is used to generate FFI declarations, a tool to build a type hierarchy
4085that mirrors the C type hierarchy of GObjects found in glib, and a generator
4086for signal declarations that are used to call back from C to Haskell. These
4087tools are not needed to actually run Gtk2Hs programs.")
4088 (license license:gpl2)))
4089
4090(define-public ghc-hackage-security
4091 (package
4092 (name "ghc-hackage-security")
4093 (version "0.5.3.0")
4094 (source
4095 (origin
4096 (method url-fetch)
4097 (uri (string-append "https://hackage.haskell.org/package/"
4098 "hackage-security/hackage-security-"
4099 version ".tar.gz"))
4100 (sha256
4101 (base32
4102 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4103 (build-system haskell-build-system)
4104 (arguments
4105 `(#:tests? #f)) ; Tests fail because of framework updates.
4106 (inputs
4107 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4108 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4109 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4110 ("ghc-ed25519" ,ghc-ed25519)
4111 ("ghc-network" ,ghc-network)
4112 ("ghc-network-uri" ,ghc-network-uri)
4113 ("ghc-tar" ,ghc-tar)
4114 ("ghc-zlib" ,ghc-zlib)))
4115 (native-inputs
4116 `(("ghc-network-uri" ,ghc-network-uri)
4117 ("ghc-quickcheck" ,ghc-quickcheck)
4118 ("ghc-tar" ,ghc-tar)
4119 ("ghc-tasty" ,ghc-tasty)
4120 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4121 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4122 ("ghc-temporary" ,ghc-temporary)
4123 ("ghc-zlib" ,ghc-zlib)))
4124 (home-page "https://github.com/haskell/hackage-security")
4125 (synopsis "Hackage security library")
4126 (description "This Hackage security library provides both server and
4127client utilities for securing @uref{http://hackage.haskell.org/, the
4128Hackage package server}. It is based on
4129@uref{http://theupdateframework.com/, The Update Framework}, a set of
4130recommendations developed by security researchers at various universities
4131in the US as well as developers on the @uref{https://www.torproject.org/,
4132Tor project}.")
4133 (license license:bsd-3)))
4134
4135(define-public ghc-haddock
4136 (package
4137 (name "ghc-haddock")
4138 (version "2.19.0.1")
4139 (source
4140 (origin
4141 (method url-fetch)
4142 (uri (string-append
4143 "https://hackage.haskell.org/package/haddock/haddock-"
4144 version
4145 ".tar.gz"))
4146 (sha256
4147 (base32
4148 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4149 (build-system haskell-build-system)
4150 (arguments
4151 `(#:phases
4152 (modify-phases %standard-phases
4153 ;; There are four test suites that require the ghc-haddock-test
4154 ;; package, which no longer builds with GHC 8.4.3. This phase
4155 ;; removes these four test suites from the Cabal file, so that we
4156 ;; do not need ghc-haddock-test as an input.
4157 (add-before 'configure 'remove-haddock-test-test-suites
4158 (lambda _
4159 (use-modules (ice-9 rdelim))
4160 (with-atomic-file-replacement "haddock.cabal"
4161 (lambda (in out)
4162 (let loop ((line (read-line in 'concat)) (deleting? #f))
4163 (cond
4164 ((eof-object? line) #t)
4165 ((string-every char-set:whitespace line)
4166 (unless deleting? (display line out))
4167 (loop (read-line in 'concat) #f))
4168 ((member line '("test-suite html-test\n"
4169 "test-suite hypsrc-test\n"
4170 "test-suite latex-test\n"
4171 "test-suite hoogle-test\n"))
4172 (loop (read-line in 'concat) #t))
4173 (else
4174 (unless deleting? (display line out))
4175 (loop (read-line in 'concat) deleting?)))))))))))
4176 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4177 (native-inputs
4178 `(("ghc-hspec" ,ghc-hspec)))
4179 (home-page "https://www.haskell.org/haddock/")
4180 (synopsis
4181 "Documentation-generation tool for Haskell libraries")
4182 (description
4183 "Haddock is a documentation-generation tool for Haskell libraries.")
4184 (license license:bsd-3)))
4185
4186(define-public ghc-haddock-api
4187 (package
4188 (name "ghc-haddock-api")
4189 (version "2.19.0.1")
4190 (source
4191 (origin
4192 (method url-fetch)
4193 (uri (string-append
4194 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4195 version
4196 ".tar.gz"))
4197 (sha256
4198 (base32
4199 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4200 (build-system haskell-build-system)
4201 (arguments
4202 `(#:phases
4203 (modify-phases %standard-phases
4204 (add-before 'configure 'update-constraints
4205 (lambda _
4206 (substitute* "haddock-api.cabal"
4207 (("Cabal \\^>= 2\\.0\\.0")
4208 "Cabal ^>= 2.2.0")
4209 (("hspec \\^>= 2\\.4\\.4")
4210 "hspec >= 2.4.4 && < 2.6")))))))
4211 (inputs
4212 `(("ghc-paths" ,ghc-paths)
4213 ("ghc-haddock-library" ,ghc-haddock-library)))
4214 (native-inputs
4215 `(("ghc-quickcheck" ,ghc-quickcheck)
4216 ("ghc-hspec" ,ghc-hspec)
4217 ("hspec-discover" ,hspec-discover)))
4218 (home-page "https://www.haskell.org/haddock/")
4219 (synopsis "API for documentation-generation tool Haddock")
4220 (description "This package provides an API to Haddock, the
4221documentation-generation tool for Haskell libraries.")
4222 (license license:bsd-3)))
4223
4224(define-public ghc-haddock-library
4225 (package
4226 (name "ghc-haddock-library")
4227 (version "1.5.0.1")
4228 (source
4229 (origin
4230 (method url-fetch)
4231 (uri (string-append
4232 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4233 version
4234 ".tar.gz"))
4235 (sha256
4236 (base32
4237 "1cmbg8l5xrwpliclwy3l057raypjqy0hsg1h1743ahaj8gq10b7z"))
4238 (patches (search-patches
4239 "ghc-haddock-library-unbundle.patch"))
4240 (modules '((guix build utils)))
4241 (snippet '(begin
4242 (delete-file-recursively "vendor")
4243 #t))))
4244 (build-system haskell-build-system)
4245 (arguments
4246 `(#:phases
4247 (modify-phases %standard-phases
4248 (add-before 'configure 'relax-test-suite-dependencies
4249 (lambda _
4250 (substitute* "haddock-library.cabal"
4251 (("base-compat\\s*\\^>= 0\\.9\\.3") "base-compat")
4252 (("hspec\\s*\\^>= 2\\.4\\.4") "hspec"))))
4253 ;; The release tarball does not contain the "fixtures/examples"
4254 ;; directory, which is required for testing. In the upstream
4255 ;; repository, the directory exists and is populated. Here, we
4256 ;; create an empty directory to placate the tests.
4257 (add-before 'check 'add-examples-directory
4258 (lambda _
4259 (mkdir "fixtures/examples")
4260 #t)))))
4261 (native-inputs
4262 `(("ghc-base-compat" ,ghc-base-compat)
4263 ("ghc-hspec" ,ghc-hspec)
4264 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4265 ("ghc-quickcheck" ,ghc-quickcheck)
4266 ("ghc-tree-diff" ,ghc-tree-diff)
4267 ("hspec-discover" ,hspec-discover)))
4268 (home-page "https://www.haskell.org/haddock/")
4269 (synopsis "Library exposing some functionality of Haddock")
4270 (description
4271 "Haddock is a documentation-generation tool for Haskell libraries. These
4272modules expose some functionality of it without pulling in the GHC dependency.
4273Please note that the API is likely to change so specify upper bounds in your
4274project if you can't release often. For interacting with Haddock itself, see
4275the ‘haddock’ package.")
4276 (license license:bsd-3)))
4277
4278(define-public ghc-half
4279 (package
4280 (name "ghc-half")
4281 (version "0.3")
4282 (source
4283 (origin
4284 (method url-fetch)
4285 (uri (string-append
4286 "https://hackage.haskell.org/package/half/half-"
4287 version ".tar.gz"))
4288 (sha256
4289 (base32
4290 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4291 (build-system haskell-build-system)
4292 (native-inputs
4293 `(("ghc-hspec" ,ghc-hspec)
4294 ("ghc-quickcheck" ,ghc-quickcheck)))
4295 (home-page "https://github.com/ekmett/half")
4296 (synopsis "Half-precision floating-point computations")
4297 (description "This library provides a half-precision floating-point
4298computation library for Haskell.")
4299 (license license:bsd-3)))
4300
4301(define-public ghc-happy
4302 (package
4303 (name "ghc-happy")
90e7b0e4 4304 (version "1.19.12")
dddbc90c
RV
4305 (source
4306 (origin
4307 (method url-fetch)
4308 (uri (string-append
4309 "https://hackage.haskell.org/package/happy/happy-"
4310 version
4311 ".tar.gz"))
4312 (sha256
4313 (base32
90e7b0e4 4314 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4315 (build-system haskell-build-system)
4316 (arguments
4317 `(#:phases
4318 (modify-phases %standard-phases
4319 (add-after 'unpack 'skip-test-issue93
4320 (lambda _
4321 ;; Tests run out of memory on a system with 2GB of available RAM,
4322 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4323 (substitute* "tests/Makefile"
4324 ((" issue93.y ") " "))
4325 #t)))))
4326 (home-page "https://hackage.haskell.org/package/happy")
4327 (synopsis "Parser generator for Haskell")
4328 (description "Happy is a parser generator for Haskell. Given a grammar
4329specification in BNF, Happy generates Haskell code to parse the grammar.
4330Happy works in a similar way to the yacc tool for C.")
4331 (license license:bsd-3)))
4332
4333(define-public ghc-hashable
4334 (package
4335 (name "ghc-hashable")
4336 (version "1.2.7.0")
4337 (outputs '("out" "doc"))
4338 (source
4339 (origin
4340 (method url-fetch)
4341 (uri (string-append
4342 "https://hackage.haskell.org/package/hashable/hashable-"
4343 version
4344 ".tar.gz"))
4345 (sha256
4346 (base32
4347 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4348 (build-system haskell-build-system)
4349 (inputs
4350 `(("ghc-random" ,ghc-random)))
4351 (native-inputs
4352 `(("ghc-test-framework" ,ghc-test-framework)
4353 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4354 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4355 ("ghc-hunit" ,ghc-hunit)
4356 ("ghc-quickcheck" ,ghc-quickcheck)))
4357 (home-page "https://github.com/tibbe/hashable")
4358 (synopsis "Class for types that can be converted to a hash value")
4359 (description
4360 "This package defines a class, @code{Hashable}, for types that can be
4361converted to a hash value. This class exists for the benefit of hashing-based
4362data structures. The package provides instances for basic types and a way to
4363combine hash values.")
4364 (license license:bsd-3)))
4365
4366(define-public ghc-hashable-bootstrap
4367 (package
4368 (inherit ghc-hashable)
4369 (name "ghc-hashable-bootstrap")
4370 (arguments `(#:tests? #f))
4371 (native-inputs '())
4372 (properties '((hidden? #t)))))
4373
4374(define-public ghc-hashable-time
4375 (package
4376 (name "ghc-hashable-time")
4377 (version "0.2.0.1")
4378 (source
4379 (origin
4380 (method url-fetch)
4381 (uri (string-append
4382 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4383 version
4384 ".tar.gz"))
4385 (sha256
4386 (base32
4387 "0k932nyd08l3xxbh2g3n76py2f4kd9yw4s5a065vjz0xp6wjnxdm"))))
4388 (build-system haskell-build-system)
4389 (arguments
4390 `(#:cabal-revision
4391 ("1" "0rv40xkg3gj8jnqsry1gq3f5s5la6d5arg8fzkirnwdpcgha1as6")))
4392 (inputs `(("ghc-hashable" ,ghc-hashable)))
4393 (home-page "http://hackage.haskell.org/package/hashable-time")
4394 (synopsis "Hashable instances for Data.Time")
4395 (description
4396 "This package provides @code{Hashable} instances for types in
4397@code{Data.Time}.")
4398 (license license:bsd-3)))
4399
4400(define-public ghc-hashtables
4401 (package
4402 (name "ghc-hashtables")
4403 (version "1.2.3.1")
4404 (source
4405 (origin
4406 (method url-fetch)
4407 (uri (string-append
4408 "https://hackage.haskell.org/package/hashtables/hashtables-"
4409 version ".tar.gz"))
4410 (sha256
4411 (base32 "1giw9caajr07slf09j7zry9b0kvm4yj9q78zy1mawzi6gk3wglcg"))))
4412 (build-system haskell-build-system)
4413 (inputs
4414 `(("ghc-hashable" ,ghc-hashable)
4415 ("ghc-primitive" ,ghc-primitive)
4416 ("ghc-vector" ,ghc-vector)))
4417 (home-page "https://github.com/gregorycollins/hashtables")
4418 (synopsis "Haskell Mutable hash tables in the ST monad")
4419 (description "This package provides a Haskell library including a
4420couple of different implementations of mutable hash tables in the ST
4421monad, as well as a typeclass abstracting their common operations, and
4422a set of wrappers to use the hash tables in the IO monad.")
4423 (license license:bsd-3)))
4424
4425(define-public ghc-haskell-lexer
4426 (package
4427 (name "ghc-haskell-lexer")
4428 (version "1.0.2")
4429 (source
4430 (origin
4431 (method url-fetch)
4432 (uri (string-append
4433 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4434 version ".tar.gz"))
4435 (sha256
4436 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4437 (build-system haskell-build-system)
4438 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4439 (synopsis "Fully compliant Haskell 98 lexer")
4440 (description
4441 "This package provides a fully compliant Haskell 98 lexer.")
4442 (license license:bsd-3)))
4443
4444(define-public ghc-haskell-src
4445 (package
4446 (name "ghc-haskell-src")
4447 (version "1.0.3.0")
4448 (source
4449 (origin
4450 (method url-fetch)
4451 (uri (string-append
4452 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4453 version
4454 ".tar.gz"))
4455 (sha256
4456 (base32
4457 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4458 (build-system haskell-build-system)
4459 (inputs
4460 `(("ghc-happy" ,ghc-happy)
4461 ("ghc-syb" ,ghc-syb)))
4462 (home-page
4463 "https://hackage.haskell.org/package/haskell-src")
4464 (synopsis
4465 "Support for manipulating Haskell source code")
4466 (description
4467 "The @code{haskell-src} package provides support for manipulating Haskell
4468source code. The package provides a lexer, parser and pretty-printer, and a
4469definition of a Haskell abstract syntax tree (AST). Common uses of this
4470package are to parse or generate Haskell 98 code.")
4471 (license license:bsd-3)))
4472
4473(define-public ghc-haskell-src-exts
4474 (package
4475 (name "ghc-haskell-src-exts")
4476 (version "1.20.2")
4477 (source
4478 (origin
4479 (method url-fetch)
4480 (uri (string-append
4481 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4482 version
4483 ".tar.gz"))
4484 (sha256
4485 (base32
4486 "1sm3z4v1p5yffg01ldgavz71s3bvfhjfa13k428rk14bpkl8crlz"))))
4487 (build-system haskell-build-system)
4488 (inputs
4489 `(("cpphs" ,cpphs)
4490 ("ghc-happy" ,ghc-happy)
4491 ("ghc-pretty-show" ,ghc-pretty-show)))
4492 (native-inputs
4493 `(("ghc-smallcheck" ,ghc-smallcheck)
4494 ("ghc-tasty" ,ghc-tasty)
4495 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4496 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4497 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4498 (synopsis "Library for manipulating Haskell source")
4499 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4500extension of the standard @code{haskell-src} package, and handles most
4501registered syntactic extensions to Haskell. All extensions implemented in GHC
4502are supported. Apart from these standard extensions, it also handles regular
4503patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4504 (license license:bsd-3)))
4505
4506(define-public ghc-haskell-src-exts-util
4507 (package
4508 (name "ghc-haskell-src-exts-util")
4509 (version "0.2.3")
4510 (source
4511 (origin
4512 (method url-fetch)
4513 (uri (string-append "https://hackage.haskell.org/package/"
4514 "haskell-src-exts-util/haskell-src-exts-util-"
4515 version ".tar.gz"))
4516 (sha256
4517 (base32
4518 "1803718paq89f8pdck4mb88hv2k1ah9lxzq0lgjgwi9n88ryycz8"))))
4519 (build-system haskell-build-system)
4520 (inputs
4521 `(("ghc-data-default" ,ghc-data-default)
4522 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4523 ("ghc-semigroups" ,ghc-semigroups)
4524 ("ghc-uniplate" ,ghc-uniplate)))
4525 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4526 (synopsis "Helper functions for working with haskell-src-exts trees")
4527 (description
4528 "This package provides helper functions for working with
4529@code{haskell-src-exts} trees.")
4530 (license license:bsd-3)))
4531
4532(define-public ghc-haskell-src-meta
4533 (package
4534 (name "ghc-haskell-src-meta")
4535 (version "0.8.0.3")
4536 (source (origin
4537 (method url-fetch)
4538 (uri (string-append "https://hackage.haskell.org/package/"
4539 "haskell-src-meta/haskell-src-meta-"
4540 version ".tar.gz"))
4541 (sha256
4542 (base32
4543 "08jq156zv4m0fjq6712n99c1jwxnpa6kj6sq8ch0r1l0a1ay6ww4"))))
4544 (build-system haskell-build-system)
4545 (inputs
4546 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4547 ("ghc-syb" ,ghc-syb)
4548 ("ghc-th-orphans" ,ghc-th-orphans)))
4549 (native-inputs
4550 `(("ghc-hunit" ,ghc-hunit)
4551 ("ghc-test-framework" ,ghc-test-framework)
4552 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4553 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4554 (synopsis "Parse source to template-haskell abstract syntax")
4555 (description
4556 "This package provides tools to parse Haskell sources to the
4557template-haskell abstract syntax.")
4558 (license license:bsd-3)))
4559
4560(define-public ghc-hasktags
4561 (package
4562 (name "ghc-hasktags")
4563 (version "0.71.2")
4564 (source
4565 (origin
4566 (method url-fetch)
4567 (uri (string-append
4568 "https://hackage.haskell.org/package/hasktags/hasktags-"
4569 version
4570 ".tar.gz"))
4571 (sha256
4572 (base32
4573 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4574 (build-system haskell-build-system)
4575 (inputs
4576 `(("ghc-system-filepath" ,ghc-system-filepath)
4577 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4578 (native-inputs
4579 `(("ghc-json" ,ghc-json)
4580 ("ghc-utf8-string" ,ghc-utf8-string)
4581 ("ghc-microlens-platform" ,ghc-microlens-platform)
4582 ("ghc-hunit" ,ghc-hunit)))
4583 (home-page "http://github.com/MarcWeber/hasktags")
4584 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4585 (description
4586 "This package provides a means of generating tag files for Emacs and
4587Vim.")
4588 (license license:bsd-3)))
4589
4590(define-public ghc-hex
4591 (package
4592 (name "ghc-hex")
4593 (version "0.1.2")
4594 (source
4595 (origin
4596 (method url-fetch)
4597 (uri (string-append "https://hackage.haskell.org/package/"
4598 "hex-" version "/"
4599 "hex-" version ".tar.gz"))
4600 (sha256
4601 (base32
4602 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4603 (build-system haskell-build-system)
4604 (home-page "https://hackage.haskell.org/package/hex")
4605 (synopsis "Convert strings into hexadecimal and back")
4606 (description "This package provides conversion functions between
4607bytestrings and their hexademical representation.")
4608 (license license:bsd-3)))
4609
4610(define-public ghc-highlighting-kate
4611 (package
4612 (name "ghc-highlighting-kate")
4613 (version "0.6.4")
4614 (source (origin
4615 (method url-fetch)
4616 (uri (string-append "https://hackage.haskell.org/package/"
4617 "highlighting-kate/highlighting-kate-"
4618 version ".tar.gz"))
4619 (sha256
4620 (base32
4621 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4622 (build-system haskell-build-system)
4623 (inputs
4624 `(("ghc-diff" ,ghc-diff)
4625 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4626 (native-inputs
4627 `(("ghc-blaze-html" ,ghc-blaze-html)
4628 ("ghc-utf8-string" ,ghc-utf8-string)))
4629 (home-page "https://github.com/jgm/highlighting-kate")
4630 (synopsis "Syntax highlighting library")
4631 (description
4632 "Highlighting-kate is a syntax highlighting library with support for
4633nearly one hundred languages. The syntax parsers are automatically generated
4634from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4635supported by Kate can be added. An (optional) command-line program is
4636provided, along with a utility for generating new parsers from Kate XML syntax
4637descriptions.")
4638 (license license:gpl2+)))
4639
4640(define-public ghc-hindent
4641 (package
4642 (name "ghc-hindent")
4643 (version "5.3.0")
4644 (source
4645 (origin
4646 (method url-fetch)
4647 (uri (string-append
4648 "https://hackage.haskell.org/package/hindent/hindent-"
4649 version
4650 ".tar.gz"))
4651 (sha256
4652 (base32
4653 "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg"))))
4654 (build-system haskell-build-system)
4655 (arguments
4656 `(#:modules ((guix build haskell-build-system)
4657 (guix build utils)
4658 (guix build emacs-utils))
4659 #:imported-modules (,@%haskell-build-system-modules
4660 (guix build emacs-utils))
4661 #:phases
4662 (modify-phases %standard-phases
4663 (add-after 'install 'emacs-install
4664 (lambda* (#:key inputs outputs #:allow-other-keys)
4665 (let* ((out (assoc-ref outputs "out"))
4666 (elisp-file "elisp/hindent.el")
4667 (dest (string-append out "/share/emacs/site-lisp"
4668 "/guix.d/hindent-" ,version))
4669 (emacs (string-append (assoc-ref inputs "emacs")
4670 "/bin/emacs")))
4671 (make-file-writable elisp-file)
4672 (emacs-substitute-variables elisp-file
4673 ("hindent-process-path"
4674 (string-append out "/bin/hindent")))
4675 (install-file elisp-file dest)
4676 (emacs-generate-autoloads "hindent" dest)))))))
4677 (inputs
4678 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4679 ("ghc-monad-loops" ,ghc-monad-loops)
4680 ("ghc-utf8-string" ,ghc-utf8-string)
4681 ("ghc-exceptions" ,ghc-exceptions)
4682 ("ghc-yaml" ,ghc-yaml)
4683 ("ghc-unix-compat" ,ghc-unix-compat)
4684 ("ghc-path" ,ghc-path)
4685 ("ghc-path-io" ,ghc-path-io)
4686 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4687 (native-inputs
4688 `(("ghc-hspec" ,ghc-hspec)
4689 ("ghc-diff" ,ghc-diff)
4690 ("emacs" ,emacs-minimal)))
4691 (home-page
4692 "https://github.com/commercialhaskell/hindent")
4693 (synopsis "Extensible Haskell pretty printer")
4694 (description
4695 "This package provides automatic formatting for Haskell files. Both a
4696library and an executable.")
4697 (license license:bsd-3)))
4698
4699(define-public ghc-hinotify
4700 (package
4701 (name "ghc-hinotify")
4702 (version "0.3.10")
4703 (source (origin
4704 (method url-fetch)
4705 (uri (string-append
4706 "https://hackage.haskell.org/package/hinotify/"
4707 "hinotify-" version ".tar.gz"))
4708 (sha256
4709 (base32
4710 "17ax3n68a5c2ddazp86aciliskrh6znd3bnry0wcllmb6dbpsaxg"))))
4711 (build-system haskell-build-system)
4712 (inputs
4713 `(("ghc-async" ,ghc-async)))
4714 (home-page "https://github.com/kolmodin/hinotify.git")
4715 (synopsis "Haskell binding to inotify")
4716 (description "This library provides a wrapper to the Linux kernel's inotify
4717feature, allowing applications to subscribe to notifications when a file is
4718accessed or modified.")
4719 (license license:bsd-3)))
4720
4721(define-public ghc-hmatrix
4722 (package
4723 (name "ghc-hmatrix")
4724 (version "0.19.0.0")
4725 (source
4726 (origin
4727 (method url-fetch)
4728 (uri (string-append
4729 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
4730 version ".tar.gz"))
4731 (sha256
4732 (base32 "10jd69nby29dggghcyjk6ykyr5wrn97nrv1dkpyrp0y5xm12xssj"))))
4733 (build-system haskell-build-system)
4734 (inputs
4735 `(("ghc-random" ,ghc-random)
4736 ("ghc-split" ,ghc-split)
4737 ("ghc-storable-complex" ,ghc-storable-complex)
4738 ("ghc-semigroups" ,ghc-semigroups)
4739 ("ghc-vector" ,ghc-vector)
4740 ;;("openblas" ,openblas)
4741 ("lapack" ,lapack)))
4742 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
4743 ;; disables inclusion of the LAPACK functions.
4744 ;; (arguments `(#:configure-flags '("--flags=openblas")))
4745 (home-page "https://github.com/albertoruiz/hmatrix")
4746 (synopsis "Haskell numeric linear algebra library")
4747 (description "The HMatrix package provices a Haskell library for
4748dealing with linear systems, matrix decompositions, and other
4749numerical computations based on BLAS and LAPACK.")
4750 (license license:bsd-3)))
4751
4752(define-public ghc-hmatrix-gsl
4753 (package
4754 (name "ghc-hmatrix-gsl")
4755 (version "0.19.0.1")
4756 (source
4757 (origin
4758 (method url-fetch)
4759 (uri (string-append
4760 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
4761 version ".tar.gz"))
4762 (sha256
4763 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
4764 (build-system haskell-build-system)
4765 (inputs
4766 `(("ghc-hmatrix" ,ghc-hmatrix)
4767 ("ghc-vector" ,ghc-vector)
4768 ("ghc-random" ,ghc-random)
4769 ("gsl" ,gsl)))
4770 (native-inputs `(("pkg-config" ,pkg-config)))
4771 (home-page "https://github.com/albertoruiz/hmatrix")
4772 (synopsis "Haskell GSL binding")
4773 (description "This Haskell library provides a purely functional
4774interface to selected numerical computations, internally implemented
4775using GSL.")
4776 (license license:gpl3+)))
4777
4778(define-public ghc-hmatrix-gsl-stats
4779 (package
4780 (name "ghc-hmatrix-gsl-stats")
4781 (version "0.4.1.7")
4782 (source
4783 (origin
4784 (method url-fetch)
4785 (uri
4786 (string-append
4787 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4788 version ".tar.gz"))
4789 (sha256
4790 (base32 "1gslgk58lzin43cvbpivhw7nrn9qyaa6qwhy1z9ypvyal5p8n3sa"))))
4791 (build-system haskell-build-system)
4792 (inputs
4793 `(("ghc-vector" ,ghc-vector)
4794 ("ghc-storable-complex" ,ghc-storable-complex)
4795 ("ghc-hmatrix" ,ghc-hmatrix)
4796 ("gsl" ,gsl)))
4797 (native-inputs `(("pkg-config" ,pkg-config)))
4798 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
4799 (synopsis "GSL Statistics interface for Haskell")
4800 (description "This Haskell library provides a purely functional
4801interface for statistics based on hmatrix and GSL.")
4802 (license license:bsd-3)))
4803
4804(define-public ghc-hmatrix-special
4805 (package
4806 (name "ghc-hmatrix-special")
4807 (version "0.19.0.0")
4808 (source
4809 (origin
4810 (method url-fetch)
4811 (uri
4812 (string-append
4813 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
4814 version ".tar.gz"))
4815 (sha256
4816 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
4817 (build-system haskell-build-system)
4818 (inputs
4819 `(("ghc-hmatrix" ,ghc-hmatrix)
4820 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
4821 (home-page "https://github.com/albertoruiz/hmatrix")
4822 (synopsis "Haskell interface to GSL special functions")
4823 (description "This library provides an interface to GSL special
4824functions for Haskell.")
4825 (license license:gpl3+)))
4826
4827(define-public ghc-hostname
4828 (package
4829 (name "ghc-hostname")
4830 (version "1.0")
4831 (source
4832 (origin
4833 (method url-fetch)
4834 (uri (string-append "https://hackage.haskell.org/package/hostname/"
4835 "hostname-" version ".tar.gz"))
4836 (sha256
4837 (base32
4838 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
4839 (build-system haskell-build-system)
4840 (home-page "https://hackage.haskell.org/package/hostname")
4841 (synopsis "Hostname in Haskell")
4842 (description "Network.HostName is a simple package providing a means to
4843determine the hostname.")
4844 (license license:bsd-3)))
4845
4846(define-public ghc-hourglass
4847 (package
4848 (name "ghc-hourglass")
4849 (version "0.2.12")
4850 (source (origin
4851 (method url-fetch)
4852 (uri (string-append "https://hackage.haskell.org/package/"
4853 "hourglass/hourglass-" version ".tar.gz"))
4854 (sha256
4855 (base32
4856 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
4857 (build-system haskell-build-system)
4858 (inputs
4859 `(("ghc-old-locale" ,ghc-old-locale)))
4860 (native-inputs
4861 `(("ghc-tasty" ,ghc-tasty)
4862 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4863 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4864 (home-page "https://github.com/vincenthz/hs-hourglass")
4865 (synopsis "Simple time-related library for Haskell")
4866 (description
4867 "This is a simple time library providing a simple but powerful and
4868performant API. The backbone of the library are the @code{Timeable} and
4869@code{Time} type classes. Each @code{Timeable} instances can be converted to
4870a type that has a @code{Time} instances, and thus are different
4871representations of current time.")
4872 (license license:bsd-3)))
4873
4874(define-public ghc-hpack
4875 (package
4876 (name "ghc-hpack")
4877 (version "0.28.2")
4878 (source
4879 (origin
4880 (method url-fetch)
4881 (uri (string-append "https://hackage.haskell.org/package/hpack/"
4882 "hpack-" version ".tar.gz"))
4883 (sha256
4884 (base32
4885 "18w0h76jdp3mk9vin8da9iz3cwhcxmw787xy8wlh8bxcpcr16q5r"))))
4886 (build-system haskell-build-system)
4887 (inputs
4888 `(("ghc-aeson" ,ghc-aeson)
4889 ("ghc-bifunctors" ,ghc-bifunctors)
4890 ("ghc-cryptonite" ,ghc-cryptonite)
4891 ("ghc-glob" ,ghc-glob)
4892 ("ghc-http-client" ,ghc-http-client)
4893 ("ghc-http-client-tls" ,ghc-http-client-tls)
4894 ("ghc-http-types" ,ghc-http-types)
4895 ("ghc-scientific" ,ghc-scientific)
4896 ("ghc-unordered-containers" ,ghc-unordered-containers)
4897 ("ghc-vector" ,ghc-vector)
4898 ("ghc-yaml" ,ghc-yaml)))
4899 (native-inputs
4900 `(("ghc-hspec" ,ghc-hspec)
4901 ("ghc-hunit" ,ghc-hunit)
4902 ("ghc-interpolate" ,ghc-interpolate)
4903 ("ghc-mockery" ,ghc-mockery)
4904 ("ghc-quickcheck" ,ghc-quickcheck)
4905 ("ghc-temporary" ,ghc-temporary)
4906 ("hspec-discover" ,hspec-discover)))
4907 (home-page "https://github.com/sol/hpack")
4908 (synopsis "Tools for an alternative Haskell package format")
4909 (description
4910 "Hpack is a format for Haskell packages. It is an alternative to the
4911Cabal package format and follows different design principles. Hpack packages
4912are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
4913@code{stack} support @code{package.yaml} natively. For other build tools the
4914@code{hpack} executable can be used to generate a @code{.cabal} file from
4915@code{package.yaml}.")
4916 (license license:expat)))
4917
4918(define-public ghc-hs-bibutils
4919 (package
4920 (name "ghc-hs-bibutils")
4921 (version "6.6.0.0")
4922 (source
4923 (origin
4924 (method url-fetch)
4925 (uri (string-append
4926 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
4927 version ".tar.gz"))
4928 (sha256
4929 (base32
4930 "0n2sz2zl4naspryd49ii858qkjp2lapns5a2gr8zm6vvn5sh1f0l"))))
4931 (build-system haskell-build-system)
4932 (inputs `(("ghc-syb" ,ghc-syb)))
4933 (home-page "https://hackage.haskell.org/package/hs-bibutils")
4934 (synopsis "Haskell bindings to bibutils")
4935 (description
4936 "This package provides Haskell bindings to @code{bibutils}, a library
4937that interconverts between various bibliography formats using a common
4938MODS-format XML intermediate.")
4939 (license license:gpl2+)))
4940
4941(define-public ghc-hslogger
4942 (package
4943 (name "ghc-hslogger")
4944 (version "1.2.10")
4945 (source
4946 (origin
4947 (method url-fetch)
4948 (uri (string-append "https://hackage.haskell.org/package/"
4949 "hslogger-" version "/" "hslogger-"
4950 version ".tar.gz"))
4951 (sha256 (base32
4952 "0as5gvlh6pi2gflakp695qnlizyyp059dqrhvjl4gjxalja6xjnp"))))
4953 (build-system haskell-build-system)
4954 (inputs
4955 `(("ghc-network" ,ghc-network)
4956 ("ghc-old-locale" ,ghc-old-locale)))
4957 (native-inputs
4958 `(("ghc-hunit" ,ghc-hunit)))
4959 (home-page "https://software.complete.org/hslogger")
4960 (synopsis "Logging framework for Haskell, similar to Python's logging module")
4961 (description "Hslogger lets each log message have a priority and source be
4962associated with it. The programmer can then define global handlers that route
4963or filter messages based on the priority and source. It also has a syslog
4964handler built in.")
4965 (license license:bsd-3)))
4966
4967(define-public ghc-hslua
4968 (package
4969 (name "ghc-hslua")
4970 (version "0.9.5.2")
4971 (source (origin
4972 (method url-fetch)
4973 (uri (string-append "https://hackage.haskell.org/package/"
4974 "hslua/hslua-" version ".tar.gz"))
4975 (sha256
4976 (base32
4977 "1rdvv01p214zfjh6fcqjjgqwi8y42wad6cqzhlcv5gvclzw2ck8f"))))
4978 (build-system haskell-build-system)
4979 (arguments
4980 `(#:configure-flags '("-fsystem-lua")))
4981 (inputs
4982 `(("lua" ,lua)
4983 ("ghc-exceptions" ,ghc-exceptions)
4984 ("ghc-fail" ,ghc-fail)))
4985 (native-inputs
4986 `(("ghc-tasty" ,ghc-tasty)
4987 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
4988 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4989 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4990 ("ghc-quickcheck" ,ghc-quickcheck)
4991 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
4992 (home-page "https://hackage.haskell.org/package/hslua")
4993 (synopsis "Lua language interpreter embedding in Haskell")
4994 (description
4995 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
4996described in @url{https://www.lua.org/}.")
4997 (license license:expat)))
4998
4999(define-public ghc-hslua-module-text
5000 (package
5001 (name "ghc-hslua-module-text")
5002 (version "0.1.2.1")
5003 (source
5004 (origin
5005 (method url-fetch)
5006 (uri (string-append "https://hackage.haskell.org/package/"
5007 "hslua-module-text/hslua-module-text-"
5008 version ".tar.gz"))
5009 (sha256
5010 (base32
5011 "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf"))))
5012 (build-system haskell-build-system)
5013 (arguments
5014 `(#:cabal-revision
5015 ("1" "0vajlsd7y6pwa08635q0cx8z5c1c55bk7fvavw7g2vmyvxqjzx6n")))
5016 (inputs
5017 `(("ghc-hslua" ,ghc-hslua)))
5018 (native-inputs
5019 `(("ghc-tasty" ,ghc-tasty)
5020 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5021 (home-page "https://github.com/hslua/hslua-module-text")
5022 (synopsis "Lua module for text")
5023 (description
5024 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5025for Haskell. The functions provided by this module are @code{upper},
5026@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5027 (license license:expat)))
5028
5029(define-public ghc-http-api-data
5030 (package
5031 (name "ghc-http-api-data")
5032 (version "0.3.8.1")
5033 (source
5034 (origin
5035 (method url-fetch)
5036 (uri (string-append "https://hackage.haskell.org/package/"
5037 "http-api-data-" version "/"
5038 "http-api-data-" version ".tar.gz"))
5039 (sha256
5040 (base32
5041 "1cq6459b8wz6nvkvpi89dg189n5q2xdq4rdq435hf150555vmskf"))))
5042 (build-system haskell-build-system)
5043 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9
5044 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5045 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
5046 ("ghc-hashable" ,ghc-hashable)
5047 ("ghc-http-types" ,ghc-http-types)
5048 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
5049 ("ghc-unordered-containers" ,ghc-unordered-containers)
5050 ("ghc-uri-bytestring" ,ghc-uri-bytestring)
5051 ("ghc-uuid-types" ,ghc-uuid-types)))
5052 (home-page "https://github.com/fizruk/http-api-data")
5053 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5054query parameters")
5055 (description "This Haskell package defines typeclasses used for converting
5056Haskell data types to and from HTTP API data.")
5057 (license license:bsd-3)))
5058
5059(define-public ghc-ieee754
5060 (package
5061 (name "ghc-ieee754")
5062 (version "0.8.0")
5063 (source (origin
5064 (method url-fetch)
5065 (uri (string-append
5066 "https://hackage.haskell.org/package/ieee754/"
5067 "ieee754-" version ".tar.gz"))
5068 (sha256
5069 (base32
5070 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5071 (build-system haskell-build-system)
5072 (home-page "https://github.com/patperry/hs-ieee754")
5073 (synopsis "Utilities for dealing with IEEE floating point numbers")
5074 (description "Utilities for dealing with IEEE floating point numbers,
5075ported from the Tango math library; approximate and exact equality comparisons
5076for general types.")
5077 (license license:bsd-3)))
5078
5079(define-public ghc-ifelse
5080 (package
5081 (name "ghc-ifelse")
5082 (version "0.85")
5083 (source
5084 (origin
5085 (method url-fetch)
5086 (uri (string-append "https://hackage.haskell.org/package/"
5087 "IfElse/IfElse-" version ".tar.gz"))
5088 (sha256
5089 (base32
5090 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5091 (build-system haskell-build-system)
5092 (home-page "http://hackage.haskell.org/package/IfElse")
5093 (synopsis "Monadic control flow with anaphoric variants")
5094 (description "This library provides functions for control flow inside of
5095monads with anaphoric variants on @code{if} and @code{when} and a C-like
5096@code{switch} function.")
5097 (license license:bsd-3)))
5098
5099(define-public ghc-indents
5100 (package
5101 (name "ghc-indents")
5102 (version "0.5.0.0")
5103 (source (origin
5104 (method url-fetch)
5105 (uri (string-append
5106 "https://hackage.haskell.org/package/indents/indents-"
5107 version ".tar.gz"))
5108 (sha256
5109 (base32
5110 "1ly3v41jacc6lrsvg4j3m5a6zs90gr8dyif5m6bf34hj1k5cgg0n"))))
5111 (build-system haskell-build-system)
5112 ;; This package needs an older version of tasty.
5113 (arguments '(#:tests? #f))
5114 (inputs
5115 `(("ghc-concatenative" ,ghc-concatenative)))
5116 (native-inputs
5117 `(("ghc-tasty" ,ghc-tasty)
5118 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5119 (home-page "http://patch-tag.com/r/salazar/indents")
5120 (synopsis "Indentation sensitive parser-combinators for parsec")
5121 (description
5122 "This library provides functions for use in parsing indentation sensitive
5123contexts. It parses blocks of lines all indented to the same level as well as
5124lines continued at an indented level below.")
5125 (license license:bsd-3)))
5126
5127(define-public ghc-inline-c
5128 (package
5129 (name "ghc-inline-c")
5130 (version "0.6.1.0")
5131 (source
5132 (origin
5133 (method url-fetch)
5134 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5135 "inline-c-" version ".tar.gz"))
5136 (sha256
5137 (base32
5138 "0vbfrsqsi7mdziqsnj68bsqlwbqxxhvrmy9rv6w8z18d1m8w3n6h"))))
5139 (build-system haskell-build-system)
5140 (inputs
5141 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5142 ("ghc-cryptohash" ,ghc-cryptohash)
5143 ("ghc-hashable" ,ghc-hashable)
5144 ("ghc-parsers" ,ghc-parsers)
5145 ("ghc-unordered-containers" ,ghc-unordered-containers)
5146 ("ghc-vector" ,ghc-vector)))
5147 (native-inputs
5148 `(("ghc-quickcheck" ,ghc-quickcheck)
5149 ("ghc-hspec" ,ghc-hspec)
5150 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5151 ("ghc-regex-posix" ,ghc-regex-posix)))
5152 (home-page "http://hackage.haskell.org/package/inline-c")
5153 (synopsis "Write Haskell source files including C code inline")
5154 (description
5155 "inline-c lets you seamlessly call C libraries and embed high-performance
5156inline C code in Haskell modules. Haskell and C can be freely intermixed in
5157the same source file, and data passed to and from code in either language with
5158minimal overhead. No FFI required.")
5159 (license license:expat)))
5160
5161(define-public ghc-inline-c-cpp
5162 (package
5163 (name "ghc-inline-c-cpp")
5164 (version "0.2.2.1")
5165 (source
5166 (origin
5167 (method url-fetch)
5168 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5169 "inline-c-cpp-" version ".tar.gz"))
5170 (sha256
5171 (base32
5172 "1rk7fmpkmxw9hhwr8df29kadnf0ybnwj64ggdbnsdrpfyhnkisci"))))
5173 (build-system haskell-build-system)
5174 (inputs
5175 `(("ghc-inline-c" ,ghc-inline-c)
5176 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5177 (native-inputs
5178 `(("ghc-hspec" ,ghc-hspec)))
5179 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5180 (synopsis "Lets you embed C++ code into Haskell")
5181 (description
5182 "This package provides utilities to inline C++ code into Haskell using
5183@code{inline-c}.")
5184 (license license:expat)))
5185
5186(define-public ghc-integer-logarithms
5187 (package
5188 (name "ghc-integer-logarithms")
5189 (version "1.0.2.1")
5190 (source
5191 (origin
5192 (method url-fetch)
5193 (uri (string-append "https://hackage.haskell.org/package/"
5194 "integer-logarithms/integer-logarithms-"
5195 version ".tar.gz"))
5196 (sha256
5197 (base32
5198 "1wj8kgjg5bn2yrs4zh9qfjv85cx6w998j9pi39yrbv305944mb9j"))))
5199 (build-system haskell-build-system)
5200 (arguments
5201 `(#:phases
5202 (modify-phases %standard-phases
5203 (add-before 'configure 'update-constraints
5204 (lambda _
5205 (substitute* "integer-logarithms.cabal"
5206 (("tasty >= 0\\.10 && < 1\\.1")
5207 "tasty >= 0.10 && < 1.2")))))))
5208 (native-inputs
5209 `(("ghc-quickcheck" ,ghc-quickcheck)
5210 ("ghc-smallcheck" ,ghc-smallcheck)
5211 ("ghc-tasty" ,ghc-tasty)
5212 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5213 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5214 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5215 (home-page "https://github.com/Bodigrim/integer-logarithms")
5216 (synopsis "Integer logarithms")
5217 (description
5218 "This package provides the following modules:
5219@code{Math.NumberTheory.Logarithms} and
5220@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5221@code{GHC.Integer.Logarithms.Compat} and
5222@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5223in migrated modules.")
5224 (license license:expat)))
5225
5226(define-public ghc-integer-logarithms-bootstrap
5227 (package
5228 (inherit ghc-integer-logarithms)
5229 (name "ghc-integer-logarithms-bootstrap")
5230 (arguments `(#:tests? #f))
5231 (native-inputs '())
799d8d3c 5232 (properties '((hidden? #t)))))
dddbc90c
RV
5233
5234(define-public ghc-interpolate
5235 (package
5236 (name "ghc-interpolate")
5237 (version "0.2.0")
5238 (source
5239 (origin
5240 (method url-fetch)
5241 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5242 "interpolate-" version ".tar.gz"))
5243 (sha256
5244 (base32
5245 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5246 (build-system haskell-build-system)
5247 (inputs
5248 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5249 (native-inputs
5250 `(("ghc-base-compat" ,ghc-base-compat)
5251 ("ghc-hspec" ,ghc-hspec)
5252 ("ghc-quickcheck" ,ghc-quickcheck)
5253 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5254 ("hspec-discover" ,hspec-discover)))
5255 (home-page "https://github.com/sol/interpolate")
5256 (synopsis "String interpolation library")
5257 (description "This package provides a string interpolation library for
5258Haskell.")
5259 (license license:expat)))
5260
5261(define-public ghc-intervalmap
5262 (package
5263 (name "ghc-intervalmap")
5264 (version "0.6.0.0")
5265 (source
5266 (origin
5267 (method url-fetch)
5268 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5269 "IntervalMap-" version ".tar.gz"))
5270 (sha256
5271 (base32
5272 "06hin9wf1by8aqa7820fsi2339bh82184frkwz3jsb9sqa0hszcg"))))
5273 (build-system haskell-build-system)
5274 (native-inputs
5275 `(("ghc-quickcheck" ,ghc-quickcheck)))
5276 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5277 (synopsis "Containers for intervals, with efficient search")
5278 (description
5279 "This package provides ordered containers of intervals, with efficient
5280search for all keys containing a point or overlapping an interval. See the
5281example code on the home page for a quick introduction.")
5282 (license license:bsd-3)))
5283
5284(define-public ghc-invariant
5285 (package
5286 (name "ghc-invariant")
5287 (version "0.5.1")
5288 (source
5289 (origin
5290 (method url-fetch)
5291 (uri (string-append
5292 "https://hackage.haskell.org/package/invariant/invariant-"
5293 version ".tar.gz"))
5294 (sha256
5295 (base32
5296 "0aqj7z55632qdg45074kgn9qfdxzb0a2f8lgjzr0l0i4mm2rr37b"))))
5297 (build-system haskell-build-system)
5298 (inputs
5299 `(("ghc-bifunctors" ,ghc-bifunctors)
5300 ("ghc-comonad" ,ghc-comonad)
5301 ("ghc-contravariant" ,ghc-contravariant)
5302 ("ghc-profunctors" ,ghc-profunctors)
5303 ("ghc-semigroups" ,ghc-semigroups)
5304 ("ghc-statevar" ,ghc-statevar)
5305 ("ghc-tagged" ,ghc-tagged)
5306 ("ghc-th-abstraction" ,ghc-th-abstraction)
5307 ("ghc-transformers-compat" ,ghc-transformers-compat)
5308 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5309 (native-inputs
5310 `(("ghc-hspec" ,ghc-hspec)
5311 ("ghc-quickcheck" ,ghc-quickcheck)
5312 ("hspec-discover" ,hspec-discover)))
5313 (home-page "https://github.com/nfrisby/invariant-functors")
5314 (synopsis "Haskell98 invariant functors")
5315 (description "Haskell98 invariant functors (also known as exponential
5316functors). For more information, see Edward Kmett's article
5317@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5318 (license license:bsd-2)))
5319
5320(define-public ghc-io-streams
5321 (package
5322 (name "ghc-io-streams")
5323 (version "1.5.0.1")
5324 (source
5325 (origin
5326 (method url-fetch)
5327 (uri (string-append "https://hackage.haskell.org/package/"
5328 "io-streams/io-streams-" version ".tar.gz"))
5329 (sha256
5330 (base32
5331 "12rcdg2d70644bvn838fxcjkssqj8pssnx5y657si5rijcbkgjsx"))))
5332 (build-system haskell-build-system)
5333 (inputs
5334 `(("ghc-attoparsec" ,ghc-attoparsec)
5335 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5336 ("ghc-network" ,ghc-network)
5337 ("ghc-primitive" ,ghc-primitive)
5338 ("ghc-vector" ,ghc-vector)
5339 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5340 (native-inputs
5341 `(("ghc-hunit" ,ghc-hunit)
5342 ("ghc-quickcheck" ,ghc-quickcheck)
5343 ("ghc-test-framework" ,ghc-test-framework)
5344 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5345 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5346 ("ghc-zlib" ,ghc-zlib)))
5347 (arguments
5348 `(#:cabal-revision
5349 ("2" "1mcab95d6hm098myh9gp7sh10srigjphgvm8s9pfs7jg5hzghy14")))
5350 (home-page "http://hackage.haskell.org/package/io-streams")
5351 (synopsis "Simple and composable stream I/O")
5352 (description "This library contains simple and easy-to-use
5353primitives for I/O using streams.")
5354 (license license:bsd-3)))
5355
5356(define-public ghc-io-streams-haproxy
5357 (package
5358 (name "ghc-io-streams-haproxy")
5359 (version "1.0.0.2")
5360 (source
5361 (origin
5362 (method url-fetch)
5363 (uri (string-append "https://hackage.haskell.org/package/"
5364 "io-streams-haproxy/io-streams-haproxy-"
5365 version ".tar.gz"))
5366 (sha256
5367 (base32
5368 "11nh9q158mgnvvb23s5ffg87lkhl5smk039yl43jghxmb214z0bp"))))
5369 (build-system haskell-build-system)
5370 (inputs
5371 `(("ghc-attoparsec" ,ghc-attoparsec)
5372 ("ghc-io-streams" ,ghc-io-streams)
5373 ("ghc-network" ,ghc-network)))
5374 (native-inputs
5375 `(("ghc-hunit" ,ghc-hunit)
5376 ("ghc-test-framework" ,ghc-test-framework)
5377 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5378 (arguments
5379 `(#:cabal-revision
5380 ("4" "06c51a057n5bc9xfbp2m4jz5ds4z1xvmsx5mppch6qfwbz7x5i9l")))
5381 (home-page "http://snapframework.com/")
5382 (synopsis "HAProxy protocol 1.5 support for io-streams")
5383 (description "HAProxy protocol version 1.5 support
5384(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5385for applications using io-streams. The proxy protocol allows information
5386about a networked peer (like remote address and port) to be propagated
5387through a forwarding proxy that is configured to speak this protocol.")
5388 (license license:bsd-3)))
5389
5390(define-public ghc-iproute
5391 (package
5392 (name "ghc-iproute")
5393 (version "1.7.5")
5394 (source
5395 (origin
5396 (method url-fetch)
5397 (uri (string-append
5398 "https://hackage.haskell.org/package/iproute/iproute-"
5399 version
5400 ".tar.gz"))
5401 (sha256
5402 (base32
5403 "1vw1nm3s8vz1hqnjnqd3wh5rr4q3m2r4izn5ynhf93h9185qwqzd"))))
5404 (build-system haskell-build-system)
5405 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5406 ; exported by ghc-byteorder. Doctest issue.
5407 (inputs
5408 `(("ghc-appar" ,ghc-appar)
5409 ("ghc-byteorder" ,ghc-byteorder)
5410 ("ghc-network" ,ghc-network)
5411 ("ghc-safe" ,ghc-safe)))
5412 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5413 (synopsis "IP routing table")
5414 (description "IP Routing Table is a tree of IP ranges to search one of
5415them on the longest match base. It is a kind of TRIE with one way branching
5416removed. Both IPv4 and IPv6 are supported.")
5417 (license license:bsd-3)))
5418
5419(define-public ghc-iwlib
5420 (package
5421 (name "ghc-iwlib")
5422 (version "0.1.0")
5423 (source
5424 (origin
5425 (method url-fetch)
5426 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5427 version ".tar.gz"))
5428 (sha256
5429 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5430 (build-system haskell-build-system)
5431 (inputs
5432 `(("wireless-tools" ,wireless-tools)))
5433 (home-page "https://github.com/jaor/iwlib")
5434 (synopsis "Haskell binding to the iw wireless networking library")
5435 (description
5436 "IWlib is a thin Haskell binding to the iw C library. It provides
5437information about the current wireless network connections, and adapters on
5438supported systems.")
5439 (license license:bsd-3)))
5440
5441(define-public ghc-json
5442 (package
5443 (name "ghc-json")
5444 (version "0.9.2")
5445 (source
5446 (origin
5447 (method url-fetch)
5448 (uri (string-append "https://hackage.haskell.org/package/json/"
5449 "json-" version ".tar.gz"))
5450 (sha256
5451 (base32
5452 "13kkfgx58z18jphbg56jn08jn72wi3kvfndlwwx87hqwg7x1dfz6"))))
5453 (build-system haskell-build-system)
5454 (inputs
5455 `(("ghc-syb" ,ghc-syb)))
5456 (home-page "https://hackage.haskell.org/package/json")
5457 (synopsis "Serializes Haskell data to and from JSON")
5458 (description "This package provides a parser and pretty printer for
5459converting between Haskell values and JSON.
5460JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5461 (license license:bsd-3)))
5462
5463(define-public ghc-juicypixels
5464 (package
5465 (name "ghc-juicypixels")
5466 (version "3.2.9.5")
5467 (source (origin
5468 (method url-fetch)
5469 (uri (string-append "https://hackage.haskell.org/package/"
5470 "JuicyPixels/JuicyPixels-"
5471 version ".tar.gz"))
5472 (sha256
5473 (base32
5474 "0mf3ihr0xy2wc2wzb9a17g0n3p60x7pvm8akwpvhdy8klvs6r744"))))
5475 (build-system haskell-build-system)
5476 (inputs
5477 `(("ghc-zlib" ,ghc-zlib)
5478 ("ghc-vector" ,ghc-vector)
5479 ("ghc-primitive" ,ghc-primitive)
5480 ("ghc-mmap" ,ghc-mmap)))
5481 (home-page "https://github.com/Twinside/Juicy.Pixels")
5482 (synopsis "Picture loading and serialization library")
5483 (description
5484 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5485TIFF and GIF formats.")
5486 (license license:bsd-3)))
5487
5488(define-public ghc-kan-extensions
5489 (package
5490 (name "ghc-kan-extensions")
5491 (version "5.2")
5492 (source
5493 (origin
5494 (method url-fetch)
5495 (uri (string-append
5496 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5497 version
5498 ".tar.gz"))
5499 (sha256
5500 (base32
5501 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5502 (build-system haskell-build-system)
5503 (inputs
5504 `(("ghc-adjunctions" ,ghc-adjunctions)
5505 ("ghc-comonad" ,ghc-comonad)
5506 ("ghc-contravariant" ,ghc-contravariant)
5507 ("ghc-distributive" ,ghc-distributive)
5508 ("ghc-free" ,ghc-free)
5509 ("ghc-invariant" ,ghc-invariant)
5510 ("ghc-semigroupoids" ,ghc-semigroupoids)
5511 ("ghc-tagged" ,ghc-tagged)
5512 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5513 (home-page "https://github.com/ekmett/kan-extensions/")
5514 (synopsis "Kan extensions library")
5515 (description "This library provides Kan extensions, Kan lifts, various
5516forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5517 (license license:bsd-3)))
5518
5519(define-public ghc-language-c
5520 (package
5521 (name "ghc-language-c")
5522 (version "0.8.1")
5523 (source
5524 (origin
5525 (method url-fetch)
5526 (uri (string-append "https://hackage.haskell.org/package/"
5527 "language-c/language-c-" version ".tar.gz"))
5528 (sha256
5529 (base32
5530 "0sdkjj0hq8p69fcdm6ljbjkjvrsrb8a6rl5dq6dj6byj32ajrm3d"))))
5531 (build-system haskell-build-system)
5532 (inputs `(("ghc-syb" ,ghc-syb)))
5533 (native-inputs
5534 `(("ghc-happy" ,ghc-happy)
5535 ("ghc-alex" ,ghc-alex)))
5536 (home-page "https://visq.github.io/language-c/")
5537 (synopsis "Analysis and generation of C code")
5538 (description
5539 "Language C is a Haskell library for the analysis and generation of C code.
5540It features a complete, well-tested parser and pretty printer for all of C99
5541and a large set of GNU extensions.")
5542 (license license:bsd-3)))
5543
5544(define-public ghc-language-glsl
5545 (package
5546 (name "ghc-language-glsl")
5547 (version "0.3.0")
5548 (source
5549 (origin
5550 (method url-fetch)
5551 (uri (string-append "https://hackage.haskell.org/package/"
5552 "language-glsl/language-glsl-" version ".tar.gz"))
5553 (sha256
5554 (base32
5555 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
5556 (build-system haskell-build-system)
5557 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
5558 (arguments
5559 `(#:tests? #f
5560 #:cabal-revision
5561 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
5562 (home-page "http://hackage.haskell.org/package/language-glsl")
5563 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
5564 (description "This package is a Haskell library for the
5565representation, parsing, and pretty-printing of GLSL 1.50 code.")
5566 (license license:bsd-3)))
5567
5568(define-public ghc-language-haskell-extract
5569 (package
5570 (name "ghc-language-haskell-extract")
5571 (version "0.2.4")
5572 (source
5573 (origin
5574 (method url-fetch)
5575 (uri (string-append "https://hackage.haskell.org/package/"
5576 "language-haskell-extract-" version "/"
5577 "language-haskell-extract-" version ".tar.gz"))
5578 (sha256
5579 (base32
5580 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
5581 (build-system haskell-build-system)
5582 (inputs
5583 `(("ghc-regex-posix" ,ghc-regex-posix)))
5584 (home-page "https://github.com/finnsson/template-helper")
5585 (synopsis "Haskell module to automatically extract functions from
5586the local code")
5587 (description "This package contains helper functions on top of
5588Template Haskell.
5589
5590For example, @code{functionExtractor} extracts all functions after a
5591regexp-pattern, which can be useful if you wish to extract all functions
5592beginning with @code{test} (for a test framework) or all functions beginning
5593with @code{wc} (for a web service).")
5594 (license license:bsd-3)))
5595
5596(define-public ghc-lens
5597 (package
5598 (name "ghc-lens")
5599 (version "4.16.1")
5600 (source
5601 (origin
5602 (method url-fetch)
5603 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5604 version ".tar.gz"))
5605 (sha256
5606 (base32
5607 "1im4drhbydbawd6i0jsrzpqihnmx4ywpkg7yg94ddwsw3mxwkgpm"))))
5608 (build-system haskell-build-system)
5609 (arguments
5610 `(#:cabal-revision
5611 ("2" "11h83lj5mba4grhz1qx3irz10ysm9c3k7k6i6xv2cr60q8xin3ri")))
5612 (inputs
5613 `(("ghc-base-orphans" ,ghc-base-orphans)
5614 ("ghc-bifunctors" ,ghc-bifunctors)
5615 ("ghc-distributive" ,ghc-distributive)
5616 ("ghc-exceptions" ,ghc-exceptions)
5617 ("ghc-free" ,ghc-free)
5618 ("ghc-kan-extensions" ,ghc-kan-extensions)
5619 ("ghc-parallel" ,ghc-parallel)
5620 ("ghc-reflection" ,ghc-reflection)
5621 ("ghc-semigroupoids" ,ghc-semigroupoids)
5622 ("ghc-vector" ,ghc-vector)
5623 ("ghc-call-stack" ,ghc-call-stack)
5624 ("ghc-comonad" ,ghc-comonad)
5625 ("ghc-contravariant" ,ghc-contravariant)
5626 ("ghc-hashable" ,ghc-hashable)
5627 ("ghc-profunctors" ,ghc-profunctors)
5628 ("ghc-semigroups" ,ghc-semigroups)
5629 ("ghc-tagged" ,ghc-tagged)
5630 ("ghc-transformers-compat" ,ghc-transformers-compat)
5631 ("ghc-unordered-containers" ,ghc-unordered-containers)
5632 ("ghc-void" ,ghc-void)
5633 ("ghc-generic-deriving" ,ghc-generic-deriving)
5634 ("ghc-nats" ,ghc-nats)
5635 ("ghc-simple-reflect" ,ghc-simple-reflect)
5636 ("hlint" ,hlint)))
5637 (native-inputs
5638 `(("cabal-doctest" ,cabal-doctest)
5639 ("ghc-doctest" ,ghc-doctest)
5640 ("ghc-hunit" ,ghc-hunit)
5641 ("ghc-test-framework" ,ghc-test-framework)
5642 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5643 ("ghc-test-framework-th" ,ghc-test-framework-th)
5644 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5645 ("ghc-quickcheck" ,ghc-quickcheck)))
5646 (home-page "https://github.com/ekmett/lens/")
5647 (synopsis "Lenses, Folds and Traversals")
5648 (description "This library provides @code{Control.Lens}. The combinators
5649in @code{Control.Lens} provide a highly generic toolbox for composing families
5650of getters, folds, isomorphisms, traversals, setters and lenses and their
5651indexed variants.")
5652 (license license:bsd-3)))
5653
5654(define-public ghc-libffi
5655 (package
5656 (name "ghc-libffi")
5657 (version "0.1")
5658 (source
5659 (origin
5660 (method url-fetch)
5661 (uri (string-append "https://hackage.haskell.org/package/"
5662 "libffi/libffi-" version ".tar.gz"))
5663 (sha256
5664 (base32
5665 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
5666 (build-system haskell-build-system)
5667 (native-inputs `(("pkg-config" ,pkg-config)))
5668 (inputs `(("libffi" ,libffi)))
5669 (home-page "http://hackage.haskell.org/package/libffi")
5670 (synopsis "Haskell binding to libffi")
5671 (description
5672 "A binding to libffi, allowing C functions of types only known at runtime
5673to be called from Haskell.")
5674 (license license:bsd-3)))
5675
5676(define-public ghc-libmpd
5677 (package
5678 (name "ghc-libmpd")
5679 (version "0.9.0.9")
5680 (source
5681 (origin
5682 (method url-fetch)
5683 (uri (string-append
5684 "mirror://hackage/package/libmpd/libmpd-"
5685 version
5686 ".tar.gz"))
5687 (sha256
5688 (base32
5689 "1931m23iqb4wddpdidm4ph746zpaw41kkjzmb074j7yyfpk7x1jv"))))
5690 (build-system haskell-build-system)
5691 ;; Tests fail on i686.
5692 ;; See https://github.com/vimus/libmpd-haskell/issues/112
5693 (arguments `(#:tests? #f))
5694 (inputs
5695 `(("ghc-attoparsec" ,ghc-attoparsec)
5696 ("ghc-old-locale" ,ghc-old-locale)
5697 ("ghc-data-default-class" ,ghc-data-default-class)
5698 ("ghc-network" ,ghc-network)
5699 ("ghc-utf8-string" ,ghc-utf8-string)))
5700 (native-inputs
5701 `(("ghc-quickcheck" ,ghc-quickcheck)
5702 ("ghc-hspec" ,ghc-hspec)
5703 ("hspec-discover" ,hspec-discover)))
5704 (home-page "https://github.com/vimus/libmpd-haskell")
5705 (synopsis "Haskell client library for the Music Player Daemon")
5706 (description "This package provides a pure Haskell client library for the
5707Music Player Daemon.")
5708 (license license:expat)))
5709
5710(define-public ghc-libxml
5711 (package
5712 (name "ghc-libxml")
5713 (version "0.1.1")
5714 (source
5715 (origin
5716 (method url-fetch)
5717 (uri (string-append "https://hackage.haskell.org/package/libxml/"
5718 "libxml-" version ".tar.gz"))
5719 (sha256
5720 (base32
5721 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
5722 (build-system haskell-build-system)
5723 (inputs
5724 `(("libxml2" ,libxml2)))
5725 (arguments
5726 `(#:configure-flags
5727 `(,(string-append "--extra-include-dirs="
5728 (assoc-ref %build-inputs "libxml2")
5729 "/include/libxml2"))))
5730 (home-page "https://hackage.haskell.org/package/libxml")
5731 (synopsis "Haskell bindings to libxml2")
5732 (description
5733 "This library provides minimal Haskell binding to libxml2.")
5734 (license license:bsd-3)))
5735
5736(define-public ghc-lifted-async
5737 (package
5738 (name "ghc-lifted-async")
5739 (version "0.10.0.2")
5740 (source
5741 (origin
5742 (method url-fetch)
5743 (uri (string-append
5744 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
5745 version ".tar.gz"))
5746 (sha256
5747 (base32
5748 "1073r512c1x2m1v0jar9bwqg656slg7jd1jhsyj6m8awgx1l1mwf"))))
5749 (build-system haskell-build-system)
5750 (inputs
5751 `(("ghc-async" ,ghc-async)
5752 ("ghc-lifted-base" ,ghc-lifted-base)
5753 ("ghc-transformers-base" ,ghc-transformers-base)
5754 ("ghc-monad-control" ,ghc-monad-control)
5755 ("ghc-constraints" ,ghc-constraints)
5756 ("ghc-hunit" ,ghc-hunit)
5757 ("ghc-tasty" ,ghc-tasty)
5758 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5759 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5760 ("ghc-tasty-th" ,ghc-tasty-th)))
5761 (home-page "https://github.com/maoe/lifted-async")
5762 (synopsis "Run lifted IO operations asynchronously and wait for their results")
5763 (description
5764 "This package provides IO operations from @code{async} package lifted to any
5765instance of @code{MonadBase} or @code{MonadBaseControl}.")
5766 (license license:bsd-3)))
5767
5768(define-public ghc-lifted-base
5769 (package
5770 (name "ghc-lifted-base")
5771 (version "0.2.3.12")
5772 (source
5773 (origin
5774 (method url-fetch)
5775 (uri (string-append
5776 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
5777 version
5778 ".tar.gz"))
5779 (sha256
5780 (base32
5781 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
5782 (build-system haskell-build-system)
5783 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
5784 (inputs
5785 `(("ghc-transformers-base" ,ghc-transformers-base)
5786 ("ghc-monad-control" ,ghc-monad-control)
5787 ("ghc-transformers-compat" ,ghc-transformers-compat)
5788 ("ghc-hunit" ,ghc-hunit)))
5789 (home-page "https://github.com/basvandijk/lifted-base")
5790 (synopsis "Lifted IO operations from the base library")
5791 (description "Lifted-base exports IO operations from the @code{base}
5792library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5793Note that not all modules from @code{base} are converted yet. The package
5794includes a copy of the @code{monad-peel} test suite written by Anders
5795Kaseorg.")
5796 (license license:bsd-3)))
5797
5798(define-public ghc-linear
5799 (package
5800 (name "ghc-linear")
5801 (version "1.20.8")
5802 (source
5803 (origin
5804 (method url-fetch)
5805 (uri (string-append "https://hackage.haskell.org/package/linear/"
5806 "linear-" version ".tar.gz"))
5807 (sha256
5808 (base32
5809 "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"))))
5810 (build-system haskell-build-system)
5811 (inputs
5812 `(("ghc-adjunctions" ,ghc-adjunctions)
5813 ("ghc-base-orphans" ,ghc-base-orphans)
5814 ("ghc-bytes" ,ghc-bytes)
5815 ("ghc-cereal" ,ghc-cereal)
5816 ("ghc-distributive" ,ghc-distributive)
5817 ("ghc-hashable" ,ghc-hashable)
5818 ("ghc-lens" ,ghc-lens)
5819 ("ghc-reflection" ,ghc-reflection)
5820 ("ghc-semigroups" ,ghc-semigroups)
5821 ("ghc-semigroupoids" ,ghc-semigroupoids)
5822 ("ghc-tagged" ,ghc-tagged)
5823 ("ghc-transformers-compat" ,ghc-transformers-compat)
5824 ("ghc-unordered-containers" ,ghc-unordered-containers)
5825 ("ghc-vector" ,ghc-vector)
5826 ("ghc-void" ,ghc-void)))
5827 (native-inputs
5828 `(("cabal-doctest" ,cabal-doctest)
5829 ("ghc-doctest" ,ghc-doctest)
5830 ("ghc-simple-reflect" ,ghc-simple-reflect)
5831 ("ghc-test-framework" ,ghc-test-framework)
5832 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5833 ("ghc-hunit" ,ghc-hunit)))
5834 (home-page "http://github.com/ekmett/linear/")
5835 (synopsis "Linear algebra library for Haskell")
5836 (description
5837 "This package provides types and combinators for linear algebra on free
5838vector spaces.")
5839 (license license:bsd-3)))
1307e4c7
JS
5840
5841(define-public ghc-listlike
5842 (package
5843 (name "ghc-listlike")
5844 (version "4.6.2")
5845 (source
5846 (origin
5847 (method url-fetch)
5848 (uri
5849 (string-append
5850 "https://hackage.haskell.org/package/ListLike/ListLike-"
5851 version ".tar.gz"))
5852 (sha256
5853 (base32
5854 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
5855 (build-system haskell-build-system)
5856 (inputs
5857 `(("ghc-vector" ,ghc-vector)
5858 ("ghc-dlist" ,ghc-dlist)
5859 ("ghc-fmlist" ,ghc-fmlist)
5860 ("ghc-hunit" ,ghc-hunit)
5861 ("ghc-quickcheck" ,ghc-quickcheck)
5862 ("ghc-random" ,ghc-random)
5863 ("ghc-utf8-string" ,ghc-utf8-string)))
5864 (home-page "https://github.com/JohnLato/listlike")
5865 (synopsis "Generic support for list-like structures")
5866 (description "The ListLike module provides a common interface to the
5867various Haskell types that are list-like. Predefined interfaces include
5868standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
5869Custom types can easily be made ListLike instances as well.
5870
5871ListLike also provides for String-like types, such as String and
5872ByteString, for types that support input and output, and for types that
5873can handle infinite lists.")
5874 (license license:bsd-3)))
dddbc90c
RV
5875
5876(define-public ghc-logging-facade
5877 (package
5878 (name "ghc-logging-facade")
5879 (version "0.3.0")
5880 (source (origin
5881 (method url-fetch)
5882 (uri (string-append "https://hackage.haskell.org/package/"
5883 "logging-facade/logging-facade-"
5884 version ".tar.gz"))
5885 (sha256
5886 (base32
5887 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
5888 (build-system haskell-build-system)
5889 (native-inputs
5890 `(("ghc-hspec" ,ghc-hspec)
5891 ("hspec-discover" ,hspec-discover)))
5892 (home-page "https://hackage.haskell.org/package/logging-facade")
5893 (synopsis "Simple logging abstraction that allows multiple back-ends")
5894 (description
5895 "This package provides a simple logging abstraction that allows multiple
5896back-ends.")
5897 (license license:expat)))
5898
5899(define-public ghc-logict
5900 (package
5901 (name "ghc-logict")
5902 (version "0.6.0.2")
5903 (source
5904 (origin
5905 (method url-fetch)
5906 (uri (string-append
5907 "https://hackage.haskell.org/package/logict/logict-"
5908 version
5909 ".tar.gz"))
5910 (sha256
5911 (base32
5912 "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi"))))
5913 (build-system haskell-build-system)
5914 (home-page "http://code.haskell.org/~dolio/")
5915 (synopsis "Backtracking logic-programming monad")
5916 (description "This library provides a continuation-based, backtracking,
5917logic programming monad. An adaptation of the two-continuation implementation
5918found in the paper \"Backtracking, Interleaving, and Terminating Monad
5919Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
5920online}.")
5921 (license license:bsd-3)))
5922
5923(define-public ghc-lzma
5924 (package
5925 (name "ghc-lzma")
5926 (version "0.0.0.3")
5927 (source
5928 (origin
5929 (method url-fetch)
5930 (uri (string-append "https://hackage.haskell.org/package/lzma/"
5931 "lzma-" version ".tar.gz"))
5932 (sha256
5933 (base32
5934 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
5935 (build-system haskell-build-system)
5936 (arguments
5937 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
5938 #:cabal-revision
5939 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
5940 (native-inputs
5941 `(("ghc-hunit" ,ghc-hunit)
5942 ("ghc-quickcheck" ,ghc-quickcheck)
5943 ("ghc-tasty" ,ghc-tasty)
5944 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5945 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
5946 (home-page "https://github.com/hvr/lzma")
5947 (synopsis "LZMA/XZ compression and decompression")
5948 (description
5949 "This package provides a pure interface for compressing and
5950decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
5951monadic incremental interface is provided as well.")
5952 (license license:bsd-3)))
5953
5954(define-public ghc-lzma-conduit
5955 (package
5956 (name "ghc-lzma-conduit")
5957 (version "1.2.1")
5958 (source
5959 (origin
5960 (method url-fetch)
5961 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
5962 "lzma-conduit-" version ".tar.gz"))
5963 (sha256
5964 (base32
5965 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
5966 (build-system haskell-build-system)
5967 (inputs
5968 `(("ghc-conduit" ,ghc-conduit)
5969 ("ghc-lzma" ,ghc-lzma)
5970 ("ghc-resourcet" ,ghc-resourcet)))
5971 (native-inputs
5972 `(("ghc-base-compat" ,ghc-base-compat)
5973 ("ghc-test-framework" ,ghc-test-framework)
5974 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5975 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5976 ("ghc-hunit" ,ghc-hunit)
5977 ("ghc-quickcheck" ,ghc-quickcheck)))
5978 (home-page "https://github.com/alphaHeavy/lzma-conduit")
5979 (synopsis "Conduit interface for lzma/xz compression")
5980 (description
5981 "This package provides a @code{Conduit} interface for the LZMA
5982compression algorithm used in the @code{.xz} file format.")
5983 (license license:bsd-3)))
5984
e405912c
KM
5985(define-public ghc-magic
5986 (package
5987 (name "ghc-magic")
5988 (version "1.1")
5989 (source
5990 (origin
5991 (method url-fetch)
5992 (uri (string-append
5993 "https://hackage.haskell.org/package/magic/magic-"
5994 version ".tar.gz"))
5995 (sha256
5996 (base32
5997 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
5998 (build-system haskell-build-system)
5999 (home-page "http://hackage.haskell.org/package/magic")
6000 (synopsis "Interface to C file/magic library")
6001 (description
6002 "This package provides a full-featured binding to the C libmagic library.
6003With it, you can determine the type of a file by examining its contents rather
6004than its name.")
6005 (license license:bsd-3)))
6006
dddbc90c
RV
6007(define-public ghc-markdown-unlit
6008 (package
6009 (name "ghc-markdown-unlit")
6010 (version "0.5.0")
6011 (source (origin
6012 (method url-fetch)
6013 (uri (string-append
6014 "mirror://hackage/package/markdown-unlit/"
6015 "markdown-unlit-" version ".tar.gz"))
6016 (sha256
6017 (base32
6018 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6019 (build-system haskell-build-system)
6020 (inputs
6021 `(("ghc-base-compat" ,ghc-base-compat)
6022 ("ghc-hspec" ,ghc-hspec)
6023 ("ghc-quickcheck" ,ghc-quickcheck)
6024 ("ghc-silently" ,ghc-silently)
6025 ("ghc-stringbuilder" ,ghc-stringbuilder)
6026 ("ghc-temporary" ,ghc-temporary)
6027 ("hspec-discover" ,hspec-discover)))
6028 (home-page "https://github.com/sol/markdown-unlit#readme")
6029 (synopsis "Literate Haskell support for Markdown")
6030 (description "This package allows you to have a README.md that at the
6031same time is a literate Haskell program.")
6032 (license license:expat)))
6033
6034(define-public ghc-math-functions
6035 (package
6036 (name "ghc-math-functions")
6037 (version "0.2.1.0")
6038 (source
6039 (origin
6040 (method url-fetch)
6041 (uri (string-append "https://hackage.haskell.org/package/"
6042 "math-functions-" version "/"
6043 "math-functions-" version ".tar.gz"))
6044 (sha256
6045 (base32
6046 "1sv5vabsx332v1lpb6v3jv4zrzvpx1n7yprzd8wlcda5vsc5a6zp"))))
6047 (build-system haskell-build-system)
6048 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6049 (inputs
6050 `(("ghc-vector" ,ghc-vector)
6051 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6052 (native-inputs
6053 `(("ghc-hunit" ,ghc-hunit)
6054 ("ghc-quickcheck" ,ghc-quickcheck)
6055 ("ghc-erf" ,ghc-erf)
6056 ("ghc-test-framework" ,ghc-test-framework)
6057 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6058 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6059 (home-page "https://github.com/bos/math-functions")
6060 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6061 (description "This Haskell library provides implementations of
6062special mathematical functions and Chebyshev polynomials. These
6063functions are often useful in statistical and numerical computing.")
6064 (license license:bsd-3)))
6065
6066(define-public ghc-megaparsec
6067 (package
6068 (name "ghc-megaparsec")
6069 (version "6.5.0")
6070 (source
6071 (origin
6072 (method url-fetch)
6073 (uri (string-append "https://hackage.haskell.org/package/"
6074 "megaparsec/megaparsec-"
6075 version ".tar.gz"))
6076 (sha256
6077 (base32
6078 "12iggy7qpf8x93jm64zf0g215xwy779bqyfyjk2bhmxqqr1yzgdy"))))
6079 (build-system haskell-build-system)
6080 (arguments
6081 `(#:cabal-revision
6082 ("4" "0ij3asi5vwlhbgwsy6nhli9a0qb7926mg809fsgyl1rnhs9fvpx1")))
6083 (inputs
6084 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6085 ("ghc-parser-combinators" ,ghc-parser-combinators)
6086 ("ghc-scientific" ,ghc-scientific)))
6087 (native-inputs
6088 `(("ghc-quickcheck" ,ghc-quickcheck)
6089 ("ghc-hspec" ,ghc-hspec)
6090 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6091 ("hspec-discover" ,hspec-discover)))
6092 (home-page "https://github.com/mrkkrp/megaparsec")
6093 (synopsis "Monadic parser combinators")
6094 (description
6095 "This is an industrial-strength monadic parser combinator library.
6096Megaparsec is a feature-rich package that strikes a nice balance between
6097speed, flexibility, and quality of parse errors.")
6098 (license license:bsd-2)))
6099
4780db2c
EB
6100;;; Idris 1.3.2 requires 'megaparse>=7.0.4' but we'd like to keep the public
6101;;; package at the current Stackage LTS version:
6102(define-public ghc-megaparsec-7
6103 (hidden-package
6104 (package
6105 (inherit ghc-megaparsec)
6106 (version "7.0.5")
6107 (source
6108 (origin
6109 (method url-fetch)
6110 (uri (string-append "https://hackage.haskell.org/package/megaparsec/"
6111 "megaparsec-" version ".tar.gz"))
6112 (sha256
6113 (base32
6114 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
6115 (arguments (strip-keyword-arguments (list #:cabal-revision)
6116 (package-arguments ghc-megaparsec))))))
6117
dddbc90c
RV
6118(define-public ghc-memory
6119 (package
6120 (name "ghc-memory")
6121 (version "0.14.16")
6122 (source (origin
6123 (method url-fetch)
6124 (uri (string-append "https://hackage.haskell.org/package/"
6125 "memory/memory-" version ".tar.gz"))
6126 (sha256
6127 (base32
6128 "03rbszi5d4z9rlbfv8ydrl1xf84xsh8z57g07f7j9qccn9587c3v"))))
6129 (build-system haskell-build-system)
6130 (inputs
6131 `(("ghc-basement" ,ghc-basement)
6132 ("ghc-foundation" ,ghc-foundation)))
6133 (native-inputs
6134 `(("ghc-tasty" ,ghc-tasty)
6135 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6136 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6137 (home-page "https://github.com/vincenthz/hs-memory")
6138 (synopsis "Memory abstractions for Haskell")
6139 (description
6140 "This package provides memory abstractions, such as chunk of memory,
6141polymorphic byte array management and manipulation functions. It contains a
6142polymorphic byte array abstraction and functions similar to strict ByteString,
6143different type of byte array abstraction, raw memory IO operations (memory
6144set, memory copy, ..) and more")
6145 (license license:bsd-3)))
6146
6147(define-public ghc-memotrie
6148 (package
6149 (name "ghc-memotrie")
6150 (version "0.6.9")
6151 (source
6152 (origin
6153 (method url-fetch)
6154 (uri (string-append
6155 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6156 version
6157 ".tar.gz"))
6158 (sha256
6159 (base32
6160 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6161 (build-system haskell-build-system)
6162 (inputs
6163 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6164 (home-page "https://github.com/conal/MemoTrie")
6165 (synopsis "Trie-based memo functions")
6166 (description "This package provides a functional library for creating
6167efficient memo functions using tries.")
6168 (license license:bsd-3)))
6169
6170(define-public ghc-microlens
6171 (package
6172 (name "ghc-microlens")
82478c58 6173 (version "0.4.10")
dddbc90c
RV
6174 (source
6175 (origin
6176 (method url-fetch)
6177 (uri (string-append "https://hackage.haskell.org/package/"
6178 "microlens-" version "/"
6179 "microlens-" version ".tar.gz"))
6180 (sha256
6181 (base32
82478c58 6182 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
6183 (build-system haskell-build-system)
6184 (home-page
6185 "https://github.com/aelve/microlens")
6186 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6187 (description "This Haskell package provides a lens library, just like
6188@code{ghc-lens}, but smaller. It provides essential lenses and
6189traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6190nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6191combinators (like @code{failing} and @code{singular}), but everything else is
6192stripped. As the result, this package has no dependencies.")
6193 (license license:bsd-3)))
6194
6195(define-public ghc-microlens-ghc
6196 (package
6197 (name "ghc-microlens-ghc")
6198 (version "0.4.9.1")
6199 (source
6200 (origin
6201 (method url-fetch)
6202 (uri (string-append
6203 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6204 version
6205 ".tar.gz"))
6206 (sha256
6207 (base32
6208 "03iwgg8zww9irv59l70c8yy7vzxir1zf66y12210xk91k5hq6jrj"))))
6209 (build-system haskell-build-system)
6210 (inputs `(("ghc-microlens" ,ghc-microlens)))
6211 (home-page "https://github.com/monadfix/microlens")
6212 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6213 (description "This library provides everything that @code{microlens}
6214provides plus instances to make @code{each}, @code{at}, and @code{ix}
6215usable with arrays, @code{ByteString}, and containers. This package is
6216a part of the @uref{http://hackage.haskell.org/package/microlens,
6217microlens} family; see the readme
6218@uref{https://github.com/aelve/microlens#readme, on Github}.")
6219 (license license:bsd-3)))
6220
6221(define-public ghc-microlens-mtl
6222 (package
6223 (name "ghc-microlens-mtl")
6224 (version "0.1.11.1")
6225 (source
6226 (origin
6227 (method url-fetch)
6228 (uri (string-append
6229 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6230 version
6231 ".tar.gz"))
6232 (sha256
6233 (base32
6234 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6235 (build-system haskell-build-system)
6236 (inputs
6237 `(("ghc-microlens" ,ghc-microlens)
6238 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6239 (home-page "https://github.com/monadfix/microlens")
6240 (synopsis
6241 "@code{microlens} support for Reader/Writer/State from mtl")
6242 (description
6243 "This package contains functions (like @code{view} or @code{+=}) which
6244work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6245mtl package. This package is a part of the
6246@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6247readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6248 (license license:bsd-3)))
6249
6250(define-public ghc-microlens-platform
6251 (package
6252 (name "ghc-microlens-platform")
6253 (version "0.3.10")
6254 (source
6255 (origin
6256 (method url-fetch)
6257 (uri (string-append
6258 "https://hackage.haskell.org/package/"
6259 "microlens-platform/microlens-platform-" version ".tar.gz"))
6260 (sha256
6261 (base32
6262 "1d4nhmgf9jq0ixc7qhwm7aaw3xdr0nalw58d0ydsydgf02cyazwv"))))
6263 (build-system haskell-build-system)
6264 (inputs
6265 `(("ghc-hashable" ,ghc-hashable)
6266 ("ghc-microlens" ,ghc-microlens)
6267 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6268 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6269 ("ghc-microlens-th" ,ghc-microlens-th)
6270 ("ghc-unordered-containers" ,ghc-unordered-containers)
6271 ("ghc-vector" ,ghc-vector)))
6272 (home-page "https://github.com/monadfix/microlens")
6273 (synopsis "Feature-complete microlens")
6274 (description
6275 "This package exports a module which is the recommended starting point
6276for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6277you aren't trying to keep your dependencies minimal. By importing
6278@code{Lens.Micro.Platform} you get all functions and instances from
6279@uref{http://hackage.haskell.org/package/microlens, microlens},
6280@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6281@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6282@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6283well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6284minor and major versions of @code{microlens-platform} are incremented whenever
6285the minor and major versions of any other @code{microlens} package are
6286incremented, so you can depend on the exact version of
6287@code{microlens-platform} without specifying the version of @code{microlens}
6288you need. This package is a part of the
6289@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6290readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6291 (license license:bsd-3)))
6292
6293(define-public ghc-microlens-th
6294 (package
6295 (name "ghc-microlens-th")
7ae52867 6296 (version "0.4.2.3")
dddbc90c
RV
6297 (source
6298 (origin
6299 (method url-fetch)
6300 (uri (string-append "https://hackage.haskell.org/package/"
6301 "microlens-th-" version "/"
6302 "microlens-th-" version ".tar.gz"))
6303 (sha256
6304 (base32
7ae52867 6305 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 6306 (build-system haskell-build-system)
7ae52867
TS
6307 (arguments
6308 `(#:cabal-revision
6309 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
6310 (inputs `(("ghc-microlens" ,ghc-microlens)
6311 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6312 (home-page
6313 "https://github.com/aelve/microlens")
6314 (synopsis "Automatic generation of record lenses for
6315@code{ghc-microlens}")
6316 (description "This Haskell package lets you automatically generate lenses
6317for data types; code was extracted from the lens package, and therefore
6318generated lenses are fully compatible with ones generated by lens (and can be
6319used both from lens and microlens).")
6320 (license license:bsd-3)))
6321
6322(define-public ghc-missingh
6323 (package
6324 (name "ghc-missingh")
6325 (version "1.4.0.1")
6326 (source
6327 (origin
6328 (method url-fetch)
6329 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6330 "MissingH-" version ".tar.gz"))
6331 (sha256
6332 (base32
6333 "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"))))
6334 (build-system haskell-build-system)
6335 ;; Tests require the unmaintained testpack package, which depends on the
6336 ;; outdated QuickCheck version 2.7, which can no longer be built with
6337 ;; recent versions of GHC and Haskell libraries.
6338 (arguments '(#:tests? #f))
6339 (inputs
6340 `(("ghc-network" ,ghc-network)
6341 ("ghc-hunit" ,ghc-hunit)
6342 ("ghc-regex-compat" ,ghc-regex-compat)
6343 ("ghc-hslogger" ,ghc-hslogger)
6344 ("ghc-random" ,ghc-random)
6345 ("ghc-old-time" ,ghc-old-time)
6346 ("ghc-old-locale" ,ghc-old-locale)))
6347 (native-inputs
6348 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6349 ("ghc-quickcheck" ,ghc-quickcheck)
6350 ("ghc-hunit" ,ghc-hunit)))
6351 (home-page "http://software.complete.org/missingh")
6352 (synopsis "Large utility library")
6353 (description
6354 "MissingH is a library of all sorts of utility functions for Haskell
6355programmers. It is written in pure Haskell and thus should be extremely
6356portable and easy to use.")
6357 (license license:bsd-3)))
6358
6359(define-public ghc-mmap
6360 (package
6361 (name "ghc-mmap")
6362 (version "0.5.9")
6363 (source (origin
6364 (method url-fetch)
6365 (uri (string-append "https://hackage.haskell.org/package/"
6366 "mmap/mmap-" version ".tar.gz"))
6367 (sha256
6368 (base32
6369 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6370 (build-system haskell-build-system)
6371 (home-page "https://hackage.haskell.org/package/mmap")
6372 (synopsis "Memory mapped files for Haskell")
6373 (description
6374 "This library provides a wrapper to @code{mmap}, allowing files or
6375devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6376@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6377do on-demand loading.")
6378 (license license:bsd-3)))
6379
6380(define-public ghc-mmorph
6381 (package
6382 (name "ghc-mmorph")
e0389704 6383 (version "1.1.3")
dddbc90c
RV
6384 (source
6385 (origin
6386 (method url-fetch)
6387 (uri (string-append
6388 "https://hackage.haskell.org/package/mmorph/mmorph-"
6389 version
6390 ".tar.gz"))
6391 (sha256
6392 (base32
e0389704 6393 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
6394 (build-system haskell-build-system)
6395 (inputs
6396 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6397 (home-page "https://hackage.haskell.org/package/mmorph")
6398 (synopsis "Monad morphisms")
6399 (description
6400 "This library provides monad morphism utilities, most commonly used for
6401manipulating monad transformer stacks.")
6402 (license license:bsd-3)))
6403
6404(define-public ghc-mockery
6405 (package
6406 (name "ghc-mockery")
6407 (version "0.3.5")
6408 (source (origin
6409 (method url-fetch)
6410 (uri (string-append "https://hackage.haskell.org/package/"
6411 "mockery/mockery-" version ".tar.gz"))
6412 (sha256
6413 (base32
6414 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6415 (build-system haskell-build-system)
6416 (inputs
6417 `(("ghc-temporary" ,ghc-temporary)
6418 ("ghc-logging-facade" ,ghc-logging-facade)
6419 ("ghc-base-compat" ,ghc-base-compat)))
6420 (native-inputs
6421 `(("ghc-hspec" ,ghc-hspec)
6422 ("hspec-discover" ,hspec-discover)))
6423 (home-page "https://hackage.haskell.org/package/mockery")
6424 (synopsis "Support functions for automated testing")
6425 (description
6426 "The mockery package provides support functions for automated testing.")
6427 (license license:expat)))
6428
6429(define-public ghc-monad-control
6430 (package
6431 (name "ghc-monad-control")
6432 (version "1.0.2.3")
6433 (source
6434 (origin
6435 (method url-fetch)
6436 (uri (string-append
6437 "https://hackage.haskell.org/package/monad-control"
6438 "/monad-control-" version ".tar.gz"))
6439 (sha256
6440 (base32
6441 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6442 (build-system haskell-build-system)
6443 (inputs
6444 `(("ghc-transformers-base" ,ghc-transformers-base)
6445 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6446 (home-page "https://github.com/basvandijk/monad-control")
6447 (synopsis "Monad transformers to lift control operations like exception
6448catching")
6449 (description "This package defines the type class @code{MonadBaseControl},
6450a subset of @code{MonadBase} into which generic control operations such as
6451@code{catch} can be lifted from @code{IO} or any other base monad.")
6452 (license license:bsd-3)))
6453
6454(define-public ghc-monad-logger
6455 (package
6456 (name "ghc-monad-logger")
6457 (version "0.3.29")
6458 (source
6459 (origin
6460 (method url-fetch)
6461 (uri (string-append "https://hackage.haskell.org/package/"
6462 "monad-logger-" version "/"
6463 "monad-logger-" version ".tar.gz"))
6464 (sha256
6465 (base32
6466 "1z516s4pa9n94zf0l45mylssg07xr1d1m6zrz900p0iv3vfd07mv"))))
6467 (build-system haskell-build-system)
6468 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6469 ("ghc-stm-chans" ,ghc-stm-chans)
6470 ("ghc-lifted-base" ,ghc-lifted-base)
6471 ("ghc-resourcet" ,ghc-resourcet)
6472 ("ghc-conduit" ,ghc-conduit)
6473 ("ghc-conduit-extra" ,ghc-conduit-extra)
6474 ("ghc-fast-logger" ,ghc-fast-logger)
6475 ("ghc-transformers-base" ,ghc-transformers-base)
6476 ("ghc-monad-control" ,ghc-monad-control)
6477 ("ghc-monad-loops" ,ghc-monad-loops)
6478 ("ghc-blaze-builder" ,ghc-blaze-builder)
6479 ("ghc-exceptions" ,ghc-exceptions)))
6480 (home-page "https://github.com/kazu-yamamoto/logger")
6481 (synopsis "Provides a class of monads which can log messages for Haskell")
6482 (description "This Haskell package uses a monad transformer approach
6483for logging.
6484
6485This package provides Template Haskell functions for determining source
6486code locations of messages.")
6487 (license license:expat)))
6488
6489(define-public ghc-monad-loops
6490 (package
6491 (name "ghc-monad-loops")
6492 (version "0.4.3")
6493 (source
6494 (origin
6495 (method url-fetch)
6496 (uri (string-append "https://hackage.haskell.org/package/"
6497 "monad-loops-" version "/"
6498 "monad-loops-" version ".tar.gz"))
6499 (sha256
6500 (base32
6501 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6502 (build-system haskell-build-system)
6503 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6504 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6505 (home-page "https://github.com/mokus0/monad-loops")
6506 (synopsis "Monadic loops for Haskell")
6507 (description "This Haskell package provides some useful control
6508operators for looping.")
6509 (license license:public-domain)))
6510
6511(define-public ghc-monad-par
6512 (package
6513 (name "ghc-monad-par")
6514 (version "0.3.4.8")
6515 (source
6516 (origin
6517 (method url-fetch)
6518 (uri (string-append "https://hackage.haskell.org/package/"
6519 "monad-par-" version "/"
6520 "monad-par-" version ".tar.gz"))
6521 (sha256
6522 (base32
6523 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6524 (build-system haskell-build-system)
6525 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6526 ("ghc-abstract-deque" ,ghc-abstract-deque)
6527 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6528 ("ghc-mwc-random" ,ghc-mwc-random)
6529 ("ghc-parallel" ,ghc-parallel)))
6530 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6531 ("ghc-hunit" ,ghc-hunit)
6532 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6533 ("ghc-test-framework-quickcheck2"
6534 ,ghc-test-framework-quickcheck2)
6535 ("ghc-test-framework" ,ghc-test-framework)
6536 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6537 (home-page "https://github.com/simonmar/monad-par")
6538 (synopsis "Haskell library for parallel programming based on a monad")
6539 (description "The @code{Par} monad offers an API for parallel
6540programming. The library works for parallelising both pure and @code{IO}
6541computations, although only the pure version is deterministic. The default
6542implementation provides a work-stealing scheduler and supports forking tasks
6543that are much lighter weight than IO-threads.")
6544 (license license:bsd-3)))
6545
6546(define-public ghc-monad-par-extras
6547 (package
6548 (name "ghc-monad-par-extras")
6549 (version "0.3.3")
6550 (source
6551 (origin
6552 (method url-fetch)
6553 (uri (string-append "https://hackage.haskell.org/package/"
6554 "monad-par-extras-" version "/"
6555 "monad-par-extras-" version ".tar.gz"))
6556 (sha256
6557 (base32
6558 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6559 (build-system haskell-build-system)
6560 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6561 ("ghc-cereal" ,ghc-cereal)
6562 ("ghc-random" ,ghc-random)))
6563 (home-page "https://github.com/simonmar/monad-par")
6564 (synopsis "Combinators and extra features for Par monads for Haskell")
6565 (description "This Haskell package provides additional data structures,
6566and other added capabilities layered on top of the @code{Par} monad.")
6567 (license license:bsd-3)))
6568
6569(define-public ghc-monadplus
6570 (package
6571 (name "ghc-monadplus")
6572 (version "1.4.2")
6573 (source
6574 (origin
6575 (method url-fetch)
6576 (uri (string-append "https://hackage.haskell.org/package/monadplus"
6577 "/monadplus-" version ".tar.gz"))
6578 (sha256
6579 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
6580 (build-system haskell-build-system)
6581 (home-page "https://hackage.haskell.org/package/monadplus")
6582 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
6583 (description
6584 "This package generalizes many common stream operations such as
6585@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
6586arbitrary @code{MonadPlus} instances.")
6587 (license license:bsd-3)))
6588
6589(define-public ghc-monadrandom
6590 (package
6591 (name "ghc-monadrandom")
6592 (version "0.5.1.1")
6593 (source
6594 (origin
6595 (method url-fetch)
6596 (uri (string-append "https://hackage.haskell.org/package/"
6597 "MonadRandom-" version "/"
6598 "MonadRandom-" version ".tar.gz"))
6599 (sha256
6600 (base32
6601 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
6602 (build-system haskell-build-system)
6603 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6604 ("ghc-primitive" ,ghc-primitive)
6605 ("ghc-fail" ,ghc-fail)
6606 ("ghc-random" ,ghc-random)))
6607 (home-page "https://github.com/byorgey/MonadRandom")
6608 (synopsis "Random-number generation monad for Haskell")
6609 (description "This Haskell package provides support for computations
6610which consume random values.")
6611 (license license:bsd-3)))
6612
6613(define-public ghc-monads-tf
6614 (package
6615 (name "ghc-monads-tf")
6616 (version "0.1.0.3")
6617 (source
6618 (origin
6619 (method url-fetch)
6620 (uri (string-append
6621 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
6622 version ".tar.gz"))
6623 (sha256
6624 (base32
6625 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
6626 (build-system haskell-build-system)
6627 (home-page "https://hackage.haskell.org/package/monads-tf")
6628 (synopsis "Monad classes, using type families")
6629 (description
6630 "Monad classes using type families, with instances for various monad transformers,
6631inspired by the paper 'Functional Programming with Overloading and Higher-Order
6632Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
6633the @code{mtl-tf} package.")
6634 (license license:bsd-3)))
6635
6636(define-public ghc-mono-traversable
6637 (package
6638 (name "ghc-mono-traversable")
6639 (version "1.0.9.0")
6640 (source
6641 (origin
6642 (method url-fetch)
6643 (uri (string-append "https://hackage.haskell.org/package/"
6644 "mono-traversable-" version "/"
6645 "mono-traversable-" version ".tar.gz"))
6646 (sha256
6647 (base32
6648 "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
6649 (build-system haskell-build-system)
6650 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
6651 ("ghc-hashable" ,ghc-hashable)
6652 ("ghc-vector" ,ghc-vector)
6653 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
6654 ("ghc-split" ,ghc-split)))
6655 (native-inputs `(("ghc-hspec" ,ghc-hspec)
6656 ("ghc-hunit" ,ghc-hunit)
6657 ("ghc-quickcheck" ,ghc-quickcheck)
6658 ("ghc-semigroups" ,ghc-semigroups)
6659 ("ghc-foldl" ,ghc-foldl)))
6660 (home-page "https://github.com/snoyberg/mono-traversable")
6661 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
6662containers")
6663 (description "This Haskell package provides Monomorphic variants of the
6664Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
6665basic typeclasses, you understand mono-traversable. In addition to what
6666you are used to, it adds on an IsSequence typeclass and has code for marking
6667data structures as non-empty.")
6668 (license license:expat)))
6669
6670(define-public ghc-murmur-hash
6671 (package
6672 (name "ghc-murmur-hash")
6673 (version "0.1.0.9")
6674 (source
6675 (origin
6676 (method url-fetch)
6677 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
6678 "/murmur-hash-" version ".tar.gz"))
6679 (sha256
6680 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
6681 (build-system haskell-build-system)
6682 (home-page "https://github.com/nominolo/murmur-hash")
6683 (synopsis "MurmurHash2 implementation for Haskell")
6684 (description
6685 "This package provides an implementation of MurmurHash2, a good, fast,
6686general-purpose, non-cryptographic hashing function. See
6687@url{https://sites.google.com/site/murmurhash/} for details. This
6688implementation is pure Haskell, so it might be a bit slower than a C FFI
6689binding.")
6690 (license license:bsd-3)))
6691
6692(define-public ghc-mwc-random
6693 (package
6694 (name "ghc-mwc-random")
6695 (version "0.13.6.0")
6696 (source
6697 (origin
6698 (method url-fetch)
6699 (uri (string-append "https://hackage.haskell.org/package/"
6700 "mwc-random-" version "/"
6701 "mwc-random-" version ".tar.gz"))
6702 (sha256
6703 (base32
6704 "05j7yh0hh9nxic3dijmzv44kc6gzclvamdph7sq7w19wq57k6pq6"))))
6705 (build-system haskell-build-system)
6706 (inputs
6707 `(("ghc-primitive" ,ghc-primitive)
6708 ("ghc-vector" ,ghc-vector)
6709 ("ghc-math-functions" ,ghc-math-functions)))
6710 (arguments
6711 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
6712 (native-inputs
6713 `(("ghc-hunit" ,ghc-hunit)
6714 ("ghc-quickcheck" ,ghc-quickcheck)
6715 ("ghc-test-framework" ,ghc-test-framework)
6716 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6717 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6718 (home-page "https://github.com/bos/mwc-random")
6719 (synopsis "Random number generation library for Haskell")
6720 (description "This Haskell package contains code for generating
6721high quality random numbers that follow either a uniform or normal
6722distribution. The generated numbers are suitable for use in
6723statistical applications.
6724
6725The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
6726multiply-with-carry generator, which has a period of 2^{8222} and
6727fares well in tests of randomness. It is also extremely fast,
6728between 2 and 3 times faster than the Mersenne Twister.")
6729 (license license:bsd-3)))
6730
6731(define-public ghc-nats
6732 (package
6733 (name "ghc-nats")
6734 (version "1.1.2")
6735 (source
6736 (origin
6737 (method url-fetch)
6738 (uri (string-append
6739 "https://hackage.haskell.org/package/nats/nats-"
6740 version
6741 ".tar.gz"))
6742 (sha256
6743 (base32
6744 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
6745 (build-system haskell-build-system)
6746 (arguments `(#:haddock? #f))
6747 (inputs
6748 `(("ghc-hashable" ,ghc-hashable)))
6749 (home-page "https://hackage.haskell.org/package/nats")
6750 (synopsis "Natural numbers")
6751 (description "This library provides the natural numbers for Haskell.")
6752 (license license:bsd-3)))
6753
6754(define-public ghc-nats-bootstrap
6755 (package
6756 (inherit ghc-nats)
6757 (name "ghc-nats-bootstrap")
6758 (inputs
6759 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
6760 (properties '((hidden? #t)))))
6761
52915062
EF
6762(define-public ghc-ncurses
6763 (package
6764 (name "ghc-ncurses")
6765 (version "0.2.16")
6766 (source
6767 (origin
6768 (method url-fetch)
6769 (uri (string-append
6770 "https://hackage.haskell.org/package/ncurses/ncurses-"
6771 version ".tar.gz"))
6772 (sha256
6773 (base32
6774 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
6775 (build-system haskell-build-system)
6776 (arguments
6777 '(#:phases
6778 (modify-phases %standard-phases
6779 (add-before 'build 'fix-includes
6780 (lambda _
6781 (substitute* '("cbits/hsncurses-shim.h"
6782 "lib/UI/NCurses.chs"
6783 "lib/UI/NCurses/Enums.chs"
6784 "lib/UI/NCurses/Panel.chs")
6785 (("<ncursesw/") "<"))
6786 #t)))
6787 #:cabal-revision
6788 ("1"
6789 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
6790 (inputs `(("ncurses" ,ncurses)))
6791 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
6792 (home-page "https://john-millikin.com/software/haskell-ncurses/")
6793 (synopsis "Modernised bindings to GNU ncurses")
6794 (description "GNU ncurses is a library for creating command-line application
6795with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
6796ncurses.")
6797 (license license:gpl3)))
6798
dddbc90c
RV
6799(define-public ghc-network
6800 (package
6801 (name "ghc-network")
6802 (version "2.6.3.6")
6803 (outputs '("out" "doc"))
6804 (source
6805 (origin
6806 (method url-fetch)
6807 (uri (string-append
6808 "https://hackage.haskell.org/package/network/network-"
6809 version
6810 ".tar.gz"))
6811 (sha256
6812 (base32
6813 "198mam7ahny48p9fajznbqq16a8ya2gw0xm3gnm1si1rmc4hdplv"))))
6814 (build-system haskell-build-system)
6815 ;; The regression tests depend on an unpublished module.
6816 (arguments `(#:tests? #f))
6817 (native-inputs
6818 `(("ghc-hunit" ,ghc-hunit)
6819 ("ghc-doctest" ,ghc-doctest)
6820 ("ghc-test-framework" ,ghc-test-framework)
6821 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6822 (home-page "https://github.com/haskell/network")
6823 (synopsis "Low-level networking interface")
6824 (description
6825 "This package provides a low-level networking interface.")
6826 (license license:bsd-3)))
4780db2c
EB
6827
6828;;; Until we update our default GHC to >=8.6 we cannot update our ghc-network
6829;;; package, since the 'cabal-install' package that supports the current
6830;;; 'Cabal' module requires 'network==2.6.*'. Here we provide an updated
6831;;; version to be used for our idris package.
6832(define-public ghc-network-2.8
6833 (hidden-package
6834 (package
6835 (inherit ghc-network)
6836 (version "2.8.0.1")
6837 (source
6838 (origin
6839 (method url-fetch)
6840 (uri (string-append "https://hackage.haskell.org/package/network/"
6841 "network-" version ".tar.gz"))
6842 (sha256
6843 (base32
6844 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1")))))))
dddbc90c
RV
6845
6846(define-public ghc-network-info
6847 (package
6848 (name "ghc-network-info")
6849 (version "0.2.0.10")
6850 (source
6851 (origin
6852 (method url-fetch)
6853 (uri (string-append "https://hackage.haskell.org/package/"
6854 "network-info-" version "/"
6855 "network-info-" version ".tar.gz"))
6856 (sha256
6857 (base32
6858 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
6859 (build-system haskell-build-system)
6860 (home-page "https://github.com/jystic/network-info")
6861 (synopsis "Access the local computer's basic network configuration")
6862 (description "This Haskell library provides simple read-only access to the
6863local computer's networking configuration. It is currently capable of
6864getting a list of all the network interfaces and their respective
6865IPv4, IPv6 and MAC addresses.")
6866 (license license:bsd-3)))
6867
6868(define-public ghc-network-uri
6869 (package
6870 (name "ghc-network-uri")
6871 (version "2.6.1.0")
6872 (outputs '("out" "doc"))
6873 (source
6874 (origin
6875 (method url-fetch)
6876 (uri (string-append
6877 "https://hackage.haskell.org/package/network-uri/network-uri-"
6878 version
6879 ".tar.gz"))
6880 (sha256
6881 (base32
6882 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
6883 (build-system haskell-build-system)
6884 (arguments
6885 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
6886 (inputs
6887 `(("ghc-network" ,ghc-network)))
6888 (native-inputs
6889 `(("ghc-hunit" ,ghc-hunit)))
6890 (home-page
6891 "https://github.com/haskell/network-uri")
6892 (synopsis "Library for URI manipulation")
6893 (description "This package provides an URI manipulation interface. In
6894@code{network-2.6} the @code{Network.URI} module was split off from the
6895@code{network} package into this package.")
6896 (license license:bsd-3)))
6897
6898(define-public ghc-newtype-generics
6899 (package
6900 (name "ghc-newtype-generics")
6901 (version "0.5.3")
6902 (source
6903 (origin
6904 (method url-fetch)
6905 (uri (string-append "https://hackage.haskell.org/package/"
6906 "newtype-generics/newtype-generics-"
6907 version ".tar.gz"))
6908 (sha256
6909 (base32
6910 "0igyisw2djg19v9vkna1rwf47k97mvkvk4bbkmswznvbm00z15gj"))))
6911 (build-system haskell-build-system)
6912 (native-inputs
6913 `(("ghc-hspec" ,ghc-hspec)
6914 ("hspec-discover" ,hspec-discover)))
6915 (home-page "http://github.com/sjakobi/newtype-generics")
6916 (synopsis "Typeclass and set of functions for working with newtypes")
6917 (description "The @code{Newtype} typeclass represents the packing and
6918unpacking of a newtype, and allows you to operate under that newtype with
6919functions such as @code{ala}. Generics support was added in version 0.4,
6920making this package a full replacement for the original newtype package,
6921and an alternative to newtype-th.")
6922 (license license:bsd-3)))
6923
6b652f5a
JS
6924(define-public ghc-non-negative
6925 (package
6926 (name "ghc-non-negative")
6927 (version "0.1.2")
6928 (source
6929 (origin
6930 (method url-fetch)
6931 (uri
6932 (string-append
6933 "https://hackage.haskell.org/package/non-negative/non-negative-"
6934 version ".tar.gz"))
6935 (sha256
6936 (base32
6937 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
6938 (build-system haskell-build-system)
6939 (inputs
6940 `(("ghc-semigroups" ,ghc-semigroups)
6941 ("ghc-utility-ht" ,ghc-utility-ht)
6942 ("ghc-quickcheck" ,ghc-quickcheck)))
6943 (home-page "https://hackage.haskell.org/package/non-negative")
6944 (synopsis "Non-negative numbers class")
6945 (description "This library provides a class for non-negative numbers,
6946a wrapper which can turn any ordered numeric type into a member of that
6947class, and a lazy number type for non-negative numbers (a generalization
6948of Peano numbers).")
6949 (license license:gpl3+)))
6950
dddbc90c
RV
6951(define-public ghc-objectname
6952 (package
6953 (name "ghc-objectname")
6954 (version "1.1.0.1")
6955 (source
6956 (origin
6957 (method url-fetch)
6958 (uri (string-append
6959 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
6960 version
6961 ".tar.gz"))
6962 (sha256
6963 (base32
6964 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
6965 (build-system haskell-build-system)
6966 (home-page "https://hackage.haskell.org/package/ObjectName")
6967 (synopsis "Helper library for Haskell OpenGL")
6968 (description "This tiny package contains the class ObjectName, which
6969corresponds to the general notion of explicitly handled identifiers for API
6970objects, e.g. a texture object name in OpenGL or a buffer object name in
6971OpenAL.")
6972 (license license:bsd-3)))
6973
6974(define-public ghc-old-locale
6975 (package
6976 (name "ghc-old-locale")
6977 (version "1.0.0.7")
6978 (source
6979 (origin
6980 (method url-fetch)
6981 (uri (string-append
6982 "https://hackage.haskell.org/package/old-locale/old-locale-"
6983 version
6984 ".tar.gz"))
6985 (sha256
6986 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
6987 (build-system haskell-build-system)
6988 (arguments
6989 `(#:cabal-revision
6990 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
6991 (home-page "https://hackage.haskell.org/package/old-locale")
6992 (synopsis "Adapt to locale conventions")
6993 (description
6994 "This package provides the ability to adapt to locale conventions such as
6995date and time formats.")
6996 (license license:bsd-3)))
6997
6998(define-public ghc-old-time
6999 (package
7000 (name "ghc-old-time")
7001 (version "1.1.0.3")
7002 (source
7003 (origin
7004 (method url-fetch)
7005 (uri (string-append
7006 "https://hackage.haskell.org/package/old-time/old-time-"
7007 version
7008 ".tar.gz"))
7009 (sha256
7010 (base32
7011 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7012 (build-system haskell-build-system)
7013 (arguments
7014 `(#:cabal-revision
7015 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7016 (inputs
7017 `(("ghc-old-locale" ,ghc-old-locale)))
7018 (home-page "https://hackage.haskell.org/package/old-time")
7019 (synopsis "Time compatibility library for Haskell")
7020 (description "Old-time is a package for backwards compatibility with the
7021old @code{time} library. For new projects, the newer
7022@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7023 (license license:bsd-3)))
7024
7025(define-public ghc-opengl
7026 (package
7027 (name "ghc-opengl")
7028 (version "3.0.2.2")
7029 (source
7030 (origin
7031 (method url-fetch)
7032 (uri (string-append
7033 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7034 version
7035 ".tar.gz"))
7036 (sha256
7037 (base32
7038 "19vxwvx2n8zq2klj176l25n2b64ybp0b8mhm4p46gvpcivz41fjc"))))
7039 (build-system haskell-build-system)
7040 (inputs
7041 `(("ghc-objectname" ,ghc-objectname)
7042 ("ghc-gluraw" ,ghc-gluraw)
7043 ("ghc-statevar" ,ghc-statevar)
7044 ("ghc-openglraw" ,ghc-openglraw)))
7045 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7046 (synopsis "Haskell bindings for the OpenGL graphics system")
7047 (description "This package provides Haskell bindings for the OpenGL
7048graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7049version 1.3).")
7050 (license license:bsd-3)))
7051
7052(define-public ghc-openglraw
7053 (package
7054 (name "ghc-openglraw")
7055 (version "3.3.1.0")
7056 (source
7057 (origin
7058 (method url-fetch)
7059 (uri (string-append
7060 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7061 version
7062 ".tar.gz"))
7063 (sha256
7064 (base32
7065 "1x8w3x308jldj2c1xqcq3a3sc2jc06pdpgqkgjsmixi1skv4a1vb"))))
7066 (build-system haskell-build-system)
7067 (inputs
7068 `(("ghc-half" ,ghc-half)
7069 ("ghc-fixed" ,ghc-fixed)
7070 ("glu" ,glu)))
7071 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7072 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7073 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7074graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7075of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7076offers access to all necessary functions, tokens and types plus a general
7077facility for loading extension entries. The module hierarchy closely mirrors
7078the naming structure of the OpenGL extensions, making it easy to find the
7079right module to import. All API entries are loaded dynamically, so no special
7080C header files are needed for building this package. If an API entry is not
7081found at runtime, a userError is thrown.")
7082 (license license:bsd-3)))
7083
7084(define-public ghc-operational
7085 (package
7086 (name "ghc-operational")
7087 (version "0.2.3.5")
7088 (source
7089 (origin
7090 (method url-fetch)
7091 (uri (string-append "https://hackage.haskell.org/package/operational/"
7092 "operational-" version ".tar.gz"))
7093 (sha256
7094 (base32
7095 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7096 (build-system haskell-build-system)
7097 (inputs
7098 `(("ghc-random" ,ghc-random)))
7099 (home-page "http://wiki.haskell.org/Operational")
7100 (synopsis "Implementation of difficult monads made easy with operational semantics")
7101 (description
7102 "This library makes it easy to implement monads with tricky control
7103flow. This is useful for: writing web applications in a sequential style,
7104programming games with a uniform interface for human and AI players and easy
7105replay capababilities, implementing fast parser monads, designing monadic
7106DSLs, etc.")
7107 (license license:bsd-3)))
7108
7109(define-public ghc-options
7110 (package
7111 (name "ghc-options")
7112 (version "1.2.1.1")
7113 (source
7114 (origin
7115 (method url-fetch)
7116 (uri (string-append
7117 "https://hackage.haskell.org/package/options/options-"
7118 version ".tar.gz"))
7119 (sha256
7120 (base32
7121 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7122 (build-system haskell-build-system)
7123 (inputs
7124 `(("ghc-monads-tf" ,ghc-monads-tf)
7125 ("ghc-chell" ,ghc-chell)
7126 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7127 (home-page "https://john-millikin.com/software/haskell-options/")
7128 (synopsis "Powerful and easy-to-use command-line option parser")
7129 (description
7130 "The @code{options} package lets library and application developers
7131easily work with command-line options.")
7132 (license license:expat)))
7133
7134;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7135(define ghc-options-bootstrap
7136 (package
7137 (name "ghc-options-bootstrap")
7138 (version "1.2.1.1")
7139 (source
7140 (origin
7141 (method url-fetch)
7142 (uri (string-append
7143 "https://hackage.haskell.org/package/options/options-"
7144 version ".tar.gz"))
7145 (sha256
7146 (base32
7147 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7148 (build-system haskell-build-system)
7149 (arguments
7150 `(#:tests? #f))
7151 (inputs
7152 `(("ghc-monads-tf" ,ghc-monads-tf)))
7153 (home-page "https://john-millikin.com/software/haskell-options/")
7154 (synopsis "Powerful and easy-to-use command-line option parser")
7155 (description
7156 "The @code{options} package lets library and application developers
7157easily work with command-line options.")
7158 (license license:expat)))
7159
7160
7161(define-public ghc-optparse-applicative
7162 (package
7163 (name "ghc-optparse-applicative")
7164 (version "0.14.2.0")
7165 (source
7166 (origin
7167 (method url-fetch)
7168 (uri (string-append
7169 "https://hackage.haskell.org/package/optparse-applicative"
7170 "/optparse-applicative-" version ".tar.gz"))
7171 (sha256
7172 (base32
7173 "0c3z1mvynlyv1garjbdmdd3npm40dabgm75js4r07cf766c1wd71"))))
7174 (build-system haskell-build-system)
7175 (inputs
7176 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7177 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7178 (native-inputs
7179 `(("ghc-quickcheck" ,ghc-quickcheck)))
7180 (home-page "https://github.com/pcapriotti/optparse-applicative")
7181 (synopsis "Utilities and combinators for parsing command line options")
7182 (description "This package provides utilities and combinators for parsing
7183command line options in Haskell.")
7184 (license license:bsd-3)))
7185
7186(define-public ghc-pandoc
7187 (package
7188 (name "ghc-pandoc")
7189 (version "2.2.1")
7190 (source
7191 (origin
7192 (method url-fetch)
7193 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7194 version ".tar.gz"))
7195 (sha256
7196 (base32
7197 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
7198 (build-system haskell-build-system)
7199 (arguments
7200 `(#:phases
7201 (modify-phases %standard-phases
7202 (add-before 'configure 'update-constraints
7203 (lambda _
7204 (substitute* "pandoc.cabal"
7205 (("tasty >= 0\\.11 && < 1\\.1")
7206 "tasty >= 0.11 && < 1.1.1"))))
7207 (add-before 'configure 'patch-tests
7208 (lambda _
7209 ;; These tests fail benignly and have been adjusted upstream:
7210 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
7211 (substitute* "test/Tests/Old.hs"
7212 (("lhsWriterTests \"html\"") "[]")))))))
7213 (inputs
7214 `(("ghc-aeson" ,ghc-aeson)
7215 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7216 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7217 ("ghc-blaze-html" ,ghc-blaze-html)
7218 ("ghc-blaze-markup" ,ghc-blaze-markup)
7219 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7220 ("ghc-data-default" ,ghc-data-default)
7221 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7222 ("ghc-diff" ,ghc-diff)
7223 ("ghc-doctemplates" ,ghc-doctemplates)
7224 ("ghc-executable-path" ,ghc-executable-path)
7225 ("ghc-glob" ,ghc-glob)
7226 ("ghc-haddock-library" ,ghc-haddock-library)
7227 ("ghc-hslua" ,ghc-hslua)
7228 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7229 ("ghc-http" ,ghc-http)
7230 ("ghc-http-client" ,ghc-http-client)
7231 ("ghc-http-client-tls" ,ghc-http-client-tls)
7232 ("ghc-http-types" ,ghc-http-types)
7233 ("ghc-juicypixels" ,ghc-juicypixels)
7234 ("ghc-network" ,ghc-network)
7235 ("ghc-network-uri" ,ghc-network-uri)
7236 ("ghc-old-locale" ,ghc-old-locale)
7237 ("ghc-pandoc-types" ,ghc-pandoc-types)
7238 ("ghc-random" ,ghc-random)
7239 ("ghc-scientific" ,ghc-scientific)
7240 ("ghc-sha" ,ghc-sha)
7241 ("ghc-skylighting" ,ghc-skylighting)
7242 ("ghc-split" ,ghc-split)
7243 ("ghc-syb" ,ghc-syb)
7244 ("ghc-tagsoup" ,ghc-tagsoup)
7245 ("ghc-temporary" ,ghc-temporary)
7246 ("ghc-texmath" ,ghc-texmath)
7247 ("ghc-unordered-containers" ,ghc-unordered-containers)
7248 ("ghc-vector" ,ghc-vector)
7249 ("ghc-xml" ,ghc-xml)
7250 ("ghc-yaml" ,ghc-yaml)
7251 ("ghc-zip-archive" ,ghc-zip-archive)
7252 ("ghc-zlib" ,ghc-zlib)))
7253 (native-inputs
7254 `(("ghc-tasty" ,ghc-tasty)
7255 ("ghc-tasty-golden" ,ghc-tasty-golden)
7256 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7257 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7258 ("ghc-quickcheck" ,ghc-quickcheck)
7259 ("ghc-hunit" ,ghc-hunit)))
7260 (home-page "https://pandoc.org")
7261 (synopsis "Conversion between markup formats")
7262 (description
7263 "Pandoc is a Haskell library for converting from one markup format to
7264another, and a command-line tool that uses this library. It can read and
7265write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7266LaTeX, DocBook, and many more.
7267
7268Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7269definition lists, tables, and other features. A compatibility mode is
7270provided for those who need a drop-in replacement for Markdown.pl.")
7271 (license license:gpl2+)))
7272
7273(define-public ghc-pandoc-citeproc
7274 (package
7275 (name "ghc-pandoc-citeproc")
7276 (version "0.14.3.1")
7277 (source
7278 (origin
7279 (method url-fetch)
7280 (uri (string-append "https://hackage.haskell.org/package/"
7281 "pandoc-citeproc/pandoc-citeproc-"
7282 version ".tar.gz"))
7283 (sha256
7284 (base32
7285 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7286 (build-system haskell-build-system)
7287 (arguments
7288 `(#:phases
7289 (modify-phases %standard-phases
7290 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7291 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7292 (add-before 'configure 'patch-tests
7293 (lambda _
7294 (substitute* "tests/test-pandoc-citeproc.hs"
7295 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7296 "let allTests = citeprocTests"))))
7297 ;; Tests need to be run after installation.
7298 (delete 'check)
7299 (add-after 'install 'post-install-check
7300 (assoc-ref %standard-phases 'check)))))
7301 (inputs
7302 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7303 ("ghc-pandoc" ,ghc-pandoc)
7304 ("ghc-tagsoup" ,ghc-tagsoup)
7305 ("ghc-aeson" ,ghc-aeson)
7306 ("ghc-vector" ,ghc-vector)
7307 ("ghc-xml-conduit" ,ghc-xml-conduit)
7308 ("ghc-unordered-containers" ,ghc-unordered-containers)
7309 ("ghc-data-default" ,ghc-data-default)
7310 ("ghc-setenv" ,ghc-setenv)
7311 ("ghc-split" ,ghc-split)
7312 ("ghc-yaml" ,ghc-yaml)
7313 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7314 ("ghc-rfc5051" ,ghc-rfc5051)
7315 ("ghc-syb" ,ghc-syb)
7316 ("ghc-old-locale" ,ghc-old-locale)
7317 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7318 ("ghc-attoparsec" ,ghc-attoparsec)
7319 ("ghc-temporary" ,ghc-temporary)))
7320 (home-page "https://github.com/jgm/pandoc-citeproc")
7321 (synopsis "Library for using pandoc with citeproc")
7322 (description
7323 "The @code{pandoc-citeproc} library exports functions for using the
7324citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7325rendering bibliographic reference citations into a variety of styles using a
7326macro language called @dfn{Citation Style Language} (CSL). This package also
7327contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7328and also has a mode for converting bibliographic databases a YAML format
7329suitable for inclusion in pandoc YAML metadata.")
7330 (license license:bsd-3)))
7331
7332(define-public ghc-pandoc-types
7333 (package
7334 (name "ghc-pandoc-types")
7335 (version "1.17.5.1")
7336 (source (origin
7337 (method url-fetch)
7338 (uri (string-append "https://hackage.haskell.org/package/"
7339 "pandoc-types/pandoc-types-"
7340 version ".tar.gz"))
7341 (sha256
7342 (base32
7343 "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
7344 (build-system haskell-build-system)
7345 (inputs
7346 `(("ghc-syb" ,ghc-syb)
7347 ("ghc-aeson" ,ghc-aeson)
7348 ("ghc-string-qq" ,ghc-string-qq)))
7349 (native-inputs
7350 `(("ghc-quickcheck" ,ghc-quickcheck)
7351 ("ghc-test-framework" ,ghc-test-framework)
7352 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7353 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7354 ("ghc-hunit" ,ghc-hunit)))
7355 (home-page "http://johnmacfarlane.net/pandoc")
7356 (synopsis "Types for representing a structured document")
7357 (description
7358 "This module defines the @code{Pandoc} data structure, which is used by
7359pandoc to represent structured documents. It also provides functions for
7360building up, manipulating and serialising @code{Pandoc} structures.")
7361 (license license:bsd-3)))
7362
7363(define-public ghc-parallel
7364 (package
7365 (name "ghc-parallel")
7366 (version "3.2.2.0")
7367 (outputs '("out" "doc"))
7368 (source
7369 (origin
7370 (method url-fetch)
7371 (uri (string-append
7372 "https://hackage.haskell.org/package/parallel/parallel-"
7373 version
7374 ".tar.gz"))
7375 (sha256
7376 (base32
7377 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7378 (build-system haskell-build-system)
7379 (home-page "https://hackage.haskell.org/package/parallel")
7380 (synopsis "Parallel programming library")
7381 (description
7382 "This package provides a library for parallel programming.")
7383 (license license:bsd-3)))
7384
7385(define-public ghc-parsec-numbers
7386 (package
7387 (name "ghc-parsec-numbers")
7388 (version "0.1.0")
7389 (source
7390 (origin
7391 (method url-fetch)
7392 (uri (string-append "https://hackage.haskell.org/package/"
7393 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7394 (sha256
7395 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7396 (build-system haskell-build-system)
7397 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7398 (synopsis "Utilities for parsing numbers from strings")
7399 (description
7400 "This package provides the number parsers without the need to use a large
7401(and unportable) token parser.")
7402 (license license:bsd-3)))
7403
7404(define-public ghc-parser-combinators
7405 (package
7406 (name "ghc-parser-combinators")
2f173160 7407 (version "1.1.0")
dddbc90c
RV
7408 (source
7409 (origin
7410 (method url-fetch)
7411 (uri (string-append "https://hackage.haskell.org/package/"
7412 "parser-combinators/parser-combinators-"
7413 version ".tar.gz"))
7414 (sha256
7415 (base32
2f173160 7416 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
7417 (build-system haskell-build-system)
7418 (home-page "https://github.com/mrkkrp/parser-combinators")
7419 (synopsis "Commonly useful parser combinators")
7420 (description
7421 "This is a lightweight package providing commonly useful parser
7422combinators.")
7423 (license license:bsd-3)))
7424
7425(define-public ghc-parsers
7426 (package
7427 (name "ghc-parsers")
7428 (version "0.12.9")
7429 (source
7430 (origin
7431 (method url-fetch)
7432 (uri (string-append
7433 "https://hackage.haskell.org/package/parsers/parsers-"
7434 version
7435 ".tar.gz"))
7436 (sha256
7437 (base32
7438 "1r05sc1mcglk8w596kq9a1brfn9c2vll8lq16j07ln0vsz4jzrc1"))))
7439 (build-system haskell-build-system)
7440 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7441 ; -package attoparsec-0.13.0.1"
7442 (inputs
7443 `(("ghc-base-orphans" ,ghc-base-orphans)
7444 ("ghc-attoparsec" ,ghc-attoparsec)
7445 ("ghc-scientific" ,ghc-scientific)
7446 ("ghc-charset" ,ghc-charset)
7447 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7448 (home-page "https://github.com/ekmett/parsers/")
7449 (synopsis "Parsing combinators")
7450 (description "This library provides convenient combinators for working
7451with and building parsing combinator libraries. Given a few simple instances,
7452you get access to a large number of canned definitions. Instances exist for
7453the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7454@code{Text.Read}.")
7455 (license license:bsd-3)))
7456
7457(define-public ghc-path
7458 (package
7459 (name "ghc-path")
7460 (version "0.6.1")
7461 (source
7462 (origin
7463 (method url-fetch)
7464 (uri (string-append
7465 "https://hackage.haskell.org/package/path/path-"
7466 version
7467 ".tar.gz"))
7468 (sha256
7469 (base32
7470 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7471 (build-system haskell-build-system)
7472 (arguments
7473 ;; TODO: There are some Windows-related tests and modules that need to be
7474 ;; danced around.
7475 `(#:tests? #f
7476 #:cabal-revision
7477 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7478 (inputs
7479 `(("ghc-aeson" ,ghc-aeson)
7480 ("ghc-exceptions" ,ghc-exceptions)
7481 ("ghc-hashable" ,ghc-hashable)))
7482 (native-inputs
7483 `(("ghc-hspec" ,ghc-hspec)
7484 ("ghc-quickcheck" ,ghc-quickcheck)
7485 ("ghc-genvalidity" ,ghc-genvalidity)
7486 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7487 ("ghc-hspec" ,ghc-hspec)
7488 ("ghc-validity" ,ghc-validity)))
7489 (home-page
7490 "http://hackage.haskell.org/package/path")
7491 (synopsis "Support for well-typed paths")
7492 (description "This package introduces a type for paths upholding useful
7493invariants.")
7494 (license license:bsd-3)))
7495
7496(define-public ghc-path-io
7497 (package
7498 (name "ghc-path-io")
7499 (version "1.3.3")
7500 (source
7501 (origin
7502 (method url-fetch)
7503 (uri (string-append
7504 "https://hackage.haskell.org/package/path-io/path-io-"
7505 version
7506 ".tar.gz"))
7507 (sha256
7508 (base32
7509 "1g9m3qliqjk1img894wsb89diym5zrq51qkkrwhz4sbm9a8hbv1a"))))
7510 (build-system haskell-build-system)
7511 (inputs
7512 `(("ghc-dlist" ,ghc-dlist)
7513 ("ghc-exceptions" ,ghc-exceptions)
7514 ("ghc-path" ,ghc-path)
7515 ("ghc-transformers-base" ,ghc-transformers-base)
7516 ("ghc-unix-compat" ,ghc-unix-compat)
7517 ("ghc-temporary" ,ghc-temporary)))
7518 (native-inputs
7519 `(("ghc-hspec" ,ghc-hspec)))
7520 (arguments
7521 `(#:cabal-revision
7522 ("3" "1h9hsibbflkxpjl2fqamqiv3x3gasf51apnmklrs9l9x8r32hzcc")))
7523 (home-page
7524 "https://github.com/mrkkrp/path-io")
7525 (synopsis "Functions for manipulating well-typed paths")
7526 (description "This package provides an interface to the @code{directory}
7527package for users of @code{path}. It also implements some missing stuff like
7528recursive scanning and copying of directories, working with temporary
7529files/directories, and more.")
7530 (license license:bsd-3)))
7531
7532(define-public ghc-paths
7533 (package
7534 (name "ghc-paths")
9a8adeb1 7535 (version "0.1.0.12")
dddbc90c
RV
7536 (outputs '("out" "doc"))
7537 (source
7538 (origin
7539 (method url-fetch)
7540 (uri (string-append
7541 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7542 version
7543 ".tar.gz"))
7544 (sha256
7545 (base32
9a8adeb1 7546 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
7547 (build-system haskell-build-system)
7548 (home-page "https://github.com/simonmar/ghc-paths")
7549 (synopsis
7550 "Knowledge of GHC's installation directories")
7551 (description
7552 "Knowledge of GHC's installation directories.")
7553 (license license:bsd-3)))
7554
7555(define-public ghc-patience
7556 (package
7557 (name "ghc-patience")
7558 (version "0.1.1")
7559 (source
7560 (origin
7561 (method url-fetch)
7562 (uri (string-append
7563 "https://hackage.haskell.org/package/patience/patience-"
7564 version ".tar.gz"))
7565 (sha256
7566 (base32
7567 "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"))))
7568 (build-system haskell-build-system)
7569 (home-page "https://hackage.haskell.org/package/patience")
7570 (synopsis "Patience diff and longest increasing subsequence")
7571 (description
7572 "This library implements the 'patience diff' algorithm, as well as the
7573patience algorithm for the longest increasing subsequence problem.
7574Patience diff computes the difference between two lists, for example the lines
7575of two versions of a source file. It provides a good balance between
7576performance, nice output for humans, and simplicity of implementation.")
7577 (license license:bsd-3)))
7578
7579(define-public ghc-pcre-light
7580 (package
7581 (name "ghc-pcre-light")
7582 (version "0.4.0.4")
7583 (source
7584 (origin
7585 (method url-fetch)
7586 (uri (string-append
7587 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7588 version
7589 ".tar.gz"))
7590 (sha256
7591 (base32
7592 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7593 (build-system haskell-build-system)
7594 (inputs
7595 `(("pcre" ,pcre)))
7596 (native-inputs
7597 `(("pkg-config" ,pkg-config)))
7598 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7599 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7600 (description "This package provides a small, efficient, and portable regex
7601library for Perl 5 compatible regular expressions. The PCRE library is a set
7602of functions that implement regular expression pattern matching using the same
7603syntax and semantics as Perl 5.")
7604 (license license:bsd-3)))
7605
7606(define-public ghc-persistent
7607 (package
7608 (name "ghc-persistent")
7609 (version "2.8.2")
7610 (source
7611 (origin
7612 (method url-fetch)
7613 (uri (string-append "https://hackage.haskell.org/package/"
7614 "persistent-" version "/"
7615 "persistent-" version ".tar.gz"))
7616 (sha256
7617 (base32
7618 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
7619 (build-system haskell-build-system)
7620 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7621 ("ghc-conduit" ,ghc-conduit)
7622 ("ghc-resourcet" ,ghc-resourcet)
7623 ("ghc-exceptions" ,ghc-exceptions)
7624 ("ghc-monad-control" ,ghc-monad-control)
7625 ("ghc-lifted-base" ,ghc-lifted-base)
7626 ("ghc-resource-pool" ,ghc-resource-pool)
7627 ("ghc-path-pieces" ,ghc-path-pieces)
7628 ("ghc-http-api-data" ,ghc-http-api-data)
7629 ("ghc-aeson" ,ghc-aeson)
7630 ("ghc-monad-logger" ,ghc-monad-logger)
7631 ("ghc-transformers-base" ,ghc-transformers-base)
7632 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7633 ("ghc-unordered-containers" ,ghc-unordered-containers)
7634 ("ghc-vector" ,ghc-vector)
7635 ("ghc-attoparsec" ,ghc-attoparsec)
7636 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7637 ("ghc-blaze-html" ,ghc-blaze-html)
7638 ("ghc-blaze-markup" ,ghc-blaze-markup)
7639 ("ghc-silently" ,ghc-silently)
7640 ("ghc-fast-logger" ,ghc-fast-logger)
7641 ("ghc-scientific" ,ghc-scientific)
7642 ("ghc-tagged" ,ghc-tagged)
7643 ("ghc-void" ,ghc-void)))
7644 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7645 (home-page "https://www.yesodweb.com/book/persistent")
7646 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7647 (description "This Haskell package allows Haskell programs to access data
7648storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7649way.")
7650 (license license:expat)))
7651
7652(define-public ghc-persistent-sqlite
7653 (package
7654 (name "ghc-persistent-sqlite")
7655 (version "2.8.2")
7656 (source
7657 (origin
7658 (method url-fetch)
7659 (uri (string-append "https://hackage.haskell.org/package/"
7660 "persistent-sqlite-" version "/"
7661 "persistent-sqlite-" version ".tar.gz"))
7662 (sha256
7663 (base32
7664 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7665 (build-system haskell-build-system)
7666 (inputs `(("ghc-persistent" ,ghc-persistent)
7667 ("ghc-unliftio-core" ,ghc-unliftio-core)
7668 ("ghc-aeson" ,ghc-aeson)
7669 ("ghc-conduit" ,ghc-conduit)
7670 ("ghc-monad-logger" ,ghc-monad-logger)
7671 ("ghc-microlens-th" ,ghc-microlens-th)
7672 ("ghc-resourcet" ,ghc-resourcet)
7673 ("ghc-old-locale" ,ghc-old-locale)
7674 ("ghc-resource-pool" ,ghc-resource-pool)
7675 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7676 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7677 ("ghc-persistent-template" ,ghc-persistent-template)
7678 ("ghc-temporary" ,ghc-temporary)))
7679 (home-page
7680 "https://www.yesodweb.com/book/persistent")
7681 (synopsis "Backend for the persistent library using sqlite3")
7682 (description "This Haskell package includes a thin sqlite3 wrapper based
7683on the direct-sqlite package, as well as the entire C library, so there are no
7684system dependencies.")
7685 (license license:expat)))
7686
7687(define-public ghc-persistent-template
7688 (package
7689 (name "ghc-persistent-template")
7690 (version "2.5.4")
7691 (source
7692 (origin
7693 (method url-fetch)
7694 (uri (string-append "https://hackage.haskell.org/package/"
7695 "persistent-template-" version "/"
7696 "persistent-template-" version ".tar.gz"))
7697 (sha256
7698 (base32
7699 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7700 (build-system haskell-build-system)
7701 (arguments
7702 `(#:cabal-revision
7703 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7704 (inputs `(("ghc-persistent" ,ghc-persistent)
7705 ("ghc-monad-control" ,ghc-monad-control)
7706 ("ghc-aeson" ,ghc-aeson)
7707 ("ghc-aeson-compat" ,ghc-aeson-compat)
7708 ("ghc-monad-logger" ,ghc-monad-logger)
7709 ("ghc-unordered-containers" ,ghc-unordered-containers)
7710 ("ghc-tagged" ,ghc-tagged)
7711 ("ghc-path-pieces" ,ghc-path-pieces)
7712 ("ghc-http-api-data" ,ghc-http-api-data)))
7713 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7714 ("ghc-quickcheck" ,ghc-quickcheck)))
7715 (home-page "https://www.yesodweb.com/book/persistent")
7716 (synopsis "Type-safe, non-relational, multi-backend persistence")
7717 (description "This Haskell package provides interfaces and helper
7718functions for the ghc-persistent package.")
7719 (license license:expat)))
7720
7721(define-public ghc-polyparse
7722 (package
7723 (name "ghc-polyparse")
9822b9ca 7724 (version "1.12.1")
dddbc90c
RV
7725 (source
7726 (origin
7727 (method url-fetch)
7728 (uri (string-append
7729 "https://hackage.haskell.org/package/polyparse/polyparse-"
7730 version
7731 ".tar.gz"))
7732 (sha256
7733 (base32
9822b9ca 7734 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
7735 (build-system haskell-build-system)
7736 (home-page
7737 "http://code.haskell.org/~malcolm/polyparse/")
7738 (synopsis
7739 "Alternative parser combinator libraries")
7740 (description
7741 "This package provides a variety of alternative parser combinator
7742libraries, including the original HuttonMeijer set. The Poly sets have
7743features like good error reporting, arbitrary token type, running state, lazy
7744parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7745standard Read class, for better deserialisation of Haskell values from
7746Strings.")
7747 (license license:lgpl2.1)))
7748
7749(define-public ghc-pqueue
7750 (package
7751 (name "ghc-pqueue")
7752 (version "1.4.1.1")
7753 (source
7754 (origin
7755 (method url-fetch)
7756 (uri (string-append "https://hackage.haskell.org/package/"
7757 "pqueue/pqueue-" version ".tar.gz"))
7758 (sha256
7759 (base32
7760 "1zvwm1zcqqq5n101s1brjhgbay8rf9fviq6gxbplf40i63m57p1x"))))
7761 (build-system haskell-build-system)
7762 (native-inputs
7763 `(("ghc-quickcheck" ,ghc-quickcheck)))
7764 (home-page "https://hackage.haskell.org/package/pqueue")
7765 (synopsis "Reliable, persistent, fast priority queues")
7766 (description
7767 "This package provides a fast, reliable priority queue implementation
7768based on a binomial heap.")
7769 (license license:bsd-3)))
7770
7771(define-public ghc-prelude-extras
7772 (package
7773 (name "ghc-prelude-extras")
7774 (version "0.4.0.3")
7775 (source
7776 (origin
7777 (method url-fetch)
7778 (uri (string-append
7779 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7780 version
7781 ".tar.gz"))
7782 (sha256
7783 (base32
7784 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7785 (build-system haskell-build-system)
7786 (home-page "https://github.com/ekmett/prelude-extras")
7787 (synopsis "Higher order versions of Prelude classes")
7788 (description "This library provides higher order versions of
7789@code{Prelude} classes to ease programming with polymorphic recursion and
7790reduce @code{UndecidableInstances}.")
7791 (license license:bsd-3)))
7792
7793(define-public ghc-prettyclass
7794 (package
7795 (name "ghc-prettyclass")
7796 (version "1.0.0.0")
7797 (source
7798 (origin
7799 (method url-fetch)
7800 (uri (string-append "https://hackage.haskell.org/package/"
7801 "prettyclass/prettyclass-" version ".tar.gz"))
7802 (sha256
7803 (base32
7804 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7805 (build-system haskell-build-system)
7806 (home-page "http://hackage.haskell.org/package/prettyclass")
7807 (synopsis "Pretty printing class similar to Show")
7808 (description "This package provides a pretty printing class similar
7809to @code{Show}, based on the HughesPJ pretty printing library. It
7810provides the pretty printing class and instances for the Prelude
7811types.")
7812 (license license:bsd-3)))
7813
7814(define-public ghc-pretty-hex
7815 (package
7816 (name "ghc-pretty-hex")
7817 (version "1.0")
7818 (source
7819 (origin
7820 (method url-fetch)
7821 (uri (string-append "https://hackage.haskell.org/package/"
7822 "pretty-hex-" version "/"
7823 "pretty-hex-" version ".tar.gz"))
7824 (sha256
7825 (base32
7826 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7827 (build-system haskell-build-system)
7828 (home-page "https://github.com/GaloisInc/hexdump")
7829 (synopsis "Haskell library for hex dumps of ByteStrings")
7830 (description "This Haskell library generates pretty hex dumps of
7831ByteStrings in the style of other common *nix hex dump tools.")
7832 (license license:bsd-3)))
7833
7834(define-public ghc-pretty-show
7835 (package
7836 (name "ghc-pretty-show")
7683a084 7837 (version "1.9.5")
dddbc90c
RV
7838 (source
7839 (origin
7840 (method url-fetch)
7841 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
7842 "pretty-show-" version ".tar.gz"))
7843 (sha256
7844 (base32
7683a084 7845 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
7846 (build-system haskell-build-system)
7847 (inputs
7848 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
7849 ("ghc-happy" ,ghc-happy)))
7850 (home-page "http://wiki.github.com/yav/pretty-show")
7851 (synopsis "Tools for working with derived `Show` instances")
7852 (description
7853 "This package provides a library and an executable for working with
7854derived @code{Show} instances. By using the library, derived @code{Show}
7855instances can be parsed into a generic data structure. The @code{ppsh} tool
7856uses the library to produce human-readable versions of @code{Show} instances,
7857which can be quite handy for debugging Haskell programs. We can also render
7858complex generic values into an interactive Html page, for easier
7859examination.")
7860 (license license:expat)))
7861
7862(define-public ghc-primitive
7863 (package
7864 (name "ghc-primitive")
7865 (version "0.6.4.0")
7866 (outputs '("out" "doc"))
7867 (source
7868 (origin
7869 (method url-fetch)
7870 (uri (string-append
7871 "https://hackage.haskell.org/package/primitive/primitive-"
7872 version
7873 ".tar.gz"))
7874 (sha256
7875 (base32
7876 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
7877 (build-system haskell-build-system)
7878 (home-page
7879 "https://github.com/haskell/primitive")
7880 (synopsis "Primitive memory-related operations")
7881 (description
7882 "This package provides various primitive memory-related operations.")
7883 (license license:bsd-3)))
7884
21f5b9a9
JS
7885(define-public ghc-process-extras
7886 (package
7887 (name "ghc-process-extras")
7888 (version "0.7.4")
7889 (source
7890 (origin
7891 (method url-fetch)
7892 (uri
7893 (string-append
7894 "https://hackage.haskell.org/package/process-extras/"
7895 "process-extras-" version ".tar.gz"))
7896 (sha256
7897 (base32
7898 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
7899 (build-system haskell-build-system)
7900 (inputs
7901 `(("ghc-data-default" ,ghc-data-default)
7902 ("ghc-generic-deriving" ,ghc-generic-deriving)
7903 ("ghc-hunit" ,ghc-hunit)
7904 ("ghc-listlike" ,ghc-listlike)))
7905 (home-page "https://github.com/seereason/process-extras")
7906 (synopsis "Extra tools for managing processes")
f74b6983 7907 (description "This package extends
21f5b9a9
JS
7908@url{http://hackage.haskell.org/package/process}. It allows you to read
7909process input and output as ByteStrings or Text, or write your own
7910ProcessOutput instance. It also provides lazy process input and output,
7911and a ProcessMaker class for more flexibility in the process creation
7912API.")
7913 (license license:expat)))
7914
dddbc90c
RV
7915(define-public ghc-profunctors
7916 (package
7917 (name "ghc-profunctors")
7918 (version "5.2.2")
7919 (source
7920 (origin
7921 (method url-fetch)
7922 (uri (string-append
7923 "https://hackage.haskell.org/package/profunctors/profunctors-"
7924 version
7925 ".tar.gz"))
7926 (sha256
7927 (base32
7928 "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9"))))
7929 (build-system haskell-build-system)
7930 (arguments
7931 `(#:cabal-revision
7932 ("2" "1ywlg9z8nlhd2avgb8c6gbkv8zyk7hvc25926bafyg0m0k8y1amq")))
7933 (inputs
7934 `(("ghc-base-orphans" ,ghc-base-orphans)
7935 ("ghc-bifunctors" ,ghc-bifunctors)
7936 ("ghc-comonad" ,ghc-comonad)
7937 ("ghc-contravariant" ,ghc-contravariant)
7938 ("ghc-distributive" ,ghc-distributive)
7939 ("ghc-semigroups" ,ghc-semigroups)
7940 ("ghc-tagged" ,ghc-tagged)))
7941 (home-page "https://github.com/ekmett/profunctors/")
7942 (synopsis "Profunctors for Haskell")
7943 (description "This library provides profunctors for Haskell.")
7944 (license license:bsd-3)))
7945
7946(define-public ghc-psqueues
7947 (package
7948 (name "ghc-psqueues")
7949 (version "0.2.7.0")
7950 (source
7951 (origin
7952 (method url-fetch)
7953 (uri (string-append "https://hackage.haskell.org/package/"
7954 "psqueues-" version "/"
7955 "psqueues-" version ".tar.gz"))
7956 (sha256
7957 (base32
7958 "1sjgc9bxh63kkdp59nbirx3xazr02ia5yhp4f4a0jnq1hj465wsc"))))
7959 (build-system haskell-build-system)
7960 (inputs
7961 `(("ghc-hashable" ,ghc-hashable)))
7962 (native-inputs
7963 `(("ghc-hunit" ,ghc-hunit)
7964 ("ghc-quickcheck" ,ghc-quickcheck)
7965 ("ghc-tagged" ,ghc-tagged)
7966 ("ghc-test-framework" ,ghc-test-framework)
7967 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7968 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7969 (home-page "https://github.com/jaspervdj/psqueues")
7970 (synopsis "Pure priority search queues")
7971 (description "The psqueues package provides
7972@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
7973three different flavors:
7974
7975@itemize
7976@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
7977fast insertion, deletion and lookup. This implementation is based on Ralf
7978Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
7979Implementation Technique for Priority Search Queues}.
7980
7981Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
7982PSQueue} library, although it is considerably faster and provides a slightly
7983different API.
7984
7985@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
7986key type to @code{Int} and uses a
7987@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
7988with an additional min-heap property.
7989
7990@item @code{HashPSQ k p v} is a fairly straightforward extension
7991of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
7992@code{IntPSQ}. If there are any hash collisions, it uses an
7993@code{OrdPSQ} to resolve those. The performance of this implementation
7994is comparable to that of @code{IntPSQ}, but it is more widely
7995applicable since the keys are not restricted to @code{Int},
7996but rather to any @code{Hashable} datatype.
7997@end itemize
7998
7999Each of the three implementations provides the same API, so they can
8000be used interchangeably.
8001
8002Typical applications of Priority Search Queues include:
8003
8004@itemize
8005@item Caches, and more specifically LRU Caches;
8006@item Schedulers;
8007@item Pathfinding algorithms, such as Dijkstra's and A*.
8008@end itemize")
8009 (license license:bsd-3)))
8010
8011(define-public ghc-random
8012 (package
8013 (name "ghc-random")
8014 (version "1.1")
8015 (outputs '("out" "doc"))
8016 (source
8017 (origin
8018 (method url-fetch)
8019 (uri (string-append
8020 "https://hackage.haskell.org/package/random/random-"
8021 version
8022 ".tar.gz"))
8023 (sha256
8024 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8025 (build-system haskell-build-system)
8026 (home-page "https://hackage.haskell.org/package/random")
8027 (synopsis "Random number library")
8028 (description "This package provides a basic random number generation
8029library, including the ability to split random number generators.")
8030 (license license:bsd-3)))
8031
8032(define-public ghc-raw-strings-qq
8033 (package
8034 (name "ghc-raw-strings-qq")
8035 (version "1.1")
8036 (source
8037 (origin
8038 (method url-fetch)
8039 (uri (string-append "https://hackage.haskell.org/package/"
8040 "raw-strings-qq/raw-strings-qq-"
8041 version ".tar.gz"))
8042 (sha256
8043 (base32
8044 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8045 (build-system haskell-build-system)
8046 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8047 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8048 (synopsis "Raw string literals for Haskell")
8049 (description
8050 "This package provides a quasiquoter for raw string literals, i.e. string
8051literals that don't recognise the standard escape sequences. Basically, they
8052make your code more readable by freeing you from the responsibility to escape
8053backslashes. They are useful when working with regular expressions,
8054DOS/Windows paths and markup languages (such as XML).")
8055 (license license:bsd-3)))
8056
8057(define-public ghc-readable
8058 (package
8059 (name "ghc-readable")
8060 (version "0.3.1")
8061 (source
8062 (origin
8063 (method url-fetch)
8064 (uri (string-append "https://hackage.haskell.org/package/"
8065 "readable/readable-" version ".tar.gz"))
8066 (sha256
8067 (base32
8068 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8069 (build-system haskell-build-system)
8070 (home-page "https://github.com/mightybyte/readable")
8071 (synopsis "Type class for reading from Text and ByteString")
8072 (description "This package provides a @code{Readable} type class for
8073reading data types from @code{ByteString} and @code{Text}. It also
8074includes efficient implementations for common data types.")
8075 (license license:bsd-3)))
8076
8077(define-public ghc-rebase
8078 (package
8079 (name "ghc-rebase")
8080 (version "1.2.4")
8081 (source
8082 (origin
8083 (method url-fetch)
8084 (uri (string-append "https://hackage.haskell.org/package/"
8085 "rebase-" version "/"
8086 "rebase-" version ".tar.gz"))
8087 (sha256
8088 (base32
8089 "1gah2qwfpzwamnikbc5h4nv6dgvv9h16di9ka7946za3nibyasya"))))
8090 (build-system haskell-build-system)
8091 (inputs `(("ghc-hashable" ,ghc-hashable)
8092 ("ghc-vector" ,ghc-vector)
8093 ("ghc-unordered-containers" ,ghc-unordered-containers)
8094 ("ghc-scientific" ,ghc-scientific)
8095 ("ghc-uuid" ,ghc-uuid)
8096 ("ghc-dlist" ,ghc-dlist)
8097 ("ghc-void" ,ghc-void)
8098 ("ghc-bifunctors" ,ghc-bifunctors)
8099 ("ghc-profunctors" ,ghc-profunctors)
8100 ("ghc-contravariant" ,ghc-contravariant)
8101 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8102 ("ghc-semigroups" ,ghc-semigroups)
8103 ("ghc-either" ,ghc-either)
8104 ("ghc-fail" ,ghc-fail)
8105 ("ghc-base-prelude" ,ghc-base-prelude)))
8106 (home-page "https://github.com/nikita-volkov/rebase")
8107 (synopsis "Progressive alternative to the base package
8108for Haskell")
8109 (description "This Haskell package is intended for those who are
8110tired of keeping long lists of dependencies to the same essential libraries
8111in each package as well as the endless imports of the same APIs all over again.
8112
8113It also supports the modern tendencies in the language.
8114
8115To solve those problems this package does the following:
8116
8117@itemize
8118@item Reexport the original APIs under the @code{Rebase} namespace.
8119
8120@item Export all the possible non-conflicting symbols from the
8121@code{Rebase.Prelude} module.
8122
8123@item Give priority to the modern practices in the conflicting cases.
8124@end itemize
8125
8126The policy behind the package is only to reexport the non-ambiguous and
8127non-controversial APIs, which the community has obviously settled on.
8128The package is intended to rapidly evolve with the contribution from
8129the community, with the missing features being added with pull-requests.")
8130 (license license:expat)))
8131
8132(define-public ghc-reducers
8133 (package
8134 (name "ghc-reducers")
8135 (version "3.12.3")
8136 (source
8137 (origin
8138 (method url-fetch)
8139 (uri (string-append
8140 "https://hackage.haskell.org/package/reducers/reducers-"
8141 version
8142 ".tar.gz"))
8143 (sha256
8144 (base32
8145 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8146 (build-system haskell-build-system)
8147 (inputs
8148 `(("ghc-fingertree" ,ghc-fingertree)
8149 ("ghc-hashable" ,ghc-hashable)
8150 ("ghc-unordered-containers" ,ghc-unordered-containers)
8151 ("ghc-semigroupoids" ,ghc-semigroupoids)
8152 ("ghc-semigroups" ,ghc-semigroups)))
8153 (home-page "https://github.com/ekmett/reducers/")
8154 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8155 (description "This library provides various semigroups, specialized
8156containers and a general map/reduce framework for Haskell.")
8157 (license license:bsd-3)))
8158
8159(define-public ghc-refact
8160 (package
8161 (name "ghc-refact")
8162 (version "0.3.0.2")
8163 (source
8164 (origin
8165 (method url-fetch)
8166 (uri (string-append "https://hackage.haskell.org/package/"
8167 "refact/refact-"
8168 version ".tar.gz"))
8169 (sha256
8170 (base32
8171 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8172 (build-system haskell-build-system)
8173 (home-page "http://hackage.haskell.org/package/refact")
8174 (synopsis "Specify refactorings to perform with apply-refact")
8175 (description
8176 "This library provides a datatype which can be interpreted by
8177@code{apply-refact}. It exists as a separate library so that applications can
8178specify refactorings without depending on GHC.")
8179 (license license:bsd-3)))
8180
8181(define-public ghc-reflection
8182 (package
8183 (name "ghc-reflection")
8184 (version "2.1.4")
8185 (source
8186 (origin
8187 (method url-fetch)
8188 (uri (string-append
8189 "https://hackage.haskell.org/package/reflection/reflection-"
8190 version
8191 ".tar.gz"))
8192 (sha256
8193 (base32
8194 "0kf4a5ijw6jfnfibjcrpdy9vzh1n6v2pxia8dhyyqdissiwc8bzj"))))
8195 (build-system haskell-build-system)
8196 (inputs `(("ghc-tagged" ,ghc-tagged)))
8197 (home-page "https://github.com/ekmett/reflection")
8198 (synopsis "Reify arbitrary terms into types that can be reflected back
8199into terms")
8200 (description "This package addresses the 'configuration problem' which is
8201propagating configurations that are available at run-time, allowing multiple
8202configurations to coexist without resorting to mutable global variables or
8203@code{System.IO.Unsafe.unsafePerformIO}.")
8204 (license license:bsd-3)))
8205
8206(define-public ghc-regex
8207 (package
8208 (name "ghc-regex")
8209 (version "1.0.1.3")
8210 (source
8211 (origin
8212 (method url-fetch)
8213 (uri (string-append "https://hackage.haskell.org/package/regex/"
8214 "regex-" version ".tar.gz"))
8215 (sha256
8216 (base32
8217 "1sjkpkgv4phy5b5v2lr89x4vx4dh44pj0sbvlsp6n86w9v6v4jwb"))))
8218 (build-system haskell-build-system)
8219 (arguments
8220 `(#:phases
8221 (modify-phases %standard-phases
8222 (add-after 'unpack 'relax-dependencies
8223 (lambda _
8224 (substitute* "regex.cabal"
8225 (("base-compat.*>=.*0.6.*")
8226 "base-compat >= 0.6\n")
8227 (("template-haskell.*>=.*2.7.*")
8228 "template-haskell >= 2.7\n"))
8229 #t)))))
8230 (inputs
8231 `(("ghc-base-compat" ,ghc-base-compat)
8232 ("ghc-hashable" ,ghc-hashable)
8233 ("ghc-regex-base" ,ghc-regex-base)
8234 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8235 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8236 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8237 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8238 ("ghc-unordered-containers" ,ghc-unordered-containers)
8239 ("ghc-utf8-string" ,ghc-utf8-string)))
8240 (home-page "http://regex.uk")
8241 (synopsis "Toolkit for regex-base")
8242 (description
8243 "This package provides a regular expression toolkit for @code{regex-base}
8244with compile-time checking of regular expression syntax, data types for
8245matches and captures, a text replacement toolkit, portable options, high-level
8246AWK-like tools for building text processing apps, regular expression macros
8247with parsers and test bench, comprehensive documentation, tutorials and
8248copious examples.")
8249 (license license:bsd-3)))
8250
8251(define-public ghc-regex-applicative
8252 (package
8253 (name "ghc-regex-applicative")
8254 (version "0.3.3")
8255 (source
8256 (origin
8257 (method url-fetch)
8258 (uri (string-append
8259 "https://hackage.haskell.org/package/regex-applicative/"
8260 "regex-applicative-" version ".tar.gz"))
8261 (sha256
8262 (base32
8263 "1riv7jqf26lbv4rm54sd6mrx8xdh4dvh4xbzymzdfdw13k6a4nb6"))))
8264 (build-system haskell-build-system)
8265 (inputs
8266 `(("ghc-smallcheck" ,ghc-smallcheck)
8267 ("ghc-tasty" ,ghc-tasty)
8268 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8269 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8270 (home-page "https://github.com/feuerbach/regex-applicative")
8271 (synopsis "Regex-based parsing with applicative interface")
8272 (description
8273 "@code{regex-applicative} is a Haskell library for parsing using
8274regular expressions. Parsers can be built using Applicative interface.")
8275 (license license:expat)))
8276
8277(define-public ghc-regex-base
8278 (package
8279 (name "ghc-regex-base")
8280 (version "0.93.2")
8281 (source
8282 (origin
8283 (method url-fetch)
8284 (uri (string-append
8285 "https://hackage.haskell.org/package/regex-base/regex-base-"
8286 version
8287 ".tar.gz"))
8288 (sha256
8289 (base32
8290 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8291 (build-system haskell-build-system)
8292 (home-page
8293 "https://sourceforge.net/projects/lazy-regex")
8294 (synopsis "Replaces/Enhances Text.Regex")
8295 (description "@code{Text.Regex.Base} provides the interface API for
8296regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8297 (license license:bsd-3)))
8298
8299(define-public ghc-regex-compat
8300 (package
8301 (name "ghc-regex-compat")
8302 (version "0.95.1")
8303 (source
8304 (origin
8305 (method url-fetch)
8306 (uri (string-append
8307 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8308 version
8309 ".tar.gz"))
8310 (sha256
8311 (base32
8312 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8313 (build-system haskell-build-system)
8314 (inputs
8315 `(("ghc-regex-base" ,ghc-regex-base)
8316 ("ghc-regex-posix" ,ghc-regex-posix)))
8317 (home-page "https://sourceforge.net/projects/lazy-regex")
8318 (synopsis "Replaces/Enhances Text.Regex")
8319 (description "This library provides one module layer over
8320@code{regex-posix} to replace @code{Text.Regex}.")
8321 (license license:bsd-3)))
8322
8323(define-public ghc-regex-compat-tdfa
8324 (package
8325 (name "ghc-regex-compat-tdfa")
8326 (version "0.95.1.4")
8327 (source
8328 (origin
8329 (method url-fetch)
8330 (uri (string-append
8331 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8332 version ".tar.gz"))
8333 (sha256
8334 (base32
8335 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8336 (build-system haskell-build-system)
8337 (inputs
8338 `(("ghc-regex-base" ,ghc-regex-base)
8339 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8340 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8341 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8342 (description
8343 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8344@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8345This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8346this problem.")
8347 (license license:bsd-3)))
8348
8349(define-public ghc-regex-pcre-builtin
8350 (package
8351 (name "ghc-regex-pcre-builtin")
ee946143 8352 (version "0.94.5.8.8.35")
dddbc90c
RV
8353 (source (origin
8354 (method url-fetch)
8355 (uri (string-append "https://hackage.haskell.org/package/"
8356 "regex-pcre-builtin/regex-pcre-builtin-"
8357 version ".tar.gz"))
8358 (sha256
8359 (base32
ee946143 8360 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
8361 (build-system haskell-build-system)
8362 (inputs
8363 `(("ghc-regex-base" ,ghc-regex-base)))
8364 (home-page "https://hackage.haskell.org/package/regex-pcre")
8365 (synopsis "Enhancement of the builtin Text.Regex library")
8366 (description
8367 "This package is an enhancement of the @code{Text.Regex} library,
8368providing the PCRE backend to accompany regex-base, with bundled code from
8369@url{https://www.pcre.org}.")
8370 (license license:bsd-3)))
8371
8372(define-public ghc-regex-posix
8373 (package
8374 (name "ghc-regex-posix")
8375 (version "0.95.2")
8376 (source
8377 (origin
8378 (method url-fetch)
8379 (uri (string-append
8380 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8381 version
8382 ".tar.gz"))
8383 (sha256
8384 (base32
8385 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8386 (build-system haskell-build-system)
8387 (inputs
8388 `(("ghc-regex-base" ,ghc-regex-base)))
8389 (home-page "https://sourceforge.net/projects/lazy-regex")
8390 (synopsis "POSIX regular expressions for Haskell")
8391 (description "This library provides the POSIX regex backend used by the
8392Haskell library @code{regex-base}.")
8393 (license license:bsd-3)))
8394
8395(define-public ghc-regex-tdfa
8396 (package
8397 (name "ghc-regex-tdfa")
ce684db0 8398 (version "1.2.3.2")
dddbc90c
RV
8399 (source
8400 (origin
8401 (method url-fetch)
8402 (uri (string-append
8403 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8404 version ".tar.gz"))
8405 (sha256
8406 (base32
ce684db0 8407 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
8408 (build-system haskell-build-system)
8409 (inputs
8410 `(("ghc-regex-base" ,ghc-regex-base)))
8411 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8412 (synopsis "POSIX extended regular expressions in Haskell.")
8413 (description
8414 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8415extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8416inspired by libtre.")
8417 (license license:bsd-3)))
8418
8419(define-public ghc-regex-tdfa-text
8420 (package
8421 (name "ghc-regex-tdfa-text")
8422 (version "1.0.0.3")
8423 (source
8424 (origin
8425 (method url-fetch)
8426 (uri (string-append
8427 "https://hackage.haskell.org/package/regex-tdfa-text/"
8428 "regex-tdfa-text-" version ".tar.gz"))
8429 (sha256
8430 (base32
8431 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8432 (build-system haskell-build-system)
8433 (inputs
8434 `(("ghc-regex-base" ,ghc-regex-base)
8435 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8436 (home-page
8437 "http://hackage.haskell.org/package/regex-tdfa-text")
8438 (synopsis "Text interface for regex-tdfa")
8439 (description
8440 "This provides an extra text interface for regex-tdfa.")
8441 (license license:bsd-3)))
8442
8443(define-public ghc-rerebase
8444 (package
8445 (name "ghc-rerebase")
8446 (version "1.2.2")
8447 (source
8448 (origin
8449 (method url-fetch)
8450 (uri (string-append
8451 "https://hackage.haskell.org/package/rerebase/rerebase-"
8452 version ".tar.gz"))
8453 (sha256
8454 (base32
8455 "11v6rmz7ql2rdx6mhb3lsal952lwihclfhh0m7fcnii5br0906ks"))))
8456 (build-system haskell-build-system)
8457 (inputs
8458 `(("ghc-rebase" ,ghc-rebase)))
8459 (home-page "https://github.com/nikita-volkov/rerebase")
8460 (synopsis "Reexports from ``base'' with many other standard libraries")
8461 (description "A rich drop-in replacement for @code{base}. For details and
8462documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8463the project's home page}.")
8464 (license license:expat)))
8465
8466(define-public ghc-resolv
8467 (package
8468 (name "ghc-resolv")
8469 (version "0.1.1.1")
8470 (source
8471 (origin
8472 (method url-fetch)
8473 (uri (string-append
8474 "https://hackage.haskell.org/package/resolv/resolv-"
8475 version ".tar.gz"))
8476 (sha256
8477 (base32
8478 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
8479 (build-system haskell-build-system)
8480 (arguments
8481 `(#:cabal-revision
8482 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
8483 #:tests? #f)) ; The required test frameworks are too old.
8484 (inputs
8485 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8486 (home-page "https://github.com/haskell/hackage-security")
8487 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8488 (description "This package implements an API for accessing the
8489@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8490resolver service via the standard @code{libresolv} system library (whose
8491API is often available directly via the standard @code{libc} C library) on
8492Unix systems.")
8493 (license license:gpl3)))
8494
8495(define-public ghc-resource-pool
8496 (package
8497 (name "ghc-resource-pool")
8498 (version "0.2.3.2")
8499 (source
8500 (origin
8501 (method url-fetch)
8502 (uri (string-append "https://hackage.haskell.org/package/"
8503 "resource-pool-" version "/"
8504 "resource-pool-" version ".tar.gz"))
8505 (sha256
8506 (base32
8507 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8508 (build-system haskell-build-system)
8509 (inputs `(("ghc-hashable" ,ghc-hashable)
8510 ("ghc-monad-control" ,ghc-monad-control)
8511 ("ghc-transformers-base" ,ghc-transformers-base)
8512 ("ghc-vector" ,ghc-vector)))
8513 (home-page "https://github.com/bos/pool")
8514 (synopsis "Striped resource pooling implementation in Haskell")
8515 (description "This Haskell package provides striped pooling abstraction
8516for managing flexibly-sized collections of resources such as database
8517connections.")
8518 (license license:bsd-3)))
8519
8520(define-public ghc-resourcet
8521 (package
8522 (name "ghc-resourcet")
8523 (version "1.2.1")
8524 (source
8525 (origin
8526 (method url-fetch)
8527 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8528 "resourcet-" version ".tar.gz"))
8529 (sha256
8530 (base32
8531 "0rzjzh34s36ssign7akqjnwnjxf11c3511wk7ky0xxy0dqmc2rg7"))))
8532 (build-system haskell-build-system)
8533 (inputs
8534 `(("ghc-transformers-base" ,ghc-transformers-base)
8535 ("ghc-monad-control" ,ghc-monad-control)
8536 ("ghc-transformers-compat" ,ghc-transformers-compat)
8537 ("ghc-mmorph" ,ghc-mmorph)
8538 ("ghc-exceptions" ,ghc-exceptions)
8539 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8540 (native-inputs
8541 `(("ghc-lifted-base" ,ghc-lifted-base)
8542 ("ghc-hspec" ,ghc-hspec)))
8543 (home-page "https://github.com/snoyberg/conduit")
8544 (synopsis "Deterministic allocation and freeing of scarce resources")
8545 (description "ResourceT is a monad transformer which creates a region of
8546code where you can safely allocate resources.")
8547 (license license:bsd-3)))
8548
8549(define-public ghc-rfc5051
8550 (package
8551 (name "ghc-rfc5051")
ec42ab7c 8552 (version "0.1.0.4")
dddbc90c
RV
8553 (source
8554 (origin
8555 (method url-fetch)
8556 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8557 "rfc5051-" version ".tar.gz"))
8558 (sha256
8559 (base32
ec42ab7c 8560 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
8561 (build-system haskell-build-system)
8562 (home-page "https://hackage.haskell.org/package/rfc5051")
8563 (synopsis "Simple unicode collation as per RFC5051")
8564 (description
8565 "This library implements @code{unicode-casemap}, the simple, non
8566locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8567unicode collation can be done using @code{text-icu}, but that is a big
8568dependency that depends on a large C library, and @code{rfc5051} might be
8569better for some purposes.")
8570 (license license:bsd-3)))
8571
8572(define-public ghc-rio
8573 (package
8574 (name "ghc-rio")
8575 (version "0.1.5.0")
8576 (source
8577 (origin
8578 (method url-fetch)
8579 (uri (string-append
8580 "https://hackage.haskell.org/package/rio/rio-"
8581 version ".tar.gz"))
8582 (sha256
8583 (base32
8584 "064h8a4hp53a479d3ak0vmqbx8hi0cpg7zn4wp23rjy26dka8p7g"))))
8585 (build-system haskell-build-system)
8586 (inputs
8587 `(("ghc-exceptions" ,ghc-exceptions)
8588 ("ghc-hashable" ,ghc-hashable)
8589 ("ghc-microlens" ,ghc-microlens)
8590 ("ghc-primitive" ,ghc-primitive)
8591 ("ghc-typed-process" ,ghc-typed-process)
8592 ("ghc-unliftio" ,ghc-unliftio)
8593 ("ghc-unordered-containers" ,ghc-unordered-containers)
8594 ("ghc-vector" ,ghc-vector)))
8595 (native-inputs
8596 `(("ghc-hspec" ,ghc-hspec)
8597 ("hspec-discover" ,hspec-discover)))
8598 (home-page "https://github.com/commercialhaskell/rio#readme")
8599 (synopsis "A standard library for Haskell")
8600 (description "This package works as a prelude replacement for Haskell,
8601providing more functionality and types out of the box than the standard
8602prelude (such as common data types like @code{ByteString} and
8603@code{Text}), as well as removing common ``gotchas'', like partial
8604functions and lazy I/O. The guiding principle here is:
8605@itemize
8606@item If something is safe to use in general and has no expected naming
8607conflicts, expose it.
8608@item If something should not always be used, or has naming conflicts,
8609expose it from another module in the hierarchy.
8610@end itemize")
8611 (license license:expat)))
8612
8613(define-public ghc-safe
8614 (package
8615 (name "ghc-safe")
8616 (version "0.3.17")
8617 (source
8618 (origin
8619 (method url-fetch)
8620 (uri (string-append
8621 "https://hackage.haskell.org/package/safe/safe-"
8622 version
8623 ".tar.gz"))
8624 (sha256
8625 (base32
8626 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8627 (build-system haskell-build-system)
8628 (native-inputs
8629 `(("ghc-quickcheck" ,ghc-quickcheck)))
8630 (home-page "https://github.com/ndmitchell/safe#readme")
8631 (synopsis "Library of safe (exception free) functions")
8632 (description "This library provides wrappers around @code{Prelude} and
8633@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8634exceptions.")
8635 (license license:bsd-3)))
8636
8637(define-public ghc-safe-exceptions
8638 (package
8639 (name "ghc-safe-exceptions")
8640 (version "0.1.7.0")
8641 (source
8642 (origin
8643 (method url-fetch)
8644 (uri (string-append "https://hackage.haskell.org/package/"
8645 "safe-exceptions/safe-exceptions-"
8646 version ".tar.gz"))
8647 (sha256
8648 (base32
8649 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8650 (build-system haskell-build-system)
8651 (arguments
8652 '(#:cabal-revision
8653 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8654 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8655 (native-inputs
8656 `(("ghc-hspec" ,ghc-hspec)
8657 ("ghc-void" ,ghc-void)
8658 ("hspec-discover" ,hspec-discover)))
8659 (home-page "https://github.com/fpco/safe-exceptions")
8660 (synopsis "Safe, consistent, and easy exception handling")
8661 (description "Runtime exceptions - as exposed in @code{base} by the
8662@code{Control.Exception} module - have long been an intimidating part of the
8663Haskell ecosystem. This package is intended to overcome this. It provides a
8664safe and simple API on top of the existing exception handling machinery. The
8665API is equivalent to the underlying implementation in terms of power but
8666encourages best practices to minimize the chances of getting the exception
8667handling wrong.")
8668 (license license:expat)))
8669
8670(define-public ghc-safeio
8671 (package
8672 (name "ghc-safeio")
8673 (version "0.0.5.0")
8674 (source
8675 (origin
8676 (method url-fetch)
8677 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8678 "safeio-" version ".tar.gz"))
8679 (sha256
8680 (base32
8681 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8682 (build-system haskell-build-system)
8683 (inputs
8684 `(("ghc-conduit" ,ghc-conduit)
8685 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8686 ("ghc-exceptions" ,ghc-exceptions)
8687 ("ghc-resourcet" ,ghc-resourcet)))
8688 (native-inputs
8689 `(("ghc-hunit" ,ghc-hunit)
8690 ("ghc-test-framework" ,ghc-test-framework)
8691 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8692 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8693 (home-page "https://github.com/luispedro/safeio")
8694 (synopsis "Write output to disk atomically")
8695 (description
8696 "This package implements utilities to perform atomic output so as to
8697avoid the problem of partial intermediate files.")
8698 (license license:expat)))
8699
8700(define-public ghc-safesemaphore
8701 (package
8702 (name "ghc-safesemaphore")
8703 (version "0.10.1")
8704 (source
8705 (origin
8706 (method url-fetch)
8707 (uri (string-append "https://hackage.haskell.org/package/"
8708 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8709 (sha256
8710 (base32
8711 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8712 (build-system haskell-build-system)
8713 (native-inputs
8714 `(("ghc-hunit" ,ghc-hunit)))
8715 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8716 (synopsis "Exception safe semaphores")
8717 (description "This library provides exception safe semaphores that can be
8718used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8719are not exception safe and can be broken by @code{killThread}.")
8720 (license license:bsd-3)))
8721
8722(define-public ghc-sandi
8723 (package
8724 (name "ghc-sandi")
8725 (version "0.4.2")
8726 (source
8727 (origin
8728 (method url-fetch)
8729 (uri (string-append
8730 "https://hackage.haskell.org/package/sandi/sandi-"
8731 version ".tar.gz"))
8732 (sha256
8733 (base32
8734 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8735 (build-system haskell-build-system)
8736 (inputs
8737 `(("ghc-stringsearch" ,ghc-stringsearch)
8738 ("ghc-conduit" ,ghc-conduit)
8739 ("ghc-exceptions" ,ghc-exceptions)
8740 ("ghc-hunit" ,ghc-hunit)
8741 ("ghc-tasty" ,ghc-tasty)
8742 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8743 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8744 ("ghc-tasty-th" ,ghc-tasty-th)))
8745 (home-page "https://hackage.haskell.org/package/sandi")
8746 (synopsis "Data encoding library")
8747 (description "Reasonably fast data encoding library.")
8748 (license license:bsd-3)))
8749
8750(define-public ghc-scientific
8751 (package
8752 (name "ghc-scientific")
8753 (version "0.3.6.2")
8754 (source
8755 (origin
8756 (method url-fetch)
8757 (uri (string-append
8758 "https://hackage.haskell.org/package/scientific/scientific-"
8759 version
8760 ".tar.gz"))
8761 (sha256
8762 (base32
8763 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8764 (build-system haskell-build-system)
8765 (inputs
8766 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8767 ("ghc-hashable" ,ghc-hashable)
8768 ("ghc-primitive" ,ghc-primitive)))
8769 (native-inputs
8770 `(("ghc-tasty" ,ghc-tasty)
8771 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8772 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8773 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8774 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8775 ("ghc-smallcheck" ,ghc-smallcheck)
8776 ("ghc-quickcheck" ,ghc-quickcheck)))
8777 (home-page "https://github.com/basvandijk/scientific")
8778 (synopsis "Numbers represented using scientific notation")
8779 (description "This package provides @code{Data.Scientific}, which provides
8780the number type @code{Scientific}. Scientific numbers are arbitrary precision
8781and space efficient. They are represented using
8782@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
8783notation}.")
8784 (license license:bsd-3)))
8785
8786(define-public ghc-scientific-bootstrap
8787 (package
8788 (inherit ghc-scientific)
8789 (name "ghc-scientific-bootstrap")
8790 (arguments `(#:tests? #f))
8791 (inputs
8792 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
8793 ("ghc-hashable" ,ghc-hashable)
8794 ("ghc-primitive" ,ghc-primitive)))
8795 (native-inputs '())
799d8d3c 8796 (properties '((hidden? #t)))))
dddbc90c
RV
8797
8798(define-public ghc-sdl
8799 (package
8800 (name "ghc-sdl")
8801 (version "0.6.7.0")
8802 (source
8803 (origin
8804 (method url-fetch)
8805 (uri (string-append
8806 "https://hackage.haskell.org/package/SDL/SDL-"
8807 version
8808 ".tar.gz"))
8809 (sha256
8810 (base32
8811 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
8812 (build-system haskell-build-system)
8813 (inputs
8814 `(("sdl" ,sdl)))
8815 (home-page "https://hackage.haskell.org/package/SDL")
8816 (synopsis "LibSDL for Haskell")
8817 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
8818multimedia library designed to provide low level access to audio, keyboard,
8819mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
8820by MPEG playback software, emulators, and many popular games, including the
8821award winning Linux port of \"Civilization: Call To Power.\"")
8822 (license license:bsd-3)))
8823
1874cdc1
RV
8824(define-public ghc-sdl2
8825 (package
8826 (name "ghc-sdl2")
8827 (version "2.4.1.0")
8828 (source
8829 (origin
8830 (method url-fetch)
8831 (uri (string-append "https://hackage.haskell.org/package/"
8832 "sdl2/sdl2-" version ".tar.gz"))
8833 (sha256
8834 (base32
8835 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
8836 (build-system haskell-build-system)
8837 (arguments '(#:tests? #f)) ; tests require graphical environment
8838 (inputs
8839 `(("ghc-exceptions" ,ghc-exceptions)
8840 ("ghc-linear" ,ghc-linear)
8841 ("ghc-statevar" ,ghc-statevar)
8842 ("ghc-vector" ,ghc-vector)
8843 ("sdl2" ,sdl2)))
8844 (native-inputs
8845 `(("ghc-weigh" ,ghc-weigh)
8846 ("pkg-config" ,pkg-config)))
8847 (home-page "http://hackage.haskell.org/package/sdl2")
8848 (synopsis "High- and low-level bindings to the SDL library")
8849 (description
8850 "This package contains bindings to the SDL 2 library, in both high- and
8851low-level forms. The @code{SDL} namespace contains high-level bindings, where
8852enumerations are split into sum types, and we perform automatic
8853error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
8854translation of the C API into Haskell FFI calls. As such, this does not
8855contain sum types nor error checking. Thus this namespace is suitable for
8856building your own abstraction over SDL, but is not recommended for day-to-day
8857programming.")
8858 (license license:bsd-3)))
8859
8860(define-public ghc-sdl2-image
8861 (package
8862 (name "ghc-sdl2-image")
8863 (version "2.0.0")
8864 (source
8865 (origin
8866 (method url-fetch)
8867 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
8868 "sdl2-image-" version ".tar.gz"))
8869 (sha256
8870 (base32
8871 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
8872 (build-system haskell-build-system)
8873 (inputs
8874 `(("ghc-sdl2" ,ghc-sdl2)
8875 ("sdl2-image" ,sdl2-image)))
8876 (native-inputs
8877 `(("pkg-config" ,pkg-config)))
8878 (home-page "http://hackage.haskell.org/package/sdl2-image")
8879 (synopsis "Bindings to SDL2_image")
8880 (description "This package provides Haskell bindings to
8881@code{SDL2_image}.")
8882 (license license:expat)))
8883
8884(define-public ghc-sdl2-mixer
8885 (package
8886 (name "ghc-sdl2-mixer")
8887 (version "1.1.0")
8888 (source
8889 (origin
8890 (method url-fetch)
8891 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
8892 "sdl2-mixer-" version ".tar.gz"))
8893 (sha256
8894 (base32
8895 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
8896 (build-system haskell-build-system)
8897 (inputs
8898 `(("ghc-data-default-class" ,ghc-data-default-class)
8899 ("ghc-lifted-base" ,ghc-lifted-base)
8900 ("ghc-monad-control" ,ghc-monad-control)
8901 ("ghc-sdl2" ,ghc-sdl2)
8902 ("ghc-vector" ,ghc-vector)
8903 ("sdl2-mixer" ,sdl2-mixer)))
8904 (native-inputs
8905 `(("pkg-config" ,pkg-config)))
8906 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
8907 (synopsis "Bindings to SDL2 mixer")
8908 (description "This package provides Haskell bindings to
8909@code{SDL2_mixer}.")
8910 (license license:bsd-3)))
8911
dddbc90c
RV
8912(define-public ghc-sdl-image
8913 (package
8914 (name "ghc-sdl-image")
8915 (version "0.6.2.0")
8916 (source
8917 (origin
8918 (method url-fetch)
8919 (uri (string-append
8920 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
8921 version
8922 ".tar.gz"))
8923 (sha256
8924 (base32
8925 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
8926 (build-system haskell-build-system)
8927 (arguments
8928 `(#:configure-flags
8929 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
8930 (sdl-image-include (string-append sdl-image "/include/SDL")))
8931 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
8932 (inputs
8933 `(("ghc-sdl" ,ghc-sdl)
8934 ("sdl-image" ,sdl-image)))
8935 (home-page "https://hackage.haskell.org/package/SDL-image")
8936 (synopsis "Haskell bindings to libSDL_image")
8937 (description "SDL_image is an image file loading library. It loads images
8938as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
8939PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
8940 (license license:bsd-3)))
8941
8942(define-public ghc-sdl-mixer
8943 (package
8944 (name "ghc-sdl-mixer")
8945 (version "0.6.3.0")
8946 (source
8947 (origin
8948 (method url-fetch)
8949 (uri (string-append
8950 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
8951 version
8952 ".tar.gz"))
8953 (sha256
8954 (base32
8955 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
8956 (build-system haskell-build-system)
8957 (arguments
8958 `(#:configure-flags
8959 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
8960 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
8961 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
8962 (inputs
8963 `(("ghc-sdl" ,ghc-sdl)
8964 ("sdl-mixer" ,sdl-mixer)))
8965 (home-page "https://hackage.haskell.org/package/SDL-mixer")
8966 (synopsis "Haskell bindings to libSDL_mixer")
8967 (description "SDL_mixer is a sample multi-channel audio mixer library. It
8968supports any number of simultaneously playing channels of 16 bit stereo audio,
8969plus a single channel of music, mixed by the popular MikMod MOD, Timidity
8970MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
8971 (license license:bsd-3)))
8972
8973(define-public ghc-securemem
8974 (package
8975 (name "ghc-securemem")
8976 (version "0.1.10")
8977 (source
8978 (origin
8979 (method url-fetch)
8980 (uri (string-append "https://hackage.haskell.org/package/"
8981 "securemem-" version "/"
8982 "securemem-" version ".tar.gz"))
8983 (sha256
8984 (base32
8985 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
8986 (build-system haskell-build-system)
8987 (inputs `(("ghc-byteable" ,ghc-byteable)
8988 ("ghc-memory" ,ghc-memory)))
8989 (home-page "https://github.com/vincenthz/hs-securemem")
8990 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
8991Haskell")
8992 (description "SecureMem is similar to ByteString, except that it provides
8993a memory chunk that will be auto-scrubbed after it run out of scope.")
8994 (license license:bsd-3)))
8995
8996(define-public ghc-semigroupoids
8997 (package
8998 (name "ghc-semigroupoids")
8999 (version "5.2.2")
9000 (source
9001 (origin
9002 (method url-fetch)
9003 (uri (string-append
9004 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9005 version
9006 ".tar.gz"))
9007 (sha256
9008 (base32
9009 "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
9010 (build-system haskell-build-system)
9011 (arguments
9012 `(#:cabal-revision
9013 ("4" "0pqfrxzypjq6z8lgdkzq4vhcyqkpk5326hny0r6snpc3gm78r4ij")))
9014 (inputs
9015 `(("ghc-base-orphans" ,ghc-base-orphans)
9016 ("ghc-transformers-compat" ,ghc-transformers-compat)
9017 ("ghc-bifunctors" ,ghc-bifunctors)
9018 ("ghc-comonad" ,ghc-comonad)
9019 ("ghc-contravariant" ,ghc-contravariant)
9020 ("ghc-distributive" ,ghc-distributive)
9021 ("ghc-hashable" ,ghc-hashable)
9022 ("ghc-semigroups" ,ghc-semigroups)
9023 ("ghc-tagged" ,ghc-tagged)
9024 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9025 (native-inputs
9026 `(("cabal-doctest" ,cabal-doctest)
9027 ("ghc-doctest" ,ghc-doctest)))
9028 (home-page "https://github.com/ekmett/semigroupoids")
9029 (synopsis "Semigroupoids operations for Haskell")
9030 (description "This library provides a wide array of (semi)groupoids and
9031operations for working with them. A @code{Semigroupoid} is a @code{Category}
9032without the requirement of identity arrows for every object in the category.
9033A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9034Finally, to work with these weaker structures it is beneficial to have
9035containers that can provide stronger guarantees about their contents, so
9036versions of @code{Traversable} and @code{Foldable} that can be folded with
9037just a @code{Semigroup} are added.")
9038 (license license:bsd-3)))
9039
9040(define-public ghc-semigroups
9041 (package
9042 (name "ghc-semigroups")
9043 (version "0.18.5")
9044 (source
9045 (origin
9046 (method url-fetch)
9047 (uri (string-append
9048 "https://hackage.haskell.org/package/semigroups/semigroups-"
9049 version
9050 ".tar.gz"))
9051 (sha256
9052 (base32
9053 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9054 (build-system haskell-build-system)
9055 (inputs
9056 `(("ghc-nats" ,ghc-nats)
9057 ("ghc-tagged" ,ghc-tagged)
9058 ("ghc-unordered-containers" ,ghc-unordered-containers)
9059 ("ghc-hashable" ,ghc-hashable)))
9060 (home-page "https://github.com/ekmett/semigroups/")
9061 (synopsis "Semigroup operations for Haskell")
9062 (description "This package provides semigroups for Haskell. In
9063mathematics, a semigroup is an algebraic structure consisting of a set
9064together with an associative binary operation. A semigroup generalizes a
9065monoid in that there might not exist an identity element. It
9066also (originally) generalized a group (a monoid with all inverses) to a type
9067where every element did not have to have an inverse, thus the name
9068semigroup.")
9069 (license license:bsd-3)))
9070
9071(define-public ghc-semigroups-bootstrap
9072 (package
9073 (inherit ghc-semigroups)
9074 (name "ghc-semigroups-bootstrap")
9075 (inputs
9076 `(("ghc-nats" ,ghc-nats-bootstrap)
9077 ("ghc-tagged" ,ghc-tagged)
9078 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9079 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9080 (properties '((hidden? #t)))))
dddbc90c
RV
9081
9082(define-public ghc-setenv
9083 (package
9084 (name "ghc-setenv")
9085 (version "0.1.1.3")
9086 (source
9087 (origin
9088 (method url-fetch)
9089 (uri (string-append
9090 "https://hackage.haskell.org/package/setenv/setenv-"
9091 version
9092 ".tar.gz"))
9093 (sha256
9094 (base32
9095 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9096 (build-system haskell-build-system)
9097 (home-page "https://hackage.haskell.org/package/setenv")
9098 (synopsis "Library for setting environment variables")
9099 (description "This package provides a Haskell library for setting
9100environment variables.")
9101 (license license:expat)))
9102
9103(define-public ghc-setlocale
9104 (package
9105 (name "ghc-setlocale")
9d7cfc9b 9106 (version "1.0.0.9")
dddbc90c
RV
9107 (source (origin
9108 (method url-fetch)
9109 (uri (string-append
9110 "https://hackage.haskell.org/package/setlocale-"
9111 version "/setlocale-" version ".tar.gz"))
9112 (sha256
9113 (base32
9d7cfc9b 9114 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
9115 (build-system haskell-build-system)
9116 (home-page "https://hackage.haskell.org/package/setlocale")
9117 (synopsis "Haskell bindings to setlocale")
9118 (description "This package provides Haskell bindings to the
9119@code{setlocale} C function.")
9120 (license license:bsd-3)))
9121
9122(define-public ghc-shakespeare
9123 (package
9124 (name "ghc-shakespeare")
9125 (version "2.0.15")
9126 (source
9127 (origin
9128 (method url-fetch)
9129 (uri (string-append "https://hackage.haskell.org/package/"
9130 "shakespeare-" version "/"
9131 "shakespeare-" version ".tar.gz"))
9132 (sha256
9133 (base32
9134 "1vk4b19zvwy4mpwaq9z3l3kfmz75gfyf7alhh0y112gspgpccm23"))))
9135 (build-system haskell-build-system)
9136 (inputs `(("ghc-aeson" ,ghc-aeson)
9137 ("ghc-blaze-markup" ,ghc-blaze-markup)
9138 ("ghc-blaze-html" ,ghc-blaze-html)
9139 ("ghc-exceptions" ,ghc-exceptions)
9140 ("ghc-vector" ,ghc-vector)
9141 ("ghc-unordered-containers" ,ghc-unordered-containers)
9142 ("ghc-scientific" ,ghc-scientific)))
9143 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9144 ("ghc-hunit" ,ghc-hunit)
9145 ("hspec-discover" ,hspec-discover)))
9146 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9147 (synopsis "Family of type-safe template languages for Haskell")
9148 (description "This Haskell package provides a family of type-safe
9149templates with simple variable interpolation. Shakespeare templates can
9150be used inline with a quasi-quoter or in an external file and it
9151interpolates variables according to the type being inserted.")
9152 (license license:expat)))
9153
9154(define-public ghc-shelly
9155 (package
9156 (name "ghc-shelly")
9157 (version "1.8.1")
9158 (source
9159 (origin
9160 (method url-fetch)
9161 (uri (string-append
9162 "https://hackage.haskell.org/package/shelly/shelly-"
9163 version ".tar.gz"))
9164 (sha256
9165 (base32
9166 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9167 (build-system haskell-build-system)
9168 (inputs
9169 `(("ghc-unix-compat" ,ghc-unix-compat)
9170 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9171 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9172 ("ghc-monad-control" ,ghc-monad-control)
9173 ("ghc-lifted-base" ,ghc-lifted-base)
9174 ("ghc-lifted-async" ,ghc-lifted-async)
9175 ("ghc-exceptions" ,ghc-exceptions)
9176 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9177 ("ghc-async" ,ghc-async)
9178 ("ghc-transformers-base" ,ghc-transformers-base)
9179 ("ghc-hunit" ,ghc-hunit)
9180 ("ghc-hspec" ,ghc-hspec)
9181 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9182 (home-page "https://github.com/yesodweb/Shelly.hs")
9183 (synopsis "Shell-like (systems) programming in Haskell")
9184 (description
9185 "Shelly provides convenient systems programming in Haskell, similar in
9186spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9187 (license license:bsd-3)))
9188
9189(define-public ghc-silently
9190 (package
9191 (name "ghc-silently")
544bb369 9192 (version "1.2.5.1")
dddbc90c
RV
9193 (source
9194 (origin
9195 (method url-fetch)
9196 (uri (string-append
9197 "https://hackage.haskell.org/package/silently/silently-"
9198 version
9199 ".tar.gz"))
9200 (sha256
9201 (base32
544bb369 9202 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
9203 (build-system haskell-build-system)
9204 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9205 ;; (inputs
9206 ;; `(("ghc-temporary" ,ghc-temporary)))
9207 (home-page "https://github.com/hspec/silently")
9208 (synopsis "Prevent writing to stdout")
9209 (description "This package provides functions to prevent or capture
9210writing to stdout and other handles.")
9211 (license license:bsd-3)))
9212
9213(define-public ghc-simple-reflect
9214 (package
9215 (name "ghc-simple-reflect")
9216 (version "0.3.3")
9217 (source
9218 (origin
9219 (method url-fetch)
9220 (uri (string-append
9221 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9222 version
9223 ".tar.gz"))
9224 (sha256
9225 (base32
9226 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9227 (build-system haskell-build-system)
9228 (home-page
9229 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9230 (synopsis
9231 "Simple reflection of expressions containing variables")
9232 (description
9233 "This package allows simple reflection of expressions containing
9234variables. Reflection here means that a Haskell expression is turned into a
9235string. The primary aim of this package is teaching and understanding; there
9236are no options for manipulating the reflected expressions beyond showing
9237them.")
9238 (license license:bsd-3)))
9239
9240(define-public ghc-simple-sendfile
9241 (package
9242 (name "ghc-simple-sendfile")
9243 (version "0.2.27")
9244 (source
9245 (origin
9246 (method url-fetch)
9247 (uri (string-append "https://hackage.haskell.org/package/"
9248 "simple-sendfile-" version "/"
9249 "simple-sendfile-" version ".tar.gz"))
9250 (sha256
9251 (base32
9252 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
9253 (build-system haskell-build-system)
9254 (inputs
9255 `(("ghc-conduit" ,ghc-conduit)
9256 ("ghc-conduit-extra" ,ghc-conduit-extra)
9257 ("ghc-network" ,ghc-network)
9258 ("ghc-resourcet" ,ghc-resourcet)))
9259 (native-inputs
9260 `(("ghc-hspec" ,ghc-hspec)
9261 ("hspec-discover" ,hspec-discover)))
9262 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9263 (synopsis "Cross platform library for the sendfile system call")
9264 (description "This library tries to call minimum system calls which
9265are the bottleneck of web servers.")
9266 (license license:bsd-3)))
9267
9268(define-public ghc-skylighting-core
9269 (package
9270 (name "ghc-skylighting-core")
9271 (version "0.7.2")
9272 (source (origin
9273 (method url-fetch)
9274 (uri (string-append "https://hackage.haskell.org/package/"
9275 "skylighting-core/skylighting-core-"
9276 version ".tar.gz"))
9277 (sha256
9278 (base32
9279 "066fwmwsd7xcvwlinfk2izlzq0xp8697i6lnbgsbl71jdybyackq"))))
9280 (build-system haskell-build-system)
9281 (inputs
9282 `(("ghc-aeson" ,ghc-aeson)
9283 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9284 ("ghc-attoparsec" ,ghc-attoparsec)
9285 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9286 ("ghc-blaze-html" ,ghc-blaze-html)
9287 ("ghc-case-insensitive" ,ghc-case-insensitive)
9288 ("ghc-colour" ,ghc-colour)
9289 ("ghc-hxt" ,ghc-hxt)
9290 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9291 ("ghc-safe" ,ghc-safe)
9292 ("ghc-utf8-string" ,ghc-utf8-string)))
9293 (native-inputs
9294 `(("ghc-diff" ,ghc-diff)
9295 ("ghc-hunit" ,ghc-hunit)
9296 ("ghc-pretty-show" ,ghc-pretty-show)
9297 ("ghc-quickcheck" ,ghc-quickcheck)
9298 ("ghc-tasty" ,ghc-tasty)
9299 ("ghc-tasty-golden" ,ghc-tasty-golden)
9300 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9301 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9302 (home-page "https://github.com/jgm/skylighting")
9303 (synopsis "Syntax highlighting library")
9304 (description "Skylighting is a syntax highlighting library with support
9305for over one hundred languages. It derives its tokenizers from XML syntax
9306definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9307supported by that framework can be added. An optional command-line program is
9308provided. Skylighting is intended to be the successor to highlighting-kate.")
9309 (license license:gpl2)))
9310
9311(define-public ghc-skylighting
9312 (package
9313 (inherit ghc-skylighting-core)
9314 (name "ghc-skylighting")
9315 (version "0.7.2")
9316 (source (origin
9317 (method url-fetch)
9318 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9319 version "/skylighting-" version ".tar.gz"))
9320 (sha256
9321 (base32
9322 "1rh3z1a7a4clvksdw1qlpmhxqkfahwypi70k91whgfamzsqpxdch"))))
9323 (inputs
9324 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9325 ,@(package-inputs ghc-skylighting-core)))))
9326
9327(define-public ghc-smallcheck
9328 (package
9329 (name "ghc-smallcheck")
9330 (version "1.1.5")
9331 (source
9332 (origin
9333 (method url-fetch)
9334 (uri (string-append
9335 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9336 version
9337 ".tar.gz"))
9338 (sha256
9339 (base32
9340 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9341 (build-system haskell-build-system)
9342 (inputs
9343 `(("ghc-logict" ,ghc-logict)))
9344 (home-page
9345 "https://github.com/feuerbach/smallcheck")
9346 (synopsis "Property-based testing library")
9347 (description "SmallCheck is a testing library that allows to verify
9348properties for all test cases up to some depth. The test cases are generated
9349automatically by SmallCheck.")
9350 (license license:bsd-3)))
9351
9352(define-public ghc-socks
9353 (package
9354 (name "ghc-socks")
9355 (version "0.5.6")
9356 (source (origin
9357 (method url-fetch)
9358 (uri (string-append "https://hackage.haskell.org/package/"
9359 "socks/socks-" version ".tar.gz"))
9360 (sha256
9361 (base32
9362 "0f44qy74i0n6ll3jym0a2ipafkpw1h67amcpqmj8iq95h21wsqzs"))))
9363 (build-system haskell-build-system)
9364 (inputs
9365 `(("ghc-cereal" ,ghc-cereal)
9366 ("ghc-network" ,ghc-network)))
9367 (home-page "https://github.com/vincenthz/hs-socks")
9368 (synopsis "SOCKS proxy (version 5) implementation")
9369 (description
9370 "This library provides a SOCKS proxy (version 5) implementation.")
9371 (license license:bsd-3)))
9372
081d85d6
TS
9373(define-public ghc-sop-core
9374 (package
9375 (name "ghc-sop-core")
9376 (version "0.4.0.0")
9377 (source
9378 (origin
9379 (method url-fetch)
9380 (uri (string-append "https://hackage.haskell.org/package/"
9381 "sop-core/sop-core-" version ".tar.gz"))
9382 (sha256
9383 (base32
9384 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
9385 (build-system haskell-build-system)
9386 (home-page "http://hackage.haskell.org/package/sop-core")
9387 (synopsis "True Sums of Products")
9388 (description "This package provides an implementation of
9389@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
9390is the main module of this library and contains more detailed
9391documentation. The main use case of this package is to serve as the
9392core of @url{https://hackage.haskell.org/package/generics-sop,
9393generics-sop}.")
9394 (license license:bsd-3)))
9395
dddbc90c
RV
9396(define-public ghc-split
9397 (package
9398 (name "ghc-split")
9399 (version "0.2.3.3")
9400 (outputs '("out" "doc"))
9401 (source
9402 (origin
9403 (method url-fetch)
9404 (uri (string-append
9405 "https://hackage.haskell.org/package/split/split-"
9406 version
9407 ".tar.gz"))
9408 (sha256
9409 (base32
9410 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9411 (build-system haskell-build-system)
9412 (native-inputs
9413 `(("ghc-quickcheck" ,ghc-quickcheck)))
9414 (home-page "https://hackage.haskell.org/package/split")
9415 (synopsis "Combinator library for splitting lists")
9416 (description "This package provides a collection of Haskell functions for
9417splitting lists into parts, akin to the @code{split} function found in several
9418mainstream languages.")
9419 (license license:bsd-3)))
9420
9421(define-public ghc-statevar
9422 (package
9423 (name "ghc-statevar")
19419709 9424 (version "1.2")
dddbc90c
RV
9425 (source
9426 (origin
9427 (method url-fetch)
9428 (uri (string-append
9429 "https://hackage.haskell.org/package/StateVar/StateVar-"
9430 version
9431 ".tar.gz"))
9432 (sha256
9433 (base32
19419709 9434 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
9435 (build-system haskell-build-system)
9436 (home-page "https://hackage.haskell.org/package/StateVar")
9437 (synopsis "State variables for Haskell")
9438 (description "This package provides state variables, which are references
9439in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9440 (license license:bsd-3)))
9441
9442(define-public ghc-statistics
9443 (package
9444 (name "ghc-statistics")
9445 (version "0.14.0.2")
9446 (source
9447 (origin
9448 (method url-fetch)
9449 (uri (string-append "https://hackage.haskell.org/package/"
9450 "statistics-" version "/"
9451 "statistics-" version ".tar.gz"))
9452 (sha256
9453 (base32
9454 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
9455 (build-system haskell-build-system)
9456 (arguments
9457 '(#:cabal-revision
9458 ("2" "1bx70yqkn62ii17fjv3pig4hklrzkqd09zj67zzjiyjzmn04fir3")
9459 ;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
9460 #:tests? #f))
9461 (inputs
9462 `(("ghc-aeson" ,ghc-aeson)
9463 ("ghc-base-orphans" ,ghc-base-orphans)
9464 ("ghc-erf" ,ghc-erf)
9465 ("ghc-math-functions" ,ghc-math-functions)
9466 ("ghc-monad-par" ,ghc-monad-par)
9467 ("ghc-mwc-random" ,ghc-mwc-random)
9468 ("ghc-primitive" ,ghc-primitive)
9469 ("ghc-vector" ,ghc-vector)
9470 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9471 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9472 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9473 (native-inputs
9474 `(("ghc-hunit" ,ghc-hunit)
9475 ("ghc-quickcheck" ,ghc-quickcheck)
9476 ("ghc-ieee754" ,ghc-ieee754)
9477 ("ghc-test-framework" ,ghc-test-framework)
9478 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9479 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9480 (home-page "https://github.com/bos/mwc-random")
9481 (synopsis "Haskell library of statistical types, data, and functions")
9482 (description "This library provides a number of common functions
9483and types useful in statistics. We focus on high performance, numerical
9484robustness, and use of good algorithms. Where possible, we provide references
9485to the statistical literature.
9486
9487The library's facilities can be divided into four broad categories:
9488
9489@itemize
9490@item Working with widely used discrete and continuous probability
9491distributions. (There are dozens of exotic distributions in use; we focus
9492on the most common.)
9493
9494@item Computing with sample data: quantile estimation, kernel density
9495estimation, histograms, bootstrap methods, significance testing,
9496and regression and autocorrelation analysis.
9497
9498@item Random variate generation under several different distributions.
9499
9500@item Common statistical tests for significant differences between samples.
9501@end itemize")
9502 (license license:bsd-2)))
9503
9504(define-public ghc-stm-chans
9505 (package
9506 (name "ghc-stm-chans")
9507 (version "3.0.0.4")
9508 (source
9509 (origin
9510 (method url-fetch)
9511 (uri (string-append "https://hackage.haskell.org/package/"
9512 "stm-chans-" version "/"
9513 "stm-chans-" version ".tar.gz"))
9514 (sha256
9515 (base32
9516 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9517 (build-system haskell-build-system)
9518 (home-page "https://hackage.haskell.org/package/stm-chans")
9519 (synopsis "Additional types of channels for ghc-stm")
9520 (description "This Haskell package offers a collection of channel types,
9521similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9522features.")
9523 (license license:bsd-3)))
9524
9525(define-public ghc-stm-conduit
9526 (package
9527 (name "ghc-stm-conduit")
9528 (version "4.0.0")
9529 (source
9530 (origin
9531 (method url-fetch)
9532 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9533 "stm-conduit-" version ".tar.gz"))
9534 (sha256
9535 (base32
9536 "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
9537 (build-system haskell-build-system)
9538 (inputs
9539 `(("ghc-stm-chans" ,ghc-stm-chans)
9540 ("ghc-cereal" ,ghc-cereal)
9541 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9542 ("ghc-conduit" ,ghc-conduit)
9543 ("ghc-conduit-extra" ,ghc-conduit-extra)
9544 ("ghc-exceptions" ,ghc-exceptions)
9545 ("ghc-resourcet" ,ghc-resourcet)
9546 ("ghc-async" ,ghc-async)
9547 ("ghc-monad-loops" ,ghc-monad-loops)
9548 ("ghc-unliftio" ,ghc-unliftio)))
9549 (native-inputs
9550 `(("ghc-doctest" ,ghc-doctest)
9551 ("ghc-quickcheck" ,ghc-quickcheck)
9552 ("ghc-hunit" ,ghc-hunit)
9553 ("ghc-test-framework" ,ghc-test-framework)
9554 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9555 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9556 (home-page "https://github.com/cgaebel/stm-conduit")
9557 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9558 (description
9559 "This package provides two simple conduit wrappers around STM channels: a
9560source and a sink.")
9561 (license license:bsd-3)))
9562
9563(define-public ghc-stmonadtrans
9564 (package
9565 (name "ghc-stmonadtrans")
9566 (version "0.4.3")
9567 (source
9568 (origin
9569 (method url-fetch)
9570 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9571 "/STMonadTrans-" version ".tar.gz"))
9572 (sha256
9573 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9574 (build-system haskell-build-system)
9575 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9576 (synopsis "Monad transformer version of the ST monad")
9577 (description
9578 "This package provides a monad transformer version of the @code{ST} monad
9579for strict state threads.")
9580 (license license:bsd-3)))
9581
9582(define-public ghc-storable-complex
9583 (package
9584 (name "ghc-storable-complex")
9585 (version "0.2.2")
9586 (source
9587 (origin
9588 (method url-fetch)
9589 (uri (string-append
9590 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9591 version ".tar.gz"))
9592 (sha256
9593 (base32 "01kwwkpbfjrv26vj83cd92px5qbq1bpgxj0r45534aksqhany1xb"))))
9594 (build-system haskell-build-system)
9595 (home-page "https://github.com/cartazio/storable-complex")
9596 (synopsis "Haskell Storable instance for Complex")
9597 (description "This package provides a Haskell library including a
9598Storable instance for Complex which is binary compatible with C99, C++
9599and Fortran complex data types.")
9600 (license license:bsd-3)))
9601
ad80074a
JS
9602(define-public ghc-storable-record
9603 (package
9604 (name "ghc-storable-record")
9605 (version "0.0.4")
9606 (source
9607 (origin
9608 (method url-fetch)
9609 (uri
9610 (string-append
9611 "https://hackage.haskell.org/package/storable-record/"
9612 "storable-record-" version ".tar.gz"))
9613 (sha256
9614 (base32
9615 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
9616 (build-system haskell-build-system)
9617 (inputs
9618 `(("ghc-semigroups" ,ghc-semigroups)
9619 ("ghc-utility-ht" ,ghc-utility-ht)
9620 ("ghc-storablevector" ,ghc-storablevector)
9621 ("ghc-timeit" ,ghc-timeit)))
9622 (home-page "https://hackage.haskell.org/package/storable-record")
9623 (synopsis "Elegant definition of Storable instances for records")
9624 (description "With this package you can build a Storable instance of
9625a record type from Storable instances of its elements in an elegant way.
9626It does not do any magic, just a bit arithmetic to compute the right
9627offsets, that would be otherwise done manually or by a preprocessor like
9628C2HS. There is no guarantee that the generated memory layout is
9629compatible with that of a corresponding C struct. However, the module
9630generates the smallest layout that is possible with respect to the
9631alignment of the record elements.")
9632 (license license:bsd-3)))
9633
55f4c653
JS
9634(define-public ghc-storable-tuple
9635 (package
9636 (name "ghc-storable-tuple")
9637 (version "0.0.3.3")
9638 (source
9639 (origin
9640 (method url-fetch)
9641 (uri
9642 (string-append
9643 "https://hackage.haskell.org/package/storable-tuple/"
9644 "storable-tuple-" version ".tar.gz"))
9645 (sha256
9646 (base32
9647 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
9648 (build-system haskell-build-system)
9649 (inputs
9650 `(("ghc-storable-record" ,ghc-storable-record)
9651 ("ghc-utility-ht" ,ghc-utility-ht)
9652 ("ghc-base-orphans" ,ghc-base-orphans)))
9653 (home-page "https://hackage.haskell.org/package/storable-tuple")
9654 (synopsis "Storable instance for pairs and triples")
9655 (description "This package provides a Storable instance for pairs
9656and triples which should be binary compatible with C99 and C++. The
9657only purpose of this package is to provide a standard location for this
9658instance so that other packages needing this instance can play nicely
9659together.")
9660 (license license:bsd-3)))
9661
bc06ca45
JS
9662(define-public ghc-storablevector
9663 (package
9664 (name "ghc-storablevector")
9665 (version "0.2.13")
9666 (source
9667 (origin
9668 (method url-fetch)
9669 (uri
9670 (string-append
9671 "https://hackage.haskell.org/package/storablevector/storablevector-"
9672 version ".tar.gz"))
9673 (sha256
9674 (base32
9675 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
9676 (build-system haskell-build-system)
9677 (inputs
9678 `(("ghc-non-negative" ,ghc-non-negative)
9679 ("ghc-utility-ht" ,ghc-utility-ht)
9680 ("ghc-semigroups" ,ghc-semigroups)
9681 ("ghc-unsafe" ,ghc-unsafe)
9682 ("ghc-quickcheck" ,ghc-quickcheck)
9683 ("ghc-syb" ,ghc-syb)))
9684 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
9685 (synopsis "Fast, packed, strict storable arrays with a list interface")
9686 (description "This library provides fast, packed, strict storable
9687arrays with a list interface, a chunky lazy list interface with variable
9688chunk size and an interface for write access via the ST monad. This is
9689much like bytestring and binary but can be used for every
9690@code{Foreign.Storable.Storable} type. See also
9691@url{http://hackage.haskell.org/package/vector}, a library with a
9692similar intention.
9693
9694This library does not do advanced fusion optimization, since especially
9695for lazy vectors this would either be incorrect or not applicable. See
9696@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
9697a library that provides fusion with lazy lists.")
9698 (license license:bsd-3)))
9699
dddbc90c
RV
9700(define-public ghc-streaming-commons
9701 (package
9702 (name "ghc-streaming-commons")
9703 (version "0.2.1.1")
9704 (source
9705 (origin
9706 (method url-fetch)
9707 (uri (string-append "https://hackage.haskell.org/package/"
9708 "streaming-commons/streaming-commons-"
9709 version ".tar.gz"))
9710 (sha256
9711 (base32
9712 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9713 (build-system haskell-build-system)
9714 (inputs
9715 `(("ghc-async" ,ghc-async)
9716 ("ghc-blaze-builder" ,ghc-blaze-builder)
9717 ("ghc-network" ,ghc-network)
9718 ("ghc-random" ,ghc-random)
9719 ("ghc-zlib" ,ghc-zlib)))
9720 (native-inputs
9721 `(("ghc-quickcheck" ,ghc-quickcheck)
9722 ("ghc-hspec" ,ghc-hspec)
9723 ("hspec-discover" ,hspec-discover)))
9724 (home-page "https://hackage.haskell.org/package/streaming-commons")
9725 (synopsis "Conduit and pipes needed by some streaming data libraries")
9726 (description "This package provides low-dependency functionality commonly
9727needed by various Haskell streaming data libraries, such as @code{conduit} and
9728@code{pipe}s.")
9729 (license license:expat)))
9730
9731(define-public ghc-strict
9732 (package
9733 (name "ghc-strict")
9734 (version "0.3.2")
9735 (source
9736 (origin
9737 (method url-fetch)
9738 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
9739 version ".tar.gz"))
9740 (sha256
9741 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
9742 (build-system haskell-build-system)
9743 (home-page "https://hackage.haskell.org/package/strict")
9744 (synopsis "Strict data types and String IO")
9745 (description
9746 "This package provides strict versions of some standard Haskell data
9747types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
9748IO operations.")
9749 (license license:bsd-3)))
9750
9751(define-public ghc-stringbuilder
9752 (package
9753 (name "ghc-stringbuilder")
9754 (version "0.5.1")
9755 (source
9756 (origin
9757 (method url-fetch)
9758 (uri (string-append
9759 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
9760 version
9761 ".tar.gz"))
9762 (sha256
9763 (base32
9764 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
9765 (build-system haskell-build-system)
9766 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
9767 ; enabled
9768 (home-page "https://hackage.haskell.org/package/stringbuilder")
9769 (synopsis "Writer monad for multi-line string literals")
9770 (description "This package provides a writer monad for multi-line string
9771literals.")
9772 (license license:expat)))
9773
9774(define-public ghc-string-qq
9775 (package
9776 (name "ghc-string-qq")
4d6fddc3 9777 (version "0.0.4")
dddbc90c
RV
9778 (source
9779 (origin
9780 (method url-fetch)
9781 (uri (string-append
9782 "https://hackage.haskell.org/package/string-qq/string-qq-"
9783 version
9784 ".tar.gz"))
9785 (sha256
9786 (base32
4d6fddc3 9787 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 9788 (build-system haskell-build-system)
4d6fddc3
TS
9789 (native-inputs
9790 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
9791 (home-page "http://hackage.haskell.org/package/string-qq")
9792 (synopsis
9793 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
9794 (description
9795 "This package provides a quasiquoter for non-interpolated strings, texts
9796and bytestrings.")
9797 (license license:public-domain)))
9798
9799(define-public ghc-stringsearch
9800 (package
9801 (name "ghc-stringsearch")
9802 (version "0.3.6.6")
9803 (source
9804 (origin
9805 (method url-fetch)
9806 (uri (string-append
9807 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
9808 version
9809 ".tar.gz"))
9810 (sha256
9811 (base32
9812 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
9813 (build-system haskell-build-system)
9814 (home-page "https://bitbucket.org/dafis/stringsearch")
9815 (synopsis "Fast searching, splitting and replacing of ByteStrings")
9816 (description "This package provides several functions to quickly search
9817for substrings in strict or lazy @code{ByteStrings}. It also provides
9818functions for breaking or splitting on substrings and replacing all
9819occurrences of a substring (the first in case of overlaps) with another.")
9820 (license license:bsd-3)))
9821
9822(define-public ghc-stylish-haskell
9823 (package
9824 (name "ghc-stylish-haskell")
9825 (version "0.9.2.1")
9826 (source
9827 (origin
9828 (method url-fetch)
9829 (uri (string-append
9830 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
9831 version
9832 ".tar.gz"))
9833 (sha256
9834 (base32
9835 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
9836 (build-system haskell-build-system)
9837 (inputs
9838 `(("ghc-aeson" ,ghc-aeson)
9839 ("ghc-file-embed" ,ghc-file-embed)
9840 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
9841 ("ghc-semigroups" ,ghc-semigroups)
9842 ("ghc-syb" ,ghc-syb)
9843 ("ghc-yaml" ,ghc-yaml)
9844 ("ghc-strict" ,ghc-strict)
9845 ("ghc-optparse-applicative"
9846 ,ghc-optparse-applicative)))
9847 (native-inputs
9848 `(("ghc-hunit" ,ghc-hunit)
9849 ("ghc-test-framework" ,ghc-test-framework)
9850 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
9851 (home-page "https://github.com/jaspervdj/stylish-haskell")
9852 (synopsis "Haskell code prettifier")
9853 (description "Stylish-haskell is a Haskell code prettifier. The goal is
9854not to format all of the code in a file, to avoid \"getting in the way\".
9855However, this tool can e.g. clean up import statements and help doing various
9856tasks that get tedious very quickly. It can
9857@itemize
9858@item
9859Align and sort @code{import} statements
9860@item
9861Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
9862pragmas
9863@item
9864Remove trailing whitespaces
9865@item
9866Align branches in @code{case} and fields in records
9867@item
9868Convert line endings (customisable)
9869@item
9870Replace tabs by four spaces (turned off by default)
9871@item
9872Replace some ASCII sequences by their Unicode equivalent (turned off by
9873default)
9874@end itemize")
9875 (license license:bsd-3)))
9876
9877(define-public ghc-syb
9878 (package
9879 (name "ghc-syb")
9880 (version "0.7")
9881 (outputs '("out" "doc"))
9882 (source
9883 (origin
9884 (method url-fetch)
9885 (uri (string-append
9886 "https://hackage.haskell.org/package/syb/syb-"
9887 version
9888 ".tar.gz"))
9889 (sha256
9890 (base32
9891 "1da2zz7gqm4xbkx5vpd74dayx1svaxyl145fl14mq15lbb77sxdq"))))
9892 (build-system haskell-build-system)
9893 (inputs
9894 `(("ghc-hunit" ,ghc-hunit)))
9895 (home-page
9896 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
9897 (synopsis "Scrap Your Boilerplate")
9898 (description "This package contains the generics system described in the
9899/Scrap Your Boilerplate/ papers (see
9900@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
9901defines the @code{Data} class of types permitting folding and unfolding of
9902constructor applications, instances of this class for primitive types, and a
9903variety of traversals.")
9904 (license license:bsd-3)))
9905
9906(define-public ghc-system-fileio
9907 (package
9908 (name "ghc-system-fileio")
9909 (version "0.3.16.3")
9910 (source
9911 (origin
9912 (method url-fetch)
9913 (uri (string-append
9914 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
9915 version ".tar.gz"))
9916 (sha256
9917 (base32
9918 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
9919 (build-system haskell-build-system)
9920 (inputs
9921 `(("ghc-system-filepath" ,ghc-system-filepath)
9922 ("ghc-chell" ,ghc-chell)
9923 ("ghc-temporary" ,ghc-temporary)))
9924 (home-page "https://github.com/fpco/haskell-filesystem")
9925 (synopsis "Consistent file system interaction across GHC versions")
9926 (description
9927 "This is a small wrapper around the directory, unix, and Win32 packages,
9928for use with system-filepath. It provides a consistent API to the various
9929versions of these packages distributed with different versions of GHC.
9930In particular, this library supports working with POSIX files that have paths
9931which can't be decoded in the current locale encoding.")
9932 (license license:expat)))
9933
9934;; See ghc-system-filepath-bootstrap. In addition this package depends on
9935;; ghc-system-filepath.
9936(define ghc-system-fileio-bootstrap
9937 (package
9938 (name "ghc-system-fileio-bootstrap")
9939 (version "0.3.16.3")
9940 (source
9941 (origin
9942 (method url-fetch)
9943 (uri (string-append
9944 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
9945 version ".tar.gz"))
9946 (sha256
9947 (base32
9948 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
9949 (build-system haskell-build-system)
9950 (arguments
9951 `(#:tests? #f))
9952 (inputs
9953 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9954 ("ghc-temporary" ,ghc-temporary)))
9955 (home-page "https://github.com/fpco/haskell-filesystem")
9956 (synopsis "Consistent file system interaction across GHC versions")
9957 (description
9958 "This is a small wrapper around the directory, unix, and Win32 packages,
9959for use with system-filepath. It provides a consistent API to the various
9960versions of these packages distributed with different versions of GHC.
9961In particular, this library supports working with POSIX files that have paths
9962which can't be decoded in the current locale encoding.")
9963 (license license:expat)))
9964
9965
9966(define-public ghc-system-filepath
9967 (package
9968 (name "ghc-system-filepath")
9969 (version "0.4.14")
9970 (source
9971 (origin
9972 (method url-fetch)
9973 (uri (string-append
9974 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
9975 version ".tar.gz"))
9976 (sha256
9977 (base32
9978 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
9979 (build-system haskell-build-system)
9980 ;; FIXME: One of the tests fails:
9981 ;; [ FAIL ] tests.validity.posix
9982 ;; note: seed=7310214548328823169
9983 ;; *** Failed! Falsifiable (after 24 tests):
9984 ;; 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"
9985 (arguments `(#:tests? #f))
9986 (inputs
9987 `(("ghc-chell" ,ghc-chell)
9988 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
9989 ("ghc-quickcheck" ,ghc-quickcheck)))
9990 (home-page "https://github.com/fpco/haskell-filesystem")
9991 (synopsis "High-level, byte-based file and directory path manipulations")
9992 (description
9993 "Provides a FilePath datatype and utility functions for operating on it.
9994Unlike the filepath package, this package does not simply reuse String,
9995increasing type safety.")
9996 (license license:expat)))
9997
9998;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
9999;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
10000;; which depends on ghc-chell and ghc-chell-quickcheck.
10001;; Therefore we bootstrap it with tests disabled.
10002(define ghc-system-filepath-bootstrap
10003 (package
10004 (name "ghc-system-filepath-bootstrap")
10005 (version "0.4.14")
10006 (source
10007 (origin
10008 (method url-fetch)
10009 (uri (string-append
10010 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10011 version ".tar.gz"))
10012 (sha256
10013 (base32
10014 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10015 (build-system haskell-build-system)
10016 (arguments
10017 `(#:tests? #f))
10018 (inputs
10019 `(("ghc-quickcheck" ,ghc-quickcheck)))
10020 (home-page "https://github.com/fpco/haskell-filesystem")
10021 (synopsis "High-level, byte-based file and directory path manipulations")
10022 (description
10023 "Provides a FilePath datatype and utility functions for operating on it.
10024Unlike the filepath package, this package does not simply reuse String,
10025increasing type safety.")
10026 (license license:expat)))
10027
10028
10029(define-public ghc-tagged
10030 (package
10031 (name "ghc-tagged")
f0f3756a 10032 (version "0.8.6")
dddbc90c
RV
10033 (source
10034 (origin
10035 (method url-fetch)
10036 (uri (string-append
10037 "https://hackage.haskell.org/package/tagged/tagged-"
10038 version
10039 ".tar.gz"))
10040 (sha256
10041 (base32
f0f3756a 10042 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
10043 (build-system haskell-build-system)
10044 (arguments
10045 `(#:cabal-revision
f0f3756a 10046 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
10047 (inputs
10048 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10049 (home-page "https://hackage.haskell.org/package/tagged")
10050 (synopsis "Haskell phantom types to avoid passing dummy arguments")
10051 (description "This library provides phantom types for Haskell 98, to avoid
10052having to unsafely pass dummy arguments.")
10053 (license license:bsd-3)))
10054
10055(define-public ghc-tar
10056 (package
10057 (name "ghc-tar")
10058 (version "0.5.1.0")
10059 (source
10060 (origin
10061 (method url-fetch)
10062 (uri (string-append
10063 "https://hackage.haskell.org/package/tar/tar-"
10064 version ".tar.gz"))
10065 (sha256
10066 (base32
10067 "0s2brvaxg5fki2jdkccmnpssiy6a3wjh24p6a3dkkdvjcixnk7f8"))))
10068 (build-system haskell-build-system)
10069 ;; FIXME: 2/24 tests fail.
10070 (arguments `(#:tests? #f))
10071 (inputs
10072 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10073 ("ghc-quickcheck" ,ghc-quickcheck)
10074 ("ghc-tasty" ,ghc-tasty)
10075 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10076 (home-page "https://hackage.haskell.org/package/tar")
10077 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10078 (description
10079 "This library is for working with \\\"@.tar@\\\" archive files.
10080It can read and write a range of common variations of the tar archive format
10081including V7, POSIX USTAR and GNU formats. It provides support for packing and
10082unpacking portable archives. This makes it suitable for distribution but not
10083backup because details like file ownership and exact permissions are not
10084preserved. It also provides features for random access to archive content using
10085an index.")
10086 (license license:bsd-3)))
10087
10088(define-public ghc-temporary
10089 (package
10090 (name "ghc-temporary")
10091 (version "1.3")
10092 (source
10093 (origin
10094 (method url-fetch)
10095 (uri (string-append
10096 "https://hackage.haskell.org/package/temporary/temporary-"
10097 version
10098 ".tar.gz"))
10099 (sha256
10100 (base32
10101 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10102 (build-system haskell-build-system)
10103 (inputs
10104 `(("ghc-exceptions" ,ghc-exceptions)
10105 ("ghc-random" ,ghc-random)))
10106 (native-inputs
10107 `(("ghc-base-compat" ,ghc-base-compat)
10108 ("ghc-tasty" ,ghc-tasty)
10109 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10110 (home-page "https://www.github.com/batterseapower/temporary")
10111 (synopsis "Temporary file and directory support")
10112 (description "The functions for creating temporary files and directories
10113in the Haskelll base library are quite limited. This library just repackages
10114the Cabal implementations of its own temporary file and folder functions so
10115that you can use them without linking against Cabal or depending on it being
10116installed.")
10117 (license license:bsd-3)))
10118
10119(define-public ghc-temporary-rc
10120 (package
10121 (name "ghc-temporary-rc")
10122 (version "1.2.0.3")
10123 (source
10124 (origin
10125 (method url-fetch)
10126 (uri (string-append
10127 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10128 version
10129 ".tar.gz"))
10130 (sha256
10131 (base32
10132 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10133 (build-system haskell-build-system)
10134 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10135 (home-page
10136 "https://www.github.com/feuerbach/temporary")
10137 (synopsis
10138 "Portable temporary file and directory support")
10139 (description
10140 "The functions for creating temporary files and directories in the base
10141library are quite limited. The unixutils package contains some good ones, but
10142they aren't portable to Windows. This library just repackages the Cabal
10143implementations of its own temporary file and folder functions so that you can
10144use them without linking against Cabal or depending on it being installed.
10145This is a better maintained fork of the \"temporary\" package.")
10146 (license license:bsd-3)))
10147
10148(define-public ghc-terminal-size
10149 (package
10150 (name "ghc-terminal-size")
10151 (version "0.3.2.1")
10152 (source (origin
10153 (method url-fetch)
10154 (uri (string-append
10155 "https://hackage.haskell.org/package/terminal-size/"
10156 "terminal-size-" version ".tar.gz"))
10157 (sha256
10158 (base32
10159 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10160 (build-system haskell-build-system)
10161 (home-page "https://hackage.haskell.org/package/terminal-size")
10162 (synopsis "Get terminal window height and width")
10163 (description "Get terminal window height and width without ncurses
10164dependency.")
10165 (license license:bsd-3)))
10166
10167(define-public ghc-texmath
10168 (package
10169 (name "ghc-texmath")
10170 (version "0.11.0.1")
10171 (source (origin
10172 (method url-fetch)
10173 (uri (string-append "https://hackage.haskell.org/package/"
10174 "texmath/texmath-" version ".tar.gz"))
10175 (sha256
10176 (base32
10177 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
10178 (build-system haskell-build-system)
10179 (inputs
10180 `(("ghc-syb" ,ghc-syb)
10181 ("ghc-network-uri" ,ghc-network-uri)
10182 ("ghc-split" ,ghc-split)
10183 ("ghc-temporary" ,ghc-temporary)
10184 ("ghc-utf8-string" ,ghc-utf8-string)
10185 ("ghc-xml" ,ghc-xml)
10186 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10187 (home-page "https://github.com/jgm/texmath")
10188 (synopsis "Conversion between formats used to represent mathematics")
10189 (description
10190 "The texmath library provides functions to read and write TeX math,
10191presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10192Office). Support is also included for converting math formats to pandoc's
10193native format (allowing conversion, via pandoc, to a variety of different
10194markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10195it can parse and apply LaTeX macros.")
10196 (license license:gpl2+)))
10197
10198(define-public ghc-text-binary
10199 (package
10200 (name "ghc-text-binary")
10201 (version "0.2.1.1")
10202 (source
10203 (origin
10204 (method url-fetch)
10205 (uri (string-append "https://hackage.haskell.org/package/"
10206 "text-binary/text-binary-"
10207 version ".tar.gz"))
10208 (sha256
10209 (base32
10210 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10211 (build-system haskell-build-system)
10212 (home-page "https://github.com/kawu/text-binary")
10213 (synopsis "Binary instances for text types")
10214 (description
10215 "This package provides a compatibility layer providing @code{Binary}
10216instances for strict and lazy text types for versions older than 1.2.1 of the
10217text package.")
10218 (license license:bsd-2)))
10219
10220(define-public ghc-tf-random
10221 (package
10222 (name "ghc-tf-random")
10223 (version "0.5")
10224 (outputs '("out" "doc"))
10225 (source
10226 (origin
10227 (method url-fetch)
10228 (uri (string-append
10229 "https://hackage.haskell.org/package/tf-random/tf-random-"
10230 version
10231 ".tar.gz"))
10232 (sha256
10233 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10234 (build-system haskell-build-system)
10235 (inputs
10236 `(("ghc-primitive" ,ghc-primitive)
10237 ("ghc-random" ,ghc-random)))
10238 (home-page "https://hackage.haskell.org/package/tf-random")
10239 (synopsis "High-quality splittable pseudorandom number generator")
10240 (description "This package contains an implementation of a high-quality
10241splittable pseudorandom number generator. The generator is based on a
10242cryptographic hash function built on top of the ThreeFish block cipher. See
10243the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10244Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10245 (license license:bsd-3)))
10246
10247(define-public ghc-th-abstraction
10248 (package
10249 (name "ghc-th-abstraction")
1188eabb 10250 (version "0.3.1.0")
dddbc90c
RV
10251 (source
10252 (origin
10253 (method url-fetch)
10254 (uri (string-append "https://hackage.haskell.org/package/"
10255 "th-abstraction/th-abstraction-"
10256 version ".tar.gz"))
10257 (sha256
10258 (base32
1188eabb 10259 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
10260 (build-system haskell-build-system)
10261 (home-page "https://github.com/glguy/th-abstraction")
10262 (synopsis "Nicer interface for reified information about data types")
10263 (description
10264 "This package normalizes variations in the interface for inspecting
10265datatype information via Template Haskell so that packages and support a
10266single, easier to use informational datatype while supporting many versions of
10267Template Haskell.")
10268 (license license:isc)))
10269
10270(define-public ghc-th-expand-syns
10271 (package
10272 (name "ghc-th-expand-syns")
10273 (version "0.4.4.0")
10274 (source (origin
10275 (method url-fetch)
10276 (uri (string-append "https://hackage.haskell.org/package/"
10277 "th-expand-syns/th-expand-syns-"
10278 version ".tar.gz"))
10279 (sha256
10280 (base32
10281 "01prlvh3py5hq5ccjidfyp9ixq2zd88dkbsidyjrpkja6v8m43yc"))))
10282 (build-system haskell-build-system)
10283 (inputs
10284 `(("ghc-syb" ,ghc-syb)))
10285 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10286 (synopsis "Expands type synonyms in Template Haskell ASTs")
10287 (description
10288 "This package enables users to expand type synonyms in Template Haskell
10289@dfn{abstract syntax trees} (ASTs).")
10290 (license license:bsd-3)))
10291
10292(define-public ghc-th-lift
10293 (package
10294 (name "ghc-th-lift")
bd76b20a 10295 (version "0.8.0.1")
dddbc90c
RV
10296 (source (origin
10297 (method url-fetch)
10298 (uri (string-append "https://hackage.haskell.org/package/"
10299 "th-lift/th-lift-" version ".tar.gz"))
10300 (sha256
10301 (base32
bd76b20a 10302 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
10303 (build-system haskell-build-system)
10304 (inputs
10305 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10306 (home-page "https://github.com/mboes/th-lift")
10307 (synopsis "Derive Template Haskell's Lift class for datatypes")
10308 (description
10309 "This is a Haskell library to derive Template Haskell's Lift class for
10310datatypes.")
10311 (license license:bsd-3)))
10312
10313(define-public ghc-th-lift-instances
10314 (package
10315 (name "ghc-th-lift-instances")
10316 (version "0.1.11")
10317 (source
10318 (origin
10319 (method url-fetch)
10320 (uri (string-append "https://hackage.haskell.org/package/"
10321 "th-lift-instances/th-lift-instances-"
10322 version ".tar.gz"))
10323 (sha256
10324 (base32
10325 "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x"))))
10326 (build-system haskell-build-system)
10327 (inputs
10328 `(("ghc-th-lift" ,ghc-th-lift)
10329 ("ghc-vector" ,ghc-vector)
10330 ("ghc-quickcheck" ,ghc-quickcheck)))
10331 (home-page "https://github.com/bennofs/th-lift-instances/")
10332 (synopsis "Lift instances for template-haskell for common data types.")
10333 (description "Most data types in the Haskell platform do not have Lift
10334instances. This package provides orphan instances for @code{containers},
10335@code{text}, @code{bytestring} and @code{vector}.")
10336 (license license:bsd-3)))
10337
10338(define-public ghc-th-orphans
10339 (package
10340 (name "ghc-th-orphans")
10341 (version "0.13.6")
10342 (source (origin
10343 (method url-fetch)
10344 (uri (string-append "https://hackage.haskell.org/package/"
10345 "th-orphans/th-orphans-" version ".tar.gz"))
10346 (sha256
10347 (base32
10348 "0sfl3pn9kq9da3ji3lsgzgzy82vz6yvsg80dmakc1jvk7awycibp"))))
10349 (build-system haskell-build-system)
10350 (inputs
10351 `(("ghc-th-lift" ,ghc-th-lift)
10352 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10353 ("ghc-th-reify-many" ,ghc-th-reify-many)
10354 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10355 (native-inputs
10356 `(("ghc-hspec" ,ghc-hspec)))
10357 (home-page "https://hackage.haskell.org/package/th-orphans")
10358 (synopsis "Orphan instances for TH datatypes")
10359 (description
10360 "This package provides orphan instances for Template Haskell datatypes. In particular,
10361instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10362and @code{Eq} instances. These instances used to live in the haskell-src-meta
10363package, and that's where the version number started.")
10364 (license license:bsd-3)))
10365
10366(define-public ghc-threads
10367 (package
10368 (name "ghc-threads")
10369 (version "0.5.1.6")
10370 (source
10371 (origin
10372 (method url-fetch)
10373 (uri (string-append "https://hackage.haskell.org/package/"
10374 "threads/threads-" version ".tar.gz"))
10375 (sha256
10376 (base32
10377 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10378 (build-system haskell-build-system)
10379 (native-inputs
10380 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10381 ("ghc-hunit" ,ghc-hunit)
10382 ("ghc-test-framework" ,ghc-test-framework)
10383 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10384 (home-page "https://github.com/basvandijk/threads")
10385 (synopsis "Fork threads and wait for their result")
10386 (description "This package provides functions to fork threads and
10387wait for their result, whether it's an exception or a normal value.
10388Besides waiting for the termination of a single thread this package also
10389provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10390package is similar to the @code{threadmanager}, @code{async} and
10391@code{spawn} packages. The advantages of this package are:
10392
dddbc90c
RV
10393@itemize
10394@item Simpler API.
10395@item More efficient in both space and time.
10396@item No space-leak when forking a large number of threads.
10397@item Correct handling of asynchronous exceptions.
10398@item GHC specific functionality like @code{forkOn} and
10399@code{forkIOWithUnmask}.
10400@end itemize")
10401 (license license:bsd-3)))
10402
10403(define-public ghc-th-reify-many
10404 (package
10405 (name "ghc-th-reify-many")
10406 (version "0.1.8")
10407 (source (origin
10408 (method url-fetch)
10409 (uri (string-append "https://hackage.haskell.org/package/"
10410 "th-reify-many/th-reify-many-"
10411 version ".tar.gz"))
10412 (sha256
10413 (base32
10414 "0hzy6hvhvcd6i60vx5cp2b7ggmnnjh9rx4h8bm8xw4grglcaxjnf"))))
10415 (build-system haskell-build-system)
10416 (inputs
10417 `(("ghc-safe" ,ghc-safe)
10418 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10419 (home-page "https://github.com/mgsloan/th-reify-many")
10420 (synopsis "Recurseively reify template haskell datatype info")
10421 (description
10422 "th-reify-many provides functions for recursively reifying top level
10423declarations. The main intended use case is for enumerating the names of
10424datatypes reachable from an initial datatype, and passing these names to some
10425function which generates instances.")
10426 (license license:bsd-3)))
10427
10428(define-public ghc-time-locale-compat
10429 (package
10430 (name "ghc-time-locale-compat")
10431 (version "0.1.1.5")
10432 (source
10433 (origin
10434 (method url-fetch)
10435 (uri (string-append "https://hackage.haskell.org/package/"
10436 "time-locale-compat/time-locale-compat-"
10437 version ".tar.gz"))
10438 (sha256
10439 (base32
10440 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10441 (build-system haskell-build-system)
10442 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10443 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10444 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10445 (description "This package contains a wrapped name module for
10446@code{TimeLocale}.")
10447 (license license:bsd-3)))
10448
7bbfa392
JS
10449(define-public ghc-timeit
10450 (package
10451 (name "ghc-timeit")
10452 (version "2.0")
10453 (source
10454 (origin
10455 (method url-fetch)
10456 (uri
10457 (string-append
10458 "https://hackage.haskell.org/package/timeit/timeit-"
10459 version ".tar.gz"))
10460 (sha256
10461 (base32
10462 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
10463 (build-system haskell-build-system)
10464 (home-page "https://github.com/merijn/timeit")
10465 (synopsis "Time monadic computations with an IO base")
10466 (description "This package provides a simple wrapper to show the
10467used CPU time of monadic computation with an IO base.")
10468 (license license:bsd-3)))
10469
dddbc90c
RV
10470(define-public ghc-tldr
10471 (package
10472 (name "ghc-tldr")
10473 (version "0.4.0.1")
10474 (source
10475 (origin
10476 (method url-fetch)
10477 (uri (string-append
10478 "https://hackage.haskell.org/package/tldr/tldr-"
10479 version
10480 ".tar.gz"))
10481 (sha256
10482 (base32
10483 "0nc581y9jjzwd8l88g48c72mla7k6q1w102akl7gl5jsk9ljamd3"))))
10484 (build-system haskell-build-system)
10485 (inputs
10486 `(("ghc-cmark" ,ghc-cmark)
10487 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10488 ("ghc-typed-process" ,ghc-typed-process)
10489 ("ghc-semigroups" ,ghc-semigroups)))
10490 (native-inputs
10491 `(("ghc-tasty" ,ghc-tasty)
10492 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10493 (home-page "https://github.com/psibi/tldr-hs#readme")
10494 (synopsis "Haskell tldr client")
10495 (description "This package provides the @command{tldr} command and a
10496Haskell client library allowing users to update and view @code{tldr} pages
10497from a shell. The @code{tldr} pages are a community effort to simplify the
10498man pages with practical examples.")
10499 (license license:bsd-3)))
10500
10501(define-public ghc-transformers-base
10502 (package
10503 (name "ghc-transformers-base")
10504 (version "0.4.5.2")
10505 (source
10506 (origin
10507 (method url-fetch)
10508 (uri (string-append
10509 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10510 version
10511 ".tar.gz"))
10512 (sha256
10513 (base32
10514 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10515 (build-system haskell-build-system)
10516 (inputs
10517 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10518 (home-page
10519 "https://hackage.haskell.org/package/transformers-compat")
10520 (synopsis
10521 "Backported transformer library")
10522 (description
10523 "Backported versions of types that were added to transformers in
10524transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10525compatibility to run on old versions of the platform.")
10526 (license license:bsd-3)))
10527
10528(define-public ghc-transformers-compat
10529 (package
10530 (name "ghc-transformers-compat")
1c9c4d58 10531 (version "0.6.5")
dddbc90c
RV
10532 (source
10533 (origin
10534 (method url-fetch)
10535 (uri (string-append
10536 "https://hackage.haskell.org/package/transformers-compat"
10537 "/transformers-compat-" version ".tar.gz"))
10538 (sha256
10539 (base32
1c9c4d58 10540 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
10541 (build-system haskell-build-system)
10542 (home-page "https://github.com/ekmett/transformers-compat/")
10543 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10544 (description "This package includes backported versions of types that were
10545added to transformers in transformers 0.3 and 0.4 for users who need strict
10546transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10547but also need those types.")
10548 (license license:bsd-3)))
10549
10550(define-public ghc-tree-diff
10551 (package
10552 (name "ghc-tree-diff")
10553 (version "0.0.1")
10554 (source
10555 (origin
10556 (method url-fetch)
10557 (uri (string-append
10558 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10559 version
10560 ".tar.gz"))
10561 (sha256
10562 (base32
10563 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10564 (build-system haskell-build-system)
10565 (arguments
10566 `(#:cabal-revision
10567 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10568 #:phases
10569 (modify-phases %standard-phases
10570 (add-before 'configure 'update-constraints
10571 (lambda _
10572 (substitute* "tree-diff.cabal"
10573 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10574 "trifecta >=1.7.1.1 && <=2")))))))
10575 (inputs
10576 `(("ghc-aeson" ,ghc-aeson)
10577 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10578 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10579 ("ghc-base-compat" ,ghc-base-compat)
10580 ("ghc-generics-sop" ,ghc-generics-sop)
10581 ("ghc-hashable" ,ghc-hashable)
10582 ("ghc-memotrie" ,ghc-memotrie)
10583 ("ghc-parsers" ,ghc-parsers)
10584 ("ghc-quickcheck" ,ghc-quickcheck)
10585 ("ghc-scientific" ,ghc-scientific)
10586 ("ghc-tagged" ,ghc-tagged)
10587 ("ghc-unordered-containers" ,ghc-unordered-containers)
10588 ("ghc-uuid-types" ,ghc-uuid-types)
10589 ("ghc-vector" ,ghc-vector)))
10590 (native-inputs
10591 `(("ghc-base-compat" ,ghc-base-compat)
10592 ("ghc-quickcheck" ,ghc-quickcheck)
10593 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10594 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10595 ("ghc-trifecta" ,ghc-trifecta)
10596 ("ghc-tasty" ,ghc-tasty)
10597 ("ghc-tasty-golden" ,ghc-tasty-golden)
10598 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10599 (home-page "https://github.com/phadej/tree-diff")
10600 (synopsis "Compute difference between (expression) trees")
10601 (description "This Haskell library provides a function for computing
10602the difference between (expression) trees. It also provides a way to
10603compute the difference between arbitrary abstract datatypes (ADTs) using
10604@code{Generics}-derivable helpers.")
10605 (license license:bsd-3)))
10606
10607(define-public ghc-trifecta
10608 (package
10609 (name "ghc-trifecta")
10610 (version "2")
10611 (source (origin
10612 (method url-fetch)
10613 (uri (string-append
10614 "https://hackage.haskell.org/package/trifecta/"
10615 "trifecta-" version ".tar.gz"))
10616 (sha256
10617 (base32
10618 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10619 (build-system haskell-build-system)
10620 (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
10621 (inputs
10622 `(("ghc-reducers" ,ghc-reducers)
10623 ("ghc-semigroups" ,ghc-semigroups)
10624 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10625 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10626 ("ghc-blaze-builder" ,ghc-blaze-builder)
10627 ("ghc-blaze-html" ,ghc-blaze-html)
10628 ("ghc-blaze-markup" ,ghc-blaze-markup)
10629 ("ghc-charset" ,ghc-charset)
10630 ("ghc-comonad" ,ghc-comonad)
10631 ("ghc-fingertree" ,ghc-fingertree)
10632 ("ghc-hashable" ,ghc-hashable)
10633 ("ghc-lens" ,ghc-lens)
10634 ("ghc-parsers" ,ghc-parsers)
10635 ("ghc-profunctors" ,ghc-profunctors)
10636 ("ghc-unordered-containers" ,ghc-unordered-containers)
10637 ("ghc-utf8-string" ,ghc-utf8-string)))
10638 (native-inputs
10639 `(("cabal-doctest" ,cabal-doctest)
10640 ("ghc-doctest" ,ghc-doctest)
10641 ("ghc-quickcheck" ,ghc-quickcheck)))
10642 (home-page "https://github.com/ekmett/trifecta/")
10643 (synopsis "Parser combinator library with convenient diagnostics")
10644 (description "Trifecta is a modern parser combinator library for Haskell,
10645with slicing and Clang-style colored diagnostics.")
10646 (license license:bsd-3)))
10647
10648(define-public ghc-tuple-th
10649 (package
10650 (name "ghc-tuple-th")
10651 (version "0.2.5")
10652 (source
10653 (origin
10654 (method url-fetch)
10655 (uri (string-append "https://hackage.haskell.org/package/"
10656 "tuple-th-" version "/"
10657 "tuple-th-" version ".tar.gz"))
10658 (sha256
10659 (base32
10660 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10661 (build-system haskell-build-system)
10662 (home-page "https://github.com/DanielSchuessler/tuple-th")
10663 (synopsis "Generate utility functions for tuples of statically known size
10664for Haskell")
10665 (description "This Haskell package contains Template Haskell functions for
10666generating functions similar to those in @code{Data.List} for tuples of
10667statically known size.")
10668 (license license:bsd-3)))
10669
10670(define-public ghc-typed-process
10671 (package
10672 (name "ghc-typed-process")
10673 (version "0.2.3.0")
10674 (source
10675 (origin
10676 (method url-fetch)
10677 (uri (string-append "https://hackage.haskell.org/package/"
10678 "typed-process/typed-process-"
10679 version ".tar.gz"))
10680 (sha256
10681 (base32
10682 "0j36vrc9w841m5qbwqra1lwiznx31xfnhin1sm8x2c2739csbpn0"))))
10683 (build-system haskell-build-system)
10684 (inputs
10685 `(("ghc-async" ,ghc-async)))
10686 (native-inputs
10687 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10688 ("ghc-hspec" ,ghc-hspec)
10689 ("hspec-discover" ,hspec-discover)
10690 ("ghc-temporary" ,ghc-temporary)))
10691 (home-page "https://haskell-lang.org/library/typed-process")
10692 (synopsis "Run external processes with strong typing of streams")
10693 (description
10694 "This library provides the ability to launch and interact with external
10695processes. It wraps around the @code{process} library, and intends to improve
10696upon it.")
10697 (license license:expat)))
10698
d392f803
AG
10699(define-public ghc-unagi-chan
10700 (package
10701 (name "ghc-unagi-chan")
10702 (version "0.4.1.2")
10703 (source
10704 (origin
10705 (method url-fetch)
10706 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
10707 "/unagi-chan-" version ".tar.gz"))
10708 (sha256
10709 (base32
10710 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
10711 (build-system haskell-build-system)
10712 (inputs
10713 `(("ghc-atomic-primops" ,ghc-atomic-primops)
10714 ("ghc-primitive" ,ghc-primitive)))
10715 (arguments
10716 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
10717 #:cabal-revision
10718 ("1"
10719 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
10720 (home-page "http://hackage.haskell.org/package/unagi-chan")
10721 (synopsis "Fast concurrent queues with a Chan-like API, and more")
10722 (description
10723 "This library provides implementations of concurrent FIFO queues (for
10724both general boxed and primitive unboxed values) that are fast, perform well
10725under contention, and offer a Chan-like interface. The library may be of
10726limited usefulness outside of x86 architectures where the fetch-and-add
10727instruction is not available.")
10728 (license license:bsd-3)))
10729
dddbc90c
RV
10730(define-public ghc-unbounded-delays
10731 (package
10732 (name "ghc-unbounded-delays")
10733 (version "0.1.1.0")
10734 (source
10735 (origin
10736 (method url-fetch)
10737 (uri (string-append
10738 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
10739 version
10740 ".tar.gz"))
10741 (sha256
10742 (base32
10743 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
10744 (build-system haskell-build-system)
10745 (home-page "https://github.com/basvandijk/unbounded-delays")
10746 (synopsis "Unbounded thread delays and timeouts")
10747 (description "The @code{threadDelay} and @code{timeout} functions from the
10748Haskell base library use the bounded @code{Int} type for specifying the delay
10749or timeout period. This package provides alternative functions which use the
10750unbounded @code{Integer} type.")
10751 (license license:bsd-3)))
10752
10753(define-public ghc-unexceptionalio
10754 (package
10755 (name "ghc-unexceptionalio")
10756 (version "0.4.0")
10757 (source
10758 (origin
10759 (method url-fetch)
10760 (uri (string-append "https://hackage.haskell.org/package/"
10761 "unexceptionalio-" version "/" "unexceptionalio-"
10762 version ".tar.gz"))
10763 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
10764 (build-system haskell-build-system)
10765 (home-page "https://github.com/singpolyma/unexceptionalio")
10766 (synopsis "IO without any non-error, synchronous exceptions")
10767 (description "When you've caught all the exceptions that can be
10768handled safely, this is what you're left with.")
10769 (license license:isc)))
10770
10771(define-public ghc-union-find
10772 (package
10773 (name "ghc-union-find")
10774 (version "0.2")
10775 (source (origin
10776 (method url-fetch)
10777 (uri (string-append
10778 "https://hackage.haskell.org/package/union-find/union-find-"
10779 version ".tar.gz"))
10780 (sha256
10781 (base32
10782 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
10783 (build-system haskell-build-system)
10784 (home-page "https://github.com/nominolo/union-find")
10785 (synopsis "Efficient union and equivalence testing of sets")
10786 (description
10787 "The Union/Find algorithm implements these operations in (effectively)
10788constant-time:
10789@enumerate
10790@item Check whether two elements are in the same equivalence class.
10791@item Create a union of two equivalence classes.
10792@item Look up the descriptor of the equivalence class.
10793@end enumerate\n")
10794 (license license:bsd-3)))
10795
10796(define-public ghc-uniplate
10797 (package
10798 (name "ghc-uniplate")
10799 (version "1.6.12")
10800 (source
10801 (origin
10802 (method url-fetch)
10803 (uri (string-append
10804 "https://hackage.haskell.org/package/uniplate/uniplate-"
10805 version
10806 ".tar.gz"))
10807 (sha256
10808 (base32
10809 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
10810 (build-system haskell-build-system)
10811 (inputs
10812 `(("ghc-syb" ,ghc-syb)
10813 ("ghc-hashable" ,ghc-hashable)
10814 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10815 (home-page "http://community.haskell.org/~ndm/uniplate/")
10816 (synopsis "Simple, concise and fast generic operations")
10817 (description "Uniplate is a library for writing simple and concise generic
10818operations. Uniplate has similar goals to the original Scrap Your Boilerplate
10819work, but is substantially simpler and faster.")
10820 (license license:bsd-3)))
10821
10822(define-public ghc-unix-compat
10823 (package
10824 (name "ghc-unix-compat")
bc82e9f5 10825 (version "0.5.2")
dddbc90c
RV
10826 (source
10827 (origin
10828 (method url-fetch)
10829 (uri (string-append
10830 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
10831 version
10832 ".tar.gz"))
10833 (sha256
10834 (base32
bc82e9f5 10835 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
10836 (build-system haskell-build-system)
10837 (home-page
10838 "https://github.com/jystic/unix-compat")
10839 (synopsis "Portable POSIX-compatibility layer")
10840 (description
10841 "This package provides portable implementations of parts of the unix
10842package. This package re-exports the unix package when available. When it
10843isn't available, portable implementations are used.")
10844 (license license:bsd-3)))
10845
10846(define-public ghc-unix-time
10847 (package
10848 (name "ghc-unix-time")
10849 (version "0.3.8")
10850 (source
10851 (origin
10852 (method url-fetch)
10853 (uri (string-append
10854 "https://hackage.haskell.org/package/unix-time/unix-time-"
10855 version
10856 ".tar.gz"))
10857 (sha256
10858 (base32
10859 "051slgpid5cxiaw203ky0ql3823h28fcjs08axkzd4265wrvv8fw"))))
10860 (build-system haskell-build-system)
10861 (arguments
10862 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
10863 ; is weird, that should be provided by GHC 7.10.2.
10864 (inputs
10865 `(("ghc-old-time" ,ghc-old-time)
10866 ("ghc-old-locale" ,ghc-old-locale)))
10867 (home-page "https://hackage.haskell.org/package/unix-time")
10868 (synopsis "Unix time parser/formatter and utilities")
10869 (description "This library provides fast parsing and formatting utilities
10870for Unix time in Haskell.")
10871 (license license:bsd-3)))
10872
10873(define-public ghc-unliftio
10874 (package
10875 (name "ghc-unliftio")
10876 (version "0.2.7.0")
10877 (source
10878 (origin
10879 (method url-fetch)
10880 (uri (string-append
10881 "https://hackage.haskell.org/package/unliftio/unliftio-"
10882 version
10883 ".tar.gz"))
10884 (sha256
10885 (base32
10886 "0qql93lq5w7qghl454cc3s1i8v1jb4h08n82fqkw0kli4g3g9njs"))))
10887 (build-system haskell-build-system)
10888 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
10889 (inputs
10890 `(("ghc-async" ,ghc-async)
10891 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10892 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
10893 (home-page "https://github.com/fpco/unliftio")
10894 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
10895IO (batteries included)")
10896 (description "This Haskell package provides the core @code{MonadUnliftIO}
10897typeclass, a number of common instances, and a collection of common functions
10898working with it.")
10899 (license license:expat)))
10900
10901(define-public ghc-unliftio-core
10902 (package
10903 (name "ghc-unliftio-core")
2ae42618 10904 (version "0.1.2.0")
dddbc90c
RV
10905 (source
10906 (origin
10907 (method url-fetch)
10908 (uri (string-append "https://hackage.haskell.org/package/"
10909 "unliftio-core-" version "/"
10910 "unliftio-core-" version ".tar.gz"))
10911 (sha256
10912 (base32
2ae42618 10913 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
10914 (build-system haskell-build-system)
10915 (arguments
10916 `(#:cabal-revision
2ae42618 10917 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
10918 (home-page
10919 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
10920 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
10921 (description "This Haskell package provides the core @code{MonadUnliftIO}
10922typeclass, instances for base and transformers, and basic utility
10923functions.")
10924 (license license:expat)))
10925
10926(define-public ghc-unordered-containers
10927 (package
10928 (name "ghc-unordered-containers")
10929 (version "0.2.9.0")
10930 (outputs '("out" "doc"))
10931 (source
10932 (origin
10933 (method url-fetch)
10934 (uri (string-append
10935 "https://hackage.haskell.org/package/unordered-containers"
10936 "/unordered-containers-" version ".tar.gz"))
10937 (sha256
10938 (base32
10939 "0l4264p0av12cc6i8gls13q8y27x12z2ar4x34n3x59y99fcnc37"))))
10940 (build-system haskell-build-system)
10941 (inputs
10942 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
10943 ("ghc-hunit" ,ghc-hunit)
10944 ("ghc-quickcheck" ,ghc-quickcheck)
10945 ("ghc-test-framework" ,ghc-test-framework)
10946 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10947 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
10948 ("ghc-hashable" ,ghc-hashable)))
10949 (home-page
10950 "https://github.com/tibbe/unordered-containers")
10951 (synopsis
10952 "Efficient hashing-based container types")
10953 (description
10954 "Efficient hashing-based container types. The containers have been
10955optimized for performance critical use, both in terms of large data quantities
10956and high speed.")
10957 (license license:bsd-3)))
10958
10959(define-public ghc-unordered-containers-bootstrap
10960 (package
10961 (inherit ghc-unordered-containers)
10962 (name "ghc-unordered-containers-bootstrap")
10963 (arguments `(#:tests? #f))
10964 (inputs
10965 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 10966 (properties '((hidden? #t)))))
dddbc90c 10967
a52f4c57
JS
10968(define-public ghc-unsafe
10969 (package
10970 (name "ghc-unsafe")
10971 (version "0.0")
10972 (source
10973 (origin
10974 (method url-fetch)
10975 (uri
10976 (string-append
10977 "https://hackage.haskell.org/package/unsafe/unsafe-"
10978 version ".tar.gz"))
10979 (sha256
10980 (base32
10981 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
10982 (build-system haskell-build-system)
10983 (home-page "https://hackage.haskell.org/package/unsafe")
10984 (synopsis "Unified interface to unsafe functions")
10985 (description "Safe Haskell introduced the notion of safe and unsafe
10986modules. In order to make as many as possible modules ``safe'', the
10987well-known unsafe functions were moved to distinguished modules. This
10988makes it hard to write packages that work with both old and new versions
10989of GHC. This package provides a single module System.Unsafe that
10990exports the unsafe functions from the base package. It provides them in
10991a style ready for qualification, that is, you should import them by
10992@code{import qualified System.Unsafe as Unsafe}.")
10993 (license license:bsd-3)))
10994
dddbc90c
RV
10995(define-public ghc-uri-bytestring
10996 (package
10997 (name "ghc-uri-bytestring")
10998 (version "0.3.2.0")
10999 (source
11000 (origin
11001 (method url-fetch)
11002 (uri (string-append "https://hackage.haskell.org/package/"
11003 "uri-bytestring-" version "/"
11004 "uri-bytestring-" version ".tar.gz"))
11005 (sha256
11006 (base32
11007 "1q04j5ybvk37zk2m0bkjwyhblz0ymdj0cn4rvsvdca1ikn5xdv5c"))))
11008 (build-system haskell-build-system)
11009 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11010 ("ghc-fail" ,ghc-fail)
11011 ("ghc-blaze-builder" ,ghc-blaze-builder)
11012 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
11013 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11014 ("ghc-hunit" ,ghc-hunit)
11015 ("ghc-quickcheck" ,ghc-quickcheck)
11016 ("ghc-tasty" ,ghc-tasty)
11017 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11018 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11019 ("ghc-base-compat" ,ghc-base-compat)
11020 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11021 ("ghc-semigroups" ,ghc-semigroups)
11022 ("ghc-generics-sop" ,ghc-generics-sop)))
11023 (home-page "https://github.com/Soostone/uri-bytestring")
11024 (synopsis "Haskell URI parsing as ByteStrings")
11025 (description "This Haskell package aims to be an RFC3986 compliant URI
11026parser that uses ByteStrings for parsing and representing the URI data.")
11027 (license license:bsd-3)))
11028
11029(define-public ghc-utf8-string
11030 (package
11031 (name "ghc-utf8-string")
11032 (version "1.0.1.1")
11033 (source
11034 (origin
11035 (method url-fetch)
11036 (uri (string-append
11037 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
11038 version
11039 ".tar.gz"))
11040 (sha256
11041 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
11042 (build-system haskell-build-system)
11043 (arguments
11044 `(#:cabal-revision
11045 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
11046 (home-page "https://github.com/glguy/utf8-string/")
11047 (synopsis "Support for reading and writing UTF8 Strings")
11048 (description
11049 "A UTF8 layer for Strings. The utf8-string package provides operations
11050for encoding UTF8 strings to Word8 lists and back, and for reading and writing
11051UTF8 without truncation.")
11052 (license license:bsd-3)))
11053
11054(define-public ghc-utility-ht
11055 (package
11056 (name "ghc-utility-ht")
11057 (version "0.0.14")
11058 (home-page "https://hackage.haskell.org/package/utility-ht")
11059 (source
11060 (origin
11061 (method url-fetch)
11062 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
11063 (sha256
11064 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
11065 (build-system haskell-build-system)
11066 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
11067 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
11068 (description "This package includes Hakell modules providing various
11069helper functions for Lists, Maybes, Tuples, Functions.")
11070 (license license:bsd-3)))
11071
11072(define-public ghc-uuid
11073 (package
11074 (name "ghc-uuid")
11075 (version "1.3.13")
11076 (source
11077 (origin
11078 (method url-fetch)
11079 (uri (string-append "https://hackage.haskell.org/package/"
11080 "uuid-" version "/"
11081 "uuid-" version ".tar.gz"))
11082 (sha256
11083 (base32
11084 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
11085 (build-system haskell-build-system)
11086 (arguments
11087 `(#:cabal-revision
11088 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
11089 #:phases
11090 (modify-phases %standard-phases
11091 (add-before 'configure 'strip-test-framework-constraints
11092 (lambda _
11093 (substitute* "uuid.cabal"
11094 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
11095 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
11096 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11097 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11098 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11099 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
11100 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
11101 ("ghc-entropy" ,ghc-entropy)
11102 ("ghc-network-info" ,ghc-network-info)
11103 ("ghc-random" ,ghc-random)
11104 ("ghc-uuid-types" ,ghc-uuid-types)))
11105 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11106 ("ghc-quickcheck" ,ghc-quickcheck)
11107 ("ghc-tasty" ,ghc-tasty)
11108 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11109 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11110 (home-page "https://github.com/hvr/uuid")
11111 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
11112 (description "This Haskell library provides utilities creating, comparing,
11113parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
11114 (license license:bsd-3)))
11115
11116(define-public ghc-uuid-types
11117 (package
11118 (name "ghc-uuid-types")
11119 (version "1.0.3")
11120 (source
11121 (origin
11122 (method url-fetch)
11123 (uri (string-append "https://hackage.haskell.org/package/"
11124 "uuid-types-" version "/"
11125 "uuid-types-" version ".tar.gz"))
11126 (sha256
11127 (base32
11128 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
11129 (build-system haskell-build-system)
11130 (arguments
11131 `(#:phases
11132 (modify-phases %standard-phases
11133 (add-before 'configure 'strip-test-framework-constraints
11134 (lambda _
11135 (substitute* "uuid-types.cabal"
11136 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
11137 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
11138 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11139 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11140 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11141 (inputs `(("ghc-hashable" ,ghc-hashable)
11142 ("ghc-random" ,ghc-random)))
11143 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11144 ("ghc-quickcheck" ,ghc-quickcheck)
11145 ("ghc-tasty" ,ghc-tasty)
11146 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11147 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11148 (home-page "https://github.com/hvr/uuid")
11149 (synopsis "Haskell type definitions for UUIDs")
11150 (description "This Haskell library contains type definitions for
11151@dfn{Universally Unique Identifiers} or
11152@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
11153functions.")
11154 (license license:bsd-3)))
11155
11156(define-public ghc-validation
11157 (package
11158 (name "ghc-validation")
11159 (version "1")
11160 (source
11161 (origin
11162 (method url-fetch)
11163 (uri (string-append
11164 "mirror://hackage/package/validation/validation-"
11165 version
11166 ".tar.gz"))
11167 (sha256
11168 (base32
11169 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
11170 (build-system haskell-build-system)
11171 (arguments
11172 `(#:cabal-revision
11173 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
11174 (inputs
11175 `(("ghc-semigroups" ,ghc-semigroups)
11176 ("ghc-semigroupoids" ,ghc-semigroupoids)
11177 ("ghc-bifunctors" ,ghc-bifunctors)
11178 ("ghc-lens" ,ghc-lens)))
11179 (native-inputs
11180 `(("ghc-hedgehog" ,ghc-hedgehog)
11181 ("ghc-hunit" ,ghc-hunit)))
11182 (home-page "https://github.com/qfpl/validation")
11183 (synopsis
11184 "Data-type like Either but with an accumulating Applicative")
11185 (description
11186 "A data-type like Either but with differing properties and type-class
11187instances.
11188
11189Library support is provided for this different representation, including
11190@code{lens}-related functions for converting between each and abstracting over
11191their similarities.
11192
11193The @code{Validation} data type is isomorphic to @code{Either}, but has an
11194instance of @code{Applicative} that accumulates on the error side. That is to
11195say, if two (or more) errors are encountered, they are appended using a
11196@{Semigroup} operation.
11197
11198As a consequence of this @code{Applicative} instance, there is no
11199corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11200example of, \"An applicative functor that is not a monad.\"")
11201 (license license:bsd-3)))
11202
11203(define-public ghc-validity
11204 (package
11205 (name "ghc-validity")
11206 (version "0.7.0.0")
11207 (source
11208 (origin
11209 (method url-fetch)
11210 (uri (string-append
11211 "https://hackage.haskell.org/package/validity/validity-"
11212 version
11213 ".tar.gz"))
11214 (sha256
11215 (base32
11216 "0xribw98amafihw87ddajk6vlirp7w9b26lrnjgq7jfm4710j95f"))))
11217 (build-system haskell-build-system)
11218 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11219 ("hspec-discover" ,hspec-discover)))
11220 (home-page
11221 "https://github.com/NorfairKing/validity")
11222 (synopsis "Validity typeclass")
11223 (description
11224 "Values of custom types usually have invariants imposed upon them. This
11225package provides the @code{Validity} type class, which makes these invariants
11226explicit by providing a function to check whether the invariants hold.")
11227 (license license:expat)))
11228
11229(define-public ghc-vault
11230 (package
11231 (name "ghc-vault")
11232 (version "0.3.1.2")
11233 (source
11234 (origin
11235 (method url-fetch)
11236 (uri (string-append
11237 "https://hackage.haskell.org/package/vault/vault-"
11238 version
11239 ".tar.gz"))
11240 (sha256
11241 (base32
11242 "072mbrihsdsb8c6xvg6lvk0rqjgvxvi8qkg4n6wwym5hq0pfa04y"))))
11243 (build-system haskell-build-system)
11244 (inputs
11245 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11246 ("ghc-hashable" ,ghc-hashable)
11247 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11248 (home-page
11249 "https://github.com/HeinrichApfelmus/vault")
11250 (synopsis "Persistent store for arbitrary values")
11251 (description "This package provides vaults for Haskell. A vault is a
11252persistent store for values of arbitrary types. It's like having first-class
11253access to the storage space behind @code{IORefs}. The data structure is
11254analogous to a bank vault, where you can access different bank boxes with
11255different keys; hence the name. Also provided is a @code{locker} type,
11256representing a store for a single element.")
11257 (license license:bsd-3)))
11258
11259(define-public ghc-vector
11260 (package
11261 (name "ghc-vector")
11262 (version "0.12.0.1")
11263 (outputs '("out" "doc"))
11264 (source
11265 (origin
11266 (method url-fetch)
11267 (uri (string-append
11268 "https://hackage.haskell.org/package/vector/vector-"
11269 version
11270 ".tar.gz"))
11271 (sha256
11272 (base32
11273 "0yrx2ypiaxahvaz84af5bi855hd3107kxkbqc8km29nsp5wyw05i"))))
11274 (build-system haskell-build-system)
11275 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11276 ;; disabled for now.
11277 (arguments
11278 `(#:cabal-revision
11279 ("3" "0y5rh8k710i2a3p1h2rghvr5cfg78p5h0kbfi7ifxqqf6pzlyr1x")
11280 #:tests? #f))
11281 (inputs
11282 `(("ghc-primitive" ,ghc-primitive)
11283 ("ghc-random" ,ghc-random)
11284 ("ghc-quickcheck" ,ghc-quickcheck)
11285 ;; ("ghc-hunit" ,ghc-hunit)
11286 ;; ("ghc-test-framework" ,ghc-test-framework)
11287 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11288 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11289 ))
11290 (home-page "https://github.com/haskell/vector")
11291 (synopsis "Efficient Arrays")
11292 (description "This library provides an efficient implementation of
11293Int-indexed arrays (both mutable and immutable), with a powerful loop
11294optimisation framework.")
11295 (license license:bsd-3)))
11296
11297(define-public ghc-vector-algorithms
11298 (package
11299 (name "ghc-vector-algorithms")
11300 (version "0.7.0.4")
11301 (source
11302 (origin
11303 (method url-fetch)
11304 (uri (string-append "https://hackage.haskell.org/package/"
11305 "vector-algorithms-" version "/"
11306 "vector-algorithms-" version ".tar.gz"))
11307 (sha256
11308 (base32
11309 "0mfa8ig9v69l41p2vb5jl4qmaln5y1rlzarr2mlgm8g1nvq8qqdg"))))
11310 (build-system haskell-build-system)
11311 (inputs
11312 `(("ghc-vector" ,ghc-vector)))
11313 (native-inputs
11314 `(("ghc-quickcheck" ,ghc-quickcheck)))
11315 (home-page "https://github.com/bos/math-functions")
11316 (synopsis "Algorithms for vector arrays in Haskell")
11317 (description "This Haskell library algorithms for vector arrays.")
11318 (license license:bsd-3)))
11319
11320(define-public ghc-vector-binary-instances
11321 (package
11322 (name "ghc-vector-binary-instances")
11323 (version "0.2.4")
11324 (source
11325 (origin
11326 (method url-fetch)
11327 (uri (string-append
11328 "https://hackage.haskell.org/package/"
11329 "vector-binary-instances/vector-binary-instances-"
11330 version ".tar.gz"))
11331 (sha256
11332 (base32
11333 "1y236jb72iab9ska1mc48z6yb0xgwmj45laaqdyjxksd84z7hbrb"))))
11334 (build-system haskell-build-system)
11335 (arguments
11336 `(#:cabal-revision
11337 ("1" "196frl4akhfk7xf1nxzn8lmq99dxhzhsimanswn9yy7ym8zhki4i")))
11338 (inputs
11339 `(("ghc-vector" ,ghc-vector)))
11340 (native-inputs
11341 `(("ghc-tasty" ,ghc-tasty)
11342 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11343 (home-page "https://github.com/bos/vector-binary-instances")
11344 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11345 (description "This library provides instances of @code{Binary} for the
11346types defined in the @code{vector} package, making it easy to serialize
11347vectors to and from disk. We use the generic interface to vectors, so all
11348vector types are supported. Specific instances are provided for unboxed,
11349boxed and storable vectors.")
11350 (license license:bsd-3)))
11351
11352(define-public ghc-vector-builder
11353 (package
11354 (name "ghc-vector-builder")
11355 (version "0.3.6")
11356 (source
11357 (origin
11358 (method url-fetch)
11359 (uri (string-append "https://hackage.haskell.org/package/"
11360 "vector-builder-" version "/"
11361 "vector-builder-" version ".tar.gz"))
11362 (sha256
11363 (base32
11364 "06d2pa1fb3ydrl7l6rjazqyxv5i73v65x2f5fp0ypjxfbm6jsmn8"))))
11365 (build-system haskell-build-system)
11366 (inputs `(("ghc-vector" ,ghc-vector)
11367 ("ghc-semigroups" ,ghc-semigroups)
11368 ("ghc-base-prelude" ,ghc-base-prelude)))
11369 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11370 ("ghc-tasty" ,ghc-tasty)
11371 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11372 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11373 ("ghc-hunit" ,ghc-hunit)
11374 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11375 ("ghc-rerebase" ,ghc-rerebase)))
11376 (home-page "https://github.com/nikita-volkov/vector-builder")
11377 (synopsis "Vector builder for Haskell")
11378 (description "This Haskell package provides an API for constructing vectors.
11379It provides the composable @code{Builder} abstraction, which has instances of the
11380@code{Monoid} and @code{Semigroup} classes.
11381
11382You would first use the @code{Builder} abstraction to specify the structure of
11383the vector; then you can execute the builder to actually produce the
11384vector. ")
11385 (license license:expat)))
11386
11387(define-public ghc-vector-th-unbox
11388 (package
11389 (name "ghc-vector-th-unbox")
11390 (version "0.2.1.6")
11391 (source
11392 (origin
11393 (method url-fetch)
11394 (uri (string-append "https://hackage.haskell.org/package/"
11395 "vector-th-unbox-" version "/"
11396 "vector-th-unbox-" version ".tar.gz"))
11397 (sha256
11398 (base32
11399 "0d82x55f5vvr1jvaia382m23rs690lg55pvavv8f4ph0y6kd91xy"))))
11400 (build-system haskell-build-system)
11401 (inputs
11402 `(("ghc-vector" ,ghc-vector)
11403 ("ghc-data-default" ,ghc-data-default)))
11404 (home-page "https://github.com/liyang/vector-th-unbox")
11405 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
11406 (description "This Haskell library provides a Template Haskell
11407deriver for unboxed vectors, given a pair of coercion functions to
11408and from some existing type with an Unbox instance.")
11409 (license license:bsd-3)))
11410
11411(define-public ghc-void
11412 (package
11413 (name "ghc-void")
11414 (version "0.7.2")
11415 (source
11416 (origin
11417 (method url-fetch)
11418 (uri (string-append
11419 "https://hackage.haskell.org/package/void/void-"
11420 version
11421 ".tar.gz"))
11422 (sha256
11423 (base32
11424 "0aygw0yb1h3yhmfl3bkwh5d3h0l4mmsxz7j53vdm6jryl1kgxzyk"))))
11425 (build-system haskell-build-system)
11426 (inputs
11427 `(("ghc-semigroups" ,ghc-semigroups)
11428 ("ghc-hashable" ,ghc-hashable)))
11429 (home-page "https://github.com/ekmett/void")
11430 (synopsis
11431 "Logically uninhabited data type")
11432 (description
11433 "A Haskell 98 logically uninhabited data type, used to indicate that a
11434given term should not exist.")
11435 (license license:bsd-3)))
11436
11437(define-public ghc-wave
11438 (package
11439 (name "ghc-wave")
11440 (version "0.1.5")
11441 (source (origin
11442 (method url-fetch)
11443 (uri (string-append
11444 "https://hackage.haskell.org/package/wave/wave-"
11445 version
11446 ".tar.gz"))
11447 (sha256
11448 (base32
11449 "03zycmwrchhqvi37fdvlzz2d1vl4hy0i8xyys1zznw38qfq0h2i5"))))
11450 (build-system haskell-build-system)
11451 (arguments
11452 '(#:phases
11453 (modify-phases %standard-phases
11454 (add-before 'configure 'update-constraints
11455 (lambda _
11456 (substitute* "wave.cabal"
11457 (("temporary.* < 1\\.3")
11458 "temporary >= 1.1 && < 1.4")))))))
11459 (inputs
11460 `(("ghc-cereal" ,ghc-cereal)
11461 ("ghc-data-default-class"
11462 ,ghc-data-default-class)
11463 ("ghc-quickcheck" ,ghc-quickcheck)
11464 ("ghc-temporary" ,ghc-temporary)))
11465 (native-inputs
11466 `(("hspec-discover" ,hspec-discover)
11467 ("ghc-hspec" ,ghc-hspec)))
11468 (home-page "https://github.com/mrkkrp/wave")
11469 (synopsis "Work with WAVE and RF64 files in Haskell")
11470 (description "This package allows you to work with WAVE and RF64
11471files in Haskell.")
11472 (license license:bsd-3)))
11473
11474(define-public ghc-wcwidth
11475 (package
11476 (name "ghc-wcwidth")
11477 (version "0.0.2")
11478 (source
11479 (origin
11480 (method url-fetch)
11481 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11482 version ".tar.gz"))
11483 (sha256
11484 (base32
11485 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11486 (build-system haskell-build-system)
11487 (inputs
11488 `(("ghc-setlocale" ,ghc-setlocale)
11489 ("ghc-utf8-string" ,ghc-utf8-string)
11490 ("ghc-attoparsec" ,ghc-attoparsec)))
11491 (home-page "https://github.com/solidsnack/wcwidth/")
11492 (synopsis "Haskell bindings to wcwidth")
11493 (description "This package provides Haskell bindings to your system's
11494native wcwidth and a command line tool to examine the widths assigned by it.
11495The command line tool can compile a width table to Haskell code that assigns
11496widths to the Char type.")
11497 (license license:bsd-3)))
11498
11499(define-public ghc-wcwidth-bootstrap
11500 (package
11501 (inherit ghc-wcwidth)
11502 (name "ghc-wcwidth-bootstrap")
11503 (inputs
11504 `(("ghc-setlocale" ,ghc-setlocale)
11505 ("ghc-utf8-string" ,ghc-utf8-string)
11506 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 11507 (properties '((hidden? #t)))))
dddbc90c
RV
11508
11509(define-public ghc-weigh
11510 (package
11511 (name "ghc-weigh")
11512 (version "0.0.12")
11513 (source
11514 (origin
11515 (method url-fetch)
11516 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11517 "weigh-" version ".tar.gz"))
11518 (sha256
11519 (base32
11520 "0zw2a997gxgdzqmd7j730kxgynzmjvvlkw84dajmfzf1v9pbij7x"))))
11521 (build-system haskell-build-system)
11522 (inputs
11523 `(("ghc-split" ,ghc-split)
11524 ("ghc-temporary" ,ghc-temporary)))
11525 (home-page "https://github.com/fpco/weigh#readme")
11526 (synopsis "Measure allocations of a Haskell functions/values")
11527 (description "This package provides tools to measure the memory usage of a
11528Haskell value or function.")
11529 (license license:bsd-3)))
11530
11531(define-public ghc-wl-pprint
11532 (package
11533 (name "ghc-wl-pprint")
11534 (version "1.2.1")
11535 (source (origin
11536 (method url-fetch)
11537 (uri (string-append
11538 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11539 version ".tar.gz"))
11540 (sha256
11541 (base32
11542 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11543 (build-system haskell-build-system)
11544 (home-page "https://hackage.haskell.org/package/wl-pprint")
11545 (synopsis "Wadler/Leijen pretty printer")
11546 (description
11547 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11548Printer}. This version allows the library user to declare overlapping
11549instances of the @code{Pretty} class.")
11550 (license license:bsd-3)))
11551
11552(define-public ghc-wl-pprint-annotated
11553 (package
11554 (name "ghc-wl-pprint-annotated")
11555 (version "0.1.0.1")
11556 (source
11557 (origin
11558 (method url-fetch)
11559 (uri (string-append
11560 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11561 version
11562 ".tar.gz"))
11563 (sha256
11564 (base32
11565 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11566 (build-system haskell-build-system)
11567 (native-inputs
11568 `(("ghc-tasty" ,ghc-tasty)
11569 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11570 (home-page
11571 "https://github.com/minad/wl-pprint-annotated#readme")
11572 (synopsis
11573 "Wadler/Leijen pretty printer with annotation support")
11574 (description
11575 "Annotations are useful for coloring. This is a limited version of
11576@code{wl-pprint-extras} without support for point effects and without the free
11577monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11578Compared to @code{annotated-wl-pprint} this library provides a slightly
11579modernized interface.")
11580 (license license:bsd-3)))
11581
11582(define-public ghc-wl-pprint-text
11583 (package
11584 (name "ghc-wl-pprint-text")
11585 (version "1.2.0.0")
11586 (source
11587 (origin
11588 (method url-fetch)
11589 (uri (string-append
11590 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11591 version ".tar.gz"))
11592 (sha256
11593 (base32
11594 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11595 (build-system haskell-build-system)
11596 (inputs
11597 `(("ghc-base-compat" ,ghc-base-compat)))
11598 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11599 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11600 (description
11601 "A clone of wl-pprint for use with the text library.")
11602 (license license:bsd-3)))
11603
11604(define-public ghc-word8
11605 (package
11606 (name "ghc-word8")
11607 (version "0.1.3")
11608 (source
11609 (origin
11610 (method url-fetch)
11611 (uri (string-append
11612 "https://hackage.haskell.org/package/word8/word8-"
11613 version
11614 ".tar.gz"))
11615 (sha256
11616 (base32
11617 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11618 (build-system haskell-build-system)
11619 (native-inputs
11620 `(("ghc-hspec" ,ghc-hspec)
11621 ("hspec-discover" ,hspec-discover)))
11622 (home-page "https://hackage.haskell.org/package/word8")
11623 (synopsis "Word8 library for Haskell")
11624 (description "Word8 library to be used with @code{Data.ByteString}.")
11625 (license license:bsd-3)))
11626
11627(define-public ghc-x11
11628 (package
11629 (name "ghc-x11")
11630 (version "1.9")
11631 (source
11632 (origin
11633 (method url-fetch)
11634 (uri (string-append "https://hackage.haskell.org/package/X11/"
11635 "X11-" version ".tar.gz"))
11636 (sha256
11637 (base32 "1f8dy6ckkyvpcv7zlniyv01cqjb9lgqscm8pml58cvwc7n38w4qh"))))
11638 (build-system haskell-build-system)
11639 (inputs
11640 `(("libx11" ,libx11)
11641 ("libxrandr" ,libxrandr)
11642 ("libxinerama" ,libxinerama)
11643 ("libxscrnsaver" ,libxscrnsaver)
11644 ("ghc-data-default" ,ghc-data-default)))
11645 (home-page "https://github.com/haskell-pkg-janitors/X11")
11646 (synopsis "Bindings to the X11 graphics library")
11647 (description
11648 "This package provides Haskell bindings to the X11 graphics library. The
11649bindings are a direct translation of the C bindings.")
11650 (license license:bsd-3)))
11651
11652(define-public ghc-x11-xft
11653 (package
11654 (name "ghc-x11-xft")
11655 (version "0.3.1")
11656 (source
11657 (origin
11658 (method url-fetch)
11659 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11660 "X11-xft-" version ".tar.gz"))
11661 (sha256
11662 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11663 (inputs
11664 `(("ghc-x11" ,ghc-x11)
11665 ("ghc-utf8-string" ,ghc-utf8-string)
11666 ("libx11" ,libx11)
11667 ("libxft" ,libxft)
11668 ("xorgproto" ,xorgproto)))
11669 (native-inputs
11670 `(("pkg-config" ,pkg-config)))
11671 (build-system haskell-build-system)
11672 (home-page "https://hackage.haskell.org/package/X11-xft")
11673 (synopsis "Bindings to Xft")
11674 (description
11675 "Bindings to the Xft, X Free Type interface library, and some Xrender
11676parts.")
11677 (license license:lgpl2.1)))
11678
11679(define-public ghc-xdg-basedir
11680 (package
11681 (name "ghc-xdg-basedir")
11682 (version "0.2.2")
11683 (source
11684 (origin
11685 (method url-fetch)
11686 (uri (string-append
11687 "https://hackage.haskell.org/package/xdg-basedir/"
11688 "xdg-basedir-" version ".tar.gz"))
11689 (sha256
11690 (base32
11691 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
11692 (build-system haskell-build-system)
11693 (home-page "http://github.com/willdonnelly/xdg-basedir")
11694 (synopsis "XDG Base Directory library for Haskell")
11695 (description "This package provides a library implementing the XDG Base Directory spec.")
11696 (license license:bsd-3)))
11697
11698(define-public ghc-xml
11699 (package
11700 (name "ghc-xml")
11701 (version "1.3.14")
11702 (source
11703 (origin
11704 (method url-fetch)
11705 (uri (string-append
11706 "https://hackage.haskell.org/package/xml/xml-"
11707 version
11708 ".tar.gz"))
11709 (sha256
11710 (base32
11711 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
11712 (build-system haskell-build-system)
11713 (home-page "http://code.galois.com")
11714 (synopsis "Simple XML library for Haskell")
11715 (description "This package provides a simple XML library for Haskell.")
11716 (license license:bsd-3)))
11717
11718(define-public ghc-xml-conduit
11719 (package
11720 (name "ghc-xml-conduit")
11721 (version "1.8.0.1")
11722 (source
11723 (origin
11724 (method url-fetch)
11725 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
11726 "xml-conduit-" version ".tar.gz"))
11727 (sha256
11728 (base32
11729 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
11730 (build-system haskell-build-system)
11731 (inputs
11732 `(("ghc-conduit" ,ghc-conduit)
11733 ("ghc-conduit-extra" ,ghc-conduit-extra)
11734 ("ghc-doctest" ,ghc-doctest)
11735 ("ghc-resourcet" ,ghc-resourcet)
11736 ("ghc-xml-types" ,ghc-xml-types)
11737 ("ghc-attoparsec" ,ghc-attoparsec)
11738 ("ghc-data-default-class" ,ghc-data-default-class)
11739 ("ghc-blaze-markup" ,ghc-blaze-markup)
11740 ("ghc-blaze-html" ,ghc-blaze-html)
11741 ("ghc-monad-control" ,ghc-monad-control)
11742 ("ghc-hspec" ,ghc-hspec)
11743 ("ghc-hunit" ,ghc-hunit)))
11744 (home-page "https://github.com/snoyberg/xml")
11745 (synopsis "Utilities for dealing with XML with the conduit package")
11746 (description
11747 "This package provides pure-Haskell utilities for dealing with XML with
11748the @code{conduit} package.")
11749 (license license:expat)))
11750
11751(define-public ghc-xml-types
11752 (package
11753 (name "ghc-xml-types")
11754 (version "0.3.6")
11755 (source
11756 (origin
11757 (method url-fetch)
11758 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
11759 "xml-types-" version ".tar.gz"))
11760 (sha256
11761 (base32
11762 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
11763 (build-system haskell-build-system)
11764 (home-page "https://john-millikin.com/software/haskell-xml/")
11765 (synopsis "Basic types for representing XML")
11766 (description "This package provides basic types for representing XML
11767documents.")
11768 (license license:expat)))
11769
11770(define-public ghc-yaml
11771 (package
11772 (name "ghc-yaml")
11773 (version "0.8.32")
11774 (source (origin
11775 (method url-fetch)
11776 (uri (string-append "https://hackage.haskell.org/package/"
11777 "yaml/yaml-" version ".tar.gz"))
11778 (sha256
11779 (base32
11780 "0cbsyh4ilvjzq1q7pxls43k6pdqxg1l85xzibcwpbvmlvrizh86w"))))
11781 (build-system haskell-build-system)
11782 ;; The tests are broken on i686. They are fixed in 0.10.3.0.
11783 ;; See https://github.com/snoyberg/yaml/issues/158
11784 (arguments `(#:tests? #f))
11785 (inputs
11786 `(("ghc-conduit" ,ghc-conduit)
11787 ("ghc-resourcet" ,ghc-resourcet)
11788 ("ghc-aeson" ,ghc-aeson)
11789 ("ghc-unordered-containers" ,ghc-unordered-containers)
11790 ("ghc-vector" ,ghc-vector)
11791 ("ghc-attoparsec" ,ghc-attoparsec)
11792 ("ghc-scientific" ,ghc-scientific)
11793 ("ghc-semigroups" ,ghc-semigroups)
11794 ("ghc-temporary" ,ghc-temporary)
11795 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11796 ("ghc-base-compat" ,ghc-base-compat)))
11797 (native-inputs
11798 `(("ghc-hspec" ,ghc-hspec)
11799 ("ghc-hunit" ,ghc-hunit)
11800 ("hspec-discover" ,hspec-discover)
11801 ("ghc-mockery" ,ghc-mockery)))
11802 (home-page "https://github.com/snoyberg/yaml/")
11803 (synopsis "Parsing and rendering YAML documents")
11804 (description
11805 "This package provides a library to parse and render YAML documents.")
11806 (license license:bsd-3)))
11807
11808(define-public ghc-zip-archive
11809 (package
11810 (name "ghc-zip-archive")
11811 (version "0.3.3")
11812 (source
11813 (origin
11814 (method url-fetch)
11815 (uri (string-append
11816 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
11817 version
11818 ".tar.gz"))
11819 (sha256
11820 (base32
11821 "0kf8xyac168bng8a0za2jwrbss7a4ralvci9g54hnvl0gkkxx2lq"))))
11822 (build-system haskell-build-system)
11823 (inputs
11824 `(("ghc-digest" ,ghc-digest)
11825 ("ghc-temporary" ,ghc-temporary)
11826 ("ghc-zlib" ,ghc-zlib)))
11827 (native-inputs
11828 `(("ghc-hunit" ,ghc-hunit)
11829 ("unzip" ,unzip)))
11830 (home-page "https://hackage.haskell.org/package/zip-archive")
11831 (synopsis "Zip archive library for Haskell")
11832 (description "The zip-archive library provides functions for creating,
11833modifying, and extracting files from zip archives in Haskell.")
11834 (license license:bsd-3)))
11835
11836(define-public ghc-zlib
11837 (package
11838 (name "ghc-zlib")
11839 (version "0.6.2")
11840 (outputs '("out" "doc"))
11841 (source
11842 (origin
11843 (method url-fetch)
11844 (uri (string-append
11845 "https://hackage.haskell.org/package/zlib/zlib-"
11846 version
11847 ".tar.gz"))
11848 (sha256
11849 (base32
11850 "1vbzf0awb6zb456xf48za1kl22018646cfzq4frvxgb9ay97vk0d"))))
11851 (build-system haskell-build-system)
11852 (arguments
11853 `(#:phases
11854 (modify-phases %standard-phases
11855 (add-before 'configure 'strip-test-framework-constraints
11856 (lambda _
11857 (substitute* "zlib.cabal"
11858 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
11859 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
11860 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11861 (inputs `(("zlib" ,zlib)))
11862 (native-inputs
11863 `(("ghc-quickcheck" ,ghc-quickcheck)
11864 ("ghc-tasty" ,ghc-tasty)
11865 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11866 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11867 (home-page "https://hackage.haskell.org/package/zlib")
11868 (synopsis
11869 "Compression and decompression in the gzip and zlib formats")
11870 (description
11871 "This package provides a pure interface for compressing and decompressing
11872streams of data represented as lazy @code{ByteString}s. It uses the zlib C
11873library so it has high performance. It supports the @code{zlib}, @code{gzip}
11874and @code{raw} compression formats. It provides a convenient high level API
11875suitable for most tasks and for the few cases where more control is needed it
11876provides access to the full zlib feature set.")
bbf8bf31 11877 (license license:bsd-3)))
14e41996
RV
11878
11879(define-public ghc-zlib-bindings
11880 (package
11881 (name "ghc-zlib-bindings")
11882 (version "0.1.1.5")
11883 (source
11884 (origin
11885 (method url-fetch)
11886 (uri (string-append "https://hackage.haskell.org/package/"
11887 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
11888 (sha256
11889 (base32
11890 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
11891 (build-system haskell-build-system)
11892 (inputs
11893 `(("ghc-zlib" ,ghc-zlib)))
11894 (native-inputs
11895 `(("ghc-hspec" ,ghc-hspec)
11896 ("ghc-quickcheck" ,ghc-quickcheck)))
11897 (arguments
11898 `(#:cabal-revision
11899 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
11900 (home-page "https://github.com/snapframework/zlib-bindings")
11901 (synopsis "Low-level bindings to the @code{zlib} package")
11902 (description "This package provides low-level bindings to the
11903@code{zlib} package.")
11904 (license license:bsd-3)))