weather: Allow for multiple '--manifest' options.
[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>
4639fa32 25;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
84436be0 26;;; Copyright © 2020 JoJo <jo@jo.zone>
ba7cbae3 27;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
6b34d01c
RV
28;;;
29;;; This file is part of GNU Guix.
30;;;
31;;; GNU Guix is free software; you can redistribute it and/or modify it
32;;; under the terms of the GNU General Public License as published by
33;;; the Free Software Foundation; either version 3 of the License, or (at
34;;; your option) any later version.
35;;;
36;;; GNU Guix is distributed in the hope that it will be useful, but
37;;; WITHOUT ANY WARRANTY; without even the implied warranty of
38;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
39;;; GNU General Public License for more details.
40;;;
41;;; You should have received a copy of the GNU General Public License
42;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
43
44(define-module (gnu packages haskell-xyz)
45 #:use-module (gnu packages)
dddbc90c
RV
46 #:use-module (gnu packages base)
47 #:use-module (gnu packages compression)
48 #:use-module (gnu packages emacs)
49 #:use-module (gnu packages gcc)
50 #:use-module (gnu packages gl)
51 #:use-module (gnu packages graphviz)
52 #:use-module (gnu packages gtk)
53 #:use-module (gnu packages haskell-apps)
efb96749 54 #:use-module (gnu packages haskell-check)
dddbc90c
RV
55 #:use-module (gnu packages haskell-crypto)
56 #:use-module (gnu packages haskell-web)
57 #:use-module (gnu packages libffi)
58 #:use-module (gnu packages linux)
e3ee8023 59 #:use-module (gnu packages llvm)
dddbc90c
RV
60 #:use-module (gnu packages lua)
61 #:use-module (gnu packages maths)
49e29df5 62 #:use-module (gnu packages ncurses)
dddbc90c
RV
63 #:use-module (gnu packages pcre)
64 #:use-module (gnu packages pkg-config)
65 #:use-module (gnu packages sdl)
0c2d6fc2 66 #:use-module (gnu packages web)
dddbc90c
RV
67 #:use-module (gnu packages xml)
68 #:use-module (gnu packages xorg)
6b34d01c
RV
69 #:use-module (guix build-system haskell)
70 #:use-module (guix download)
dddbc90c 71 #:use-module (guix git-download)
4780db2c 72 #:use-module (guix utils)
6b34d01c
RV
73 #:use-module ((guix licenses) #:prefix license:)
74 #:use-module (guix packages))
75
dddbc90c 76(define-public ghc-abstract-deque
efb96749 77 (package
dddbc90c
RV
78 (name "ghc-abstract-deque")
79 (version "0.3")
efb96749
RV
80 (source
81 (origin
82 (method url-fetch)
83 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
84 "abstract-deque-" version "/"
85 "abstract-deque-" version ".tar.gz"))
efb96749
RV
86 (sha256
87 (base32
dddbc90c 88 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
efb96749 89 (build-system haskell-build-system)
dddbc90c
RV
90 (inputs `(("ghc-random" ,ghc-random)))
91 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
92 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
93 (description "This Haskell package provides an abstract interface to
94highly-parameterizable queues/deques.
95
96Background: There exists a feature space for queues that extends between:
efb96749
RV
97
98@itemize
dddbc90c
RV
99@item Simple, single-ended, non-concurrent, bounded queues
100
101@item Double-ended, thread-safe, growable queues with important points
102in between (such as the queues used for work stealing).
efb96749
RV
103@end itemize
104
dddbc90c
RV
105This package includes an interface for Deques that allows the programmer
106to use a single API for all of the above, while using the type system to
107select an efficient implementation given the requirements (using type families).
efb96749 108
dddbc90c
RV
109This package also includes a simple reference implementation based on
110@code{IORef} and @code{Data.Sequence}.")
efb96749
RV
111 (license license:bsd-3)))
112
dddbc90c 113(define-public ghc-abstract-par
658dbc7f 114 (package
dddbc90c
RV
115 (name "ghc-abstract-par")
116 (version "0.3.3")
658dbc7f
RV
117 (source
118 (origin
119 (method url-fetch)
120 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
121 "abstract-par-" version "/"
122 "abstract-par-" version ".tar.gz"))
658dbc7f
RV
123 (sha256
124 (base32
dddbc90c
RV
125 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
126 (build-system haskell-build-system)
127 (home-page "https://github.com/simonmar/monad-par")
128 (synopsis "Abstract parallelization interface for Haskell")
129 (description "This Haskell package is an abstract interface
130only. It provides a number of type clasess, but not an
131implementation. The type classes separate different levels
132of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
133module for more details.")
134 (license license:bsd-3)))
135
d8b88d74
TS
136(define-public ghc-active
137 (package
138 (name "ghc-active")
139 (version "0.2.0.14")
140 (source
141 (origin
142 (method url-fetch)
143 (uri (string-append "https://hackage.haskell.org/package/"
144 "active/active-" version ".tar.gz"))
145 (sha256
146 (base32
147 "0x3b4ln6csa554qls28wbxvclkbdz3yi60i1m0q5ing0cs16fifz"))))
148 (build-system haskell-build-system)
149 (inputs
150 `(("ghc-vector" ,ghc-vector)
151 ("ghc-semigroups" ,ghc-semigroups)
152 ("ghc-semigroupoids" ,ghc-semigroupoids)
153 ("ghc-lens" ,ghc-lens)
154 ("ghc-linear" ,ghc-linear)))
155 (native-inputs
156 `(("ghc-quickcheck" ,ghc-quickcheck)))
157 (home-page "https://hackage.haskell.org/package/active")
158 (synopsis "Abstractions for animation")
159 (description "This package defines an @code{Active} abstraction for
160time-varying values with finite start and end times. It is used for
161describing animations within the
162@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
163diagrams framework}.")
164 (license license:bsd-3)))
165
dddbc90c
RV
166(define-public ghc-adjunctions
167 (package
168 (name "ghc-adjunctions")
169 (version "4.4")
170 (source
171 (origin
172 (method url-fetch)
173 (uri (string-append
174 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
175 version
176 ".tar.gz"))
177 (sha256
178 (base32
179 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f 180 (build-system haskell-build-system)
a78262be
TS
181 (arguments
182 `(#:cabal-revision
183 ("2" "1yfsjx7dqikg3hvld7i91xfsg5lawmr5980lvfd794sybmgxsf17")))
658dbc7f 184 (inputs
dddbc90c
RV
185 `(("ghc-profunctors" ,ghc-profunctors)
186 ("ghc-comonad" ,ghc-comonad)
187 ("ghc-contravariant" ,ghc-contravariant)
188 ("ghc-distributive" ,ghc-distributive)
189 ("ghc-free" ,ghc-free)
190 ("ghc-tagged" ,ghc-tagged)
191 ("ghc-semigroupoids" ,ghc-semigroupoids)
192 ("ghc-semigroups" ,ghc-semigroups)
193 ("ghc-transformers-compat" ,ghc-transformers-compat)
194 ("ghc-void" ,ghc-void)))
658dbc7f 195 (native-inputs
dddbc90c
RV
196 `(("ghc-generic-deriving" ,ghc-generic-deriving)
197 ("ghc-hspec" ,ghc-hspec)
198 ("hspec-discover" ,hspec-discover)))
199 (home-page "https://github.com/ekmett/adjunctions/")
200 (synopsis "Adjunctions and representable functors")
201 (description "This library provides adjunctions and representable functors
202for Haskell.")
203 (license license:bsd-3)))
204
205(define-public ghc-aeson-compat
206 (package
207 (name "ghc-aeson-compat")
0bafb755 208 (version "0.3.9")
dddbc90c
RV
209 (source
210 (origin
211 (method url-fetch)
212 (uri (string-append "https://hackage.haskell.org/package/"
213 "aeson-compat-" version "/"
214 "aeson-compat-" version ".tar.gz"))
215 (sha256
216 (base32
0bafb755 217 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
dddbc90c
RV
218 (build-system haskell-build-system)
219 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
220 (inputs `(("ghc-base-compat" ,ghc-base-compat)
221 ("ghc-aeson" ,ghc-aeson)
222 ("ghc-attoparsec" ,ghc-attoparsec)
223 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
224 ("ghc-exceptions" ,ghc-exceptions)
225 ("ghc-hashable" ,ghc-hashable)
226 ("ghc-scientific" ,ghc-scientific)
227 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
228 ("ghc-unordered-containers" ,ghc-unordered-containers)
229 ("ghc-vector" ,ghc-vector)
230 ("ghc-tagged" ,ghc-tagged)
231 ("ghc-semigroups" ,ghc-semigroups)
232 ("ghc-nats" ,ghc-nats)))
233 (home-page "https://github.com/phadej/aeson-compat")
234 (synopsis "Compatibility layer for ghc-aeson")
235 (description "This Haskell package provides compatibility layer for
236ghc-aeson.")
237 (license license:bsd-3)))
238
cbc6f861
TS
239(define-public ghc-aeson-diff
240 (package
241 (name "ghc-aeson-diff")
242 (version "1.1.0.7")
243 (source
244 (origin
245 (method url-fetch)
246 (uri (string-append "https://hackage.haskell.org/package/"
247 "aeson-diff/aeson-diff-" version ".tar.gz"))
248 (sha256
249 (base32
250 "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r"))))
251 (build-system haskell-build-system)
252 (inputs
253 `(("ghc-aeson" ,ghc-aeson)
254 ("ghc-edit-distance-vector" ,ghc-edit-distance-vector)
255 ("ghc-hashable" ,ghc-hashable)
256 ("ghc-scientific" ,ghc-scientific)
257 ("ghc-unordered-containers" ,ghc-unordered-containers)
258 ("ghc-vector" ,ghc-vector)
259 ("ghc-semigroups" ,ghc-semigroups)
260 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
261 (native-inputs
262 `(("ghc-quickcheck" ,ghc-quickcheck)
263 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
264 ("ghc-glob" ,ghc-glob)
265 ("ghc-quickcheck" ,ghc-quickcheck)
266 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
267 ("ghc-quickcheck" ,ghc-quickcheck)
268 ("ghc-doctest" ,ghc-doctest)
269 ("hlint" ,hlint)))
270 (home-page "https://github.com/thsutton/aeson-diff")
271 (synopsis "Extract and apply patches to JSON documents")
272 (description "This is a small library for working with changes to JSON
273documents. It includes a library and two command-line executables in the
274style of the @command{diff} and @command{patch} commands available on many
275systems.")
276 (license license:bsd-3)))
277
dddbc90c
RV
278(define-public ghc-alex
279 (package
280 (name "ghc-alex")
281 (version "3.2.4")
282 (source
283 (origin
284 (method url-fetch)
285 (uri (string-append
286 "https://hackage.haskell.org/package/alex/alex-"
287 version
288 ".tar.gz"))
289 (sha256
290 (base32
291 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
292 (build-system haskell-build-system)
658dbc7f 293 (arguments
dddbc90c
RV
294 `(#:phases
295 (modify-phases %standard-phases
296 (add-before 'check 'set-check-variables
297 (lambda _
298 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
299 (getenv "PATH")))
300 (setenv "alex_datadir" (string-append (getcwd) "/data"))
301 #t)))))
302 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
303 (native-inputs
304 `(("which" ,which)))
305 (home-page "https://www.haskell.org/alex/")
306 (synopsis
307 "Tool for generating lexical analysers in Haskell")
308 (description
309 "Alex is a tool for generating lexical analysers in Haskell. It takes a
310description of tokens based on regular expressions and generates a Haskell
311module containing code for scanning text efficiently. It is similar to the
312tool lex or flex for C/C++.")
658dbc7f
RV
313 (license license:bsd-3)))
314
dddbc90c 315(define-public ghc-alsa-core
7b01a977 316 (package
dddbc90c
RV
317 (name "ghc-alsa-core")
318 (version "0.5.0.1")
319 (source
320 (origin
321 (method url-fetch)
322 (uri (string-append
323 "mirror://hackage/package/alsa-core/alsa-core-"
324 version
325 ".tar.gz"))
326 (sha256
327 (base32
328 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
329 (build-system haskell-build-system)
330 (inputs
331 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
332 ("alsa-lib" ,alsa-lib)))
333 (native-inputs
334 `(("pkg-config" ,pkg-config)))
335 (home-page "http://www.haskell.org/haskellwiki/ALSA")
336 (synopsis "Binding to the ALSA Library API (Exceptions)")
337 (description "This package provides access to ALSA infrastructure, that is
338needed by both alsa-seq and alsa-pcm.")
339 (license license:bsd-3)))
340
f2ed1e6d
JS
341(define-public ghc-alsa-mixer
342 (package
343 (name "ghc-alsa-mixer")
344 (version "0.3.0")
345 (source
346 (origin
347 (method url-fetch)
348 (uri
349 (string-append
350 "mirror://hackage/package/alsa-mixer/alsa-mixer-"
351 version ".tar.gz"))
352 (sha256
353 (base32
354 "00ny2p3276jilidjs44npc8zmbhynz3f2lpmlwwl6swwx5yijsnb"))))
355 (build-system haskell-build-system)
356 (inputs `(("ghc-alsa-core" ,ghc-alsa-core)))
357 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
358 (home-page "https://github.com/ttuegel/alsa-mixer")
359 (synopsis "Bindings to the ALSA simple mixer API")
360 (description
361 "This package provides bindings to the ALSA simple mixer API.")
362 (license license:bsd-3)))
363
dddbc90c
RV
364(define-public ghc-annotated-wl-pprint
365 (package
366 (name "ghc-annotated-wl-pprint")
367 (version "0.7.0")
368 (source
369 (origin
370 (method url-fetch)
371 (uri (string-append
372 "https://hackage.haskell.org/package/annotated-wl-pprint"
373 "/annotated-wl-pprint-" version
374 ".tar.gz"))
375 (sha256
376 (base32
377 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
378 (build-system haskell-build-system)
379 (home-page
380 "https://github.com/david-christiansen/annotated-wl-pprint")
381 (synopsis
382 "The Wadler/Leijen Pretty Printer, with annotation support")
383 (description "This is a modified version of wl-pprint, which was based on
384Wadler's paper \"A Prettier Printer\". This version allows the library user
385to annotate the text with semantic information, which can later be rendered in
386a variety of ways.")
387 (license license:bsd-3)))
388
389(define-public ghc-ansi-terminal
390 (package
391 (name "ghc-ansi-terminal")
f1b4a73f 392 (version "0.9.1")
dddbc90c
RV
393 (source
394 (origin
395 (method url-fetch)
396 (uri (string-append
397 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
398 version
399 ".tar.gz"))
400 (sha256
401 (base32
f1b4a73f 402 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
dddbc90c
RV
403 (build-system haskell-build-system)
404 (inputs
405 `(("ghc-colour" ,ghc-colour)))
406 (home-page "https://github.com/feuerbach/ansi-terminal")
407 (synopsis "ANSI terminal support for Haskell")
408 (description "This package provides ANSI terminal support for Haskell. It
409allows cursor movement, screen clearing, color output showing or hiding the
410cursor, and changing the title.")
411 (license license:bsd-3)))
412
413(define-public ghc-ansi-wl-pprint
414 (package
415 (name "ghc-ansi-wl-pprint")
c38746eb 416 (version "0.6.9")
7b01a977
RV
417 (source
418 (origin
419 (method url-fetch)
420 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 421 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
422 version ".tar.gz"))
423 (sha256
424 (base32
c38746eb 425 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
7b01a977
RV
426 (build-system haskell-build-system)
427 (inputs
dddbc90c
RV
428 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
429 (home-page "https://github.com/ekmett/ansi-wl-pprint")
430 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
431 (description "This is a pretty printing library based on Wadler's paper
432\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
433colored output using the ansi-terminal package.")
434 (license license:bsd-3)))
435
436(define-public ghc-appar
437 (package
438 (name "ghc-appar")
1159d1a5 439 (version "0.1.8")
dddbc90c
RV
440 (source
441 (origin
442 (method url-fetch)
443 (uri (string-append
444 "https://hackage.haskell.org/package/appar/appar-"
445 version
446 ".tar.gz"))
447 (sha256
448 (base32
1159d1a5 449 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
450 (build-system haskell-build-system)
451 (home-page
452 "https://hackage.haskell.org/package/appar")
453 (synopsis "Simple applicative parser")
454 (description "This package provides a simple applicative parser in Parsec
455style.")
456 (license license:bsd-3)))
457
458(define-public ghc-async
459 (package
460 (name "ghc-async")
048ef066 461 (version "2.2.2")
dddbc90c
RV
462 (source
463 (origin
464 (method url-fetch)
465 (uri (string-append
466 "https://hackage.haskell.org/package/async/async-"
467 version
468 ".tar.gz"))
469 (sha256
470 (base32
048ef066 471 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
472 (build-system haskell-build-system)
473 (inputs
474 `(("ghc-hashable" ,ghc-hashable)
475 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
476 ("ghc-test-framework" ,ghc-test-framework)
477 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
478 (home-page "https://github.com/simonmar/async")
479 (synopsis "Library to run IO operations asynchronously")
480 (description "Async provides a library to run IO operations
481asynchronously, and wait for their results. It is a higher-level interface
482over threads in Haskell, in which @code{Async a} is a concurrent thread that
483will eventually deliver a value of type @code{a}.")
7b01a977
RV
484 (license license:bsd-3)))
485
9ad9ec2e
AG
486(define-public ghc-atomic-primops
487 (package
488 (name "ghc-atomic-primops")
af16c6b0 489 (version "0.8.3")
9ad9ec2e
AG
490 (source
491 (origin
492 (method url-fetch)
493 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
494 "/atomic-primops-" version ".tar.gz"))
495 (sha256
496 (base32
af16c6b0 497 "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
9ad9ec2e
AG
498 (build-system haskell-build-system)
499 (inputs `(("ghc-primitive" ,ghc-primitive)))
500 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
501 (synopsis "Safe approach to CAS and other atomic ops")
502 (description
503 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
504use safely, because pointer equality is a highly unstable property in Haskell.
505This library provides a safer method based on the concept of @code{Ticket}s.")
506 (license license:bsd-3)))
507
dddbc90c 508(define-public ghc-atomic-write
79fcc5e5 509 (package
dddbc90c 510 (name "ghc-atomic-write")
c09d1e62 511 (version "0.2.0.6")
79fcc5e5
RV
512 (source
513 (origin
514 (method url-fetch)
dddbc90c
RV
515 (uri (string-append
516 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
517 version
518 ".tar.gz"))
79fcc5e5
RV
519 (sha256
520 (base32
c09d1e62 521 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
522 (build-system haskell-build-system)
523 (inputs
524 `(("ghc-temporary" ,ghc-temporary)
525 ("ghc-unix-compat" ,ghc-unix-compat)))
526 (native-inputs
527 `(("ghc-temporary" ,ghc-temporary)
528 ("ghc-unix-compat" ,ghc-unix-compat)
529 ("ghc-hspec" ,ghc-hspec)
530 ("hspec-discover" ,hspec-discover)))
531 (home-page "https://github.com/stackbuilders/atomic-write")
532 (synopsis "Atomically write to a file")
533 (description
534 "Atomically write to a file on POSIX-compliant systems while preserving
535permissions. @code{mv} is an atomic operation. This makes it simple to write
536to a file atomically just by using the @code{mv} operation. However, this
537will destroy the permissions on the original file. This library preserves
538permissions while atomically writing to a file.")
539 (license license:expat)))
540
541(define-public ghc-attoparsec
542 (package
543 (name "ghc-attoparsec")
511c3204 544 (version "0.13.2.3")
dddbc90c
RV
545 (source
546 (origin
547 (method url-fetch)
548 (uri (string-append
549 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
550 version
551 ".tar.gz"))
552 (sha256
553 (base32
511c3204 554 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 555 (build-system haskell-build-system)
79fcc5e5 556 (arguments
dddbc90c
RV
557 `(#:phases
558 (modify-phases %standard-phases
559 (add-after 'unpack 'patch-for-newer-quickcheck
560 (lambda _
561 (substitute* "attoparsec.cabal"
562 (("QuickCheck >= 2\\.7 && < 2\\.10")
563 "QuickCheck >= 2.7 && < 2.12"))
564 ;; This test fails because of the newer QuickCheck:
565 ;; <https://github.com/bos/attoparsec/issues/134>.
566 (substitute* "tests/QC/ByteString.hs"
567 ((", testProperty \"satisfyWith\" satisfyWith")
568 "")))))))
569 (inputs
570 `(("ghc-scientific" ,ghc-scientific)))
571 (native-inputs
572 `(("ghc-tasty" ,ghc-tasty)
573 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
574 ("ghc-quickcheck" ,ghc-quickcheck)
575 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
576 ("ghc-vector" ,ghc-vector)))
577 (home-page "https://github.com/bos/attoparsec")
578 (synopsis "Fast combinator parsing for bytestrings and text")
579 (description "This library provides a fast parser combinator library,
580aimed particularly at dealing efficiently with network protocols and
581complicated text/binary file formats.")
79fcc5e5
RV
582 (license license:bsd-3)))
583
dddbc90c 584(define-public ghc-attoparsec-bootstrap
6b34d01c 585 (package
dddbc90c
RV
586 (inherit ghc-attoparsec)
587 (name "ghc-attoparsec-bootstrap")
588 (arguments `(#:tests? #f))
589 (inputs
590 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
591 (native-inputs '())
799d8d3c 592 (properties '((hidden? #t)))))
dddbc90c
RV
593
594(define-public ghc-attoparsec-iso8601
595 (package
596 (name "ghc-attoparsec-iso8601")
97f267c8 597 (version "1.0.1.0")
6b34d01c
RV
598 (source
599 (origin
600 (method url-fetch)
601 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
602 "attoparsec-iso8601-" version "/"
603 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
604 (sha256
605 (base32
97f267c8 606 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
6b34d01c 607 (build-system haskell-build-system)
dddbc90c
RV
608 (arguments
609 `(#:cabal-revision
97f267c8 610 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
dddbc90c
RV
611 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
612 ("ghc-base-compat" ,ghc-base-compat)))
613 (home-page "https://github.com/bos/aeson")
614 (synopsis "Parse ISO 8601 dates")
615 (description "Haskell library for parsing of ISO 8601 dates, originally
616from aeson.")
6b34d01c 617 (license license:bsd-3)))
b57e99f5 618
dddbc90c 619(define-public ghc-auto-update
b57e99f5 620 (package
dddbc90c 621 (name "ghc-auto-update")
11b1b6cd 622 (version "0.1.6")
dddbc90c
RV
623 (source
624 (origin
625 (method url-fetch)
626 (uri (string-append
627 "https://hackage.haskell.org/package/auto-update/auto-update-"
628 version
629 ".tar.gz"))
630 (sha256
631 (base32
11b1b6cd 632 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
dddbc90c 633 (build-system haskell-build-system)
11b1b6cd
TS
634 (native-inputs
635 `(("ghc-hspec" ,ghc-hspec)
636 ("ghc-hunit" ,ghc-hunit)
637 ("ghc-retry" ,ghc-retry)
638 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
639 (home-page "https://github.com/yesodweb/wai")
640 (synopsis "Efficiently run periodic, on-demand actions")
641 (description "This library provides mechanisms to efficiently run
642periodic, on-demand actions in Haskell.")
643 (license license:expat)))
644
645(define-public ghc-aws
646 (package
647 (name "ghc-aws")
648 (version "0.20")
b57e99f5
RV
649 (source
650 (origin
651 (method url-fetch)
652 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
653 "aws-" version "/aws-" version ".tar.gz"))
654 (sha256 (base32
655 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
656 (build-system haskell-build-system)
657 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
658 (inputs
659 `(("ghc-aeson" ,ghc-aeson)
660 ("ghc-attoparsec" ,ghc-attoparsec)
661 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
662 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
663 ("ghc-blaze-builder" ,ghc-blaze-builder)
664 ("ghc-byteable" ,ghc-byteable)
665 ("ghc-case-insensitive" ,ghc-case-insensitive)
666 ("ghc-cereal" ,ghc-cereal)
667 ("ghc-conduit" ,ghc-conduit)
668 ("ghc-conduit-extra" ,ghc-conduit-extra)
669 ("ghc-cryptonite" ,ghc-cryptonite)
670 ("ghc-data-default" ,ghc-data-default)
671 ("ghc-http-conduit" ,ghc-http-conduit)
672 ("ghc-http-types" ,ghc-http-types)
673 ("ghc-lifted-base" ,ghc-lifted-base)
674 ("ghc-monad-control" ,ghc-monad-control)
675 ("ghc-network" ,ghc-network)
676 ("ghc-old-locale" ,ghc-old-locale)
677 ("ghc-safe" ,ghc-safe)
678 ("ghc-scientific" ,ghc-scientific)
679 ("ghc-tagged" ,ghc-tagged)
680 ("ghc-unordered-containers" ,ghc-unordered-containers)
681 ("ghc-utf8-string" ,ghc-utf8-string)
682 ("ghc-vector" ,ghc-vector)
683 ("ghc-xml-conduit" ,ghc-xml-conduit)))
684 (native-inputs
685 `(("ghc-quickcheck" ,ghc-quickcheck)
686 ("ghc-errors" ,ghc-errors)
687 ("ghc-http-client" ,ghc-http-client)
688 ("ghc-http-client-tls" ,ghc-http-client-tls)
689 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
690 ("ghc-tasty" ,ghc-tasty)
691 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
692 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
693 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
694 (home-page "https://github.com/aristidb/aws")
695 (synopsis "Amazon Web Services for Haskell")
696 (description "This package attempts to provide support for using
697Amazon Web Services like S3 (storage), SQS (queuing) and others to
698Haskell programmers. The ultimate goal is to support all Amazon
699Web Services.")
700 (license license:bsd-3)))
701
702(define-public ghc-base16-bytestring
703 (package
704 (name "ghc-base16-bytestring")
705 (version "0.1.1.6")
706 (source
707 (origin
708 (method url-fetch)
709 (uri (string-append
710 "https://hackage.haskell.org/package/base16-bytestring/"
711 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
712 (sha256
713 (base32
dddbc90c 714 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 715 (build-system haskell-build-system)
dddbc90c
RV
716 (home-page "https://github.com/bos/base16-bytestring")
717 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
718 (description
719 "This package provides a Haskell library for working with base16-encoded
720data quickly and efficiently, using the ByteString type.")
b57e99f5 721 (license license:bsd-3)))
bbf8bf31 722
dddbc90c 723(define-public ghc-base64-bytestring
bbf8bf31 724 (package
dddbc90c
RV
725 (name "ghc-base64-bytestring")
726 (version "1.0.0.2")
bbf8bf31
RV
727 (source
728 (origin
729 (method url-fetch)
dddbc90c
RV
730 (uri (string-append
731 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
732 version
733 ".tar.gz"))
734 (sha256
735 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
736 (build-system haskell-build-system)
737 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
738 (home-page "https://github.com/bos/base64-bytestring")
739 (synopsis "Base64 encoding and decoding for ByteStrings")
740 (description "This library provides fast base64 encoding and decoding for
741Haskell @code{ByteString}s.")
742 (license license:bsd-3)))
743
744(define-public ghc-base-compat
745 (package
746 (name "ghc-base-compat")
4daaa371 747 (version "0.10.5")
dddbc90c
RV
748 (source
749 (origin
750 (method url-fetch)
751 (uri (string-append
752 "https://hackage.haskell.org/package/base-compat/base-compat-"
753 version
754 ".tar.gz"))
bbf8bf31
RV
755 (sha256
756 (base32
4daaa371 757 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31
RV
758 (build-system haskell-build-system)
759 (native-inputs
dddbc90c
RV
760 `(("ghc-quickcheck" ,ghc-quickcheck)
761 ("ghc-hspec" ,ghc-hspec)
762 ("hspec-discover" ,hspec-discover)))
763 (home-page "https://hackage.haskell.org/package/base-compat")
764 (synopsis "Haskell compiler compatibility library")
765 (description "This library provides functions available in later versions
766of base to a wider range of compilers, without requiring the use of CPP
767pragmas in your code.")
768 (license license:bsd-3)))
769
f9d78c7f
TS
770(define-public ghc-base-compat-batteries
771 (package
772 (name "ghc-base-compat-batteries")
773 (version "0.10.5")
774 (source
775 (origin
776 (method url-fetch)
777 (uri (string-append "https://hackage.haskell.org/package/"
778 "base-compat-batteries/base-compat-batteries-"
779 version ".tar.gz"))
780 (sha256
781 (base32
782 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
783 (build-system haskell-build-system)
784 (inputs
785 `(("ghc-base-compat" ,ghc-base-compat)))
786 (native-inputs
787 `(("ghc-hspec" ,ghc-hspec)
788 ("ghc-quickcheck" ,ghc-quickcheck)
789 ("hspec-discover" ,hspec-discover)))
790 (arguments
791 `(#:cabal-revision
792 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
3ef91e15 793 (home-page "https://hackage.haskell.org/package/base-compat-batteries")
f9d78c7f
TS
794 (synopsis "base-compat with extra batteries")
795 (description "This library provides functions available in later
796versions of @code{base} to a wider range of compilers, without requiring
797you to use CPP pragmas in your code. This package provides the same API
798as the @code{base-compat} library, but depends on compatibility
799packages (such as @code{semigroups}) to offer a wider support window
800than @code{base-compat}, which has no dependencies.")
801 (license license:expat)))
802
dddbc90c
RV
803(define-public ghc-basement
804 (package
805 (name "ghc-basement")
8b56c1fd 806 (version "0.0.11")
dddbc90c
RV
807 (source
808 (origin
809 (method url-fetch)
810 (uri (string-append "https://hackage.haskell.org/package/"
811 "basement/basement-" version ".tar.gz"))
812 (sha256
813 (base32
8b56c1fd 814 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
815 (build-system haskell-build-system)
816 (home-page "https://github.com/haskell-foundation/foundation")
817 (synopsis "Basic primitives for Foundation starter pack")
818 (description
819 "This package contains basic primitives for the Foundation set of
820packages.")
821 (license license:bsd-3)))
822
823(define-public ghc-base-orphans
824 (package
825 (name "ghc-base-orphans")
780477fb 826 (version "0.8.1")
dddbc90c
RV
827 (source
828 (origin
829 (method url-fetch)
830 (uri (string-append
831 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
832 version
833 ".tar.gz"))
834 (sha256
835 (base32
780477fb 836 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
837 (build-system haskell-build-system)
838 (native-inputs
839 `(("ghc-quickcheck" ,ghc-quickcheck)
840 ("ghc-hspec" ,ghc-hspec)
841 ("hspec-discover" ,hspec-discover)))
842 (home-page "https://hackage.haskell.org/package/base-orphans")
843 (synopsis "Orphan instances for backwards compatibility")
844 (description "This package defines orphan instances that mimic instances
845available in later versions of base to a wider (older) range of compilers.")
846 (license license:bsd-3)))
847
848(define-public ghc-base-prelude
849 (package
850 (name "ghc-base-prelude")
851 (version "1.3")
852 (source
853 (origin
854 (method url-fetch)
855 (uri (string-append "https://hackage.haskell.org/package/"
856 "base-prelude-" version "/"
857 "base-prelude-" version ".tar.gz"))
858 (sha256
859 (base32
860 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
861 (build-system haskell-build-system)
862 (home-page "https://github.com/nikita-volkov/base-prelude")
863 (synopsis "The most complete prelude formed solely from the Haskell's base
864package")
865 (description "This Haskell package aims to reexport all the non-conflicting
866and most general definitions from the \"base\" package.
867
868This includes APIs for applicatives, arrows, monoids, foldables, traversables,
869exceptions, generics, ST, MVars and STM.
870
871This package will never have any dependencies other than \"base\".
872
873Versioning policy:
874
875The versioning policy of this package deviates from PVP in the sense
876that its exports in part are transitively determined by the version of \"base\".
877Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
878the bounds of \"base\" as well.")
879 (license license:expat)))
880
881(define-public ghc-base-unicode-symbols
882 (package
883 (name "ghc-base-unicode-symbols")
884 (version "0.2.3")
885 (source
886 (origin
887 (method url-fetch)
888 (uri (string-append
889 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
890 version
891 ".tar.gz"))
892 (sha256
893 (base32
894 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
895 (build-system haskell-build-system)
896 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
897 (synopsis "Unicode alternatives for common functions and operators")
898 (description "This package defines new symbols for a number of functions,
899operators and types in the base package. All symbols are documented with
900their actual definition and information regarding their Unicode code point.
901They should be completely interchangeable with their definitions. For
902further Unicode goodness you can enable the @code{UnicodeSyntax}
903@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
904language extension}. This extension enables Unicode characters to be used to
905stand for certain ASCII character sequences, i.e. → instead of @code{->},
906∀ instead of @code{forall} and many others.")
907 (license license:bsd-3)))
908
909(define-public ghc-bifunctors
910 (package
911 (name "ghc-bifunctors")
0beaec66 912 (version "5.5.5")
dddbc90c
RV
913 (source
914 (origin
915 (method url-fetch)
916 (uri (string-append
917 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
918 version
919 ".tar.gz"))
920 (sha256
921 (base32
0beaec66 922 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
923 (build-system haskell-build-system)
924 (inputs
925 `(("ghc-base-orphans" ,ghc-base-orphans)
926 ("ghc-comonad" ,ghc-comonad)
927 ("ghc-th-abstraction" ,ghc-th-abstraction)
928 ("ghc-transformers-compat" ,ghc-transformers-compat)
929 ("ghc-tagged" ,ghc-tagged)
930 ("ghc-semigroups" ,ghc-semigroups)))
931 (native-inputs
932 `(("ghc-hspec" ,ghc-hspec)
933 ("hspec-discover" ,hspec-discover)
934 ("ghc-quickcheck" ,ghc-quickcheck)))
935 (home-page "https://github.com/ekmett/bifunctors/")
936 (synopsis "Bifunctors for Haskell")
937 (description "This package provides bifunctors for Haskell.")
938 (license license:bsd-3)))
939
940(define-public ghc-bindings-dsl
941 (package
942 (name "ghc-bindings-dsl")
943 (version "1.0.25")
944 (source
945 (origin
946 (method url-fetch)
947 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
948 "bindings-DSL-" version ".tar.gz"))
949 (sha256
950 (base32
951 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
952 (build-system haskell-build-system)
953 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
954 (synopsis "FFI domain specific language, on top of hsc2hs")
955 (description
956 "This is a set of macros to be used when writing Haskell FFI. They were
957designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
958extract from them all Haskell code needed to mimic such interfaces. All
959Haskell names used are automatically derived from C names, structures are
960mapped to Haskell instances of @code{Storable}, and there are also macros you
961can use with C code to help write bindings to inline functions or macro
962functions.")
963 (license license:bsd-3)))
964
64f42786
TS
965(define-public ghc-bitarray
966 (package
967 (name "ghc-bitarray")
968 (version "0.0.1.1")
969 (source
970 (origin
971 (method url-fetch)
972 (uri (string-append "https://hackage.haskell.org/package/"
973 "bitarray/bitarray-" version ".tar.gz"))
974 (sha256
975 (base32
976 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
977 (build-system haskell-build-system)
978 (arguments
979 `(#:cabal-revision
980 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
981 (home-page "https://hackage.haskell.org/package/bitarray")
982 (synopsis "Mutable and immutable bit arrays")
983 (description "The package provides mutable and immutable bit arrays.")
984 (license license:bsd-3)))
985
dddbc90c
RV
986(define-public ghc-blaze-builder
987 (package
988 (name "ghc-blaze-builder")
989 (version "0.4.1.0")
990 (source
991 (origin
992 (method url-fetch)
993 (uri (string-append
994 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
995 version
996 ".tar.gz"))
997 (sha256
998 (base32
999 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
1000 (build-system haskell-build-system)
1001 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
1002 (inputs
1003 `(("ghc-utf8-string" ,ghc-utf8-string)))
1004 (home-page "https://github.com/lpsmith/blaze-builder")
1005 (synopsis "Efficient buffered output")
1006 (description "This library provides an implementation of the older
1007@code{blaze-builder} interface in terms of the new builder that shipped with
1008@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
1009bridge to the new builder, so that code that uses the old interface can
1010interoperate with code that uses the new implementation.")
1011 (license license:bsd-3)))
1012
1013(define-public ghc-blaze-markup
1014 (package
1015 (name "ghc-blaze-markup")
7d30fcf3 1016 (version "0.8.2.3")
dddbc90c
RV
1017 (source
1018 (origin
1019 (method url-fetch)
1020 (uri (string-append "https://hackage.haskell.org/package/"
1021 "blaze-markup/blaze-markup-"
1022 version ".tar.gz"))
1023 (sha256
1024 (base32
7d30fcf3 1025 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
1026 (build-system haskell-build-system)
1027 (arguments
1028 `(#:phases
1029 (modify-phases %standard-phases
1030 (add-before 'configure 'update-constraints
1031 (lambda _
1032 (substitute* "blaze-markup.cabal"
1033 (("tasty >= 1\\.0 && < 1\\.1")
1034 "tasty >= 1.0 && < 1.2")))))))
1035 (inputs
1036 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
1037 (native-inputs
1038 `(("ghc-hunit" ,ghc-hunit)
1039 ("ghc-quickcheck" ,ghc-quickcheck)
1040 ("ghc-tasty" ,ghc-tasty)
1041 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1042 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1043 (home-page "https://jaspervdj.be/blaze")
1044 (synopsis "Fast markup combinator library for Haskell")
1045 (description "This library provides core modules of a markup combinator
1046library for Haskell.")
1047 (license license:bsd-3)))
1048
1049(define-public ghc-bloomfilter
1050 (package
1051 (name "ghc-bloomfilter")
1052 (version "2.0.1.0")
1053 (source
1054 (origin
1055 (method url-fetch)
1056 (uri (string-append "https://hackage.haskell.org/package/"
1057 "bloomfilter/bloomfilter-" version ".tar.gz"))
1058 (sha256
1059 (base32
1060 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1061 (build-system haskell-build-system)
1062 (native-inputs
1063 `(("ghc-quickcheck" ,ghc-quickcheck)
1064 ("ghc-random" ,ghc-random)
1065 ("ghc-test-framework" ,ghc-test-framework)
1066 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1067 (home-page "https://github.com/bos/bloomfilter")
1068 (synopsis "Pure and impure Bloom filter implementations")
1069 (description "This package provides both mutable and immutable Bloom
1070filter data types, along with a family of hash functions and an easy-to-use
1071interface.")
1072 (license license:bsd-3)))
1073
1074(define-public ghc-boxes
1075 (package
1076 (name "ghc-boxes")
1077 (version "0.1.5")
1078 (source
1079 (origin
1080 (method url-fetch)
1081 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1082 version ".tar.gz"))
1083 (sha256
1084 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1085 (build-system haskell-build-system)
1086 (inputs
1087 `(("ghc-split" ,ghc-split)
1088 ("ghc-quickcheck" ,ghc-quickcheck)))
1089 (home-page "https://hackage.haskell.org/package/boxes")
1090 (synopsis "2D text pretty-printing library")
1091 (description
1092 "Boxes is a pretty-printing library for laying out text in two dimensions,
1093using a simple box model.")
1094 (license license:bsd-3)))
1095
1096(define-public ghc-byteable
1097 (package
1098 (name "ghc-byteable")
1099 (version "0.1.1")
1100 (source (origin
1101 (method url-fetch)
1102 (uri (string-append "https://hackage.haskell.org/package/"
1103 "byteable/byteable-" version ".tar.gz"))
1104 (sha256
1105 (base32
1106 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1107 (build-system haskell-build-system)
1108 (home-page "https://github.com/vincenthz/hs-byteable")
1109 (synopsis "Type class for sequence of bytes")
1110 (description
1111 "This package provides an abstract class to manipulate sequence of bytes.
1112The use case of this class is abstracting manipulation of types that are just
1113wrapping a bytestring with stronger and more meaniful name.")
1114 (license license:bsd-3)))
1115
1116(define-public ghc-byteorder
1117 (package
1118 (name "ghc-byteorder")
1119 (version "1.0.4")
1120 (source
1121 (origin
1122 (method url-fetch)
1123 (uri (string-append
1124 "https://hackage.haskell.org/package/byteorder/byteorder-"
1125 version
1126 ".tar.gz"))
1127 (sha256
1128 (base32
1129 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1130 (build-system haskell-build-system)
1131 (home-page
1132 "http://community.haskell.org/~aslatter/code/byteorder")
1133 (synopsis
1134 "Exposes the native endianness of the system")
1135 (description
1136 "This package is for working with the native byte-ordering of the
1137system.")
1138 (license license:bsd-3)))
1139
1140(define-public ghc-bytes
1141 (package
1142 (name "ghc-bytes")
1143 (version "0.15.5")
1144 (source
1145 (origin
1146 (method url-fetch)
1147 (uri
1148 (string-append "https://hackage.haskell.org/package/bytes-"
1149 version "/bytes-"
1150 version ".tar.gz"))
1151 (file-name (string-append name "-" version ".tar.gz"))
1152 (sha256
1153 (base32
1154 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1155 (build-system haskell-build-system)
1156 (inputs `(("ghc-cereal" ,ghc-cereal)
1157 ("cabal-doctest" ,cabal-doctest)
1158 ("ghc-doctest" ,ghc-doctest)
1159 ("ghc-scientific" ,ghc-scientific)
1160 ("ghc-transformers-compat" ,ghc-transformers-compat)
1161 ("ghc-unordered-containers" ,ghc-unordered-containers)
1162 ("ghc-void" ,ghc-void)
1163 ("ghc-vector" ,ghc-vector)))
1164 (synopsis "Serialization between @code{binary} and @code{cereal}")
1165 (description "This package provides a simple compatibility shim that lets
1166you work with both @code{binary} and @code{cereal} with one chunk of
1167serialization code.")
1168 (home-page "https://hackage.haskell.org/package/bytes")
1169 (license license:bsd-3)))
1170
1171(define-public ghc-bytestring-builder
1172 (package
1173 (name "ghc-bytestring-builder")
13ac8a7f 1174 (version "0.10.8.2.0")
dddbc90c
RV
1175 (source
1176 (origin
1177 (method url-fetch)
1178 (uri (string-append
1179 "https://hackage.haskell.org/package/bytestring-builder"
1180 "/bytestring-builder-" version ".tar.gz"))
1181 (sha256
1182 (base32
13ac8a7f 1183 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1184 (build-system haskell-build-system)
1185 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1186 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1187 (synopsis "The new bytestring builder, packaged outside of GHC")
1188 (description "This package provides the bytestring builder that is
1189debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1190Compatibility package for older packages.")
1191 (license license:bsd-3)))
1192
1193(define-public ghc-bytestring-handle
1194 (package
1195 (name "ghc-bytestring-handle")
1196 (version "0.1.0.6")
1197 (source
1198 (origin
1199 (method url-fetch)
1200 (uri (string-append
1201 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1202 version ".tar.gz"))
1203 (sha256
1204 (base32
1205 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1206 (build-system haskell-build-system)
1207 (arguments
853748c4
TS
1208 `(#:cabal-revision
1209 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1210 #:phases
dddbc90c
RV
1211 (modify-phases %standard-phases
1212 (add-before 'configure 'update-constraints
1213 (lambda _
1214 (substitute* "bytestring-handle.cabal"
1215 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1216 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1217 (inputs
1218 `(("ghc-hunit" ,ghc-hunit)
1219 ("ghc-quickcheck" ,ghc-quickcheck)
1220 ("ghc-test-framework" ,ghc-test-framework)
1221 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1222 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1223 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1224 (synopsis "ByteString-backed Handles")
1225 (description "ByteString-backed Handles") ; There is no description
1226 (license license:bsd-3)))
1227
1228(define-public ghc-bytestring-lexing
1229 (package
1230 (name "ghc-bytestring-lexing")
1231 (version "0.5.0.2")
1232 (source
1233 (origin
1234 (method url-fetch)
1235 (uri (string-append "https://hackage.haskell.org/package/"
1236 "bytestring-lexing/bytestring-lexing-"
1237 version ".tar.gz"))
1238 (sha256
1239 (base32
1240 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1241 (build-system haskell-build-system)
1242 (home-page "http://code.haskell.org/~wren/")
1243 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1244 (description
1245 "This package provides tools to parse and produce literals efficiently
1246from strict or lazy bytestrings.")
1247 (license license:bsd-2)))
1248
1249(define-public ghc-bzlib-conduit
1250 (package
1251 (name "ghc-bzlib-conduit")
5fba8d6d 1252 (version "0.3.0.2")
dddbc90c
RV
1253 (source
1254 (origin
1255 (method url-fetch)
1256 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1257 "bzlib-conduit-" version ".tar.gz"))
1258 (sha256
1259 (base32
5fba8d6d 1260 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
dddbc90c
RV
1261 (build-system haskell-build-system)
1262 (inputs
1263 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1264 ("ghc-conduit" ,ghc-conduit)
1265 ("ghc-data-default-class" ,ghc-data-default-class)
1266 ("ghc-resourcet" ,ghc-resourcet)))
1267 (native-inputs
1268 `(("ghc-hspec" ,ghc-hspec)
1269 ("ghc-random" ,ghc-random)))
1270 (home-page "https://github.com/snoyberg/bzlib-conduit")
1271 (synopsis "Streaming compression/decompression via conduits")
1272 (description
1273 "This package provides Haskell bindings to bzlib and Conduit support for
1274streaming compression and decompression.")
1275 (license license:bsd-3)))
1276
1277(define-public ghc-c2hs
1278 (package
1279 (name "ghc-c2hs")
1280 (version "0.28.6")
1281 (source
1282 (origin
1283 (method url-fetch)
1284 (uri (string-append
1285 "https://hackage.haskell.org/package/c2hs/c2hs-"
1286 version
1287 ".tar.gz"))
1288 (sha256
1289 (base32
1290 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1291 (build-system haskell-build-system)
1292 (inputs
1293 `(("ghc-language-c" ,ghc-language-c)
1294 ("ghc-dlist" ,ghc-dlist)))
1295 (native-inputs
1296 `(("ghc-test-framework" ,ghc-test-framework)
1297 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1298 ("ghc-hunit" ,ghc-hunit)
1299 ("ghc-shelly" ,ghc-shelly)
1300 ("gcc" ,gcc)))
1301 (arguments
1302 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1303 ;; of glibc 2.28.
1304 #:tests? #f
1305
1306 #:phases
1307 (modify-phases %standard-phases
1308 (add-before 'check 'set-cc
1309 ;; add a cc executable in the path, needed for some tests to pass
1310 (lambda* (#:key inputs #:allow-other-keys)
1311 (let ((gcc (assoc-ref inputs "gcc"))
1312 (tmpbin (tmpnam))
1313 (curpath (getenv "PATH")))
1314 (mkdir-p tmpbin)
1315 (symlink (which "gcc") (string-append tmpbin "/cc"))
1316 (setenv "PATH" (string-append tmpbin ":" curpath)))
1317 #t))
1318 (add-after 'check 'remove-cc
1319 ;; clean the tmp dir made in 'set-cc
1320 (lambda _
1321 (let* ((cc-path (which "cc"))
1322 (cc-dir (dirname cc-path)))
1323 (delete-file-recursively cc-dir)
1324 #t))))))
1325 (home-page "https://github.com/haskell/c2hs")
1326 (synopsis "Create Haskell bindings to C libraries")
1327 (description "C->Haskell assists in the development of Haskell bindings to
1328C libraries. It extracts interface information from C header files and
1329generates Haskell code with foreign imports and marshaling. Unlike writing
1330foreign imports by hand (or using hsc2hs), this ensures that C functions are
1331imported with the correct Haskell types.")
1332 (license license:gpl2)))
1333
1334(define-public ghc-cairo
1335 (package
1336 (name "ghc-cairo")
1337 (version "0.13.5.0")
1338 (source
1339 (origin
1340 (method url-fetch)
1341 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1342 "cairo-" version ".tar.gz"))
1343 (sha256
1344 (base32
1345 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1346 (build-system haskell-build-system)
1347 (arguments
1348 `(#:modules ((guix build haskell-build-system)
1349 (guix build utils)
1350 (ice-9 match)
1351 (srfi srfi-26))
1352 #:phases
1353 (modify-phases %standard-phases
1354 ;; FIXME: This is a copy of the standard configure phase with a tiny
1355 ;; difference: this package needs the -package-db flag to be passed
1356 ;; to "runhaskell" in addition to the "configure" action, because it
1357 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1358 ;; this option the Setup.hs file cannot be evaluated. The
1359 ;; haskell-build-system should be changed to pass "-package-db" to
1360 ;; "runhaskell" in any case.
1361 (replace 'configure
1362 (lambda* (#:key outputs inputs tests? (configure-flags '())
1363 #:allow-other-keys)
1364 (let* ((out (assoc-ref outputs "out"))
1365 (name-version (strip-store-file-name out))
1366 (input-dirs (match inputs
1367 (((_ . dir) ...)
1368 dir)
1369 (_ '())))
1370 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1371 (params (append `(,(string-append "--prefix=" out))
1372 `(,(string-append "--libdir=" out "/lib"))
1373 `(,(string-append "--bindir=" out "/bin"))
1374 `(,(string-append
1375 "--docdir=" out
1376 "/share/doc/" name-version))
1377 '("--libsubdir=$compiler/$pkg-$version")
1378 '("--package-db=../package.conf.d")
1379 '("--global")
1380 `(,@(map
1381 (cut string-append "--extra-include-dirs=" <>)
1382 (search-path-as-list '("include") input-dirs)))
1383 `(,@(map
1384 (cut string-append "--extra-lib-dirs=" <>)
1385 (search-path-as-list '("lib") input-dirs)))
1386 (if tests?
1387 '("--enable-tests")
1388 '())
1389 configure-flags)))
1390 (unsetenv "GHC_PACKAGE_PATH")
1391 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1392 "Setup.hs" "configure" params)
1393 (setenv "GHC_PACKAGE_PATH" ghc-path)
1394 #t))))))
1395 (inputs
1396 `(("ghc-utf8-string" ,ghc-utf8-string)
1397 ("cairo" ,cairo)))
1398 (native-inputs
1399 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1400 ("pkg-config" ,pkg-config)))
1401 (home-page "http://projects.haskell.org/gtk2hs/")
1402 (synopsis "Haskell bindings to the Cairo vector graphics library")
1403 (description
1404 "Cairo is a library to render high quality vector graphics. There exist
1405various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1406documents, amongst others.")
1407 (license license:bsd-3)))
1408
1409(define-public ghc-call-stack
1410 (package
1411 (name "ghc-call-stack")
1412 (version "0.1.0")
1413 (source
1414 (origin
1415 (method url-fetch)
1416 (uri (string-append "https://hackage.haskell.org/package/"
1417 "call-stack/call-stack-"
1418 version ".tar.gz"))
1419 (sha256
1420 (base32
1421 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1422 (build-system haskell-build-system)
1423 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1424 (home-page "https://github.com/sol/call-stack#readme")
1425 (synopsis "Use GHC call-stacks in a backward compatible way")
1426 (description "This package provides a compatibility layer for using GHC
1427call stacks with different versions of the compiler.")
1428 (license license:expat)))
1429
1430;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1431;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1432(define-public ghc-call-stack-boot
1433 (hidden-package
1434 (package
1435 (inherit ghc-call-stack)
1436 (arguments '(#:tests? #f))
1437 (inputs '()))))
1438
1439(define-public ghc-case-insensitive
1440 (package
1441 (name "ghc-case-insensitive")
1442 (version "1.2.0.11")
1443 (outputs '("out" "doc"))
1444 (source
1445 (origin
1446 (method url-fetch)
1447 (uri (string-append
1448 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1449 version
1450 ".tar.gz"))
1451 (sha256
1452 (base32
1453 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1454 (build-system haskell-build-system)
1455 ;; these inputs are necessary to use this library
1456 (inputs
1457 `(("ghc-hashable" ,ghc-hashable)))
1458 (arguments
1459 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1460 (home-page
1461 "https://github.com/basvandijk/case-insensitive")
1462 (synopsis "Case insensitive string comparison")
1463 (description
1464 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1465constructor which can be parameterised by a string-like type like:
1466@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1467the resulting type will be insensitive to cases.")
1468 (license license:bsd-3)))
1469
1470(define-public ghc-cereal
1471 (package
1472 (name "ghc-cereal")
bd95427e 1473 (version "0.5.8.1")
dddbc90c
RV
1474 (source
1475 (origin
1476 (method url-fetch)
1477 (uri (string-append
1478 "https://hackage.haskell.org/package/cereal/cereal-"
1479 version
1480 ".tar.gz"))
1481 (sha256
1482 (base32
bd95427e 1483 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1484 (build-system haskell-build-system)
1485 (native-inputs
1486 `(("ghc-quickcheck" ,ghc-quickcheck)
1487 ("ghc-fail" ,ghc-fail)
1488 ("ghc-test-framework" ,ghc-test-framework)
1489 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1490 (home-page "https://hackage.haskell.org/package/cereal")
1491 (synopsis "Binary serialization library")
1492 (description "This package provides a binary serialization library,
1493similar to @code{binary}, that introduces an @code{isolate} primitive for
1494parser isolation, and labeled blocks for better error messages.")
1495 (license license:bsd-3)))
1496
1497(define-public ghc-cereal-conduit
1498 (package
1499 (name "ghc-cereal-conduit")
1500 (version "0.8.0")
1501 (source
1502 (origin
1503 (method url-fetch)
1504 (uri (string-append "https://hackage.haskell.org/package/"
1505 "cereal-conduit/cereal-conduit-"
1506 version ".tar.gz"))
1507 (sha256
1508 (base32
1509 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1510 (build-system haskell-build-system)
1511 (inputs
1512 `(("ghc-conduit" ,ghc-conduit)
1513 ("ghc-resourcet" ,ghc-resourcet)
1514 ("ghc-cereal" ,ghc-cereal)))
1515 (native-inputs
1516 `(("ghc-hunit" ,ghc-hunit)))
1517 (home-page "https://github.com/snoyberg/conduit")
1518 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1519 (description
1520 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1521@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1522 (license license:bsd-3)))
1523
1524(define-public ghc-cgi
1525 (package
1526 (name "ghc-cgi")
b6b2c218 1527 (version "3001.4.0.0")
dddbc90c
RV
1528 (source
1529 (origin
1530 (method url-fetch)
1531 (uri (string-append
1532 "https://hackage.haskell.org/package/cgi/cgi-"
1533 version
1534 ".tar.gz"))
1535 (sha256
1536 (base32
b6b2c218 1537 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
dddbc90c 1538 (build-system haskell-build-system)
dddbc90c
RV
1539 (inputs
1540 `(("ghc-exceptions" ,ghc-exceptions)
1541 ("ghc-multipart" ,ghc-multipart)
1542 ("ghc-network-uri" ,ghc-network-uri)
1543 ("ghc-network" ,ghc-network)))
1544 (native-inputs
1545 `(("ghc-doctest" ,ghc-doctest)
1546 ("ghc-quickcheck" ,ghc-quickcheck)))
1547 (home-page
1548 "https://github.com/cheecheeo/haskell-cgi")
1549 (synopsis "Library for writing CGI programs")
1550 (description
1551 "This is a Haskell library for writing CGI programs.")
1552 (license license:bsd-3)))
1553
1554(define-public ghc-charset
1555 (package
1556 (name "ghc-charset")
1557 (version "0.3.7.1")
1558 (source
1559 (origin
1560 (method url-fetch)
1561 (uri (string-append
1562 "https://hackage.haskell.org/package/charset/charset-"
1563 version
1564 ".tar.gz"))
1565 (sha256
1566 (base32
1567 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1568 (build-system haskell-build-system)
35ee173c
TS
1569 (arguments
1570 `(#:cabal-revision
1571 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1572 (inputs
1573 `(("ghc-semigroups" ,ghc-semigroups)
1574 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1575 (home-page "https://github.com/ekmett/charset")
1576 (synopsis "Fast unicode character sets for Haskell")
1577 (description "This package provides fast unicode character sets for
1578Haskell, based on complemented PATRICIA tries.")
1579 (license license:bsd-3)))
1580
1581(define-public ghc-chart
1582 (package
1583 (name "ghc-chart")
6cd84b98 1584 (version "1.9.1")
dddbc90c
RV
1585 (source
1586 (origin
1587 (method url-fetch)
1588 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1589 "Chart-" version ".tar.gz"))
1590 (sha256
1591 (base32
6cd84b98 1592 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
dddbc90c
RV
1593 (build-system haskell-build-system)
1594 (inputs
1595 `(("ghc-old-locale" ,ghc-old-locale)
1596 ("ghc-lens" ,ghc-lens)
1597 ("ghc-colour" ,ghc-colour)
1598 ("ghc-data-default-class" ,ghc-data-default-class)
1599 ("ghc-operational" ,ghc-operational)
1600 ("ghc-vector" ,ghc-vector)))
1601 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1602 (synopsis "Library for generating 2D charts and plots")
1603 (description
1604 "This package provides a library for generating 2D charts and plots, with
1605backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1606 (license license:bsd-3)))
1607
1608(define-public ghc-chart-cairo
1609 (package
1610 (name "ghc-chart-cairo")
5cf9264d 1611 (version "1.9.1")
dddbc90c
RV
1612 (source
1613 (origin
1614 (method url-fetch)
1615 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1616 "Chart-cairo-" version ".tar.gz"))
1617 (sha256
1618 (base32
5cf9264d 1619 "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
dddbc90c
RV
1620 (build-system haskell-build-system)
1621 (inputs
1622 `(("ghc-old-locale" ,ghc-old-locale)
1623 ("ghc-cairo" ,ghc-cairo)
1624 ("ghc-colour" ,ghc-colour)
1625 ("ghc-data-default-class" ,ghc-data-default-class)
1626 ("ghc-operational" ,ghc-operational)
1627 ("ghc-lens" ,ghc-lens)
1628 ("ghc-chart" ,ghc-chart)))
1629 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1630 (synopsis "Cairo backend for Charts")
1631 (description "This package provides a Cairo vector graphics rendering
1632backend for the Charts library.")
1633 (license license:bsd-3)))
1634
1635(define-public ghc-chasingbottoms
1636 (package
1637 (name "ghc-chasingbottoms")
1f67853e 1638 (version "1.3.1.7")
dddbc90c
RV
1639 (source
1640 (origin
1641 (method url-fetch)
1642 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1643 "ChasingBottoms-" version ".tar.gz"))
1644 (sha256
1645 (base32
1f67853e 1646 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1647 (build-system haskell-build-system)
1648 (inputs
1649 `(("ghc-quickcheck" ,ghc-quickcheck)
1650 ("ghc-random" ,ghc-random)
1651 ("ghc-syb" ,ghc-syb)))
1652 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1653 (synopsis "Testing of partial and infinite values in Haskell")
1654 (description
1655 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1656 ;; rendered properly.
1657 "This is a library for testing code involving bottoms or infinite values.
1658For the underlying theory and a larger example involving use of QuickCheck,
1659see the article
1660@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1661\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1662Partial and Infinite Values\"}.")
1663 (license license:expat)))
1664
1665(define-public ghc-cheapskate
1666 (package
1667 (name "ghc-cheapskate")
5e18bb9e 1668 (version "0.1.1.1")
dddbc90c
RV
1669 (source
1670 (origin
1671 (method url-fetch)
1672 (uri (string-append
1673 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1674 version
1675 ".tar.gz"))
1676 (sha256
1677 (base32
5e18bb9e 1678 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
dddbc90c
RV
1679 (build-system haskell-build-system)
1680 (inputs
1681 `(("ghc-blaze-html" ,ghc-blaze-html)
1682 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1683 ("ghc-data-default" ,ghc-data-default)
1684 ("ghc-syb" ,ghc-syb)
1685 ("ghc-uniplate" ,ghc-uniplate)))
1686 (home-page "https://github.com/jgm/cheapskate")
1687 (synopsis "Experimental markdown processor")
1688 (description "Cheapskate is an experimental Markdown processor in pure
1689Haskell. It aims to process Markdown efficiently and in the most forgiving
1690possible way. It is designed to deal with any input, including garbage, with
1691linear performance. Output is sanitized by default for protection against
1692cross-site scripting (@dfn{XSS}) attacks.")
1693 (license license:bsd-3)))
1694
1695(define-public ghc-chell
1696 (package
1697 (name "ghc-chell")
acdd03be 1698 (version "0.5")
dddbc90c
RV
1699 (source
1700 (origin
1701 (method url-fetch)
1702 (uri (string-append
1703 "https://hackage.haskell.org/package/chell/chell-"
1704 version ".tar.gz"))
1705 (sha256
1706 (base32
acdd03be 1707 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1708 (build-system haskell-build-system)
acdd03be
TS
1709 (arguments
1710 `(#:cabal-revision
1711 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1712 (inputs
1713 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1714 ("ghc-patience" ,ghc-patience)
1715 ("ghc-random" ,ghc-random)
1716 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1717 (home-page "https://john-millikin.com/software/chell/")
1718 (synopsis "Simple and intuitive library for automated testing")
1719 (description
1720 "Chell is a simple and intuitive library for automated testing.
1721It natively supports assertion-based testing, and can use companion
1722libraries such as @code{chell-quickcheck} to support more complex
1723testing strategies.")
1724 (license license:expat)))
1725
1726(define-public ghc-chell-quickcheck
1727 (package
1728 (name "ghc-chell-quickcheck")
e0e21831 1729 (version "0.2.5.2")
dddbc90c
RV
1730 (source
1731 (origin
1732 (method url-fetch)
1733 (uri (string-append
1734 "https://hackage.haskell.org/package/chell-quickcheck/"
1735 "chell-quickcheck-" version ".tar.gz"))
1736 (sha256
1737 (base32
e0e21831 1738 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1739 (build-system haskell-build-system)
1740 (arguments
1741 `(#:phases
1742 (modify-phases %standard-phases
1743 (add-before 'configure 'update-constraints
1744 (lambda _
1745 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1746 (("QuickCheck >= 2\\.3 && < 2\\.13")
1747 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1748 (inputs
1749 `(("ghc-chell" ,ghc-chell)
1750 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1751 ("ghc-random" ,ghc-random)
1752 ("ghc-quickcheck" ,ghc-quickcheck)))
1753 (home-page "https://john-millikin.com/software/chell/")
1754 (synopsis "QuickCheck support for the Chell testing library")
1755 (description "More complex tests for @code{chell}.")
1756 (license license:expat)))
1757
1758(define ghc-chell-quickcheck-bootstrap
1759 (package
1760 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1761 (version "0.2.5.2")
dddbc90c
RV
1762 (source
1763 (origin
1764 (method url-fetch)
1765 (uri (string-append
1766 "https://hackage.haskell.org/package/chell-quickcheck/"
1767 "chell-quickcheck-" version ".tar.gz"))
1768 (sha256
1769 (base32
e0e21831 1770 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1771 (build-system haskell-build-system)
1772 (inputs
1773 `(("ghc-chell" ,ghc-chell)
1774 ("ghc-random" ,ghc-random)
1775 ("ghc-quickcheck" ,ghc-quickcheck)))
1776 (arguments
1777 `(#:tests? #f
1778 #:phases
1779 (modify-phases %standard-phases
1780 (add-before 'configure 'update-constraints
1781 (lambda _
1782 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1783 (("QuickCheck >= 2\\.3 && < 2\\.13")
1784 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1785 (home-page "https://john-millikin.com/software/chell/")
1786 (synopsis "QuickCheck support for the Chell testing library")
1787 (description "More complex tests for @code{chell}.")
1788 (license license:expat)))
1789
1790(define-public ghc-chunked-data
1791 (package
1792 (name "ghc-chunked-data")
1793 (version "0.3.1")
1794 (source
1795 (origin
1796 (method url-fetch)
1797 (uri (string-append "https://hackage.haskell.org/package/"
1798 "chunked-data-" version "/"
1799 "chunked-data-" version ".tar.gz"))
1800 (sha256
1801 (base32
1802 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1803 (build-system haskell-build-system)
1804 (inputs `(("ghc-vector" ,ghc-vector)
1805 ("ghc-semigroups" ,ghc-semigroups)))
1806 (home-page "https://github.com/snoyberg/mono-traversable")
1807 (synopsis "Typeclasses for dealing with various chunked data
1808representations for Haskell")
1809 (description "This Haskell package was originally present in
1810classy-prelude.")
1811 (license license:expat)))
1812
1813(define-public ghc-clock
1814 (package
1815 (name "ghc-clock")
0841b6f2 1816 (version "0.8")
dddbc90c
RV
1817 (source
1818 (origin
1819 (method url-fetch)
1820 (uri (string-append
1821 "https://hackage.haskell.org/package/"
1822 "clock/"
1823 "clock-" version ".tar.gz"))
1824 (sha256
0841b6f2 1825 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1826 (build-system haskell-build-system)
1827 (inputs
1828 `(("ghc-tasty" ,ghc-tasty)
1829 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1830 (home-page "https://hackage.haskell.org/package/clock")
1831 (synopsis "High-resolution clock for Haskell")
1832 (description "A package for convenient access to high-resolution clock and
1833timer functions of different operating systems via a unified API.")
1834 (license license:bsd-3)))
1835
1836;; This package builds `clock` without tests, since the tests rely on tasty
1837;; and tasty-quickcheck, which in turn require clock to build.
1838(define-public ghc-clock-bootstrap
1839 (package
1840 (inherit ghc-clock)
1841 (name "ghc-clock-bootstrap")
1842 (arguments '(#:tests? #f))
1843 (inputs '())
1844 (properties '((hidden? #t)))))
1845
1846(define-public ghc-cmark
1847 (package
1848 (name "ghc-cmark")
6bdd36c0 1849 (version "0.6")
dddbc90c
RV
1850 (source (origin
1851 (method url-fetch)
6bdd36c0 1852 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1853 ;; See cbits/cmark_version.h.
1854 (uri (string-append "https://hackage.haskell.org/package/"
1855 "cmark/cmark-" version ".tar.gz"))
1856 (sha256
1857 (base32
6bdd36c0 1858 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
1859 (build-system haskell-build-system)
1860 (native-inputs
1861 `(("ghc-hunit" ,ghc-hunit)))
1862 (home-page "https://github.com/jgm/commonmark-hs")
1863 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1864 (description
1865 "This package provides Haskell bindings for
1866@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1867CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1868sources, and does not require prior installation of the C library.")
1869 (license license:bsd-3)))
1870
1871(define-public ghc-cmark-gfm
1872 (package
1873 (name "ghc-cmark-gfm")
24fc8dae 1874 (version "0.2.0")
dddbc90c
RV
1875 (source
1876 (origin
1877 (method url-fetch)
1878 (uri (string-append "https://hackage.haskell.org/package/"
1879 "cmark-gfm/cmark-gfm-"
1880 version ".tar.gz"))
1881 (sha256
1882 (base32
24fc8dae 1883 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
1884 (build-system haskell-build-system)
1885 (native-inputs
1886 `(("ghc-hunit" ,ghc-hunit)))
1887 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1888 (synopsis
1889 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1890 (description
1891 "This package provides Haskell bindings for libcmark-gfm, the reference
1892parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1893It includes sources for libcmark-gfm and does not require prior installation
1894of the C library.")
1895 (license license:bsd-3)))
1896
1897(define-public ghc-cmdargs
1898 (package
1899 (name "ghc-cmdargs")
1900 (version "0.10.20")
1901 (source
1902 (origin
1903 (method url-fetch)
1904 (uri (string-append
1905 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1906 version ".tar.gz"))
1907 (sha256
1908 (base32
1909 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1910 (build-system haskell-build-system)
1911 (home-page
1912 "http://community.haskell.org/~ndm/cmdargs/")
1913 (synopsis "Command line argument processing")
1914 (description
1915 "This library provides an easy way to define command line parsers.")
1916 (license license:bsd-3)))
1917
1918(define-public ghc-code-page
1919 (package
1920 (name "ghc-code-page")
f6bb6519 1921 (version "0.2")
dddbc90c
RV
1922 (source
1923 (origin
1924 (method url-fetch)
1925 (uri (string-append
1926 "https://hackage.haskell.org/package/code-page/code-page-"
1927 version ".tar.gz"))
1928 (sha256
1929 (base32
f6bb6519 1930 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1931 (build-system haskell-build-system)
1932 (home-page "https://github.com/RyanGlScott/code-page")
1933 (synopsis "Windows code page library for Haskell")
1934 (description "A cross-platform library with functions for adjusting
1935code pages on Windows. On all other operating systems, the library does
1936nothing.")
1937 (license license:bsd-3)))
1938
1939(define-public ghc-colour
1940(package
1941 (name "ghc-colour")
bc9d1af9 1942 (version "2.3.5")
dddbc90c
RV
1943 (source
1944 (origin
1945 (method url-fetch)
1946 (uri (string-append
1947 "https://hackage.haskell.org/package/colour/colour-"
1948 version ".tar.gz"))
1949 (sha256
1950 (base32
bc9d1af9 1951 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1952 (arguments
1953 ;; The tests for this package have the following dependency cycle:
1954 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1955 `(#:tests? #f))
1956 (build-system haskell-build-system)
1957 (home-page "https://www.haskell.org/haskellwiki/Colour")
1958 (synopsis "Model for human colour perception")
1959 (description
1960 "This package provides a data type for colours and transparency.
1961Colours can be blended and composed. Various colour spaces are
1962supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1963 (license license:expat)))
1964
1965(define-public ghc-comonad
1966 (package
1967 (name "ghc-comonad")
1a825512 1968 (version "5.0.5")
dddbc90c
RV
1969 (source
1970 (origin
1971 (method url-fetch)
1972 (uri (string-append
1973 "https://hackage.haskell.org/package/comonad/comonad-"
1974 version
1975 ".tar.gz"))
1976 (sha256
1977 (base32
1a825512 1978 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
1979 (build-system haskell-build-system)
1980 (native-inputs
1981 `(("cabal-doctest" ,cabal-doctest)
1982 ("ghc-doctest" ,ghc-doctest)))
1983 (inputs
1984 `(("ghc-contravariant" ,ghc-contravariant)
1985 ("ghc-distributive" ,ghc-distributive)
1986 ("ghc-semigroups" ,ghc-semigroups)
1987 ("ghc-tagged" ,ghc-tagged)
1988 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1989 (home-page "https://github.com/ekmett/comonad/")
1990 (synopsis "Comonads for Haskell")
1991 (description "This library provides @code{Comonad}s for Haskell.")
1992 (license license:bsd-3)))
1993
1994(define-public ghc-concatenative
1995 (package
1996 (name "ghc-concatenative")
1997 (version "1.0.1")
1998 (source (origin
1999 (method url-fetch)
2000 (uri (string-append
2001 "https://hackage.haskell.org/package/concatenative/concatenative-"
2002 version ".tar.gz"))
2003 (sha256
2004 (base32
2005 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
2006 (build-system haskell-build-system)
2007 (home-page
2008 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
2009 (synopsis "Library for postfix control flow")
2010 (description
2011 "Concatenative gives Haskell Factor-style combinators and arrows for
2012postfix notation. For more information on stack based languages, see
2013@uref{https://concatenative.org}.")
2014 (license license:bsd-3)))
2015
2016(define-public ghc-concurrent-extra
2017 (package
2018 (name "ghc-concurrent-extra")
2019 (version "0.7.0.12")
2020 (source
2021 (origin
2022 (method url-fetch)
2023 (uri (string-append "https://hackage.haskell.org/package/"
2024 "concurrent-extra/concurrent-extra-"
2025 version ".tar.gz"))
2026 (sha256
2027 (base32
2028 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
2029 (build-system haskell-build-system)
2030 (arguments
2031 ;; XXX: The ReadWriteLock 'stressTest' fails.
2032 `(#:tests? #f))
2033 (inputs
2034 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
2035 (native-inputs
2036 `(("ghc-async" ,ghc-async)
2037 ("ghc-hunit" ,ghc-hunit)
2038 ("ghc-random" ,ghc-random)
2039 ("ghc-test-framework" ,ghc-test-framework)
2040 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2041 (home-page "https://github.com/basvandijk/concurrent-extra")
2042 (synopsis "Extra concurrency primitives")
2043 (description "This Haskell library offers (among other things) the
2044following selection of synchronisation primitives:
2045
2046@itemize
2047@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
2048@item @code{Event}: Wake multiple threads by signalling an event.
2049@item @code{Lock}: Enforce exclusive access to a resource. Also known
2050as a binary semaphore or mutex. The package additionally provides an
2051alternative that works in the STM monad.
2052@item @code{RLock}: A lock which can be acquired multiple times by the
2053same thread. Also known as a reentrant mutex.
2054@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
2055to protect shared resources which may be concurrently read, but only
2056sequentially written.
2057@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2058@end itemize
2059
2060Please consult the API documentation of the individual modules for more
2061detailed information.
2062
2063This package was inspired by the concurrency libraries of Java and
2064Python.")
2065 (license license:bsd-3)))
2066
2067(define-public ghc-concurrent-output
2068 (package
2069 (name "ghc-concurrent-output")
4fce0a4a 2070 (version "1.10.11")
dddbc90c
RV
2071 (source
2072 (origin
2073 (method url-fetch)
2074 (uri (string-append
2075 "mirror://hackage/package/concurrent-output/concurrent-output-"
2076 version
2077 ".tar.gz"))
2078 (sha256
2079 (base32
4fce0a4a 2080 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
2081 (build-system haskell-build-system)
2082 (inputs
2083 `(("ghc-async" ,ghc-async)
2084 ("ghc-exceptions" ,ghc-exceptions)
2085 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2086 ("ghc-terminal-size" ,ghc-terminal-size)))
2087 (home-page
2088 "https://hackage.haskell.org/package/concurrent-output")
2089 (synopsis
2090 "Ungarble output from several threads or commands")
2091 (description
2092 "Lets multiple threads and external processes concurrently output to the
2093console, without it getting all garbled up.
2094
2095Built on top of that is a way of defining multiple output regions, which are
2096automatically laid out on the screen and can be individually updated by
2097concurrent threads. Can be used for progress displays etc.")
2098 (license license:bsd-2)))
2099
2100(define-public ghc-conduit
2101 (package
2102 (name "ghc-conduit")
1ac981d4 2103 (version "1.3.1.1")
dddbc90c
RV
2104 (source (origin
2105 (method url-fetch)
2106 (uri (string-append "https://hackage.haskell.org/package/"
2107 "conduit/conduit-" version ".tar.gz"))
2108 (sha256
2109 (base32
1ac981d4 2110 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
dddbc90c
RV
2111 (build-system haskell-build-system)
2112 (inputs
2113 `(("ghc-exceptions" ,ghc-exceptions)
2114 ("ghc-lifted-base" ,ghc-lifted-base)
2115 ("ghc-mono-traversable" ,ghc-mono-traversable)
2116 ("ghc-mmorph" ,ghc-mmorph)
2117 ("ghc-resourcet" ,ghc-resourcet)
2118 ("ghc-silently" ,ghc-silently)
2119 ("ghc-transformers-base" ,ghc-transformers-base)
2120 ("ghc-unliftio" ,ghc-unliftio)
2121 ("ghc-unliftio-core" ,ghc-unliftio-core)
2122 ("ghc-vector" ,ghc-vector)
2123 ("ghc-void" ,ghc-void)))
2124 (native-inputs
2125 `(("ghc-quickcheck" ,ghc-quickcheck)
2126 ("ghc-hspec" ,ghc-hspec)
2127 ("ghc-safe" ,ghc-safe)
2128 ("ghc-split" ,ghc-split)))
2129 (home-page "https://github.com/snoyberg/conduit")
2130 (synopsis "Streaming data library ")
2131 (description
2132 "The conduit package is a solution to the streaming data problem,
2133allowing for production, transformation, and consumption of streams of data
2134in constant memory. It is an alternative to lazy I/O which guarantees
2135deterministic resource handling, and fits in the same general solution
2136space as enumerator/iteratee and pipes.")
2137 (license license:expat)))
2138
2139(define-public ghc-conduit-algorithms
2140 (package
2141 (name "ghc-conduit-algorithms")
503b74ae 2142 (version "0.0.11.0")
dddbc90c
RV
2143 (source
2144 (origin
2145 (method url-fetch)
2146 (uri (string-append "https://hackage.haskell.org/package/"
2147 "conduit-algorithms/conduit-algorithms-"
2148 version ".tar.gz"))
2149 (sha256
2150 (base32
503b74ae 2151 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
dddbc90c
RV
2152 (build-system haskell-build-system)
2153 (inputs
2154 `(("ghc-async" ,ghc-async)
2155 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2156 ("ghc-conduit" ,ghc-conduit)
2157 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2158 ("ghc-conduit-extra" ,ghc-conduit-extra)
503b74ae 2159 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
dddbc90c
RV
2160 ("ghc-exceptions" ,ghc-exceptions)
2161 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2162 ("ghc-monad-control" ,ghc-monad-control)
2163 ("ghc-pqueue" ,ghc-pqueue)
2164 ("ghc-resourcet" ,ghc-resourcet)
2165 ("ghc-stm-conduit" ,ghc-stm-conduit)
2166 ("ghc-streaming-commons" ,ghc-streaming-commons)
2167 ("ghc-unliftio-core" ,ghc-unliftio-core)
2168 ("ghc-vector" ,ghc-vector)))
2169 (native-inputs
2170 `(("ghc-hunit" ,ghc-hunit)
2171 ("ghc-test-framework" ,ghc-test-framework)
2172 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2173 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2174 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2175 (synopsis "Conduit-based algorithms")
2176 (description
2177 "This package provides algorithms on @code{Conduits}, including higher
2178level asynchronous processing and some other utilities.")
2179 (license license:expat)))
2180
2181(define-public ghc-conduit-combinators
2182 (package
2183 (name "ghc-conduit-combinators")
2184 (version "1.3.0")
2185 (source
2186 (origin
2187 (method url-fetch)
2188 (uri (string-append "https://hackage.haskell.org/package/"
2189 "conduit-combinators-" version "/"
2190 "conduit-combinators-" version ".tar.gz"))
2191 (sha256
2192 (base32
2193 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2194 (build-system haskell-build-system)
2195 (inputs `(("ghc-conduit" ,ghc-conduit)
2196 ("ghc-conduit-extra" ,ghc-conduit-extra)
2197 ("ghc-transformers-base" ,ghc-transformers-base)
2198 ("ghc-primitive" ,ghc-primitive)
2199 ("ghc-vector" ,ghc-vector)
2200 ("ghc-void" ,ghc-void)
2201 ("ghc-mwc-random" ,ghc-mwc-random)
2202 ("ghc-unix-compat" ,ghc-unix-compat)
2203 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2204 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2205 ("ghc-resourcet" ,ghc-resourcet)
2206 ("ghc-monad-control" ,ghc-monad-control)
2207 ("ghc-chunked-data" ,ghc-chunked-data)
2208 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2209 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2210 ("ghc-silently" ,ghc-silently)
2211 ("ghc-safe" ,ghc-safe)
2212 ("ghc-quickcheck" ,ghc-quickcheck)))
2213 (home-page "https://github.com/snoyberg/mono-traversable")
2214 (synopsis "Commonly used conduit functions, for both chunked and
2215unchunked data")
2216 (description "This Haskell package provides a replacement for Data.Conduit.List,
2217as well as a convenient Conduit module.")
2218 (license license:expat)))
2219
2220(define-public ghc-conduit-extra
2221 (package
2222 (name "ghc-conduit-extra")
151774d9 2223 (version "1.3.4")
dddbc90c
RV
2224 (source
2225 (origin
2226 (method url-fetch)
2227 (uri (string-append "https://hackage.haskell.org/package/"
2228 "conduit-extra/conduit-extra-"
2229 version ".tar.gz"))
2230 (sha256
2231 (base32
151774d9 2232 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
dddbc90c
RV
2233 (build-system haskell-build-system)
2234 (inputs
2235 `(("ghc-conduit" ,ghc-conduit)
2236 ("ghc-exceptions" ,ghc-exceptions)
2237 ("ghc-monad-control" ,ghc-monad-control)
2238 ("ghc-transformers-base" ,ghc-transformers-base)
2239 ("ghc-typed-process" ,ghc-typed-process)
2240 ("ghc-async" ,ghc-async)
2241 ("ghc-attoparsec" ,ghc-attoparsec)
2242 ("ghc-blaze-builder" ,ghc-blaze-builder)
2243 ("ghc-network" ,ghc-network)
2244 ("ghc-primitive" ,ghc-primitive)
2245 ("ghc-resourcet" ,ghc-resourcet)
2246 ("ghc-streaming-commons" ,ghc-streaming-commons)
2247 ("ghc-hspec" ,ghc-hspec)
2248 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2249 ("ghc-quickcheck" ,ghc-quickcheck)))
2250 (native-inputs
2251 `(("hspec-discover" ,hspec-discover)))
2252 (home-page "https://github.com/snoyberg/conduit")
2253 (synopsis "Conduit adapters for common libraries")
2254 (description
2255 "The @code{conduit} package itself maintains relative small dependencies.
2256The purpose of this package is to collect commonly used utility functions
2257wrapping other library dependencies, without depending on heavier-weight
2258dependencies. The basic idea is that this package should only depend on
2259@code{haskell-platform} packages and @code{conduit}.")
2260 (license license:expat)))
2261
b59c3518
TS
2262(define-public ghc-conduit-zstd
2263 (package
2264 (name "ghc-conduit-zstd")
2265 (version "0.0.1.1")
2266 (source
2267 (origin
2268 (method url-fetch)
2269 (uri (string-append "https://hackage.haskell.org/package/"
2270 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2271 (sha256
2272 (base32
2273 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2274 (build-system haskell-build-system)
2275 (inputs
2276 `(("ghc-conduit" ,ghc-conduit)
2277 ("ghc-zstd" ,ghc-zstd)))
2278 (native-inputs
2279 `(("ghc-hunit" ,ghc-hunit)
2280 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2281 ("ghc-conduit-extra" ,ghc-conduit-extra)
2282 ("ghc-test-framework" ,ghc-test-framework)
2283 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2284 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2285 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2286 (synopsis "Conduit-based ZStd Compression")
2287 (description "Zstandard compression packaged as a conduit. This is
2288a very thin wrapper around the
2289@url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2290interface}.")
2291 (license license:expat)))
2292
dddbc90c
RV
2293(define-public ghc-configurator
2294 (package
2295 (name "ghc-configurator")
2296 (version "0.3.0.0")
2297 (source
2298 (origin
2299 (method url-fetch)
2300 (uri (string-append "https://hackage.haskell.org/package/"
2301 "configurator/configurator-"
2302 version ".tar.gz"))
2303 (sha256
2304 (base32
2305 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2306 (build-system haskell-build-system)
2307 (inputs
2308 `(("ghc-attoparsec" ,ghc-attoparsec)
2309 ("ghc-hashable" ,ghc-hashable)
2310 ("ghc-unix-compat" ,ghc-unix-compat)
2311 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2312 (native-inputs
2313 `(("ghc-hunit" ,ghc-hunit)
2314 ("ghc-test-framework" ,ghc-test-framework)
2315 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2316 (home-page "http://github.com/bos/configurator")
2317 (synopsis "Configuration management")
2318 (description
2319 "This package provides a configuration management library for programs
2320and daemons. The features include:
2321
2322@enumerate
2323@item Automatic, dynamic reloading in response to modifications to
2324 configuration files.
2325@item A simple, but flexible, configuration language, supporting several of
2326 the most commonly needed types of data, along with interpolation of strings
2327 from the configuration or the system environment (e.g. @code{$(HOME)}).
2328@item Subscription-based notification of changes to configuration properties.
2329@item An @code{import} directive allows the configuration of a complex
2330 application to be split across several smaller files, or common configuration
2331 data to be shared across several applications.
2332@end enumerate\n")
2333 (license license:bsd-3)))
2334
2335(define-public ghc-connection
2336 (package
2337 (name "ghc-connection")
6ee0d258 2338 (version "0.3.1")
dddbc90c
RV
2339 (source (origin
2340 (method url-fetch)
2341 (uri (string-append "https://hackage.haskell.org/package/"
2342 "connection/connection-"
2343 version ".tar.gz"))
2344 (sha256
2345 (base32
6ee0d258 2346 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2347 (build-system haskell-build-system)
2348 (inputs
2349 `(("ghc-byteable" ,ghc-byteable)
2350 ("ghc-data-default-class" ,ghc-data-default-class)
2351 ("ghc-network" ,ghc-network)
2352 ("ghc-tls" ,ghc-tls)
2353 ("ghc-socks" ,ghc-socks)
2354 ("ghc-x509" ,ghc-x509)
2355 ("ghc-x509-store" ,ghc-x509-store)
2356 ("ghc-x509-system" ,ghc-x509-system)
2357 ("ghc-x509-validation" ,ghc-x509-validation)))
2358 (home-page "https://github.com/vincenthz/hs-connection")
2359 (synopsis "Simple and easy network connections API")
2360 (description
2361 "This package provides a simple network library for all your connection
2362needs. It provides a very simple API to create sockets to a destination with
2363the choice of SSL/TLS, and SOCKS.")
2364 (license license:bsd-3)))
2365
2366(define-public ghc-constraints
2367 (package
2368 (name "ghc-constraints")
2369 (version "0.10.1")
2370 (source
2371 (origin
2372 (method url-fetch)
2373 (uri (string-append
2374 "https://hackage.haskell.org/package/constraints/constraints-"
2375 version ".tar.gz"))
2376 (sha256
2377 (base32
2378 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2379 (build-system haskell-build-system)
2380 (inputs
2381 `(("ghc-hashable" ,ghc-hashable)
2382 ("ghc-semigroups" ,ghc-semigroups)
2383 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2384 (native-inputs
2385 `(("ghc-hspec" ,ghc-hspec)
2386 ("hspec-discover" ,hspec-discover)))
2387 (home-page "https://github.com/ekmett/constraints/")
2388 (synopsis "Constraint manipulation")
2389 (description
2390 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2391They stopped crashing the compiler in GHC 7.6. This package provides
2392a vocabulary for working with them.")
2393 (license license:bsd-3)))
2394
2395(define-public ghc-contravariant
2396 (package
2397 (name "ghc-contravariant")
e7b35ff0 2398 (version "1.5.2")
dddbc90c
RV
2399 (source
2400 (origin
2401 (method url-fetch)
2402 (uri (string-append
2403 "https://hackage.haskell.org/package/contravariant/contravariant-"
2404 version
2405 ".tar.gz"))
2406 (sha256
2407 (base32
e7b35ff0 2408 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2409 (build-system haskell-build-system)
2410 (inputs
2411 `(("ghc-void" ,ghc-void)
2412 ("ghc-transformers-compat" ,ghc-transformers-compat)
2413 ("ghc-statevar" ,ghc-statevar)
2414 ("ghc-semigroups" ,ghc-semigroups)))
2415 (home-page
2416 "https://github.com/ekmett/contravariant/")
2417 (synopsis "Contravariant functors")
2418 (description "Contravariant functors for Haskell.")
2419 (license license:bsd-3)))
2420
2421(define-public ghc-contravariant-extras
2422 (package
2423 (name "ghc-contravariant-extras")
2424 (version "0.3.4")
2425 (source
2426 (origin
2427 (method url-fetch)
2428 (uri (string-append "https://hackage.haskell.org/package/"
2429 "contravariant-extras-" version "/"
2430 "contravariant-extras-" version ".tar.gz"))
2431 (sha256
2432 (base32
2433 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2434 (build-system haskell-build-system)
f3aca086
TS
2435 (arguments
2436 `(#:cabal-revision
2437 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
dddbc90c
RV
2438 (inputs
2439 `(("ghc-tuple-th" ,ghc-tuple-th)
2440 ("ghc-contravariant" ,ghc-contravariant)
2441 ("ghc-base-prelude" ,ghc-base-prelude)
2442 ("ghc-semigroups" ,ghc-semigroups)))
2443 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2444 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2445 (description "This Haskell package provides extras for the
2446@code{ghc-contravariant} package.")
2447 (license license:expat)))
2448
2449(define-public ghc-convertible
2450 (package
2451 (name "ghc-convertible")
2452 (version "1.1.1.0")
2453 (source
2454 (origin
2455 (method url-fetch)
2456 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2457 "convertible-" version ".tar.gz"))
2458 (sha256
2459 (base32
2460 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2461 (build-system haskell-build-system)
2462 (inputs
2463 `(("ghc-old-time" ,ghc-old-time)
2464 ("ghc-old-locale" ,ghc-old-locale)))
2465 (home-page "https://hackage.haskell.org/package/convertible")
2466 (synopsis "Typeclasses and instances for converting between types")
2467 (description
2468 "This package provides a typeclass with a single function that is
2469designed to help convert between different types: numeric values, dates and
2470times, and the like. The conversions perform bounds checking and return a
2471pure @code{Either} value. This means that you need not remember which specific
2472function performs the conversion you desire.")
2473 (license license:bsd-3)))
2474
2475(define-public ghc-data-accessor
2476 (package
2477 (name "ghc-data-accessor")
6dcca515 2478 (version "0.2.2.8")
dddbc90c
RV
2479 (source
2480 (origin
2481 (method url-fetch)
2482 (uri (string-append
2483 "mirror://hackage/package/data-accessor/data-accessor-"
2484 version ".tar.gz"))
2485 (sha256
6dcca515 2486 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2487 (build-system haskell-build-system)
2488 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2489 (synopsis
2490 "Haskell utilities for accessing and manipulating fields of records")
2491 (description "This package provides Haskell modules for accessing and
2492manipulating fields of records.")
2493 (license license:bsd-3)))
2494
2495(define-public ghc-data-accessor-transformers
2496 (package
2497 (name "ghc-data-accessor-transformers")
2498 (version "0.2.1.7")
2499 (source
2500 (origin
2501 (method url-fetch)
2502 (uri (string-append
2503 "mirror://hackage/package/data-accessor-transformers/"
2504 "data-accessor-transformers-" version ".tar.gz"))
2505 (sha256
2506 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2507 (build-system haskell-build-system)
2508 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2509 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2510 (synopsis "Use Accessor to access state in transformers State monad")
2511 (description "This package provides Haskell modules to allow use of
2512Accessor to access state in transformers State monad.")
2513 (license license:bsd-3)))
2514
2515(define-public ghc-data-default
2516 (package
2517 (name "ghc-data-default")
2518 (version "0.7.1.1")
2519 (source
2520 (origin
2521 (method url-fetch)
2522 (uri (string-append
2523 "https://hackage.haskell.org/package/data-default/data-default-"
2524 version
2525 ".tar.gz"))
2526 (sha256
2527 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2528 (build-system haskell-build-system)
2529 (inputs
2530 `(("ghc-data-default-class"
2531 ,ghc-data-default-class)
2532 ("ghc-data-default-instances-base"
2533 ,ghc-data-default-instances-base)
2534 ("ghc-data-default-instances-containers"
2535 ,ghc-data-default-instances-containers)
2536 ("ghc-data-default-instances-dlist"
2537 ,ghc-data-default-instances-dlist)
2538 ("ghc-data-default-instances-old-locale"
2539 ,ghc-data-default-instances-old-locale)))
2540 (home-page "https://hackage.haskell.org/package/data-default")
2541 (synopsis "Types with default values")
2542 (description
2543 "This package defines a class for types with a default value, and
2544provides instances for types from the base, containers, dlist and old-locale
2545packages.")
2546 (license license:bsd-3)))
2547
2548(define-public ghc-data-default-class
2549 (package
2550 (name "ghc-data-default-class")
2551 (version "0.1.2.0")
2552 (source
2553 (origin
2554 (method url-fetch)
2555 (uri (string-append
2556 "https://hackage.haskell.org/package/data-default-class/"
2557 "data-default-class-" version ".tar.gz"))
2558 (sha256
2559 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2560 (build-system haskell-build-system)
2561 (home-page "https://hackage.haskell.org/package/data-default-class")
2562 (synopsis "Types with default values")
2563 (description
2564 "This package defines a class for types with default values.")
2565 (license license:bsd-3)))
2566
2567(define-public ghc-data-default-instances-base
2568 (package
2569 (name "ghc-data-default-instances-base")
2570 (version "0.1.0.1")
2571 (source
2572 (origin
2573 (method url-fetch)
2574 (uri (string-append
2575 "https://hackage.haskell.org/package/"
2576 "data-default-instances-base/"
2577 "data-default-instances-base-" version ".tar.gz"))
2578 (sha256
2579 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2580 (build-system haskell-build-system)
2581 (inputs
2582 `(("ghc-data-default-class" ,ghc-data-default-class)))
2583 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2584 (synopsis "Default instances for types in base")
2585 (description
2586 "This package provides default instances for types from the base
2587package.")
2588 (license license:bsd-3)))
2589
2590(define-public ghc-data-default-instances-containers
2591 (package
2592 (name "ghc-data-default-instances-containers")
2593 (version "0.0.1")
2594 (source
2595 (origin
2596 (method url-fetch)
2597 (uri (string-append
2598 "https://hackage.haskell.org/package/"
2599 "data-default-instances-containers/"
2600 "data-default-instances-containers-" version ".tar.gz"))
2601 (sha256
2602 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2603 (build-system haskell-build-system)
2604 (inputs
2605 `(("ghc-data-default-class" ,ghc-data-default-class)))
2606 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2607 (synopsis "Default instances for types in containers")
2608 (description "Provides default instances for types from the containers
2609package.")
2610 (license license:bsd-3)))
2611
2612(define-public ghc-data-default-instances-dlist
2613 (package
2614 (name "ghc-data-default-instances-dlist")
2615 (version "0.0.1")
2616 (source
2617 (origin
2618 (method url-fetch)
2619 (uri (string-append
2620 "https://hackage.haskell.org/package/"
2621 "data-default-instances-dlist/"
2622 "data-default-instances-dlist-" version ".tar.gz"))
2623 (sha256
2624 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2625 (build-system haskell-build-system)
2626 (inputs
2627 `(("ghc-data-default-class" ,ghc-data-default-class)
2628 ("ghc-dlist" ,ghc-dlist)))
2629 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2630 (synopsis "Default instances for types in dlist")
2631 (description "Provides default instances for types from the dlist
2632package.")
2633 (license license:bsd-3)))
2634
2635(define-public ghc-data-default-instances-old-locale
2636 (package
2637 (name "ghc-data-default-instances-old-locale")
2638 (version "0.0.1")
2639 (source
2640 (origin
2641 (method url-fetch)
2642 (uri (string-append
2643 "https://hackage.haskell.org/package/"
2644 "data-default-instances-old-locale/"
2645 "data-default-instances-old-locale-" version ".tar.gz"))
2646 (sha256
2647 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2648 (build-system haskell-build-system)
2649 (inputs
2650 `(("ghc-data-default-class" ,ghc-data-default-class)
2651 ("ghc-old-locale" ,ghc-old-locale)))
2652 (home-page
2653 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2654 (synopsis "Default instances for types in old-locale")
2655 (description "Provides Default instances for types from the old-locale
2656 package.")
2657 (license license:bsd-3)))
2658
2659(define-public ghc-data-hash
2660 (package
2661 (name "ghc-data-hash")
2662 (version "0.2.0.1")
2663 (source
2664 (origin
2665 (method url-fetch)
2666 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2667 "/data-hash-" version ".tar.gz"))
2668 (sha256
2669 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2670 (build-system haskell-build-system)
2671 (inputs
2672 `(("ghc-quickcheck" ,ghc-quickcheck)
2673 ("ghc-test-framework" ,ghc-test-framework)
2674 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2675 (home-page "https://hackage.haskell.org/package/data-hash")
2676 (synopsis "Combinators for building fast hashing functions")
2677 (description
2678 "This package provides combinators for building fast hashing functions.
2679It includes hashing functions for all basic Haskell98 types.")
2680 (license license:bsd-3)))
2681
2682(define-public ghc-data-ordlist
2683 (package
2684 (name "ghc-data-ordlist")
2685 (version "0.4.7.0")
2686 (source
2687 (origin
2688 (method url-fetch)
2689 (uri (string-append
2690 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2691 version ".tar.gz"))
2692 (sha256
2693 (base32
2694 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2695 (build-system haskell-build-system)
2696 (home-page "https://hackage.haskell.org/package/data-ordlist")
2697 (synopsis "Set and bag operations on ordered lists")
2698 (description
2699 "This module provides set and multiset operations on ordered lists.")
2700 (license license:bsd-3)))
2701
d05f32d6
JS
2702(define-public ghc-dbus
2703 (package
2704 (name "ghc-dbus")
2705 (version "1.2.7")
2706 (source
2707 (origin
2708 (method url-fetch)
2709 (uri
2710 (string-append
2711 "mirror://hackage/package/dbus/dbus-"
2712 version ".tar.gz"))
2713 (sha256
2714 (base32
2715 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
2716 (build-system haskell-build-system)
2717 (inputs
2718 `(("ghc-cereal" ,ghc-cereal)
2719 ("ghc-conduit" ,ghc-conduit)
2720 ("ghc-exceptions" ,ghc-exceptions)
2721 ("ghc-lens" ,ghc-lens)
2722 ("ghc-network" ,ghc-network)
2723 ("ghc-random" ,ghc-random)
2724 ("ghc-split" ,ghc-split)
2725 ("ghc-th-lift" ,ghc-th-lift)
2726 ("ghc-vector" ,ghc-vector)
2727 ("ghc-xml-conduit" ,ghc-xml-conduit)
2728 ("ghc-xml-types" ,ghc-xml-types)))
2729 (native-inputs
2730 `(("ghc-extra" ,ghc-extra)
2731 ("ghc-quickcheck" ,ghc-quickcheck)
2732 ("ghc-resourcet" ,ghc-resourcet)
2733 ("ghc-tasty" ,ghc-tasty)
2734 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2735 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2736 ;; FIXME - Some tests try to talk to network.
2737 (arguments `(#:tests? #f))
2738 (home-page "https://github.com/rblaze/haskell-dbus")
2739 (synopsis "Client library for the D-Bus IPC system")
2740 (description
2741 "D-Bus is a simple, message-based protocol for inter-process
2742communication, which allows applications to interact with other parts
2743of the machine and the user's session using remote procedure
2744calls. D-Bus is a essential part of the modern Linux desktop, where
2745it replaces earlier protocols such as CORBA and DCOP. This library
2746is an implementation of the D-Bus protocol in Haskell. It can be used
2747to add D-Bus support to Haskell applications, without the awkward
2748interfaces common to foreign bindings.")
2749 (license license:asl2.0)))
2750
dddbc90c
RV
2751(define-public ghc-deepseq-generics
2752 (package
2753 (name "ghc-deepseq-generics")
2754 (version "0.2.0.0")
2755 (source (origin
2756 (method url-fetch)
2757 (uri (string-append "https://hackage.haskell.org/package/"
2758 "deepseq-generics/deepseq-generics-"
2759 version ".tar.gz"))
2760 (sha256
2761 (base32
2762 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2763 (build-system haskell-build-system)
2764 (arguments
2765 `(#:cabal-revision
490ceae4 2766 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
dddbc90c
RV
2767 (native-inputs
2768 `(("ghc-hunit" ,ghc-hunit)
2769 ("ghc-test-framework" ,ghc-test-framework)
2770 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2771 (home-page "https://github.com/hvr/deepseq-generics")
2772 (synopsis "Generic RNF implementation")
2773 (description
2774 "This package provides a @code{GHC.Generics}-based
2775@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2776providing an @code{rnf} implementation.")
2777 (license license:bsd-3)))
2778
e924e17e
TS
2779(define-public ghc-dense-linear-algebra
2780 (package
2781 (name "ghc-dense-linear-algebra")
2782 (version "0.1.0.0")
2783 (source
2784 (origin
2785 (method url-fetch)
2786 (uri (string-append "https://hackage.haskell.org/package/"
2787 "dense-linear-algebra/dense-linear-algebra-"
2788 version ".tar.gz"))
2789 (sha256
2790 (base32
2791 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2792 (build-system haskell-build-system)
2793 (inputs
2794 `(("ghc-math-functions" ,ghc-math-functions)
2795 ("ghc-primitive" ,ghc-primitive)
2796 ("ghc-vector" ,ghc-vector)
2797 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2798 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2799 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2800 (native-inputs
2801 `(("ghc-hspec" ,ghc-hspec)
2802 ("ghc-quickcheck" ,ghc-quickcheck)))
50153437 2803 (home-page "https://hackage.haskell.org/package/dense-linear-algebra")
e924e17e
TS
2804 (synopsis "Simple and incomplete implementation of linear algebra")
2805 (description "This library is simply a collection of linear-algebra
2806related modules split from the statistics library.")
2807 (license license:bsd-2)))
2808
dddbc90c
RV
2809(define-public ghc-descriptive
2810 (package
2811 (name "ghc-descriptive")
2812 (version "0.9.5")
2813 (source
2814 (origin
2815 (method url-fetch)
2816 (uri (string-append
2817 "https://hackage.haskell.org/package/descriptive/descriptive-"
2818 version
2819 ".tar.gz"))
2820 (sha256
2821 (base32
2822 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2823 (build-system haskell-build-system)
2824 (inputs
2825 `(("ghc-aeson" ,ghc-aeson)
2826 ("ghc-bifunctors" ,ghc-bifunctors)
2827 ("ghc-scientific" ,ghc-scientific)
2828 ("ghc-vector" ,ghc-vector)))
2829 (native-inputs
2830 `(("ghc-hunit" ,ghc-hunit)
2831 ("ghc-hspec" ,ghc-hspec)))
2832 (home-page
2833 "https://github.com/chrisdone/descriptive")
2834 (synopsis
2835 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2836 (description
2837 "This package provides datatypes and functions for creating consumers
2838and parsers with useful semantics.")
2839 (license license:bsd-3)))
2840
1859c94a
TS
2841(define-public ghc-diagrams-core
2842 (package
2843 (name "ghc-diagrams-core")
2844 (version "1.4.2")
2845 (source
2846 (origin
2847 (method url-fetch)
2848 (uri (string-append "https://hackage.haskell.org/package/"
2849 "diagrams-core/diagrams-core-" version ".tar.gz"))
2850 (sha256
2851 (base32
2852 "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
2853 (build-system haskell-build-system)
2854 (inputs
2855 `(("ghc-unordered-containers" ,ghc-unordered-containers)
2856 ("ghc-semigroups" ,ghc-semigroups)
2857 ("ghc-monoid-extras" ,ghc-monoid-extras)
2858 ("ghc-dual-tree" ,ghc-dual-tree)
2859 ("ghc-lens" ,ghc-lens)
2860 ("ghc-linear" ,ghc-linear)
2861 ("ghc-adjunctions" ,ghc-adjunctions)
2862 ("ghc-distributive" ,ghc-distributive)
2863 ("ghc-profunctors" ,ghc-profunctors)))
2864 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2865 (synopsis "Core libraries for diagrams embedded domain-specific language")
2866 (description "This package provides the core modules underlying
2867diagrams, an embedded domain-specific language for compositional,
2868declarative drawing.")
2869 (license license:bsd-3)))
2870
f9f1a630
TS
2871(define-public ghc-diagrams-lib
2872 (package
2873 (name "ghc-diagrams-lib")
2874 (version "1.4.2.3")
2875 (source
2876 (origin
2877 (method url-fetch)
2878 (uri (string-append "https://hackage.haskell.org/package/"
2879 "diagrams-lib/diagrams-lib-" version ".tar.gz"))
2880 (sha256
2881 (base32
2882 "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"))))
2883 (build-system haskell-build-system)
2884 (inputs
2885 `(("ghc-semigroups" ,ghc-semigroups)
2886 ("ghc-monoid-extras" ,ghc-monoid-extras)
2887 ("ghc-dual-tree" ,ghc-dual-tree)
2888 ("ghc-diagrams-core" ,ghc-diagrams-core)
2889 ("ghc-diagrams-solve" ,ghc-diagrams-solve)
2890 ("ghc-active" ,ghc-active)
2891 ("ghc-colour" ,ghc-colour)
2892 ("ghc-data-default-class" ,ghc-data-default-class)
2893 ("ghc-fingertree" ,ghc-fingertree)
2894 ("ghc-intervals" ,ghc-intervals)
2895 ("ghc-lens" ,ghc-lens)
2896 ("ghc-tagged" ,ghc-tagged)
2897 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
2898 ("ghc-juicypixels" ,ghc-juicypixels)
2899 ("ghc-hashable" ,ghc-hashable)
2900 ("ghc-linear" ,ghc-linear)
2901 ("ghc-adjunctions" ,ghc-adjunctions)
2902 ("ghc-distributive" ,ghc-distributive)
2903 ("ghc-fsnotify" ,ghc-fsnotify)
2904 ("ghc-unordered-containers" ,ghc-unordered-containers)
2905 ("ghc-profunctors" ,ghc-profunctors)
2906 ("ghc-exceptions" ,ghc-exceptions)
2907 ("ghc-cereal" ,ghc-cereal)))
2908 (native-inputs
2909 `(("ghc-tasty" ,ghc-tasty)
2910 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2911 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
2912 ("ghc-numeric-extras" ,ghc-numeric-extras)))
2913 (arguments
2914 `(#:cabal-revision
2915 ("3" "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai")))
2916 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2917 (synopsis "Embedded domain-specific language for declarative graphics")
2918 (description "Diagrams is a flexible, extensible embedded
2919domain-specific language (EDSL) for creating graphics of many types.
2920Graphics can be created in arbitrary vector spaces and rendered with
2921multiple backends. This package provides a standard library of
2922primitives and operations for creating diagrams.")
2923 (license license:bsd-3)))
2924
fd33ffa0
TS
2925(define-public ghc-diagrams-solve
2926 (package
2927 (name "ghc-diagrams-solve")
2928 (version "0.1.1")
2929 (source
2930 (origin
2931 (method url-fetch)
2932 (uri (string-append "https://hackage.haskell.org/package/"
2933 "diagrams-solve/diagrams-solve-"
2934 version ".tar.gz"))
2935 (sha256
2936 (base32
2937 "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"))))
2938 (build-system haskell-build-system)
2939 (native-inputs
2940 `(("ghc-tasty" ,ghc-tasty)
2941 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2942 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2943 (arguments
2944 `(#:cabal-revision
2945 ("5" "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf")))
2946 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2947 (synopsis "Pure Haskell solver routines used by diagrams")
2948 (description "This library provides Pure Haskell solver routines for
2949use by the
2950@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
2951diagrams framework}. It currently includes routines for finding real
2952roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
2953and cyclic tridiagonal linear systems.")
2954 (license license:bsd-3)))
2955
74be1cb7
TS
2956(define-public ghc-diagrams-svg
2957 (package
2958 (name "ghc-diagrams-svg")
2959 (version "1.4.2")
2960 (source
2961 (origin
2962 (method url-fetch)
2963 (uri (string-append "https://hackage.haskell.org/package/"
2964 "diagrams-svg/diagrams-svg-" version ".tar.gz"))
2965 (sha256
2966 (base32
2967 "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal"))))
2968 (build-system haskell-build-system)
2969 (inputs
2970 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
2971 ("ghc-colour" ,ghc-colour)
2972 ("ghc-diagrams-core" ,ghc-diagrams-core)
2973 ("ghc-diagrams-lib" ,ghc-diagrams-lib)
2974 ("ghc-monoid-extras" ,ghc-monoid-extras)
2975 ("ghc-svg-builder" ,ghc-svg-builder)
2976 ("ghc-juicypixels" ,ghc-juicypixels)
2977 ("ghc-split" ,ghc-split)
2978 ("ghc-lens" ,ghc-lens)
2979 ("ghc-hashable" ,ghc-hashable)
2980 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
2981 ("ghc-semigroups" ,ghc-semigroups)))
2982 (arguments
2983 `(#:cabal-revision
2984 ("2" "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv")))
2985 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2986 (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
2987 (description "This package provides a modular backend for rendering
2988diagrams created with the diagrams embedded domain-specific
2989language (EDSL) to Scalable Vector Graphics (SVG) files.")
2990 (license license:bsd-3)))
2991
4eb9a167
TS
2992(define-public ghc-dictionary-sharing
2993 (package
2994 (name "ghc-dictionary-sharing")
2995 (version "0.1.0.0")
2996 (source
2997 (origin
2998 (method url-fetch)
2999 (uri (string-append "https://hackage.haskell.org/package/"
3000 "dictionary-sharing/dictionary-sharing-"
3001 version ".tar.gz"))
3002 (sha256
3003 (base32
3004 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
3005 (build-system haskell-build-system)
3006 (arguments
3007 `(#:cabal-revision
3008 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
3009 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
3010 (synopsis "Sharing/memoization of class members")
3011 (description "This library provides tools for ensuring that class
3012members are shared.")
3013 (license license:bsd-3)))
3014
dddbc90c
RV
3015(define-public ghc-diff
3016 (package
3017 (name "ghc-diff")
3018 (version "0.3.4")
3019 (source (origin
3020 (method url-fetch)
3021 (uri (string-append "https://hackage.haskell.org/package/"
3022 "Diff/Diff-" version ".tar.gz"))
a531ff94 3023 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
3024 (sha256
3025 (base32
3026 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
3027 (build-system haskell-build-system)
3028 (native-inputs
3029 `(("ghc-quickcheck" ,ghc-quickcheck)
3030 ("ghc-test-framework" ,ghc-test-framework)
3031 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3032 (home-page "https://hub.darcs.net/sterlingclover/Diff")
3033 (synopsis "O(ND) diff algorithm in Haskell")
3034 (description
3035 "This package provides an implementation of the standard diff algorithm,
3036and utilities for pretty printing.")
3037 (license license:bsd-3)))
3038
3039(define-public ghc-disk-free-space
3040 (package
3041 (name "ghc-disk-free-space")
3042 (version "0.1.0.1")
3043 (source
3044 (origin
3045 (method url-fetch)
3046 (uri (string-append "https://hackage.haskell.org/package/"
3047 "disk-free-space/disk-free-space-"
3048 version ".tar.gz"))
3049 (sha256
3050 (base32
3051 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
3052 (build-system haskell-build-system)
3053 (home-page "https://github.com/redneb/disk-free-space")
3054 (synopsis "Retrieve information about disk space usage")
3055 (description "A cross-platform library for retrieving information about
3056disk space usage.")
3057 (license license:bsd-3)))
3058
3059(define-public ghc-distributive
3060 (package
3061 (name "ghc-distributive")
e4c92f28 3062 (version "0.6.1")
dddbc90c
RV
3063 (source
3064 (origin
3065 (method url-fetch)
3066 (uri (string-append
3067 "https://hackage.haskell.org/package/distributive/distributive-"
3068 version
3069 ".tar.gz"))
3070 (sha256
3071 (base32
e4c92f28 3072 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 3073 (build-system haskell-build-system)
dddbc90c
RV
3074 (inputs
3075 `(("ghc-tagged" ,ghc-tagged)
3076 ("ghc-base-orphans" ,ghc-base-orphans)
3077 ("ghc-transformers-compat" ,ghc-transformers-compat)
3078 ("ghc-semigroups" ,ghc-semigroups)
3079 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3080 (native-inputs
3081 `(("cabal-doctest" ,cabal-doctest)
3082 ("ghc-doctest" ,ghc-doctest)
3083 ("ghc-hspec" ,ghc-hspec)
3084 ("hspec-discover" ,hspec-discover)))
3085 (home-page "https://github.com/ekmett/distributive/")
3086 (synopsis "Distributive functors for Haskell")
3087 (description "This package provides distributive functors for Haskell.
3088Dual to @code{Traversable}.")
3089 (license license:bsd-3)))
3090
3091(define-public ghc-dlist
3092 (package
3093 (name "ghc-dlist")
197ddf33 3094 (version "0.8.0.7")
dddbc90c
RV
3095 (source
3096 (origin
3097 (method url-fetch)
3098 (uri (string-append
3099 "https://hackage.haskell.org/package/dlist/dlist-"
3100 version
3101 ".tar.gz"))
3102 (sha256
197ddf33 3103 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
3104 (build-system haskell-build-system)
3105 (inputs
3106 `(("ghc-quickcheck" ,ghc-quickcheck)))
3107 (home-page "https://github.com/spl/dlist")
3108 (synopsis "Difference lists")
3109 (description
3110 "Difference lists are a list-like type supporting O(1) append. This is
3111particularly useful for efficient logging and pretty printing (e.g. with the
3112Writer monad), where list append quickly becomes too expensive.")
3113 (license license:bsd-3)))
3114
3115(define-public ghc-doctemplates
3116 (package
3117 (name "ghc-doctemplates")
3118 (version "0.2.2.1")
3119 (source
3120 (origin
3121 (method url-fetch)
3122 (uri (string-append "https://hackage.haskell.org/package/"
3123 "doctemplates/doctemplates-"
3124 version ".tar.gz"))
3125 (sha256
3126 (base32
3127 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
3128 (build-system haskell-build-system)
3129 (inputs
3130 `(("ghc-aeson" ,ghc-aeson)
3131 ("ghc-blaze-markup" ,ghc-blaze-markup)
3132 ("ghc-blaze-html" ,ghc-blaze-html)
3133 ("ghc-vector" ,ghc-vector)
3134 ("ghc-unordered-containers" ,ghc-unordered-containers)
3135 ("ghc-scientific" ,ghc-scientific)))
3136 (native-inputs
3137 `(("ghc-hspec" ,ghc-hspec)))
3138 (home-page "https://github.com/jgm/doctemplates#readme")
3139 (synopsis "Pandoc-style document templates")
3140 (description
3141 "This package provides a simple text templating system used by pandoc.")
3142 (license license:bsd-3)))
3143
3144(define-public ghc-doctest
3145 (package
3146 (name "ghc-doctest")
19c14a0f 3147 (version "0.16.2")
dddbc90c
RV
3148 (source
3149 (origin
3150 (method url-fetch)
3151 (uri (string-append
3152 "https://hackage.haskell.org/package/doctest/doctest-"
3153 version
3154 ".tar.gz"))
3155 (sha256
3156 (base32
19c14a0f 3157 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
3158 (build-system haskell-build-system)
3159 (arguments `(#:tests? #f)) ; FIXME: missing test framework
3160 (inputs
3161 `(("ghc-syb" ,ghc-syb)
3162 ("ghc-paths" ,ghc-paths)
3163 ("ghc-base-compat" ,ghc-base-compat)
3164 ("ghc-code-page" ,ghc-code-page)
3165 ("ghc-hunit" ,ghc-hunit)
3166 ("ghc-hspec" ,ghc-hspec)
3167 ("ghc-quickcheck" ,ghc-quickcheck)
3168 ("ghc-stringbuilder" ,ghc-stringbuilder)
3169 ("ghc-silently" ,ghc-silently)
3170 ("ghc-setenv" ,ghc-setenv)))
3171 (home-page
3172 "https://github.com/sol/doctest#readme")
3173 (synopsis "Test interactive Haskell examples")
3174 (description "The doctest program checks examples in source code comments.
3175It is modeled after doctest for Python, see
3176@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3177 (license license:expat)))
3178
3179(define-public ghc-double-conversion
3180 (package
3181 (name "ghc-double-conversion")
3182 (version "2.0.2.0")
3183 (source
3184 (origin
3185 (method url-fetch)
3186 (uri (string-append "https://hackage.haskell.org/package/"
3187 "double-conversion/double-conversion-"
3188 version ".tar.gz"))
3189 (sha256
3190 (base32
3191 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3192 (build-system haskell-build-system)
3193 (native-inputs
3194 `(("ghc-hunit" ,ghc-hunit)
3195 ("ghc-test-framework" ,ghc-test-framework)
3196 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3197 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3198 (home-page "https://github.com/bos/double-conversion")
3199 (synopsis "Fast conversion between double precision floating point and text")
3200 (description
3201 "This package provides a library that performs fast, accurate conversion
3202between double precision floating point and text.")
3203 (license license:bsd-3)))
3204
577a78b7
TS
3205(define-public ghc-dual-tree
3206 (package
3207 (name "ghc-dual-tree")
3208 (version "0.2.2.1")
3209 (source
3210 (origin
3211 (method url-fetch)
3212 (uri (string-append "https://hackage.haskell.org/package/"
3213 "dual-tree/dual-tree-" version ".tar.gz"))
3214 (sha256
3215 (base32
3216 "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
3217 (build-system haskell-build-system)
3218 (inputs
3219 `(("ghc-semigroups" ,ghc-semigroups)
3220 ("ghc-newtype-generics" ,ghc-newtype-generics)
3221 ("ghc-monoid-extras" ,ghc-monoid-extras)))
3222 (native-inputs
3223 `(("ghc-quickcheck" ,ghc-quickcheck)
3224 ("ghc-testing-feat" ,ghc-testing-feat)))
3225 (home-page "https://hackage.haskell.org/package/dual-tree")
3226 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3227 (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
3228cached) and downwards-traveling (i.e. accumulating) monoidal
3229annotations. This is used as the core data structure underlying the
3230@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3231diagrams framework}, but potentially has other applications as well.")
3232 (license license:bsd-3)))
3233
dddbc90c
RV
3234(define-public ghc-easy-file
3235 (package
3236 (name "ghc-easy-file")
3237 (version "0.2.2")
3238 (source
3239 (origin
3240 (method url-fetch)
3241 (uri (string-append
3242 "https://hackage.haskell.org/package/easy-file/easy-file-"
3243 version
3244 ".tar.gz"))
3245 (sha256
3246 (base32
3247 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3248 (build-system haskell-build-system)
3249 (home-page
3250 "https://github.com/kazu-yamamoto/easy-file")
3251 (synopsis "File handling library for Haskell")
3252 (description "This library provides file handling utilities for Haskell.")
3253 (license license:bsd-3)))
3254
3255(define-public ghc-easyplot
3256 (package
3257 (name "ghc-easyplot")
3258 (version "1.0")
3259 (source
3260 (origin
3261 (method url-fetch)
3262 (uri (string-append
3263 "https://hackage.haskell.org/package/easyplot/easyplot-"
3264 version ".tar.gz"))
3265 (sha256
3266 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3267 (build-system haskell-build-system)
3268 (propagated-inputs `(("gnuplot" ,gnuplot)))
3269 (arguments
3270 `(#:phases (modify-phases %standard-phases
3271 (add-after 'unpack 'fix-setup-suffix
3272 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3273 (home-page "https://hub.darcs.net/scravy/easyplot")
3274 (synopsis "Haskell plotting library based on gnuplot")
3275 (description "This package provides a plotting library for
3276Haskell, using gnuplot for rendering.")
3277 (license license:expat)))
3278
3279(define-public ghc-echo
3280 (package
3281 (name "ghc-echo")
3282 (version "0.1.3")
3283 (source
3284 (origin
3285 (method url-fetch)
3286 (uri (string-append
3287 "https://hackage.haskell.org/package/echo/echo-"
3288 version ".tar.gz"))
3289 (sha256
3290 (base32
3291 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3292 (build-system haskell-build-system)
3293 (arguments
3294 `(#:cabal-revision
3295 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3296 (home-page "https://github.com/RyanGlScott/echo")
3297 (synopsis "Echo terminal input portably")
3298 (description "The @code{base} library exposes the @code{hGetEcho} and
3299@code{hSetEcho} functions for querying and setting echo status, but
3300unfortunately, neither function works with MinTTY consoles on Windows.
3301This library provides an alternative interface which works with both
3302MinTTY and other consoles.")
3303 (license license:bsd-3)))
3304
3305(define-public ghc-edisonapi
3306 (package
3307 (name "ghc-edisonapi")
3308 (version "1.3.1")
3309 (source
3310 (origin
3311 (method url-fetch)
3312 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3313 "/EdisonAPI-" version ".tar.gz"))
3314 (sha256
3315 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3316 (build-system haskell-build-system)
3317 (home-page "http://rwd.rdockins.name/edison/home/")
3318 (synopsis "Library of efficient, purely-functional data structures (API)")
3319 (description
3320 "Edison is a library of purely functional data structures written by
3321Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3322value EDiSon (Efficient Data Structures). Edison provides several families of
3323abstractions, each with multiple implementations. The main abstractions
3324provided by Edison are: Sequences such as stacks, queues, and dequeues;
3325Collections such as sets, bags and heaps; and Associative Collections such as
3326finite maps and priority queues where the priority and element are distinct.")
3327 (license license:expat)))
3328
3329(define-public ghc-edisoncore
3330 (package
3331 (name "ghc-edisoncore")
3332 (version "1.3.2.1")
3333 (source
3334 (origin
3335 (method url-fetch)
3336 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3337 "/EdisonCore-" version ".tar.gz"))
3338 (sha256
3339 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3340 (build-system haskell-build-system)
3341 (inputs
3342 `(("ghc-quickcheck" ,ghc-quickcheck)
3343 ("ghc-edisonapi" ,ghc-edisonapi)))
3344 (home-page "http://rwd.rdockins.name/edison/home/")
3345 (synopsis "Library of efficient, purely-functional data structures")
3346 (description
3347 "This package provides the core Edison data structure implementations,
3348including multiple sequence, set, bag, and finite map concrete implementations
3349with various performance characteristics.")
3350 (license license:expat)))
3351
3352(define-public ghc-edit-distance
3353 (package
3354 (name "ghc-edit-distance")
3355 (version "0.2.2.1")
3356 (source
3357 (origin
3358 (method url-fetch)
3359 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3360 "/edit-distance-" version ".tar.gz"))
3361 (sha256
3362 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3363 (build-system haskell-build-system)
3364 (arguments
3365 `(#:phases
3366 (modify-phases %standard-phases
3367 (add-before 'configure 'update-constraints
3368 (lambda _
3369 (substitute* "edit-distance.cabal"
3370 (("QuickCheck >= 2\\.4 && <2\\.9")
d7d143e5 3371 "QuickCheck >= 2.4 && < 2.14")))))))
dddbc90c
RV
3372 (inputs
3373 `(("ghc-random" ,ghc-random)
3374 ("ghc-test-framework" ,ghc-test-framework)
3375 ("ghc-quickcheck" ,ghc-quickcheck)
3376 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3377 (home-page "https://github.com/phadej/edit-distance")
3378 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3379 (description
3380 "This package provides optimized functions to determine the edit
3381distances for fuzzy matching, including Levenshtein and restricted
3382Damerau-Levenshtein algorithms.")
3383 (license license:bsd-3)))
3384
3ebae41f
TS
3385(define-public ghc-edit-distance-vector
3386 (package
3387 (name "ghc-edit-distance-vector")
3388 (version "1.0.0.4")
3389 (source
3390 (origin
3391 (method url-fetch)
3392 (uri (string-append "https://hackage.haskell.org/package/"
3393 "edit-distance-vector/edit-distance-vector-"
3394 version ".tar.gz"))
3395 (sha256
3396 (base32
3397 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3398 (build-system haskell-build-system)
3399 (inputs
3400 `(("ghc-vector" ,ghc-vector)))
3401 (native-inputs
3402 `(("ghc-quickcheck" ,ghc-quickcheck)
3403 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3404 (home-page "https://github.com/thsutton/edit-distance-vector")
3405 (synopsis "Calculate edit distances and edit scripts between vectors")
3406 (description "This package provides implementation of the
3407Wagner-Fischer dynamic programming algorithm to find the optimal edit
3408script and cost between two sequences. The implementation in this
3409package is specialised to sequences represented with @code{Data.Vector}
3410but is otherwise agnostic to:
3411@itemize
3412@item The type of values in the vectors;
3413@item The type representing edit operations; and
3414@item The type representing the cost of operations.
3415@end itemize")
3416 (license license:bsd-3)) )
3417
dddbc90c
RV
3418(define-public ghc-either
3419 (package
3420 (name "ghc-either")
a3fd4dc7 3421 (version "5.0.1.1")
dddbc90c
RV
3422 (source
3423 (origin
3424 (method url-fetch)
3425 (uri (string-append "https://hackage.haskell.org/package/"
3426 "either-" version "/"
3427 "either-" version ".tar.gz"))
3428 (sha256
3429 (base32
a3fd4dc7 3430 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
dddbc90c
RV
3431 (build-system haskell-build-system)
3432 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3433 ("ghc-exceptions" ,ghc-exceptions)
3434 ("ghc-free" ,ghc-free)
3435 ("ghc-monad-control" ,ghc-monad-control)
3436 ("ghc-manodrandom" ,ghc-monadrandom)
3437 ("ghc-mmorph" ,ghc-mmorph)
3438 ("ghc-profunctors" ,ghc-profunctors)
3439 ("ghc-semigroups" ,ghc-semigroups)
3440 ("ghc-semigroupoids" ,ghc-semigroupoids)
3441 ("ghc-transformers-base" ,ghc-transformers-base)))
3442 (native-inputs
3443 `(("ghc-quickcheck" ,ghc-quickcheck)
3444 ("ghc-test-framework" ,ghc-test-framework)
3445 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3446 (home-page "https://github.com/ekmett/either")
3447 (synopsis "Provides an either monad transformer for Haskell")
3448 (description "This Haskell package provides an either monad transformer.")
3449 (license license:bsd-3)))
3450
3451(define-public ghc-email-validate
3452 (package
3453 (name "ghc-email-validate")
a4fe1c64 3454 (version "2.3.2.12")
dddbc90c
RV
3455 (source
3456 (origin
3457 (method url-fetch)
3458 (uri (string-append
3459 "https://hackage.haskell.org/package/"
3460 "email-validate/email-validate-"
3461 version
3462 ".tar.gz"))
3463 (sha256
3464 (base32
a4fe1c64 3465 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
3466 (build-system haskell-build-system)
3467 (inputs
3468 `(("ghc-attoparsec" ,ghc-attoparsec)
3469 ("ghc-hspec" ,ghc-hspec)
3470 ("ghc-quickcheck" ,ghc-quickcheck)
3471 ("ghc-doctest" ,ghc-doctest)))
3472 (home-page
3473 "https://github.com/Porges/email-validate-hs")
3474 (synopsis "Email address validator for Haskell")
3475 (description
3476 "This Haskell package provides a validator that can validate an email
3477address string against RFC 5322.")
3478 (license license:bsd-3)))
3479
3480(define-public ghc-enclosed-exceptions
3481 (package
3482 (name "ghc-enclosed-exceptions")
3483 (version "1.0.3")
3484 (source (origin
3485 (method url-fetch)
3486 (uri (string-append "https://hackage.haskell.org/package/"
3487 "enclosed-exceptions/enclosed-exceptions-"
3488 version ".tar.gz"))
3489 (sha256
3490 (base32
3491 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3492 (build-system haskell-build-system)
3493 ;; FIXME: one of the tests blocks forever:
3494 ;; "thread blocked indefinitely in an MVar operation"
3495 (arguments '(#:tests? #f))
3496 (inputs
3497 `(("ghc-lifted-base" ,ghc-lifted-base)
3498 ("ghc-monad-control" ,ghc-monad-control)
3499 ("ghc-async" ,ghc-async)
3500 ("ghc-transformers-base" ,ghc-transformers-base)))
3501 (native-inputs
3502 `(("ghc-hspec" ,ghc-hspec)
3503 ("ghc-quickcheck" ,ghc-quickcheck)))
3504 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3505 (synopsis "Catch all exceptions from within an enclosed computation")
3506 (description
3507 "This library implements a technique to catch all exceptions raised
3508within an enclosed computation, while remaining responsive to (external)
3509asynchronous exceptions.")
3510 (license license:expat)))
3511
3512(define-public ghc-equivalence
3513 (package
3514 (name "ghc-equivalence")
801cf5b1 3515 (version "0.3.5")
dddbc90c
RV
3516 (source
3517 (origin
3518 (method url-fetch)
3519 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3520 "/equivalence-" version ".tar.gz"))
3521 (sha256
801cf5b1 3522 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
dddbc90c
RV
3523 (build-system haskell-build-system)
3524 (inputs
3525 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3526 ("ghc-transformers-compat" ,ghc-transformers-compat)
801cf5b1
TS
3527 ("ghc-fail" ,ghc-fail)
3528 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
3529 (home-page "https://github.com/pa-ba/equivalence")
3530 (synopsis "Maintaining an equivalence relation implemented as union-find")
3531 (description
3532 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3533Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
353422(2), 1975) in order to maintain an equivalence relation. This
3535implementation is a port of the @code{union-find} package using the @code{ST}
3536monad transformer (instead of the IO monad).")
3537 (license license:bsd-3)))
3538
3539(define-public ghc-erf
3540 (package
3541 (name "ghc-erf")
3542 (version "2.0.0.0")
3543 (source
3544 (origin
3545 (method url-fetch)
3546 (uri (string-append "https://hackage.haskell.org/package/"
3547 "erf-" version "/"
3548 "erf-" version ".tar.gz"))
3549 (sha256
3550 (base32
3551 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3552 (build-system haskell-build-system)
3553 (home-page "https://hackage.haskell.org/package/erf")
3554 (synopsis "The error function, erf, and related functions for Haskell")
3555 (description "This Haskell library provides a type class for the
3556error function, erf, and related functions. Instances for Float and
3557Double.")
3558 (license license:bsd-3)))
3559
3560(define-public ghc-errorcall-eq-instance
3561 (package
3562 (name "ghc-errorcall-eq-instance")
3563 (version "0.3.0")
3564 (source
3565 (origin
3566 (method url-fetch)
3567 (uri (string-append "https://hackage.haskell.org/package/"
3568 "errorcall-eq-instance/errorcall-eq-instance-"
3569 version ".tar.gz"))
3570 (sha256
3571 (base32
3572 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3573 (build-system haskell-build-system)
3574 (inputs
3575 `(("ghc-base-orphans" ,ghc-base-orphans)))
3576 (native-inputs
3577 `(("ghc-quickcheck" ,ghc-quickcheck)
3578 ("ghc-hspec" ,ghc-hspec)
3579 ("hspec-discover" ,hspec-discover)))
3ef91e15 3580 (home-page "https://hackage.haskell.org/package/errorcall-eq-instance")
dddbc90c
RV
3581 (synopsis "Orphan Eq instance for ErrorCall")
3582 (description
3583 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3584This package provides an orphan instance.")
3585 (license license:expat)))
3586
3587(define-public ghc-errors
3588 (package
3589 (name "ghc-errors")
3590 (version "2.3.0")
3591 (source
3592 (origin
3593 (method url-fetch)
3594 (uri (string-append "https://hackage.haskell.org/package/"
3595 "errors-" version "/"
3596 "errors-" version ".tar.gz"))
3597 (sha256
3598 (base32
3599 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3600 (build-system haskell-build-system)
3601 (inputs
3602 `(("ghc-exceptions" ,ghc-exceptions)
3603 ("ghc-transformers-compat" ,ghc-transformers-compat)
3604 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3605 ("ghc-safe" ,ghc-safe)))
3606 (home-page "https://github.com/gabriel439/haskell-errors-library")
3607 (synopsis "Error handling library for Haskell")
3608 (description "This library encourages an error-handling style that
3609directly uses the type system, rather than out-of-band exceptions.")
3610 (license license:bsd-3)))
3611
3612(define-public ghc-esqueleto
2648b604
TS
3613 (package
3614 (name "ghc-esqueleto")
3615 (version "3.0.0")
3616 (source
3617 (origin
3618 (method url-fetch)
3619 (uri (string-append "https://hackage.haskell.org/package/"
3620 "esqueleto/esqueleto-" version ".tar.gz"))
3621 (sha256
3622 (base32
3623 "187c098h2xyf2nhifkdy2bqfl6iap7a93mzwd2kirl5yyicpc9zy"))))
3624 (build-system haskell-build-system)
3625 (arguments
3626 `(#:haddock? #f ; Haddock reports an internal error.
3627 #:phases
3628 (modify-phases %standard-phases
3629 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3630 ;; SQLite backends. Since we only have Haskell packages for
3631 ;; SQLite, we remove the other two test suites. FIXME: Add the
3632 ;; other backends and run all three test suites.
3633 (add-before 'configure 'remove-non-sqlite-test-suites
3634 (lambda _
3635 (use-modules (ice-9 rdelim))
3636 (with-atomic-file-replacement "esqueleto.cabal"
3637 (lambda (in out)
3638 (let loop ((line (read-line in 'concat)) (deleting? #f))
3639 (cond
3640 ((eof-object? line) #t)
3641 ((string-every char-set:whitespace line)
3642 (unless deleting? (display line out))
3643 (loop (read-line in 'concat) #f))
3644 ((member line '("test-suite mysql\n"
3645 "test-suite postgresql\n"))
3646 (loop (read-line in 'concat) #t))
3647 (else
3648 (unless deleting? (display line out))
3649 (loop (read-line in 'concat) deleting?)))))))))))
3650 (inputs
3651 `(("ghc-blaze-html" ,ghc-blaze-html)
3652 ("ghc-conduit" ,ghc-conduit)
3653 ("ghc-monad-logger" ,ghc-monad-logger)
3654 ("ghc-persistent" ,ghc-persistent)
3655 ("ghc-resourcet" ,ghc-resourcet)
3656 ("ghc-tagged" ,ghc-tagged)
3657 ("ghc-unliftio" ,ghc-unliftio)
3658 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3659 (native-inputs
3660 `(("ghc-hspec" ,ghc-hspec)
3661 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3662 ("ghc-persistent-template" ,ghc-persistent-template)))
3663 (home-page "https://github.com/bitemyapp/esqueleto")
3664 (synopsis "Type-safe embedded domain specific language for SQL queries")
3665 (description "This library provides a type-safe embedded domain specific
dddbc90c
RV
3666language (EDSL) for SQL queries that works with SQL backends as provided by
3667@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3668to learn new concepts, just new syntax, and it's fairly easy to predict the
3669generated SQL and optimize it for your backend.")
2648b604 3670 (license license:bsd-3)))
dddbc90c
RV
3671
3672(define-public ghc-exactprint
3673 (package
3674 (name "ghc-exactprint")
50614014 3675 (version "0.6.1")
dddbc90c
RV
3676 (source
3677 (origin
3678 (method url-fetch)
3679 (uri (string-append
3680 "https://hackage.haskell.org/package/"
3681 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3682 (sha256
3683 (base32
50614014 3684 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
dddbc90c
RV
3685 (build-system haskell-build-system)
3686 (inputs
3687 `(("ghc-paths" ,ghc-paths)
3688 ("ghc-syb" ,ghc-syb)
3689 ("ghc-free" ,ghc-free)))
3690 (native-inputs
3691 `(("ghc-hunit" ,ghc-hunit)
3692 ("ghc-diff" ,ghc-diff)
3693 ("ghc-silently" ,ghc-silently)
3694 ("ghc-filemanip" ,ghc-filemanip)))
3695 (home-page
3ef91e15 3696 "https://hackage.haskell.org/package/ghc-exactprint")
dddbc90c
RV
3697 (synopsis "ExactPrint for GHC")
3698 (description
3699 "Using the API Annotations available from GHC 7.10.2, this library
3700provides a means to round-trip any code that can be compiled by GHC, currently
3701excluding @file{.lhs} files.")
3702 (license license:bsd-3)))
3703
3704(define-public ghc-exceptions
3705 (package
3706 (name "ghc-exceptions")
46d3e65b 3707 (version "0.10.3")
dddbc90c
RV
3708 (source
3709 (origin
3710 (method url-fetch)
3711 (uri (string-append
3712 "https://hackage.haskell.org/package/exceptions/exceptions-"
3713 version
3714 ".tar.gz"))
3715 (sha256
3716 (base32
46d3e65b 3717 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3718 (build-system haskell-build-system)
3719 (native-inputs
3720 `(("ghc-quickcheck" ,ghc-quickcheck)
3721 ("ghc-test-framework" ,ghc-test-framework)
3722 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3723 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3724 (inputs
3725 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3726 (home-page "https://github.com/ekmett/exceptions/")
3727 (synopsis "Extensible optionally-pure exceptions")
3728 (description "This library provides extensible optionally-pure exceptions
3729for Haskell.")
3730 (license license:bsd-3)))
3731
3732(define-public ghc-executable-path
3733 (package
3734 (name "ghc-executable-path")
3735 (version "0.0.3.1")
3736 (source (origin
3737 (method url-fetch)
3738 (uri (string-append "https://hackage.haskell.org/package/"
3739 "executable-path/executable-path-"
3740 version ".tar.gz"))
3741 (sha256
3742 (base32
3743 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3744 (build-system haskell-build-system)
3745 (home-page "https://hackage.haskell.org/package/executable-path")
3746 (synopsis "Find out the full path of the executable")
3747 (description
3748 "The documentation of @code{System.Environment.getProgName} says that
3749\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3750instead, for maximum portability, we just return the leafname of the program
3751as invoked.\" This library tries to provide the missing path.")
3752 (license license:public-domain)))
3753
3754(define-public ghc-extensible-exceptions
3755 (package
3756 (name "ghc-extensible-exceptions")
3757 (version "0.1.1.4")
3758 (source
3759 (origin
3760 (method url-fetch)
3761 (uri (string-append "https://hackage.haskell.org/package/"
3762 "extensible-exceptions/extensible-exceptions-"
3763 version ".tar.gz"))
3764 (sha256
3765 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3766 (build-system haskell-build-system)
3767 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3768 (synopsis "Extensible exceptions for Haskell")
3769 (description
3770 "This package provides extensible exceptions for both new and old
3771versions of GHC (i.e., < 6.10).")
3772 (license license:bsd-3)))
3773
3774(define-public ghc-extra
3775 (package
3776 (name "ghc-extra")
10650c44 3777 (version "1.6.18")
dddbc90c
RV
3778 (source
3779 (origin
3780 (method url-fetch)
3781 (uri (string-append
3782 "https://hackage.haskell.org/package/extra/extra-"
3783 version
3784 ".tar.gz"))
3785 (sha256
3786 (base32
10650c44 3787 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
dddbc90c
RV
3788 (build-system haskell-build-system)
3789 (inputs
3790 `(("ghc-clock" ,ghc-clock)
10650c44 3791 ("ghc-semigroups" ,ghc-semigroups)
dddbc90c
RV
3792 ("ghc-quickcheck" ,ghc-quickcheck)))
3793 (home-page "https://github.com/ndmitchell/extra")
3794 (synopsis "Extra Haskell functions")
3795 (description "This library provides extra functions for the standard
3796Haskell libraries. Most functions are simple additions, filling out missing
3797functionality. A few functions are available in later versions of GHC, but
3798this package makes them available back to GHC 7.2.")
3799 (license license:bsd-3)))
3800
3801(define-public ghc-fail
3802 (package
3803 (name "ghc-fail")
3804 (version "4.9.0.0")
3805 (source
3806 (origin
3807 (method url-fetch)
3808 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3809 version ".tar.gz"))
3810 (sha256
3811 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3812 (build-system haskell-build-system)
3813 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3814 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3815 (synopsis "Forward-compatible MonadFail class")
3816 (description
3817 "This package contains the @code{Control.Monad.Fail} module providing the
3818@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3819class that became available in
3820@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3821older @code{base} package versions. This package turns into an empty package
3822when used with GHC versions which already provide the
3823@code{Control.Monad.Fail} module.")
3824 (license license:bsd-3)))
3825
3826(define-public ghc-fast-logger
3827 (package
3828 (name "ghc-fast-logger")
d443a52a 3829 (version "2.4.17")
dddbc90c
RV
3830 (source
3831 (origin
3832 (method url-fetch)
3833 (uri (string-append
3834 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3835 version
3836 ".tar.gz"))
3837 (sha256
3838 (base32
d443a52a 3839 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
3840 (build-system haskell-build-system)
3841 (inputs
3842 `(("ghc-auto-update" ,ghc-auto-update)
3843 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
3844 ("ghc-unix-time" ,ghc-unix-time)
3845 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
3846 (native-inputs
3847 `(("hspec-discover" ,hspec-discover)
3848 ("ghc-hspec" ,ghc-hspec)))
3849 (home-page "https://hackage.haskell.org/package/fast-logger")
3850 (synopsis "Fast logging system")
3851 (description "This library provides a fast logging system for Haskell.")
3852 (license license:bsd-3)))
3853
3854(define-public ghc-feed
3855 (package
3856 (name "ghc-feed")
a41c16dc 3857 (version "1.2.0.1")
dddbc90c
RV
3858 (source
3859 (origin
3860 (method url-fetch)
3861 (uri (string-append "https://hackage.haskell.org/package/"
3862 "feed/feed-" version ".tar.gz"))
3863 (sha256
3864 (base32
a41c16dc 3865 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
dddbc90c 3866 (build-system haskell-build-system)
dddbc90c
RV
3867 (inputs
3868 `(("ghc-base-compat" ,ghc-base-compat)
3869 ("ghc-old-locale" ,ghc-old-locale)
3870 ("ghc-old-time" ,ghc-old-time)
3871 ("ghc-safe" ,ghc-safe)
3872 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3873 ("ghc-utf8-string" ,ghc-utf8-string)
3874 ("ghc-xml-conduit" ,ghc-xml-conduit)
3875 ("ghc-xml-types" ,ghc-xml-types)))
3876 (native-inputs
3877 `(("ghc-hunit" ,ghc-hunit)
a41c16dc 3878 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
dddbc90c
RV
3879 ("ghc-test-framework" ,ghc-test-framework)
3880 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3881 (home-page "https://github.com/bergmark/feed")
3882 (synopsis "Haskell package for handling various syndication formats")
3883 (description "This Haskell package includes tools for generating and
3884consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3885 (license license:bsd-3)))
3886
3887(define-public ghc-fgl
3888 (package
3889 (name "ghc-fgl")
17482b26 3890 (version "5.7.0.1")
dddbc90c
RV
3891 (outputs '("out" "doc"))
3892 (source
3893 (origin
3894 (method url-fetch)
3895 (uri (string-append
3896 "https://hackage.haskell.org/package/fgl/fgl-"
3897 version
3898 ".tar.gz"))
3899 (sha256
3900 (base32
17482b26 3901 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
3902 (build-system haskell-build-system)
3903 (arguments
3904 `(#:phases
3905 (modify-phases %standard-phases
3906 (add-before 'configure 'update-constraints
3907 (lambda _
3908 (substitute* "fgl.cabal"
17482b26
TS
3909 (("QuickCheck >= 2\\.8 && < 2\\.13")
3910 "QuickCheck >= 2.8 && < 2.14")
3911 (("hspec >= 2\\.1 && < 2\\.7")
3912 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3913 (inputs
3914 `(("ghc-hspec" ,ghc-hspec)
3915 ("ghc-quickcheck" ,ghc-quickcheck)))
3916 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3917 (synopsis
3918 "Martin Erwig's Functional Graph Library")
3919 (description "The functional graph library, FGL, is a collection of type
3920and function definitions to address graph problems. The basis of the library
3921is an inductive definition of graphs in the style of algebraic data types that
3922encourages inductive, recursive definitions of graph algorithms.")
3923 (license license:bsd-3)))
3924
3925(define-public ghc-fgl-arbitrary
3926 (package
3927 (name "ghc-fgl-arbitrary")
3928 (version "0.2.0.3")
3929 (source
3930 (origin
3931 (method url-fetch)
3932 (uri (string-append
3933 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3934 version ".tar.gz"))
3935 (sha256
3936 (base32
3937 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3938 (build-system haskell-build-system)
3939 (arguments
3940 `(#:phases
3941 (modify-phases %standard-phases
3942 (add-before 'configure 'update-constraints
3943 (lambda _
3944 (substitute* "fgl-arbitrary.cabal"
3945 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 3946 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 3947 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 3948 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3949 (inputs
3950 `(("ghc-fgl" ,ghc-fgl)
3951 ("ghc-quickcheck" ,ghc-quickcheck)
3952 ("ghc-hspec" ,ghc-hspec)))
3953 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3954 (synopsis "QuickCheck support for fgl")
3955 (description
3956 "Provides Arbitrary instances for fgl graphs to avoid adding a
3957QuickCheck dependency for fgl whilst still making the instances
3958available to others. Also available are non-fgl-specific functions
3959for generating graph-like data structures.")
3960 (license license:bsd-3)))
3961
3962(define-public ghc-file-embed
3963 (package
3964 (name "ghc-file-embed")
b5920d50 3965 (version "0.0.11")
dddbc90c
RV
3966 (source
3967 (origin
3968 (method url-fetch)
3969 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3970 "file-embed-" version ".tar.gz"))
3971 (sha256
3972 (base32
b5920d50 3973 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
3974 (build-system haskell-build-system)
3975 (home-page "https://github.com/snoyberg/file-embed")
3976 (synopsis "Use Template Haskell to embed file contents directly")
3977 (description
3978 "This package allows you to use Template Haskell to read a file or all
3979the files in a directory, and turn them into @code{(path, bytestring)} pairs
3980embedded in your Haskell code.")
3981 (license license:bsd-3)))
3982
3983(define-public ghc-filemanip
3984 (package
3985 (name "ghc-filemanip")
3986 (version "0.3.6.3")
3987 (source (origin
3988 (method url-fetch)
3989 (uri (string-append "https://hackage.haskell.org/package/"
3990 "filemanip/filemanip-" version ".tar.gz"))
3991 (sha256
3992 (base32
3993 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3994 (build-system haskell-build-system)
3995 (inputs
3996 `(("ghc-unix-compat" ,ghc-unix-compat)))
3997 (home-page "https://github.com/bos/filemanip")
3998 (synopsis "File and directory manipulation for Haskell")
3999 (description
4000 "This package provides a Haskell library for working with files and
4001directories. It includes code for pattern matching, finding files, modifying
4002file contents, and more.")
4003 (license license:bsd-3)))
4004
bb62932a
KM
4005(define-public ghc-filepath-bytestring
4006 (package
4007 (name "ghc-filepath-bytestring")
4008 (version "1.4.2.1.1")
4009 (source
4010 (origin
4011 (method url-fetch)
4012 (uri (string-append
4013 "https://hackage.haskell.org/package/filepath-bytestring/"
4014 "filepath-bytestring-" version ".tar.gz"))
4015 (sha256
4016 (base32
4017 "06shdskjj391hb9295slm9gg2rbn5fdq5v6fg0mgn3yl5dv8q5dx"))))
4018 (build-system haskell-build-system)
4019 (native-inputs
4020 `(("ghc-quickcheck" ,ghc-quickcheck)))
3ef91e15 4021 (home-page "https://hackage.haskell.org/package/filepath-bytestring")
bb62932a
KM
4022 (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
4023 (description "This package provides a drop-in replacement for the standard
4024@code{filepath} library, operating on @code{RawFilePath} values rather than
4025@code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
4026 (license license:bsd-3)))
4027
dddbc90c
RV
4028(define-public ghc-findbin
4029 (package
4030 (name "ghc-findbin")
4031 (version "0.0.5")
4032 (source
4033 (origin
4034 (method url-fetch)
4035 (uri (string-append
4036 "https://hackage.haskell.org/package/FindBin/FindBin-"
4037 version ".tar.gz"))
4038 (sha256
4039 (base32
4040 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
4041 (build-system haskell-build-system)
4042 (home-page "https://github.com/audreyt/findbin")
4043 (synopsis "Get the absolute path of the running program")
4044 (description
4045 "This module locates the full directory of the running program, to allow
4046the use of paths relative to it. FindBin supports invocation of Haskell
4047programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
4048an executable.")
4049 (license license:bsd-3)))
4050
4051(define-public ghc-fingertree
4052 (package
4053 (name "ghc-fingertree")
aac14fdc 4054 (version "0.1.4.2")
dddbc90c
RV
4055 (source
4056 (origin
4057 (method url-fetch)
4058 (uri (string-append
4059 "https://hackage.haskell.org/package/fingertree/fingertree-"
4060 version ".tar.gz"))
4061 (sha256
4062 (base32
aac14fdc 4063 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
4064 (build-system haskell-build-system)
4065 (native-inputs
4066 `(("ghc-hunit" ,ghc-hunit)
4067 ("ghc-quickcheck" ,ghc-quickcheck)
4068 ("ghc-test-framework" ,ghc-test-framework)
4069 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4070 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4071 (home-page "https://hackage.haskell.org/package/fingertree")
4072 (synopsis "Generic finger-tree structure")
4073 (description "This library provides finger trees, a general sequence
4074representation with arbitrary annotations, for use as a base for
4075implementations of various collection types. It includes examples, as
4076described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4077simple general-purpose data structure\".")
4078 (license license:bsd-3)))
4079
4080(define-public ghc-fixed
4081 (package
4082 (name "ghc-fixed")
099dda5b 4083 (version "0.3")
dddbc90c
RV
4084 (source
4085 (origin
4086 (method url-fetch)
4087 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
4088 version ".tar.gz"))
4089 (sha256
4090 (base32
099dda5b 4091 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
4092 (build-system haskell-build-system)
4093 (home-page "https://github.com/ekmett/fixed")
4094 (synopsis "Signed 15.16 precision fixed point arithmetic")
4095 (description
4096 "This package provides functions for signed 15.16 precision fixed point
4097arithmetic.")
4098 (license license:bsd-3)))
4099
f169f713
JS
4100(define-public ghc-fmlist
4101 (package
4102 (name "ghc-fmlist")
fe9b83a6 4103 (version "0.9.3")
f169f713
JS
4104 (source
4105 (origin
4106 (method url-fetch)
4107 (uri
4108 (string-append
4109 "https://hackage.haskell.org/package/fmlist/fmlist-"
4110 version ".tar.gz"))
4111 (sha256
4112 (base32
fe9b83a6 4113 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
4114 (build-system haskell-build-system)
4115 (home-page "https://github.com/sjoerdvisscher/fmlist")
4116 (synopsis "FoldMap lists")
4117 (description "FoldMap lists are lists represented by their
4118@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
4119append, just like DLists, but other operations might have favorable
4120performance characteristics as well. These wild claims are still
4121completely unverified though.")
4122 (license license:bsd-3)))
4123
dddbc90c
RV
4124(define-public ghc-foldl
4125 (package
4126 (name "ghc-foldl")
26c4104f 4127 (version "1.4.5")
dddbc90c
RV
4128 (source
4129 (origin
4130 (method url-fetch)
4131 (uri (string-append "https://hackage.haskell.org/package/"
4132 "foldl-" version "/"
4133 "foldl-" version ".tar.gz"))
4134 (sha256
4135 (base32
26c4104f 4136 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
dddbc90c
RV
4137 (build-system haskell-build-system)
4138 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
4139 ("ghc-primitive" ,ghc-primitive)
4140 ("ghc-vector" ,ghc-vector)
4141 ("ghc-unordered-containers" ,ghc-unordered-containers)
4142 ("ghc-hashable" ,ghc-hashable)
4143 ("ghc-contravariant" ,ghc-contravariant)
4144 ("ghc-semigroups" ,ghc-semigroups)
4145 ("ghc-profunctors" ,ghc-profunctors)
4146 ("ghc-semigroupoids" ,ghc-semigroupoids)
4147 ("ghc-comonad" ,ghc-comonad)
4148 ("ghc-vector-builder" ,ghc-vector-builder)))
4149 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
4150 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4151 (description "This Haskell library provides strict left folds that stream
4152in constant memory, and you can combine folds using @code{Applicative} style
4153to derive new folds. Derived folds still traverse the container just once
4154and are often as efficient as hand-written folds.")
4155 (license license:bsd-3)))
4156
4157(define-public ghc-foundation
4158 (package
4159 (name "ghc-foundation")
0a702df9 4160 (version "0.0.25")
dddbc90c
RV
4161 (source
4162 (origin
4163 (method url-fetch)
4164 (uri (string-append "https://hackage.haskell.org/package/"
4165 "foundation/foundation-" version ".tar.gz"))
4166 (sha256
4167 (base32
0a702df9 4168 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c 4169 (build-system haskell-build-system)
59cd7518
TS
4170 (arguments
4171 `(#:phases
4172 (modify-phases %standard-phases
4173 ;; This test is broken. For details, see
4174 ;; https://github.com/haskell-foundation/foundation/issues/530
4175 (add-after 'unpack 'patch-tests
4176 (lambda _
4177 (substitute* "tests/Test/Foundation/Number.hs"
4178 ((", testDividible proxy") ""))
4179 #t)))))
dddbc90c
RV
4180 (inputs `(("ghc-basement" ,ghc-basement)))
4181 (home-page "https://github.com/haskell-foundation/foundation")
4182 (synopsis "Alternative prelude with batteries and no dependencies")
4183 (description
4184 "This package provides a custom prelude with no dependencies apart from
4185the base package.
4186
4187Foundation has the following goals:
4188
4189@enumerate
4190@item provide a base like sets of modules that provide a consistent set of
4191 features and bugfixes across multiple versions of GHC (unlike base).
4192@item provide a better and more efficient prelude than base's prelude.
4193@item be self-sufficient: no external dependencies apart from base;
4194@item provide better data-types: packed unicode string by default, arrays;
4195@item Numerical classes that better represent mathematical things (no more
4196 all-in-one @code{Num});
4197@item I/O system with less lazy IO.
4198@end enumerate\n")
4199 (license license:bsd-3)))
4200
4201(define-public ghc-free
4202 (package
4203 (name "ghc-free")
4081565d 4204 (version "5.1.2")
dddbc90c
RV
4205 (source
4206 (origin
4207 (method url-fetch)
4208 (uri (string-append
4209 "https://hackage.haskell.org/package/free/free-"
4210 version
4211 ".tar.gz"))
4212 (sha256
4213 (base32
4081565d 4214 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
dddbc90c
RV
4215 (build-system haskell-build-system)
4216 (inputs
4217 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4218 ("ghc-profunctors" ,ghc-profunctors)
4219 ("ghc-exceptions" ,ghc-exceptions)
4220 ("ghc-bifunctors" ,ghc-bifunctors)
4221 ("ghc-comonad" ,ghc-comonad)
4222 ("ghc-distributive" ,ghc-distributive)
4223 ("ghc-semigroupoids" ,ghc-semigroupoids)
4224 ("ghc-semigroups" ,ghc-semigroups)
4225 ("ghc-transformers-base" ,ghc-transformers-base)
4226 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4227 (home-page "https://github.com/ekmett/free/")
4228 (synopsis "Unrestricted monads for Haskell")
4229 (description "This library provides free monads, which are useful for many
4230tree-like structures and domain specific languages. If @code{f} is a
4231@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4232whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4233is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4234f} makes no constraining assumptions beyond those given by @code{f} and the
4235definition of @code{Monad}.")
4236 (license license:bsd-3)))
4237
4238(define-public ghc-fsnotify
4239 (package
4240 (name "ghc-fsnotify")
4241 (version "0.3.0.1")
4242 (source (origin
4243 (method url-fetch)
4244 (uri (string-append
4245 "https://hackage.haskell.org/package/fsnotify/"
4246 "fsnotify-" version ".tar.gz"))
4247 (sha256
4248 (base32
4249 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4250 (build-system haskell-build-system)
4251 (inputs
4252 `(("ghc-async" ,ghc-async)
4253 ("ghc-unix-compat" ,ghc-unix-compat)
4254 ("ghc-hinotify" ,ghc-hinotify)
4255 ("ghc-tasty" ,ghc-tasty)
4256 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4257 ("ghc-random" ,ghc-random)
4258 ("ghc-shelly" ,ghc-shelly)
4259 ("ghc-temporary" ,ghc-temporary)))
4260 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4261 (synopsis "Cross platform library for file change notification.")
4262 (description "Cross platform library for file creation, modification, and
4263deletion notification. This library builds upon existing libraries for platform
4264specific Windows, Mac, and Linux file system event notification.")
4265 (license license:bsd-3)))
4266
4267(define-public ghc-generic-deriving
4268 (package
4269 (name "ghc-generic-deriving")
55c1e6be 4270 (version "1.12.4")
dddbc90c
RV
4271 (source
4272 (origin
4273 (method url-fetch)
4274 (uri (string-append
4275 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4276 version
4277 ".tar.gz"))
4278 (sha256
4279 (base32
55c1e6be 4280 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
4281 (build-system haskell-build-system)
4282 (inputs
4283 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4284 (native-inputs
4285 `(("ghc-hspec" ,ghc-hspec)
4286 ("hspec-discover" ,hspec-discover)))
4287 (home-page "https://hackage.haskell.org/package/generic-deriving")
4288 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4289 (description "This package provides functionality for generalising the
4290deriving mechanism in Haskell to arbitrary classes.")
4291 (license license:bsd-3)))
4292
4293(define-public ghc-generics-sop
4294 (package
4295 (name "ghc-generics-sop")
3ed40e10 4296 (version "0.4.0.1")
dddbc90c
RV
4297 (source
4298 (origin
4299 (method url-fetch)
4300 (uri (string-append "https://hackage.haskell.org/package/"
4301 "generics-sop-" version "/"
4302 "generics-sop-" version ".tar.gz"))
4303 (sha256
4304 (base32
3ed40e10 4305 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 4306 (build-system haskell-build-system)
3ed40e10
TS
4307 (inputs
4308 `(("ghc-sop-core" ,ghc-sop-core)
4309 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
4310 (home-page "https://github.com/well-typed/generics-sop")
4311 (synopsis "Generic Programming using True Sums of Products for Haskell")
4312 (description "This Haskell package supports the definition of generic
4313functions. Datatypes are viewed in a uniform, structured way: the choice
4314between constructors is represented using an n-ary sum, and the arguments of
4315each constructor are represented using an n-ary product.")
4316 (license license:bsd-3)))
4317
4318(define-public ghc-geniplate-mirror
4319 (package
4320 (name "ghc-geniplate-mirror")
4321 (version "0.7.6")
4322 (source
4323 (origin
4324 (method url-fetch)
4325 (uri (string-append "https://hackage.haskell.org/package"
4326 "/geniplate-mirror"
4327 "/geniplate-mirror-" version ".tar.gz"))
4328 (sha256
4329 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4330 (build-system haskell-build-system)
74a7dd7f
TS
4331 (arguments
4332 `(#:cabal-revision
4333 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
dddbc90c
RV
4334 (home-page "https://github.com/danr/geniplate")
4335 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4336 (description
4337 "Use Template Haskell to generate Uniplate-like functions. This is a
4338maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4339geniplate} package, written by Lennart Augustsson.")
4340 (license license:bsd-3)))
4341
4342(define-public ghc-genvalidity
4343 (package
4344 (name "ghc-genvalidity")
920f44a1 4345 (version "0.8.0.0")
dddbc90c
RV
4346 (source
4347 (origin
4348 (method url-fetch)
4349 (uri (string-append
4350 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4351 version
4352 ".tar.gz"))
4353 (sha256
4354 (base32
920f44a1 4355 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
4356 (build-system haskell-build-system)
4357 (inputs
4358 `(("ghc-quickcheck" ,ghc-quickcheck)
4359 ("ghc-validity" ,ghc-validity)))
4360 (native-inputs
4361 `(("ghc-hspec" ,ghc-hspec)
4362 ("hspec-discover" ,hspec-discover)
4363 ("ghc-hspec-core" ,ghc-hspec-core)))
4364 (home-page
4365 "https://github.com/NorfairKing/validity")
4366 (synopsis
4367 "Testing utilities for the @code{validity} library")
4368 (description
4369 "This package provides testing utilities that are useful in conjunction
4370with the @code{Validity} typeclass.")
4371 (license license:expat)))
4372
4373(define-public ghc-genvalidity-property
4374 (package
4375 (name "ghc-genvalidity-property")
e4ede35b 4376 (version "0.4.0.0")
dddbc90c
RV
4377 (source
4378 (origin
4379 (method url-fetch)
4380 (uri (string-append
4381 "https://hackage.haskell.org/package/"
4382 "genvalidity-property/genvalidity-property-"
4383 version
4384 ".tar.gz"))
4385 (sha256
4386 (base32
e4ede35b 4387 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
4388 (build-system haskell-build-system)
4389 (inputs
4390 `(("ghc-quickcheck" ,ghc-quickcheck)
4391 ("ghc-genvalidity" ,ghc-genvalidity)
4392 ("ghc-hspec" ,ghc-hspec)
4393 ("hspec-discover" ,hspec-discover)
4394 ("ghc-validity" ,ghc-validity)))
4395 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4396 (home-page
4397 "https://github.com/NorfairKing/validity")
4398 (synopsis
4399 "Standard properties for functions on @code{Validity} types")
4400 (description
4401 "This package supplements the @code{Validity} typeclass with standard
4402properties for functions operating on them.")
4403 (license license:expat)))
4404
e71fb573
TS
4405(define-public ghc-getopt-generics
4406 (package
4407 (name "ghc-getopt-generics")
4408 (version "0.13.0.4")
4409 (source
4410 (origin
4411 (method url-fetch)
4412 (uri (string-append "https://hackage.haskell.org/package/"
4413 "getopt-generics/getopt-generics-"
4414 version ".tar.gz"))
4415 (sha256
4416 (base32
4417 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4418 (build-system haskell-build-system)
4419 (inputs
4420 `(("ghc-base-compat" ,ghc-base-compat)
4421 ("ghc-base-orphans" ,ghc-base-orphans)
4422 ("ghc-generics-sop" ,ghc-generics-sop)
4423 ("ghc-tagged" ,ghc-tagged)))
4424 (native-inputs
4425 `(("ghc-quickcheck" ,ghc-quickcheck)
4426 ("ghc-hspec" ,ghc-hspec)
4427 ("ghc-safe" ,ghc-safe)
4428 ("ghc-silently" ,ghc-silently)
4429 ("hspec-discover" ,hspec-discover)))
4430 (home-page "https://github.com/soenkehahn/getopt-generics")
4431 (synopsis "Create command line interfaces with ease")
4432 (description "This library provides tools to create command line
4433interfaces with ease.")
4434 (license license:bsd-3)))
4435
dddbc90c
RV
4436(define-public ghc-gitrev
4437 (package
4438 (name "ghc-gitrev")
4439 (version "1.3.1")
4440 (source
4441 (origin
4442 (method url-fetch)
4443 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4444 version ".tar.gz"))
4445 (sha256
4446 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4447 (build-system haskell-build-system)
4448 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4449 (home-page "https://github.com/acfoltzer/gitrev")
4450 (synopsis "Compile git revision info into Haskell projects")
4451 (description
4452 "This package provides some handy Template Haskell splices for including
4453the current git hash and branch in the code of your project. This is useful
4454for including in panic messages, @command{--version} output, or diagnostic
4455info for more informative bug reports.")
4456 (license license:bsd-3)))
4457
4458(define-public ghc-glob
4459 (package
4460 (name "ghc-glob")
b900f486 4461 (version "0.10.0")
dddbc90c
RV
4462 (source
4463 (origin
4464 (method url-fetch)
4465 (uri (string-append "https://hackage.haskell.org/package/"
4466 "Glob-" version "/"
4467 "Glob-" version ".tar.gz"))
4468 (sha256
4469 (base32
b900f486 4470 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
4471 (build-system haskell-build-system)
4472 (inputs
4473 `(("ghc-dlist" ,ghc-dlist)
4474 ("ghc-semigroups" ,ghc-semigroups)
4475 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4476 (native-inputs
4477 `(("ghc-hunit" ,ghc-hunit)
4478 ("ghc-quickcheck" ,ghc-quickcheck)
4479 ("ghc-test-framework" ,ghc-test-framework)
4480 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4481 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4482 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4483 (synopsis "Haskell library matching glob patterns against file paths")
4484 (description "This package provides a Haskell library for @dfn{globbing}:
4485matching patterns against file paths.")
4486 (license license:bsd-3)))
4487
4488(define-public ghc-gluraw
4489 (package
4490 (name "ghc-gluraw")
4491 (version "2.0.0.4")
4492 (source
4493 (origin
4494 (method url-fetch)
4495 (uri (string-append
4496 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4497 version
4498 ".tar.gz"))
4499 (sha256
4500 (base32
4501 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4502 (build-system haskell-build-system)
4503 (inputs
4504 `(("ghc-openglraw" ,ghc-openglraw)))
4505 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4506 (synopsis "Raw Haskell bindings GLU")
4507 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4508utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4509basis for a nicer interface.")
4510 (license license:bsd-3)))
4511
4512(define-public ghc-glut
4513 (package
4514 (name "ghc-glut")
8284bd09 4515 (version "2.7.0.15")
dddbc90c
RV
4516 (source
4517 (origin
4518 (method url-fetch)
4519 (uri (string-append
4520 "https://hackage.haskell.org/package/GLUT/GLUT-"
4521 version
4522 ".tar.gz"))
4523 (sha256
4524 (base32
8284bd09 4525 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4526 (build-system haskell-build-system)
4527 (inputs
4528 `(("ghc-statevar" ,ghc-statevar)
4529 ("ghc-opengl" ,ghc-opengl)
4530 ("ghc-openglraw" ,ghc-openglraw)
4531 ("freeglut" ,freeglut)))
4532 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4533 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4534 (description "This library provides Haskell bindings for the OpenGL
4535Utility Toolkit, a window system-independent toolkit for writing OpenGL
4536programs.")
4537 (license license:bsd-3)))
4538
4539(define-public ghc-gnuplot
4540 (package
4541 (name "ghc-gnuplot")
d34860c7 4542 (version "0.5.6")
dddbc90c
RV
4543 (source
4544 (origin
4545 (method url-fetch)
4546 (uri (string-append
4547 "mirror://hackage/package/gnuplot/gnuplot-"
4548 version ".tar.gz"))
4549 (sha256
d34860c7 4550 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4551 (build-system haskell-build-system)
4552 (inputs
4553 `(("ghc-temporary" ,ghc-temporary)
4554 ("ghc-utility-ht" ,ghc-utility-ht)
4555 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4556 ("ghc-data-accessor" ,ghc-data-accessor)
4557 ("ghc-semigroups" ,ghc-semigroups)
4558 ("gnuplot" ,gnuplot)))
4559 (arguments
4560 `(#:phases
4561 (modify-phases %standard-phases
4562 (add-before 'configure 'fix-path-to-gnuplot
4563 (lambda* (#:key inputs #:allow-other-keys)
4564 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4565 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4566 (("(gnuplotName = ).*$" all cmd)
4567 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4568 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4569 (synopsis "2D and 3D plots using gnuplot")
4570 (description "This package provides a Haskell module for creating 2D and
45713D plots using gnuplot.")
4572 (license license:bsd-3)))
4573
4574(define-public ghc-graphviz
4575 (package
4576 (name "ghc-graphviz")
c264bd42 4577 (version "2999.20.0.3")
dddbc90c
RV
4578 (source (origin
4579 (method url-fetch)
4580 (uri (string-append "https://hackage.haskell.org/package/"
4581 "graphviz/graphviz-" version ".tar.gz"))
4582 (sha256
4583 (base32
c264bd42 4584 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4585 (build-system haskell-build-system)
c264bd42
TS
4586 (arguments
4587 `(#:phases
4588 (modify-phases %standard-phases
4589 (add-before 'configure 'update-constraints
4590 (lambda _
4591 (substitute* "graphviz.cabal"
4592 (("QuickCheck >= 2\\.3 && < 2\\.13")
4593 "QuickCheck >= 2.3 && < 2.14")
4594 (("hspec >= 2\\.1 && < 2\\.7")
4595 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4596 (inputs
4597 `(("ghc-quickcheck" ,ghc-quickcheck)
4598 ("ghc-colour" ,ghc-colour)
4599 ("ghc-dlist" ,ghc-dlist)
4600 ("ghc-fgl" ,ghc-fgl)
4601 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4602 ("ghc-polyparse" ,ghc-polyparse)
4603 ("ghc-temporary" ,ghc-temporary)
4604 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4605 (native-inputs
4606 `(("ghc-hspec" ,ghc-hspec)
4607 ("graphviz" ,graphviz)
4608 ("hspec-discover" ,hspec-discover)))
4609 (home-page "https://hackage.haskell.org/package/graphviz")
4610 (synopsis "Bindings to Graphviz for graph visualisation")
4611 (description
4612 "This library provides bindings for the Dot language used by
4613the @uref{https://graphviz.org/, Graphviz} suite of programs for
4614visualising graphs, as well as functions to call those programs.
4615Main features of the graphviz library include:
4616
4617@enumerate
4618@item Almost complete coverage of all Graphviz attributes and syntax
4619@item Support for specifying clusters
4620@item The ability to use a custom node type
4621@item Functions for running a Graphviz layout tool with all specified output types
4622@item Generate and parse Dot code with two options: strict and liberal
4623@item Functions to convert FGL graphs and other graph-like data structures
4624@item Round-trip support for passing an FGL graph through Graphviz to augment node
4625and edge labels with positional information, etc.
4626@end enumerate\n")
4627 (license license:bsd-3)))
4628
f3e18645
TS
4629(define-public ghc-groups
4630 (package
4631 (name "ghc-groups")
4632 (version "0.4.1.0")
4633 (source
4634 (origin
4635 (method url-fetch)
4636 (uri (string-append "https://hackage.haskell.org/package/"
4637 "groups/groups-" version ".tar.gz"))
4638 (sha256
4639 (base32
4640 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4641 (build-system haskell-build-system)
4642 (home-page "https://hackage.haskell.org/package/groups")
4643 (synopsis "Haskell 98 groups")
4644 (description "This package provides Haskell 98 groups. A group is a
4645monoid with invertibility.")
4646 (license license:bsd-3)))
4647
dddbc90c
RV
4648(define-public ghc-gtk2hs-buildtools
4649 (package
4650 (name "ghc-gtk2hs-buildtools")
b79b43d4 4651 (version "0.13.5.4")
dddbc90c
RV
4652 (source
4653 (origin
4654 (method url-fetch)
4655 (uri (string-append "https://hackage.haskell.org/package/"
4656 "gtk2hs-buildtools/gtk2hs-buildtools-"
4657 version ".tar.gz"))
4658 (sha256
4659 (base32
b79b43d4 4660 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
dddbc90c
RV
4661 (build-system haskell-build-system)
4662 (inputs
4663 `(("ghc-random" ,ghc-random)
4664 ("ghc-hashtables" ,ghc-hashtables)))
4665 (native-inputs
4666 `(("ghc-alex" ,ghc-alex)
4667 ("ghc-happy" ,ghc-happy)))
4668 (home-page "http://projects.haskell.org/gtk2hs/")
4669 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4670 (description
4671 "This package provides a set of helper programs necessary to build the
4672Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4673that is used to generate FFI declarations, a tool to build a type hierarchy
4674that mirrors the C type hierarchy of GObjects found in glib, and a generator
4675for signal declarations that are used to call back from C to Haskell. These
4676tools are not needed to actually run Gtk2Hs programs.")
4677 (license license:gpl2)))
4678
4679(define-public ghc-hackage-security
4680 (package
4681 (name "ghc-hackage-security")
4682 (version "0.5.3.0")
4683 (source
4684 (origin
4685 (method url-fetch)
4686 (uri (string-append "https://hackage.haskell.org/package/"
4687 "hackage-security/hackage-security-"
4688 version ".tar.gz"))
4689 (sha256
4690 (base32
4691 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4692 (build-system haskell-build-system)
4693 (arguments
034380f3
TS
4694 `(#:cabal-revision
4695 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4696 #:tests? #f)) ; Tests fail because of framework updates.
dddbc90c
RV
4697 (inputs
4698 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4699 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4700 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4701 ("ghc-ed25519" ,ghc-ed25519)
4702 ("ghc-network" ,ghc-network)
4703 ("ghc-network-uri" ,ghc-network-uri)
4704 ("ghc-tar" ,ghc-tar)
4705 ("ghc-zlib" ,ghc-zlib)))
4706 (native-inputs
4707 `(("ghc-network-uri" ,ghc-network-uri)
4708 ("ghc-quickcheck" ,ghc-quickcheck)
4709 ("ghc-tar" ,ghc-tar)
4710 ("ghc-tasty" ,ghc-tasty)
4711 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4712 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4713 ("ghc-temporary" ,ghc-temporary)
4714 ("ghc-zlib" ,ghc-zlib)))
4715 (home-page "https://github.com/haskell/hackage-security")
4716 (synopsis "Hackage security library")
4717 (description "This Hackage security library provides both server and
4718client utilities for securing @uref{http://hackage.haskell.org/, the
4719Hackage package server}. It is based on
4720@uref{http://theupdateframework.com/, The Update Framework}, a set of
4721recommendations developed by security researchers at various universities
4722in the US as well as developers on the @uref{https://www.torproject.org/,
4723Tor project}.")
4724 (license license:bsd-3)))
4725
4726(define-public ghc-haddock
4727 (package
4728 (name "ghc-haddock")
b0d34d23 4729 (version "2.22.0")
dddbc90c
RV
4730 (source
4731 (origin
4732 (method url-fetch)
4733 (uri (string-append
4734 "https://hackage.haskell.org/package/haddock/haddock-"
4735 version
4736 ".tar.gz"))
4737 (sha256
4738 (base32
b0d34d23 4739 "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
dddbc90c
RV
4740 (build-system haskell-build-system)
4741 (arguments
4742 `(#:phases
4743 (modify-phases %standard-phases
b0d34d23
TS
4744 ;; The release tarball for 2.22.0 is missing the test data for
4745 ;; the Hoogle test, causing it to fail. This is fixed in the
4746 ;; next release, but for now we disable it.
4747 (add-before 'configure 'remove-hoogle-test
dddbc90c
RV
4748 (lambda _
4749 (use-modules (ice-9 rdelim))
4750 (with-atomic-file-replacement "haddock.cabal"
4751 (lambda (in out)
4752 (let loop ((line (read-line in 'concat)) (deleting? #f))
4753 (cond
4754 ((eof-object? line) #t)
4755 ((string-every char-set:whitespace line)
4756 (unless deleting? (display line out))
4757 (loop (read-line in 'concat) #f))
b0d34d23 4758 ((string=? line "test-suite hoogle-test\n")
dddbc90c
RV
4759 (loop (read-line in 'concat) #t))
4760 (else
4761 (unless deleting? (display line out))
b0d34d23
TS
4762 (loop (read-line in 'concat) deleting?))))))))
4763 (add-before 'check 'add-haddock-to-path
4764 (lambda _
4765 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
4766 ":" (getenv "PATH")))
4767 #t)))))
dddbc90c
RV
4768 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4769 (native-inputs
b0d34d23
TS
4770 `(("ghc-haddock-test" ,ghc-haddock-test)
4771 ("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
4772 (home-page "https://www.haskell.org/haddock/")
4773 (synopsis
4774 "Documentation-generation tool for Haskell libraries")
4775 (description
4776 "Haddock is a documentation-generation tool for Haskell libraries.")
4777 (license license:bsd-3)))
4778
4779(define-public ghc-haddock-api
4780 (package
4781 (name "ghc-haddock-api")
1b84d8ef 4782 (version "2.22.0")
dddbc90c
RV
4783 (source
4784 (origin
4785 (method url-fetch)
4786 (uri (string-append
4787 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4788 version
4789 ".tar.gz"))
1b84d8ef 4790 (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
dddbc90c
RV
4791 (sha256
4792 (base32
1b84d8ef 4793 "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
dddbc90c
RV
4794 (build-system haskell-build-system)
4795 (arguments
4796 `(#:phases
4797 (modify-phases %standard-phases
4798 (add-before 'configure 'update-constraints
4799 (lambda _
4800 (substitute* "haddock-api.cabal"
1b84d8ef
TS
4801 (("QuickCheck \\^>= 2\\.11")
4802 "QuickCheck ^>= 2.13")
4803 (("hspec >= 2\\.4\\.4 && < 2\\.6")
4804 "hspec >= 2.4.4 && < 2.8")))))))
dddbc90c
RV
4805 (inputs
4806 `(("ghc-paths" ,ghc-paths)
4807 ("ghc-haddock-library" ,ghc-haddock-library)))
4808 (native-inputs
4809 `(("ghc-quickcheck" ,ghc-quickcheck)
4810 ("ghc-hspec" ,ghc-hspec)
4811 ("hspec-discover" ,hspec-discover)))
4812 (home-page "https://www.haskell.org/haddock/")
4813 (synopsis "API for documentation-generation tool Haddock")
4814 (description "This package provides an API to Haddock, the
4815documentation-generation tool for Haskell libraries.")
4816 (license license:bsd-3)))
4817
4818(define-public ghc-haddock-library
4819 (package
4820 (name "ghc-haddock-library")
10707d57 4821 (version "1.7.0")
dddbc90c
RV
4822 (source
4823 (origin
4824 (method url-fetch)
4825 (uri (string-append
4826 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4827 version
4828 ".tar.gz"))
4829 (sha256
4830 (base32
10707d57 4831 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
dddbc90c
RV
4832 (build-system haskell-build-system)
4833 (arguments
4834 `(#:phases
4835 (modify-phases %standard-phases
10707d57
TS
4836 ;; Since there is no revised Cabal file upstream, we have to
4837 ;; patch it manually.
dddbc90c
RV
4838 (add-before 'configure 'relax-test-suite-dependencies
4839 (lambda _
4840 (substitute* "haddock-library.cabal"
10707d57
TS
4841 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
4842 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
dddbc90c
RV
4843 #t)))))
4844 (native-inputs
4845 `(("ghc-base-compat" ,ghc-base-compat)
4846 ("ghc-hspec" ,ghc-hspec)
4847 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4848 ("ghc-quickcheck" ,ghc-quickcheck)
4849 ("ghc-tree-diff" ,ghc-tree-diff)
4850 ("hspec-discover" ,hspec-discover)))
4851 (home-page "https://www.haskell.org/haddock/")
4852 (synopsis "Library exposing some functionality of Haddock")
4853 (description
4854 "Haddock is a documentation-generation tool for Haskell libraries. These
4855modules expose some functionality of it without pulling in the GHC dependency.
4856Please note that the API is likely to change so specify upper bounds in your
4857project if you can't release often. For interacting with Haddock itself, see
4858the ‘haddock’ package.")
4859 (license license:bsd-3)))
4860
b0d34d23
TS
4861;; This package is needed for testing 'ghc-haddock'. It is no longer
4862;; published to Hackage, but it is maintained in the Haddock Git
4863;; repository.
4864(define ghc-haddock-test
4865 (package
4866 (name "ghc-haddock-test")
4867 (version "2.22.0")
4868 (source
4869 (origin
4870 (method git-fetch)
4871 (uri (git-reference
4872 (url "https://github.com/haskell/haddock.git")
4873 (commit (string-append "haddock-" version "-release"))))
4874 (file-name (git-file-name name version))
4875 (sha256
4876 (base32
4877 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
4878 (build-system haskell-build-system)
4879 (arguments
4880 `(#:phases
4881 (modify-phases %standard-phases
4882 (add-after 'unpack 'change-directory
4883 (lambda _
4884 (chdir "haddock-test"))))))
4885 (inputs
4886 `(("ghc-syb" ,ghc-syb)
4887 ("ghc-xml" ,ghc-xml)))
4888 (home-page "http://www.haskell.org/haddock/")
4889 (synopsis "Test utilities for Haddock")
4890 (description "This package provides test utilities for Haddock.")
4891 (license license:bsd-3)
4892 (properties '((hidden? #t)))))
4893
dddbc90c
RV
4894(define-public ghc-half
4895 (package
4896 (name "ghc-half")
4897 (version "0.3")
4898 (source
4899 (origin
4900 (method url-fetch)
4901 (uri (string-append
4902 "https://hackage.haskell.org/package/half/half-"
4903 version ".tar.gz"))
4904 (sha256
4905 (base32
4906 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4907 (build-system haskell-build-system)
4908 (native-inputs
4909 `(("ghc-hspec" ,ghc-hspec)
4910 ("ghc-quickcheck" ,ghc-quickcheck)))
4911 (home-page "https://github.com/ekmett/half")
4912 (synopsis "Half-precision floating-point computations")
4913 (description "This library provides a half-precision floating-point
4914computation library for Haskell.")
4915 (license license:bsd-3)))
4916
4917(define-public ghc-happy
4918 (package
4919 (name "ghc-happy")
90e7b0e4 4920 (version "1.19.12")
dddbc90c
RV
4921 (source
4922 (origin
4923 (method url-fetch)
4924 (uri (string-append
4925 "https://hackage.haskell.org/package/happy/happy-"
4926 version
4927 ".tar.gz"))
4928 (sha256
4929 (base32
90e7b0e4 4930 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4931 (build-system haskell-build-system)
4932 (arguments
4933 `(#:phases
4934 (modify-phases %standard-phases
4935 (add-after 'unpack 'skip-test-issue93
4936 (lambda _
4937 ;; Tests run out of memory on a system with 2GB of available RAM,
4938 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4939 (substitute* "tests/Makefile"
4940 ((" issue93.y ") " "))
4941 #t)))))
4942 (home-page "https://hackage.haskell.org/package/happy")
4943 (synopsis "Parser generator for Haskell")
4944 (description "Happy is a parser generator for Haskell. Given a grammar
4945specification in BNF, Happy generates Haskell code to parse the grammar.
4946Happy works in a similar way to the yacc tool for C.")
4947 (license license:bsd-3)))
4948
4949(define-public ghc-hashable
4950 (package
4951 (name "ghc-hashable")
4952 (version "1.2.7.0")
4953 (outputs '("out" "doc"))
4954 (source
4955 (origin
4956 (method url-fetch)
4957 (uri (string-append
4958 "https://hackage.haskell.org/package/hashable/hashable-"
4959 version
4960 ".tar.gz"))
4961 (sha256
4962 (base32
4963 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4964 (build-system haskell-build-system)
65a16a45
TS
4965 (arguments
4966 `(#:cabal-revision
4967 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
4968 (inputs
4969 `(("ghc-random" ,ghc-random)))
4970 (native-inputs
4971 `(("ghc-test-framework" ,ghc-test-framework)
4972 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4973 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4974 ("ghc-hunit" ,ghc-hunit)
4975 ("ghc-quickcheck" ,ghc-quickcheck)))
4976 (home-page "https://github.com/tibbe/hashable")
4977 (synopsis "Class for types that can be converted to a hash value")
4978 (description
4979 "This package defines a class, @code{Hashable}, for types that can be
4980converted to a hash value. This class exists for the benefit of hashing-based
4981data structures. The package provides instances for basic types and a way to
4982combine hash values.")
4983 (license license:bsd-3)))
4984
4985(define-public ghc-hashable-bootstrap
4986 (package
4987 (inherit ghc-hashable)
4988 (name "ghc-hashable-bootstrap")
65a16a45
TS
4989 (arguments
4990 `(#:tests? #f
4991 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
4992 (native-inputs '())
4993 (properties '((hidden? #t)))))
4994
4995(define-public ghc-hashable-time
4996 (package
4997 (name "ghc-hashable-time")
f5051e31 4998 (version "0.2.0.2")
dddbc90c
RV
4999 (source
5000 (origin
5001 (method url-fetch)
5002 (uri (string-append
5003 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
5004 version
5005 ".tar.gz"))
5006 (sha256
5007 (base32
f5051e31 5008 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
5009 (build-system haskell-build-system)
5010 (arguments
5011 `(#:cabal-revision
f5051e31 5012 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c 5013 (inputs `(("ghc-hashable" ,ghc-hashable)))
3b02036e 5014 (home-page "https://hackage.haskell.org/package/hashable-time")
dddbc90c
RV
5015 (synopsis "Hashable instances for Data.Time")
5016 (description
5017 "This package provides @code{Hashable} instances for types in
5018@code{Data.Time}.")
5019 (license license:bsd-3)))
5020
5021(define-public ghc-hashtables
5022 (package
5023 (name "ghc-hashtables")
19edf0d0 5024 (version "1.2.3.4")
dddbc90c
RV
5025 (source
5026 (origin
5027 (method url-fetch)
5028 (uri (string-append
5029 "https://hackage.haskell.org/package/hashtables/hashtables-"
5030 version ".tar.gz"))
5031 (sha256
19edf0d0 5032 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
5033 (build-system haskell-build-system)
5034 (inputs
5035 `(("ghc-hashable" ,ghc-hashable)
5036 ("ghc-primitive" ,ghc-primitive)
5037 ("ghc-vector" ,ghc-vector)))
5038 (home-page "https://github.com/gregorycollins/hashtables")
5039 (synopsis "Haskell Mutable hash tables in the ST monad")
5040 (description "This package provides a Haskell library including a
5041couple of different implementations of mutable hash tables in the ST
5042monad, as well as a typeclass abstracting their common operations, and
5043a set of wrappers to use the hash tables in the IO monad.")
5044 (license license:bsd-3)))
5045
5046(define-public ghc-haskell-lexer
5047 (package
5048 (name "ghc-haskell-lexer")
5049 (version "1.0.2")
5050 (source
5051 (origin
5052 (method url-fetch)
5053 (uri (string-append
5054 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5055 version ".tar.gz"))
5056 (sha256
5057 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5058 (build-system haskell-build-system)
3ef91e15 5059 (home-page "https://hackage.haskell.org/package/haskell-lexer")
dddbc90c
RV
5060 (synopsis "Fully compliant Haskell 98 lexer")
5061 (description
5062 "This package provides a fully compliant Haskell 98 lexer.")
5063 (license license:bsd-3)))
5064
5065(define-public ghc-haskell-src
5066 (package
5067 (name "ghc-haskell-src")
5068 (version "1.0.3.0")
5069 (source
5070 (origin
5071 (method url-fetch)
5072 (uri (string-append
5073 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5074 version
5075 ".tar.gz"))
5076 (sha256
5077 (base32
5078 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5079 (build-system haskell-build-system)
5080 (inputs
5081 `(("ghc-happy" ,ghc-happy)
5082 ("ghc-syb" ,ghc-syb)))
5083 (home-page
5084 "https://hackage.haskell.org/package/haskell-src")
5085 (synopsis
5086 "Support for manipulating Haskell source code")
5087 (description
5088 "The @code{haskell-src} package provides support for manipulating Haskell
5089source code. The package provides a lexer, parser and pretty-printer, and a
5090definition of a Haskell abstract syntax tree (AST). Common uses of this
5091package are to parse or generate Haskell 98 code.")
5092 (license license:bsd-3)))
5093
5094(define-public ghc-haskell-src-exts
5095 (package
5096 (name "ghc-haskell-src-exts")
37a05591 5097 (version "1.21.1")
dddbc90c
RV
5098 (source
5099 (origin
5100 (method url-fetch)
5101 (uri (string-append
5102 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5103 version
5104 ".tar.gz"))
5105 (sha256
5106 (base32
37a05591 5107 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
5108 (build-system haskell-build-system)
5109 (inputs
5110 `(("cpphs" ,cpphs)
5111 ("ghc-happy" ,ghc-happy)
5112 ("ghc-pretty-show" ,ghc-pretty-show)))
5113 (native-inputs
5114 `(("ghc-smallcheck" ,ghc-smallcheck)
5115 ("ghc-tasty" ,ghc-tasty)
5116 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5117 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5118 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5119 (synopsis "Library for manipulating Haskell source")
5120 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5121extension of the standard @code{haskell-src} package, and handles most
5122registered syntactic extensions to Haskell. All extensions implemented in GHC
5123are supported. Apart from these standard extensions, it also handles regular
5124patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5125 (license license:bsd-3)))
5126
5127(define-public ghc-haskell-src-exts-util
5128 (package
5129 (name "ghc-haskell-src-exts-util")
77355bdf 5130 (version "0.2.5")
dddbc90c
RV
5131 (source
5132 (origin
5133 (method url-fetch)
5134 (uri (string-append "https://hackage.haskell.org/package/"
5135 "haskell-src-exts-util/haskell-src-exts-util-"
5136 version ".tar.gz"))
5137 (sha256
5138 (base32
77355bdf 5139 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
5140 (build-system haskell-build-system)
5141 (inputs
5142 `(("ghc-data-default" ,ghc-data-default)
5143 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5144 ("ghc-semigroups" ,ghc-semigroups)
5145 ("ghc-uniplate" ,ghc-uniplate)))
5146 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5147 (synopsis "Helper functions for working with haskell-src-exts trees")
5148 (description
5149 "This package provides helper functions for working with
5150@code{haskell-src-exts} trees.")
5151 (license license:bsd-3)))
5152
5153(define-public ghc-haskell-src-meta
5154 (package
5155 (name "ghc-haskell-src-meta")
e94b3c72 5156 (version "0.8.3")
dddbc90c
RV
5157 (source (origin
5158 (method url-fetch)
5159 (uri (string-append "https://hackage.haskell.org/package/"
5160 "haskell-src-meta/haskell-src-meta-"
5161 version ".tar.gz"))
5162 (sha256
5163 (base32
e94b3c72 5164 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
5165 (build-system haskell-build-system)
5166 (inputs
5167 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5168 ("ghc-syb" ,ghc-syb)
5169 ("ghc-th-orphans" ,ghc-th-orphans)))
5170 (native-inputs
5171 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
5172 ("ghc-tasty" ,ghc-tasty)
5173 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5174 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5175 (synopsis "Parse source to template-haskell abstract syntax")
5176 (description
5177 "This package provides tools to parse Haskell sources to the
5178template-haskell abstract syntax.")
5179 (license license:bsd-3)))
5180
5181(define-public ghc-hasktags
5182 (package
5183 (name "ghc-hasktags")
5184 (version "0.71.2")
5185 (source
5186 (origin
5187 (method url-fetch)
5188 (uri (string-append
5189 "https://hackage.haskell.org/package/hasktags/hasktags-"
5190 version
5191 ".tar.gz"))
5192 (sha256
5193 (base32
5194 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5195 (build-system haskell-build-system)
5196 (inputs
5197 `(("ghc-system-filepath" ,ghc-system-filepath)
5198 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5199 (native-inputs
5200 `(("ghc-json" ,ghc-json)
5201 ("ghc-utf8-string" ,ghc-utf8-string)
5202 ("ghc-microlens-platform" ,ghc-microlens-platform)
5203 ("ghc-hunit" ,ghc-hunit)))
5204 (home-page "http://github.com/MarcWeber/hasktags")
5205 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5206 (description
5207 "This package provides a means of generating tag files for Emacs and
5208Vim.")
5209 (license license:bsd-3)))
5210
5211(define-public ghc-hex
5212 (package
5213 (name "ghc-hex")
5214 (version "0.1.2")
5215 (source
5216 (origin
5217 (method url-fetch)
5218 (uri (string-append "https://hackage.haskell.org/package/"
5219 "hex-" version "/"
5220 "hex-" version ".tar.gz"))
5221 (sha256
5222 (base32
5223 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5224 (build-system haskell-build-system)
5225 (home-page "https://hackage.haskell.org/package/hex")
5226 (synopsis "Convert strings into hexadecimal and back")
5227 (description "This package provides conversion functions between
5228bytestrings and their hexademical representation.")
5229 (license license:bsd-3)))
5230
5231(define-public ghc-highlighting-kate
5232 (package
5233 (name "ghc-highlighting-kate")
5234 (version "0.6.4")
5235 (source (origin
5236 (method url-fetch)
5237 (uri (string-append "https://hackage.haskell.org/package/"
5238 "highlighting-kate/highlighting-kate-"
5239 version ".tar.gz"))
5240 (sha256
5241 (base32
5242 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5243 (build-system haskell-build-system)
5244 (inputs
5245 `(("ghc-diff" ,ghc-diff)
5246 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5247 (native-inputs
5248 `(("ghc-blaze-html" ,ghc-blaze-html)
5249 ("ghc-utf8-string" ,ghc-utf8-string)))
5250 (home-page "https://github.com/jgm/highlighting-kate")
5251 (synopsis "Syntax highlighting library")
5252 (description
5253 "Highlighting-kate is a syntax highlighting library with support for
5254nearly one hundred languages. The syntax parsers are automatically generated
5255from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5256supported by Kate can be added. An (optional) command-line program is
5257provided, along with a utility for generating new parsers from Kate XML syntax
5258descriptions.")
5259 (license license:gpl2+)))
5260
5261(define-public ghc-hindent
5262 (package
5263 (name "ghc-hindent")
f545f894 5264 (version "5.3.1")
dddbc90c
RV
5265 (source
5266 (origin
5267 (method url-fetch)
5268 (uri (string-append
5269 "https://hackage.haskell.org/package/hindent/hindent-"
5270 version
5271 ".tar.gz"))
5272 (sha256
5273 (base32
f545f894 5274 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
dddbc90c
RV
5275 (build-system haskell-build-system)
5276 (arguments
5277 `(#:modules ((guix build haskell-build-system)
5278 (guix build utils)
5279 (guix build emacs-utils))
5280 #:imported-modules (,@%haskell-build-system-modules
5281 (guix build emacs-utils))
5282 #:phases
5283 (modify-phases %standard-phases
5284 (add-after 'install 'emacs-install
5285 (lambda* (#:key inputs outputs #:allow-other-keys)
5286 (let* ((out (assoc-ref outputs "out"))
5287 (elisp-file "elisp/hindent.el")
5288 (dest (string-append out "/share/emacs/site-lisp"
5289 "/guix.d/hindent-" ,version))
5290 (emacs (string-append (assoc-ref inputs "emacs")
5291 "/bin/emacs")))
5292 (make-file-writable elisp-file)
5293 (emacs-substitute-variables elisp-file
5294 ("hindent-process-path"
5295 (string-append out "/bin/hindent")))
5296 (install-file elisp-file dest)
5297 (emacs-generate-autoloads "hindent" dest)))))))
5298 (inputs
5299 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5300 ("ghc-monad-loops" ,ghc-monad-loops)
5301 ("ghc-utf8-string" ,ghc-utf8-string)
5302 ("ghc-exceptions" ,ghc-exceptions)
5303 ("ghc-yaml" ,ghc-yaml)
5304 ("ghc-unix-compat" ,ghc-unix-compat)
5305 ("ghc-path" ,ghc-path)
5306 ("ghc-path-io" ,ghc-path-io)
5307 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5308 (native-inputs
5309 `(("ghc-hspec" ,ghc-hspec)
5310 ("ghc-diff" ,ghc-diff)
5311 ("emacs" ,emacs-minimal)))
5312 (home-page
5313 "https://github.com/commercialhaskell/hindent")
5314 (synopsis "Extensible Haskell pretty printer")
5315 (description
5316 "This package provides automatic formatting for Haskell files. Both a
5317library and an executable.")
5318 (license license:bsd-3)))
5319
5320(define-public ghc-hinotify
5321 (package
5322 (name "ghc-hinotify")
c2342abb 5323 (version "0.4")
dddbc90c
RV
5324 (source (origin
5325 (method url-fetch)
5326 (uri (string-append
5327 "https://hackage.haskell.org/package/hinotify/"
5328 "hinotify-" version ".tar.gz"))
5329 (sha256
5330 (base32
c2342abb 5331 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
5332 (build-system haskell-build-system)
5333 (inputs
5334 `(("ghc-async" ,ghc-async)))
5335 (home-page "https://github.com/kolmodin/hinotify.git")
5336 (synopsis "Haskell binding to inotify")
5337 (description "This library provides a wrapper to the Linux kernel's inotify
5338feature, allowing applications to subscribe to notifications when a file is
5339accessed or modified.")
5340 (license license:bsd-3)))
5341
5342(define-public ghc-hmatrix
5343 (package
5344 (name "ghc-hmatrix")
65e29ed1 5345 (version "0.20.0.0")
dddbc90c
RV
5346 (source
5347 (origin
5348 (method url-fetch)
5349 (uri (string-append
5350 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5351 version ".tar.gz"))
5352 (sha256
65e29ed1 5353 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
5354 (build-system haskell-build-system)
5355 (inputs
5356 `(("ghc-random" ,ghc-random)
5357 ("ghc-split" ,ghc-split)
5358 ("ghc-storable-complex" ,ghc-storable-complex)
5359 ("ghc-semigroups" ,ghc-semigroups)
5360 ("ghc-vector" ,ghc-vector)
5361 ;;("openblas" ,openblas)
5362 ("lapack" ,lapack)))
5363 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5364 ;; disables inclusion of the LAPACK functions.
5365 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5366 (home-page "https://github.com/albertoruiz/hmatrix")
5367 (synopsis "Haskell numeric linear algebra library")
5368 (description "The HMatrix package provices a Haskell library for
5369dealing with linear systems, matrix decompositions, and other
5370numerical computations based on BLAS and LAPACK.")
5371 (license license:bsd-3)))
5372
5373(define-public ghc-hmatrix-gsl
5374 (package
5375 (name "ghc-hmatrix-gsl")
5376 (version "0.19.0.1")
5377 (source
5378 (origin
5379 (method url-fetch)
5380 (uri (string-append
5381 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5382 version ".tar.gz"))
5383 (sha256
5384 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5385 (build-system haskell-build-system)
5386 (inputs
5387 `(("ghc-hmatrix" ,ghc-hmatrix)
5388 ("ghc-vector" ,ghc-vector)
5389 ("ghc-random" ,ghc-random)
5390 ("gsl" ,gsl)))
5391 (native-inputs `(("pkg-config" ,pkg-config)))
5392 (home-page "https://github.com/albertoruiz/hmatrix")
5393 (synopsis "Haskell GSL binding")
5394 (description "This Haskell library provides a purely functional
5395interface to selected numerical computations, internally implemented
5396using GSL.")
5397 (license license:gpl3+)))
5398
5399(define-public ghc-hmatrix-gsl-stats
5400 (package
5401 (name "ghc-hmatrix-gsl-stats")
e9b359f5 5402 (version "0.4.1.8")
dddbc90c
RV
5403 (source
5404 (origin
5405 (method url-fetch)
5406 (uri
5407 (string-append
5408 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5409 version ".tar.gz"))
5410 (sha256
e9b359f5 5411 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
5412 (build-system haskell-build-system)
5413 (inputs
5414 `(("ghc-vector" ,ghc-vector)
5415 ("ghc-storable-complex" ,ghc-storable-complex)
5416 ("ghc-hmatrix" ,ghc-hmatrix)
5417 ("gsl" ,gsl)))
5418 (native-inputs `(("pkg-config" ,pkg-config)))
5419 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5420 (synopsis "GSL Statistics interface for Haskell")
5421 (description "This Haskell library provides a purely functional
5422interface for statistics based on hmatrix and GSL.")
5423 (license license:bsd-3)))
5424
5425(define-public ghc-hmatrix-special
5426 (package
5427 (name "ghc-hmatrix-special")
5428 (version "0.19.0.0")
5429 (source
5430 (origin
5431 (method url-fetch)
5432 (uri
5433 (string-append
5434 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5435 version ".tar.gz"))
5436 (sha256
5437 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5438 (build-system haskell-build-system)
5439 (inputs
5440 `(("ghc-hmatrix" ,ghc-hmatrix)
5441 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5442 (home-page "https://github.com/albertoruiz/hmatrix")
5443 (synopsis "Haskell interface to GSL special functions")
5444 (description "This library provides an interface to GSL special
5445functions for Haskell.")
5446 (license license:gpl3+)))
5447
5448(define-public ghc-hostname
5449 (package
5450 (name "ghc-hostname")
5451 (version "1.0")
5452 (source
5453 (origin
5454 (method url-fetch)
5455 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5456 "hostname-" version ".tar.gz"))
5457 (sha256
5458 (base32
5459 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5460 (build-system haskell-build-system)
5461 (home-page "https://hackage.haskell.org/package/hostname")
5462 (synopsis "Hostname in Haskell")
5463 (description "Network.HostName is a simple package providing a means to
5464determine the hostname.")
5465 (license license:bsd-3)))
5466
5467(define-public ghc-hourglass
5468 (package
5469 (name "ghc-hourglass")
5470 (version "0.2.12")
5471 (source (origin
5472 (method url-fetch)
5473 (uri (string-append "https://hackage.haskell.org/package/"
5474 "hourglass/hourglass-" version ".tar.gz"))
5475 (sha256
5476 (base32
5477 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5478 (build-system haskell-build-system)
5479 (inputs
5480 `(("ghc-old-locale" ,ghc-old-locale)))
5481 (native-inputs
5482 `(("ghc-tasty" ,ghc-tasty)
5483 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5484 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5485 (home-page "https://github.com/vincenthz/hs-hourglass")
5486 (synopsis "Simple time-related library for Haskell")
5487 (description
5488 "This is a simple time library providing a simple but powerful and
5489performant API. The backbone of the library are the @code{Timeable} and
5490@code{Time} type classes. Each @code{Timeable} instances can be converted to
5491a type that has a @code{Time} instances, and thus are different
5492representations of current time.")
5493 (license license:bsd-3)))
5494
5495(define-public ghc-hpack
5496 (package
5497 (name "ghc-hpack")
06344a3a 5498 (version "0.31.2")
dddbc90c
RV
5499 (source
5500 (origin
5501 (method url-fetch)
5502 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5503 "hpack-" version ".tar.gz"))
06344a3a 5504 (patches (search-patches "ghc-hpack-fix-tests.patch"))
dddbc90c
RV
5505 (sha256
5506 (base32
06344a3a 5507 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
dddbc90c
RV
5508 (build-system haskell-build-system)
5509 (inputs
5510 `(("ghc-aeson" ,ghc-aeson)
5511 ("ghc-bifunctors" ,ghc-bifunctors)
5512 ("ghc-cryptonite" ,ghc-cryptonite)
5513 ("ghc-glob" ,ghc-glob)
5514 ("ghc-http-client" ,ghc-http-client)
5515 ("ghc-http-client-tls" ,ghc-http-client-tls)
5516 ("ghc-http-types" ,ghc-http-types)
06344a3a 5517 ("ghc-infer-license" ,ghc-infer-license)
dddbc90c
RV
5518 ("ghc-scientific" ,ghc-scientific)
5519 ("ghc-unordered-containers" ,ghc-unordered-containers)
5520 ("ghc-vector" ,ghc-vector)
5521 ("ghc-yaml" ,ghc-yaml)))
5522 (native-inputs
5523 `(("ghc-hspec" ,ghc-hspec)
5524 ("ghc-hunit" ,ghc-hunit)
5525 ("ghc-interpolate" ,ghc-interpolate)
5526 ("ghc-mockery" ,ghc-mockery)
5527 ("ghc-quickcheck" ,ghc-quickcheck)
5528 ("ghc-temporary" ,ghc-temporary)
5529 ("hspec-discover" ,hspec-discover)))
5530 (home-page "https://github.com/sol/hpack")
5531 (synopsis "Tools for an alternative Haskell package format")
5532 (description
5533 "Hpack is a format for Haskell packages. It is an alternative to the
5534Cabal package format and follows different design principles. Hpack packages
5535are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5536@code{stack} support @code{package.yaml} natively. For other build tools the
5537@code{hpack} executable can be used to generate a @code{.cabal} file from
5538@code{package.yaml}.")
5539 (license license:expat)))
5540
5541(define-public ghc-hs-bibutils
5542 (package
5543 (name "ghc-hs-bibutils")
ebcb4f23 5544 (version "6.7.0.0")
dddbc90c
RV
5545 (source
5546 (origin
5547 (method url-fetch)
5548 (uri (string-append
5549 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5550 version ".tar.gz"))
5551 (sha256
5552 (base32
ebcb4f23 5553 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5554 (build-system haskell-build-system)
5555 (inputs `(("ghc-syb" ,ghc-syb)))
5556 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5557 (synopsis "Haskell bindings to bibutils")
5558 (description
5559 "This package provides Haskell bindings to @code{bibutils}, a library
5560that interconverts between various bibliography formats using a common
5561MODS-format XML intermediate.")
5562 (license license:gpl2+)))
5563
5564(define-public ghc-hslogger
5565 (package
5566 (name "ghc-hslogger")
e5ccc5f7 5567 (version "1.2.12")
dddbc90c
RV
5568 (source
5569 (origin
5570 (method url-fetch)
5571 (uri (string-append "https://hackage.haskell.org/package/"
5572 "hslogger-" version "/" "hslogger-"
5573 version ".tar.gz"))
5574 (sha256 (base32
e5ccc5f7 5575 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5576 (build-system haskell-build-system)
5577 (inputs
5578 `(("ghc-network" ,ghc-network)
5579 ("ghc-old-locale" ,ghc-old-locale)))
5580 (native-inputs
5581 `(("ghc-hunit" ,ghc-hunit)))
5582 (home-page "https://software.complete.org/hslogger")
5583 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5584 (description "Hslogger lets each log message have a priority and source be
5585associated with it. The programmer can then define global handlers that route
5586or filter messages based on the priority and source. It also has a syslog
5587handler built in.")
5588 (license license:bsd-3)))
5589
5590(define-public ghc-hslua
5591 (package
5592 (name "ghc-hslua")
cc784d7b 5593 (version "1.0.3.2")
dddbc90c
RV
5594 (source (origin
5595 (method url-fetch)
5596 (uri (string-append "https://hackage.haskell.org/package/"
5597 "hslua/hslua-" version ".tar.gz"))
5598 (sha256
5599 (base32
cc784d7b 5600 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5601 (build-system haskell-build-system)
5602 (arguments
5603 `(#:configure-flags '("-fsystem-lua")))
5604 (inputs
5605 `(("lua" ,lua)
5606 ("ghc-exceptions" ,ghc-exceptions)
5607 ("ghc-fail" ,ghc-fail)))
5608 (native-inputs
5609 `(("ghc-tasty" ,ghc-tasty)
5610 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5611 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5612 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5613 ("ghc-quickcheck" ,ghc-quickcheck)
5614 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5615 (home-page "https://hackage.haskell.org/package/hslua")
5616 (synopsis "Lua language interpreter embedding in Haskell")
5617 (description
5618 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5619described in @url{https://www.lua.org/}.")
5620 (license license:expat)))
5621
ff303e4e
TS
5622(define-public ghc-hslua-module-system
5623 (package
5624 (name "ghc-hslua-module-system")
5625 (version "0.2.1")
5626 (source
5627 (origin
5628 (method url-fetch)
5629 (uri (string-append "https://hackage.haskell.org/package/"
5630 "hslua-module-system/hslua-module-system-"
5631 version ".tar.gz"))
5632 (sha256
5633 (base32
5634 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5635 (build-system haskell-build-system)
5636 (inputs
5637 `(("ghc-exceptions" ,ghc-exceptions)
5638 ("ghc-hslua" ,ghc-hslua)
5639 ("ghc-temporary" ,ghc-temporary)))
5640 (native-inputs
5641 `(("ghc-tasty" ,ghc-tasty)
5642 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5643 (home-page "https://github.com/hslua/hslua-module-system")
5644 (synopsis "Lua module wrapper around Haskell's System module")
5645 (description "This library provides access to system information and
5646functionality to Lua scripts via Haskell's @code{System} module. Intended
5647usage for this package is to preload it by adding the loader function to
5648@code{package.preload}. Note that the Lua @code{package} library must have
5649already been loaded before the loader can be added.")
5650 (license license:expat)))
5651
dddbc90c
RV
5652(define-public ghc-hslua-module-text
5653 (package
5654 (name "ghc-hslua-module-text")
ecaf0b0c 5655 (version "0.2.1")
dddbc90c
RV
5656 (source
5657 (origin
5658 (method url-fetch)
5659 (uri (string-append "https://hackage.haskell.org/package/"
5660 "hslua-module-text/hslua-module-text-"
5661 version ".tar.gz"))
5662 (sha256
5663 (base32
ecaf0b0c 5664 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5665 (build-system haskell-build-system)
dddbc90c
RV
5666 (inputs
5667 `(("ghc-hslua" ,ghc-hslua)))
5668 (native-inputs
5669 `(("ghc-tasty" ,ghc-tasty)
5670 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5671 (home-page "https://github.com/hslua/hslua-module-text")
5672 (synopsis "Lua module for text")
5673 (description
5674 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5675for Haskell. The functions provided by this module are @code{upper},
5676@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5677 (license license:expat)))
5678
fac520bf
TS
5679(define-public ghc-hsyaml
5680 (package
5681 (name "ghc-hsyaml")
5682 (version "0.1.2.0")
5683 (source
5684 (origin
5685 (method url-fetch)
5686 (uri (string-append "https://hackage.haskell.org/package/"
5687 "HsYAML/HsYAML-" version ".tar.gz"))
5688 (sha256
5689 (base32
5690 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5691 (build-system haskell-build-system)
5692 (arguments
5693 `(#:cabal-revision
5694 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5695 (home-page "https://github.com/haskell-hvr/HsYAML")
5696 (synopsis "Pure Haskell YAML 1.2 parser")
5697 (description "This library provides a
5698@url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5699for Haskell. Its features include:
5700
5701@itemize
5702@item Pure Haskell implementation with small dependency footprint and
5703emphasis on strict compliance with the YAML 1.2 specification.
5704
5705@item Direct decoding to native Haskell types via (aeson-inspired)
5706typeclass-based API (see @code{Data.YAML}).
5707
5708@item Support for constructing custom YAML node graph
5709representation (including support for cyclic YAML data structures).
5710
5711@item Support for the standard (untyped) @emph{Failsafe}, (strict)
5712@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
5713typing rules as defined in the YAML 1.2 specification (including support
5714for user-defined custom schemas).
5715
5716@item Event-based API resembling LibYAML's Event-based API (see
5717@code{Data.YAML.Event}).
5718
5719@item Low-level API access to lexical token-based scanner (see
5720@code{Data.YAML.Token}).
5721@end itemize")
5722 (license license:gpl2+)))
5723
dddbc90c
RV
5724(define-public ghc-http-api-data
5725 (package
5726 (name "ghc-http-api-data")
a57236eb 5727 (version "0.4.1")
dddbc90c
RV
5728 (source
5729 (origin
5730 (method url-fetch)
5731 (uri (string-append "https://hackage.haskell.org/package/"
5732 "http-api-data-" version "/"
5733 "http-api-data-" version ".tar.gz"))
5734 (sha256
5735 (base32
a57236eb 5736 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 5737 (build-system haskell-build-system)
dddbc90c
RV
5738 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5739 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 5740 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
5741 ("ghc-hashable" ,ghc-hashable)
5742 ("ghc-http-types" ,ghc-http-types)
a57236eb 5743 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 5744 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 5745 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
5746 (native-inputs
5747 `(("cabal-doctest" ,cabal-doctest)
5748 ("ghc-nats" ,ghc-nats)
5749 ("ghc-hunit" ,ghc-hunit)
5750 ("ghc-hspec" ,ghc-hspec)
5751 ("ghc-quickcheck" ,ghc-quickcheck)
5752 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5753 ("ghc-doctest" ,ghc-doctest)
5754 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
5755 (home-page "https://github.com/fizruk/http-api-data")
5756 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5757query parameters")
5758 (description "This Haskell package defines typeclasses used for converting
5759Haskell data types to and from HTTP API data.")
5760 (license license:bsd-3)))
5761
5762(define-public ghc-ieee754
5763 (package
5764 (name "ghc-ieee754")
5765 (version "0.8.0")
5766 (source (origin
5767 (method url-fetch)
5768 (uri (string-append
5769 "https://hackage.haskell.org/package/ieee754/"
5770 "ieee754-" version ".tar.gz"))
5771 (sha256
5772 (base32
5773 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5774 (build-system haskell-build-system)
5775 (home-page "https://github.com/patperry/hs-ieee754")
5776 (synopsis "Utilities for dealing with IEEE floating point numbers")
5777 (description "Utilities for dealing with IEEE floating point numbers,
5778ported from the Tango math library; approximate and exact equality comparisons
5779for general types.")
5780 (license license:bsd-3)))
5781
5782(define-public ghc-ifelse
5783 (package
5784 (name "ghc-ifelse")
5785 (version "0.85")
5786 (source
5787 (origin
5788 (method url-fetch)
5789 (uri (string-append "https://hackage.haskell.org/package/"
5790 "IfElse/IfElse-" version ".tar.gz"))
5791 (sha256
5792 (base32
5793 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5794 (build-system haskell-build-system)
3ef91e15 5795 (home-page "https://hackage.haskell.org/package/IfElse")
dddbc90c
RV
5796 (synopsis "Monadic control flow with anaphoric variants")
5797 (description "This library provides functions for control flow inside of
5798monads with anaphoric variants on @code{if} and @code{when} and a C-like
5799@code{switch} function.")
5800 (license license:bsd-3)))
5801
5802(define-public ghc-indents
5803 (package
5804 (name "ghc-indents")
d66473fb 5805 (version "0.5.0.1")
dddbc90c
RV
5806 (source (origin
5807 (method url-fetch)
5808 (uri (string-append
5809 "https://hackage.haskell.org/package/indents/indents-"
5810 version ".tar.gz"))
5811 (sha256
5812 (base32
d66473fb 5813 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5814 (build-system haskell-build-system)
5815 ;; This package needs an older version of tasty.
5816 (arguments '(#:tests? #f))
5817 (inputs
5818 `(("ghc-concatenative" ,ghc-concatenative)))
5819 (native-inputs
5820 `(("ghc-tasty" ,ghc-tasty)
5821 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5822 (home-page "http://patch-tag.com/r/salazar/indents")
5823 (synopsis "Indentation sensitive parser-combinators for parsec")
5824 (description
5825 "This library provides functions for use in parsing indentation sensitive
5826contexts. It parses blocks of lines all indented to the same level as well as
5827lines continued at an indented level below.")
5828 (license license:bsd-3)))
5829
1f656b17
TS
5830(define-public ghc-infer-license
5831 (package
5832 (name "ghc-infer-license")
5833 (version "0.2.0")
5834 (source
5835 (origin
5836 (method url-fetch)
5837 (uri (string-append "https://hackage.haskell.org/package/"
5838 "infer-license/infer-license-" version ".tar.gz"))
5839 (sha256
5840 (base32
5841 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
5842 (build-system haskell-build-system)
5843 (inputs
5844 `(("ghc-text-metrics" ,ghc-text-metrics)))
5845 (native-inputs
5846 `(("ghc-hspec" ,ghc-hspec)
5847 ("hspec-discover" ,hspec-discover)))
3ef91e15 5848 (home-page "https://hackage.haskell.org/package/infer-license")
1f656b17
TS
5849 (synopsis "Infer software license from a given license file")
5850 (description "This library provides tools to infer a software
5851license from a given license file.")
5852 (license license:expat)))
5853
dddbc90c
RV
5854(define-public ghc-inline-c
5855 (package
5856 (name "ghc-inline-c")
55ec98f2 5857 (version "0.7.0.1")
dddbc90c
RV
5858 (source
5859 (origin
5860 (method url-fetch)
5861 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5862 "inline-c-" version ".tar.gz"))
5863 (sha256
5864 (base32
55ec98f2 5865 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
5866 (build-system haskell-build-system)
5867 (inputs
5868 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5869 ("ghc-cryptohash" ,ghc-cryptohash)
5870 ("ghc-hashable" ,ghc-hashable)
5871 ("ghc-parsers" ,ghc-parsers)
5872 ("ghc-unordered-containers" ,ghc-unordered-containers)
5873 ("ghc-vector" ,ghc-vector)))
5874 (native-inputs
5875 `(("ghc-quickcheck" ,ghc-quickcheck)
5876 ("ghc-hspec" ,ghc-hspec)
5877 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5878 ("ghc-regex-posix" ,ghc-regex-posix)))
3ef91e15 5879 (home-page "https://hackage.haskell.org/package/inline-c")
dddbc90c
RV
5880 (synopsis "Write Haskell source files including C code inline")
5881 (description
5882 "inline-c lets you seamlessly call C libraries and embed high-performance
5883inline C code in Haskell modules. Haskell and C can be freely intermixed in
5884the same source file, and data passed to and from code in either language with
5885minimal overhead. No FFI required.")
5886 (license license:expat)))
5887
5888(define-public ghc-inline-c-cpp
5889 (package
5890 (name "ghc-inline-c-cpp")
cae58e56 5891 (version "0.3.0.3")
dddbc90c
RV
5892 (source
5893 (origin
5894 (method url-fetch)
5895 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5896 "inline-c-cpp-" version ".tar.gz"))
5897 (sha256
5898 (base32
cae58e56 5899 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
5900 (build-system haskell-build-system)
5901 (inputs
5902 `(("ghc-inline-c" ,ghc-inline-c)
5903 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5904 (native-inputs
5905 `(("ghc-hspec" ,ghc-hspec)))
5906 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5907 (synopsis "Lets you embed C++ code into Haskell")
5908 (description
5909 "This package provides utilities to inline C++ code into Haskell using
5910@code{inline-c}.")
5911 (license license:expat)))
5912
5913(define-public ghc-integer-logarithms
5914 (package
5915 (name "ghc-integer-logarithms")
86a704db 5916 (version "1.0.3")
dddbc90c
RV
5917 (source
5918 (origin
5919 (method url-fetch)
5920 (uri (string-append "https://hackage.haskell.org/package/"
5921 "integer-logarithms/integer-logarithms-"
5922 version ".tar.gz"))
5923 (sha256
5924 (base32
86a704db 5925 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5926 (build-system haskell-build-system)
5927 (arguments
5928 `(#:phases
5929 (modify-phases %standard-phases
5930 (add-before 'configure 'update-constraints
5931 (lambda _
5932 (substitute* "integer-logarithms.cabal"
5933 (("tasty >= 0\\.10 && < 1\\.1")
5934 "tasty >= 0.10 && < 1.2")))))))
5935 (native-inputs
5936 `(("ghc-quickcheck" ,ghc-quickcheck)
5937 ("ghc-smallcheck" ,ghc-smallcheck)
5938 ("ghc-tasty" ,ghc-tasty)
5939 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5940 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5941 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5942 (home-page "https://github.com/Bodigrim/integer-logarithms")
5943 (synopsis "Integer logarithms")
5944 (description
5945 "This package provides the following modules:
5946@code{Math.NumberTheory.Logarithms} and
5947@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5948@code{GHC.Integer.Logarithms.Compat} and
5949@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5950in migrated modules.")
5951 (license license:expat)))
5952
5953(define-public ghc-integer-logarithms-bootstrap
5954 (package
5955 (inherit ghc-integer-logarithms)
5956 (name "ghc-integer-logarithms-bootstrap")
5957 (arguments `(#:tests? #f))
5958 (native-inputs '())
799d8d3c 5959 (properties '((hidden? #t)))))
dddbc90c
RV
5960
5961(define-public ghc-interpolate
5962 (package
5963 (name "ghc-interpolate")
5964 (version "0.2.0")
5965 (source
5966 (origin
5967 (method url-fetch)
5968 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5969 "interpolate-" version ".tar.gz"))
5970 (sha256
5971 (base32
5972 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5973 (build-system haskell-build-system)
5974 (inputs
5975 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5976 (native-inputs
5977 `(("ghc-base-compat" ,ghc-base-compat)
5978 ("ghc-hspec" ,ghc-hspec)
5979 ("ghc-quickcheck" ,ghc-quickcheck)
5980 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5981 ("hspec-discover" ,hspec-discover)))
5982 (home-page "https://github.com/sol/interpolate")
5983 (synopsis "String interpolation library")
5984 (description "This package provides a string interpolation library for
5985Haskell.")
5986 (license license:expat)))
5987
5988(define-public ghc-intervalmap
5989 (package
5990 (name "ghc-intervalmap")
e4946e32 5991 (version "0.6.1.1")
dddbc90c
RV
5992 (source
5993 (origin
5994 (method url-fetch)
5995 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5996 "IntervalMap-" version ".tar.gz"))
5997 (sha256
5998 (base32
e4946e32 5999 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
6000 (build-system haskell-build-system)
6001 (native-inputs
6002 `(("ghc-quickcheck" ,ghc-quickcheck)))
6003 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6004 (synopsis "Containers for intervals, with efficient search")
6005 (description
6006 "This package provides ordered containers of intervals, with efficient
6007search for all keys containing a point or overlapping an interval. See the
6008example code on the home page for a quick introduction.")
6009 (license license:bsd-3)))
6010
f7ca1fa8
TS
6011(define-public ghc-intervals
6012 (package
6013 (name "ghc-intervals")
6014 (version "0.8.1")
6015 (source
6016 (origin
6017 (method url-fetch)
6018 (uri (string-append "https://hackage.haskell.org/package/"
6019 "intervals/intervals-" version ".tar.gz"))
6020 (sha256
6021 (base32
6022 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
6023 (build-system haskell-build-system)
6024 (inputs
6025 `(("ghc-distributive" ,ghc-distributive)))
6026 (native-inputs
6027 `(("cabal-doctest" ,cabal-doctest)
6028 ("ghc-doctest" ,ghc-doctest)
6029 ("ghc-quickcheck" ,ghc-quickcheck)))
6030 (arguments
6031 `(#:cabal-revision
6032 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6033 (home-page "https://github.com/ekmett/intervals")
6034 (synopsis "Interval arithmetic")
6035 (description "This library provides
6036@code{Numeric.Interval.Interval}, which represets a closed, convex set
6037of floating point values.")
6038 (license license:bsd-3)))
6039
dddbc90c
RV
6040(define-public ghc-invariant
6041 (package
6042 (name "ghc-invariant")
d3a0e0b4 6043 (version "0.5.3")
dddbc90c
RV
6044 (source
6045 (origin
6046 (method url-fetch)
6047 (uri (string-append
6048 "https://hackage.haskell.org/package/invariant/invariant-"
6049 version ".tar.gz"))
6050 (sha256
6051 (base32
d3a0e0b4 6052 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
6053 (build-system haskell-build-system)
6054 (inputs
6055 `(("ghc-bifunctors" ,ghc-bifunctors)
6056 ("ghc-comonad" ,ghc-comonad)
6057 ("ghc-contravariant" ,ghc-contravariant)
6058 ("ghc-profunctors" ,ghc-profunctors)
6059 ("ghc-semigroups" ,ghc-semigroups)
6060 ("ghc-statevar" ,ghc-statevar)
6061 ("ghc-tagged" ,ghc-tagged)
6062 ("ghc-th-abstraction" ,ghc-th-abstraction)
6063 ("ghc-transformers-compat" ,ghc-transformers-compat)
6064 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6065 (native-inputs
6066 `(("ghc-hspec" ,ghc-hspec)
6067 ("ghc-quickcheck" ,ghc-quickcheck)
6068 ("hspec-discover" ,hspec-discover)))
6069 (home-page "https://github.com/nfrisby/invariant-functors")
6070 (synopsis "Haskell98 invariant functors")
6071 (description "Haskell98 invariant functors (also known as exponential
6072functors). For more information, see Edward Kmett's article
6073@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6074 (license license:bsd-2)))
6075
6076(define-public ghc-io-streams
6077 (package
6078 (name "ghc-io-streams")
59e98d75 6079 (version "1.5.1.0")
dddbc90c
RV
6080 (source
6081 (origin
6082 (method url-fetch)
6083 (uri (string-append "https://hackage.haskell.org/package/"
6084 "io-streams/io-streams-" version ".tar.gz"))
6085 (sha256
6086 (base32
59e98d75 6087 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
6088 (build-system haskell-build-system)
6089 (inputs
6090 `(("ghc-attoparsec" ,ghc-attoparsec)
6091 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6092 ("ghc-network" ,ghc-network)
6093 ("ghc-primitive" ,ghc-primitive)
6094 ("ghc-vector" ,ghc-vector)
6095 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6096 (native-inputs
6097 `(("ghc-hunit" ,ghc-hunit)
6098 ("ghc-quickcheck" ,ghc-quickcheck)
6099 ("ghc-test-framework" ,ghc-test-framework)
6100 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6101 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6102 ("ghc-zlib" ,ghc-zlib)))
3ef91e15 6103 (home-page "https://hackage.haskell.org/package/io-streams")
dddbc90c
RV
6104 (synopsis "Simple and composable stream I/O")
6105 (description "This library contains simple and easy-to-use
6106primitives for I/O using streams.")
6107 (license license:bsd-3)))
6108
6109(define-public ghc-io-streams-haproxy
6110 (package
6111 (name "ghc-io-streams-haproxy")
1a4fbc36 6112 (version "1.0.1.0")
dddbc90c
RV
6113 (source
6114 (origin
6115 (method url-fetch)
6116 (uri (string-append "https://hackage.haskell.org/package/"
6117 "io-streams-haproxy/io-streams-haproxy-"
6118 version ".tar.gz"))
6119 (sha256
6120 (base32
1a4fbc36 6121 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
6122 (build-system haskell-build-system)
6123 (inputs
6124 `(("ghc-attoparsec" ,ghc-attoparsec)
6125 ("ghc-io-streams" ,ghc-io-streams)
6126 ("ghc-network" ,ghc-network)))
6127 (native-inputs
6128 `(("ghc-hunit" ,ghc-hunit)
6129 ("ghc-test-framework" ,ghc-test-framework)
6130 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
6131 (home-page "http://snapframework.com/")
6132 (synopsis "HAProxy protocol 1.5 support for io-streams")
6133 (description "HAProxy protocol version 1.5 support
6134(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6135for applications using io-streams. The proxy protocol allows information
6136about a networked peer (like remote address and port) to be propagated
6137through a forwarding proxy that is configured to speak this protocol.")
6138 (license license:bsd-3)))
6139
6140(define-public ghc-iproute
6141 (package
6142 (name "ghc-iproute")
ec25d536 6143 (version "1.7.7")
dddbc90c
RV
6144 (source
6145 (origin
6146 (method url-fetch)
6147 (uri (string-append
6148 "https://hackage.haskell.org/package/iproute/iproute-"
6149 version
6150 ".tar.gz"))
6151 (sha256
6152 (base32
ec25d536 6153 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
6154 (build-system haskell-build-system)
6155 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6156 ; exported by ghc-byteorder. Doctest issue.
6157 (inputs
6158 `(("ghc-appar" ,ghc-appar)
6159 ("ghc-byteorder" ,ghc-byteorder)
6160 ("ghc-network" ,ghc-network)
6161 ("ghc-safe" ,ghc-safe)))
6162 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6163 (synopsis "IP routing table")
6164 (description "IP Routing Table is a tree of IP ranges to search one of
6165them on the longest match base. It is a kind of TRIE with one way branching
6166removed. Both IPv4 and IPv6 are supported.")
6167 (license license:bsd-3)))
6168
4828e54e
TS
6169(define-public ghc-ipynb
6170 (package
6171 (name "ghc-ipynb")
6172 (version "0.1")
6173 (source
6174 (origin
6175 (method url-fetch)
6176 (uri (string-append "https://hackage.haskell.org/package/"
6177 "ipynb/ipynb-" version ".tar.gz"))
6178 (sha256
6179 (base32
6180 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6181 (build-system haskell-build-system)
6182 (inputs
6183 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6184 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6185 ("ghc-aeson" ,ghc-aeson)
6186 ("ghc-semigroups" ,ghc-semigroups)))
6187 (native-inputs
6188 `(("ghc-tasty" ,ghc-tasty)
6189 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6190 ("ghc-aeson-diff" ,ghc-aeson-diff)
6191 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6192 ("ghc-microlens" ,ghc-microlens)
6193 ("ghc-vector" ,ghc-vector)))
6194 (home-page "https://hackage.haskell.org/package/ipynb")
6195 (synopsis "Data structure for working with Jupyter notebooks")
6196 (description "This library defines a data structure for representing
6197Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6198instances for conversion to and from JSON .ipynb files.")
6199 (license license:bsd-3)))
6200
dddbc90c
RV
6201(define-public ghc-iwlib
6202 (package
6203 (name "ghc-iwlib")
6204 (version "0.1.0")
6205 (source
6206 (origin
6207 (method url-fetch)
6208 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6209 version ".tar.gz"))
6210 (sha256
6211 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6212 (build-system haskell-build-system)
6213 (inputs
6214 `(("wireless-tools" ,wireless-tools)))
6215 (home-page "https://github.com/jaor/iwlib")
6216 (synopsis "Haskell binding to the iw wireless networking library")
6217 (description
6218 "IWlib is a thin Haskell binding to the iw C library. It provides
6219information about the current wireless network connections, and adapters on
6220supported systems.")
6221 (license license:bsd-3)))
6222
6223(define-public ghc-json
6224 (package
6225 (name "ghc-json")
0ad3d574 6226 (version "0.9.3")
dddbc90c
RV
6227 (source
6228 (origin
6229 (method url-fetch)
6230 (uri (string-append "https://hackage.haskell.org/package/json/"
6231 "json-" version ".tar.gz"))
6232 (sha256
6233 (base32
0ad3d574 6234 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
6235 (build-system haskell-build-system)
6236 (inputs
6237 `(("ghc-syb" ,ghc-syb)))
6238 (home-page "https://hackage.haskell.org/package/json")
6239 (synopsis "Serializes Haskell data to and from JSON")
6240 (description "This package provides a parser and pretty printer for
6241converting between Haskell values and JSON.
6242JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6243 (license license:bsd-3)))
6244
6245(define-public ghc-juicypixels
6246 (package
6247 (name "ghc-juicypixels")
b50b6004 6248 (version "3.3.4")
dddbc90c
RV
6249 (source (origin
6250 (method url-fetch)
6251 (uri (string-append "https://hackage.haskell.org/package/"
6252 "JuicyPixels/JuicyPixels-"
6253 version ".tar.gz"))
6254 (sha256
6255 (base32
b50b6004 6256 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
6257 (build-system haskell-build-system)
6258 (inputs
6259 `(("ghc-zlib" ,ghc-zlib)
6260 ("ghc-vector" ,ghc-vector)
6261 ("ghc-primitive" ,ghc-primitive)
6262 ("ghc-mmap" ,ghc-mmap)))
6263 (home-page "https://github.com/Twinside/Juicy.Pixels")
6264 (synopsis "Picture loading and serialization library")
6265 (description
6266 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6267TIFF and GIF formats.")
6268 (license license:bsd-3)))
6269
6270(define-public ghc-kan-extensions
6271 (package
6272 (name "ghc-kan-extensions")
6273 (version "5.2")
6274 (source
6275 (origin
6276 (method url-fetch)
6277 (uri (string-append
6278 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6279 version
6280 ".tar.gz"))
6281 (sha256
6282 (base32
6283 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6284 (build-system haskell-build-system)
6285 (inputs
6286 `(("ghc-adjunctions" ,ghc-adjunctions)
6287 ("ghc-comonad" ,ghc-comonad)
6288 ("ghc-contravariant" ,ghc-contravariant)
6289 ("ghc-distributive" ,ghc-distributive)
6290 ("ghc-free" ,ghc-free)
6291 ("ghc-invariant" ,ghc-invariant)
6292 ("ghc-semigroupoids" ,ghc-semigroupoids)
6293 ("ghc-tagged" ,ghc-tagged)
6294 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6295 (home-page "https://github.com/ekmett/kan-extensions/")
6296 (synopsis "Kan extensions library")
6297 (description "This library provides Kan extensions, Kan lifts, various
6298forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6299 (license license:bsd-3)))
6300
6301(define-public ghc-language-c
6302 (package
6303 (name "ghc-language-c")
4e1cf651 6304 (version "0.8.3")
dddbc90c
RV
6305 (source
6306 (origin
6307 (method url-fetch)
6308 (uri (string-append "https://hackage.haskell.org/package/"
6309 "language-c/language-c-" version ".tar.gz"))
6310 (sha256
6311 (base32
4e1cf651 6312 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
6313 (build-system haskell-build-system)
6314 (inputs `(("ghc-syb" ,ghc-syb)))
6315 (native-inputs
6316 `(("ghc-happy" ,ghc-happy)
6317 ("ghc-alex" ,ghc-alex)))
6318 (home-page "https://visq.github.io/language-c/")
6319 (synopsis "Analysis and generation of C code")
6320 (description
6321 "Language C is a Haskell library for the analysis and generation of C code.
6322It features a complete, well-tested parser and pretty printer for all of C99
6323and a large set of GNU extensions.")
6324 (license license:bsd-3)))
6325
6326(define-public ghc-language-glsl
6327 (package
6328 (name "ghc-language-glsl")
6329 (version "0.3.0")
6330 (source
6331 (origin
6332 (method url-fetch)
6333 (uri (string-append "https://hackage.haskell.org/package/"
6334 "language-glsl/language-glsl-" version ".tar.gz"))
6335 (sha256
6336 (base32
6337 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6338 (build-system haskell-build-system)
6339 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6340 (arguments
6341 `(#:tests? #f
6342 #:cabal-revision
6343 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
3ef91e15 6344 (home-page "https://hackage.haskell.org/package/language-glsl")
dddbc90c
RV
6345 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6346 (description "This package is a Haskell library for the
6347representation, parsing, and pretty-printing of GLSL 1.50 code.")
6348 (license license:bsd-3)))
6349
6350(define-public ghc-language-haskell-extract
6351 (package
6352 (name "ghc-language-haskell-extract")
6353 (version "0.2.4")
6354 (source
6355 (origin
6356 (method url-fetch)
6357 (uri (string-append "https://hackage.haskell.org/package/"
6358 "language-haskell-extract-" version "/"
6359 "language-haskell-extract-" version ".tar.gz"))
6360 (sha256
6361 (base32
6362 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6363 (build-system haskell-build-system)
6364 (inputs
6365 `(("ghc-regex-posix" ,ghc-regex-posix)))
6366 (home-page "https://github.com/finnsson/template-helper")
6367 (synopsis "Haskell module to automatically extract functions from
6368the local code")
6369 (description "This package contains helper functions on top of
6370Template Haskell.
6371
6372For example, @code{functionExtractor} extracts all functions after a
6373regexp-pattern, which can be useful if you wish to extract all functions
6374beginning with @code{test} (for a test framework) or all functions beginning
6375with @code{wc} (for a web service).")
6376 (license license:bsd-3)))
6377
6378(define-public ghc-lens
6379 (package
6380 (name "ghc-lens")
262e6323 6381 (version "4.17.1")
dddbc90c
RV
6382 (source
6383 (origin
6384 (method url-fetch)
6385 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6386 version ".tar.gz"))
6387 (sha256
6388 (base32
262e6323 6389 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
dddbc90c 6390 (build-system haskell-build-system)
dddbc90c
RV
6391 (inputs
6392 `(("ghc-base-orphans" ,ghc-base-orphans)
6393 ("ghc-bifunctors" ,ghc-bifunctors)
6394 ("ghc-distributive" ,ghc-distributive)
6395 ("ghc-exceptions" ,ghc-exceptions)
6396 ("ghc-free" ,ghc-free)
6397 ("ghc-kan-extensions" ,ghc-kan-extensions)
6398 ("ghc-parallel" ,ghc-parallel)
6399 ("ghc-reflection" ,ghc-reflection)
6400 ("ghc-semigroupoids" ,ghc-semigroupoids)
6401 ("ghc-vector" ,ghc-vector)
6402 ("ghc-call-stack" ,ghc-call-stack)
6403 ("ghc-comonad" ,ghc-comonad)
6404 ("ghc-contravariant" ,ghc-contravariant)
6405 ("ghc-hashable" ,ghc-hashable)
6406 ("ghc-profunctors" ,ghc-profunctors)
6407 ("ghc-semigroups" ,ghc-semigroups)
6408 ("ghc-tagged" ,ghc-tagged)
6409 ("ghc-transformers-compat" ,ghc-transformers-compat)
6410 ("ghc-unordered-containers" ,ghc-unordered-containers)
6411 ("ghc-void" ,ghc-void)
6412 ("ghc-generic-deriving" ,ghc-generic-deriving)
6413 ("ghc-nats" ,ghc-nats)
6414 ("ghc-simple-reflect" ,ghc-simple-reflect)
6415 ("hlint" ,hlint)))
6416 (native-inputs
6417 `(("cabal-doctest" ,cabal-doctest)
6418 ("ghc-doctest" ,ghc-doctest)
6419 ("ghc-hunit" ,ghc-hunit)
6420 ("ghc-test-framework" ,ghc-test-framework)
6421 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6422 ("ghc-test-framework-th" ,ghc-test-framework-th)
6423 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6424 ("ghc-quickcheck" ,ghc-quickcheck)))
6425 (home-page "https://github.com/ekmett/lens/")
6426 (synopsis "Lenses, Folds and Traversals")
6427 (description "This library provides @code{Control.Lens}. The combinators
6428in @code{Control.Lens} provide a highly generic toolbox for composing families
6429of getters, folds, isomorphisms, traversals, setters and lenses and their
6430indexed variants.")
6431 (license license:bsd-3)))
6432
6433(define-public ghc-libffi
6434 (package
6435 (name "ghc-libffi")
6436 (version "0.1")
6437 (source
6438 (origin
6439 (method url-fetch)
6440 (uri (string-append "https://hackage.haskell.org/package/"
6441 "libffi/libffi-" version ".tar.gz"))
6442 (sha256
6443 (base32
6444 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6445 (build-system haskell-build-system)
6446 (native-inputs `(("pkg-config" ,pkg-config)))
6447 (inputs `(("libffi" ,libffi)))
3ef91e15 6448 (home-page "https://hackage.haskell.org/package/libffi")
dddbc90c
RV
6449 (synopsis "Haskell binding to libffi")
6450 (description
6451 "A binding to libffi, allowing C functions of types only known at runtime
6452to be called from Haskell.")
6453 (license license:bsd-3)))
6454
6455(define-public ghc-libmpd
6456 (package
6457 (name "ghc-libmpd")
bbf9845f 6458 (version "0.9.0.10")
dddbc90c
RV
6459 (source
6460 (origin
6461 (method url-fetch)
6462 (uri (string-append
6463 "mirror://hackage/package/libmpd/libmpd-"
6464 version
6465 ".tar.gz"))
6466 (sha256
6467 (base32
bbf9845f 6468 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
6469 (build-system haskell-build-system)
6470 ;; Tests fail on i686.
6471 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6472 (arguments `(#:tests? #f))
6473 (inputs
6474 `(("ghc-attoparsec" ,ghc-attoparsec)
6475 ("ghc-old-locale" ,ghc-old-locale)
6476 ("ghc-data-default-class" ,ghc-data-default-class)
6477 ("ghc-network" ,ghc-network)
bbf9845f 6478 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
6479 ("ghc-utf8-string" ,ghc-utf8-string)))
6480 (native-inputs
6481 `(("ghc-quickcheck" ,ghc-quickcheck)
6482 ("ghc-hspec" ,ghc-hspec)
6483 ("hspec-discover" ,hspec-discover)))
6484 (home-page "https://github.com/vimus/libmpd-haskell")
6485 (synopsis "Haskell client library for the Music Player Daemon")
6486 (description "This package provides a pure Haskell client library for the
6487Music Player Daemon.")
6488 (license license:expat)))
6489
e34df1c3
TS
6490(define-public ghc-lib-parser
6491 (package
6492 (name "ghc-lib-parser")
6493 (version "8.8.0.20190424")
6494 (source
6495 (origin
6496 (method url-fetch)
6497 (uri (string-append "https://hackage.haskell.org/package/"
6498 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6499 (sha256
6500 (base32
6501 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6502 (build-system haskell-build-system)
6503 (native-inputs
6504 `(("ghc-alex" ,ghc-alex)
6505 ("ghc-happy" ,ghc-happy)))
6506 (home-page "https://github.com/digital-asset/ghc-lib")
6507 (synopsis "The GHC API, decoupled from GHC versions")
6508 (description "This library implements the GHC API. It is like the
6509compiler-provided @code{ghc} package, but it can be loaded on many
6510compiler versions.")
6511 (license license:bsd-3)))
6512
dddbc90c
RV
6513(define-public ghc-libxml
6514 (package
6515 (name "ghc-libxml")
6516 (version "0.1.1")
6517 (source
6518 (origin
6519 (method url-fetch)
6520 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6521 "libxml-" version ".tar.gz"))
6522 (sha256
6523 (base32
6524 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6525 (build-system haskell-build-system)
6526 (inputs
6527 `(("libxml2" ,libxml2)))
6528 (arguments
6529 `(#:configure-flags
6530 `(,(string-append "--extra-include-dirs="
6531 (assoc-ref %build-inputs "libxml2")
6532 "/include/libxml2"))))
6533 (home-page "https://hackage.haskell.org/package/libxml")
6534 (synopsis "Haskell bindings to libxml2")
6535 (description
6536 "This library provides minimal Haskell binding to libxml2.")
6537 (license license:bsd-3)))
6538
0c2d6fc2
TS
6539(define-public ghc-libyaml
6540 (package
6541 (name "ghc-libyaml")
6542 (version "0.1.1.0")
6543 (source
6544 (origin
6545 (method url-fetch)
6546 (uri (string-append "https://hackage.haskell.org/package/"
6547 "libyaml/libyaml-" version ".tar.gz"))
6548 (sha256
6549 (base32
6550 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6551 (modules '((guix build utils)))
6552 (snippet
6553 ;; Delete bundled LibYAML.
6554 '(begin
6555 (delete-file-recursively "libyaml_src")
6556 #t))))
6557 (build-system haskell-build-system)
6558 (arguments
6559 `(#:configure-flags `("--flags=system-libyaml")))
6560 (inputs
6561 `(("ghc-conduit" ,ghc-conduit)
6562 ("ghc-resourcet" ,ghc-resourcet)
6563 ("libyaml" ,libyaml-2.1)))
6564 (home-page "https://github.com/snoyberg/yaml#readme")
6565 (synopsis "Low-level, streaming YAML interface.")
6566 (description "This package provides a Haskell wrapper over the
6567LibYAML C library.")
6568 (license license:bsd-3)))
6569
dddbc90c
RV
6570(define-public ghc-lifted-async
6571 (package
6572 (name "ghc-lifted-async")
b5b6d7ea 6573 (version "0.10.0.4")
dddbc90c
RV
6574 (source
6575 (origin
6576 (method url-fetch)
6577 (uri (string-append
6578 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6579 version ".tar.gz"))
6580 (sha256
6581 (base32
b5b6d7ea 6582 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
6583 (build-system haskell-build-system)
6584 (inputs
6585 `(("ghc-async" ,ghc-async)
6586 ("ghc-lifted-base" ,ghc-lifted-base)
6587 ("ghc-transformers-base" ,ghc-transformers-base)
6588 ("ghc-monad-control" ,ghc-monad-control)
6589 ("ghc-constraints" ,ghc-constraints)
6590 ("ghc-hunit" ,ghc-hunit)
6591 ("ghc-tasty" ,ghc-tasty)
6592 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6593 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6594 ("ghc-tasty-th" ,ghc-tasty-th)))
6595 (home-page "https://github.com/maoe/lifted-async")
6596 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6597 (description
6598 "This package provides IO operations from @code{async} package lifted to any
6599instance of @code{MonadBase} or @code{MonadBaseControl}.")
6600 (license license:bsd-3)))
6601
6602(define-public ghc-lifted-base
6603 (package
6604 (name "ghc-lifted-base")
6605 (version "0.2.3.12")
6606 (source
6607 (origin
6608 (method url-fetch)
6609 (uri (string-append
6610 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6611 version
6612 ".tar.gz"))
6613 (sha256
6614 (base32
6615 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6616 (build-system haskell-build-system)
6617 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6618 (inputs
6619 `(("ghc-transformers-base" ,ghc-transformers-base)
6620 ("ghc-monad-control" ,ghc-monad-control)
6621 ("ghc-transformers-compat" ,ghc-transformers-compat)
6622 ("ghc-hunit" ,ghc-hunit)))
6623 (home-page "https://github.com/basvandijk/lifted-base")
6624 (synopsis "Lifted IO operations from the base library")
6625 (description "Lifted-base exports IO operations from the @code{base}
6626library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6627Note that not all modules from @code{base} are converted yet. The package
6628includes a copy of the @code{monad-peel} test suite written by Anders
6629Kaseorg.")
6630 (license license:bsd-3)))
6631
6632(define-public ghc-linear
6633 (package
6634 (name "ghc-linear")
86526f37 6635 (version "1.20.9")
dddbc90c
RV
6636 (source
6637 (origin
6638 (method url-fetch)
6639 (uri (string-append "https://hackage.haskell.org/package/linear/"
6640 "linear-" version ".tar.gz"))
6641 (sha256
6642 (base32
86526f37 6643 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
dddbc90c
RV
6644 (build-system haskell-build-system)
6645 (inputs
6646 `(("ghc-adjunctions" ,ghc-adjunctions)
6647 ("ghc-base-orphans" ,ghc-base-orphans)
6648 ("ghc-bytes" ,ghc-bytes)
6649 ("ghc-cereal" ,ghc-cereal)
6650 ("ghc-distributive" ,ghc-distributive)
6651 ("ghc-hashable" ,ghc-hashable)
6652 ("ghc-lens" ,ghc-lens)
6653 ("ghc-reflection" ,ghc-reflection)
6654 ("ghc-semigroups" ,ghc-semigroups)
6655 ("ghc-semigroupoids" ,ghc-semigroupoids)
6656 ("ghc-tagged" ,ghc-tagged)
6657 ("ghc-transformers-compat" ,ghc-transformers-compat)
6658 ("ghc-unordered-containers" ,ghc-unordered-containers)
6659 ("ghc-vector" ,ghc-vector)
6660 ("ghc-void" ,ghc-void)))
6661 (native-inputs
6662 `(("cabal-doctest" ,cabal-doctest)
6663 ("ghc-doctest" ,ghc-doctest)
6664 ("ghc-simple-reflect" ,ghc-simple-reflect)
6665 ("ghc-test-framework" ,ghc-test-framework)
6666 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6667 ("ghc-hunit" ,ghc-hunit)))
6668 (home-page "http://github.com/ekmett/linear/")
6669 (synopsis "Linear algebra library for Haskell")
6670 (description
6671 "This package provides types and combinators for linear algebra on free
6672vector spaces.")
6673 (license license:bsd-3)))
1307e4c7
JS
6674
6675(define-public ghc-listlike
6676 (package
6677 (name "ghc-listlike")
6678 (version "4.6.2")
6679 (source
6680 (origin
6681 (method url-fetch)
6682 (uri
6683 (string-append
6684 "https://hackage.haskell.org/package/ListLike/ListLike-"
6685 version ".tar.gz"))
6686 (sha256
6687 (base32
6688 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
6689 (build-system haskell-build-system)
6690 (inputs
6691 `(("ghc-vector" ,ghc-vector)
6692 ("ghc-dlist" ,ghc-dlist)
6693 ("ghc-fmlist" ,ghc-fmlist)
6694 ("ghc-hunit" ,ghc-hunit)
6695 ("ghc-quickcheck" ,ghc-quickcheck)
6696 ("ghc-random" ,ghc-random)
6697 ("ghc-utf8-string" ,ghc-utf8-string)))
6698 (home-page "https://github.com/JohnLato/listlike")
6699 (synopsis "Generic support for list-like structures")
6700 (description "The ListLike module provides a common interface to the
6701various Haskell types that are list-like. Predefined interfaces include
6702standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
6703Custom types can easily be made ListLike instances as well.
6704
6705ListLike also provides for String-like types, such as String and
6706ByteString, for types that support input and output, and for types that
6707can handle infinite lists.")
6708 (license license:bsd-3)))
dddbc90c 6709
84436be0
J
6710(define-public ghc-llvm-hs-pure
6711 (package
6712 (name "ghc-llvm-hs-pure")
6713 (version "9.0.0")
6714 (source
6715 (origin
6716 (method url-fetch)
6717 (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/"
6718 "llvm-hs-pure-" version ".tar.gz"))
6719 (sha256
6720 (base32
6721 "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf"))))
6722 (build-system haskell-build-system)
6723 (inputs
6724 `(("ghc-attoparsec" ,ghc-attoparsec)
6725 ("ghc-fail" ,ghc-fail)
6726 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6727 (native-inputs
6728 `(("ghc-tasty" ,ghc-tasty)
6729 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6730 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6731 (home-page "https://github.com/llvm-hs/llvm-hs/")
6732 (synopsis "Pure Haskell LLVM functionality (no FFI)")
6733 (description "llvm-hs-pure is a set of pure Haskell types and functions
6734for interacting with LLVM. It includes an algebraic datatype (ADT) to represent
6735LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but
6736llvm-hs-pure does not require LLVM to be available.")
6737 (license license:bsd-3)))
6738
e3ee8023
J
6739(define-public ghc-llvm-hs
6740 (package
6741 (name "ghc-llvm-hs")
6742 (version "9.0.1")
6743 (source
6744 (origin
6745 (method url-fetch)
6746 (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-"
6747 version ".tar.gz"))
6748 (sha256
6749 (base32
6750 "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00"))))
6751 (build-system haskell-build-system)
6752 (inputs
6753 `(("ghc-attoparsec" ,ghc-attoparsec)
6754 ("ghc-exceptions" ,ghc-exceptions)
6755 ("ghc-utf8-string" ,ghc-utf8-string)
6756 ("ghc-llvm-hs-pure" ,ghc-llvm-hs-pure)
6757 ("llvm" ,llvm-9)))
6758 (native-inputs
6759 `(("ghc-tasty" ,ghc-tasty)
6760 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6761 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6762 ("ghc-quickcheck" ,ghc-quickcheck)
6763 ("ghc-temporary" ,ghc-temporary)
6764 ("ghc-pretty-show" ,ghc-pretty-show)
6765 ("ghc-temporary" ,ghc-temporary)))
6766 (home-page "https://github.com/llvm-hs/llvm-hs/")
6767 (synopsis "General purpose LLVM bindings for Haskell")
6768 (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other
6769current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM
6770IR, and so offers two advantages: it handles almost all of the stateful
6771complexities of using the LLVM API to build IR; and it supports moving IR not
6772only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++
6773into Haskell.")
6774 (license license:bsd-3)))
6775
dddbc90c
RV
6776(define-public ghc-logging-facade
6777 (package
6778 (name "ghc-logging-facade")
6779 (version "0.3.0")
6780 (source (origin
6781 (method url-fetch)
6782 (uri (string-append "https://hackage.haskell.org/package/"
6783 "logging-facade/logging-facade-"
6784 version ".tar.gz"))
6785 (sha256
6786 (base32
6787 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
6788 (build-system haskell-build-system)
6789 (native-inputs
6790 `(("ghc-hspec" ,ghc-hspec)
6791 ("hspec-discover" ,hspec-discover)))
6792 (home-page "https://hackage.haskell.org/package/logging-facade")
6793 (synopsis "Simple logging abstraction that allows multiple back-ends")
6794 (description
6795 "This package provides a simple logging abstraction that allows multiple
6796back-ends.")
6797 (license license:expat)))
6798
6799(define-public ghc-logict
6800 (package
6801 (name "ghc-logict")
79d9326f 6802 (version "0.7.0.2")
dddbc90c
RV
6803 (source
6804 (origin
6805 (method url-fetch)
6806 (uri (string-append
6807 "https://hackage.haskell.org/package/logict/logict-"
6808 version
6809 ".tar.gz"))
6810 (sha256
6811 (base32
79d9326f 6812 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 6813 (build-system haskell-build-system)
79d9326f
TS
6814 (native-inputs
6815 `(("ghc-tasty" ,ghc-tasty)
6816 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
6817 (home-page "http://code.haskell.org/~dolio/")
6818 (synopsis "Backtracking logic-programming monad")
6819 (description "This library provides a continuation-based, backtracking,
6820logic programming monad. An adaptation of the two-continuation implementation
6821found in the paper \"Backtracking, Interleaving, and Terminating Monad
6822Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
6823online}.")
6824 (license license:bsd-3)))
6825
6826(define-public ghc-lzma
6827 (package
6828 (name "ghc-lzma")
6829 (version "0.0.0.3")
6830 (source
6831 (origin
6832 (method url-fetch)
6833 (uri (string-append "https://hackage.haskell.org/package/lzma/"
6834 "lzma-" version ".tar.gz"))
6835 (sha256
6836 (base32
6837 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
6838 (build-system haskell-build-system)
6839 (arguments
6840 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
6841 #:cabal-revision
6842 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
6843 (native-inputs
6844 `(("ghc-hunit" ,ghc-hunit)
6845 ("ghc-quickcheck" ,ghc-quickcheck)
6846 ("ghc-tasty" ,ghc-tasty)
6847 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6848 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6849 (home-page "https://github.com/hvr/lzma")
6850 (synopsis "LZMA/XZ compression and decompression")
6851 (description
6852 "This package provides a pure interface for compressing and
6853decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6854monadic incremental interface is provided as well.")
6855 (license license:bsd-3)))
6856
6857(define-public ghc-lzma-conduit
6858 (package
6859 (name "ghc-lzma-conduit")
6860 (version "1.2.1")
6861 (source
6862 (origin
6863 (method url-fetch)
6864 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6865 "lzma-conduit-" version ".tar.gz"))
6866 (sha256
6867 (base32
6868 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6869 (build-system haskell-build-system)
6870 (inputs
6871 `(("ghc-conduit" ,ghc-conduit)
6872 ("ghc-lzma" ,ghc-lzma)
6873 ("ghc-resourcet" ,ghc-resourcet)))
6874 (native-inputs
6875 `(("ghc-base-compat" ,ghc-base-compat)
6876 ("ghc-test-framework" ,ghc-test-framework)
6877 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6878 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6879 ("ghc-hunit" ,ghc-hunit)
6880 ("ghc-quickcheck" ,ghc-quickcheck)))
6881 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6882 (synopsis "Conduit interface for lzma/xz compression")
6883 (description
6884 "This package provides a @code{Conduit} interface for the LZMA
6885compression algorithm used in the @code{.xz} file format.")
6886 (license license:bsd-3)))
6887
e405912c
KM
6888(define-public ghc-magic
6889 (package
6890 (name "ghc-magic")
6891 (version "1.1")
6892 (source
6893 (origin
6894 (method url-fetch)
6895 (uri (string-append
6896 "https://hackage.haskell.org/package/magic/magic-"
6897 version ".tar.gz"))
6898 (sha256
6899 (base32
6900 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6901 (build-system haskell-build-system)
3ef91e15 6902 (home-page "https://hackage.haskell.org/package/magic")
e405912c
KM
6903 (synopsis "Interface to C file/magic library")
6904 (description
6905 "This package provides a full-featured binding to the C libmagic library.
6906With it, you can determine the type of a file by examining its contents rather
6907than its name.")
6908 (license license:bsd-3)))
6909
dddbc90c
RV
6910(define-public ghc-markdown-unlit
6911 (package
6912 (name "ghc-markdown-unlit")
6913 (version "0.5.0")
6914 (source (origin
6915 (method url-fetch)
6916 (uri (string-append
6917 "mirror://hackage/package/markdown-unlit/"
6918 "markdown-unlit-" version ".tar.gz"))
6919 (sha256
6920 (base32
6921 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6922 (build-system haskell-build-system)
6923 (inputs
6924 `(("ghc-base-compat" ,ghc-base-compat)
6925 ("ghc-hspec" ,ghc-hspec)
6926 ("ghc-quickcheck" ,ghc-quickcheck)
6927 ("ghc-silently" ,ghc-silently)
6928 ("ghc-stringbuilder" ,ghc-stringbuilder)
6929 ("ghc-temporary" ,ghc-temporary)
6930 ("hspec-discover" ,hspec-discover)))
6931 (home-page "https://github.com/sol/markdown-unlit#readme")
6932 (synopsis "Literate Haskell support for Markdown")
6933 (description "This package allows you to have a README.md that at the
6934same time is a literate Haskell program.")
6935 (license license:expat)))
6936
6937(define-public ghc-math-functions
6938 (package
6939 (name "ghc-math-functions")
b45de2bf 6940 (version "0.3.3.0")
dddbc90c
RV
6941 (source
6942 (origin
6943 (method url-fetch)
6944 (uri (string-append "https://hackage.haskell.org/package/"
6945 "math-functions-" version "/"
6946 "math-functions-" version ".tar.gz"))
6947 (sha256
6948 (base32
b45de2bf 6949 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6950 (build-system haskell-build-system)
6951 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6952 (inputs
b45de2bf
TS
6953 `(("ghc-data-default-class" ,ghc-data-default-class)
6954 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6955 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6956 (native-inputs
6957 `(("ghc-hunit" ,ghc-hunit)
6958 ("ghc-quickcheck" ,ghc-quickcheck)
6959 ("ghc-erf" ,ghc-erf)
6960 ("ghc-test-framework" ,ghc-test-framework)
6961 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6962 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6963 (home-page "https://github.com/bos/math-functions")
6964 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6965 (description "This Haskell library provides implementations of
6966special mathematical functions and Chebyshev polynomials. These
6967functions are often useful in statistical and numerical computing.")
6968 (license license:bsd-3)))
6969
6970(define-public ghc-megaparsec
6971 (package
6972 (name "ghc-megaparsec")
03b0c92e 6973 (version "7.0.5")
dddbc90c
RV
6974 (source
6975 (origin
6976 (method url-fetch)
6977 (uri (string-append "https://hackage.haskell.org/package/"
6978 "megaparsec/megaparsec-"
6979 version ".tar.gz"))
6980 (sha256
6981 (base32
03b0c92e 6982 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 6983 (build-system haskell-build-system)
dddbc90c
RV
6984 (inputs
6985 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6986 ("ghc-parser-combinators" ,ghc-parser-combinators)
6987 ("ghc-scientific" ,ghc-scientific)))
6988 (native-inputs
6989 `(("ghc-quickcheck" ,ghc-quickcheck)
6990 ("ghc-hspec" ,ghc-hspec)
6991 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6992 ("hspec-discover" ,hspec-discover)))
6993 (home-page "https://github.com/mrkkrp/megaparsec")
6994 (synopsis "Monadic parser combinators")
6995 (description
6996 "This is an industrial-strength monadic parser combinator library.
6997Megaparsec is a feature-rich package that strikes a nice balance between
6998speed, flexibility, and quality of parse errors.")
6999 (license license:bsd-2)))
7000
7001(define-public ghc-memory
7002 (package
7003 (name "ghc-memory")
d2c7d336 7004 (version "0.14.18")
dddbc90c
RV
7005 (source (origin
7006 (method url-fetch)
7007 (uri (string-append "https://hackage.haskell.org/package/"
7008 "memory/memory-" version ".tar.gz"))
7009 (sha256
7010 (base32
d2c7d336 7011 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
7012 (build-system haskell-build-system)
7013 (inputs
7014 `(("ghc-basement" ,ghc-basement)
7015 ("ghc-foundation" ,ghc-foundation)))
7016 (native-inputs
7017 `(("ghc-tasty" ,ghc-tasty)
7018 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7019 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7020 (home-page "https://github.com/vincenthz/hs-memory")
7021 (synopsis "Memory abstractions for Haskell")
7022 (description
7023 "This package provides memory abstractions, such as chunk of memory,
7024polymorphic byte array management and manipulation functions. It contains a
7025polymorphic byte array abstraction and functions similar to strict ByteString,
7026different type of byte array abstraction, raw memory IO operations (memory
7027set, memory copy, ..) and more")
7028 (license license:bsd-3)))
7029
7030(define-public ghc-memotrie
7031 (package
7032 (name "ghc-memotrie")
7033 (version "0.6.9")
7034 (source
7035 (origin
7036 (method url-fetch)
7037 (uri (string-append
7038 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
7039 version
7040 ".tar.gz"))
7041 (sha256
7042 (base32
7043 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
7044 (build-system haskell-build-system)
7045 (inputs
7046 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
7047 (home-page "https://github.com/conal/MemoTrie")
7048 (synopsis "Trie-based memo functions")
7049 (description "This package provides a functional library for creating
7050efficient memo functions using tries.")
7051 (license license:bsd-3)))
7052
7053(define-public ghc-microlens
7054 (package
7055 (name "ghc-microlens")
82478c58 7056 (version "0.4.10")
dddbc90c
RV
7057 (source
7058 (origin
7059 (method url-fetch)
7060 (uri (string-append "https://hackage.haskell.org/package/"
7061 "microlens-" version "/"
7062 "microlens-" version ".tar.gz"))
7063 (sha256
7064 (base32
82478c58 7065 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
7066 (build-system haskell-build-system)
7067 (home-page
7068 "https://github.com/aelve/microlens")
7069 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7070 (description "This Haskell package provides a lens library, just like
7071@code{ghc-lens}, but smaller. It provides essential lenses and
7072traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7073nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7074combinators (like @code{failing} and @code{singular}), but everything else is
7075stripped. As the result, this package has no dependencies.")
7076 (license license:bsd-3)))
7077
1cd3333e
TS
7078(define-public ghc-microlens-aeson
7079 (package
7080 (name "ghc-microlens-aeson")
7081 (version "2.3.0.4")
7082 (source
7083 (origin
7084 (method url-fetch)
7085 (uri (string-append "https://hackage.haskell.org/package/"
7086 "microlens-aeson/microlens-aeson-"
7087 version ".tar.gz"))
b4a00fec 7088 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
1cd3333e
TS
7089 (sha256
7090 (base32
7091 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
7092 (build-system haskell-build-system)
7093 (inputs
7094 `(("ghc-aeson" ,ghc-aeson)
7095 ("ghc-attoparsec" ,ghc-attoparsec)
7096 ("ghc-hashable" ,ghc-hashable)
7097 ("ghc-microlens" ,ghc-microlens)
7098 ("ghc-scientific" ,ghc-scientific)
7099 ("ghc-unordered-containers" ,ghc-unordered-containers)
7100 ("ghc-vector" ,ghc-vector)))
7101 (native-inputs
7102 `(("ghc-tasty" ,ghc-tasty)
7103 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7104 (home-page "https://github.com/fosskers/microlens-aeson")
7105 (synopsis "Law-abiding lenses for Aeson, using microlens")
7106 (description "This library provides law-abiding lenses for Aeson, using
7107microlens.")
7108 (license license:expat)))
7109
dddbc90c
RV
7110(define-public ghc-microlens-ghc
7111 (package
7112 (name "ghc-microlens-ghc")
027beb55 7113 (version "0.4.10")
dddbc90c
RV
7114 (source
7115 (origin
7116 (method url-fetch)
7117 (uri (string-append
7118 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7119 version
7120 ".tar.gz"))
7121 (sha256
7122 (base32
027beb55 7123 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
7124 (build-system haskell-build-system)
7125 (inputs `(("ghc-microlens" ,ghc-microlens)))
7126 (home-page "https://github.com/monadfix/microlens")
7127 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7128 (description "This library provides everything that @code{microlens}
7129provides plus instances to make @code{each}, @code{at}, and @code{ix}
7130usable with arrays, @code{ByteString}, and containers. This package is
7131a part of the @uref{http://hackage.haskell.org/package/microlens,
7132microlens} family; see the readme
7133@uref{https://github.com/aelve/microlens#readme, on Github}.")
7134 (license license:bsd-3)))
7135
7136(define-public ghc-microlens-mtl
7137 (package
7138 (name "ghc-microlens-mtl")
7139 (version "0.1.11.1")
7140 (source
7141 (origin
7142 (method url-fetch)
7143 (uri (string-append
7144 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7145 version
7146 ".tar.gz"))
7147 (sha256
7148 (base32
7149 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7150 (build-system haskell-build-system)
7151 (inputs
7152 `(("ghc-microlens" ,ghc-microlens)
7153 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7154 (home-page "https://github.com/monadfix/microlens")
7155 (synopsis
7156 "@code{microlens} support for Reader/Writer/State from mtl")
7157 (description
7158 "This package contains functions (like @code{view} or @code{+=}) which
7159work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7160mtl package. This package is a part of the
7161@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7162readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7163 (license license:bsd-3)))
7164
7165(define-public ghc-microlens-platform
7166 (package
7167 (name "ghc-microlens-platform")
85decc1f 7168 (version "0.3.11")
dddbc90c
RV
7169 (source
7170 (origin
7171 (method url-fetch)
7172 (uri (string-append
7173 "https://hackage.haskell.org/package/"
7174 "microlens-platform/microlens-platform-" version ".tar.gz"))
7175 (sha256
7176 (base32
85decc1f 7177 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
7178 (build-system haskell-build-system)
7179 (inputs
7180 `(("ghc-hashable" ,ghc-hashable)
7181 ("ghc-microlens" ,ghc-microlens)
7182 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
7183 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
7184 ("ghc-microlens-th" ,ghc-microlens-th)
7185 ("ghc-unordered-containers" ,ghc-unordered-containers)
7186 ("ghc-vector" ,ghc-vector)))
7187 (home-page "https://github.com/monadfix/microlens")
7188 (synopsis "Feature-complete microlens")
7189 (description
7190 "This package exports a module which is the recommended starting point
7191for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
7192you aren't trying to keep your dependencies minimal. By importing
7193@code{Lens.Micro.Platform} you get all functions and instances from
7194@uref{http://hackage.haskell.org/package/microlens, microlens},
7195@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
7196@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7197@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7198well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7199minor and major versions of @code{microlens-platform} are incremented whenever
7200the minor and major versions of any other @code{microlens} package are
7201incremented, so you can depend on the exact version of
7202@code{microlens-platform} without specifying the version of @code{microlens}
7203you need. This package is a part of the
7204@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7205readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7206 (license license:bsd-3)))
7207
7208(define-public ghc-microlens-th
7209 (package
7210 (name "ghc-microlens-th")
7ae52867 7211 (version "0.4.2.3")
dddbc90c
RV
7212 (source
7213 (origin
7214 (method url-fetch)
7215 (uri (string-append "https://hackage.haskell.org/package/"
7216 "microlens-th-" version "/"
7217 "microlens-th-" version ".tar.gz"))
7218 (sha256
7219 (base32
7ae52867 7220 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 7221 (build-system haskell-build-system)
7ae52867
TS
7222 (arguments
7223 `(#:cabal-revision
7224 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
7225 (inputs `(("ghc-microlens" ,ghc-microlens)
7226 ("ghc-th-abstraction" ,ghc-th-abstraction)))
7227 (home-page
7228 "https://github.com/aelve/microlens")
7229 (synopsis "Automatic generation of record lenses for
7230@code{ghc-microlens}")
7231 (description "This Haskell package lets you automatically generate lenses
7232for data types; code was extracted from the lens package, and therefore
7233generated lenses are fully compatible with ones generated by lens (and can be
7234used both from lens and microlens).")
7235 (license license:bsd-3)))
7236
7237(define-public ghc-missingh
7238 (package
7239 (name "ghc-missingh")
641207cb 7240 (version "1.4.1.0")
dddbc90c
RV
7241 (source
7242 (origin
7243 (method url-fetch)
7244 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
7245 "MissingH-" version ".tar.gz"))
7246 (sha256
7247 (base32
641207cb 7248 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
7249 (build-system haskell-build-system)
7250 ;; Tests require the unmaintained testpack package, which depends on the
7251 ;; outdated QuickCheck version 2.7, which can no longer be built with
7252 ;; recent versions of GHC and Haskell libraries.
7253 (arguments '(#:tests? #f))
7254 (inputs
7255 `(("ghc-network" ,ghc-network)
7256 ("ghc-hunit" ,ghc-hunit)
7257 ("ghc-regex-compat" ,ghc-regex-compat)
7258 ("ghc-hslogger" ,ghc-hslogger)
7259 ("ghc-random" ,ghc-random)
7260 ("ghc-old-time" ,ghc-old-time)
7261 ("ghc-old-locale" ,ghc-old-locale)))
7262 (native-inputs
7263 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7264 ("ghc-quickcheck" ,ghc-quickcheck)
7265 ("ghc-hunit" ,ghc-hunit)))
7cde5203 7266 (home-page "https://software.complete.org/missingh")
dddbc90c
RV
7267 (synopsis "Large utility library")
7268 (description
7269 "MissingH is a library of all sorts of utility functions for Haskell
7270programmers. It is written in pure Haskell and thus should be extremely
7271portable and easy to use.")
7272 (license license:bsd-3)))
7273
7274(define-public ghc-mmap
7275 (package
7276 (name "ghc-mmap")
7277 (version "0.5.9")
7278 (source (origin
7279 (method url-fetch)
7280 (uri (string-append "https://hackage.haskell.org/package/"
7281 "mmap/mmap-" version ".tar.gz"))
7282 (sha256
7283 (base32
7284 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7285 (build-system haskell-build-system)
7286 (home-page "https://hackage.haskell.org/package/mmap")
7287 (synopsis "Memory mapped files for Haskell")
7288 (description
7289 "This library provides a wrapper to @code{mmap}, allowing files or
7290devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7291@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7292do on-demand loading.")
7293 (license license:bsd-3)))
7294
7295(define-public ghc-mmorph
7296 (package
7297 (name "ghc-mmorph")
e0389704 7298 (version "1.1.3")
dddbc90c
RV
7299 (source
7300 (origin
7301 (method url-fetch)
7302 (uri (string-append
7303 "https://hackage.haskell.org/package/mmorph/mmorph-"
7304 version
7305 ".tar.gz"))
7306 (sha256
7307 (base32
e0389704 7308 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
7309 (build-system haskell-build-system)
7310 (inputs
7311 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7312 (home-page "https://hackage.haskell.org/package/mmorph")
7313 (synopsis "Monad morphisms")
7314 (description
7315 "This library provides monad morphism utilities, most commonly used for
7316manipulating monad transformer stacks.")
7317 (license license:bsd-3)))
7318
7319(define-public ghc-mockery
7320 (package
7321 (name "ghc-mockery")
7322 (version "0.3.5")
7323 (source (origin
7324 (method url-fetch)
7325 (uri (string-append "https://hackage.haskell.org/package/"
7326 "mockery/mockery-" version ".tar.gz"))
7327 (sha256
7328 (base32
7329 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7330 (build-system haskell-build-system)
7331 (inputs
7332 `(("ghc-temporary" ,ghc-temporary)
7333 ("ghc-logging-facade" ,ghc-logging-facade)
7334 ("ghc-base-compat" ,ghc-base-compat)))
7335 (native-inputs
7336 `(("ghc-hspec" ,ghc-hspec)
7337 ("hspec-discover" ,hspec-discover)))
7338 (home-page "https://hackage.haskell.org/package/mockery")
7339 (synopsis "Support functions for automated testing")
7340 (description
7341 "The mockery package provides support functions for automated testing.")
7342 (license license:expat)))
7343
7344(define-public ghc-monad-control
7345 (package
7346 (name "ghc-monad-control")
7347 (version "1.0.2.3")
7348 (source
7349 (origin
7350 (method url-fetch)
7351 (uri (string-append
7352 "https://hackage.haskell.org/package/monad-control"
7353 "/monad-control-" version ".tar.gz"))
7354 (sha256
7355 (base32
7356 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7357 (build-system haskell-build-system)
7358 (inputs
7359 `(("ghc-transformers-base" ,ghc-transformers-base)
7360 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7361 (home-page "https://github.com/basvandijk/monad-control")
7362 (synopsis "Monad transformers to lift control operations like exception
7363catching")
7364 (description "This package defines the type class @code{MonadBaseControl},
7365a subset of @code{MonadBase} into which generic control operations such as
7366@code{catch} can be lifted from @code{IO} or any other base monad.")
7367 (license license:bsd-3)))
7368
7369(define-public ghc-monad-logger
7370 (package
7371 (name "ghc-monad-logger")
26980aae 7372 (version "0.3.30")
dddbc90c
RV
7373 (source
7374 (origin
7375 (method url-fetch)
7376 (uri (string-append "https://hackage.haskell.org/package/"
7377 "monad-logger-" version "/"
7378 "monad-logger-" version ".tar.gz"))
7379 (sha256
7380 (base32
26980aae 7381 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
7382 (build-system haskell-build-system)
7383 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7384 ("ghc-stm-chans" ,ghc-stm-chans)
7385 ("ghc-lifted-base" ,ghc-lifted-base)
7386 ("ghc-resourcet" ,ghc-resourcet)
7387 ("ghc-conduit" ,ghc-conduit)
7388 ("ghc-conduit-extra" ,ghc-conduit-extra)
7389 ("ghc-fast-logger" ,ghc-fast-logger)
7390 ("ghc-transformers-base" ,ghc-transformers-base)
7391 ("ghc-monad-control" ,ghc-monad-control)
7392 ("ghc-monad-loops" ,ghc-monad-loops)
7393 ("ghc-blaze-builder" ,ghc-blaze-builder)
7394 ("ghc-exceptions" ,ghc-exceptions)))
7395 (home-page "https://github.com/kazu-yamamoto/logger")
7396 (synopsis "Provides a class of monads which can log messages for Haskell")
7397 (description "This Haskell package uses a monad transformer approach
7398for logging.
7399
7400This package provides Template Haskell functions for determining source
7401code locations of messages.")
7402 (license license:expat)))
7403
7404(define-public ghc-monad-loops
7405 (package
7406 (name "ghc-monad-loops")
7407 (version "0.4.3")
7408 (source
7409 (origin
7410 (method url-fetch)
7411 (uri (string-append "https://hackage.haskell.org/package/"
7412 "monad-loops-" version "/"
7413 "monad-loops-" version ".tar.gz"))
7414 (sha256
7415 (base32
7416 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7417 (build-system haskell-build-system)
7418 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7419 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7420 (home-page "https://github.com/mokus0/monad-loops")
7421 (synopsis "Monadic loops for Haskell")
7422 (description "This Haskell package provides some useful control
7423operators for looping.")
7424 (license license:public-domain)))
7425
7426(define-public ghc-monad-par
7427 (package
7428 (name "ghc-monad-par")
7429 (version "0.3.4.8")
7430 (source
7431 (origin
7432 (method url-fetch)
7433 (uri (string-append "https://hackage.haskell.org/package/"
7434 "monad-par-" version "/"
7435 "monad-par-" version ".tar.gz"))
faac56f3 7436 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
7437 (sha256
7438 (base32
7439 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7440 (build-system haskell-build-system)
7441 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7442 ("ghc-abstract-deque" ,ghc-abstract-deque)
7443 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7444 ("ghc-mwc-random" ,ghc-mwc-random)
7445 ("ghc-parallel" ,ghc-parallel)))
7446 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7447 ("ghc-hunit" ,ghc-hunit)
7448 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7449 ("ghc-test-framework-quickcheck2"
7450 ,ghc-test-framework-quickcheck2)
7451 ("ghc-test-framework" ,ghc-test-framework)
7452 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7453 (home-page "https://github.com/simonmar/monad-par")
7454 (synopsis "Haskell library for parallel programming based on a monad")
7455 (description "The @code{Par} monad offers an API for parallel
7456programming. The library works for parallelising both pure and @code{IO}
7457computations, although only the pure version is deterministic. The default
7458implementation provides a work-stealing scheduler and supports forking tasks
7459that are much lighter weight than IO-threads.")
7460 (license license:bsd-3)))
7461
7462(define-public ghc-monad-par-extras
7463 (package
7464 (name "ghc-monad-par-extras")
7465 (version "0.3.3")
7466 (source
7467 (origin
7468 (method url-fetch)
7469 (uri (string-append "https://hackage.haskell.org/package/"
7470 "monad-par-extras-" version "/"
7471 "monad-par-extras-" version ".tar.gz"))
7472 (sha256
7473 (base32
7474 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7475 (build-system haskell-build-system)
7476 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7477 ("ghc-cereal" ,ghc-cereal)
7478 ("ghc-random" ,ghc-random)))
7479 (home-page "https://github.com/simonmar/monad-par")
7480 (synopsis "Combinators and extra features for Par monads for Haskell")
7481 (description "This Haskell package provides additional data structures,
7482and other added capabilities layered on top of the @code{Par} monad.")
7483 (license license:bsd-3)))
7484
dddbc90c
RV
7485(define-public ghc-monadrandom
7486 (package
7487 (name "ghc-monadrandom")
7488 (version "0.5.1.1")
7489 (source
7490 (origin
7491 (method url-fetch)
7492 (uri (string-append "https://hackage.haskell.org/package/"
7493 "MonadRandom-" version "/"
7494 "MonadRandom-" version ".tar.gz"))
7495 (sha256
7496 (base32
7497 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7498 (build-system haskell-build-system)
7499 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7500 ("ghc-primitive" ,ghc-primitive)
7501 ("ghc-fail" ,ghc-fail)
7502 ("ghc-random" ,ghc-random)))
7503 (home-page "https://github.com/byorgey/MonadRandom")
7504 (synopsis "Random-number generation monad for Haskell")
7505 (description "This Haskell package provides support for computations
7506which consume random values.")
7507 (license license:bsd-3)))
7508
7509(define-public ghc-monads-tf
7510 (package
7511 (name "ghc-monads-tf")
7512 (version "0.1.0.3")
7513 (source
7514 (origin
7515 (method url-fetch)
7516 (uri (string-append
7517 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7518 version ".tar.gz"))
7519 (sha256
7520 (base32
7521 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7522 (build-system haskell-build-system)
7523 (home-page "https://hackage.haskell.org/package/monads-tf")
7524 (synopsis "Monad classes, using type families")
7525 (description
7526 "Monad classes using type families, with instances for various monad transformers,
7527inspired by the paper 'Functional Programming with Overloading and Higher-Order
7528Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7529the @code{mtl-tf} package.")
7530 (license license:bsd-3)))
7531
7532(define-public ghc-mono-traversable
7533 (package
7534 (name "ghc-mono-traversable")
23bb445b 7535 (version "1.0.13.0")
dddbc90c
RV
7536 (source
7537 (origin
7538 (method url-fetch)
7539 (uri (string-append "https://hackage.haskell.org/package/"
7540 "mono-traversable-" version "/"
7541 "mono-traversable-" version ".tar.gz"))
7542 (sha256
7543 (base32
23bb445b 7544 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
7545 (build-system haskell-build-system)
7546 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7547 ("ghc-hashable" ,ghc-hashable)
7548 ("ghc-vector" ,ghc-vector)
7549 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7550 ("ghc-split" ,ghc-split)))
7551 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7552 ("ghc-hunit" ,ghc-hunit)
7553 ("ghc-quickcheck" ,ghc-quickcheck)
7554 ("ghc-semigroups" ,ghc-semigroups)
7555 ("ghc-foldl" ,ghc-foldl)))
7556 (home-page "https://github.com/snoyberg/mono-traversable")
7557 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7558containers")
7559 (description "This Haskell package provides Monomorphic variants of the
7560Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7561basic typeclasses, you understand mono-traversable. In addition to what
7562you are used to, it adds on an IsSequence typeclass and has code for marking
7563data structures as non-empty.")
7564 (license license:expat)))
7565
471e77cf
TS
7566(define-public ghc-monoid-extras
7567 (package
7568 (name "ghc-monoid-extras")
7569 (version "0.5.1")
7570 (source
7571 (origin
7572 (method url-fetch)
7573 (uri (string-append "https://hackage.haskell.org/package/"
7574 "monoid-extras/monoid-extras-" version ".tar.gz"))
7575 (sha256
7576 (base32
7577 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7578 (build-system haskell-build-system)
7579 (inputs
7580 `(("ghc-groups" ,ghc-groups)
7581 ("ghc-semigroups" ,ghc-semigroups)
7582 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7583 (arguments
7584 `(#:cabal-revision
7585 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7586 (home-page "https://hackage.haskell.org/package/monoid-extras")
7587 (synopsis "Various extra monoid-related definitions and utilities")
7588 (description "This package provides various extra monoid-related
7589definitions and utilities, such as monoid actions, monoid coproducts,
7590semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7591\"cut\" monoids.")
7592 (license license:bsd-3)))
7593
dddbc90c
RV
7594(define-public ghc-murmur-hash
7595 (package
7596 (name "ghc-murmur-hash")
7597 (version "0.1.0.9")
7598 (source
7599 (origin
7600 (method url-fetch)
7601 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7602 "/murmur-hash-" version ".tar.gz"))
7603 (sha256
7604 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
7605 (build-system haskell-build-system)
7606 (home-page "https://github.com/nominolo/murmur-hash")
7607 (synopsis "MurmurHash2 implementation for Haskell")
7608 (description
7609 "This package provides an implementation of MurmurHash2, a good, fast,
7610general-purpose, non-cryptographic hashing function. See
7611@url{https://sites.google.com/site/murmurhash/} for details. This
7612implementation is pure Haskell, so it might be a bit slower than a C FFI
7613binding.")
7614 (license license:bsd-3)))
7615
7616(define-public ghc-mwc-random
7617 (package
7618 (name "ghc-mwc-random")
33268e2c 7619 (version "0.14.0.0")
dddbc90c
RV
7620 (source
7621 (origin
7622 (method url-fetch)
7623 (uri (string-append "https://hackage.haskell.org/package/"
7624 "mwc-random-" version "/"
7625 "mwc-random-" version ".tar.gz"))
7626 (sha256
7627 (base32
33268e2c 7628 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
7629 (build-system haskell-build-system)
7630 (inputs
7631 `(("ghc-primitive" ,ghc-primitive)
7632 ("ghc-vector" ,ghc-vector)
7633 ("ghc-math-functions" ,ghc-math-functions)))
7634 (arguments
7635 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
7636 (native-inputs
7637 `(("ghc-hunit" ,ghc-hunit)
7638 ("ghc-quickcheck" ,ghc-quickcheck)
7639 ("ghc-test-framework" ,ghc-test-framework)
7640 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7641 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7642 (home-page "https://github.com/bos/mwc-random")
7643 (synopsis "Random number generation library for Haskell")
7644 (description "This Haskell package contains code for generating
7645high quality random numbers that follow either a uniform or normal
7646distribution. The generated numbers are suitable for use in
7647statistical applications.
7648
7649The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
7650multiply-with-carry generator, which has a period of 2^{8222} and
7651fares well in tests of randomness. It is also extremely fast,
7652between 2 and 3 times faster than the Mersenne Twister.")
7653 (license license:bsd-3)))
7654
7655(define-public ghc-nats
7656 (package
7657 (name "ghc-nats")
7658 (version "1.1.2")
7659 (source
7660 (origin
7661 (method url-fetch)
7662 (uri (string-append
7663 "https://hackage.haskell.org/package/nats/nats-"
7664 version
7665 ".tar.gz"))
7666 (sha256
7667 (base32
7668 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
7669 (build-system haskell-build-system)
7670 (arguments `(#:haddock? #f))
7671 (inputs
7672 `(("ghc-hashable" ,ghc-hashable)))
7673 (home-page "https://hackage.haskell.org/package/nats")
7674 (synopsis "Natural numbers")
7675 (description "This library provides the natural numbers for Haskell.")
7676 (license license:bsd-3)))
7677
7678(define-public ghc-nats-bootstrap
7679 (package
7680 (inherit ghc-nats)
7681 (name "ghc-nats-bootstrap")
7682 (inputs
7683 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
7684 (properties '((hidden? #t)))))
7685
52915062
EF
7686(define-public ghc-ncurses
7687 (package
7688 (name "ghc-ncurses")
7689 (version "0.2.16")
7690 (source
7691 (origin
7692 (method url-fetch)
7693 (uri (string-append
7694 "https://hackage.haskell.org/package/ncurses/ncurses-"
7695 version ".tar.gz"))
7696 (sha256
7697 (base32
7698 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
7699 (build-system haskell-build-system)
7700 (arguments
7701 '(#:phases
7702 (modify-phases %standard-phases
7703 (add-before 'build 'fix-includes
7704 (lambda _
7705 (substitute* '("cbits/hsncurses-shim.h"
7706 "lib/UI/NCurses.chs"
7707 "lib/UI/NCurses/Enums.chs"
7708 "lib/UI/NCurses/Panel.chs")
7709 (("<ncursesw/") "<"))
7710 #t)))
7711 #:cabal-revision
7712 ("1"
7713 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
7714 (inputs `(("ncurses" ,ncurses)))
7715 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
7716 (home-page "https://john-millikin.com/software/haskell-ncurses/")
7717 (synopsis "Modernised bindings to GNU ncurses")
7718 (description "GNU ncurses is a library for creating command-line application
7719with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
7720ncurses.")
7721 (license license:gpl3)))
7722
dddbc90c
RV
7723(define-public ghc-network
7724 (package
7725 (name "ghc-network")
d4473202 7726 (version "2.8.0.1")
dddbc90c
RV
7727 (outputs '("out" "doc"))
7728 (source
7729 (origin
7730 (method url-fetch)
7731 (uri (string-append
7732 "https://hackage.haskell.org/package/network/network-"
7733 version
7734 ".tar.gz"))
7735 (sha256
7736 (base32
d4473202 7737 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
7738 (build-system haskell-build-system)
7739 ;; The regression tests depend on an unpublished module.
7740 (arguments `(#:tests? #f))
7741 (native-inputs
7742 `(("ghc-hunit" ,ghc-hunit)
7743 ("ghc-doctest" ,ghc-doctest)
7744 ("ghc-test-framework" ,ghc-test-framework)
7745 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
7746 (home-page "https://github.com/haskell/network")
7747 (synopsis "Low-level networking interface")
7748 (description
7749 "This package provides a low-level networking interface.")
7750 (license license:bsd-3)))
4780db2c 7751
30eebbe6
TS
7752(define-public ghc-network-bsd
7753 (package
7754 (name "ghc-network-bsd")
7755 (version "2.8.0.0")
7756 (source
7757 (origin
7758 (method url-fetch)
7759 (uri (string-append "https://hackage.haskell.org/package/"
7760 "network-bsd/network-bsd-" version ".tar.gz"))
7761 (sha256
7762 (base32
7763 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
7764 (build-system haskell-build-system)
7765 (inputs
7766 `(("ghc-network" ,ghc-network)))
7767 (home-page "https://github.com/haskell/network-bsd")
7768 (synopsis "POSIX network database (<netdb.h>) API")
7769 (description "This package provides Haskell bindings to the the POSIX
7770network database (<netdb.h>) API.")
7771 (license license:bsd-3)))
7772
096781a1
TS
7773(define-public ghc-network-byte-order
7774 (package
7775 (name "ghc-network-byte-order")
7776 (version "0.1.1.1")
7777 (source
7778 (origin
7779 (method url-fetch)
7780 (uri (string-append "https://hackage.haskell.org/package/"
7781 "network-byte-order/network-byte-order-"
7782 version ".tar.gz"))
7783 (sha256
7784 (base32
7785 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
7786 (build-system haskell-build-system)
7787 (native-inputs
7788 `(("ghc-doctest" ,ghc-doctest)))
3ef91e15 7789 (home-page "https://hackage.haskell.org/package/network-byte-order")
096781a1
TS
7790 (synopsis "Network byte order utilities")
7791 (description "This library provides peek and poke functions for network
7792byte order.")
7793 (license license:bsd-3)))
7794
dddbc90c
RV
7795(define-public ghc-network-info
7796 (package
7797 (name "ghc-network-info")
7798 (version "0.2.0.10")
7799 (source
7800 (origin
7801 (method url-fetch)
7802 (uri (string-append "https://hackage.haskell.org/package/"
7803 "network-info-" version "/"
7804 "network-info-" version ".tar.gz"))
7805 (sha256
7806 (base32
7807 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
7808 (build-system haskell-build-system)
7809 (home-page "https://github.com/jystic/network-info")
7810 (synopsis "Access the local computer's basic network configuration")
7811 (description "This Haskell library provides simple read-only access to the
7812local computer's networking configuration. It is currently capable of
7813getting a list of all the network interfaces and their respective
7814IPv4, IPv6 and MAC addresses.")
7815 (license license:bsd-3)))
7816
7817(define-public ghc-network-uri
7818 (package
7819 (name "ghc-network-uri")
7820 (version "2.6.1.0")
7821 (outputs '("out" "doc"))
7822 (source
7823 (origin
7824 (method url-fetch)
7825 (uri (string-append
7826 "https://hackage.haskell.org/package/network-uri/network-uri-"
7827 version
7828 ".tar.gz"))
7829 (sha256
7830 (base32
7831 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
7832 (build-system haskell-build-system)
7833 (arguments
7834 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
7835 (inputs
7836 `(("ghc-network" ,ghc-network)))
7837 (native-inputs
7838 `(("ghc-hunit" ,ghc-hunit)))
7839 (home-page
7840 "https://github.com/haskell/network-uri")
7841 (synopsis "Library for URI manipulation")
7842 (description "This package provides an URI manipulation interface. In
7843@code{network-2.6} the @code{Network.URI} module was split off from the
7844@code{network} package into this package.")
7845 (license license:bsd-3)))
7846
7847(define-public ghc-newtype-generics
7848 (package
7849 (name "ghc-newtype-generics")
c07e16dd 7850 (version "0.5.4")
dddbc90c
RV
7851 (source
7852 (origin
7853 (method url-fetch)
7854 (uri (string-append "https://hackage.haskell.org/package/"
7855 "newtype-generics/newtype-generics-"
7856 version ".tar.gz"))
7857 (sha256
7858 (base32
c07e16dd 7859 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
7860 (build-system haskell-build-system)
7861 (native-inputs
7862 `(("ghc-hspec" ,ghc-hspec)
7863 ("hspec-discover" ,hspec-discover)))
7864 (home-page "http://github.com/sjakobi/newtype-generics")
7865 (synopsis "Typeclass and set of functions for working with newtypes")
7866 (description "The @code{Newtype} typeclass represents the packing and
7867unpacking of a newtype, and allows you to operate under that newtype with
7868functions such as @code{ala}. Generics support was added in version 0.4,
7869making this package a full replacement for the original newtype package,
7870and an alternative to newtype-th.")
7871 (license license:bsd-3)))
7872
6b652f5a
JS
7873(define-public ghc-non-negative
7874 (package
7875 (name "ghc-non-negative")
7876 (version "0.1.2")
7877 (source
7878 (origin
7879 (method url-fetch)
7880 (uri
7881 (string-append
7882 "https://hackage.haskell.org/package/non-negative/non-negative-"
7883 version ".tar.gz"))
7884 (sha256
7885 (base32
7886 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
7887 (build-system haskell-build-system)
7888 (inputs
7889 `(("ghc-semigroups" ,ghc-semigroups)
7890 ("ghc-utility-ht" ,ghc-utility-ht)
7891 ("ghc-quickcheck" ,ghc-quickcheck)))
7892 (home-page "https://hackage.haskell.org/package/non-negative")
7893 (synopsis "Non-negative numbers class")
7894 (description "This library provides a class for non-negative numbers,
7895a wrapper which can turn any ordered numeric type into a member of that
7896class, and a lazy number type for non-negative numbers (a generalization
7897of Peano numbers).")
7898 (license license:gpl3+)))
7899
194a82e6
TS
7900(define-public ghc-numeric-extras
7901 (package
7902 (name "ghc-numeric-extras")
7903 (version "0.1")
7904 (source
7905 (origin
7906 (method url-fetch)
7907 (uri (string-append "https://hackage.haskell.org/package/"
7908 "numeric-extras/numeric-extras-"
7909 version ".tar.gz"))
7910 (sha256
7911 (base32
7912 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
7913 (build-system haskell-build-system)
7914 (home-page "https://github.com/ekmett/numeric-extras")
7915 (synopsis "Useful tools from the C standard library")
7916 (description "This library provides some useful tools from the C
7917standard library.")
7918 (license license:bsd-3)))
7919
dddbc90c
RV
7920(define-public ghc-objectname
7921 (package
7922 (name "ghc-objectname")
7923 (version "1.1.0.1")
7924 (source
7925 (origin
7926 (method url-fetch)
7927 (uri (string-append
7928 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
7929 version
7930 ".tar.gz"))
7931 (sha256
7932 (base32
7933 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
7934 (build-system haskell-build-system)
7935 (home-page "https://hackage.haskell.org/package/ObjectName")
7936 (synopsis "Helper library for Haskell OpenGL")
7937 (description "This tiny package contains the class ObjectName, which
7938corresponds to the general notion of explicitly handled identifiers for API
7939objects, e.g. a texture object name in OpenGL or a buffer object name in
7940OpenAL.")
7941 (license license:bsd-3)))
7942
7943(define-public ghc-old-locale
7944 (package
7945 (name "ghc-old-locale")
7946 (version "1.0.0.7")
7947 (source
7948 (origin
7949 (method url-fetch)
7950 (uri (string-append
7951 "https://hackage.haskell.org/package/old-locale/old-locale-"
7952 version
7953 ".tar.gz"))
7954 (sha256
7955 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7956 (build-system haskell-build-system)
7957 (arguments
7958 `(#:cabal-revision
7959 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7960 (home-page "https://hackage.haskell.org/package/old-locale")
7961 (synopsis "Adapt to locale conventions")
7962 (description
7963 "This package provides the ability to adapt to locale conventions such as
7964date and time formats.")
7965 (license license:bsd-3)))
7966
7967(define-public ghc-old-time
7968 (package
7969 (name "ghc-old-time")
7970 (version "1.1.0.3")
7971 (source
7972 (origin
7973 (method url-fetch)
7974 (uri (string-append
7975 "https://hackage.haskell.org/package/old-time/old-time-"
7976 version
7977 ".tar.gz"))
7978 (sha256
7979 (base32
7980 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7981 (build-system haskell-build-system)
7982 (arguments
7983 `(#:cabal-revision
7984 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7985 (inputs
7986 `(("ghc-old-locale" ,ghc-old-locale)))
7987 (home-page "https://hackage.haskell.org/package/old-time")
7988 (synopsis "Time compatibility library for Haskell")
7989 (description "Old-time is a package for backwards compatibility with the
7990old @code{time} library. For new projects, the newer
7991@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7992 (license license:bsd-3)))
7993
7994(define-public ghc-opengl
7995 (package
7996 (name "ghc-opengl")
79a06910 7997 (version "3.0.3.0")
dddbc90c
RV
7998 (source
7999 (origin
8000 (method url-fetch)
8001 (uri (string-append
8002 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
8003 version
8004 ".tar.gz"))
8005 (sha256
8006 (base32
79a06910 8007 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 8008 (build-system haskell-build-system)
79a06910
TS
8009 (arguments
8010 `(#:cabal-revision
8011 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
8012 (inputs
8013 `(("ghc-objectname" ,ghc-objectname)
8014 ("ghc-gluraw" ,ghc-gluraw)
8015 ("ghc-statevar" ,ghc-statevar)
8016 ("ghc-openglraw" ,ghc-openglraw)))
8017 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8018 (synopsis "Haskell bindings for the OpenGL graphics system")
8019 (description "This package provides Haskell bindings for the OpenGL
8020graphics system (GL, version 4.5) and its accompanying utility library (GLU,
8021version 1.3).")
8022 (license license:bsd-3)))
8023
8024(define-public ghc-openglraw
8025 (package
8026 (name "ghc-openglraw")
15ebc815 8027 (version "3.3.3.0")
dddbc90c
RV
8028 (source
8029 (origin
8030 (method url-fetch)
8031 (uri (string-append
8032 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
8033 version
8034 ".tar.gz"))
8035 (sha256
8036 (base32
15ebc815 8037 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
8038 (build-system haskell-build-system)
8039 (inputs
8040 `(("ghc-half" ,ghc-half)
8041 ("ghc-fixed" ,ghc-fixed)
8042 ("glu" ,glu)))
8043 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8044 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
8045 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
8046graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
8047of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
8048offers access to all necessary functions, tokens and types plus a general
8049facility for loading extension entries. The module hierarchy closely mirrors
8050the naming structure of the OpenGL extensions, making it easy to find the
8051right module to import. All API entries are loaded dynamically, so no special
8052C header files are needed for building this package. If an API entry is not
8053found at runtime, a userError is thrown.")
8054 (license license:bsd-3)))
8055
8056(define-public ghc-operational
8057 (package
8058 (name "ghc-operational")
8059 (version "0.2.3.5")
8060 (source
8061 (origin
8062 (method url-fetch)
8063 (uri (string-append "https://hackage.haskell.org/package/operational/"
8064 "operational-" version ".tar.gz"))
8065 (sha256
8066 (base32
8067 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
8068 (build-system haskell-build-system)
8069 (inputs
8070 `(("ghc-random" ,ghc-random)))
8071 (home-page "http://wiki.haskell.org/Operational")
8072 (synopsis "Implementation of difficult monads made easy with operational semantics")
8073 (description
8074 "This library makes it easy to implement monads with tricky control
8075flow. This is useful for: writing web applications in a sequential style,
8076programming games with a uniform interface for human and AI players and easy
8077replay capababilities, implementing fast parser monads, designing monadic
8078DSLs, etc.")
8079 (license license:bsd-3)))
8080
8081(define-public ghc-options
8082 (package
8083 (name "ghc-options")
8084 (version "1.2.1.1")
8085 (source
8086 (origin
8087 (method url-fetch)
8088 (uri (string-append
8089 "https://hackage.haskell.org/package/options/options-"
8090 version ".tar.gz"))
8091 (sha256
8092 (base32
8093 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8094 (build-system haskell-build-system)
24cf2a8b
TS
8095 (arguments
8096 `(#:phases
8097 (modify-phases %standard-phases
8098 (add-before 'configure 'update-constraints
8099 (lambda _
8100 (substitute* "options.cabal"
8101 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8102 #t)))))
dddbc90c
RV
8103 (inputs
8104 `(("ghc-monads-tf" ,ghc-monads-tf)
8105 ("ghc-chell" ,ghc-chell)
8106 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8107 (home-page "https://john-millikin.com/software/haskell-options/")
8108 (synopsis "Powerful and easy-to-use command-line option parser")
8109 (description
8110 "The @code{options} package lets library and application developers
8111easily work with command-line options.")
8112 (license license:expat)))
8113
8114;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8115(define ghc-options-bootstrap
8116 (package
8117 (name "ghc-options-bootstrap")
8118 (version "1.2.1.1")
8119 (source
8120 (origin
8121 (method url-fetch)
8122 (uri (string-append
8123 "https://hackage.haskell.org/package/options/options-"
8124 version ".tar.gz"))
8125 (sha256
8126 (base32
8127 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8128 (build-system haskell-build-system)
8129 (arguments
8130 `(#:tests? #f))
8131 (inputs
8132 `(("ghc-monads-tf" ,ghc-monads-tf)))
8133 (home-page "https://john-millikin.com/software/haskell-options/")
8134 (synopsis "Powerful and easy-to-use command-line option parser")
8135 (description
8136 "The @code{options} package lets library and application developers
8137easily work with command-line options.")
8138 (license license:expat)))
8139
8140
8141(define-public ghc-optparse-applicative
8142 (package
8143 (name "ghc-optparse-applicative")
74bf6965 8144 (version "0.14.3.0")
dddbc90c
RV
8145 (source
8146 (origin
8147 (method url-fetch)
8148 (uri (string-append
8149 "https://hackage.haskell.org/package/optparse-applicative"
8150 "/optparse-applicative-" version ".tar.gz"))
8151 (sha256
8152 (base32
74bf6965 8153 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 8154 (build-system haskell-build-system)
74bf6965
TS
8155 (arguments
8156 `(#:cabal-revision
8157 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
8158 (inputs
8159 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8160 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8161 (native-inputs
8162 `(("ghc-quickcheck" ,ghc-quickcheck)))
8163 (home-page "https://github.com/pcapriotti/optparse-applicative")
8164 (synopsis "Utilities and combinators for parsing command line options")
8165 (description "This package provides utilities and combinators for parsing
8166command line options in Haskell.")
8167 (license license:bsd-3)))
8168
d56c8120
NG
8169(define-public ghc-jira-wiki-markup
8170 (package
8171 (name "ghc-jira-wiki-markup")
8172 (version "1.0.0")
8173 (source
8174 (origin
8175 (method url-fetch)
8176 (uri (string-append
8177 "https://hackage.haskell.org/package/jira-wiki-markup/"
8178 "jira-wiki-markup-" version ".tar.gz"))
8179 (sha256
8180 (base32 "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8"))))
8181 (build-system haskell-build-system)
8182 (native-inputs
8183 `(("ghc-tasty" ,ghc-tasty)
8184 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8185 (home-page "https://github.com/tarleb/jira-wiki-markup")
8186 (synopsis "Handle Jira wiki markup")
8187 (description
8188 "Parse jira wiki text into an abstract syntax tree for easy transformation
8189to other formats.")
8190 (license license:expat)))
8191
20690771
NG
8192(define-public ghc-emojis
8193 (package
8194 (name "ghc-emojis")
8195 (version "0.1")
8196 (source
8197 (origin
8198 (method url-fetch)
8199 (uri (string-append
8200 "https://hackage.haskell.org/package/emojis/"
8201 "emojis-" version ".tar.gz"))
8202 (sha256
8203 (base32 "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss"))))
8204 (build-system haskell-build-system)
8205 (native-inputs
8206 `(("ghc-hunit" ,ghc-hunit)))
8207 (home-page "https://github.com/jgm/emojis#readme")
8208 (synopsis "Conversion between emoji characters and their names.")
8209 (description
8210 "This package provides functions for converting emoji names to emoji
8211characters and vice versa.
8212
8213How does it differ from the @code{emoji} package?
8214@itemize
8215@item It supports a fuller range of emojis, including all those supported by
8216GitHub
8217@item It supports lookup of emoji aliases from emoji
8218@item It uses Text rather than String
8219@item It has a lighter dependency footprint: in particular, it does not
8220require aeson
8221@item It does not require TemplateHaskell
8222@end itemize")
8223 (license license:bsd-3)))
8224
e90a06fc
NG
8225(define-public ghc-text-conversions
8226 (package
8227 (name "ghc-text-conversions")
8228 (version "0.3.0")
8229 (source
8230 (origin
8231 (method url-fetch)
8232 (uri (string-append
8233 "https://hackage.haskell.org/package/text-conversions/"
8234 "text-conversions-" version ".tar.gz"))
8235 (sha256
8236 (base32 "089c56vdj9xysqfr1hnvbnrghlg83q6w10xk02gflpsidcpvwmhp"))))
8237 (build-system haskell-build-system)
8238 (inputs
8239 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
8240 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8241 ("ghc-errors" ,ghc-errors)))
8242 (native-inputs
8243 `(("ghc-hspec" ,ghc-hspec)
27b09f3a 8244 ("hspec-discover" ,hspec-discover)))
e90a06fc
NG
8245 (home-page "https://github.com/cjdev/text-conversions#readme")
8246 (synopsis "Safe conversions between textual types")
8247 (description "Safe conversions between textual types")
8248 (license license:isc)))
8249
ba7cbae3
NG
8250(define-public ghc-doclayout
8251 (package
8252 (name "ghc-doclayout")
8253 (version "0.3")
8254 (source
8255 (origin
8256 (method url-fetch)
8257 (uri (string-append
8258 "https://hackage.haskell.org/package/doclayout/"
8259 "doclayout-" version ".tar.gz"))
8260 (sha256
8261 (base32 "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7"))))
8262 (build-system haskell-build-system)
8263 (inputs
8264 `(("ghc-safe" ,ghc-safe)))
8265 (native-inputs
8266 `(("ghc-tasty" ,ghc-tasty)
8267 ("ghc-tasty-golden" ,ghc-tasty-golden)
8268 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8269 (home-page "https://github.com/jgm/doclayout")
8270 (synopsis "Pretty-printing library for laying out text documents")
8271 (description
8272 "doclayout is a pretty-printing library for laying out text documents,
8273with several features not present in pretty-printing libraries designed for
8274code. It was designed for use in @code{Pandoc}.")
8275 (license license:bsd-3)))
8276
dddbc90c
RV
8277(define-public ghc-pandoc
8278 (package
8279 (name "ghc-pandoc")
d9b1567a 8280 (version "2.7.3")
dddbc90c
RV
8281 (source
8282 (origin
8283 (method url-fetch)
8284 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8285 version ".tar.gz"))
d9b1567a
TS
8286 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8287 "ghc-pandoc-fix-latex-test.patch"))
dddbc90c
RV
8288 (sha256
8289 (base32
d9b1567a 8290 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
dddbc90c 8291 (build-system haskell-build-system)
dddbc90c
RV
8292 (inputs
8293 `(("ghc-aeson" ,ghc-aeson)
8294 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8295 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8296 ("ghc-blaze-html" ,ghc-blaze-html)
8297 ("ghc-blaze-markup" ,ghc-blaze-markup)
8298 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8299 ("ghc-data-default" ,ghc-data-default)
dddbc90c
RV
8300 ("ghc-diff" ,ghc-diff)
8301 ("ghc-doctemplates" ,ghc-doctemplates)
8302 ("ghc-executable-path" ,ghc-executable-path)
8303 ("ghc-glob" ,ghc-glob)
8304 ("ghc-haddock-library" ,ghc-haddock-library)
8305 ("ghc-hslua" ,ghc-hslua)
d9b1567a 8306 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
dddbc90c 8307 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
d9b1567a 8308 ("ghc-hsyaml" ,ghc-hsyaml)
dddbc90c
RV
8309 ("ghc-http" ,ghc-http)
8310 ("ghc-http-client" ,ghc-http-client)
8311 ("ghc-http-client-tls" ,ghc-http-client-tls)
8312 ("ghc-http-types" ,ghc-http-types)
d9b1567a 8313 ("ghc-ipynb" ,ghc-ipynb)
dddbc90c
RV
8314 ("ghc-juicypixels" ,ghc-juicypixels)
8315 ("ghc-network" ,ghc-network)
8316 ("ghc-network-uri" ,ghc-network-uri)
dddbc90c
RV
8317 ("ghc-pandoc-types" ,ghc-pandoc-types)
8318 ("ghc-random" ,ghc-random)
8319 ("ghc-scientific" ,ghc-scientific)
8320 ("ghc-sha" ,ghc-sha)
8321 ("ghc-skylighting" ,ghc-skylighting)
8322 ("ghc-split" ,ghc-split)
8323 ("ghc-syb" ,ghc-syb)
8324 ("ghc-tagsoup" ,ghc-tagsoup)
8325 ("ghc-temporary" ,ghc-temporary)
8326 ("ghc-texmath" ,ghc-texmath)
d9b1567a 8327 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
dddbc90c
RV
8328 ("ghc-unordered-containers" ,ghc-unordered-containers)
8329 ("ghc-vector" ,ghc-vector)
8330 ("ghc-xml" ,ghc-xml)
dddbc90c
RV
8331 ("ghc-zip-archive" ,ghc-zip-archive)
8332 ("ghc-zlib" ,ghc-zlib)))
8333 (native-inputs
8334 `(("ghc-tasty" ,ghc-tasty)
8335 ("ghc-tasty-golden" ,ghc-tasty-golden)
8336 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d9b1567a 8337 ("ghc-tasty-lua" ,ghc-tasty-lua)
dddbc90c
RV
8338 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8339 ("ghc-quickcheck" ,ghc-quickcheck)
8340 ("ghc-hunit" ,ghc-hunit)))
8341 (home-page "https://pandoc.org")
8342 (synopsis "Conversion between markup formats")
8343 (description
8344 "Pandoc is a Haskell library for converting from one markup format to
8345another, and a command-line tool that uses this library. It can read and
8346write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8347LaTeX, DocBook, and many more.
8348
8349Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8350definition lists, tables, and other features. A compatibility mode is
8351provided for those who need a drop-in replacement for Markdown.pl.")
8352 (license license:gpl2+)))
8353
8354(define-public ghc-pandoc-citeproc
8355 (package
8356 (name "ghc-pandoc-citeproc")
2da02d09 8357 (version "0.16.2")
dddbc90c
RV
8358 (source
8359 (origin
8360 (method url-fetch)
8361 (uri (string-append "https://hackage.haskell.org/package/"
8362 "pandoc-citeproc/pandoc-citeproc-"
8363 version ".tar.gz"))
8364 (sha256
8365 (base32
2da02d09 8366 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
dddbc90c
RV
8367 (build-system haskell-build-system)
8368 (arguments
8369 `(#:phases
8370 (modify-phases %standard-phases
8371 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8372 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8373 (add-before 'configure 'patch-tests
8374 (lambda _
8375 (substitute* "tests/test-pandoc-citeproc.hs"
8376 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8377 "let allTests = citeprocTests"))))
8378 ;; Tests need to be run after installation.
8379 (delete 'check)
8380 (add-after 'install 'post-install-check
8381 (assoc-ref %standard-phases 'check)))))
8382 (inputs
8383 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8384 ("ghc-pandoc" ,ghc-pandoc)
8385 ("ghc-tagsoup" ,ghc-tagsoup)
8386 ("ghc-aeson" ,ghc-aeson)
8387 ("ghc-vector" ,ghc-vector)
8388 ("ghc-xml-conduit" ,ghc-xml-conduit)
8389 ("ghc-unordered-containers" ,ghc-unordered-containers)
8390 ("ghc-data-default" ,ghc-data-default)
8391 ("ghc-setenv" ,ghc-setenv)
8392 ("ghc-split" ,ghc-split)
8393 ("ghc-yaml" ,ghc-yaml)
8394 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8395 ("ghc-rfc5051" ,ghc-rfc5051)
8396 ("ghc-syb" ,ghc-syb)
8397 ("ghc-old-locale" ,ghc-old-locale)
8398 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8399 ("ghc-attoparsec" ,ghc-attoparsec)
8400 ("ghc-temporary" ,ghc-temporary)))
8401 (home-page "https://github.com/jgm/pandoc-citeproc")
8402 (synopsis "Library for using pandoc with citeproc")
8403 (description
8404 "The @code{pandoc-citeproc} library exports functions for using the
8405citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8406rendering bibliographic reference citations into a variety of styles using a
8407macro language called @dfn{Citation Style Language} (CSL). This package also
8408contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8409and also has a mode for converting bibliographic databases a YAML format
8410suitable for inclusion in pandoc YAML metadata.")
8411 (license license:bsd-3)))
8412
8413(define-public ghc-pandoc-types
8414 (package
8415 (name "ghc-pandoc-types")
0eaa88c8 8416 (version "1.17.6.1")
dddbc90c
RV
8417 (source (origin
8418 (method url-fetch)
8419 (uri (string-append "https://hackage.haskell.org/package/"
8420 "pandoc-types/pandoc-types-"
8421 version ".tar.gz"))
8422 (sha256
8423 (base32
0eaa88c8 8424 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
8425 (build-system haskell-build-system)
8426 (inputs
8427 `(("ghc-syb" ,ghc-syb)
8428 ("ghc-aeson" ,ghc-aeson)
8429 ("ghc-string-qq" ,ghc-string-qq)))
8430 (native-inputs
8431 `(("ghc-quickcheck" ,ghc-quickcheck)
8432 ("ghc-test-framework" ,ghc-test-framework)
8433 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8434 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8435 ("ghc-hunit" ,ghc-hunit)))
8436 (home-page "http://johnmacfarlane.net/pandoc")
8437 (synopsis "Types for representing a structured document")
8438 (description
8439 "This module defines the @code{Pandoc} data structure, which is used by
8440pandoc to represent structured documents. It also provides functions for
8441building up, manipulating and serialising @code{Pandoc} structures.")
8442 (license license:bsd-3)))
8443
8444(define-public ghc-parallel
8445 (package
8446 (name "ghc-parallel")
8447 (version "3.2.2.0")
8448 (outputs '("out" "doc"))
8449 (source
8450 (origin
8451 (method url-fetch)
8452 (uri (string-append
8453 "https://hackage.haskell.org/package/parallel/parallel-"
8454 version
8455 ".tar.gz"))
8456 (sha256
8457 (base32
8458 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8459 (build-system haskell-build-system)
8460 (home-page "https://hackage.haskell.org/package/parallel")
8461 (synopsis "Parallel programming library")
8462 (description
8463 "This package provides a library for parallel programming.")
8464 (license license:bsd-3)))
8465
8466(define-public ghc-parsec-numbers
8467 (package
8468 (name "ghc-parsec-numbers")
8469 (version "0.1.0")
8470 (source
8471 (origin
8472 (method url-fetch)
8473 (uri (string-append "https://hackage.haskell.org/package/"
8474 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8475 (sha256
8476 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8477 (build-system haskell-build-system)
8478 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8479 (synopsis "Utilities for parsing numbers from strings")
8480 (description
8481 "This package provides the number parsers without the need to use a large
8482(and unportable) token parser.")
8483 (license license:bsd-3)))
8484
8485(define-public ghc-parser-combinators
8486 (package
8487 (name "ghc-parser-combinators")
2f173160 8488 (version "1.1.0")
dddbc90c
RV
8489 (source
8490 (origin
8491 (method url-fetch)
8492 (uri (string-append "https://hackage.haskell.org/package/"
8493 "parser-combinators/parser-combinators-"
8494 version ".tar.gz"))
8495 (sha256
8496 (base32
2f173160 8497 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
8498 (build-system haskell-build-system)
8499 (home-page "https://github.com/mrkkrp/parser-combinators")
8500 (synopsis "Commonly useful parser combinators")
8501 (description
8502 "This is a lightweight package providing commonly useful parser
8503combinators.")
8504 (license license:bsd-3)))
8505
8506(define-public ghc-parsers
8507 (package
8508 (name "ghc-parsers")
6818f970 8509 (version "0.12.10")
dddbc90c
RV
8510 (source
8511 (origin
8512 (method url-fetch)
8513 (uri (string-append
8514 "https://hackage.haskell.org/package/parsers/parsers-"
8515 version
8516 ".tar.gz"))
8517 (sha256
8518 (base32
6818f970 8519 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
8520 (build-system haskell-build-system)
8521 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8522 ; -package attoparsec-0.13.0.1"
8523 (inputs
8524 `(("ghc-base-orphans" ,ghc-base-orphans)
8525 ("ghc-attoparsec" ,ghc-attoparsec)
8526 ("ghc-scientific" ,ghc-scientific)
8527 ("ghc-charset" ,ghc-charset)
8528 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8529 (home-page "https://github.com/ekmett/parsers/")
8530 (synopsis "Parsing combinators")
8531 (description "This library provides convenient combinators for working
8532with and building parsing combinator libraries. Given a few simple instances,
8533you get access to a large number of canned definitions. Instances exist for
8534the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8535@code{Text.Read}.")
8536 (license license:bsd-3)))
8537
8538(define-public ghc-path
8539 (package
8540 (name "ghc-path")
8541 (version "0.6.1")
8542 (source
8543 (origin
8544 (method url-fetch)
8545 (uri (string-append
8546 "https://hackage.haskell.org/package/path/path-"
8547 version
8548 ".tar.gz"))
8549 (sha256
8550 (base32
8551 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
8552 (build-system haskell-build-system)
8553 (arguments
8554 ;; TODO: There are some Windows-related tests and modules that need to be
8555 ;; danced around.
8556 `(#:tests? #f
8557 #:cabal-revision
8558 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
8559 (inputs
8560 `(("ghc-aeson" ,ghc-aeson)
8561 ("ghc-exceptions" ,ghc-exceptions)
8562 ("ghc-hashable" ,ghc-hashable)))
8563 (native-inputs
8564 `(("ghc-hspec" ,ghc-hspec)
8565 ("ghc-quickcheck" ,ghc-quickcheck)
8566 ("ghc-genvalidity" ,ghc-genvalidity)
8567 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
8568 ("ghc-hspec" ,ghc-hspec)
8569 ("ghc-validity" ,ghc-validity)))
8570 (home-page
3ef91e15 8571 "https://hackage.haskell.org/package/path")
dddbc90c
RV
8572 (synopsis "Support for well-typed paths")
8573 (description "This package introduces a type for paths upholding useful
8574invariants.")
8575 (license license:bsd-3)))
8576
8577(define-public ghc-path-io
8578 (package
8579 (name "ghc-path-io")
a06613ea 8580 (version "1.4.2")
dddbc90c
RV
8581 (source
8582 (origin
8583 (method url-fetch)
8584 (uri (string-append
8585 "https://hackage.haskell.org/package/path-io/path-io-"
8586 version
8587 ".tar.gz"))
8588 (sha256
8589 (base32
a06613ea 8590 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
8591 (build-system haskell-build-system)
8592 (inputs
8593 `(("ghc-dlist" ,ghc-dlist)
8594 ("ghc-exceptions" ,ghc-exceptions)
8595 ("ghc-path" ,ghc-path)
8596 ("ghc-transformers-base" ,ghc-transformers-base)
8597 ("ghc-unix-compat" ,ghc-unix-compat)
8598 ("ghc-temporary" ,ghc-temporary)))
8599 (native-inputs
8600 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
8601 (home-page
8602 "https://github.com/mrkkrp/path-io")
8603 (synopsis "Functions for manipulating well-typed paths")
8604 (description "This package provides an interface to the @code{directory}
8605package for users of @code{path}. It also implements some missing stuff like
8606recursive scanning and copying of directories, working with temporary
8607files/directories, and more.")
8608 (license license:bsd-3)))
8609
8610(define-public ghc-paths
8611 (package
8612 (name "ghc-paths")
9a8adeb1 8613 (version "0.1.0.12")
dddbc90c
RV
8614 (outputs '("out" "doc"))
8615 (source
8616 (origin
8617 (method url-fetch)
8618 (uri (string-append
8619 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
8620 version
8621 ".tar.gz"))
8622 (sha256
8623 (base32
9a8adeb1 8624 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
8625 (build-system haskell-build-system)
8626 (home-page "https://github.com/simonmar/ghc-paths")
8627 (synopsis
8628 "Knowledge of GHC's installation directories")
8629 (description
8630 "Knowledge of GHC's installation directories.")
8631 (license license:bsd-3)))
8632
8633(define-public ghc-patience
8634 (package
8635 (name "ghc-patience")
484476f3 8636 (version "0.3")
dddbc90c
RV
8637 (source
8638 (origin
8639 (method url-fetch)
8640 (uri (string-append
8641 "https://hackage.haskell.org/package/patience/patience-"
8642 version ".tar.gz"))
8643 (sha256
8644 (base32
484476f3 8645 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
8646 (build-system haskell-build-system)
8647 (home-page "https://hackage.haskell.org/package/patience")
8648 (synopsis "Patience diff and longest increasing subsequence")
8649 (description
8650 "This library implements the 'patience diff' algorithm, as well as the
8651patience algorithm for the longest increasing subsequence problem.
8652Patience diff computes the difference between two lists, for example the lines
8653of two versions of a source file. It provides a good balance between
8654performance, nice output for humans, and simplicity of implementation.")
8655 (license license:bsd-3)))
8656
8657(define-public ghc-pcre-light
8658 (package
8659 (name "ghc-pcre-light")
8660 (version "0.4.0.4")
8661 (source
8662 (origin
8663 (method url-fetch)
8664 (uri (string-append
8665 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
8666 version
8667 ".tar.gz"))
8668 (sha256
8669 (base32
8670 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
8671 (build-system haskell-build-system)
8672 (inputs
8673 `(("pcre" ,pcre)))
8674 (native-inputs
8675 `(("pkg-config" ,pkg-config)))
8676 (home-page "https://github.com/Daniel-Diaz/pcre-light")
8677 (synopsis "Haskell library for Perl 5 compatible regular expressions")
8678 (description "This package provides a small, efficient, and portable regex
8679library for Perl 5 compatible regular expressions. The PCRE library is a set
8680of functions that implement regular expression pattern matching using the same
8681syntax and semantics as Perl 5.")
8682 (license license:bsd-3)))
8683
8684(define-public ghc-persistent
8685 (package
8686 (name "ghc-persistent")
18a38da5 8687 (version "2.9.2")
dddbc90c
RV
8688 (source
8689 (origin
8690 (method url-fetch)
8691 (uri (string-append "https://hackage.haskell.org/package/"
8692 "persistent-" version "/"
8693 "persistent-" version ".tar.gz"))
8694 (sha256
8695 (base32
18a38da5 8696 "1wsa3kn427v88a6r0vwr6mz23snik2krbsgc8zqp18xajqn5szj9"))))
dddbc90c
RV
8697 (build-system haskell-build-system)
8698 (inputs `(("ghc-old-locale" ,ghc-old-locale)
8699 ("ghc-conduit" ,ghc-conduit)
8700 ("ghc-resourcet" ,ghc-resourcet)
8701 ("ghc-exceptions" ,ghc-exceptions)
8702 ("ghc-monad-control" ,ghc-monad-control)
8703 ("ghc-lifted-base" ,ghc-lifted-base)
8704 ("ghc-resource-pool" ,ghc-resource-pool)
8705 ("ghc-path-pieces" ,ghc-path-pieces)
8706 ("ghc-http-api-data" ,ghc-http-api-data)
8707 ("ghc-aeson" ,ghc-aeson)
8708 ("ghc-monad-logger" ,ghc-monad-logger)
8709 ("ghc-transformers-base" ,ghc-transformers-base)
8710 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8711 ("ghc-unordered-containers" ,ghc-unordered-containers)
8712 ("ghc-vector" ,ghc-vector)
8713 ("ghc-attoparsec" ,ghc-attoparsec)
8714 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
8715 ("ghc-blaze-html" ,ghc-blaze-html)
8716 ("ghc-blaze-markup" ,ghc-blaze-markup)
8717 ("ghc-silently" ,ghc-silently)
8718 ("ghc-fast-logger" ,ghc-fast-logger)
8719 ("ghc-scientific" ,ghc-scientific)
8720 ("ghc-tagged" ,ghc-tagged)
8721 ("ghc-void" ,ghc-void)))
8722 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
8723 (home-page "https://www.yesodweb.com/book/persistent")
8724 (synopsis "Type-safe, multi-backend data serialization for Haskell")
8725 (description "This Haskell package allows Haskell programs to access data
8726storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
8727way.")
8728 (license license:expat)))
8729
8730(define-public ghc-persistent-sqlite
8731 (package
8732 (name "ghc-persistent-sqlite")
801fbd7e 8733 (version "2.9.3")
dddbc90c
RV
8734 (source
8735 (origin
8736 (method url-fetch)
8737 (uri (string-append "https://hackage.haskell.org/package/"
8738 "persistent-sqlite-" version "/"
8739 "persistent-sqlite-" version ".tar.gz"))
8740 (sha256
8741 (base32
801fbd7e 8742 "13wbn88ixv4d4dfjl1gabm1q60fbcnygbmixz57pi3z84drrynwq"))))
dddbc90c
RV
8743 (build-system haskell-build-system)
8744 (inputs `(("ghc-persistent" ,ghc-persistent)
8745 ("ghc-unliftio-core" ,ghc-unliftio-core)
8746 ("ghc-aeson" ,ghc-aeson)
8747 ("ghc-conduit" ,ghc-conduit)
8748 ("ghc-monad-logger" ,ghc-monad-logger)
8749 ("ghc-microlens-th" ,ghc-microlens-th)
8750 ("ghc-resourcet" ,ghc-resourcet)
8751 ("ghc-old-locale" ,ghc-old-locale)
8752 ("ghc-resource-pool" ,ghc-resource-pool)
8753 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8754 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8755 ("ghc-persistent-template" ,ghc-persistent-template)
8756 ("ghc-temporary" ,ghc-temporary)))
8757 (home-page
8758 "https://www.yesodweb.com/book/persistent")
8759 (synopsis "Backend for the persistent library using sqlite3")
8760 (description "This Haskell package includes a thin sqlite3 wrapper based
8761on the direct-sqlite package, as well as the entire C library, so there are no
8762system dependencies.")
8763 (license license:expat)))
8764
8765(define-public ghc-persistent-template
8766 (package
8767 (name "ghc-persistent-template")
bc78e0d9 8768 (version "2.6.0")
dddbc90c
RV
8769 (source
8770 (origin
8771 (method url-fetch)
8772 (uri (string-append "https://hackage.haskell.org/package/"
8773 "persistent-template-" version "/"
8774 "persistent-template-" version ".tar.gz"))
8775 (sha256
8776 (base32
bc78e0d9 8777 "0wr1z2nfrl6jv1lprxb0d2jw4izqfcbcwvkdrhryzg95gjz8ryjv"))))
dddbc90c 8778 (build-system haskell-build-system)
dddbc90c
RV
8779 (inputs `(("ghc-persistent" ,ghc-persistent)
8780 ("ghc-monad-control" ,ghc-monad-control)
8781 ("ghc-aeson" ,ghc-aeson)
8782 ("ghc-aeson-compat" ,ghc-aeson-compat)
8783 ("ghc-monad-logger" ,ghc-monad-logger)
8784 ("ghc-unordered-containers" ,ghc-unordered-containers)
8785 ("ghc-tagged" ,ghc-tagged)
8786 ("ghc-path-pieces" ,ghc-path-pieces)
8787 ("ghc-http-api-data" ,ghc-http-api-data)))
8788 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8789 ("ghc-quickcheck" ,ghc-quickcheck)))
8790 (home-page "https://www.yesodweb.com/book/persistent")
8791 (synopsis "Type-safe, non-relational, multi-backend persistence")
8792 (description "This Haskell package provides interfaces and helper
8793functions for the ghc-persistent package.")
8794 (license license:expat)))
8795
4639fa32
ASM
8796(define-public ghc-pipes
8797 (package
8798 (name "ghc-pipes")
8799 (version "4.3.13")
8800 (source
8801 (origin
8802 (method url-fetch)
8803 (uri (string-append
8804 "https://hackage.haskell.org/package/pipes/"
8805 "pipes-" version ".tar.gz"))
8806 (sha256
8807 (base32
8808 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
8809 (build-system haskell-build-system)
8810 (inputs
8811 `(("ghc-exceptions" ,ghc-exceptions)
8812 ("ghc-mmorph" ,ghc-mmorph)
8813 ("ghc-void" ,ghc-void)
8814 ("ghc-semigroups" ,ghc-semigroups)))
8815 (native-inputs
8816 `(("ghc-quickcheck" ,ghc-quickcheck)
8817 ("ghc-test-framework" ,ghc-test-framework)
8818 ("ghc-test-framework-quickcheck2"
8819 ,ghc-test-framework-quickcheck2)))
8820 (home-page
8821 "https://hackage.haskell.org/package/pipes")
8822 (synopsis "Compositional pipelines")
8823 (description
8824 "A clean and powerful stream processing library that lets you build
8825and connect reusable streaming components. Advantages over traditional streaming
8826libraries:
8827@itemize
8828@item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
8829and @code{yield}
8830@item Blazing fast: Implementation tuned for speed, including shortcut fusion
8831@item Lightweight Dependency: pipes is small and compiles very rapidly, including
8832dependencies
8833@item Elegant semantics: Use practical category theory
8834@item ListT: Correct implementation of @code{ListT} that interconverts with pipes
8835@item Bidirectionality: Implement duplex channels
8836@end itemize")
8837 (license license:bsd-3)))
8838
451775a5
ASM
8839(define-public ghc-pointedlist
8840 (package
8841 (name "ghc-pointedlist")
8842 (version "0.6.1")
8843 (source
8844 (origin
8845 (method url-fetch)
8846 (uri (string-append
8847 "https://hackage.haskell.org/package/pointedlist/"
8848 "pointedlist-" version ".tar.gz"))
8849 (sha256
8850 (base32
8851 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
8852 (build-system haskell-build-system)
8853 (home-page
3ef91e15 8854 "https://hackage.haskell.org/package/pointedlist")
451775a5
ASM
8855 (synopsis
8856 "Zipper-like comonad which works as a list, tracking a position")
8857 (description
8858 "A PointedList tracks the position in a non-empty list which works
8859similarly to a zipper. A current item is always required, and therefore
8860the list may never be empty. A circular PointedList wraps around to the
8861other end when progressing past the actual edge.")
8862 (license license:bsd-3)))
8863
dddbc90c
RV
8864(define-public ghc-polyparse
8865 (package
8866 (name "ghc-polyparse")
9822b9ca 8867 (version "1.12.1")
dddbc90c
RV
8868 (source
8869 (origin
8870 (method url-fetch)
8871 (uri (string-append
8872 "https://hackage.haskell.org/package/polyparse/polyparse-"
8873 version
8874 ".tar.gz"))
8875 (sha256
8876 (base32
9822b9ca 8877 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
8878 (build-system haskell-build-system)
8879 (home-page
8880 "http://code.haskell.org/~malcolm/polyparse/")
8881 (synopsis
8882 "Alternative parser combinator libraries")
8883 (description
8884 "This package provides a variety of alternative parser combinator
8885libraries, including the original HuttonMeijer set. The Poly sets have
8886features like good error reporting, arbitrary token type, running state, lazy
8887parsing, and so on. Finally, Text.Parse is a proposed replacement for the
8888standard Read class, for better deserialisation of Haskell values from
8889Strings.")
8890 (license license:lgpl2.1)))
8891
8892(define-public ghc-pqueue
8893 (package
8894 (name "ghc-pqueue")
142415b0 8895 (version "1.4.1.2")
dddbc90c
RV
8896 (source
8897 (origin
8898 (method url-fetch)
8899 (uri (string-append "https://hackage.haskell.org/package/"
8900 "pqueue/pqueue-" version ".tar.gz"))
8901 (sha256
8902 (base32
142415b0 8903 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
8904 (build-system haskell-build-system)
8905 (native-inputs
8906 `(("ghc-quickcheck" ,ghc-quickcheck)))
8907 (home-page "https://hackage.haskell.org/package/pqueue")
8908 (synopsis "Reliable, persistent, fast priority queues")
8909 (description
8910 "This package provides a fast, reliable priority queue implementation
8911based on a binomial heap.")
8912 (license license:bsd-3)))
8913
8914(define-public ghc-prelude-extras
8915 (package
8916 (name "ghc-prelude-extras")
8917 (version "0.4.0.3")
8918 (source
8919 (origin
8920 (method url-fetch)
8921 (uri (string-append
8922 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
8923 version
8924 ".tar.gz"))
8925 (sha256
8926 (base32
8927 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
8928 (build-system haskell-build-system)
8929 (home-page "https://github.com/ekmett/prelude-extras")
8930 (synopsis "Higher order versions of Prelude classes")
8931 (description "This library provides higher order versions of
8932@code{Prelude} classes to ease programming with polymorphic recursion and
8933reduce @code{UndecidableInstances}.")
8934 (license license:bsd-3)))
8935
8936(define-public ghc-prettyclass
8937 (package
8938 (name "ghc-prettyclass")
8939 (version "1.0.0.0")
8940 (source
8941 (origin
8942 (method url-fetch)
8943 (uri (string-append "https://hackage.haskell.org/package/"
8944 "prettyclass/prettyclass-" version ".tar.gz"))
8945 (sha256
8946 (base32
8947 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
8948 (build-system haskell-build-system)
3ef91e15 8949 (home-page "https://hackage.haskell.org/package/prettyclass")
dddbc90c
RV
8950 (synopsis "Pretty printing class similar to Show")
8951 (description "This package provides a pretty printing class similar
8952to @code{Show}, based on the HughesPJ pretty printing library. It
8953provides the pretty printing class and instances for the Prelude
8954types.")
8955 (license license:bsd-3)))
8956
8957(define-public ghc-pretty-hex
8958 (package
8959 (name "ghc-pretty-hex")
8960 (version "1.0")
8961 (source
8962 (origin
8963 (method url-fetch)
8964 (uri (string-append "https://hackage.haskell.org/package/"
8965 "pretty-hex-" version "/"
8966 "pretty-hex-" version ".tar.gz"))
8967 (sha256
8968 (base32
8969 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
8970 (build-system haskell-build-system)
8971 (home-page "https://github.com/GaloisInc/hexdump")
8972 (synopsis "Haskell library for hex dumps of ByteStrings")
8973 (description "This Haskell library generates pretty hex dumps of
8974ByteStrings in the style of other common *nix hex dump tools.")
8975 (license license:bsd-3)))
8976
8977(define-public ghc-pretty-show
8978 (package
8979 (name "ghc-pretty-show")
7683a084 8980 (version "1.9.5")
dddbc90c
RV
8981 (source
8982 (origin
8983 (method url-fetch)
8984 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
8985 "pretty-show-" version ".tar.gz"))
8986 (sha256
8987 (base32
7683a084 8988 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
8989 (build-system haskell-build-system)
8990 (inputs
8991 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
8992 ("ghc-happy" ,ghc-happy)))
8993 (home-page "http://wiki.github.com/yav/pretty-show")
8994 (synopsis "Tools for working with derived `Show` instances")
8995 (description
8996 "This package provides a library and an executable for working with
8997derived @code{Show} instances. By using the library, derived @code{Show}
8998instances can be parsed into a generic data structure. The @code{ppsh} tool
8999uses the library to produce human-readable versions of @code{Show} instances,
9000which can be quite handy for debugging Haskell programs. We can also render
9001complex generic values into an interactive Html page, for easier
9002examination.")
9003 (license license:expat)))
9004
9005(define-public ghc-primitive
9006 (package
9007 (name "ghc-primitive")
9008 (version "0.6.4.0")
9009 (outputs '("out" "doc"))
9010 (source
9011 (origin
9012 (method url-fetch)
9013 (uri (string-append
9014 "https://hackage.haskell.org/package/primitive/primitive-"
9015 version
9016 ".tar.gz"))
9017 (sha256
9018 (base32
9019 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
9020 (build-system haskell-build-system)
6cf0daa4
TS
9021 (arguments
9022 `(#:cabal-revision
9023 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
9024 (home-page
9025 "https://github.com/haskell/primitive")
9026 (synopsis "Primitive memory-related operations")
9027 (description
9028 "This package provides various primitive memory-related operations.")
9029 (license license:bsd-3)))
9030
21f5b9a9
JS
9031(define-public ghc-process-extras
9032 (package
9033 (name "ghc-process-extras")
9034 (version "0.7.4")
9035 (source
9036 (origin
9037 (method url-fetch)
9038 (uri
9039 (string-append
9040 "https://hackage.haskell.org/package/process-extras/"
9041 "process-extras-" version ".tar.gz"))
9042 (sha256
9043 (base32
9044 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
9045 (build-system haskell-build-system)
9046 (inputs
9047 `(("ghc-data-default" ,ghc-data-default)
9048 ("ghc-generic-deriving" ,ghc-generic-deriving)
9049 ("ghc-hunit" ,ghc-hunit)
9050 ("ghc-listlike" ,ghc-listlike)))
9051 (home-page "https://github.com/seereason/process-extras")
9052 (synopsis "Extra tools for managing processes")
f74b6983 9053 (description "This package extends
21f5b9a9
JS
9054@url{http://hackage.haskell.org/package/process}. It allows you to read
9055process input and output as ByteStrings or Text, or write your own
9056ProcessOutput instance. It also provides lazy process input and output,
9057and a ProcessMaker class for more flexibility in the process creation
9058API.")
9059 (license license:expat)))
9060
dddbc90c
RV
9061(define-public ghc-profunctors
9062 (package
9063 (name "ghc-profunctors")
899b5297 9064 (version "5.3")
dddbc90c
RV
9065 (source
9066 (origin
9067 (method url-fetch)
9068 (uri (string-append
9069 "https://hackage.haskell.org/package/profunctors/profunctors-"
9070 version
9071 ".tar.gz"))
9072 (sha256
9073 (base32
899b5297 9074 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 9075 (build-system haskell-build-system)
dddbc90c
RV
9076 (inputs
9077 `(("ghc-base-orphans" ,ghc-base-orphans)
9078 ("ghc-bifunctors" ,ghc-bifunctors)
9079 ("ghc-comonad" ,ghc-comonad)
9080 ("ghc-contravariant" ,ghc-contravariant)
9081 ("ghc-distributive" ,ghc-distributive)
9082 ("ghc-semigroups" ,ghc-semigroups)
9083 ("ghc-tagged" ,ghc-tagged)))
9084 (home-page "https://github.com/ekmett/profunctors/")
9085 (synopsis "Profunctors for Haskell")
9086 (description "This library provides profunctors for Haskell.")
9087 (license license:bsd-3)))
9088
9089(define-public ghc-psqueues
9090 (package
9091 (name "ghc-psqueues")
5d133942 9092 (version "0.2.7.2")
dddbc90c
RV
9093 (source
9094 (origin
9095 (method url-fetch)
9096 (uri (string-append "https://hackage.haskell.org/package/"
9097 "psqueues-" version "/"
9098 "psqueues-" version ".tar.gz"))
9099 (sha256
9100 (base32
5d133942 9101 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
9102 (build-system haskell-build-system)
9103 (inputs
9104 `(("ghc-hashable" ,ghc-hashable)))
9105 (native-inputs
9106 `(("ghc-hunit" ,ghc-hunit)
9107 ("ghc-quickcheck" ,ghc-quickcheck)
9108 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
9109 ("ghc-tasty" ,ghc-tasty)
9110 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9111 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
9112 (home-page "https://github.com/jaspervdj/psqueues")
9113 (synopsis "Pure priority search queues")
9114 (description "The psqueues package provides
9115@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
9116three different flavors:
9117
9118@itemize
9119@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
9120fast insertion, deletion and lookup. This implementation is based on Ralf
9121Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
9122Implementation Technique for Priority Search Queues}.
9123
9124Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
9125PSQueue} library, although it is considerably faster and provides a slightly
9126different API.
9127
9128@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
9129key type to @code{Int} and uses a
9130@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
9131with an additional min-heap property.
9132
9133@item @code{HashPSQ k p v} is a fairly straightforward extension
9134of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
9135@code{IntPSQ}. If there are any hash collisions, it uses an
9136@code{OrdPSQ} to resolve those. The performance of this implementation
9137is comparable to that of @code{IntPSQ}, but it is more widely
9138applicable since the keys are not restricted to @code{Int},
9139but rather to any @code{Hashable} datatype.
9140@end itemize
9141
9142Each of the three implementations provides the same API, so they can
9143be used interchangeably.
9144
9145Typical applications of Priority Search Queues include:
9146
9147@itemize
9148@item Caches, and more specifically LRU Caches;
9149@item Schedulers;
9150@item Pathfinding algorithms, such as Dijkstra's and A*.
9151@end itemize")
9152 (license license:bsd-3)))
9153
9154(define-public ghc-random
9155 (package
9156 (name "ghc-random")
9157 (version "1.1")
9158 (outputs '("out" "doc"))
9159 (source
9160 (origin
9161 (method url-fetch)
9162 (uri (string-append
9163 "https://hackage.haskell.org/package/random/random-"
9164 version
9165 ".tar.gz"))
9166 (sha256
9167 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
9168 (build-system haskell-build-system)
9169 (home-page "https://hackage.haskell.org/package/random")
9170 (synopsis "Random number library")
9171 (description "This package provides a basic random number generation
9172library, including the ability to split random number generators.")
9173 (license license:bsd-3)))
9174
9175(define-public ghc-raw-strings-qq
9176 (package
9177 (name "ghc-raw-strings-qq")
9178 (version "1.1")
9179 (source
9180 (origin
9181 (method url-fetch)
9182 (uri (string-append "https://hackage.haskell.org/package/"
9183 "raw-strings-qq/raw-strings-qq-"
9184 version ".tar.gz"))
9185 (sha256
9186 (base32
9187 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9188 (build-system haskell-build-system)
9189 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
9190 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9191 (synopsis "Raw string literals for Haskell")
9192 (description
9193 "This package provides a quasiquoter for raw string literals, i.e. string
9194literals that don't recognise the standard escape sequences. Basically, they
9195make your code more readable by freeing you from the responsibility to escape
9196backslashes. They are useful when working with regular expressions,
9197DOS/Windows paths and markup languages (such as XML).")
9198 (license license:bsd-3)))
9199
9200(define-public ghc-readable
9201 (package
9202 (name "ghc-readable")
9203 (version "0.3.1")
9204 (source
9205 (origin
9206 (method url-fetch)
9207 (uri (string-append "https://hackage.haskell.org/package/"
9208 "readable/readable-" version ".tar.gz"))
9209 (sha256
9210 (base32
9211 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
9212 (build-system haskell-build-system)
9213 (home-page "https://github.com/mightybyte/readable")
9214 (synopsis "Type class for reading from Text and ByteString")
9215 (description "This package provides a @code{Readable} type class for
9216reading data types from @code{ByteString} and @code{Text}. It also
9217includes efficient implementations for common data types.")
9218 (license license:bsd-3)))
9219
9220(define-public ghc-rebase
9221 (package
9222 (name "ghc-rebase")
8d2ae3fe 9223 (version "1.3.1.1")
dddbc90c
RV
9224 (source
9225 (origin
9226 (method url-fetch)
9227 (uri (string-append "https://hackage.haskell.org/package/"
9228 "rebase-" version "/"
9229 "rebase-" version ".tar.gz"))
9230 (sha256
9231 (base32
8d2ae3fe 9232 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
9233 (build-system haskell-build-system)
9234 (inputs `(("ghc-hashable" ,ghc-hashable)
9235 ("ghc-vector" ,ghc-vector)
9236 ("ghc-unordered-containers" ,ghc-unordered-containers)
9237 ("ghc-scientific" ,ghc-scientific)
9238 ("ghc-uuid" ,ghc-uuid)
9239 ("ghc-dlist" ,ghc-dlist)
9240 ("ghc-void" ,ghc-void)
9241 ("ghc-bifunctors" ,ghc-bifunctors)
9242 ("ghc-profunctors" ,ghc-profunctors)
9243 ("ghc-contravariant" ,ghc-contravariant)
9244 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
9245 ("ghc-semigroups" ,ghc-semigroups)
9246 ("ghc-either" ,ghc-either)
9247 ("ghc-fail" ,ghc-fail)
9248 ("ghc-base-prelude" ,ghc-base-prelude)))
9249 (home-page "https://github.com/nikita-volkov/rebase")
9250 (synopsis "Progressive alternative to the base package
9251for Haskell")
9252 (description "This Haskell package is intended for those who are
9253tired of keeping long lists of dependencies to the same essential libraries
9254in each package as well as the endless imports of the same APIs all over again.
9255
9256It also supports the modern tendencies in the language.
9257
9258To solve those problems this package does the following:
9259
9260@itemize
9261@item Reexport the original APIs under the @code{Rebase} namespace.
9262
9263@item Export all the possible non-conflicting symbols from the
9264@code{Rebase.Prelude} module.
9265
9266@item Give priority to the modern practices in the conflicting cases.
9267@end itemize
9268
9269The policy behind the package is only to reexport the non-ambiguous and
9270non-controversial APIs, which the community has obviously settled on.
9271The package is intended to rapidly evolve with the contribution from
9272the community, with the missing features being added with pull-requests.")
9273 (license license:expat)))
9274
9275(define-public ghc-reducers
9276 (package
9277 (name "ghc-reducers")
9278 (version "3.12.3")
9279 (source
9280 (origin
9281 (method url-fetch)
9282 (uri (string-append
9283 "https://hackage.haskell.org/package/reducers/reducers-"
9284 version
9285 ".tar.gz"))
9286 (sha256
9287 (base32
9288 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
9289 (build-system haskell-build-system)
9290 (inputs
9291 `(("ghc-fingertree" ,ghc-fingertree)
9292 ("ghc-hashable" ,ghc-hashable)
9293 ("ghc-unordered-containers" ,ghc-unordered-containers)
9294 ("ghc-semigroupoids" ,ghc-semigroupoids)
9295 ("ghc-semigroups" ,ghc-semigroups)))
9296 (home-page "https://github.com/ekmett/reducers/")
9297 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
9298 (description "This library provides various semigroups, specialized
9299containers and a general map/reduce framework for Haskell.")
9300 (license license:bsd-3)))
9301
9302(define-public ghc-refact
9303 (package
9304 (name "ghc-refact")
9305 (version "0.3.0.2")
9306 (source
9307 (origin
9308 (method url-fetch)
9309 (uri (string-append "https://hackage.haskell.org/package/"
9310 "refact/refact-"
9311 version ".tar.gz"))
9312 (sha256
9313 (base32
9314 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
9315 (build-system haskell-build-system)
3ef91e15 9316 (home-page "https://hackage.haskell.org/package/refact")
dddbc90c
RV
9317 (synopsis "Specify refactorings to perform with apply-refact")
9318 (description
9319 "This library provides a datatype which can be interpreted by
9320@code{apply-refact}. It exists as a separate library so that applications can
9321specify refactorings without depending on GHC.")
9322 (license license:bsd-3)))
9323
9324(define-public ghc-reflection
9325 (package
9326 (name "ghc-reflection")
d215f1cc 9327 (version "2.1.5")
dddbc90c
RV
9328 (source
9329 (origin
9330 (method url-fetch)
9331 (uri (string-append
9332 "https://hackage.haskell.org/package/reflection/reflection-"
9333 version
9334 ".tar.gz"))
9335 (sha256
9336 (base32
d215f1cc 9337 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
9338 (build-system haskell-build-system)
9339 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
9340 (native-inputs
9341 `(("ghc-hspec" ,ghc-hspec)
9342 ("ghc-quickcheck" ,ghc-quickcheck)
9343 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
9344 (home-page "https://github.com/ekmett/reflection")
9345 (synopsis "Reify arbitrary terms into types that can be reflected back
9346into terms")
9347 (description "This package addresses the 'configuration problem' which is
9348propagating configurations that are available at run-time, allowing multiple
9349configurations to coexist without resorting to mutable global variables or
9350@code{System.IO.Unsafe.unsafePerformIO}.")
9351 (license license:bsd-3)))
9352
9353(define-public ghc-regex
9354 (package
9355 (name "ghc-regex")
b9a5e634 9356 (version "1.0.2.0")
dddbc90c
RV
9357 (source
9358 (origin
9359 (method url-fetch)
9360 (uri (string-append "https://hackage.haskell.org/package/regex/"
9361 "regex-" version ".tar.gz"))
9362 (sha256
9363 (base32
b9a5e634 9364 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
9365 (build-system haskell-build-system)
9366 (arguments
9367 `(#:phases
9368 (modify-phases %standard-phases
9369 (add-after 'unpack 'relax-dependencies
9370 (lambda _
9371 (substitute* "regex.cabal"
9372 (("base-compat.*>=.*0.6.*")
9373 "base-compat >= 0.6\n")
9374 (("template-haskell.*>=.*2.7.*")
9375 "template-haskell >= 2.7\n"))
9376 #t)))))
9377 (inputs
9378 `(("ghc-base-compat" ,ghc-base-compat)
9379 ("ghc-hashable" ,ghc-hashable)
9380 ("ghc-regex-base" ,ghc-regex-base)
9381 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9382 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
9383 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
9384 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
9385 ("ghc-unordered-containers" ,ghc-unordered-containers)
9386 ("ghc-utf8-string" ,ghc-utf8-string)))
9387 (home-page "http://regex.uk")
9388 (synopsis "Toolkit for regex-base")
9389 (description
9390 "This package provides a regular expression toolkit for @code{regex-base}
9391with compile-time checking of regular expression syntax, data types for
9392matches and captures, a text replacement toolkit, portable options, high-level
9393AWK-like tools for building text processing apps, regular expression macros
9394with parsers and test bench, comprehensive documentation, tutorials and
9395copious examples.")
9396 (license license:bsd-3)))
9397
9398(define-public ghc-regex-applicative
9399 (package
9400 (name "ghc-regex-applicative")
30f60e42 9401 (version "0.3.3.1")
dddbc90c
RV
9402 (source
9403 (origin
9404 (method url-fetch)
9405 (uri (string-append
9406 "https://hackage.haskell.org/package/regex-applicative/"
9407 "regex-applicative-" version ".tar.gz"))
9408 (sha256
9409 (base32
30f60e42 9410 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
9411 (build-system haskell-build-system)
9412 (inputs
9413 `(("ghc-smallcheck" ,ghc-smallcheck)
9414 ("ghc-tasty" ,ghc-tasty)
9415 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9416 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9417 (home-page "https://github.com/feuerbach/regex-applicative")
9418 (synopsis "Regex-based parsing with applicative interface")
9419 (description
9420 "@code{regex-applicative} is a Haskell library for parsing using
9421regular expressions. Parsers can be built using Applicative interface.")
9422 (license license:expat)))
9423
9424(define-public ghc-regex-base
9425 (package
9426 (name "ghc-regex-base")
9427 (version "0.93.2")
9428 (source
9429 (origin
9430 (method url-fetch)
9431 (uri (string-append
9432 "https://hackage.haskell.org/package/regex-base/regex-base-"
9433 version
9434 ".tar.gz"))
9435 (sha256
9436 (base32
9437 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
9438 (build-system haskell-build-system)
9439 (home-page
9440 "https://sourceforge.net/projects/lazy-regex")
9441 (synopsis "Replaces/Enhances Text.Regex")
9442 (description "@code{Text.Regex.Base} provides the interface API for
9443regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
9444 (license license:bsd-3)))
9445
9446(define-public ghc-regex-compat
9447 (package
9448 (name "ghc-regex-compat")
9449 (version "0.95.1")
9450 (source
9451 (origin
9452 (method url-fetch)
9453 (uri (string-append
9454 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
9455 version
9456 ".tar.gz"))
9457 (sha256
9458 (base32
9459 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
9460 (build-system haskell-build-system)
9461 (inputs
9462 `(("ghc-regex-base" ,ghc-regex-base)
9463 ("ghc-regex-posix" ,ghc-regex-posix)))
9464 (home-page "https://sourceforge.net/projects/lazy-regex")
9465 (synopsis "Replaces/Enhances Text.Regex")
9466 (description "This library provides one module layer over
9467@code{regex-posix} to replace @code{Text.Regex}.")
9468 (license license:bsd-3)))
9469
9470(define-public ghc-regex-compat-tdfa
9471 (package
9472 (name "ghc-regex-compat-tdfa")
9473 (version "0.95.1.4")
9474 (source
9475 (origin
9476 (method url-fetch)
9477 (uri (string-append
9478 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
9479 version ".tar.gz"))
9480 (sha256
9481 (base32
9482 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
9483 (build-system haskell-build-system)
9484 (inputs
9485 `(("ghc-regex-base" ,ghc-regex-base)
9486 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9487 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
9488 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
9489 (description
9490 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
9491@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
9492This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
9493this problem.")
9494 (license license:bsd-3)))
9495
9496(define-public ghc-regex-pcre-builtin
9497 (package
9498 (name "ghc-regex-pcre-builtin")
ee946143 9499 (version "0.94.5.8.8.35")
dddbc90c
RV
9500 (source (origin
9501 (method url-fetch)
9502 (uri (string-append "https://hackage.haskell.org/package/"
9503 "regex-pcre-builtin/regex-pcre-builtin-"
9504 version ".tar.gz"))
9505 (sha256
9506 (base32
ee946143 9507 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
9508 (build-system haskell-build-system)
9509 (inputs
9510 `(("ghc-regex-base" ,ghc-regex-base)))
9511 (home-page "https://hackage.haskell.org/package/regex-pcre")
9512 (synopsis "Enhancement of the builtin Text.Regex library")
9513 (description
9514 "This package is an enhancement of the @code{Text.Regex} library,
9515providing the PCRE backend to accompany regex-base, with bundled code from
9516@url{https://www.pcre.org}.")
9517 (license license:bsd-3)))
9518
9519(define-public ghc-regex-posix
9520 (package
9521 (name "ghc-regex-posix")
9522 (version "0.95.2")
9523 (source
9524 (origin
9525 (method url-fetch)
9526 (uri (string-append
9527 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
9528 version
9529 ".tar.gz"))
9530 (sha256
9531 (base32
9532 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
9533 (build-system haskell-build-system)
9534 (inputs
9535 `(("ghc-regex-base" ,ghc-regex-base)))
9536 (home-page "https://sourceforge.net/projects/lazy-regex")
9537 (synopsis "POSIX regular expressions for Haskell")
9538 (description "This library provides the POSIX regex backend used by the
9539Haskell library @code{regex-base}.")
9540 (license license:bsd-3)))
9541
9542(define-public ghc-regex-tdfa
9543 (package
9544 (name "ghc-regex-tdfa")
ce684db0 9545 (version "1.2.3.2")
dddbc90c
RV
9546 (source
9547 (origin
9548 (method url-fetch)
9549 (uri (string-append
9550 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
9551 version ".tar.gz"))
9552 (sha256
9553 (base32
ce684db0 9554 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
9555 (build-system haskell-build-system)
9556 (inputs
9557 `(("ghc-regex-base" ,ghc-regex-base)))
9558 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
9559 (synopsis "POSIX extended regular expressions in Haskell.")
9560 (description
9561 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
9562extended regular expressions. It is a \"tagged\" DFA regex engine. It is
9563inspired by libtre.")
9564 (license license:bsd-3)))
9565
9566(define-public ghc-regex-tdfa-text
9567 (package
9568 (name "ghc-regex-tdfa-text")
9569 (version "1.0.0.3")
9570 (source
9571 (origin
9572 (method url-fetch)
9573 (uri (string-append
9574 "https://hackage.haskell.org/package/regex-tdfa-text/"
9575 "regex-tdfa-text-" version ".tar.gz"))
9576 (sha256
9577 (base32
9578 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
9579 (build-system haskell-build-system)
9580 (inputs
9581 `(("ghc-regex-base" ,ghc-regex-base)
9582 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9583 (home-page
3ef91e15 9584 "https://hackage.haskell.org/package/regex-tdfa-text")
dddbc90c
RV
9585 (synopsis "Text interface for regex-tdfa")
9586 (description
9587 "This provides an extra text interface for regex-tdfa.")
9588 (license license:bsd-3)))
9589
9590(define-public ghc-rerebase
9591 (package
9592 (name "ghc-rerebase")
cdec7b8c 9593 (version "1.3.1.1")
dddbc90c
RV
9594 (source
9595 (origin
9596 (method url-fetch)
9597 (uri (string-append
9598 "https://hackage.haskell.org/package/rerebase/rerebase-"
9599 version ".tar.gz"))
9600 (sha256
9601 (base32
cdec7b8c 9602 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
9603 (build-system haskell-build-system)
9604 (inputs
9605 `(("ghc-rebase" ,ghc-rebase)))
9606 (home-page "https://github.com/nikita-volkov/rerebase")
9607 (synopsis "Reexports from ``base'' with many other standard libraries")
9608 (description "A rich drop-in replacement for @code{base}. For details and
9609documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
9610the project's home page}.")
9611 (license license:expat)))
9612
9613(define-public ghc-resolv
9614 (package
9615 (name "ghc-resolv")
87309478 9616 (version "0.1.1.2")
dddbc90c
RV
9617 (source
9618 (origin
9619 (method url-fetch)
9620 (uri (string-append
9621 "https://hackage.haskell.org/package/resolv/resolv-"
9622 version ".tar.gz"))
9623 (sha256
9624 (base32
87309478 9625 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
dddbc90c
RV
9626 (build-system haskell-build-system)
9627 (arguments
87309478
TS
9628 `(#:phases
9629 (modify-phases %standard-phases
9630 (add-before 'configure 'update-constraints
9631 (lambda _
9632 (substitute* "resolv.cabal"
9633 (("tasty >= 1\\.1 && < 1\\.2")
9634 "tasty >= 1.1 && < 1.3"))
9635 #t)))))
dddbc90c
RV
9636 (inputs
9637 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
87309478
TS
9638 (native-inputs
9639 `(("ghc-tasty" ,ghc-tasty)
9640 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
9641 (home-page "https://github.com/haskell/hackage-security")
9642 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
9643 (description "This package implements an API for accessing the
9644@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
9645resolver service via the standard @code{libresolv} system library (whose
9646API is often available directly via the standard @code{libc} C library) on
9647Unix systems.")
9648 (license license:gpl3)))
9649
9650(define-public ghc-resource-pool
9651 (package
9652 (name "ghc-resource-pool")
9653 (version "0.2.3.2")
9654 (source
9655 (origin
9656 (method url-fetch)
9657 (uri (string-append "https://hackage.haskell.org/package/"
9658 "resource-pool-" version "/"
9659 "resource-pool-" version ".tar.gz"))
9660 (sha256
9661 (base32
9662 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
9663 (build-system haskell-build-system)
9664 (inputs `(("ghc-hashable" ,ghc-hashable)
9665 ("ghc-monad-control" ,ghc-monad-control)
9666 ("ghc-transformers-base" ,ghc-transformers-base)
9667 ("ghc-vector" ,ghc-vector)))
9668 (home-page "https://github.com/bos/pool")
9669 (synopsis "Striped resource pooling implementation in Haskell")
9670 (description "This Haskell package provides striped pooling abstraction
9671for managing flexibly-sized collections of resources such as database
9672connections.")
9673 (license license:bsd-3)))
9674
9675(define-public ghc-resourcet
9676 (package
9677 (name "ghc-resourcet")
9ac341ac 9678 (version "1.2.2")
dddbc90c
RV
9679 (source
9680 (origin
9681 (method url-fetch)
9682 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
9683 "resourcet-" version ".tar.gz"))
9684 (sha256
9685 (base32
9ac341ac 9686 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
9687 (build-system haskell-build-system)
9688 (inputs
9689 `(("ghc-transformers-base" ,ghc-transformers-base)
9690 ("ghc-monad-control" ,ghc-monad-control)
9691 ("ghc-transformers-compat" ,ghc-transformers-compat)
9692 ("ghc-mmorph" ,ghc-mmorph)
9693 ("ghc-exceptions" ,ghc-exceptions)
9694 ("ghc-unliftio-core" ,ghc-unliftio-core)))
9695 (native-inputs
9696 `(("ghc-lifted-base" ,ghc-lifted-base)
9697 ("ghc-hspec" ,ghc-hspec)))
9698 (home-page "https://github.com/snoyberg/conduit")
9699 (synopsis "Deterministic allocation and freeing of scarce resources")
9700 (description "ResourceT is a monad transformer which creates a region of
9701code where you can safely allocate resources.")
9702 (license license:bsd-3)))
9703
b9debc37
TS
9704(define-public ghc-retry
9705 (package
9706 (name "ghc-retry")
9707 (version "0.8.1.0")
9708 (source
9709 (origin
9710 (method url-fetch)
9711 (uri (string-append "https://hackage.haskell.org/package/"
9712 "retry/retry-" version ".tar.gz"))
9713 (sha256
9714 (base32
9715 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
9716 (build-system haskell-build-system)
9717 (inputs
9718 `(("ghc-exceptions" ,ghc-exceptions)
9719 ("ghc-random" ,ghc-random)))
9720 (native-inputs
9721 `(("ghc-hunit" ,ghc-hunit)
9722 ("ghc-tasty" ,ghc-tasty)
9723 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9724 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
9725 ("ghc-hedgehog" ,ghc-hedgehog)))
9726 (home-page "http://github.com/Soostone/retry")
9727 (synopsis "Retry combinators for monadic actions that may fail")
9728 (description "This package exposes combinators that can wrap
9729arbitrary monadic actions. They run the action and potentially retry
9730running it with some configurable delay for a configurable number of
9731times. The purpose is to make it easier to work with IO and especially
9732network IO actions that often experience temporary failure and warrant
9733retrying of the original action. For example, a database query may time
9734out for a while, in which case we should hang back for a bit and retry
9735the query instead of simply raising an exception.")
9736 (license license:bsd-3)))
9737
dddbc90c
RV
9738(define-public ghc-rfc5051
9739 (package
9740 (name "ghc-rfc5051")
ec42ab7c 9741 (version "0.1.0.4")
dddbc90c
RV
9742 (source
9743 (origin
9744 (method url-fetch)
9745 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
9746 "rfc5051-" version ".tar.gz"))
9747 (sha256
9748 (base32
ec42ab7c 9749 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
9750 (build-system haskell-build-system)
9751 (home-page "https://hackage.haskell.org/package/rfc5051")
9752 (synopsis "Simple unicode collation as per RFC5051")
9753 (description
9754 "This library implements @code{unicode-casemap}, the simple, non
9755locale-sensitive unicode collation algorithm described in RFC 5051. Proper
9756unicode collation can be done using @code{text-icu}, but that is a big
9757dependency that depends on a large C library, and @code{rfc5051} might be
9758better for some purposes.")
9759 (license license:bsd-3)))
9760
9761(define-public ghc-rio
9762 (package
9763 (name "ghc-rio")
8bda2fa7 9764 (version "0.1.12.0")
dddbc90c
RV
9765 (source
9766 (origin
9767 (method url-fetch)
9768 (uri (string-append
9769 "https://hackage.haskell.org/package/rio/rio-"
9770 version ".tar.gz"))
9771 (sha256
9772 (base32
8bda2fa7 9773 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
9774 (build-system haskell-build-system)
9775 (inputs
9776 `(("ghc-exceptions" ,ghc-exceptions)
9777 ("ghc-hashable" ,ghc-hashable)
9778 ("ghc-microlens" ,ghc-microlens)
9779 ("ghc-primitive" ,ghc-primitive)
9780 ("ghc-typed-process" ,ghc-typed-process)
9781 ("ghc-unliftio" ,ghc-unliftio)
9782 ("ghc-unordered-containers" ,ghc-unordered-containers)
9783 ("ghc-vector" ,ghc-vector)))
9784 (native-inputs
9785 `(("ghc-hspec" ,ghc-hspec)
9786 ("hspec-discover" ,hspec-discover)))
9787 (home-page "https://github.com/commercialhaskell/rio#readme")
9788 (synopsis "A standard library for Haskell")
9789 (description "This package works as a prelude replacement for Haskell,
9790providing more functionality and types out of the box than the standard
9791prelude (such as common data types like @code{ByteString} and
9792@code{Text}), as well as removing common ``gotchas'', like partial
9793functions and lazy I/O. The guiding principle here is:
9794@itemize
9795@item If something is safe to use in general and has no expected naming
9796conflicts, expose it.
9797@item If something should not always be used, or has naming conflicts,
9798expose it from another module in the hierarchy.
9799@end itemize")
9800 (license license:expat)))
9801
9802(define-public ghc-safe
9803 (package
9804 (name "ghc-safe")
9805 (version "0.3.17")
9806 (source
9807 (origin
9808 (method url-fetch)
9809 (uri (string-append
9810 "https://hackage.haskell.org/package/safe/safe-"
9811 version
9812 ".tar.gz"))
9813 (sha256
9814 (base32
9815 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
9816 (build-system haskell-build-system)
9817 (native-inputs
9818 `(("ghc-quickcheck" ,ghc-quickcheck)))
9819 (home-page "https://github.com/ndmitchell/safe#readme")
9820 (synopsis "Library of safe (exception free) functions")
9821 (description "This library provides wrappers around @code{Prelude} and
9822@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
9823exceptions.")
9824 (license license:bsd-3)))
9825
9826(define-public ghc-safe-exceptions
9827 (package
9828 (name "ghc-safe-exceptions")
9829 (version "0.1.7.0")
9830 (source
9831 (origin
9832 (method url-fetch)
9833 (uri (string-append "https://hackage.haskell.org/package/"
9834 "safe-exceptions/safe-exceptions-"
9835 version ".tar.gz"))
9836 (sha256
9837 (base32
9838 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
9839 (build-system haskell-build-system)
9840 (arguments
9841 '(#:cabal-revision
9842 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
9843 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
9844 (native-inputs
9845 `(("ghc-hspec" ,ghc-hspec)
9846 ("ghc-void" ,ghc-void)
9847 ("hspec-discover" ,hspec-discover)))
9848 (home-page "https://github.com/fpco/safe-exceptions")
9849 (synopsis "Safe, consistent, and easy exception handling")
9850 (description "Runtime exceptions - as exposed in @code{base} by the
9851@code{Control.Exception} module - have long been an intimidating part of the
9852Haskell ecosystem. This package is intended to overcome this. It provides a
9853safe and simple API on top of the existing exception handling machinery. The
9854API is equivalent to the underlying implementation in terms of power but
9855encourages best practices to minimize the chances of getting the exception
9856handling wrong.")
9857 (license license:expat)))
9858
9859(define-public ghc-safeio
9860 (package
9861 (name "ghc-safeio")
9862 (version "0.0.5.0")
9863 (source
9864 (origin
9865 (method url-fetch)
9866 (uri (string-append "https://hackage.haskell.org/package/safeio/"
9867 "safeio-" version ".tar.gz"))
9868 (sha256
9869 (base32
9870 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
9871 (build-system haskell-build-system)
9872 (inputs
9873 `(("ghc-conduit" ,ghc-conduit)
9874 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
9875 ("ghc-exceptions" ,ghc-exceptions)
9876 ("ghc-resourcet" ,ghc-resourcet)))
9877 (native-inputs
9878 `(("ghc-hunit" ,ghc-hunit)
9879 ("ghc-test-framework" ,ghc-test-framework)
9880 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9881 ("ghc-test-framework-th" ,ghc-test-framework-th)))
9882 (home-page "https://github.com/luispedro/safeio")
9883 (synopsis "Write output to disk atomically")
9884 (description
9885 "This package implements utilities to perform atomic output so as to
9886avoid the problem of partial intermediate files.")
9887 (license license:expat)))
9888
9889(define-public ghc-safesemaphore
9890 (package
9891 (name "ghc-safesemaphore")
9892 (version "0.10.1")
9893 (source
9894 (origin
9895 (method url-fetch)
9896 (uri (string-append "https://hackage.haskell.org/package/"
9897 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
9898 (sha256
9899 (base32
9900 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
9901 (build-system haskell-build-system)
9902 (native-inputs
9903 `(("ghc-hunit" ,ghc-hunit)))
9904 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
9905 (synopsis "Exception safe semaphores")
9906 (description "This library provides exception safe semaphores that can be
9907used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
9908are not exception safe and can be broken by @code{killThread}.")
9909 (license license:bsd-3)))
9910
9911(define-public ghc-sandi
9912 (package
9913 (name "ghc-sandi")
b867c2b0 9914 (version "0.5")
dddbc90c
RV
9915 (source
9916 (origin
9917 (method url-fetch)
9918 (uri (string-append
9919 "https://hackage.haskell.org/package/sandi/sandi-"
9920 version ".tar.gz"))
9921 (sha256
9922 (base32
b867c2b0 9923 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
dddbc90c
RV
9924 (build-system haskell-build-system)
9925 (inputs
9926 `(("ghc-stringsearch" ,ghc-stringsearch)
9927 ("ghc-conduit" ,ghc-conduit)
9928 ("ghc-exceptions" ,ghc-exceptions)
9929 ("ghc-hunit" ,ghc-hunit)
9930 ("ghc-tasty" ,ghc-tasty)
9931 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9932 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9933 ("ghc-tasty-th" ,ghc-tasty-th)))
9934 (home-page "https://hackage.haskell.org/package/sandi")
9935 (synopsis "Data encoding library")
9936 (description "Reasonably fast data encoding library.")
9937 (license license:bsd-3)))
9938
4da75228
ASM
9939(define-public ghc-say
9940 (package
9941 (name "ghc-say")
9942 (version "0.1.0.1")
9943 (source
9944 (origin
9945 (method url-fetch)
9946 (uri (string-append
9947 "https://hackage.haskell.org/package/say/say-"
9948 version
9949 ".tar.gz"))
9950 (sha256
9951 (base32
9952 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
9953 (build-system haskell-build-system)
9954 (native-inputs
9955 `(("ghc-hspec" ,ghc-hspec)
9956 ("hspec-discover" ,hspec-discover)
9957 ("ghc-unliftio" ,ghc-unliftio)))
9958 (home-page "https://github.com/fpco/say")
9959 (synopsis
9960 "Send textual messages to a Handle in a thread-friendly way")
9961 (description
9962 "A thread safe API to write a line of textual data to a Handle, such
9963as sending some messages to the terminal - that has the following properties:
9964@itemize
9965@item Properly handle character encoding settings on the Handle
9966@item For reasonably sized messages, ensure that the entire message is written
9967 in one chunk to avoid interleaving data with other threads
9968@item Avoid unnecessary memory allocations and copies
9969@item Minimize locking.
9970@end itemize")
9971 (license license:expat)))
9972
dddbc90c
RV
9973(define-public ghc-scientific
9974 (package
9975 (name "ghc-scientific")
9976 (version "0.3.6.2")
9977 (source
9978 (origin
9979 (method url-fetch)
9980 (uri (string-append
9981 "https://hackage.haskell.org/package/scientific/scientific-"
9982 version
9983 ".tar.gz"))
9984 (sha256
9985 (base32
9986 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
9987 (build-system haskell-build-system)
9988 (inputs
9989 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
9990 ("ghc-hashable" ,ghc-hashable)
9991 ("ghc-primitive" ,ghc-primitive)))
9992 (native-inputs
9993 `(("ghc-tasty" ,ghc-tasty)
9994 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
9995 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9996 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9997 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9998 ("ghc-smallcheck" ,ghc-smallcheck)
9999 ("ghc-quickcheck" ,ghc-quickcheck)))
10000 (home-page "https://github.com/basvandijk/scientific")
10001 (synopsis "Numbers represented using scientific notation")
10002 (description "This package provides @code{Data.Scientific}, which provides
10003the number type @code{Scientific}. Scientific numbers are arbitrary precision
10004and space efficient. They are represented using
10005@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
10006notation}.")
10007 (license license:bsd-3)))
10008
10009(define-public ghc-scientific-bootstrap
10010 (package
10011 (inherit ghc-scientific)
10012 (name "ghc-scientific-bootstrap")
10013 (arguments `(#:tests? #f))
10014 (inputs
10015 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
10016 ("ghc-hashable" ,ghc-hashable)
10017 ("ghc-primitive" ,ghc-primitive)))
10018 (native-inputs '())
799d8d3c 10019 (properties '((hidden? #t)))))
dddbc90c
RV
10020
10021(define-public ghc-sdl
10022 (package
10023 (name "ghc-sdl")
10024 (version "0.6.7.0")
10025 (source
10026 (origin
10027 (method url-fetch)
10028 (uri (string-append
10029 "https://hackage.haskell.org/package/SDL/SDL-"
10030 version
10031 ".tar.gz"))
10032 (sha256
10033 (base32
10034 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
10035 (build-system haskell-build-system)
10036 (inputs
10037 `(("sdl" ,sdl)))
10038 (home-page "https://hackage.haskell.org/package/SDL")
10039 (synopsis "LibSDL for Haskell")
10040 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
10041multimedia library designed to provide low level access to audio, keyboard,
10042mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
10043by MPEG playback software, emulators, and many popular games, including the
10044award winning Linux port of \"Civilization: Call To Power.\"")
10045 (license license:bsd-3)))
10046
1874cdc1
RV
10047(define-public ghc-sdl2
10048 (package
10049 (name "ghc-sdl2")
145148ca 10050 (version "2.5.0.0")
1874cdc1
RV
10051 (source
10052 (origin
10053 (method url-fetch)
10054 (uri (string-append "https://hackage.haskell.org/package/"
10055 "sdl2/sdl2-" version ".tar.gz"))
10056 (sha256
10057 (base32
145148ca 10058 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
1874cdc1
RV
10059 (build-system haskell-build-system)
10060 (arguments '(#:tests? #f)) ; tests require graphical environment
10061 (inputs
10062 `(("ghc-exceptions" ,ghc-exceptions)
10063 ("ghc-linear" ,ghc-linear)
10064 ("ghc-statevar" ,ghc-statevar)
10065 ("ghc-vector" ,ghc-vector)
10066 ("sdl2" ,sdl2)))
10067 (native-inputs
10068 `(("ghc-weigh" ,ghc-weigh)
10069 ("pkg-config" ,pkg-config)))
35437dbf 10070 (home-page "https://hackage.haskell.org/package/sdl2")
1874cdc1
RV
10071 (synopsis "High- and low-level bindings to the SDL library")
10072 (description
10073 "This package contains bindings to the SDL 2 library, in both high- and
10074low-level forms. The @code{SDL} namespace contains high-level bindings, where
10075enumerations are split into sum types, and we perform automatic
10076error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
10077translation of the C API into Haskell FFI calls. As such, this does not
10078contain sum types nor error checking. Thus this namespace is suitable for
10079building your own abstraction over SDL, but is not recommended for day-to-day
10080programming.")
10081 (license license:bsd-3)))
10082
10083(define-public ghc-sdl2-image
10084 (package
10085 (name "ghc-sdl2-image")
10086 (version "2.0.0")
10087 (source
10088 (origin
10089 (method url-fetch)
10090 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
10091 "sdl2-image-" version ".tar.gz"))
10092 (sha256
10093 (base32
10094 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
10095 (build-system haskell-build-system)
10096 (inputs
10097 `(("ghc-sdl2" ,ghc-sdl2)
10098 ("sdl2-image" ,sdl2-image)))
10099 (native-inputs
10100 `(("pkg-config" ,pkg-config)))
3ef91e15 10101 (home-page "https://hackage.haskell.org/package/sdl2-image")
1874cdc1
RV
10102 (synopsis "Bindings to SDL2_image")
10103 (description "This package provides Haskell bindings to
10104@code{SDL2_image}.")
10105 (license license:expat)))
10106
10107(define-public ghc-sdl2-mixer
10108 (package
10109 (name "ghc-sdl2-mixer")
10110 (version "1.1.0")
10111 (source
10112 (origin
10113 (method url-fetch)
10114 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
10115 "sdl2-mixer-" version ".tar.gz"))
10116 (sha256
10117 (base32
10118 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
10119 (build-system haskell-build-system)
10120 (inputs
10121 `(("ghc-data-default-class" ,ghc-data-default-class)
10122 ("ghc-lifted-base" ,ghc-lifted-base)
10123 ("ghc-monad-control" ,ghc-monad-control)
10124 ("ghc-sdl2" ,ghc-sdl2)
10125 ("ghc-vector" ,ghc-vector)
10126 ("sdl2-mixer" ,sdl2-mixer)))
10127 (native-inputs
10128 `(("pkg-config" ,pkg-config)))
3ef91e15 10129 (home-page "https://hackage.haskell.org/package/sdl2-mixer")
1874cdc1
RV
10130 (synopsis "Bindings to SDL2 mixer")
10131 (description "This package provides Haskell bindings to
10132@code{SDL2_mixer}.")
10133 (license license:bsd-3)))
10134
dddbc90c
RV
10135(define-public ghc-sdl-image
10136 (package
10137 (name "ghc-sdl-image")
10138 (version "0.6.2.0")
10139 (source
10140 (origin
10141 (method url-fetch)
10142 (uri (string-append
10143 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
10144 version
10145 ".tar.gz"))
10146 (sha256
10147 (base32
10148 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
10149 (build-system haskell-build-system)
10150 (arguments
10151 `(#:configure-flags
10152 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
10153 (sdl-image-include (string-append sdl-image "/include/SDL")))
10154 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
10155 (inputs
10156 `(("ghc-sdl" ,ghc-sdl)
10157 ("sdl-image" ,sdl-image)))
10158 (home-page "https://hackage.haskell.org/package/SDL-image")
10159 (synopsis "Haskell bindings to libSDL_image")
10160 (description "SDL_image is an image file loading library. It loads images
10161as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
10162PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
10163 (license license:bsd-3)))
10164
10165(define-public ghc-sdl-mixer
10166 (package
10167 (name "ghc-sdl-mixer")
10168 (version "0.6.3.0")
10169 (source
10170 (origin
10171 (method url-fetch)
10172 (uri (string-append
10173 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
10174 version
10175 ".tar.gz"))
10176 (sha256
10177 (base32
10178 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
10179 (build-system haskell-build-system)
10180 (arguments
10181 `(#:configure-flags
10182 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
10183 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
10184 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
10185 (inputs
10186 `(("ghc-sdl" ,ghc-sdl)
10187 ("sdl-mixer" ,sdl-mixer)))
10188 (home-page "https://hackage.haskell.org/package/SDL-mixer")
10189 (synopsis "Haskell bindings to libSDL_mixer")
10190 (description "SDL_mixer is a sample multi-channel audio mixer library. It
10191supports any number of simultaneously playing channels of 16 bit stereo audio,
10192plus a single channel of music, mixed by the popular MikMod MOD, Timidity
10193MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
10194 (license license:bsd-3)))
10195
10196(define-public ghc-securemem
10197 (package
10198 (name "ghc-securemem")
10199 (version "0.1.10")
10200 (source
10201 (origin
10202 (method url-fetch)
10203 (uri (string-append "https://hackage.haskell.org/package/"
10204 "securemem-" version "/"
10205 "securemem-" version ".tar.gz"))
10206 (sha256
10207 (base32
10208 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
10209 (build-system haskell-build-system)
10210 (inputs `(("ghc-byteable" ,ghc-byteable)
10211 ("ghc-memory" ,ghc-memory)))
10212 (home-page "https://github.com/vincenthz/hs-securemem")
10213 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
10214Haskell")
10215 (description "SecureMem is similar to ByteString, except that it provides
10216a memory chunk that will be auto-scrubbed after it run out of scope.")
10217 (license license:bsd-3)))
10218
10219(define-public ghc-semigroupoids
10220 (package
10221 (name "ghc-semigroupoids")
a8aaadf2 10222 (version "5.3.3")
dddbc90c
RV
10223 (source
10224 (origin
10225 (method url-fetch)
10226 (uri (string-append
10227 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
10228 version
10229 ".tar.gz"))
10230 (sha256
10231 (base32
a8aaadf2 10232 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 10233 (build-system haskell-build-system)
dddbc90c
RV
10234 (inputs
10235 `(("ghc-base-orphans" ,ghc-base-orphans)
10236 ("ghc-transformers-compat" ,ghc-transformers-compat)
10237 ("ghc-bifunctors" ,ghc-bifunctors)
10238 ("ghc-comonad" ,ghc-comonad)
10239 ("ghc-contravariant" ,ghc-contravariant)
10240 ("ghc-distributive" ,ghc-distributive)
10241 ("ghc-hashable" ,ghc-hashable)
10242 ("ghc-semigroups" ,ghc-semigroups)
10243 ("ghc-tagged" ,ghc-tagged)
10244 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10245 (native-inputs
10246 `(("cabal-doctest" ,cabal-doctest)
10247 ("ghc-doctest" ,ghc-doctest)))
10248 (home-page "https://github.com/ekmett/semigroupoids")
10249 (synopsis "Semigroupoids operations for Haskell")
10250 (description "This library provides a wide array of (semi)groupoids and
10251operations for working with them. A @code{Semigroupoid} is a @code{Category}
10252without the requirement of identity arrows for every object in the category.
10253A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
10254Finally, to work with these weaker structures it is beneficial to have
10255containers that can provide stronger guarantees about their contents, so
10256versions of @code{Traversable} and @code{Foldable} that can be folded with
10257just a @code{Semigroup} are added.")
10258 (license license:bsd-3)))
10259
10260(define-public ghc-semigroups
10261 (package
10262 (name "ghc-semigroups")
10263 (version "0.18.5")
10264 (source
10265 (origin
10266 (method url-fetch)
10267 (uri (string-append
10268 "https://hackage.haskell.org/package/semigroups/semigroups-"
10269 version
10270 ".tar.gz"))
10271 (sha256
10272 (base32
10273 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
10274 (build-system haskell-build-system)
10275 (inputs
10276 `(("ghc-nats" ,ghc-nats)
10277 ("ghc-tagged" ,ghc-tagged)
10278 ("ghc-unordered-containers" ,ghc-unordered-containers)
10279 ("ghc-hashable" ,ghc-hashable)))
10280 (home-page "https://github.com/ekmett/semigroups/")
10281 (synopsis "Semigroup operations for Haskell")
10282 (description "This package provides semigroups for Haskell. In
10283mathematics, a semigroup is an algebraic structure consisting of a set
10284together with an associative binary operation. A semigroup generalizes a
10285monoid in that there might not exist an identity element. It
10286also (originally) generalized a group (a monoid with all inverses) to a type
10287where every element did not have to have an inverse, thus the name
10288semigroup.")
10289 (license license:bsd-3)))
10290
10291(define-public ghc-semigroups-bootstrap
10292 (package
10293 (inherit ghc-semigroups)
10294 (name "ghc-semigroups-bootstrap")
10295 (inputs
10296 `(("ghc-nats" ,ghc-nats-bootstrap)
10297 ("ghc-tagged" ,ghc-tagged)
10298 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
10299 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 10300 (properties '((hidden? #t)))))
dddbc90c
RV
10301
10302(define-public ghc-setenv
10303 (package
10304 (name "ghc-setenv")
10305 (version "0.1.1.3")
10306 (source
10307 (origin
10308 (method url-fetch)
10309 (uri (string-append
10310 "https://hackage.haskell.org/package/setenv/setenv-"
10311 version
10312 ".tar.gz"))
10313 (sha256
10314 (base32
10315 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
10316 (build-system haskell-build-system)
10317 (home-page "https://hackage.haskell.org/package/setenv")
10318 (synopsis "Library for setting environment variables")
10319 (description "This package provides a Haskell library for setting
10320environment variables.")
10321 (license license:expat)))
10322
10323(define-public ghc-setlocale
10324 (package
10325 (name "ghc-setlocale")
9d7cfc9b 10326 (version "1.0.0.9")
dddbc90c
RV
10327 (source (origin
10328 (method url-fetch)
10329 (uri (string-append
10330 "https://hackage.haskell.org/package/setlocale-"
10331 version "/setlocale-" version ".tar.gz"))
10332 (sha256
10333 (base32
9d7cfc9b 10334 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
10335 (build-system haskell-build-system)
10336 (home-page "https://hackage.haskell.org/package/setlocale")
10337 (synopsis "Haskell bindings to setlocale")
10338 (description "This package provides Haskell bindings to the
10339@code{setlocale} C function.")
10340 (license license:bsd-3)))
10341
10342(define-public ghc-shakespeare
10343 (package
10344 (name "ghc-shakespeare")
f680955f 10345 (version "2.0.22")
dddbc90c
RV
10346 (source
10347 (origin
10348 (method url-fetch)
10349 (uri (string-append "https://hackage.haskell.org/package/"
10350 "shakespeare-" version "/"
10351 "shakespeare-" version ".tar.gz"))
10352 (sha256
10353 (base32
f680955f 10354 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
10355 (build-system haskell-build-system)
10356 (inputs `(("ghc-aeson" ,ghc-aeson)
10357 ("ghc-blaze-markup" ,ghc-blaze-markup)
10358 ("ghc-blaze-html" ,ghc-blaze-html)
10359 ("ghc-exceptions" ,ghc-exceptions)
10360 ("ghc-vector" ,ghc-vector)
10361 ("ghc-unordered-containers" ,ghc-unordered-containers)
10362 ("ghc-scientific" ,ghc-scientific)))
10363 (native-inputs `(("ghc-hspec" ,ghc-hspec)
10364 ("ghc-hunit" ,ghc-hunit)
10365 ("hspec-discover" ,hspec-discover)))
10366 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
10367 (synopsis "Family of type-safe template languages for Haskell")
10368 (description "This Haskell package provides a family of type-safe
10369templates with simple variable interpolation. Shakespeare templates can
10370be used inline with a quasi-quoter or in an external file and it
10371interpolates variables according to the type being inserted.")
10372 (license license:expat)))
10373
10374(define-public ghc-shelly
10375 (package
10376 (name "ghc-shelly")
10377 (version "1.8.1")
10378 (source
10379 (origin
10380 (method url-fetch)
10381 (uri (string-append
10382 "https://hackage.haskell.org/package/shelly/shelly-"
10383 version ".tar.gz"))
10384 (sha256
10385 (base32
10386 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
10387 (build-system haskell-build-system)
10388 (inputs
10389 `(("ghc-unix-compat" ,ghc-unix-compat)
10390 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10391 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
10392 ("ghc-monad-control" ,ghc-monad-control)
10393 ("ghc-lifted-base" ,ghc-lifted-base)
10394 ("ghc-lifted-async" ,ghc-lifted-async)
10395 ("ghc-exceptions" ,ghc-exceptions)
10396 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
10397 ("ghc-async" ,ghc-async)
10398 ("ghc-transformers-base" ,ghc-transformers-base)
10399 ("ghc-hunit" ,ghc-hunit)
10400 ("ghc-hspec" ,ghc-hspec)
10401 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
10402 (home-page "https://github.com/yesodweb/Shelly.hs")
10403 (synopsis "Shell-like (systems) programming in Haskell")
10404 (description
10405 "Shelly provides convenient systems programming in Haskell, similar in
10406spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
10407 (license license:bsd-3)))
10408
10409(define-public ghc-silently
10410 (package
10411 (name "ghc-silently")
544bb369 10412 (version "1.2.5.1")
dddbc90c
RV
10413 (source
10414 (origin
10415 (method url-fetch)
10416 (uri (string-append
10417 "https://hackage.haskell.org/package/silently/silently-"
10418 version
10419 ".tar.gz"))
10420 (sha256
10421 (base32
544bb369 10422 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
10423 (build-system haskell-build-system)
10424 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
10425 ;; (inputs
10426 ;; `(("ghc-temporary" ,ghc-temporary)))
10427 (home-page "https://github.com/hspec/silently")
10428 (synopsis "Prevent writing to stdout")
10429 (description "This package provides functions to prevent or capture
10430writing to stdout and other handles.")
10431 (license license:bsd-3)))
10432
10433(define-public ghc-simple-reflect
10434 (package
10435 (name "ghc-simple-reflect")
10436 (version "0.3.3")
10437 (source
10438 (origin
10439 (method url-fetch)
10440 (uri (string-append
10441 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
10442 version
10443 ".tar.gz"))
10444 (sha256
10445 (base32
10446 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
10447 (build-system haskell-build-system)
10448 (home-page
10449 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
10450 (synopsis
10451 "Simple reflection of expressions containing variables")
10452 (description
10453 "This package allows simple reflection of expressions containing
10454variables. Reflection here means that a Haskell expression is turned into a
10455string. The primary aim of this package is teaching and understanding; there
10456are no options for manipulating the reflected expressions beyond showing
10457them.")
10458 (license license:bsd-3)))
10459
10460(define-public ghc-simple-sendfile
10461 (package
10462 (name "ghc-simple-sendfile")
08f54390 10463 (version "0.2.30")
dddbc90c
RV
10464 (source
10465 (origin
10466 (method url-fetch)
10467 (uri (string-append "https://hackage.haskell.org/package/"
10468 "simple-sendfile-" version "/"
10469 "simple-sendfile-" version ".tar.gz"))
10470 (sha256
10471 (base32
08f54390 10472 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
dddbc90c
RV
10473 (build-system haskell-build-system)
10474 (inputs
10475 `(("ghc-conduit" ,ghc-conduit)
10476 ("ghc-conduit-extra" ,ghc-conduit-extra)
10477 ("ghc-network" ,ghc-network)
10478 ("ghc-resourcet" ,ghc-resourcet)))
10479 (native-inputs
10480 `(("ghc-hspec" ,ghc-hspec)
10481 ("hspec-discover" ,hspec-discover)))
10482 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
10483 (synopsis "Cross platform library for the sendfile system call")
10484 (description "This library tries to call minimum system calls which
10485are the bottleneck of web servers.")
10486 (license license:bsd-3)))
10487
06966c05
TS
10488(define-public ghc-size-based
10489 (package
10490 (name "ghc-size-based")
10491 (version "0.1.2.0")
10492 (source
10493 (origin
10494 (method url-fetch)
10495 (uri (string-append "https://hackage.haskell.org/package/"
10496 "size-based/size-based-" version ".tar.gz"))
10497 (sha256
10498 (base32
10499 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
10500 (build-system haskell-build-system)
10501 (inputs
10502 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
10503 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
10504 ("ghc-semigroups" ,ghc-semigroups)))
10505 (arguments
10506 `(#:cabal-revision
10507 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
10508 (home-page "https://hackage.haskell.org/package/size-based")
10509 (synopsis "Sized functors for size-based enumerations")
10510 (description "This library provides a framework for size-based
10511enumerations.")
10512 (license license:bsd-3)))
10513
dddbc90c
RV
10514(define-public ghc-skylighting-core
10515 (package
10516 (name "ghc-skylighting-core")
1826c2a8 10517 (version "0.8.2.1")
dddbc90c
RV
10518 (source (origin
10519 (method url-fetch)
10520 (uri (string-append "https://hackage.haskell.org/package/"
10521 "skylighting-core/skylighting-core-"
10522 version ".tar.gz"))
10523 (sha256
10524 (base32
1826c2a8 10525 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
10526 (build-system haskell-build-system)
10527 (inputs
10528 `(("ghc-aeson" ,ghc-aeson)
10529 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10530 ("ghc-attoparsec" ,ghc-attoparsec)
10531 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
10532 ("ghc-blaze-html" ,ghc-blaze-html)
10533 ("ghc-case-insensitive" ,ghc-case-insensitive)
10534 ("ghc-colour" ,ghc-colour)
10535 ("ghc-hxt" ,ghc-hxt)
10536 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10537 ("ghc-safe" ,ghc-safe)
10538 ("ghc-utf8-string" ,ghc-utf8-string)))
10539 (native-inputs
10540 `(("ghc-diff" ,ghc-diff)
10541 ("ghc-hunit" ,ghc-hunit)
10542 ("ghc-pretty-show" ,ghc-pretty-show)
10543 ("ghc-quickcheck" ,ghc-quickcheck)
10544 ("ghc-tasty" ,ghc-tasty)
10545 ("ghc-tasty-golden" ,ghc-tasty-golden)
10546 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10547 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10548 (home-page "https://github.com/jgm/skylighting")
10549 (synopsis "Syntax highlighting library")
10550 (description "Skylighting is a syntax highlighting library with support
10551for over one hundred languages. It derives its tokenizers from XML syntax
10552definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
10553supported by that framework can be added. An optional command-line program is
10554provided. Skylighting is intended to be the successor to highlighting-kate.")
10555 (license license:gpl2)))
10556
10557(define-public ghc-skylighting
10558 (package
10559 (inherit ghc-skylighting-core)
10560 (name "ghc-skylighting")
36c940cf 10561 (version "0.8.2.1")
dddbc90c
RV
10562 (source (origin
10563 (method url-fetch)
10564 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
10565 version "/skylighting-" version ".tar.gz"))
10566 (sha256
10567 (base32
36c940cf 10568 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
10569 (inputs
10570 `(("ghc-skylighting-core" ,ghc-skylighting-core)
10571 ,@(package-inputs ghc-skylighting-core)))))
10572
10573(define-public ghc-smallcheck
10574 (package
10575 (name "ghc-smallcheck")
10576 (version "1.1.5")
10577 (source
10578 (origin
10579 (method url-fetch)
10580 (uri (string-append
10581 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
10582 version
10583 ".tar.gz"))
10584 (sha256
10585 (base32
10586 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
10587 (build-system haskell-build-system)
10588 (inputs
10589 `(("ghc-logict" ,ghc-logict)))
10590 (home-page
10591 "https://github.com/feuerbach/smallcheck")
10592 (synopsis "Property-based testing library")
10593 (description "SmallCheck is a testing library that allows to verify
10594properties for all test cases up to some depth. The test cases are generated
10595automatically by SmallCheck.")
10596 (license license:bsd-3)))
10597
10598(define-public ghc-socks
10599 (package
10600 (name "ghc-socks")
ab761e9d 10601 (version "0.6.1")
dddbc90c
RV
10602 (source (origin
10603 (method url-fetch)
10604 (uri (string-append "https://hackage.haskell.org/package/"
10605 "socks/socks-" version ".tar.gz"))
10606 (sha256
10607 (base32
ab761e9d 10608 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
10609 (build-system haskell-build-system)
10610 (inputs
10611 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 10612 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
10613 ("ghc-network" ,ghc-network)))
10614 (home-page "https://github.com/vincenthz/hs-socks")
10615 (synopsis "SOCKS proxy (version 5) implementation")
10616 (description
10617 "This library provides a SOCKS proxy (version 5) implementation.")
10618 (license license:bsd-3)))
10619
081d85d6
TS
10620(define-public ghc-sop-core
10621 (package
10622 (name "ghc-sop-core")
10623 (version "0.4.0.0")
10624 (source
10625 (origin
10626 (method url-fetch)
10627 (uri (string-append "https://hackage.haskell.org/package/"
10628 "sop-core/sop-core-" version ".tar.gz"))
10629 (sha256
10630 (base32
10631 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
10632 (build-system haskell-build-system)
3ef91e15 10633 (home-page "https://hackage.haskell.org/package/sop-core")
081d85d6
TS
10634 (synopsis "True Sums of Products")
10635 (description "This package provides an implementation of
10636@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
10637is the main module of this library and contains more detailed
10638documentation. The main use case of this package is to serve as the
10639core of @url{https://hackage.haskell.org/package/generics-sop,
10640generics-sop}.")
10641 (license license:bsd-3)))
10642
dddbc90c
RV
10643(define-public ghc-split
10644 (package
10645 (name "ghc-split")
10646 (version "0.2.3.3")
10647 (outputs '("out" "doc"))
10648 (source
10649 (origin
10650 (method url-fetch)
10651 (uri (string-append
10652 "https://hackage.haskell.org/package/split/split-"
10653 version
10654 ".tar.gz"))
10655 (sha256
10656 (base32
10657 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
10658 (build-system haskell-build-system)
9bbc21a7
TS
10659 (arguments
10660 `(#:cabal-revision
10661 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
10662 (native-inputs
10663 `(("ghc-quickcheck" ,ghc-quickcheck)))
10664 (home-page "https://hackage.haskell.org/package/split")
10665 (synopsis "Combinator library for splitting lists")
10666 (description "This package provides a collection of Haskell functions for
10667splitting lists into parts, akin to the @code{split} function found in several
10668mainstream languages.")
10669 (license license:bsd-3)))
10670
7799d17f 10671(define-public ghc-splitmix
49367c92 10672 (package
7799d17f 10673 (name "ghc-splitmix")
49367c92
TS
10674 (version "0.0.3")
10675 (source
10676 (origin
10677 (method url-fetch)
10678 (uri (string-append "https://hackage.haskell.org/package/"
10679 "splitmix/splitmix-" version ".tar.gz"))
10680 (sha256
10681 (base32
10682 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 10683 (build-system haskell-build-system)
49367c92
TS
10684 (inputs
10685 `(("ghc-random" ,ghc-random)))
7799d17f
TS
10686 (native-inputs
10687 `(("ghc-hunit" ,ghc-hunit)
10688 ("ghc-async" ,ghc-async)
10689 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
10690 ("ghc-tf-random" ,ghc-tf-random)
10691 ("ghc-vector" ,ghc-vector)))
92a79fee 10692 (home-page "https://hackage.haskell.org/package/splitmix")
49367c92
TS
10693 (synopsis "Fast and splittable pseudorandom number generator")
10694 (description "This package provides a Pure Haskell implementation of the
10695SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
10696pseudorandom number generator that is quite fast: 9 64-bit
10697arithmetic/logical operations per 64 bits generated. SplitMix is tested
10698with two standard statistical test suites (DieHarder and TestU01, this
10699implementation only using the former) and it appears to be adequate for
10700\"everyday\" use, such as Monte Carlo algorithms and randomized data
10701structures where speed is important. In particular, it @strong{should not
10702be used for cryptographic or security applications}, because generated
10703sequences of pseudorandom values are too predictable (the mixing functions
10704are easily inverted, and two successive outputs suffice to reconstruct the
10705internal state).")
10706 (license license:bsd-3)))
10707
7799d17f
TS
10708(define-public ghc-splitmix-bootstrap
10709 (package
10710 (inherit ghc-splitmix)
10711 (name "ghc-splitmix-bootstrap")
10712 (arguments `(#:tests? #f))
10713 (native-inputs '())
10714 (properties '((hidden? #t)))))
10715
dddbc90c
RV
10716(define-public ghc-statevar
10717 (package
10718 (name "ghc-statevar")
19419709 10719 (version "1.2")
dddbc90c
RV
10720 (source
10721 (origin
10722 (method url-fetch)
10723 (uri (string-append
10724 "https://hackage.haskell.org/package/StateVar/StateVar-"
10725 version
10726 ".tar.gz"))
10727 (sha256
10728 (base32
19419709 10729 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
10730 (build-system haskell-build-system)
10731 (home-page "https://hackage.haskell.org/package/StateVar")
10732 (synopsis "State variables for Haskell")
10733 (description "This package provides state variables, which are references
10734in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
10735 (license license:bsd-3)))
10736
10737(define-public ghc-statistics
10738 (package
10739 (name "ghc-statistics")
60e78e68 10740 (version "0.15.1.1")
dddbc90c
RV
10741 (source
10742 (origin
10743 (method url-fetch)
10744 (uri (string-append "https://hackage.haskell.org/package/"
10745 "statistics-" version "/"
10746 "statistics-" version ".tar.gz"))
10747 (sha256
10748 (base32
60e78e68 10749 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
10750 (build-system haskell-build-system)
10751 (arguments
60e78e68 10752 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
10753 #:tests? #f))
10754 (inputs
10755 `(("ghc-aeson" ,ghc-aeson)
60e78e68 10756 ("ghc-async" ,ghc-async)
dddbc90c 10757 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 10758 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
10759 ("ghc-math-functions" ,ghc-math-functions)
10760 ("ghc-monad-par" ,ghc-monad-par)
10761 ("ghc-mwc-random" ,ghc-mwc-random)
10762 ("ghc-primitive" ,ghc-primitive)
10763 ("ghc-vector" ,ghc-vector)
10764 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
10765 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
10766 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
10767 (native-inputs
10768 `(("ghc-hunit" ,ghc-hunit)
10769 ("ghc-quickcheck" ,ghc-quickcheck)
10770 ("ghc-ieee754" ,ghc-ieee754)
10771 ("ghc-test-framework" ,ghc-test-framework)
10772 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10773 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10774 (home-page "https://github.com/bos/mwc-random")
10775 (synopsis "Haskell library of statistical types, data, and functions")
10776 (description "This library provides a number of common functions
10777and types useful in statistics. We focus on high performance, numerical
10778robustness, and use of good algorithms. Where possible, we provide references
10779to the statistical literature.
10780
10781The library's facilities can be divided into four broad categories:
10782
10783@itemize
10784@item Working with widely used discrete and continuous probability
10785distributions. (There are dozens of exotic distributions in use; we focus
10786on the most common.)
10787
10788@item Computing with sample data: quantile estimation, kernel density
10789estimation, histograms, bootstrap methods, significance testing,
10790and regression and autocorrelation analysis.
10791
10792@item Random variate generation under several different distributions.
10793
10794@item Common statistical tests for significant differences between samples.
10795@end itemize")
10796 (license license:bsd-2)))
10797
10798(define-public ghc-stm-chans
10799 (package
10800 (name "ghc-stm-chans")
10801 (version "3.0.0.4")
10802 (source
10803 (origin
10804 (method url-fetch)
10805 (uri (string-append "https://hackage.haskell.org/package/"
10806 "stm-chans-" version "/"
10807 "stm-chans-" version ".tar.gz"))
10808 (sha256
10809 (base32
10810 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
10811 (build-system haskell-build-system)
10812 (home-page "https://hackage.haskell.org/package/stm-chans")
10813 (synopsis "Additional types of channels for ghc-stm")
10814 (description "This Haskell package offers a collection of channel types,
10815similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
10816features.")
10817 (license license:bsd-3)))
10818
10819(define-public ghc-stm-conduit
10820 (package
10821 (name "ghc-stm-conduit")
cd518e95 10822 (version "4.0.1")
dddbc90c
RV
10823 (source
10824 (origin
10825 (method url-fetch)
10826 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
10827 "stm-conduit-" version ".tar.gz"))
10828 (sha256
10829 (base32
cd518e95 10830 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
dddbc90c
RV
10831 (build-system haskell-build-system)
10832 (inputs
10833 `(("ghc-stm-chans" ,ghc-stm-chans)
10834 ("ghc-cereal" ,ghc-cereal)
10835 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
10836 ("ghc-conduit" ,ghc-conduit)
10837 ("ghc-conduit-extra" ,ghc-conduit-extra)
10838 ("ghc-exceptions" ,ghc-exceptions)
10839 ("ghc-resourcet" ,ghc-resourcet)
10840 ("ghc-async" ,ghc-async)
10841 ("ghc-monad-loops" ,ghc-monad-loops)
10842 ("ghc-unliftio" ,ghc-unliftio)))
10843 (native-inputs
10844 `(("ghc-doctest" ,ghc-doctest)
10845 ("ghc-quickcheck" ,ghc-quickcheck)
10846 ("ghc-hunit" ,ghc-hunit)
10847 ("ghc-test-framework" ,ghc-test-framework)
10848 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10849 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10850 (home-page "https://github.com/cgaebel/stm-conduit")
10851 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
10852 (description
10853 "This package provides two simple conduit wrappers around STM channels: a
10854source and a sink.")
10855 (license license:bsd-3)))
10856
10857(define-public ghc-stmonadtrans
10858 (package
10859 (name "ghc-stmonadtrans")
10860 (version "0.4.3")
10861 (source
10862 (origin
10863 (method url-fetch)
10864 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
10865 "/STMonadTrans-" version ".tar.gz"))
10866 (sha256
10867 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
10868 (build-system haskell-build-system)
10869 (home-page "https://hackage.haskell.org/package/STMonadTrans")
10870 (synopsis "Monad transformer version of the ST monad")
10871 (description
10872 "This package provides a monad transformer version of the @code{ST} monad
10873for strict state threads.")
10874 (license license:bsd-3)))
10875
10876(define-public ghc-storable-complex
10877 (package
10878 (name "ghc-storable-complex")
4a35e3c3 10879 (version "0.2.3.0")
dddbc90c
RV
10880 (source
10881 (origin
10882 (method url-fetch)
10883 (uri (string-append
10884 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
10885 version ".tar.gz"))
10886 (sha256
4a35e3c3 10887 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 10888 (build-system haskell-build-system)
4a35e3c3
TS
10889 (inputs
10890 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
10891 (home-page "https://github.com/cartazio/storable-complex")
10892 (synopsis "Haskell Storable instance for Complex")
10893 (description "This package provides a Haskell library including a
10894Storable instance for Complex which is binary compatible with C99, C++
10895and Fortran complex data types.")
10896 (license license:bsd-3)))
10897
ad80074a
JS
10898(define-public ghc-storable-record
10899 (package
10900 (name "ghc-storable-record")
10901 (version "0.0.4")
10902 (source
10903 (origin
10904 (method url-fetch)
10905 (uri
10906 (string-append
10907 "https://hackage.haskell.org/package/storable-record/"
10908 "storable-record-" version ".tar.gz"))
10909 (sha256
10910 (base32
10911 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
10912 (build-system haskell-build-system)
10913 (inputs
10914 `(("ghc-semigroups" ,ghc-semigroups)
10915 ("ghc-utility-ht" ,ghc-utility-ht)
10916 ("ghc-storablevector" ,ghc-storablevector)
10917 ("ghc-timeit" ,ghc-timeit)))
10918 (home-page "https://hackage.haskell.org/package/storable-record")
10919 (synopsis "Elegant definition of Storable instances for records")
10920 (description "With this package you can build a Storable instance of
10921a record type from Storable instances of its elements in an elegant way.
10922It does not do any magic, just a bit arithmetic to compute the right
10923offsets, that would be otherwise done manually or by a preprocessor like
10924C2HS. There is no guarantee that the generated memory layout is
10925compatible with that of a corresponding C struct. However, the module
10926generates the smallest layout that is possible with respect to the
10927alignment of the record elements.")
10928 (license license:bsd-3)))
10929
55f4c653
JS
10930(define-public ghc-storable-tuple
10931 (package
10932 (name "ghc-storable-tuple")
10933 (version "0.0.3.3")
10934 (source
10935 (origin
10936 (method url-fetch)
10937 (uri
10938 (string-append
10939 "https://hackage.haskell.org/package/storable-tuple/"
10940 "storable-tuple-" version ".tar.gz"))
10941 (sha256
10942 (base32
10943 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
10944 (build-system haskell-build-system)
10945 (inputs
10946 `(("ghc-storable-record" ,ghc-storable-record)
10947 ("ghc-utility-ht" ,ghc-utility-ht)
10948 ("ghc-base-orphans" ,ghc-base-orphans)))
10949 (home-page "https://hackage.haskell.org/package/storable-tuple")
10950 (synopsis "Storable instance for pairs and triples")
10951 (description "This package provides a Storable instance for pairs
10952and triples which should be binary compatible with C99 and C++. The
10953only purpose of this package is to provide a standard location for this
10954instance so that other packages needing this instance can play nicely
10955together.")
10956 (license license:bsd-3)))
10957
bc06ca45
JS
10958(define-public ghc-storablevector
10959 (package
10960 (name "ghc-storablevector")
10961 (version "0.2.13")
10962 (source
10963 (origin
10964 (method url-fetch)
10965 (uri
10966 (string-append
10967 "https://hackage.haskell.org/package/storablevector/storablevector-"
10968 version ".tar.gz"))
10969 (sha256
10970 (base32
10971 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
10972 (build-system haskell-build-system)
10973 (inputs
10974 `(("ghc-non-negative" ,ghc-non-negative)
10975 ("ghc-utility-ht" ,ghc-utility-ht)
10976 ("ghc-semigroups" ,ghc-semigroups)
10977 ("ghc-unsafe" ,ghc-unsafe)
10978 ("ghc-quickcheck" ,ghc-quickcheck)
10979 ("ghc-syb" ,ghc-syb)))
10980 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
10981 (synopsis "Fast, packed, strict storable arrays with a list interface")
10982 (description "This library provides fast, packed, strict storable
10983arrays with a list interface, a chunky lazy list interface with variable
10984chunk size and an interface for write access via the ST monad. This is
10985much like bytestring and binary but can be used for every
10986@code{Foreign.Storable.Storable} type. See also
10987@url{http://hackage.haskell.org/package/vector}, a library with a
10988similar intention.
10989
10990This library does not do advanced fusion optimization, since especially
10991for lazy vectors this would either be incorrect or not applicable. See
10992@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
10993a library that provides fusion with lazy lists.")
10994 (license license:bsd-3)))
10995
dddbc90c
RV
10996(define-public ghc-streaming-commons
10997 (package
10998 (name "ghc-streaming-commons")
10999 (version "0.2.1.1")
11000 (source
11001 (origin
11002 (method url-fetch)
11003 (uri (string-append "https://hackage.haskell.org/package/"
11004 "streaming-commons/streaming-commons-"
11005 version ".tar.gz"))
11006 (sha256
11007 (base32
11008 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
11009 (build-system haskell-build-system)
11010 (inputs
11011 `(("ghc-async" ,ghc-async)
11012 ("ghc-blaze-builder" ,ghc-blaze-builder)
11013 ("ghc-network" ,ghc-network)
11014 ("ghc-random" ,ghc-random)
11015 ("ghc-zlib" ,ghc-zlib)))
11016 (native-inputs
11017 `(("ghc-quickcheck" ,ghc-quickcheck)
11018 ("ghc-hspec" ,ghc-hspec)
11019 ("hspec-discover" ,hspec-discover)))
11020 (home-page "https://hackage.haskell.org/package/streaming-commons")
11021 (synopsis "Conduit and pipes needed by some streaming data libraries")
11022 (description "This package provides low-dependency functionality commonly
11023needed by various Haskell streaming data libraries, such as @code{conduit} and
11024@code{pipe}s.")
11025 (license license:expat)))
11026
11027(define-public ghc-strict
11028 (package
11029 (name "ghc-strict")
11030 (version "0.3.2")
11031 (source
11032 (origin
11033 (method url-fetch)
11034 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
11035 version ".tar.gz"))
11036 (sha256
11037 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
11038 (build-system haskell-build-system)
11039 (home-page "https://hackage.haskell.org/package/strict")
11040 (synopsis "Strict data types and String IO")
11041 (description
11042 "This package provides strict versions of some standard Haskell data
11043types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
11044IO operations.")
11045 (license license:bsd-3)))
11046
11047(define-public ghc-stringbuilder
11048 (package
11049 (name "ghc-stringbuilder")
11050 (version "0.5.1")
11051 (source
11052 (origin
11053 (method url-fetch)
11054 (uri (string-append
11055 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
11056 version
11057 ".tar.gz"))
11058 (sha256
11059 (base32
11060 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
11061 (build-system haskell-build-system)
11062 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
11063 ; enabled
11064 (home-page "https://hackage.haskell.org/package/stringbuilder")
11065 (synopsis "Writer monad for multi-line string literals")
11066 (description "This package provides a writer monad for multi-line string
11067literals.")
11068 (license license:expat)))
11069
11070(define-public ghc-string-qq
11071 (package
11072 (name "ghc-string-qq")
4d6fddc3 11073 (version "0.0.4")
dddbc90c
RV
11074 (source
11075 (origin
11076 (method url-fetch)
11077 (uri (string-append
11078 "https://hackage.haskell.org/package/string-qq/string-qq-"
11079 version
11080 ".tar.gz"))
11081 (sha256
11082 (base32
4d6fddc3 11083 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 11084 (build-system haskell-build-system)
4d6fddc3
TS
11085 (native-inputs
11086 `(("ghc-hunit" ,ghc-hunit)))
3ef91e15 11087 (home-page "https://hackage.haskell.org/package/string-qq")
dddbc90c
RV
11088 (synopsis
11089 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
11090 (description
11091 "This package provides a quasiquoter for non-interpolated strings, texts
11092and bytestrings.")
11093 (license license:public-domain)))
11094
11095(define-public ghc-stringsearch
11096 (package
11097 (name "ghc-stringsearch")
11098 (version "0.3.6.6")
11099 (source
11100 (origin
11101 (method url-fetch)
11102 (uri (string-append
11103 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
11104 version
11105 ".tar.gz"))
11106 (sha256
11107 (base32
11108 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
11109 (build-system haskell-build-system)
e2303abb
TS
11110 (arguments
11111 `(#:cabal-revision
11112 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
11113 (home-page "https://bitbucket.org/dafis/stringsearch")
11114 (synopsis "Fast searching, splitting and replacing of ByteStrings")
11115 (description "This package provides several functions to quickly search
11116for substrings in strict or lazy @code{ByteStrings}. It also provides
11117functions for breaking or splitting on substrings and replacing all
11118occurrences of a substring (the first in case of overlaps) with another.")
11119 (license license:bsd-3)))
11120
11121(define-public ghc-stylish-haskell
11122 (package
11123 (name "ghc-stylish-haskell")
11124 (version "0.9.2.1")
11125 (source
11126 (origin
11127 (method url-fetch)
11128 (uri (string-append
11129 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
11130 version
11131 ".tar.gz"))
11132 (sha256
11133 (base32
11134 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
11135 (build-system haskell-build-system)
a54dda09
TS
11136 (arguments
11137 `(#:phases
11138 (modify-phases %standard-phases
11139 (add-before 'configure 'update-constraints
11140 (lambda _
11141 (substitute* "stylish-haskell.cabal"
11142 (("haskell-src-exts >= 1\\.18 && < 1\\.21,")
11143 "haskell-src-exts >= 1.18 && < 1.22,"))
11144 #t)))))
dddbc90c
RV
11145 (inputs
11146 `(("ghc-aeson" ,ghc-aeson)
11147 ("ghc-file-embed" ,ghc-file-embed)
11148 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
11149 ("ghc-semigroups" ,ghc-semigroups)
11150 ("ghc-syb" ,ghc-syb)
11151 ("ghc-yaml" ,ghc-yaml)
11152 ("ghc-strict" ,ghc-strict)
11153 ("ghc-optparse-applicative"
11154 ,ghc-optparse-applicative)))
11155 (native-inputs
11156 `(("ghc-hunit" ,ghc-hunit)
11157 ("ghc-test-framework" ,ghc-test-framework)
11158 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
11159 (home-page "https://github.com/jaspervdj/stylish-haskell")
11160 (synopsis "Haskell code prettifier")
11161 (description "Stylish-haskell is a Haskell code prettifier. The goal is
11162not to format all of the code in a file, to avoid \"getting in the way\".
11163However, this tool can e.g. clean up import statements and help doing various
11164tasks that get tedious very quickly. It can
11165@itemize
11166@item
11167Align and sort @code{import} statements
11168@item
11169Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
11170pragmas
11171@item
11172Remove trailing whitespaces
11173@item
11174Align branches in @code{case} and fields in records
11175@item
11176Convert line endings (customisable)
11177@item
11178Replace tabs by four spaces (turned off by default)
11179@item
11180Replace some ASCII sequences by their Unicode equivalent (turned off by
11181default)
11182@end itemize")
11183 (license license:bsd-3)))
11184
dcf3f8f4
TS
11185(define-public ghc-svg-builder
11186 (package
11187 (name "ghc-svg-builder")
11188 (version "0.1.1")
11189 (source
11190 (origin
11191 (method url-fetch)
11192 (uri (string-append "https://hackage.haskell.org/package/"
11193 "svg-builder/svg-builder-" version ".tar.gz"))
11194 (sha256
11195 (base32
11196 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
11197 (build-system haskell-build-system)
11198 (inputs
11199 `(("ghc-blaze-builder" ,ghc-blaze-builder)
11200 ("ghc-hashable" ,ghc-hashable)
11201 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11202 (arguments
11203 `(#:cabal-revision
11204 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
11205 (home-page "https://github.com/diagrams/svg-builder.git")
11206 (synopsis "Domain-specific language for building Scalable Vector Graphics")
11207 (description "Easy-to-write domain-specific language (DSL) for
11208building Scalable Vector Graphics (SVG).")
11209 (license license:bsd-3)))
11210
dddbc90c
RV
11211(define-public ghc-syb
11212 (package
11213 (name "ghc-syb")
07d65eef 11214 (version "0.7.1")
dddbc90c
RV
11215 (outputs '("out" "doc"))
11216 (source
11217 (origin
11218 (method url-fetch)
11219 (uri (string-append
11220 "https://hackage.haskell.org/package/syb/syb-"
11221 version
11222 ".tar.gz"))
11223 (sha256
11224 (base32
07d65eef 11225 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
11226 (build-system haskell-build-system)
11227 (inputs
11228 `(("ghc-hunit" ,ghc-hunit)))
11229 (home-page
11230 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
11231 (synopsis "Scrap Your Boilerplate")
11232 (description "This package contains the generics system described in the
11233/Scrap Your Boilerplate/ papers (see
11234@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
11235defines the @code{Data} class of types permitting folding and unfolding of
11236constructor applications, instances of this class for primitive types, and a
11237variety of traversals.")
11238 (license license:bsd-3)))
11239
11240(define-public ghc-system-fileio
11241 (package
11242 (name "ghc-system-fileio")
dcfb99d4 11243 (version "0.3.16.4")
dddbc90c
RV
11244 (source
11245 (origin
11246 (method url-fetch)
11247 (uri (string-append
11248 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11249 version ".tar.gz"))
11250 (sha256
11251 (base32
dcfb99d4 11252 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 11253 (build-system haskell-build-system)
dcfb99d4
TS
11254 (arguments
11255 `(#:phases
11256 (modify-phases %standard-phases
11257 (add-before 'configure 'update-constraints
11258 (lambda _
11259 (substitute* "system-fileio.cabal"
11260 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
11261 #t)))))
dddbc90c
RV
11262 (inputs
11263 `(("ghc-system-filepath" ,ghc-system-filepath)
11264 ("ghc-chell" ,ghc-chell)
11265 ("ghc-temporary" ,ghc-temporary)))
11266 (home-page "https://github.com/fpco/haskell-filesystem")
11267 (synopsis "Consistent file system interaction across GHC versions")
11268 (description
11269 "This is a small wrapper around the directory, unix, and Win32 packages,
11270for use with system-filepath. It provides a consistent API to the various
11271versions of these packages distributed with different versions of GHC.
11272In particular, this library supports working with POSIX files that have paths
11273which can't be decoded in the current locale encoding.")
11274 (license license:expat)))
11275
11276;; See ghc-system-filepath-bootstrap. In addition this package depends on
11277;; ghc-system-filepath.
11278(define ghc-system-fileio-bootstrap
11279 (package
11280 (name "ghc-system-fileio-bootstrap")
11281 (version "0.3.16.3")
11282 (source
11283 (origin
11284 (method url-fetch)
11285 (uri (string-append
11286 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11287 version ".tar.gz"))
11288 (sha256
11289 (base32
11290 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
11291 (build-system haskell-build-system)
11292 (arguments
11293 `(#:tests? #f))
11294 (inputs
11295 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11296 ("ghc-temporary" ,ghc-temporary)))
11297 (home-page "https://github.com/fpco/haskell-filesystem")
11298 (synopsis "Consistent file system interaction across GHC versions")
11299 (description
11300 "This is a small wrapper around the directory, unix, and Win32 packages,
11301for use with system-filepath. It provides a consistent API to the various
11302versions of these packages distributed with different versions of GHC.
11303In particular, this library supports working with POSIX files that have paths
11304which can't be decoded in the current locale encoding.")
11305 (license license:expat)))
11306
11307
11308(define-public ghc-system-filepath
11309 (package
11310 (name "ghc-system-filepath")
11311 (version "0.4.14")
11312 (source
11313 (origin
11314 (method url-fetch)
11315 (uri (string-append
11316 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11317 version ".tar.gz"))
11318 (sha256
11319 (base32
11320 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11321 (build-system haskell-build-system)
11322 ;; FIXME: One of the tests fails:
11323 ;; [ FAIL ] tests.validity.posix
11324 ;; note: seed=7310214548328823169
11325 ;; *** Failed! Falsifiable (after 24 tests):
11326 ;; 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"
11327 (arguments `(#:tests? #f))
11328 (inputs
11329 `(("ghc-chell" ,ghc-chell)
11330 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
11331 ("ghc-quickcheck" ,ghc-quickcheck)))
11332 (home-page "https://github.com/fpco/haskell-filesystem")
11333 (synopsis "High-level, byte-based file and directory path manipulations")
11334 (description
11335 "Provides a FilePath datatype and utility functions for operating on it.
11336Unlike the filepath package, this package does not simply reuse String,
11337increasing type safety.")
11338 (license license:expat)))
11339
11340;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
11341;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
11342;; which depends on ghc-chell and ghc-chell-quickcheck.
11343;; Therefore we bootstrap it with tests disabled.
11344(define ghc-system-filepath-bootstrap
11345 (package
11346 (name "ghc-system-filepath-bootstrap")
11347 (version "0.4.14")
11348 (source
11349 (origin
11350 (method url-fetch)
11351 (uri (string-append
11352 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11353 version ".tar.gz"))
11354 (sha256
11355 (base32
11356 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11357 (build-system haskell-build-system)
11358 (arguments
11359 `(#:tests? #f))
11360 (inputs
11361 `(("ghc-quickcheck" ,ghc-quickcheck)))
11362 (home-page "https://github.com/fpco/haskell-filesystem")
11363 (synopsis "High-level, byte-based file and directory path manipulations")
11364 (description
11365 "Provides a FilePath datatype and utility functions for operating on it.
11366Unlike the filepath package, this package does not simply reuse String,
11367increasing type safety.")
11368 (license license:expat)))
11369
11370
11371(define-public ghc-tagged
11372 (package
11373 (name "ghc-tagged")
f0f3756a 11374 (version "0.8.6")
dddbc90c
RV
11375 (source
11376 (origin
11377 (method url-fetch)
11378 (uri (string-append
11379 "https://hackage.haskell.org/package/tagged/tagged-"
11380 version
11381 ".tar.gz"))
11382 (sha256
11383 (base32
f0f3756a 11384 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
11385 (build-system haskell-build-system)
11386 (arguments
11387 `(#:cabal-revision
f0f3756a 11388 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
11389 (inputs
11390 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
11391 (home-page "https://hackage.haskell.org/package/tagged")
11392 (synopsis "Haskell phantom types to avoid passing dummy arguments")
11393 (description "This library provides phantom types for Haskell 98, to avoid
11394having to unsafely pass dummy arguments.")
11395 (license license:bsd-3)))
11396
11397(define-public ghc-tar
11398 (package
11399 (name "ghc-tar")
ec83929f 11400 (version "0.5.1.1")
dddbc90c
RV
11401 (source
11402 (origin
11403 (method url-fetch)
11404 (uri (string-append
11405 "https://hackage.haskell.org/package/tar/tar-"
11406 version ".tar.gz"))
11407 (sha256
11408 (base32
ec83929f 11409 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
11410 (build-system haskell-build-system)
11411 ;; FIXME: 2/24 tests fail.
11412 (arguments `(#:tests? #f))
11413 (inputs
11414 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
11415 ("ghc-quickcheck" ,ghc-quickcheck)
11416 ("ghc-tasty" ,ghc-tasty)
11417 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11418 (home-page "https://hackage.haskell.org/package/tar")
11419 (synopsis "Reading, writing and manipulating \".tar\" archive files")
11420 (description
11421 "This library is for working with \\\"@.tar@\\\" archive files.
11422It can read and write a range of common variations of the tar archive format
11423including V7, POSIX USTAR and GNU formats. It provides support for packing and
11424unpacking portable archives. This makes it suitable for distribution but not
11425backup because details like file ownership and exact permissions are not
11426preserved. It also provides features for random access to archive content using
11427an index.")
11428 (license license:bsd-3)))
11429
f8d17902
TS
11430(define-public ghc-tar-conduit
11431 (package
11432 (name "ghc-tar-conduit")
11433 (version "0.3.2")
11434 (source
11435 (origin
11436 (method url-fetch)
11437 (uri (string-append "https://hackage.haskell.org/package/"
11438 "tar-conduit/tar-conduit-" version ".tar.gz"))
11439 (sha256
11440 (base32
11441 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
11442 (build-system haskell-build-system)
11443 (inputs
11444 `(("ghc-conduit" ,ghc-conduit)
11445 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
11446 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
11447 (native-inputs
11448 `(("ghc-quickcheck" ,ghc-quickcheck)
11449 ("ghc-conduit-extra" ,ghc-conduit-extra)
11450 ("ghc-hspec" ,ghc-hspec)
11451 ("ghc-hspec" ,ghc-hspec)
11452 ("ghc-weigh" ,ghc-weigh)))
11453 (home-page "https://github.com/snoyberg/tar-conduit#readme")
11454 (synopsis "Extract and create tar files using conduit for streaming")
11455 (description "This library provides a conduit-based, streaming
11456interface for extracting and creating tar files.")
11457 (license license:expat)))
11458
dddbc90c
RV
11459(define-public ghc-temporary
11460 (package
11461 (name "ghc-temporary")
11462 (version "1.3")
11463 (source
11464 (origin
11465 (method url-fetch)
11466 (uri (string-append
11467 "https://hackage.haskell.org/package/temporary/temporary-"
11468 version
11469 ".tar.gz"))
11470 (sha256
11471 (base32
11472 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
11473 (build-system haskell-build-system)
11474 (inputs
11475 `(("ghc-exceptions" ,ghc-exceptions)
11476 ("ghc-random" ,ghc-random)))
11477 (native-inputs
11478 `(("ghc-base-compat" ,ghc-base-compat)
11479 ("ghc-tasty" ,ghc-tasty)
11480 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11481 (home-page "https://www.github.com/batterseapower/temporary")
11482 (synopsis "Temporary file and directory support")
11483 (description "The functions for creating temporary files and directories
11484in the Haskelll base library are quite limited. This library just repackages
11485the Cabal implementations of its own temporary file and folder functions so
11486that you can use them without linking against Cabal or depending on it being
11487installed.")
11488 (license license:bsd-3)))
11489
11490(define-public ghc-temporary-rc
11491 (package
11492 (name "ghc-temporary-rc")
11493 (version "1.2.0.3")
11494 (source
11495 (origin
11496 (method url-fetch)
11497 (uri (string-append
11498 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
11499 version
11500 ".tar.gz"))
11501 (sha256
11502 (base32
11503 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
11504 (build-system haskell-build-system)
11505 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
11506 (home-page
11507 "https://www.github.com/feuerbach/temporary")
11508 (synopsis
11509 "Portable temporary file and directory support")
11510 (description
11511 "The functions for creating temporary files and directories in the base
11512library are quite limited. The unixutils package contains some good ones, but
11513they aren't portable to Windows. This library just repackages the Cabal
11514implementations of its own temporary file and folder functions so that you can
11515use them without linking against Cabal or depending on it being installed.
11516This is a better maintained fork of the \"temporary\" package.")
11517 (license license:bsd-3)))
11518
11519(define-public ghc-terminal-size
11520 (package
11521 (name "ghc-terminal-size")
11522 (version "0.3.2.1")
11523 (source (origin
11524 (method url-fetch)
11525 (uri (string-append
11526 "https://hackage.haskell.org/package/terminal-size/"
11527 "terminal-size-" version ".tar.gz"))
11528 (sha256
11529 (base32
11530 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
11531 (build-system haskell-build-system)
11532 (home-page "https://hackage.haskell.org/package/terminal-size")
11533 (synopsis "Get terminal window height and width")
11534 (description "Get terminal window height and width without ncurses
11535dependency.")
11536 (license license:bsd-3)))
11537
11538(define-public ghc-texmath
11539 (package
11540 (name "ghc-texmath")
7fec7e66 11541 (version "0.11.3")
dddbc90c
RV
11542 (source (origin
11543 (method url-fetch)
11544 (uri (string-append "https://hackage.haskell.org/package/"
11545 "texmath/texmath-" version ".tar.gz"))
11546 (sha256
11547 (base32
7fec7e66 11548 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
11549 (build-system haskell-build-system)
11550 (inputs
11551 `(("ghc-syb" ,ghc-syb)
11552 ("ghc-network-uri" ,ghc-network-uri)
11553 ("ghc-split" ,ghc-split)
11554 ("ghc-temporary" ,ghc-temporary)
11555 ("ghc-utf8-string" ,ghc-utf8-string)
11556 ("ghc-xml" ,ghc-xml)
11557 ("ghc-pandoc-types" ,ghc-pandoc-types)))
11558 (home-page "https://github.com/jgm/texmath")
11559 (synopsis "Conversion between formats used to represent mathematics")
11560 (description
11561 "The texmath library provides functions to read and write TeX math,
11562presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
11563Office). Support is also included for converting math formats to pandoc's
11564native format (allowing conversion, via pandoc, to a variety of different
11565markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
11566it can parse and apply LaTeX macros.")
11567 (license license:gpl2+)))
11568
11569(define-public ghc-text-binary
11570 (package
11571 (name "ghc-text-binary")
11572 (version "0.2.1.1")
11573 (source
11574 (origin
11575 (method url-fetch)
11576 (uri (string-append "https://hackage.haskell.org/package/"
11577 "text-binary/text-binary-"
11578 version ".tar.gz"))
11579 (sha256
11580 (base32
11581 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
11582 (build-system haskell-build-system)
11583 (home-page "https://github.com/kawu/text-binary")
11584 (synopsis "Binary instances for text types")
11585 (description
11586 "This package provides a compatibility layer providing @code{Binary}
11587instances for strict and lazy text types for versions older than 1.2.1 of the
11588text package.")
11589 (license license:bsd-2)))
11590
bdc877c4
TS
11591(define-public ghc-text-metrics
11592 (package
11593 (name "ghc-text-metrics")
11594 (version "0.3.0")
11595 (source
11596 (origin
11597 (method url-fetch)
11598 (uri (string-append "https://hackage.haskell.org/package/"
11599 "text-metrics/text-metrics-" version ".tar.gz"))
11600 (sha256
11601 (base32
11602 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
11603 (build-system haskell-build-system)
11604 (inputs
11605 `(("ghc-vector" ,ghc-vector)))
11606 (native-inputs
11607 `(("ghc-quickcheck" ,ghc-quickcheck)
11608 ("ghc-hspec" ,ghc-hspec)))
11609 (arguments
11610 `(#:cabal-revision
11611 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
11612 (home-page "https://github.com/mrkkrp/text-metrics")
11613 (synopsis "Calculate various string metrics efficiently")
11614 (description "This library provides tools to calculate various
11615string metrics efficiently.")
11616 (license license:bsd-3)))
11617
dddbc90c
RV
11618(define-public ghc-tf-random
11619 (package
11620 (name "ghc-tf-random")
11621 (version "0.5")
11622 (outputs '("out" "doc"))
11623 (source
11624 (origin
11625 (method url-fetch)
11626 (uri (string-append
11627 "https://hackage.haskell.org/package/tf-random/tf-random-"
11628 version
11629 ".tar.gz"))
11630 (sha256
11631 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
11632 (build-system haskell-build-system)
11633 (inputs
11634 `(("ghc-primitive" ,ghc-primitive)
11635 ("ghc-random" ,ghc-random)))
11636 (home-page "https://hackage.haskell.org/package/tf-random")
11637 (synopsis "High-quality splittable pseudorandom number generator")
11638 (description "This package contains an implementation of a high-quality
11639splittable pseudorandom number generator. The generator is based on a
11640cryptographic hash function built on top of the ThreeFish block cipher. See
11641the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
11642Hashing\" by Claessen, Pałka for details and the rationale of the design.")
11643 (license license:bsd-3)))
11644
11645(define-public ghc-th-abstraction
11646 (package
11647 (name "ghc-th-abstraction")
1188eabb 11648 (version "0.3.1.0")
dddbc90c
RV
11649 (source
11650 (origin
11651 (method url-fetch)
11652 (uri (string-append "https://hackage.haskell.org/package/"
11653 "th-abstraction/th-abstraction-"
11654 version ".tar.gz"))
11655 (sha256
11656 (base32
1188eabb 11657 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
11658 (build-system haskell-build-system)
11659 (home-page "https://github.com/glguy/th-abstraction")
11660 (synopsis "Nicer interface for reified information about data types")
11661 (description
11662 "This package normalizes variations in the interface for inspecting
11663datatype information via Template Haskell so that packages and support a
11664single, easier to use informational datatype while supporting many versions of
11665Template Haskell.")
11666 (license license:isc)))
11667
11668(define-public ghc-th-expand-syns
11669 (package
11670 (name "ghc-th-expand-syns")
8c766600 11671 (version "0.4.5.0")
dddbc90c
RV
11672 (source (origin
11673 (method url-fetch)
11674 (uri (string-append "https://hackage.haskell.org/package/"
11675 "th-expand-syns/th-expand-syns-"
11676 version ".tar.gz"))
11677 (sha256
11678 (base32
8c766600 11679 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
11680 (build-system haskell-build-system)
11681 (inputs
11682 `(("ghc-syb" ,ghc-syb)))
11683 (home-page "https://hackage.haskell.org/package/th-expand-syns")
11684 (synopsis "Expands type synonyms in Template Haskell ASTs")
11685 (description
11686 "This package enables users to expand type synonyms in Template Haskell
11687@dfn{abstract syntax trees} (ASTs).")
11688 (license license:bsd-3)))
11689
11690(define-public ghc-th-lift
11691 (package
11692 (name "ghc-th-lift")
bd76b20a 11693 (version "0.8.0.1")
dddbc90c
RV
11694 (source (origin
11695 (method url-fetch)
11696 (uri (string-append "https://hackage.haskell.org/package/"
11697 "th-lift/th-lift-" version ".tar.gz"))
11698 (sha256
11699 (base32
bd76b20a 11700 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
11701 (build-system haskell-build-system)
11702 (inputs
11703 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
11704 (home-page "https://github.com/mboes/th-lift")
11705 (synopsis "Derive Template Haskell's Lift class for datatypes")
11706 (description
11707 "This is a Haskell library to derive Template Haskell's Lift class for
11708datatypes.")
11709 (license license:bsd-3)))
11710
11711(define-public ghc-th-lift-instances
11712 (package
11713 (name "ghc-th-lift-instances")
d3db399e 11714 (version "0.1.14")
dddbc90c
RV
11715 (source
11716 (origin
11717 (method url-fetch)
11718 (uri (string-append "https://hackage.haskell.org/package/"
11719 "th-lift-instances/th-lift-instances-"
11720 version ".tar.gz"))
11721 (sha256
11722 (base32
d3db399e 11723 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
11724 (build-system haskell-build-system)
11725 (inputs
11726 `(("ghc-th-lift" ,ghc-th-lift)
11727 ("ghc-vector" ,ghc-vector)
11728 ("ghc-quickcheck" ,ghc-quickcheck)))
11729 (home-page "https://github.com/bennofs/th-lift-instances/")
11730 (synopsis "Lift instances for template-haskell for common data types.")
11731 (description "Most data types in the Haskell platform do not have Lift
11732instances. This package provides orphan instances for @code{containers},
11733@code{text}, @code{bytestring} and @code{vector}.")
11734 (license license:bsd-3)))
11735
11736(define-public ghc-th-orphans
11737 (package
11738 (name "ghc-th-orphans")
882b23e2 11739 (version "0.13.9")
dddbc90c
RV
11740 (source (origin
11741 (method url-fetch)
11742 (uri (string-append "https://hackage.haskell.org/package/"
11743 "th-orphans/th-orphans-" version ".tar.gz"))
11744 (sha256
11745 (base32
882b23e2 11746 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
11747 (build-system haskell-build-system)
11748 (inputs
11749 `(("ghc-th-lift" ,ghc-th-lift)
11750 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
11751 ("ghc-th-reify-many" ,ghc-th-reify-many)
11752 ("ghc-generic-deriving" ,ghc-generic-deriving)))
11753 (native-inputs
11754 `(("ghc-hspec" ,ghc-hspec)))
11755 (home-page "https://hackage.haskell.org/package/th-orphans")
11756 (synopsis "Orphan instances for TH datatypes")
11757 (description
11758 "This package provides orphan instances for Template Haskell datatypes. In particular,
11759instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
11760and @code{Eq} instances. These instances used to live in the haskell-src-meta
11761package, and that's where the version number started.")
11762 (license license:bsd-3)))
11763
11764(define-public ghc-threads
11765 (package
11766 (name "ghc-threads")
11767 (version "0.5.1.6")
11768 (source
11769 (origin
11770 (method url-fetch)
11771 (uri (string-append "https://hackage.haskell.org/package/"
11772 "threads/threads-" version ".tar.gz"))
11773 (sha256
11774 (base32
11775 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
11776 (build-system haskell-build-system)
11777 (native-inputs
11778 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
11779 ("ghc-hunit" ,ghc-hunit)
11780 ("ghc-test-framework" ,ghc-test-framework)
11781 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
11782 (home-page "https://github.com/basvandijk/threads")
11783 (synopsis "Fork threads and wait for their result")
11784 (description "This package provides functions to fork threads and
11785wait for their result, whether it's an exception or a normal value.
11786Besides waiting for the termination of a single thread this package also
11787provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
11788package is similar to the @code{threadmanager}, @code{async} and
11789@code{spawn} packages. The advantages of this package are:
11790
dddbc90c
RV
11791@itemize
11792@item Simpler API.
11793@item More efficient in both space and time.
11794@item No space-leak when forking a large number of threads.
11795@item Correct handling of asynchronous exceptions.
11796@item GHC specific functionality like @code{forkOn} and
11797@code{forkIOWithUnmask}.
11798@end itemize")
11799 (license license:bsd-3)))
11800
11801(define-public ghc-th-reify-many
11802 (package
11803 (name "ghc-th-reify-many")
32d4a6ae 11804 (version "0.1.9")
dddbc90c
RV
11805 (source (origin
11806 (method url-fetch)
11807 (uri (string-append "https://hackage.haskell.org/package/"
11808 "th-reify-many/th-reify-many-"
11809 version ".tar.gz"))
11810 (sha256
11811 (base32
32d4a6ae 11812 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
11813 (build-system haskell-build-system)
11814 (inputs
11815 `(("ghc-safe" ,ghc-safe)
11816 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
11817 (home-page "https://github.com/mgsloan/th-reify-many")
11818 (synopsis "Recurseively reify template haskell datatype info")
11819 (description
11820 "th-reify-many provides functions for recursively reifying top level
11821declarations. The main intended use case is for enumerating the names of
11822datatypes reachable from an initial datatype, and passing these names to some
11823function which generates instances.")
11824 (license license:bsd-3)))
11825
75cfc9a2
TS
11826(define-public ghc-time-compat
11827 (package
11828 (name "ghc-time-compat")
11829 (version "1.9.2.2")
11830 (source
11831 (origin
11832 (method url-fetch)
11833 (uri (string-append "https://hackage.haskell.org/package/"
11834 "time-compat/time-compat-" version ".tar.gz"))
11835 (sha256
11836 (base32
11837 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
11838 (build-system haskell-build-system)
11839 (inputs
11840 `(("ghc-base-orphans" ,ghc-base-orphans)))
11841 (native-inputs
11842 `(("ghc-hunit" ,ghc-hunit)
11843 ("ghc-base-compat" ,ghc-base-compat)
11844 ("ghc-quickcheck" ,ghc-quickcheck)
11845 ("ghc-tagged" ,ghc-tagged)
11846 ("ghc-tasty" ,ghc-tasty)
11847 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11848 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11849 (arguments
11850 `(#:cabal-revision
11851 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
11852 (home-page "https://github.com/phadej/time-compat")
11853 (synopsis "Compatibility package for time")
a8d73e69 11854 (description "This package tries to compat as many @code{time}
75cfc9a2
TS
11855features as possible.")
11856 (license license:bsd-3)))
11857
dddbc90c
RV
11858(define-public ghc-time-locale-compat
11859 (package
11860 (name "ghc-time-locale-compat")
11861 (version "0.1.1.5")
11862 (source
11863 (origin
11864 (method url-fetch)
11865 (uri (string-append "https://hackage.haskell.org/package/"
11866 "time-locale-compat/time-locale-compat-"
11867 version ".tar.gz"))
11868 (sha256
11869 (base32
11870 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
11871 (build-system haskell-build-system)
11872 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
11873 (home-page "https://github.com/khibino/haskell-time-locale-compat")
11874 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
11875 (description "This package contains a wrapped name module for
11876@code{TimeLocale}.")
11877 (license license:bsd-3)))
11878
c022a4d4
TS
11879(define-public ghc-time-manager
11880 (package
11881 (name "ghc-time-manager")
11882 (version "0.0.0")
11883 (source
11884 (origin
11885 (method url-fetch)
11886 (uri (string-append "https://hackage.haskell.org/package/"
11887 "time-manager/time-manager-" version ".tar.gz"))
11888 (sha256
11889 (base32
11890 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
11891 (build-system haskell-build-system)
11892 (inputs
11893 `(("ghc-auto-update" ,ghc-auto-update)))
11894 (home-page "https://github.com/yesodweb/wai")
11895 (synopsis "Scalable timer")
11896 (description "This library contains scalable timer functions provided by a
11897timer manager.")
11898 (license license:expat)))
11899
7bbfa392
JS
11900(define-public ghc-timeit
11901 (package
11902 (name "ghc-timeit")
11903 (version "2.0")
11904 (source
11905 (origin
11906 (method url-fetch)
11907 (uri
11908 (string-append
11909 "https://hackage.haskell.org/package/timeit/timeit-"
11910 version ".tar.gz"))
11911 (sha256
11912 (base32
11913 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
11914 (build-system haskell-build-system)
11915 (home-page "https://github.com/merijn/timeit")
11916 (synopsis "Time monadic computations with an IO base")
11917 (description "This package provides a simple wrapper to show the
11918used CPU time of monadic computation with an IO base.")
11919 (license license:bsd-3)))
11920
2ed8bd2d
JS
11921(define-public ghc-timezone-series
11922 (package
11923 (name "ghc-timezone-series")
11924 (version "0.1.9")
11925 (source
11926 (origin
11927 (method url-fetch)
11928 (uri
11929 (string-append
11930 "mirror://hackage/package/timezone-series/timezone-series-"
11931 version ".tar.gz"))
11932 (sha256
11933 (base32
11934 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
11935 (build-system haskell-build-system)
11936 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
11937 (synopsis "Enhanced timezone handling for Time")
11938 (description
11939 "This package endows @code{Data.Time}, from the time package, with several
11940data types and functions for enhanced processing of timezones. For one way to
11941create timezone series, see the ghc-timezone-olson package.")
11942 (license license:bsd-3)))
11943
ff0f5786
JS
11944(define-public ghc-timezone-olson
11945 (package
11946 (name "ghc-timezone-olson")
11947 (version "0.1.9")
11948 (source
11949 (origin
11950 (method url-fetch)
11951 (uri
11952 (string-append
11953 "mirror://hackage/package/timezone-olson/timezone-olson-"
11954 version ".tar.gz"))
11955 (sha256
11956 (base32
11957 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
11958 (build-system haskell-build-system)
11959 (inputs
11960 `(("ghc-timezone-series" ,ghc-timezone-series)
11961 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
11962 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
11963 (synopsis "Parser and renderer for binary Olson timezone files")
11964 (description
11965 "A parser and renderer for binary Olson timezone files whose format
11966is specified by the tzfile(5) man page on Unix-like systems. For more
11967information about this format, see
11968@url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
11969are provided for converting the parsed data into @code{TimeZoneSeries}
11970objects from the timezone-series package.")
11971 (license license:bsd-3)))
11972
dddbc90c
RV
11973(define-public ghc-tldr
11974 (package
11975 (name "ghc-tldr")
871ceb31 11976 (version "0.4.0.2")
dddbc90c
RV
11977 (source
11978 (origin
11979 (method url-fetch)
11980 (uri (string-append
11981 "https://hackage.haskell.org/package/tldr/tldr-"
11982 version
11983 ".tar.gz"))
11984 (sha256
11985 (base32
871ceb31 11986 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
11987 (build-system haskell-build-system)
11988 (inputs
11989 `(("ghc-cmark" ,ghc-cmark)
11990 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
11991 ("ghc-typed-process" ,ghc-typed-process)
11992 ("ghc-semigroups" ,ghc-semigroups)))
11993 (native-inputs
11994 `(("ghc-tasty" ,ghc-tasty)
11995 ("ghc-tasty-golden" ,ghc-tasty-golden)))
11996 (home-page "https://github.com/psibi/tldr-hs#readme")
11997 (synopsis "Haskell tldr client")
11998 (description "This package provides the @command{tldr} command and a
11999Haskell client library allowing users to update and view @code{tldr} pages
12000from a shell. The @code{tldr} pages are a community effort to simplify the
12001man pages with practical examples.")
12002 (license license:bsd-3)))
12003
12004(define-public ghc-transformers-base
12005 (package
12006 (name "ghc-transformers-base")
12007 (version "0.4.5.2")
12008 (source
12009 (origin
12010 (method url-fetch)
12011 (uri (string-append
12012 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
12013 version
12014 ".tar.gz"))
12015 (sha256
12016 (base32
12017 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
12018 (build-system haskell-build-system)
12019 (inputs
12020 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
12021 (home-page
12022 "https://hackage.haskell.org/package/transformers-compat")
12023 (synopsis
12024 "Backported transformer library")
12025 (description
12026 "Backported versions of types that were added to transformers in
12027transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
12028compatibility to run on old versions of the platform.")
12029 (license license:bsd-3)))
12030
12031(define-public ghc-transformers-compat
12032 (package
12033 (name "ghc-transformers-compat")
1c9c4d58 12034 (version "0.6.5")
dddbc90c
RV
12035 (source
12036 (origin
12037 (method url-fetch)
12038 (uri (string-append
12039 "https://hackage.haskell.org/package/transformers-compat"
12040 "/transformers-compat-" version ".tar.gz"))
12041 (sha256
12042 (base32
1c9c4d58 12043 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
12044 (build-system haskell-build-system)
12045 (home-page "https://github.com/ekmett/transformers-compat/")
12046 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
12047 (description "This package includes backported versions of types that were
12048added to transformers in transformers 0.3 and 0.4 for users who need strict
12049transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
12050but also need those types.")
12051 (license license:bsd-3)))
12052
12053(define-public ghc-tree-diff
12054 (package
12055 (name "ghc-tree-diff")
b4e26067 12056 (version "0.1")
dddbc90c
RV
12057 (source
12058 (origin
12059 (method url-fetch)
12060 (uri (string-append
12061 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
12062 version
12063 ".tar.gz"))
12064 (sha256
12065 (base32
b4e26067 12066 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
dddbc90c 12067 (build-system haskell-build-system)
dddbc90c
RV
12068 (inputs
12069 `(("ghc-aeson" ,ghc-aeson)
12070 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12071 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12072 ("ghc-base-compat" ,ghc-base-compat)
b4e26067 12073 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
dddbc90c 12074 ("ghc-hashable" ,ghc-hashable)
dddbc90c
RV
12075 ("ghc-parsers" ,ghc-parsers)
12076 ("ghc-quickcheck" ,ghc-quickcheck)
12077 ("ghc-scientific" ,ghc-scientific)
12078 ("ghc-tagged" ,ghc-tagged)
12079 ("ghc-unordered-containers" ,ghc-unordered-containers)
12080 ("ghc-uuid-types" ,ghc-uuid-types)
12081 ("ghc-vector" ,ghc-vector)))
12082 (native-inputs
12083 `(("ghc-base-compat" ,ghc-base-compat)
12084 ("ghc-quickcheck" ,ghc-quickcheck)
12085 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12086 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12087 ("ghc-trifecta" ,ghc-trifecta)
12088 ("ghc-tasty" ,ghc-tasty)
12089 ("ghc-tasty-golden" ,ghc-tasty-golden)
12090 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12091 (home-page "https://github.com/phadej/tree-diff")
12092 (synopsis "Compute difference between (expression) trees")
12093 (description "This Haskell library provides a function for computing
12094the difference between (expression) trees. It also provides a way to
12095compute the difference between arbitrary abstract datatypes (ADTs) using
12096@code{Generics}-derivable helpers.")
12097 (license license:bsd-3)))
12098
12099(define-public ghc-trifecta
12100 (package
12101 (name "ghc-trifecta")
12102 (version "2")
12103 (source (origin
12104 (method url-fetch)
12105 (uri (string-append
12106 "https://hackage.haskell.org/package/trifecta/"
12107 "trifecta-" version ".tar.gz"))
12108 (sha256
12109 (base32
12110 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
12111 (build-system haskell-build-system)
5ffe8cfd
TS
12112 (arguments
12113 `(#:tests? #f ; doctest suite fails to build on i686
12114 #:cabal-revision
12115 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
dddbc90c
RV
12116 (inputs
12117 `(("ghc-reducers" ,ghc-reducers)
12118 ("ghc-semigroups" ,ghc-semigroups)
12119 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12120 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12121 ("ghc-blaze-builder" ,ghc-blaze-builder)
12122 ("ghc-blaze-html" ,ghc-blaze-html)
12123 ("ghc-blaze-markup" ,ghc-blaze-markup)
12124 ("ghc-charset" ,ghc-charset)
12125 ("ghc-comonad" ,ghc-comonad)
12126 ("ghc-fingertree" ,ghc-fingertree)
12127 ("ghc-hashable" ,ghc-hashable)
12128 ("ghc-lens" ,ghc-lens)
12129 ("ghc-parsers" ,ghc-parsers)
12130 ("ghc-profunctors" ,ghc-profunctors)
12131 ("ghc-unordered-containers" ,ghc-unordered-containers)
12132 ("ghc-utf8-string" ,ghc-utf8-string)))
12133 (native-inputs
12134 `(("cabal-doctest" ,cabal-doctest)
12135 ("ghc-doctest" ,ghc-doctest)
12136 ("ghc-quickcheck" ,ghc-quickcheck)))
12137 (home-page "https://github.com/ekmett/trifecta/")
12138 (synopsis "Parser combinator library with convenient diagnostics")
12139 (description "Trifecta is a modern parser combinator library for Haskell,
12140with slicing and Clang-style colored diagnostics.")
12141 (license license:bsd-3)))
12142
12143(define-public ghc-tuple-th
12144 (package
12145 (name "ghc-tuple-th")
12146 (version "0.2.5")
12147 (source
12148 (origin
12149 (method url-fetch)
12150 (uri (string-append "https://hackage.haskell.org/package/"
12151 "tuple-th-" version "/"
12152 "tuple-th-" version ".tar.gz"))
12153 (sha256
12154 (base32
12155 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
12156 (build-system haskell-build-system)
12157 (home-page "https://github.com/DanielSchuessler/tuple-th")
12158 (synopsis "Generate utility functions for tuples of statically known size
12159for Haskell")
12160 (description "This Haskell package contains Template Haskell functions for
12161generating functions similar to those in @code{Data.List} for tuples of
12162statically known size.")
12163 (license license:bsd-3)))
12164
12165(define-public ghc-typed-process
12166 (package
12167 (name "ghc-typed-process")
72fb84a5 12168 (version "0.2.6.0")
dddbc90c
RV
12169 (source
12170 (origin
12171 (method url-fetch)
12172 (uri (string-append "https://hackage.haskell.org/package/"
12173 "typed-process/typed-process-"
12174 version ".tar.gz"))
12175 (sha256
12176 (base32
72fb84a5 12177 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
12178 (build-system haskell-build-system)
12179 (inputs
72fb84a5
TS
12180 `(("ghc-async" ,ghc-async)
12181 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
12182 (native-inputs
12183 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
12184 ("ghc-hspec" ,ghc-hspec)
12185 ("hspec-discover" ,hspec-discover)
12186 ("ghc-temporary" ,ghc-temporary)))
12187 (home-page "https://haskell-lang.org/library/typed-process")
12188 (synopsis "Run external processes with strong typing of streams")
12189 (description
12190 "This library provides the ability to launch and interact with external
12191processes. It wraps around the @code{process} library, and intends to improve
12192upon it.")
12193 (license license:expat)))
12194
d392f803
AG
12195(define-public ghc-unagi-chan
12196 (package
12197 (name "ghc-unagi-chan")
12198 (version "0.4.1.2")
12199 (source
12200 (origin
12201 (method url-fetch)
12202 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
12203 "/unagi-chan-" version ".tar.gz"))
12204 (sha256
12205 (base32
12206 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
12207 (build-system haskell-build-system)
12208 (inputs
12209 `(("ghc-atomic-primops" ,ghc-atomic-primops)
12210 ("ghc-primitive" ,ghc-primitive)))
12211 (arguments
12212 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
12213 #:cabal-revision
12214 ("1"
12215 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
3ef91e15 12216 (home-page "https://hackage.haskell.org/package/unagi-chan")
d392f803
AG
12217 (synopsis "Fast concurrent queues with a Chan-like API, and more")
12218 (description
12219 "This library provides implementations of concurrent FIFO queues (for
12220both general boxed and primitive unboxed values) that are fast, perform well
12221under contention, and offer a Chan-like interface. The library may be of
12222limited usefulness outside of x86 architectures where the fetch-and-add
12223instruction is not available.")
12224 (license license:bsd-3)))
12225
dddbc90c
RV
12226(define-public ghc-unbounded-delays
12227 (package
12228 (name "ghc-unbounded-delays")
12229 (version "0.1.1.0")
12230 (source
12231 (origin
12232 (method url-fetch)
12233 (uri (string-append
12234 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
12235 version
12236 ".tar.gz"))
12237 (sha256
12238 (base32
12239 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
12240 (build-system haskell-build-system)
12241 (home-page "https://github.com/basvandijk/unbounded-delays")
12242 (synopsis "Unbounded thread delays and timeouts")
12243 (description "The @code{threadDelay} and @code{timeout} functions from the
12244Haskell base library use the bounded @code{Int} type for specifying the delay
12245or timeout period. This package provides alternative functions which use the
12246unbounded @code{Integer} type.")
12247 (license license:bsd-3)))
12248
12249(define-public ghc-unexceptionalio
12250 (package
12251 (name "ghc-unexceptionalio")
12252 (version "0.4.0")
12253 (source
12254 (origin
12255 (method url-fetch)
12256 (uri (string-append "https://hackage.haskell.org/package/"
12257 "unexceptionalio-" version "/" "unexceptionalio-"
12258 version ".tar.gz"))
12259 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
12260 (build-system haskell-build-system)
12261 (home-page "https://github.com/singpolyma/unexceptionalio")
12262 (synopsis "IO without any non-error, synchronous exceptions")
12263 (description "When you've caught all the exceptions that can be
12264handled safely, this is what you're left with.")
12265 (license license:isc)))
12266
b69d4aa7
TS
12267(define-public ghc-unicode-transforms
12268 (package
12269 (name "ghc-unicode-transforms")
12270 (version "0.3.6")
12271 (source
12272 (origin
12273 (method url-fetch)
12274 (uri (string-append "https://hackage.haskell.org/package/"
12275 "unicode-transforms/unicode-transforms-"
12276 version ".tar.gz"))
12277 (sha256
12278 (base32
12279 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
12280 (build-system haskell-build-system)
12281 (inputs
12282 `(("ghc-bitarray" ,ghc-bitarray)))
12283 (native-inputs
12284 `(("ghc-quickcheck" ,ghc-quickcheck)
12285 ("ghc-getopt-generics" ,ghc-getopt-generics)
12286 ("ghc-split" ,ghc-split)))
12287 (home-page "https://github.com/composewell/unicode-transforms")
12288 (synopsis "Unicode normalization")
12289 (description "This library provides tools for fast Unicode 12.1.0
12290normalization in Haskell (normalization forms C, KC, D, and KD).")
12291 (license license:bsd-3)))
12292
dddbc90c
RV
12293(define-public ghc-union-find
12294 (package
12295 (name "ghc-union-find")
12296 (version "0.2")
12297 (source (origin
12298 (method url-fetch)
12299 (uri (string-append
12300 "https://hackage.haskell.org/package/union-find/union-find-"
12301 version ".tar.gz"))
12302 (sha256
12303 (base32
12304 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
12305 (build-system haskell-build-system)
12306 (home-page "https://github.com/nominolo/union-find")
12307 (synopsis "Efficient union and equivalence testing of sets")
12308 (description
12309 "The Union/Find algorithm implements these operations in (effectively)
12310constant-time:
12311@enumerate
12312@item Check whether two elements are in the same equivalence class.
12313@item Create a union of two equivalence classes.
12314@item Look up the descriptor of the equivalence class.
12315@end enumerate\n")
12316 (license license:bsd-3)))
12317
12318(define-public ghc-uniplate
12319 (package
12320 (name "ghc-uniplate")
12321 (version "1.6.12")
12322 (source
12323 (origin
12324 (method url-fetch)
12325 (uri (string-append
12326 "https://hackage.haskell.org/package/uniplate/uniplate-"
12327 version
12328 ".tar.gz"))
12329 (sha256
12330 (base32
12331 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
12332 (build-system haskell-build-system)
12333 (inputs
12334 `(("ghc-syb" ,ghc-syb)
12335 ("ghc-hashable" ,ghc-hashable)
12336 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12337 (home-page "http://community.haskell.org/~ndm/uniplate/")
12338 (synopsis "Simple, concise and fast generic operations")
12339 (description "Uniplate is a library for writing simple and concise generic
12340operations. Uniplate has similar goals to the original Scrap Your Boilerplate
12341work, but is substantially simpler and faster.")
12342 (license license:bsd-3)))
12343
12344(define-public ghc-unix-compat
12345 (package
12346 (name "ghc-unix-compat")
bc82e9f5 12347 (version "0.5.2")
dddbc90c
RV
12348 (source
12349 (origin
12350 (method url-fetch)
12351 (uri (string-append
12352 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
12353 version
12354 ".tar.gz"))
12355 (sha256
12356 (base32
bc82e9f5 12357 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
12358 (build-system haskell-build-system)
12359 (home-page
12360 "https://github.com/jystic/unix-compat")
12361 (synopsis "Portable POSIX-compatibility layer")
12362 (description
12363 "This package provides portable implementations of parts of the unix
12364package. This package re-exports the unix package when available. When it
12365isn't available, portable implementations are used.")
12366 (license license:bsd-3)))
12367
12368(define-public ghc-unix-time
12369 (package
12370 (name "ghc-unix-time")
fad9cff2 12371 (version "0.4.7")
dddbc90c
RV
12372 (source
12373 (origin
12374 (method url-fetch)
12375 (uri (string-append
12376 "https://hackage.haskell.org/package/unix-time/unix-time-"
12377 version
12378 ".tar.gz"))
12379 (sha256
12380 (base32
fad9cff2 12381 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
12382 (build-system haskell-build-system)
12383 (arguments
12384 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
12385 ; is weird, that should be provided by GHC 7.10.2.
12386 (inputs
12387 `(("ghc-old-time" ,ghc-old-time)
12388 ("ghc-old-locale" ,ghc-old-locale)))
12389 (home-page "https://hackage.haskell.org/package/unix-time")
12390 (synopsis "Unix time parser/formatter and utilities")
12391 (description "This library provides fast parsing and formatting utilities
12392for Unix time in Haskell.")
12393 (license license:bsd-3)))
12394
12395(define-public ghc-unliftio
12396 (package
12397 (name "ghc-unliftio")
a4084db1 12398 (version "0.2.12")
dddbc90c
RV
12399 (source
12400 (origin
12401 (method url-fetch)
12402 (uri (string-append
12403 "https://hackage.haskell.org/package/unliftio/unliftio-"
12404 version
12405 ".tar.gz"))
12406 (sha256
12407 (base32
a4084db1 12408 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
12409 (build-system haskell-build-system)
12410 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
12411 (inputs
12412 `(("ghc-async" ,ghc-async)
12413 ("ghc-unliftio-core" ,ghc-unliftio-core)))
12414 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
12415 (home-page "https://github.com/fpco/unliftio")
12416 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
12417IO (batteries included)")
12418 (description "This Haskell package provides the core @code{MonadUnliftIO}
12419typeclass, a number of common instances, and a collection of common functions
12420working with it.")
12421 (license license:expat)))
12422
12423(define-public ghc-unliftio-core
12424 (package
12425 (name "ghc-unliftio-core")
2ae42618 12426 (version "0.1.2.0")
dddbc90c
RV
12427 (source
12428 (origin
12429 (method url-fetch)
12430 (uri (string-append "https://hackage.haskell.org/package/"
12431 "unliftio-core-" version "/"
12432 "unliftio-core-" version ".tar.gz"))
12433 (sha256
12434 (base32
2ae42618 12435 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
12436 (build-system haskell-build-system)
12437 (arguments
12438 `(#:cabal-revision
2ae42618 12439 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
12440 (home-page
12441 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
12442 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
12443 (description "This Haskell package provides the core @code{MonadUnliftIO}
12444typeclass, instances for base and transformers, and basic utility
12445functions.")
12446 (license license:expat)))
12447
12448(define-public ghc-unordered-containers
12449 (package
12450 (name "ghc-unordered-containers")
ca01f8d3 12451 (version "0.2.10.0")
dddbc90c
RV
12452 (outputs '("out" "doc"))
12453 (source
12454 (origin
12455 (method url-fetch)
12456 (uri (string-append
12457 "https://hackage.haskell.org/package/unordered-containers"
12458 "/unordered-containers-" version ".tar.gz"))
12459 (sha256
12460 (base32
ca01f8d3 12461 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
12462 (build-system haskell-build-system)
12463 (inputs
12464 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
12465 ("ghc-hunit" ,ghc-hunit)
12466 ("ghc-quickcheck" ,ghc-quickcheck)
12467 ("ghc-test-framework" ,ghc-test-framework)
12468 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12469 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12470 ("ghc-hashable" ,ghc-hashable)))
12471 (home-page
12472 "https://github.com/tibbe/unordered-containers")
12473 (synopsis
12474 "Efficient hashing-based container types")
12475 (description
12476 "Efficient hashing-based container types. The containers have been
12477optimized for performance critical use, both in terms of large data quantities
12478and high speed.")
12479 (license license:bsd-3)))
12480
12481(define-public ghc-unordered-containers-bootstrap
12482 (package
12483 (inherit ghc-unordered-containers)
12484 (name "ghc-unordered-containers-bootstrap")
12485 (arguments `(#:tests? #f))
12486 (inputs
12487 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 12488 (properties '((hidden? #t)))))
dddbc90c 12489
a52f4c57
JS
12490(define-public ghc-unsafe
12491 (package
12492 (name "ghc-unsafe")
12493 (version "0.0")
12494 (source
12495 (origin
12496 (method url-fetch)
12497 (uri
12498 (string-append
12499 "https://hackage.haskell.org/package/unsafe/unsafe-"
12500 version ".tar.gz"))
12501 (sha256
12502 (base32
12503 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
12504 (build-system haskell-build-system)
12505 (home-page "https://hackage.haskell.org/package/unsafe")
12506 (synopsis "Unified interface to unsafe functions")
12507 (description "Safe Haskell introduced the notion of safe and unsafe
12508modules. In order to make as many as possible modules ``safe'', the
12509well-known unsafe functions were moved to distinguished modules. This
12510makes it hard to write packages that work with both old and new versions
12511of GHC. This package provides a single module System.Unsafe that
12512exports the unsafe functions from the base package. It provides them in
12513a style ready for qualification, that is, you should import them by
12514@code{import qualified System.Unsafe as Unsafe}.")
12515 (license license:bsd-3)))
12516
dddbc90c
RV
12517(define-public ghc-uri-bytestring
12518 (package
12519 (name "ghc-uri-bytestring")
d35ffd39 12520 (version "0.3.2.2")
dddbc90c
RV
12521 (source
12522 (origin
12523 (method url-fetch)
12524 (uri (string-append "https://hackage.haskell.org/package/"
12525 "uri-bytestring-" version "/"
12526 "uri-bytestring-" version ".tar.gz"))
12527 (sha256
12528 (base32
d35ffd39 12529 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
12530 (build-system haskell-build-system)
12531 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
12532 ("ghc-blaze-builder" ,ghc-blaze-builder)
12533 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 12534 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
12535 ("ghc-tasty" ,ghc-tasty)
12536 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
12537 ("ghc-hedgehog" ,ghc-hedgehog)
12538 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 12539 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 12540 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 12541 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
12542 (home-page "https://github.com/Soostone/uri-bytestring")
12543 (synopsis "Haskell URI parsing as ByteStrings")
12544 (description "This Haskell package aims to be an RFC3986 compliant URI
12545parser that uses ByteStrings for parsing and representing the URI data.")
12546 (license license:bsd-3)))
12547
12548(define-public ghc-utf8-string
12549 (package
12550 (name "ghc-utf8-string")
12551 (version "1.0.1.1")
12552 (source
12553 (origin
12554 (method url-fetch)
12555 (uri (string-append
12556 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
12557 version
12558 ".tar.gz"))
12559 (sha256
12560 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
12561 (build-system haskell-build-system)
12562 (arguments
12563 `(#:cabal-revision
12564 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
12565 (home-page "https://github.com/glguy/utf8-string/")
12566 (synopsis "Support for reading and writing UTF8 Strings")
12567 (description
12568 "A UTF8 layer for Strings. The utf8-string package provides operations
12569for encoding UTF8 strings to Word8 lists and back, and for reading and writing
12570UTF8 without truncation.")
12571 (license license:bsd-3)))
12572
12573(define-public ghc-utility-ht
12574 (package
12575 (name "ghc-utility-ht")
12576 (version "0.0.14")
12577 (home-page "https://hackage.haskell.org/package/utility-ht")
12578 (source
12579 (origin
12580 (method url-fetch)
12581 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
12582 (sha256
12583 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
12584 (build-system haskell-build-system)
12585 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
12586 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
12587 (description "This package includes Hakell modules providing various
12588helper functions for Lists, Maybes, Tuples, Functions.")
12589 (license license:bsd-3)))
12590
12591(define-public ghc-uuid
12592 (package
12593 (name "ghc-uuid")
12594 (version "1.3.13")
12595 (source
12596 (origin
12597 (method url-fetch)
12598 (uri (string-append "https://hackage.haskell.org/package/"
12599 "uuid-" version "/"
12600 "uuid-" version ".tar.gz"))
12601 (sha256
12602 (base32
12603 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
12604 (build-system haskell-build-system)
12605 (arguments
12606 `(#:cabal-revision
12607 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
12608 #:phases
12609 (modify-phases %standard-phases
12610 (add-before 'configure 'strip-test-framework-constraints
12611 (lambda _
12612 (substitute* "uuid.cabal"
12613 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
12614 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
12615 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12616 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12617 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12618 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
12619 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
12620 ("ghc-entropy" ,ghc-entropy)
12621 ("ghc-network-info" ,ghc-network-info)
12622 ("ghc-random" ,ghc-random)
12623 ("ghc-uuid-types" ,ghc-uuid-types)))
12624 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12625 ("ghc-quickcheck" ,ghc-quickcheck)
12626 ("ghc-tasty" ,ghc-tasty)
12627 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12628 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12629 (home-page "https://github.com/hvr/uuid")
12630 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
12631 (description "This Haskell library provides utilities creating, comparing,
12632parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
12633 (license license:bsd-3)))
12634
12635(define-public ghc-uuid-types
12636 (package
12637 (name "ghc-uuid-types")
12638 (version "1.0.3")
12639 (source
12640 (origin
12641 (method url-fetch)
12642 (uri (string-append "https://hackage.haskell.org/package/"
12643 "uuid-types-" version "/"
12644 "uuid-types-" version ".tar.gz"))
12645 (sha256
12646 (base32
12647 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
12648 (build-system haskell-build-system)
12649 (arguments
12650 `(#:phases
12651 (modify-phases %standard-phases
12652 (add-before 'configure 'strip-test-framework-constraints
12653 (lambda _
12654 (substitute* "uuid-types.cabal"
12655 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
12656 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
12657 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12658 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12659 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12660 (inputs `(("ghc-hashable" ,ghc-hashable)
12661 ("ghc-random" ,ghc-random)))
12662 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12663 ("ghc-quickcheck" ,ghc-quickcheck)
12664 ("ghc-tasty" ,ghc-tasty)
12665 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12666 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12667 (home-page "https://github.com/hvr/uuid")
12668 (synopsis "Haskell type definitions for UUIDs")
12669 (description "This Haskell library contains type definitions for
12670@dfn{Universally Unique Identifiers} or
12671@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
12672functions.")
12673 (license license:bsd-3)))
12674
12675(define-public ghc-validation
12676 (package
12677 (name "ghc-validation")
08397fde 12678 (version "1.1")
dddbc90c
RV
12679 (source
12680 (origin
12681 (method url-fetch)
12682 (uri (string-append
12683 "mirror://hackage/package/validation/validation-"
12684 version
12685 ".tar.gz"))
12686 (sha256
12687 (base32
08397fde 12688 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
dddbc90c
RV
12689 (build-system haskell-build-system)
12690 (arguments
12691 `(#:cabal-revision
08397fde 12692 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
dddbc90c
RV
12693 (inputs
12694 `(("ghc-semigroups" ,ghc-semigroups)
12695 ("ghc-semigroupoids" ,ghc-semigroupoids)
12696 ("ghc-bifunctors" ,ghc-bifunctors)
12697 ("ghc-lens" ,ghc-lens)))
12698 (native-inputs
12699 `(("ghc-hedgehog" ,ghc-hedgehog)
12700 ("ghc-hunit" ,ghc-hunit)))
12701 (home-page "https://github.com/qfpl/validation")
12702 (synopsis
12703 "Data-type like Either but with an accumulating Applicative")
12704 (description
12705 "A data-type like Either but with differing properties and type-class
12706instances.
12707
12708Library support is provided for this different representation, including
12709@code{lens}-related functions for converting between each and abstracting over
12710their similarities.
12711
12712The @code{Validation} data type is isomorphic to @code{Either}, but has an
12713instance of @code{Applicative} that accumulates on the error side. That is to
12714say, if two (or more) errors are encountered, they are appended using a
12715@{Semigroup} operation.
12716
12717As a consequence of this @code{Applicative} instance, there is no
12718corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
12719example of, \"An applicative functor that is not a monad.\"")
12720 (license license:bsd-3)))
12721
12722(define-public ghc-validity
12723 (package
12724 (name "ghc-validity")
3f1ba75d 12725 (version "0.9.0.2")
dddbc90c
RV
12726 (source
12727 (origin
12728 (method url-fetch)
12729 (uri (string-append
12730 "https://hackage.haskell.org/package/validity/validity-"
12731 version
12732 ".tar.gz"))
12733 (sha256
12734 (base32
3f1ba75d 12735 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
12736 (build-system haskell-build-system)
12737 (native-inputs `(("ghc-hspec" ,ghc-hspec)
12738 ("hspec-discover" ,hspec-discover)))
12739 (home-page
12740 "https://github.com/NorfairKing/validity")
12741 (synopsis "Validity typeclass")
12742 (description
12743 "Values of custom types usually have invariants imposed upon them. This
12744package provides the @code{Validity} type class, which makes these invariants
12745explicit by providing a function to check whether the invariants hold.")
12746 (license license:expat)))
12747
12748(define-public ghc-vault
12749 (package
12750 (name "ghc-vault")
b40a436e 12751 (version "0.3.1.3")
dddbc90c
RV
12752 (source
12753 (origin
12754 (method url-fetch)
12755 (uri (string-append
12756 "https://hackage.haskell.org/package/vault/vault-"
12757 version
12758 ".tar.gz"))
12759 (sha256
12760 (base32
b40a436e 12761 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
12762 (build-system haskell-build-system)
12763 (inputs
12764 `(("ghc-unordered-containers" ,ghc-unordered-containers)
12765 ("ghc-hashable" ,ghc-hashable)
b40a436e 12766 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
12767 (home-page
12768 "https://github.com/HeinrichApfelmus/vault")
12769 (synopsis "Persistent store for arbitrary values")
12770 (description "This package provides vaults for Haskell. A vault is a
12771persistent store for values of arbitrary types. It's like having first-class
12772access to the storage space behind @code{IORefs}. The data structure is
12773analogous to a bank vault, where you can access different bank boxes with
12774different keys; hence the name. Also provided is a @code{locker} type,
12775representing a store for a single element.")
12776 (license license:bsd-3)))
12777
12778(define-public ghc-vector
12779 (package
12780 (name "ghc-vector")
3ad67f6b 12781 (version "0.12.0.3")
dddbc90c
RV
12782 (outputs '("out" "doc"))
12783 (source
12784 (origin
12785 (method url-fetch)
12786 (uri (string-append
12787 "https://hackage.haskell.org/package/vector/vector-"
12788 version
12789 ".tar.gz"))
12790 (sha256
12791 (base32
3ad67f6b 12792 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
12793 (build-system haskell-build-system)
12794 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
12795 ;; disabled for now.
12796 (arguments
3ad67f6b 12797 `(#:tests? #f))
dddbc90c
RV
12798 (inputs
12799 `(("ghc-primitive" ,ghc-primitive)
12800 ("ghc-random" ,ghc-random)
12801 ("ghc-quickcheck" ,ghc-quickcheck)
12802 ;; ("ghc-hunit" ,ghc-hunit)
12803 ;; ("ghc-test-framework" ,ghc-test-framework)
12804 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12805 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12806 ))
12807 (home-page "https://github.com/haskell/vector")
12808 (synopsis "Efficient Arrays")
12809 (description "This library provides an efficient implementation of
12810Int-indexed arrays (both mutable and immutable), with a powerful loop
12811optimisation framework.")
12812 (license license:bsd-3)))
12813
12814(define-public ghc-vector-algorithms
12815 (package
12816 (name "ghc-vector-algorithms")
e71f316f 12817 (version "0.8.0.1")
dddbc90c
RV
12818 (source
12819 (origin
12820 (method url-fetch)
12821 (uri (string-append "https://hackage.haskell.org/package/"
12822 "vector-algorithms-" version "/"
12823 "vector-algorithms-" version ".tar.gz"))
12824 (sha256
12825 (base32
e71f316f 12826 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
12827 (build-system haskell-build-system)
12828 (inputs
12829 `(("ghc-vector" ,ghc-vector)))
12830 (native-inputs
12831 `(("ghc-quickcheck" ,ghc-quickcheck)))
12832 (home-page "https://github.com/bos/math-functions")
12833 (synopsis "Algorithms for vector arrays in Haskell")
12834 (description "This Haskell library algorithms for vector arrays.")
12835 (license license:bsd-3)))
12836
12837(define-public ghc-vector-binary-instances
12838 (package
12839 (name "ghc-vector-binary-instances")
ca0701ef 12840 (version "0.2.5.1")
dddbc90c
RV
12841 (source
12842 (origin
12843 (method url-fetch)
12844 (uri (string-append
12845 "https://hackage.haskell.org/package/"
12846 "vector-binary-instances/vector-binary-instances-"
12847 version ".tar.gz"))
12848 (sha256
12849 (base32
ca0701ef 12850 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 12851 (build-system haskell-build-system)
dddbc90c
RV
12852 (inputs
12853 `(("ghc-vector" ,ghc-vector)))
12854 (native-inputs
12855 `(("ghc-tasty" ,ghc-tasty)
12856 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12857 (home-page "https://github.com/bos/vector-binary-instances")
12858 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
12859 (description "This library provides instances of @code{Binary} for the
12860types defined in the @code{vector} package, making it easy to serialize
12861vectors to and from disk. We use the generic interface to vectors, so all
12862vector types are supported. Specific instances are provided for unboxed,
12863boxed and storable vectors.")
12864 (license license:bsd-3)))
12865
12866(define-public ghc-vector-builder
12867 (package
12868 (name "ghc-vector-builder")
1fc05441 12869 (version "0.3.8")
dddbc90c
RV
12870 (source
12871 (origin
12872 (method url-fetch)
12873 (uri (string-append "https://hackage.haskell.org/package/"
12874 "vector-builder-" version "/"
12875 "vector-builder-" version ".tar.gz"))
12876 (sha256
12877 (base32
1fc05441 12878 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
12879 (build-system haskell-build-system)
12880 (inputs `(("ghc-vector" ,ghc-vector)
12881 ("ghc-semigroups" ,ghc-semigroups)
12882 ("ghc-base-prelude" ,ghc-base-prelude)))
12883 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
12884 ("ghc-tasty" ,ghc-tasty)
12885 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12886 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
12887 ("ghc-hunit" ,ghc-hunit)
12888 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
12889 ("ghc-rerebase" ,ghc-rerebase)))
12890 (home-page "https://github.com/nikita-volkov/vector-builder")
12891 (synopsis "Vector builder for Haskell")
12892 (description "This Haskell package provides an API for constructing vectors.
12893It provides the composable @code{Builder} abstraction, which has instances of the
12894@code{Monoid} and @code{Semigroup} classes.
12895
12896You would first use the @code{Builder} abstraction to specify the structure of
12897the vector; then you can execute the builder to actually produce the
12898vector. ")
12899 (license license:expat)))
12900
12901(define-public ghc-vector-th-unbox
12902 (package
12903 (name "ghc-vector-th-unbox")
63056e61 12904 (version "0.2.1.7")
dddbc90c
RV
12905 (source
12906 (origin
12907 (method url-fetch)
12908 (uri (string-append "https://hackage.haskell.org/package/"
12909 "vector-th-unbox-" version "/"
12910 "vector-th-unbox-" version ".tar.gz"))
12911 (sha256
12912 (base32
63056e61 12913 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
12914 (build-system haskell-build-system)
12915 (inputs
12916 `(("ghc-vector" ,ghc-vector)
12917 ("ghc-data-default" ,ghc-data-default)))
12918 (home-page "https://github.com/liyang/vector-th-unbox")
12919 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
12920 (description "This Haskell library provides a Template Haskell
12921deriver for unboxed vectors, given a pair of coercion functions to
12922and from some existing type with an Unbox instance.")
12923 (license license:bsd-3)))
12924
12925(define-public ghc-void
12926 (package
12927 (name "ghc-void")
51889121 12928 (version "0.7.3")
dddbc90c
RV
12929 (source
12930 (origin
12931 (method url-fetch)
12932 (uri (string-append
12933 "https://hackage.haskell.org/package/void/void-"
12934 version
12935 ".tar.gz"))
12936 (sha256
12937 (base32
51889121 12938 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
12939 (build-system haskell-build-system)
12940 (inputs
12941 `(("ghc-semigroups" ,ghc-semigroups)
12942 ("ghc-hashable" ,ghc-hashable)))
12943 (home-page "https://github.com/ekmett/void")
12944 (synopsis
12945 "Logically uninhabited data type")
12946 (description
12947 "A Haskell 98 logically uninhabited data type, used to indicate that a
12948given term should not exist.")
12949 (license license:bsd-3)))
12950
12951(define-public ghc-wave
12952 (package
12953 (name "ghc-wave")
1631a0f7 12954 (version "0.2.0")
dddbc90c
RV
12955 (source (origin
12956 (method url-fetch)
12957 (uri (string-append
12958 "https://hackage.haskell.org/package/wave/wave-"
12959 version
12960 ".tar.gz"))
12961 (sha256
12962 (base32
1631a0f7 12963 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
12964 (build-system haskell-build-system)
12965 (arguments
12966 '(#:phases
12967 (modify-phases %standard-phases
12968 (add-before 'configure 'update-constraints
12969 (lambda _
12970 (substitute* "wave.cabal"
12971 (("temporary.* < 1\\.3")
12972 "temporary >= 1.1 && < 1.4")))))))
12973 (inputs
12974 `(("ghc-cereal" ,ghc-cereal)
12975 ("ghc-data-default-class"
12976 ,ghc-data-default-class)
12977 ("ghc-quickcheck" ,ghc-quickcheck)
12978 ("ghc-temporary" ,ghc-temporary)))
12979 (native-inputs
12980 `(("hspec-discover" ,hspec-discover)
12981 ("ghc-hspec" ,ghc-hspec)))
12982 (home-page "https://github.com/mrkkrp/wave")
12983 (synopsis "Work with WAVE and RF64 files in Haskell")
12984 (description "This package allows you to work with WAVE and RF64
12985files in Haskell.")
12986 (license license:bsd-3)))
12987
12988(define-public ghc-wcwidth
12989 (package
12990 (name "ghc-wcwidth")
12991 (version "0.0.2")
12992 (source
12993 (origin
12994 (method url-fetch)
12995 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
12996 version ".tar.gz"))
12997 (sha256
12998 (base32
12999 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
13000 (build-system haskell-build-system)
13001 (inputs
13002 `(("ghc-setlocale" ,ghc-setlocale)
13003 ("ghc-utf8-string" ,ghc-utf8-string)
13004 ("ghc-attoparsec" ,ghc-attoparsec)))
13005 (home-page "https://github.com/solidsnack/wcwidth/")
13006 (synopsis "Haskell bindings to wcwidth")
13007 (description "This package provides Haskell bindings to your system's
13008native wcwidth and a command line tool to examine the widths assigned by it.
13009The command line tool can compile a width table to Haskell code that assigns
13010widths to the Char type.")
13011 (license license:bsd-3)))
13012
13013(define-public ghc-wcwidth-bootstrap
13014 (package
13015 (inherit ghc-wcwidth)
13016 (name "ghc-wcwidth-bootstrap")
13017 (inputs
13018 `(("ghc-setlocale" ,ghc-setlocale)
13019 ("ghc-utf8-string" ,ghc-utf8-string)
13020 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 13021 (properties '((hidden? #t)))))
dddbc90c
RV
13022
13023(define-public ghc-weigh
13024 (package
13025 (name "ghc-weigh")
b6d9777f 13026 (version "0.0.14")
dddbc90c
RV
13027 (source
13028 (origin
13029 (method url-fetch)
13030 (uri (string-append "https://hackage.haskell.org/package/weigh/"
13031 "weigh-" version ".tar.gz"))
13032 (sha256
13033 (base32
b6d9777f 13034 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
13035 (build-system haskell-build-system)
13036 (inputs
13037 `(("ghc-split" ,ghc-split)
13038 ("ghc-temporary" ,ghc-temporary)))
13039 (home-page "https://github.com/fpco/weigh#readme")
13040 (synopsis "Measure allocations of a Haskell functions/values")
13041 (description "This package provides tools to measure the memory usage of a
13042Haskell value or function.")
13043 (license license:bsd-3)))
13044
13045(define-public ghc-wl-pprint
13046 (package
13047 (name "ghc-wl-pprint")
13048 (version "1.2.1")
13049 (source (origin
13050 (method url-fetch)
13051 (uri (string-append
13052 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
13053 version ".tar.gz"))
13054 (sha256
13055 (base32
13056 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
13057 (build-system haskell-build-system)
13058 (home-page "https://hackage.haskell.org/package/wl-pprint")
13059 (synopsis "Wadler/Leijen pretty printer")
13060 (description
13061 "This is a pretty printing library based on Wadler's paper @i{A Prettier
13062Printer}. This version allows the library user to declare overlapping
13063instances of the @code{Pretty} class.")
13064 (license license:bsd-3)))
13065
13066(define-public ghc-wl-pprint-annotated
13067 (package
13068 (name "ghc-wl-pprint-annotated")
13069 (version "0.1.0.1")
13070 (source
13071 (origin
13072 (method url-fetch)
13073 (uri (string-append
13074 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
13075 version
13076 ".tar.gz"))
13077 (sha256
13078 (base32
13079 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
13080 (build-system haskell-build-system)
13081 (native-inputs
13082 `(("ghc-tasty" ,ghc-tasty)
13083 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
13084 (home-page
13085 "https://github.com/minad/wl-pprint-annotated#readme")
13086 (synopsis
13087 "Wadler/Leijen pretty printer with annotation support")
13088 (description
13089 "Annotations are useful for coloring. This is a limited version of
13090@code{wl-pprint-extras} without support for point effects and without the free
13091monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
13092Compared to @code{annotated-wl-pprint} this library provides a slightly
13093modernized interface.")
13094 (license license:bsd-3)))
13095
13096(define-public ghc-wl-pprint-text
13097 (package
13098 (name "ghc-wl-pprint-text")
13099 (version "1.2.0.0")
13100 (source
13101 (origin
13102 (method url-fetch)
13103 (uri (string-append
13104 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
13105 version ".tar.gz"))
13106 (sha256
13107 (base32
13108 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
13109 (build-system haskell-build-system)
13110 (inputs
13111 `(("ghc-base-compat" ,ghc-base-compat)))
13112 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
13113 (synopsis "Wadler/Leijen Pretty Printer for Text values")
13114 (description
13115 "A clone of wl-pprint for use with the text library.")
13116 (license license:bsd-3)))
13117
13118(define-public ghc-word8
13119 (package
13120 (name "ghc-word8")
13121 (version "0.1.3")
13122 (source
13123 (origin
13124 (method url-fetch)
13125 (uri (string-append
13126 "https://hackage.haskell.org/package/word8/word8-"
13127 version
13128 ".tar.gz"))
13129 (sha256
13130 (base32
13131 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
13132 (build-system haskell-build-system)
13133 (native-inputs
13134 `(("ghc-hspec" ,ghc-hspec)
13135 ("hspec-discover" ,hspec-discover)))
13136 (home-page "https://hackage.haskell.org/package/word8")
13137 (synopsis "Word8 library for Haskell")
13138 (description "Word8 library to be used with @code{Data.ByteString}.")
13139 (license license:bsd-3)))
13140
13141(define-public ghc-x11
13142 (package
13143 (name "ghc-x11")
6c4581a3 13144 (version "1.9.1")
dddbc90c
RV
13145 (source
13146 (origin
13147 (method url-fetch)
13148 (uri (string-append "https://hackage.haskell.org/package/X11/"
13149 "X11-" version ".tar.gz"))
13150 (sha256
6c4581a3 13151 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
13152 (build-system haskell-build-system)
13153 (inputs
13154 `(("libx11" ,libx11)
13155 ("libxrandr" ,libxrandr)
13156 ("libxinerama" ,libxinerama)
13157 ("libxscrnsaver" ,libxscrnsaver)
13158 ("ghc-data-default" ,ghc-data-default)))
13159 (home-page "https://github.com/haskell-pkg-janitors/X11")
13160 (synopsis "Bindings to the X11 graphics library")
13161 (description
13162 "This package provides Haskell bindings to the X11 graphics library. The
13163bindings are a direct translation of the C bindings.")
13164 (license license:bsd-3)))
13165
13166(define-public ghc-x11-xft
13167 (package
13168 (name "ghc-x11-xft")
13169 (version "0.3.1")
13170 (source
13171 (origin
13172 (method url-fetch)
13173 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
13174 "X11-xft-" version ".tar.gz"))
13175 (sha256
13176 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
13177 (inputs
13178 `(("ghc-x11" ,ghc-x11)
13179 ("ghc-utf8-string" ,ghc-utf8-string)
13180 ("libx11" ,libx11)
13181 ("libxft" ,libxft)
13182 ("xorgproto" ,xorgproto)))
13183 (native-inputs
13184 `(("pkg-config" ,pkg-config)))
13185 (build-system haskell-build-system)
13186 (home-page "https://hackage.haskell.org/package/X11-xft")
13187 (synopsis "Bindings to Xft")
13188 (description
13189 "Bindings to the Xft, X Free Type interface library, and some Xrender
13190parts.")
13191 (license license:lgpl2.1)))
13192
13193(define-public ghc-xdg-basedir
13194 (package
13195 (name "ghc-xdg-basedir")
13196 (version "0.2.2")
13197 (source
13198 (origin
13199 (method url-fetch)
13200 (uri (string-append
13201 "https://hackage.haskell.org/package/xdg-basedir/"
13202 "xdg-basedir-" version ".tar.gz"))
13203 (sha256
13204 (base32
13205 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
13206 (build-system haskell-build-system)
13207 (home-page "http://github.com/willdonnelly/xdg-basedir")
13208 (synopsis "XDG Base Directory library for Haskell")
13209 (description "This package provides a library implementing the XDG Base Directory spec.")
13210 (license license:bsd-3)))
13211
13212(define-public ghc-xml
13213 (package
13214 (name "ghc-xml")
13215 (version "1.3.14")
13216 (source
13217 (origin
13218 (method url-fetch)
13219 (uri (string-append
13220 "https://hackage.haskell.org/package/xml/xml-"
13221 version
13222 ".tar.gz"))
13223 (sha256
13224 (base32
13225 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
13226 (build-system haskell-build-system)
2b62f5d0 13227 (home-page "https://github.com/GaloisInc/xml")
dddbc90c
RV
13228 (synopsis "Simple XML library for Haskell")
13229 (description "This package provides a simple XML library for Haskell.")
13230 (license license:bsd-3)))
13231
13232(define-public ghc-xml-conduit
13233 (package
13234 (name "ghc-xml-conduit")
13235 (version "1.8.0.1")
13236 (source
13237 (origin
13238 (method url-fetch)
13239 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
13240 "xml-conduit-" version ".tar.gz"))
13241 (sha256
13242 (base32
13243 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
13244 (build-system haskell-build-system)
13245 (inputs
13246 `(("ghc-conduit" ,ghc-conduit)
13247 ("ghc-conduit-extra" ,ghc-conduit-extra)
13248 ("ghc-doctest" ,ghc-doctest)
13249 ("ghc-resourcet" ,ghc-resourcet)
13250 ("ghc-xml-types" ,ghc-xml-types)
13251 ("ghc-attoparsec" ,ghc-attoparsec)
13252 ("ghc-data-default-class" ,ghc-data-default-class)
13253 ("ghc-blaze-markup" ,ghc-blaze-markup)
13254 ("ghc-blaze-html" ,ghc-blaze-html)
13255 ("ghc-monad-control" ,ghc-monad-control)
13256 ("ghc-hspec" ,ghc-hspec)
13257 ("ghc-hunit" ,ghc-hunit)))
13258 (home-page "https://github.com/snoyberg/xml")
13259 (synopsis "Utilities for dealing with XML with the conduit package")
13260 (description
13261 "This package provides pure-Haskell utilities for dealing with XML with
13262the @code{conduit} package.")
13263 (license license:expat)))
13264
13265(define-public ghc-xml-types
13266 (package
13267 (name "ghc-xml-types")
13268 (version "0.3.6")
13269 (source
13270 (origin
13271 (method url-fetch)
13272 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
13273 "xml-types-" version ".tar.gz"))
13274 (sha256
13275 (base32
13276 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
13277 (build-system haskell-build-system)
13278 (home-page "https://john-millikin.com/software/haskell-xml/")
13279 (synopsis "Basic types for representing XML")
13280 (description "This package provides basic types for representing XML
13281documents.")
13282 (license license:expat)))
13283
13284(define-public ghc-yaml
13285 (package
13286 (name "ghc-yaml")
b58e5b84 13287 (version "0.11.1.2")
dddbc90c
RV
13288 (source (origin
13289 (method url-fetch)
13290 (uri (string-append "https://hackage.haskell.org/package/"
13291 "yaml/yaml-" version ".tar.gz"))
13292 (sha256
13293 (base32
b58e5b84 13294 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 13295 (build-system haskell-build-system)
dddbc90c
RV
13296 (inputs
13297 `(("ghc-conduit" ,ghc-conduit)
13298 ("ghc-resourcet" ,ghc-resourcet)
13299 ("ghc-aeson" ,ghc-aeson)
13300 ("ghc-unordered-containers" ,ghc-unordered-containers)
13301 ("ghc-vector" ,ghc-vector)
13302 ("ghc-attoparsec" ,ghc-attoparsec)
13303 ("ghc-scientific" ,ghc-scientific)
13304 ("ghc-semigroups" ,ghc-semigroups)
13305 ("ghc-temporary" ,ghc-temporary)
13306 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
13307 ("ghc-base-compat" ,ghc-base-compat)
13308 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
13309 (native-inputs
13310 `(("ghc-hspec" ,ghc-hspec)
13311 ("ghc-hunit" ,ghc-hunit)
13312 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
13313 ("ghc-mockery" ,ghc-mockery)
13314 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
13315 (home-page "https://github.com/snoyberg/yaml/")
13316 (synopsis "Parsing and rendering YAML documents")
13317 (description
13318 "This package provides a library to parse and render YAML documents.")
13319 (license license:bsd-3)))
13320
13321(define-public ghc-zip-archive
13322 (package
13323 (name "ghc-zip-archive")
93c1fdd3 13324 (version "0.4.1")
dddbc90c
RV
13325 (source
13326 (origin
13327 (method url-fetch)
13328 (uri (string-append
13329 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
13330 version
13331 ".tar.gz"))
13332 (sha256
13333 (base32
93c1fdd3 13334 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 13335 (build-system haskell-build-system)
93c1fdd3
TS
13336 (arguments
13337 `(#:phases
13338 (modify-phases %standard-phases
13339 (add-before 'check 'set-PATH-for-tests
13340 (lambda* (#:key inputs #:allow-other-keys)
13341 (let ((unzip (assoc-ref inputs "unzip"))
13342 (which (assoc-ref inputs "which"))
13343 (path (getenv "PATH")))
13344 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
13345 #t))))))
dddbc90c
RV
13346 (inputs
13347 `(("ghc-digest" ,ghc-digest)
13348 ("ghc-temporary" ,ghc-temporary)
13349 ("ghc-zlib" ,ghc-zlib)))
13350 (native-inputs
13351 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
13352 ("unzip" ,unzip)
13353 ("which" ,which)))
dddbc90c
RV
13354 (home-page "https://hackage.haskell.org/package/zip-archive")
13355 (synopsis "Zip archive library for Haskell")
13356 (description "The zip-archive library provides functions for creating,
13357modifying, and extracting files from zip archives in Haskell.")
13358 (license license:bsd-3)))
13359
13360(define-public ghc-zlib
13361 (package
13362 (name "ghc-zlib")
bf12089a 13363 (version "0.6.2.1")
dddbc90c
RV
13364 (outputs '("out" "doc"))
13365 (source
13366 (origin
13367 (method url-fetch)
13368 (uri (string-append
13369 "https://hackage.haskell.org/package/zlib/zlib-"
13370 version
13371 ".tar.gz"))
13372 (sha256
13373 (base32
bf12089a 13374 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
13375 (build-system haskell-build-system)
13376 (arguments
13377 `(#:phases
13378 (modify-phases %standard-phases
13379 (add-before 'configure 'strip-test-framework-constraints
13380 (lambda _
13381 (substitute* "zlib.cabal"
13382 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
13383 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
13384 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13385 (inputs `(("zlib" ,zlib)))
13386 (native-inputs
13387 `(("ghc-quickcheck" ,ghc-quickcheck)
13388 ("ghc-tasty" ,ghc-tasty)
13389 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13390 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13391 (home-page "https://hackage.haskell.org/package/zlib")
13392 (synopsis
13393 "Compression and decompression in the gzip and zlib formats")
13394 (description
13395 "This package provides a pure interface for compressing and decompressing
13396streams of data represented as lazy @code{ByteString}s. It uses the zlib C
13397library so it has high performance. It supports the @code{zlib}, @code{gzip}
13398and @code{raw} compression formats. It provides a convenient high level API
13399suitable for most tasks and for the few cases where more control is needed it
13400provides access to the full zlib feature set.")
bbf8bf31 13401 (license license:bsd-3)))
14e41996
RV
13402
13403(define-public ghc-zlib-bindings
13404 (package
13405 (name "ghc-zlib-bindings")
13406 (version "0.1.1.5")
13407 (source
13408 (origin
13409 (method url-fetch)
13410 (uri (string-append "https://hackage.haskell.org/package/"
13411 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
13412 (sha256
13413 (base32
13414 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
13415 (build-system haskell-build-system)
13416 (inputs
13417 `(("ghc-zlib" ,ghc-zlib)))
13418 (native-inputs
13419 `(("ghc-hspec" ,ghc-hspec)
13420 ("ghc-quickcheck" ,ghc-quickcheck)))
13421 (arguments
13422 `(#:cabal-revision
13423 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
13424 (home-page "https://github.com/snapframework/zlib-bindings")
13425 (synopsis "Low-level bindings to the @code{zlib} package")
13426 (description "This package provides low-level bindings to the
13427@code{zlib} package.")
13428 (license license:bsd-3)))
8428e92c
TS
13429
13430(define-public ghc-zstd
13431 (package
13432 (name "ghc-zstd")
13433 (version "0.1.1.2")
13434 (source
13435 (origin
13436 (method url-fetch)
13437 (uri (string-append "https://hackage.haskell.org/package/"
13438 "zstd/zstd-" version ".tar.gz"))
13439 (sha256
13440 (base32
13441 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
13442 (build-system haskell-build-system)
13443 (native-inputs
13444 `(("ghc-quickcheck" ,ghc-quickcheck)
13445 ("ghc-test-framework" ,ghc-test-framework)
13446 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
13447 (home-page "https://github.com/luispedro/hs-zstd")
13448 (synopsis "Haskell bindings to the Zstandard compression algorithm")
13449 (description "This library provides Haskell bindings to the
13450Zstandard compression algorithm, a fast lossless compression algorithm
13451targeting real-time compression scenarios at zlib-level and better
13452compression ratios.")
13453 (license license:bsd-3)))