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