gnu: Add ghc-basic-prelude.
[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>
fbe32d46 28;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
6b34d01c
RV
29;;;
30;;; This file is part of GNU Guix.
31;;;
32;;; GNU Guix is free software; you can redistribute it and/or modify it
33;;; under the terms of the GNU General Public License as published by
34;;; the Free Software Foundation; either version 3 of the License, or (at
35;;; your option) any later version.
36;;;
37;;; GNU Guix is distributed in the hope that it will be useful, but
38;;; WITHOUT ANY WARRANTY; without even the implied warranty of
39;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
40;;; GNU General Public License for more details.
41;;;
42;;; You should have received a copy of the GNU General Public License
43;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
44
45(define-module (gnu packages haskell-xyz)
46 #:use-module (gnu packages)
dddbc90c
RV
47 #:use-module (gnu packages base)
48 #:use-module (gnu packages compression)
49 #:use-module (gnu packages emacs)
50 #:use-module (gnu packages gcc)
51 #:use-module (gnu packages gl)
52 #:use-module (gnu packages graphviz)
53 #:use-module (gnu packages gtk)
54 #:use-module (gnu packages haskell-apps)
efb96749 55 #:use-module (gnu packages haskell-check)
dddbc90c
RV
56 #:use-module (gnu packages haskell-crypto)
57 #:use-module (gnu packages haskell-web)
58 #:use-module (gnu packages libffi)
59 #:use-module (gnu packages linux)
e3ee8023 60 #:use-module (gnu packages llvm)
dddbc90c
RV
61 #:use-module (gnu packages lua)
62 #:use-module (gnu packages maths)
49e29df5 63 #:use-module (gnu packages ncurses)
dddbc90c
RV
64 #:use-module (gnu packages pcre)
65 #:use-module (gnu packages pkg-config)
66 #:use-module (gnu packages sdl)
0c2d6fc2 67 #:use-module (gnu packages web)
dddbc90c
RV
68 #:use-module (gnu packages xml)
69 #:use-module (gnu packages xorg)
6b34d01c
RV
70 #:use-module (guix build-system haskell)
71 #:use-module (guix download)
dddbc90c 72 #:use-module (guix git-download)
4780db2c 73 #:use-module (guix utils)
6b34d01c
RV
74 #:use-module ((guix licenses) #:prefix license:)
75 #:use-module (guix packages))
76
dddbc90c 77(define-public ghc-abstract-deque
efb96749 78 (package
dddbc90c
RV
79 (name "ghc-abstract-deque")
80 (version "0.3")
efb96749
RV
81 (source
82 (origin
83 (method url-fetch)
84 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
85 "abstract-deque-" version "/"
86 "abstract-deque-" version ".tar.gz"))
efb96749
RV
87 (sha256
88 (base32
dddbc90c 89 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
efb96749 90 (build-system haskell-build-system)
dddbc90c
RV
91 (inputs `(("ghc-random" ,ghc-random)))
92 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
93 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
94 (description "This Haskell package provides an abstract interface to
95highly-parameterizable queues/deques.
96
97Background: There exists a feature space for queues that extends between:
efb96749
RV
98
99@itemize
dddbc90c
RV
100@item Simple, single-ended, non-concurrent, bounded queues
101
102@item Double-ended, thread-safe, growable queues with important points
103in between (such as the queues used for work stealing).
efb96749
RV
104@end itemize
105
dddbc90c
RV
106This package includes an interface for Deques that allows the programmer
107to use a single API for all of the above, while using the type system to
108select an efficient implementation given the requirements (using type families).
efb96749 109
dddbc90c
RV
110This package also includes a simple reference implementation based on
111@code{IORef} and @code{Data.Sequence}.")
efb96749
RV
112 (license license:bsd-3)))
113
dddbc90c 114(define-public ghc-abstract-par
658dbc7f 115 (package
dddbc90c
RV
116 (name "ghc-abstract-par")
117 (version "0.3.3")
658dbc7f
RV
118 (source
119 (origin
120 (method url-fetch)
121 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
122 "abstract-par-" version "/"
123 "abstract-par-" version ".tar.gz"))
658dbc7f
RV
124 (sha256
125 (base32
dddbc90c
RV
126 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
127 (build-system haskell-build-system)
128 (home-page "https://github.com/simonmar/monad-par")
129 (synopsis "Abstract parallelization interface for Haskell")
130 (description "This Haskell package is an abstract interface
131only. It provides a number of type clasess, but not an
132implementation. The type classes separate different levels
133of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
134module for more details.")
135 (license license:bsd-3)))
136
d8b88d74
TS
137(define-public ghc-active
138 (package
139 (name "ghc-active")
140 (version "0.2.0.14")
141 (source
142 (origin
143 (method url-fetch)
144 (uri (string-append "https://hackage.haskell.org/package/"
145 "active/active-" version ".tar.gz"))
146 (sha256
147 (base32
148 "0x3b4ln6csa554qls28wbxvclkbdz3yi60i1m0q5ing0cs16fifz"))))
149 (build-system haskell-build-system)
150 (inputs
151 `(("ghc-vector" ,ghc-vector)
152 ("ghc-semigroups" ,ghc-semigroups)
153 ("ghc-semigroupoids" ,ghc-semigroupoids)
154 ("ghc-lens" ,ghc-lens)
155 ("ghc-linear" ,ghc-linear)))
156 (native-inputs
157 `(("ghc-quickcheck" ,ghc-quickcheck)))
158 (home-page "https://hackage.haskell.org/package/active")
159 (synopsis "Abstractions for animation")
160 (description "This package defines an @code{Active} abstraction for
161time-varying values with finite start and end times. It is used for
162describing animations within the
163@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
164diagrams framework}.")
165 (license license:bsd-3)))
166
dddbc90c
RV
167(define-public ghc-adjunctions
168 (package
169 (name "ghc-adjunctions")
170 (version "4.4")
171 (source
172 (origin
173 (method url-fetch)
174 (uri (string-append
175 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
176 version
177 ".tar.gz"))
178 (sha256
179 (base32
180 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f 181 (build-system haskell-build-system)
a78262be
TS
182 (arguments
183 `(#:cabal-revision
184 ("2" "1yfsjx7dqikg3hvld7i91xfsg5lawmr5980lvfd794sybmgxsf17")))
658dbc7f 185 (inputs
dddbc90c
RV
186 `(("ghc-profunctors" ,ghc-profunctors)
187 ("ghc-comonad" ,ghc-comonad)
188 ("ghc-contravariant" ,ghc-contravariant)
189 ("ghc-distributive" ,ghc-distributive)
190 ("ghc-free" ,ghc-free)
191 ("ghc-tagged" ,ghc-tagged)
192 ("ghc-semigroupoids" ,ghc-semigroupoids)
193 ("ghc-semigroups" ,ghc-semigroups)
194 ("ghc-transformers-compat" ,ghc-transformers-compat)
195 ("ghc-void" ,ghc-void)))
658dbc7f 196 (native-inputs
dddbc90c
RV
197 `(("ghc-generic-deriving" ,ghc-generic-deriving)
198 ("ghc-hspec" ,ghc-hspec)
199 ("hspec-discover" ,hspec-discover)))
200 (home-page "https://github.com/ekmett/adjunctions/")
201 (synopsis "Adjunctions and representable functors")
202 (description "This library provides adjunctions and representable functors
203for Haskell.")
204 (license license:bsd-3)))
205
206(define-public ghc-aeson-compat
207 (package
208 (name "ghc-aeson-compat")
0bafb755 209 (version "0.3.9")
dddbc90c
RV
210 (source
211 (origin
212 (method url-fetch)
213 (uri (string-append "https://hackage.haskell.org/package/"
214 "aeson-compat-" version "/"
215 "aeson-compat-" version ".tar.gz"))
216 (sha256
217 (base32
0bafb755 218 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
dddbc90c
RV
219 (build-system haskell-build-system)
220 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
221 (inputs `(("ghc-base-compat" ,ghc-base-compat)
222 ("ghc-aeson" ,ghc-aeson)
223 ("ghc-attoparsec" ,ghc-attoparsec)
224 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
225 ("ghc-exceptions" ,ghc-exceptions)
226 ("ghc-hashable" ,ghc-hashable)
227 ("ghc-scientific" ,ghc-scientific)
228 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
229 ("ghc-unordered-containers" ,ghc-unordered-containers)
230 ("ghc-vector" ,ghc-vector)
231 ("ghc-tagged" ,ghc-tagged)
232 ("ghc-semigroups" ,ghc-semigroups)
233 ("ghc-nats" ,ghc-nats)))
234 (home-page "https://github.com/phadej/aeson-compat")
235 (synopsis "Compatibility layer for ghc-aeson")
236 (description "This Haskell package provides compatibility layer for
237ghc-aeson.")
238 (license license:bsd-3)))
239
cbc6f861
TS
240(define-public ghc-aeson-diff
241 (package
242 (name "ghc-aeson-diff")
243 (version "1.1.0.7")
244 (source
245 (origin
246 (method url-fetch)
247 (uri (string-append "https://hackage.haskell.org/package/"
248 "aeson-diff/aeson-diff-" version ".tar.gz"))
249 (sha256
250 (base32
251 "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r"))))
252 (build-system haskell-build-system)
253 (inputs
254 `(("ghc-aeson" ,ghc-aeson)
255 ("ghc-edit-distance-vector" ,ghc-edit-distance-vector)
256 ("ghc-hashable" ,ghc-hashable)
257 ("ghc-scientific" ,ghc-scientific)
258 ("ghc-unordered-containers" ,ghc-unordered-containers)
259 ("ghc-vector" ,ghc-vector)
260 ("ghc-semigroups" ,ghc-semigroups)
261 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
262 (native-inputs
263 `(("ghc-quickcheck" ,ghc-quickcheck)
264 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
265 ("ghc-glob" ,ghc-glob)
266 ("ghc-quickcheck" ,ghc-quickcheck)
267 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
268 ("ghc-quickcheck" ,ghc-quickcheck)
269 ("ghc-doctest" ,ghc-doctest)
270 ("hlint" ,hlint)))
271 (home-page "https://github.com/thsutton/aeson-diff")
272 (synopsis "Extract and apply patches to JSON documents")
273 (description "This is a small library for working with changes to JSON
274documents. It includes a library and two command-line executables in the
275style of the @command{diff} and @command{patch} commands available on many
276systems.")
277 (license license:bsd-3)))
278
dddbc90c
RV
279(define-public ghc-alex
280 (package
281 (name "ghc-alex")
282 (version "3.2.4")
283 (source
284 (origin
285 (method url-fetch)
286 (uri (string-append
287 "https://hackage.haskell.org/package/alex/alex-"
288 version
289 ".tar.gz"))
290 (sha256
291 (base32
292 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
293 (build-system haskell-build-system)
658dbc7f 294 (arguments
dddbc90c
RV
295 `(#:phases
296 (modify-phases %standard-phases
297 (add-before 'check 'set-check-variables
298 (lambda _
299 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
300 (getenv "PATH")))
301 (setenv "alex_datadir" (string-append (getcwd) "/data"))
302 #t)))))
303 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
304 (native-inputs
305 `(("which" ,which)))
306 (home-page "https://www.haskell.org/alex/")
307 (synopsis
308 "Tool for generating lexical analysers in Haskell")
309 (description
310 "Alex is a tool for generating lexical analysers in Haskell. It takes a
311description of tokens based on regular expressions and generates a Haskell
312module containing code for scanning text efficiently. It is similar to the
313tool lex or flex for C/C++.")
658dbc7f
RV
314 (license license:bsd-3)))
315
dddbc90c 316(define-public ghc-alsa-core
7b01a977 317 (package
dddbc90c
RV
318 (name "ghc-alsa-core")
319 (version "0.5.0.1")
320 (source
321 (origin
322 (method url-fetch)
323 (uri (string-append
324 "mirror://hackage/package/alsa-core/alsa-core-"
325 version
326 ".tar.gz"))
327 (sha256
328 (base32
329 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
330 (build-system haskell-build-system)
331 (inputs
332 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
333 ("alsa-lib" ,alsa-lib)))
334 (native-inputs
335 `(("pkg-config" ,pkg-config)))
336 (home-page "http://www.haskell.org/haskellwiki/ALSA")
337 (synopsis "Binding to the ALSA Library API (Exceptions)")
338 (description "This package provides access to ALSA infrastructure, that is
339needed by both alsa-seq and alsa-pcm.")
340 (license license:bsd-3)))
341
f2ed1e6d
JS
342(define-public ghc-alsa-mixer
343 (package
344 (name "ghc-alsa-mixer")
345 (version "0.3.0")
346 (source
347 (origin
348 (method url-fetch)
349 (uri
350 (string-append
351 "mirror://hackage/package/alsa-mixer/alsa-mixer-"
352 version ".tar.gz"))
353 (sha256
354 (base32
355 "00ny2p3276jilidjs44npc8zmbhynz3f2lpmlwwl6swwx5yijsnb"))))
356 (build-system haskell-build-system)
357 (inputs `(("ghc-alsa-core" ,ghc-alsa-core)))
358 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
359 (home-page "https://github.com/ttuegel/alsa-mixer")
360 (synopsis "Bindings to the ALSA simple mixer API")
361 (description
362 "This package provides bindings to the ALSA simple mixer API.")
363 (license license:bsd-3)))
364
dddbc90c
RV
365(define-public ghc-annotated-wl-pprint
366 (package
367 (name "ghc-annotated-wl-pprint")
368 (version "0.7.0")
369 (source
370 (origin
371 (method url-fetch)
372 (uri (string-append
373 "https://hackage.haskell.org/package/annotated-wl-pprint"
374 "/annotated-wl-pprint-" version
375 ".tar.gz"))
376 (sha256
377 (base32
378 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
379 (build-system haskell-build-system)
380 (home-page
381 "https://github.com/david-christiansen/annotated-wl-pprint")
382 (synopsis
383 "The Wadler/Leijen Pretty Printer, with annotation support")
384 (description "This is a modified version of wl-pprint, which was based on
385Wadler's paper \"A Prettier Printer\". This version allows the library user
386to annotate the text with semantic information, which can later be rendered in
387a variety of ways.")
388 (license license:bsd-3)))
389
390(define-public ghc-ansi-terminal
391 (package
392 (name "ghc-ansi-terminal")
f1b4a73f 393 (version "0.9.1")
dddbc90c
RV
394 (source
395 (origin
396 (method url-fetch)
397 (uri (string-append
398 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
399 version
400 ".tar.gz"))
401 (sha256
402 (base32
f1b4a73f 403 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
dddbc90c
RV
404 (build-system haskell-build-system)
405 (inputs
406 `(("ghc-colour" ,ghc-colour)))
407 (home-page "https://github.com/feuerbach/ansi-terminal")
408 (synopsis "ANSI terminal support for Haskell")
409 (description "This package provides ANSI terminal support for Haskell. It
410allows cursor movement, screen clearing, color output showing or hiding the
411cursor, and changing the title.")
412 (license license:bsd-3)))
413
414(define-public ghc-ansi-wl-pprint
415 (package
416 (name "ghc-ansi-wl-pprint")
c38746eb 417 (version "0.6.9")
7b01a977
RV
418 (source
419 (origin
420 (method url-fetch)
421 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 422 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
423 version ".tar.gz"))
424 (sha256
425 (base32
c38746eb 426 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
7b01a977
RV
427 (build-system haskell-build-system)
428 (inputs
dddbc90c
RV
429 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
430 (home-page "https://github.com/ekmett/ansi-wl-pprint")
431 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
432 (description "This is a pretty printing library based on Wadler's paper
433\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
434colored output using the ansi-terminal package.")
435 (license license:bsd-3)))
436
437(define-public ghc-appar
438 (package
439 (name "ghc-appar")
1159d1a5 440 (version "0.1.8")
dddbc90c
RV
441 (source
442 (origin
443 (method url-fetch)
444 (uri (string-append
445 "https://hackage.haskell.org/package/appar/appar-"
446 version
447 ".tar.gz"))
448 (sha256
449 (base32
1159d1a5 450 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
451 (build-system haskell-build-system)
452 (home-page
453 "https://hackage.haskell.org/package/appar")
454 (synopsis "Simple applicative parser")
455 (description "This package provides a simple applicative parser in Parsec
456style.")
457 (license license:bsd-3)))
458
459(define-public ghc-async
460 (package
461 (name "ghc-async")
048ef066 462 (version "2.2.2")
dddbc90c
RV
463 (source
464 (origin
465 (method url-fetch)
466 (uri (string-append
467 "https://hackage.haskell.org/package/async/async-"
468 version
469 ".tar.gz"))
470 (sha256
471 (base32
048ef066 472 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
473 (build-system haskell-build-system)
474 (inputs
475 `(("ghc-hashable" ,ghc-hashable)
476 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
477 ("ghc-test-framework" ,ghc-test-framework)
478 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
479 (home-page "https://github.com/simonmar/async")
480 (synopsis "Library to run IO operations asynchronously")
481 (description "Async provides a library to run IO operations
482asynchronously, and wait for their results. It is a higher-level interface
483over threads in Haskell, in which @code{Async a} is a concurrent thread that
484will eventually deliver a value of type @code{a}.")
7b01a977
RV
485 (license license:bsd-3)))
486
9ad9ec2e
AG
487(define-public ghc-atomic-primops
488 (package
489 (name "ghc-atomic-primops")
af16c6b0 490 (version "0.8.3")
9ad9ec2e
AG
491 (source
492 (origin
493 (method url-fetch)
494 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
495 "/atomic-primops-" version ".tar.gz"))
496 (sha256
497 (base32
af16c6b0 498 "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
9ad9ec2e
AG
499 (build-system haskell-build-system)
500 (inputs `(("ghc-primitive" ,ghc-primitive)))
501 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
502 (synopsis "Safe approach to CAS and other atomic ops")
503 (description
504 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
505use safely, because pointer equality is a highly unstable property in Haskell.
506This library provides a safer method based on the concept of @code{Ticket}s.")
507 (license license:bsd-3)))
508
dddbc90c 509(define-public ghc-atomic-write
79fcc5e5 510 (package
dddbc90c 511 (name "ghc-atomic-write")
c09d1e62 512 (version "0.2.0.6")
79fcc5e5
RV
513 (source
514 (origin
515 (method url-fetch)
dddbc90c
RV
516 (uri (string-append
517 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
518 version
519 ".tar.gz"))
79fcc5e5
RV
520 (sha256
521 (base32
c09d1e62 522 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
523 (build-system haskell-build-system)
524 (inputs
525 `(("ghc-temporary" ,ghc-temporary)
526 ("ghc-unix-compat" ,ghc-unix-compat)))
527 (native-inputs
528 `(("ghc-temporary" ,ghc-temporary)
529 ("ghc-unix-compat" ,ghc-unix-compat)
530 ("ghc-hspec" ,ghc-hspec)
531 ("hspec-discover" ,hspec-discover)))
532 (home-page "https://github.com/stackbuilders/atomic-write")
533 (synopsis "Atomically write to a file")
534 (description
535 "Atomically write to a file on POSIX-compliant systems while preserving
536permissions. @code{mv} is an atomic operation. This makes it simple to write
537to a file atomically just by using the @code{mv} operation. However, this
538will destroy the permissions on the original file. This library preserves
539permissions while atomically writing to a file.")
540 (license license:expat)))
541
542(define-public ghc-attoparsec
543 (package
544 (name "ghc-attoparsec")
511c3204 545 (version "0.13.2.3")
dddbc90c
RV
546 (source
547 (origin
548 (method url-fetch)
549 (uri (string-append
550 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
551 version
552 ".tar.gz"))
553 (sha256
554 (base32
511c3204 555 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 556 (build-system haskell-build-system)
79fcc5e5 557 (arguments
dddbc90c
RV
558 `(#:phases
559 (modify-phases %standard-phases
560 (add-after 'unpack 'patch-for-newer-quickcheck
561 (lambda _
562 (substitute* "attoparsec.cabal"
563 (("QuickCheck >= 2\\.7 && < 2\\.10")
564 "QuickCheck >= 2.7 && < 2.12"))
565 ;; This test fails because of the newer QuickCheck:
566 ;; <https://github.com/bos/attoparsec/issues/134>.
567 (substitute* "tests/QC/ByteString.hs"
568 ((", testProperty \"satisfyWith\" satisfyWith")
569 "")))))))
570 (inputs
571 `(("ghc-scientific" ,ghc-scientific)))
572 (native-inputs
573 `(("ghc-tasty" ,ghc-tasty)
574 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
575 ("ghc-quickcheck" ,ghc-quickcheck)
576 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
577 ("ghc-vector" ,ghc-vector)))
578 (home-page "https://github.com/bos/attoparsec")
579 (synopsis "Fast combinator parsing for bytestrings and text")
580 (description "This library provides a fast parser combinator library,
581aimed particularly at dealing efficiently with network protocols and
582complicated text/binary file formats.")
79fcc5e5
RV
583 (license license:bsd-3)))
584
dddbc90c 585(define-public ghc-attoparsec-bootstrap
6b34d01c 586 (package
dddbc90c
RV
587 (inherit ghc-attoparsec)
588 (name "ghc-attoparsec-bootstrap")
589 (arguments `(#:tests? #f))
590 (inputs
591 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
592 (native-inputs '())
799d8d3c 593 (properties '((hidden? #t)))))
dddbc90c
RV
594
595(define-public ghc-attoparsec-iso8601
596 (package
597 (name "ghc-attoparsec-iso8601")
97f267c8 598 (version "1.0.1.0")
6b34d01c
RV
599 (source
600 (origin
601 (method url-fetch)
602 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
603 "attoparsec-iso8601-" version "/"
604 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
605 (sha256
606 (base32
97f267c8 607 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
6b34d01c 608 (build-system haskell-build-system)
dddbc90c
RV
609 (arguments
610 `(#:cabal-revision
97f267c8 611 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
dddbc90c
RV
612 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
613 ("ghc-base-compat" ,ghc-base-compat)))
614 (home-page "https://github.com/bos/aeson")
615 (synopsis "Parse ISO 8601 dates")
616 (description "Haskell library for parsing of ISO 8601 dates, originally
617from aeson.")
6b34d01c 618 (license license:bsd-3)))
b57e99f5 619
dddbc90c 620(define-public ghc-auto-update
b57e99f5 621 (package
dddbc90c 622 (name "ghc-auto-update")
11b1b6cd 623 (version "0.1.6")
dddbc90c
RV
624 (source
625 (origin
626 (method url-fetch)
627 (uri (string-append
628 "https://hackage.haskell.org/package/auto-update/auto-update-"
629 version
630 ".tar.gz"))
631 (sha256
632 (base32
11b1b6cd 633 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
dddbc90c 634 (build-system haskell-build-system)
11b1b6cd
TS
635 (native-inputs
636 `(("ghc-hspec" ,ghc-hspec)
637 ("ghc-hunit" ,ghc-hunit)
638 ("ghc-retry" ,ghc-retry)
639 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
640 (home-page "https://github.com/yesodweb/wai")
641 (synopsis "Efficiently run periodic, on-demand actions")
642 (description "This library provides mechanisms to efficiently run
643periodic, on-demand actions in Haskell.")
644 (license license:expat)))
645
646(define-public ghc-aws
647 (package
648 (name "ghc-aws")
649 (version "0.20")
b57e99f5
RV
650 (source
651 (origin
652 (method url-fetch)
653 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
654 "aws-" version "/aws-" version ".tar.gz"))
655 (sha256 (base32
656 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
657 (build-system haskell-build-system)
658 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
659 (inputs
660 `(("ghc-aeson" ,ghc-aeson)
661 ("ghc-attoparsec" ,ghc-attoparsec)
662 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
663 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
664 ("ghc-blaze-builder" ,ghc-blaze-builder)
665 ("ghc-byteable" ,ghc-byteable)
666 ("ghc-case-insensitive" ,ghc-case-insensitive)
667 ("ghc-cereal" ,ghc-cereal)
668 ("ghc-conduit" ,ghc-conduit)
669 ("ghc-conduit-extra" ,ghc-conduit-extra)
670 ("ghc-cryptonite" ,ghc-cryptonite)
671 ("ghc-data-default" ,ghc-data-default)
672 ("ghc-http-conduit" ,ghc-http-conduit)
673 ("ghc-http-types" ,ghc-http-types)
674 ("ghc-lifted-base" ,ghc-lifted-base)
675 ("ghc-monad-control" ,ghc-monad-control)
676 ("ghc-network" ,ghc-network)
677 ("ghc-old-locale" ,ghc-old-locale)
678 ("ghc-safe" ,ghc-safe)
679 ("ghc-scientific" ,ghc-scientific)
680 ("ghc-tagged" ,ghc-tagged)
681 ("ghc-unordered-containers" ,ghc-unordered-containers)
682 ("ghc-utf8-string" ,ghc-utf8-string)
683 ("ghc-vector" ,ghc-vector)
684 ("ghc-xml-conduit" ,ghc-xml-conduit)))
685 (native-inputs
686 `(("ghc-quickcheck" ,ghc-quickcheck)
687 ("ghc-errors" ,ghc-errors)
688 ("ghc-http-client" ,ghc-http-client)
689 ("ghc-http-client-tls" ,ghc-http-client-tls)
690 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
691 ("ghc-tasty" ,ghc-tasty)
692 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
693 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
694 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
695 (home-page "https://github.com/aristidb/aws")
696 (synopsis "Amazon Web Services for Haskell")
697 (description "This package attempts to provide support for using
698Amazon Web Services like S3 (storage), SQS (queuing) and others to
699Haskell programmers. The ultimate goal is to support all Amazon
700Web Services.")
701 (license license:bsd-3)))
702
703(define-public ghc-base16-bytestring
704 (package
705 (name "ghc-base16-bytestring")
706 (version "0.1.1.6")
707 (source
708 (origin
709 (method url-fetch)
710 (uri (string-append
711 "https://hackage.haskell.org/package/base16-bytestring/"
712 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
713 (sha256
714 (base32
dddbc90c 715 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 716 (build-system haskell-build-system)
dddbc90c
RV
717 (home-page "https://github.com/bos/base16-bytestring")
718 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
719 (description
720 "This package provides a Haskell library for working with base16-encoded
721data quickly and efficiently, using the ByteString type.")
b57e99f5 722 (license license:bsd-3)))
bbf8bf31 723
dddbc90c 724(define-public ghc-base64-bytestring
bbf8bf31 725 (package
dddbc90c
RV
726 (name "ghc-base64-bytestring")
727 (version "1.0.0.2")
bbf8bf31
RV
728 (source
729 (origin
730 (method url-fetch)
dddbc90c
RV
731 (uri (string-append
732 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
733 version
734 ".tar.gz"))
735 (sha256
736 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
737 (build-system haskell-build-system)
738 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
739 (home-page "https://github.com/bos/base64-bytestring")
740 (synopsis "Base64 encoding and decoding for ByteStrings")
741 (description "This library provides fast base64 encoding and decoding for
742Haskell @code{ByteString}s.")
743 (license license:bsd-3)))
744
745(define-public ghc-base-compat
746 (package
747 (name "ghc-base-compat")
4daaa371 748 (version "0.10.5")
dddbc90c
RV
749 (source
750 (origin
751 (method url-fetch)
752 (uri (string-append
753 "https://hackage.haskell.org/package/base-compat/base-compat-"
754 version
755 ".tar.gz"))
bbf8bf31
RV
756 (sha256
757 (base32
4daaa371 758 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31
RV
759 (build-system haskell-build-system)
760 (native-inputs
dddbc90c
RV
761 `(("ghc-quickcheck" ,ghc-quickcheck)
762 ("ghc-hspec" ,ghc-hspec)
763 ("hspec-discover" ,hspec-discover)))
764 (home-page "https://hackage.haskell.org/package/base-compat")
765 (synopsis "Haskell compiler compatibility library")
766 (description "This library provides functions available in later versions
767of base to a wider range of compilers, without requiring the use of CPP
768pragmas in your code.")
769 (license license:bsd-3)))
770
f9d78c7f
TS
771(define-public ghc-base-compat-batteries
772 (package
773 (name "ghc-base-compat-batteries")
774 (version "0.10.5")
775 (source
776 (origin
777 (method url-fetch)
778 (uri (string-append "https://hackage.haskell.org/package/"
779 "base-compat-batteries/base-compat-batteries-"
780 version ".tar.gz"))
781 (sha256
782 (base32
783 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
784 (build-system haskell-build-system)
785 (inputs
786 `(("ghc-base-compat" ,ghc-base-compat)))
787 (native-inputs
788 `(("ghc-hspec" ,ghc-hspec)
789 ("ghc-quickcheck" ,ghc-quickcheck)
790 ("hspec-discover" ,hspec-discover)))
791 (arguments
792 `(#:cabal-revision
793 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
3ef91e15 794 (home-page "https://hackage.haskell.org/package/base-compat-batteries")
f9d78c7f
TS
795 (synopsis "base-compat with extra batteries")
796 (description "This library provides functions available in later
797versions of @code{base} to a wider range of compilers, without requiring
798you to use CPP pragmas in your code. This package provides the same API
799as the @code{base-compat} library, but depends on compatibility
800packages (such as @code{semigroups}) to offer a wider support window
801than @code{base-compat}, which has no dependencies.")
802 (license license:expat)))
803
dddbc90c
RV
804(define-public ghc-basement
805 (package
806 (name "ghc-basement")
8b56c1fd 807 (version "0.0.11")
dddbc90c
RV
808 (source
809 (origin
810 (method url-fetch)
811 (uri (string-append "https://hackage.haskell.org/package/"
812 "basement/basement-" version ".tar.gz"))
813 (sha256
814 (base32
8b56c1fd 815 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
816 (build-system haskell-build-system)
817 (home-page "https://github.com/haskell-foundation/foundation")
818 (synopsis "Basic primitives for Foundation starter pack")
819 (description
820 "This package contains basic primitives for the Foundation set of
821packages.")
822 (license license:bsd-3)))
823
824(define-public ghc-base-orphans
825 (package
826 (name "ghc-base-orphans")
780477fb 827 (version "0.8.1")
dddbc90c
RV
828 (source
829 (origin
830 (method url-fetch)
831 (uri (string-append
832 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
833 version
834 ".tar.gz"))
835 (sha256
836 (base32
780477fb 837 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
838 (build-system haskell-build-system)
839 (native-inputs
840 `(("ghc-quickcheck" ,ghc-quickcheck)
841 ("ghc-hspec" ,ghc-hspec)
842 ("hspec-discover" ,hspec-discover)))
843 (home-page "https://hackage.haskell.org/package/base-orphans")
844 (synopsis "Orphan instances for backwards compatibility")
845 (description "This package defines orphan instances that mimic instances
846available in later versions of base to a wider (older) range of compilers.")
847 (license license:bsd-3)))
848
849(define-public ghc-base-prelude
850 (package
851 (name "ghc-base-prelude")
852 (version "1.3")
853 (source
854 (origin
855 (method url-fetch)
856 (uri (string-append "https://hackage.haskell.org/package/"
857 "base-prelude-" version "/"
858 "base-prelude-" version ".tar.gz"))
859 (sha256
860 (base32
861 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
862 (build-system haskell-build-system)
863 (home-page "https://github.com/nikita-volkov/base-prelude")
864 (synopsis "The most complete prelude formed solely from the Haskell's base
865package")
866 (description "This Haskell package aims to reexport all the non-conflicting
867and most general definitions from the \"base\" package.
868
869This includes APIs for applicatives, arrows, monoids, foldables, traversables,
870exceptions, generics, ST, MVars and STM.
871
872This package will never have any dependencies other than \"base\".
873
874Versioning policy:
875
876The versioning policy of this package deviates from PVP in the sense
877that its exports in part are transitively determined by the version of \"base\".
878Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
879the bounds of \"base\" as well.")
880 (license license:expat)))
881
882(define-public ghc-base-unicode-symbols
883 (package
884 (name "ghc-base-unicode-symbols")
885 (version "0.2.3")
886 (source
887 (origin
888 (method url-fetch)
889 (uri (string-append
890 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
891 version
892 ".tar.gz"))
893 (sha256
894 (base32
895 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
896 (build-system haskell-build-system)
897 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
898 (synopsis "Unicode alternatives for common functions and operators")
899 (description "This package defines new symbols for a number of functions,
900operators and types in the base package. All symbols are documented with
901their actual definition and information regarding their Unicode code point.
902They should be completely interchangeable with their definitions. For
903further Unicode goodness you can enable the @code{UnicodeSyntax}
904@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
905language extension}. This extension enables Unicode characters to be used to
906stand for certain ASCII character sequences, i.e. → instead of @code{->},
907∀ instead of @code{forall} and many others.")
908 (license license:bsd-3)))
909
ec8491b0
ASM
910(define-public ghc-basic-prelude
911 (package
912 (name "ghc-basic-prelude")
913 (version "0.7.0")
914 (source
915 (origin
916 (method url-fetch)
917 (uri (string-append
918 "https://hackage.haskell.org/package/basic-prelude/"
919 "basic-prelude-" version ".tar.gz"))
920 (sha256
921 (base32
922 "0yckmnvm6i4vw0mykj4fzl4ldsf67v8d2h0vp1bakyj84n4myx8h"))))
923 (build-system haskell-build-system)
924 (inputs
925 `(("ghc-hashable" ,ghc-hashable)
926 ("ghc-unordered-containers"
927 ,ghc-unordered-containers)
928 ("ghc-vector" ,ghc-vector)))
929 (home-page "https://github.com/snoyberg/basic-prelude#readme")
930 (synopsis "Enhanced core prelude; a common foundation for alternate preludes")
931 (description
932 "The premise of basic-prelude is that there are a lot of very commonly
933desired features missing from the standard Prelude, such as commonly used
934operators (<$> and >=>, for instance) and imports for common datatypes
935(e.g., ByteString and Vector). At the same time, there are lots of other
936components which are more debatable, such as providing polymorphic versions
937of common functions.
938
939So basic-prelude is intended to give a common foundation for a number of
940alternate preludes. The package provides two modules: CorePrelude provides
941the common ground for other preludes to build on top of, while BasicPrelude
942exports CorePrelude together with commonly used list functions to provide a
943drop-in replacement for the standard Prelude.
944
945Users wishing to have an improved Prelude can use BasicPrelude. Developers
946wishing to create a new prelude should use CorePrelude.")
947 (license license:expat)))
948
dddbc90c
RV
949(define-public ghc-bifunctors
950 (package
951 (name "ghc-bifunctors")
0beaec66 952 (version "5.5.5")
dddbc90c
RV
953 (source
954 (origin
955 (method url-fetch)
956 (uri (string-append
957 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
958 version
959 ".tar.gz"))
960 (sha256
961 (base32
0beaec66 962 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
963 (build-system haskell-build-system)
964 (inputs
965 `(("ghc-base-orphans" ,ghc-base-orphans)
966 ("ghc-comonad" ,ghc-comonad)
967 ("ghc-th-abstraction" ,ghc-th-abstraction)
968 ("ghc-transformers-compat" ,ghc-transformers-compat)
969 ("ghc-tagged" ,ghc-tagged)
970 ("ghc-semigroups" ,ghc-semigroups)))
971 (native-inputs
972 `(("ghc-hspec" ,ghc-hspec)
973 ("hspec-discover" ,hspec-discover)
974 ("ghc-quickcheck" ,ghc-quickcheck)))
975 (home-page "https://github.com/ekmett/bifunctors/")
976 (synopsis "Bifunctors for Haskell")
977 (description "This package provides bifunctors for Haskell.")
978 (license license:bsd-3)))
979
980(define-public ghc-bindings-dsl
981 (package
982 (name "ghc-bindings-dsl")
983 (version "1.0.25")
984 (source
985 (origin
986 (method url-fetch)
987 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
988 "bindings-DSL-" version ".tar.gz"))
989 (sha256
990 (base32
991 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
992 (build-system haskell-build-system)
993 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
994 (synopsis "FFI domain specific language, on top of hsc2hs")
995 (description
996 "This is a set of macros to be used when writing Haskell FFI. They were
997designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
998extract from them all Haskell code needed to mimic such interfaces. All
999Haskell names used are automatically derived from C names, structures are
1000mapped to Haskell instances of @code{Storable}, and there are also macros you
1001can use with C code to help write bindings to inline functions or macro
1002functions.")
1003 (license license:bsd-3)))
1004
64f42786
TS
1005(define-public ghc-bitarray
1006 (package
1007 (name "ghc-bitarray")
1008 (version "0.0.1.1")
1009 (source
1010 (origin
1011 (method url-fetch)
1012 (uri (string-append "https://hackage.haskell.org/package/"
1013 "bitarray/bitarray-" version ".tar.gz"))
1014 (sha256
1015 (base32
1016 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
1017 (build-system haskell-build-system)
1018 (arguments
1019 `(#:cabal-revision
1020 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
1021 (home-page "https://hackage.haskell.org/package/bitarray")
1022 (synopsis "Mutable and immutable bit arrays")
1023 (description "The package provides mutable and immutable bit arrays.")
1024 (license license:bsd-3)))
1025
dddbc90c
RV
1026(define-public ghc-blaze-builder
1027 (package
1028 (name "ghc-blaze-builder")
1029 (version "0.4.1.0")
1030 (source
1031 (origin
1032 (method url-fetch)
1033 (uri (string-append
1034 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
1035 version
1036 ".tar.gz"))
1037 (sha256
1038 (base32
1039 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
1040 (build-system haskell-build-system)
1041 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
1042 (inputs
1043 `(("ghc-utf8-string" ,ghc-utf8-string)))
1044 (home-page "https://github.com/lpsmith/blaze-builder")
1045 (synopsis "Efficient buffered output")
1046 (description "This library provides an implementation of the older
1047@code{blaze-builder} interface in terms of the new builder that shipped with
1048@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
1049bridge to the new builder, so that code that uses the old interface can
1050interoperate with code that uses the new implementation.")
1051 (license license:bsd-3)))
1052
1053(define-public ghc-blaze-markup
1054 (package
1055 (name "ghc-blaze-markup")
7d30fcf3 1056 (version "0.8.2.3")
dddbc90c
RV
1057 (source
1058 (origin
1059 (method url-fetch)
1060 (uri (string-append "https://hackage.haskell.org/package/"
1061 "blaze-markup/blaze-markup-"
1062 version ".tar.gz"))
1063 (sha256
1064 (base32
7d30fcf3 1065 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
1066 (build-system haskell-build-system)
1067 (arguments
1068 `(#:phases
1069 (modify-phases %standard-phases
1070 (add-before 'configure 'update-constraints
1071 (lambda _
1072 (substitute* "blaze-markup.cabal"
1073 (("tasty >= 1\\.0 && < 1\\.1")
1074 "tasty >= 1.0 && < 1.2")))))))
1075 (inputs
1076 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
1077 (native-inputs
1078 `(("ghc-hunit" ,ghc-hunit)
1079 ("ghc-quickcheck" ,ghc-quickcheck)
1080 ("ghc-tasty" ,ghc-tasty)
1081 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1082 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1083 (home-page "https://jaspervdj.be/blaze")
1084 (synopsis "Fast markup combinator library for Haskell")
1085 (description "This library provides core modules of a markup combinator
1086library for Haskell.")
1087 (license license:bsd-3)))
1088
1089(define-public ghc-bloomfilter
1090 (package
1091 (name "ghc-bloomfilter")
1092 (version "2.0.1.0")
1093 (source
1094 (origin
1095 (method url-fetch)
1096 (uri (string-append "https://hackage.haskell.org/package/"
1097 "bloomfilter/bloomfilter-" version ".tar.gz"))
1098 (sha256
1099 (base32
1100 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1101 (build-system haskell-build-system)
1102 (native-inputs
1103 `(("ghc-quickcheck" ,ghc-quickcheck)
1104 ("ghc-random" ,ghc-random)
1105 ("ghc-test-framework" ,ghc-test-framework)
1106 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1107 (home-page "https://github.com/bos/bloomfilter")
1108 (synopsis "Pure and impure Bloom filter implementations")
1109 (description "This package provides both mutable and immutable Bloom
1110filter data types, along with a family of hash functions and an easy-to-use
1111interface.")
1112 (license license:bsd-3)))
1113
1114(define-public ghc-boxes
1115 (package
1116 (name "ghc-boxes")
1117 (version "0.1.5")
1118 (source
1119 (origin
1120 (method url-fetch)
1121 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1122 version ".tar.gz"))
1123 (sha256
1124 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1125 (build-system haskell-build-system)
1126 (inputs
1127 `(("ghc-split" ,ghc-split)
1128 ("ghc-quickcheck" ,ghc-quickcheck)))
1129 (home-page "https://hackage.haskell.org/package/boxes")
1130 (synopsis "2D text pretty-printing library")
1131 (description
1132 "Boxes is a pretty-printing library for laying out text in two dimensions,
1133using a simple box model.")
1134 (license license:bsd-3)))
1135
1136(define-public ghc-byteable
1137 (package
1138 (name "ghc-byteable")
1139 (version "0.1.1")
1140 (source (origin
1141 (method url-fetch)
1142 (uri (string-append "https://hackage.haskell.org/package/"
1143 "byteable/byteable-" version ".tar.gz"))
1144 (sha256
1145 (base32
1146 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1147 (build-system haskell-build-system)
1148 (home-page "https://github.com/vincenthz/hs-byteable")
1149 (synopsis "Type class for sequence of bytes")
1150 (description
1151 "This package provides an abstract class to manipulate sequence of bytes.
1152The use case of this class is abstracting manipulation of types that are just
1153wrapping a bytestring with stronger and more meaniful name.")
1154 (license license:bsd-3)))
1155
1156(define-public ghc-byteorder
1157 (package
1158 (name "ghc-byteorder")
1159 (version "1.0.4")
1160 (source
1161 (origin
1162 (method url-fetch)
1163 (uri (string-append
1164 "https://hackage.haskell.org/package/byteorder/byteorder-"
1165 version
1166 ".tar.gz"))
1167 (sha256
1168 (base32
1169 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1170 (build-system haskell-build-system)
1171 (home-page
1172 "http://community.haskell.org/~aslatter/code/byteorder")
1173 (synopsis
1174 "Exposes the native endianness of the system")
1175 (description
1176 "This package is for working with the native byte-ordering of the
1177system.")
1178 (license license:bsd-3)))
1179
1180(define-public ghc-bytes
1181 (package
1182 (name "ghc-bytes")
1183 (version "0.15.5")
1184 (source
1185 (origin
1186 (method url-fetch)
1187 (uri
1188 (string-append "https://hackage.haskell.org/package/bytes-"
1189 version "/bytes-"
1190 version ".tar.gz"))
1191 (file-name (string-append name "-" version ".tar.gz"))
1192 (sha256
1193 (base32
1194 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1195 (build-system haskell-build-system)
1196 (inputs `(("ghc-cereal" ,ghc-cereal)
1197 ("cabal-doctest" ,cabal-doctest)
1198 ("ghc-doctest" ,ghc-doctest)
1199 ("ghc-scientific" ,ghc-scientific)
1200 ("ghc-transformers-compat" ,ghc-transformers-compat)
1201 ("ghc-unordered-containers" ,ghc-unordered-containers)
1202 ("ghc-void" ,ghc-void)
1203 ("ghc-vector" ,ghc-vector)))
1204 (synopsis "Serialization between @code{binary} and @code{cereal}")
1205 (description "This package provides a simple compatibility shim that lets
1206you work with both @code{binary} and @code{cereal} with one chunk of
1207serialization code.")
1208 (home-page "https://hackage.haskell.org/package/bytes")
1209 (license license:bsd-3)))
1210
1211(define-public ghc-bytestring-builder
1212 (package
1213 (name "ghc-bytestring-builder")
13ac8a7f 1214 (version "0.10.8.2.0")
dddbc90c
RV
1215 (source
1216 (origin
1217 (method url-fetch)
1218 (uri (string-append
1219 "https://hackage.haskell.org/package/bytestring-builder"
1220 "/bytestring-builder-" version ".tar.gz"))
1221 (sha256
1222 (base32
13ac8a7f 1223 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1224 (build-system haskell-build-system)
1225 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1226 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1227 (synopsis "The new bytestring builder, packaged outside of GHC")
1228 (description "This package provides the bytestring builder that is
1229debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1230Compatibility package for older packages.")
1231 (license license:bsd-3)))
1232
1233(define-public ghc-bytestring-handle
1234 (package
1235 (name "ghc-bytestring-handle")
1236 (version "0.1.0.6")
1237 (source
1238 (origin
1239 (method url-fetch)
1240 (uri (string-append
1241 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1242 version ".tar.gz"))
1243 (sha256
1244 (base32
1245 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1246 (build-system haskell-build-system)
1247 (arguments
853748c4
TS
1248 `(#:cabal-revision
1249 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1250 #:phases
dddbc90c
RV
1251 (modify-phases %standard-phases
1252 (add-before 'configure 'update-constraints
1253 (lambda _
1254 (substitute* "bytestring-handle.cabal"
1255 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1256 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1257 (inputs
1258 `(("ghc-hunit" ,ghc-hunit)
1259 ("ghc-quickcheck" ,ghc-quickcheck)
1260 ("ghc-test-framework" ,ghc-test-framework)
1261 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1262 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1263 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1264 (synopsis "ByteString-backed Handles")
1265 (description "ByteString-backed Handles") ; There is no description
1266 (license license:bsd-3)))
1267
1268(define-public ghc-bytestring-lexing
1269 (package
1270 (name "ghc-bytestring-lexing")
1271 (version "0.5.0.2")
1272 (source
1273 (origin
1274 (method url-fetch)
1275 (uri (string-append "https://hackage.haskell.org/package/"
1276 "bytestring-lexing/bytestring-lexing-"
1277 version ".tar.gz"))
1278 (sha256
1279 (base32
1280 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1281 (build-system haskell-build-system)
1282 (home-page "http://code.haskell.org/~wren/")
1283 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1284 (description
1285 "This package provides tools to parse and produce literals efficiently
1286from strict or lazy bytestrings.")
1287 (license license:bsd-2)))
1288
1289(define-public ghc-bzlib-conduit
1290 (package
1291 (name "ghc-bzlib-conduit")
5fba8d6d 1292 (version "0.3.0.2")
dddbc90c
RV
1293 (source
1294 (origin
1295 (method url-fetch)
1296 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1297 "bzlib-conduit-" version ".tar.gz"))
1298 (sha256
1299 (base32
5fba8d6d 1300 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
dddbc90c
RV
1301 (build-system haskell-build-system)
1302 (inputs
1303 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1304 ("ghc-conduit" ,ghc-conduit)
1305 ("ghc-data-default-class" ,ghc-data-default-class)
1306 ("ghc-resourcet" ,ghc-resourcet)))
1307 (native-inputs
1308 `(("ghc-hspec" ,ghc-hspec)
1309 ("ghc-random" ,ghc-random)))
1310 (home-page "https://github.com/snoyberg/bzlib-conduit")
1311 (synopsis "Streaming compression/decompression via conduits")
1312 (description
1313 "This package provides Haskell bindings to bzlib and Conduit support for
1314streaming compression and decompression.")
1315 (license license:bsd-3)))
1316
1317(define-public ghc-c2hs
1318 (package
1319 (name "ghc-c2hs")
1320 (version "0.28.6")
1321 (source
1322 (origin
1323 (method url-fetch)
1324 (uri (string-append
1325 "https://hackage.haskell.org/package/c2hs/c2hs-"
1326 version
1327 ".tar.gz"))
1328 (sha256
1329 (base32
1330 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1331 (build-system haskell-build-system)
1332 (inputs
1333 `(("ghc-language-c" ,ghc-language-c)
1334 ("ghc-dlist" ,ghc-dlist)))
1335 (native-inputs
1336 `(("ghc-test-framework" ,ghc-test-framework)
1337 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1338 ("ghc-hunit" ,ghc-hunit)
1339 ("ghc-shelly" ,ghc-shelly)
1340 ("gcc" ,gcc)))
1341 (arguments
1342 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1343 ;; of glibc 2.28.
1344 #:tests? #f
1345
1346 #:phases
1347 (modify-phases %standard-phases
1348 (add-before 'check 'set-cc
1349 ;; add a cc executable in the path, needed for some tests to pass
1350 (lambda* (#:key inputs #:allow-other-keys)
1351 (let ((gcc (assoc-ref inputs "gcc"))
1352 (tmpbin (tmpnam))
1353 (curpath (getenv "PATH")))
1354 (mkdir-p tmpbin)
1355 (symlink (which "gcc") (string-append tmpbin "/cc"))
1356 (setenv "PATH" (string-append tmpbin ":" curpath)))
1357 #t))
1358 (add-after 'check 'remove-cc
1359 ;; clean the tmp dir made in 'set-cc
1360 (lambda _
1361 (let* ((cc-path (which "cc"))
1362 (cc-dir (dirname cc-path)))
1363 (delete-file-recursively cc-dir)
1364 #t))))))
1365 (home-page "https://github.com/haskell/c2hs")
1366 (synopsis "Create Haskell bindings to C libraries")
1367 (description "C->Haskell assists in the development of Haskell bindings to
1368C libraries. It extracts interface information from C header files and
1369generates Haskell code with foreign imports and marshaling. Unlike writing
1370foreign imports by hand (or using hsc2hs), this ensures that C functions are
1371imported with the correct Haskell types.")
1372 (license license:gpl2)))
1373
1374(define-public ghc-cairo
1375 (package
1376 (name "ghc-cairo")
1377 (version "0.13.5.0")
1378 (source
1379 (origin
1380 (method url-fetch)
1381 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1382 "cairo-" version ".tar.gz"))
1383 (sha256
1384 (base32
1385 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1386 (build-system haskell-build-system)
1387 (arguments
1388 `(#:modules ((guix build haskell-build-system)
1389 (guix build utils)
1390 (ice-9 match)
1391 (srfi srfi-26))
1392 #:phases
1393 (modify-phases %standard-phases
1394 ;; FIXME: This is a copy of the standard configure phase with a tiny
1395 ;; difference: this package needs the -package-db flag to be passed
1396 ;; to "runhaskell" in addition to the "configure" action, because it
1397 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1398 ;; this option the Setup.hs file cannot be evaluated. The
1399 ;; haskell-build-system should be changed to pass "-package-db" to
1400 ;; "runhaskell" in any case.
1401 (replace 'configure
1402 (lambda* (#:key outputs inputs tests? (configure-flags '())
1403 #:allow-other-keys)
1404 (let* ((out (assoc-ref outputs "out"))
1405 (name-version (strip-store-file-name out))
1406 (input-dirs (match inputs
1407 (((_ . dir) ...)
1408 dir)
1409 (_ '())))
1410 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1411 (params (append `(,(string-append "--prefix=" out))
1412 `(,(string-append "--libdir=" out "/lib"))
1413 `(,(string-append "--bindir=" out "/bin"))
1414 `(,(string-append
1415 "--docdir=" out
1416 "/share/doc/" name-version))
1417 '("--libsubdir=$compiler/$pkg-$version")
1418 '("--package-db=../package.conf.d")
1419 '("--global")
1420 `(,@(map
1421 (cut string-append "--extra-include-dirs=" <>)
1422 (search-path-as-list '("include") input-dirs)))
1423 `(,@(map
1424 (cut string-append "--extra-lib-dirs=" <>)
1425 (search-path-as-list '("lib") input-dirs)))
1426 (if tests?
1427 '("--enable-tests")
1428 '())
1429 configure-flags)))
1430 (unsetenv "GHC_PACKAGE_PATH")
1431 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1432 "Setup.hs" "configure" params)
1433 (setenv "GHC_PACKAGE_PATH" ghc-path)
1434 #t))))))
1435 (inputs
1436 `(("ghc-utf8-string" ,ghc-utf8-string)
1437 ("cairo" ,cairo)))
1438 (native-inputs
1439 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1440 ("pkg-config" ,pkg-config)))
1441 (home-page "http://projects.haskell.org/gtk2hs/")
1442 (synopsis "Haskell bindings to the Cairo vector graphics library")
1443 (description
1444 "Cairo is a library to render high quality vector graphics. There exist
1445various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1446documents, amongst others.")
1447 (license license:bsd-3)))
1448
1449(define-public ghc-call-stack
1450 (package
1451 (name "ghc-call-stack")
1452 (version "0.1.0")
1453 (source
1454 (origin
1455 (method url-fetch)
1456 (uri (string-append "https://hackage.haskell.org/package/"
1457 "call-stack/call-stack-"
1458 version ".tar.gz"))
1459 (sha256
1460 (base32
1461 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1462 (build-system haskell-build-system)
1463 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1464 (home-page "https://github.com/sol/call-stack#readme")
1465 (synopsis "Use GHC call-stacks in a backward compatible way")
1466 (description "This package provides a compatibility layer for using GHC
1467call stacks with different versions of the compiler.")
1468 (license license:expat)))
1469
1470;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1471;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1472(define-public ghc-call-stack-boot
1473 (hidden-package
1474 (package
1475 (inherit ghc-call-stack)
1476 (arguments '(#:tests? #f))
1477 (inputs '()))))
1478
1479(define-public ghc-case-insensitive
1480 (package
1481 (name "ghc-case-insensitive")
1482 (version "1.2.0.11")
1483 (outputs '("out" "doc"))
1484 (source
1485 (origin
1486 (method url-fetch)
1487 (uri (string-append
1488 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1489 version
1490 ".tar.gz"))
1491 (sha256
1492 (base32
1493 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1494 (build-system haskell-build-system)
1495 ;; these inputs are necessary to use this library
1496 (inputs
1497 `(("ghc-hashable" ,ghc-hashable)))
1498 (arguments
1499 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1500 (home-page
1501 "https://github.com/basvandijk/case-insensitive")
1502 (synopsis "Case insensitive string comparison")
1503 (description
1504 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1505constructor which can be parameterised by a string-like type like:
1506@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1507the resulting type will be insensitive to cases.")
1508 (license license:bsd-3)))
1509
1510(define-public ghc-cereal
1511 (package
1512 (name "ghc-cereal")
bd95427e 1513 (version "0.5.8.1")
dddbc90c
RV
1514 (source
1515 (origin
1516 (method url-fetch)
1517 (uri (string-append
1518 "https://hackage.haskell.org/package/cereal/cereal-"
1519 version
1520 ".tar.gz"))
1521 (sha256
1522 (base32
bd95427e 1523 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1524 (build-system haskell-build-system)
1525 (native-inputs
1526 `(("ghc-quickcheck" ,ghc-quickcheck)
1527 ("ghc-fail" ,ghc-fail)
1528 ("ghc-test-framework" ,ghc-test-framework)
1529 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1530 (home-page "https://hackage.haskell.org/package/cereal")
1531 (synopsis "Binary serialization library")
1532 (description "This package provides a binary serialization library,
1533similar to @code{binary}, that introduces an @code{isolate} primitive for
1534parser isolation, and labeled blocks for better error messages.")
1535 (license license:bsd-3)))
1536
1537(define-public ghc-cereal-conduit
1538 (package
1539 (name "ghc-cereal-conduit")
1540 (version "0.8.0")
1541 (source
1542 (origin
1543 (method url-fetch)
1544 (uri (string-append "https://hackage.haskell.org/package/"
1545 "cereal-conduit/cereal-conduit-"
1546 version ".tar.gz"))
1547 (sha256
1548 (base32
1549 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1550 (build-system haskell-build-system)
1551 (inputs
1552 `(("ghc-conduit" ,ghc-conduit)
1553 ("ghc-resourcet" ,ghc-resourcet)
1554 ("ghc-cereal" ,ghc-cereal)))
1555 (native-inputs
1556 `(("ghc-hunit" ,ghc-hunit)))
1557 (home-page "https://github.com/snoyberg/conduit")
1558 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1559 (description
1560 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1561@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1562 (license license:bsd-3)))
1563
1564(define-public ghc-cgi
1565 (package
1566 (name "ghc-cgi")
b6b2c218 1567 (version "3001.4.0.0")
dddbc90c
RV
1568 (source
1569 (origin
1570 (method url-fetch)
1571 (uri (string-append
1572 "https://hackage.haskell.org/package/cgi/cgi-"
1573 version
1574 ".tar.gz"))
1575 (sha256
1576 (base32
b6b2c218 1577 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
dddbc90c 1578 (build-system haskell-build-system)
dddbc90c
RV
1579 (inputs
1580 `(("ghc-exceptions" ,ghc-exceptions)
1581 ("ghc-multipart" ,ghc-multipart)
1582 ("ghc-network-uri" ,ghc-network-uri)
1583 ("ghc-network" ,ghc-network)))
1584 (native-inputs
1585 `(("ghc-doctest" ,ghc-doctest)
1586 ("ghc-quickcheck" ,ghc-quickcheck)))
1587 (home-page
1588 "https://github.com/cheecheeo/haskell-cgi")
1589 (synopsis "Library for writing CGI programs")
1590 (description
1591 "This is a Haskell library for writing CGI programs.")
1592 (license license:bsd-3)))
1593
1594(define-public ghc-charset
1595 (package
1596 (name "ghc-charset")
1597 (version "0.3.7.1")
1598 (source
1599 (origin
1600 (method url-fetch)
1601 (uri (string-append
1602 "https://hackage.haskell.org/package/charset/charset-"
1603 version
1604 ".tar.gz"))
1605 (sha256
1606 (base32
1607 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1608 (build-system haskell-build-system)
35ee173c
TS
1609 (arguments
1610 `(#:cabal-revision
1611 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1612 (inputs
1613 `(("ghc-semigroups" ,ghc-semigroups)
1614 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1615 (home-page "https://github.com/ekmett/charset")
1616 (synopsis "Fast unicode character sets for Haskell")
1617 (description "This package provides fast unicode character sets for
1618Haskell, based on complemented PATRICIA tries.")
1619 (license license:bsd-3)))
1620
1621(define-public ghc-chart
1622 (package
1623 (name "ghc-chart")
6cd84b98 1624 (version "1.9.1")
dddbc90c
RV
1625 (source
1626 (origin
1627 (method url-fetch)
1628 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1629 "Chart-" version ".tar.gz"))
1630 (sha256
1631 (base32
6cd84b98 1632 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
dddbc90c
RV
1633 (build-system haskell-build-system)
1634 (inputs
1635 `(("ghc-old-locale" ,ghc-old-locale)
1636 ("ghc-lens" ,ghc-lens)
1637 ("ghc-colour" ,ghc-colour)
1638 ("ghc-data-default-class" ,ghc-data-default-class)
1639 ("ghc-operational" ,ghc-operational)
1640 ("ghc-vector" ,ghc-vector)))
1641 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1642 (synopsis "Library for generating 2D charts and plots")
1643 (description
1644 "This package provides a library for generating 2D charts and plots, with
1645backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1646 (license license:bsd-3)))
1647
1648(define-public ghc-chart-cairo
1649 (package
1650 (name "ghc-chart-cairo")
5cf9264d 1651 (version "1.9.1")
dddbc90c
RV
1652 (source
1653 (origin
1654 (method url-fetch)
1655 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1656 "Chart-cairo-" version ".tar.gz"))
1657 (sha256
1658 (base32
5cf9264d 1659 "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
dddbc90c
RV
1660 (build-system haskell-build-system)
1661 (inputs
1662 `(("ghc-old-locale" ,ghc-old-locale)
1663 ("ghc-cairo" ,ghc-cairo)
1664 ("ghc-colour" ,ghc-colour)
1665 ("ghc-data-default-class" ,ghc-data-default-class)
1666 ("ghc-operational" ,ghc-operational)
1667 ("ghc-lens" ,ghc-lens)
1668 ("ghc-chart" ,ghc-chart)))
1669 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1670 (synopsis "Cairo backend for Charts")
1671 (description "This package provides a Cairo vector graphics rendering
1672backend for the Charts library.")
1673 (license license:bsd-3)))
1674
1675(define-public ghc-chasingbottoms
1676 (package
1677 (name "ghc-chasingbottoms")
1f67853e 1678 (version "1.3.1.7")
dddbc90c
RV
1679 (source
1680 (origin
1681 (method url-fetch)
1682 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1683 "ChasingBottoms-" version ".tar.gz"))
1684 (sha256
1685 (base32
1f67853e 1686 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1687 (build-system haskell-build-system)
1688 (inputs
1689 `(("ghc-quickcheck" ,ghc-quickcheck)
1690 ("ghc-random" ,ghc-random)
1691 ("ghc-syb" ,ghc-syb)))
1692 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1693 (synopsis "Testing of partial and infinite values in Haskell")
1694 (description
1695 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1696 ;; rendered properly.
1697 "This is a library for testing code involving bottoms or infinite values.
1698For the underlying theory and a larger example involving use of QuickCheck,
1699see the article
1700@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1701\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1702Partial and Infinite Values\"}.")
1703 (license license:expat)))
1704
1705(define-public ghc-cheapskate
1706 (package
1707 (name "ghc-cheapskate")
5e18bb9e 1708 (version "0.1.1.1")
dddbc90c
RV
1709 (source
1710 (origin
1711 (method url-fetch)
1712 (uri (string-append
1713 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1714 version
1715 ".tar.gz"))
1716 (sha256
1717 (base32
5e18bb9e 1718 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
dddbc90c
RV
1719 (build-system haskell-build-system)
1720 (inputs
1721 `(("ghc-blaze-html" ,ghc-blaze-html)
1722 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1723 ("ghc-data-default" ,ghc-data-default)
1724 ("ghc-syb" ,ghc-syb)
1725 ("ghc-uniplate" ,ghc-uniplate)))
1726 (home-page "https://github.com/jgm/cheapskate")
1727 (synopsis "Experimental markdown processor")
1728 (description "Cheapskate is an experimental Markdown processor in pure
1729Haskell. It aims to process Markdown efficiently and in the most forgiving
1730possible way. It is designed to deal with any input, including garbage, with
1731linear performance. Output is sanitized by default for protection against
1732cross-site scripting (@dfn{XSS}) attacks.")
1733 (license license:bsd-3)))
1734
1735(define-public ghc-chell
1736 (package
1737 (name "ghc-chell")
acdd03be 1738 (version "0.5")
dddbc90c
RV
1739 (source
1740 (origin
1741 (method url-fetch)
1742 (uri (string-append
1743 "https://hackage.haskell.org/package/chell/chell-"
1744 version ".tar.gz"))
1745 (sha256
1746 (base32
acdd03be 1747 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1748 (build-system haskell-build-system)
acdd03be
TS
1749 (arguments
1750 `(#:cabal-revision
1751 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1752 (inputs
1753 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1754 ("ghc-patience" ,ghc-patience)
1755 ("ghc-random" ,ghc-random)
1756 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1757 (home-page "https://john-millikin.com/software/chell/")
1758 (synopsis "Simple and intuitive library for automated testing")
1759 (description
1760 "Chell is a simple and intuitive library for automated testing.
1761It natively supports assertion-based testing, and can use companion
1762libraries such as @code{chell-quickcheck} to support more complex
1763testing strategies.")
1764 (license license:expat)))
1765
1766(define-public ghc-chell-quickcheck
1767 (package
1768 (name "ghc-chell-quickcheck")
e0e21831 1769 (version "0.2.5.2")
dddbc90c
RV
1770 (source
1771 (origin
1772 (method url-fetch)
1773 (uri (string-append
1774 "https://hackage.haskell.org/package/chell-quickcheck/"
1775 "chell-quickcheck-" version ".tar.gz"))
1776 (sha256
1777 (base32
e0e21831 1778 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1779 (build-system haskell-build-system)
1780 (arguments
1781 `(#:phases
1782 (modify-phases %standard-phases
1783 (add-before 'configure 'update-constraints
1784 (lambda _
1785 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1786 (("QuickCheck >= 2\\.3 && < 2\\.13")
1787 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1788 (inputs
1789 `(("ghc-chell" ,ghc-chell)
1790 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1791 ("ghc-random" ,ghc-random)
1792 ("ghc-quickcheck" ,ghc-quickcheck)))
1793 (home-page "https://john-millikin.com/software/chell/")
1794 (synopsis "QuickCheck support for the Chell testing library")
1795 (description "More complex tests for @code{chell}.")
1796 (license license:expat)))
1797
1798(define ghc-chell-quickcheck-bootstrap
1799 (package
1800 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1801 (version "0.2.5.2")
dddbc90c
RV
1802 (source
1803 (origin
1804 (method url-fetch)
1805 (uri (string-append
1806 "https://hackage.haskell.org/package/chell-quickcheck/"
1807 "chell-quickcheck-" version ".tar.gz"))
1808 (sha256
1809 (base32
e0e21831 1810 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1811 (build-system haskell-build-system)
1812 (inputs
1813 `(("ghc-chell" ,ghc-chell)
1814 ("ghc-random" ,ghc-random)
1815 ("ghc-quickcheck" ,ghc-quickcheck)))
1816 (arguments
1817 `(#:tests? #f
1818 #:phases
1819 (modify-phases %standard-phases
1820 (add-before 'configure 'update-constraints
1821 (lambda _
1822 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1823 (("QuickCheck >= 2\\.3 && < 2\\.13")
1824 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1825 (home-page "https://john-millikin.com/software/chell/")
1826 (synopsis "QuickCheck support for the Chell testing library")
1827 (description "More complex tests for @code{chell}.")
1828 (license license:expat)))
1829
1830(define-public ghc-chunked-data
1831 (package
1832 (name "ghc-chunked-data")
1833 (version "0.3.1")
1834 (source
1835 (origin
1836 (method url-fetch)
1837 (uri (string-append "https://hackage.haskell.org/package/"
1838 "chunked-data-" version "/"
1839 "chunked-data-" version ".tar.gz"))
1840 (sha256
1841 (base32
1842 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1843 (build-system haskell-build-system)
1844 (inputs `(("ghc-vector" ,ghc-vector)
1845 ("ghc-semigroups" ,ghc-semigroups)))
1846 (home-page "https://github.com/snoyberg/mono-traversable")
1847 (synopsis "Typeclasses for dealing with various chunked data
1848representations for Haskell")
1849 (description "This Haskell package was originally present in
1850classy-prelude.")
1851 (license license:expat)))
1852
1853(define-public ghc-clock
1854 (package
1855 (name "ghc-clock")
0841b6f2 1856 (version "0.8")
dddbc90c
RV
1857 (source
1858 (origin
1859 (method url-fetch)
1860 (uri (string-append
1861 "https://hackage.haskell.org/package/"
1862 "clock/"
1863 "clock-" version ".tar.gz"))
1864 (sha256
0841b6f2 1865 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1866 (build-system haskell-build-system)
1867 (inputs
1868 `(("ghc-tasty" ,ghc-tasty)
1869 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1870 (home-page "https://hackage.haskell.org/package/clock")
1871 (synopsis "High-resolution clock for Haskell")
1872 (description "A package for convenient access to high-resolution clock and
1873timer functions of different operating systems via a unified API.")
1874 (license license:bsd-3)))
1875
1876;; This package builds `clock` without tests, since the tests rely on tasty
1877;; and tasty-quickcheck, which in turn require clock to build.
1878(define-public ghc-clock-bootstrap
1879 (package
1880 (inherit ghc-clock)
1881 (name "ghc-clock-bootstrap")
1882 (arguments '(#:tests? #f))
1883 (inputs '())
1884 (properties '((hidden? #t)))))
1885
1886(define-public ghc-cmark
1887 (package
1888 (name "ghc-cmark")
6bdd36c0 1889 (version "0.6")
dddbc90c
RV
1890 (source (origin
1891 (method url-fetch)
6bdd36c0 1892 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1893 ;; See cbits/cmark_version.h.
1894 (uri (string-append "https://hackage.haskell.org/package/"
1895 "cmark/cmark-" version ".tar.gz"))
1896 (sha256
1897 (base32
6bdd36c0 1898 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
1899 (build-system haskell-build-system)
1900 (native-inputs
1901 `(("ghc-hunit" ,ghc-hunit)))
1902 (home-page "https://github.com/jgm/commonmark-hs")
1903 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1904 (description
1905 "This package provides Haskell bindings for
1906@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1907CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1908sources, and does not require prior installation of the C library.")
1909 (license license:bsd-3)))
1910
1911(define-public ghc-cmark-gfm
1912 (package
1913 (name "ghc-cmark-gfm")
24fc8dae 1914 (version "0.2.0")
dddbc90c
RV
1915 (source
1916 (origin
1917 (method url-fetch)
1918 (uri (string-append "https://hackage.haskell.org/package/"
1919 "cmark-gfm/cmark-gfm-"
1920 version ".tar.gz"))
1921 (sha256
1922 (base32
24fc8dae 1923 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
1924 (build-system haskell-build-system)
1925 (native-inputs
1926 `(("ghc-hunit" ,ghc-hunit)))
1927 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1928 (synopsis
1929 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1930 (description
1931 "This package provides Haskell bindings for libcmark-gfm, the reference
1932parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1933It includes sources for libcmark-gfm and does not require prior installation
1934of the C library.")
1935 (license license:bsd-3)))
1936
1937(define-public ghc-cmdargs
1938 (package
1939 (name "ghc-cmdargs")
1940 (version "0.10.20")
1941 (source
1942 (origin
1943 (method url-fetch)
1944 (uri (string-append
1945 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1946 version ".tar.gz"))
1947 (sha256
1948 (base32
1949 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1950 (build-system haskell-build-system)
1951 (home-page
1952 "http://community.haskell.org/~ndm/cmdargs/")
1953 (synopsis "Command line argument processing")
1954 (description
1955 "This library provides an easy way to define command line parsers.")
1956 (license license:bsd-3)))
1957
1958(define-public ghc-code-page
1959 (package
1960 (name "ghc-code-page")
f6bb6519 1961 (version "0.2")
dddbc90c
RV
1962 (source
1963 (origin
1964 (method url-fetch)
1965 (uri (string-append
1966 "https://hackage.haskell.org/package/code-page/code-page-"
1967 version ".tar.gz"))
1968 (sha256
1969 (base32
f6bb6519 1970 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1971 (build-system haskell-build-system)
1972 (home-page "https://github.com/RyanGlScott/code-page")
1973 (synopsis "Windows code page library for Haskell")
1974 (description "A cross-platform library with functions for adjusting
1975code pages on Windows. On all other operating systems, the library does
1976nothing.")
1977 (license license:bsd-3)))
1978
1979(define-public ghc-colour
1980(package
1981 (name "ghc-colour")
bc9d1af9 1982 (version "2.3.5")
dddbc90c
RV
1983 (source
1984 (origin
1985 (method url-fetch)
1986 (uri (string-append
1987 "https://hackage.haskell.org/package/colour/colour-"
1988 version ".tar.gz"))
1989 (sha256
1990 (base32
bc9d1af9 1991 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1992 (arguments
1993 ;; The tests for this package have the following dependency cycle:
1994 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1995 `(#:tests? #f))
1996 (build-system haskell-build-system)
1997 (home-page "https://www.haskell.org/haskellwiki/Colour")
1998 (synopsis "Model for human colour perception")
1999 (description
2000 "This package provides a data type for colours and transparency.
2001Colours can be blended and composed. Various colour spaces are
2002supported. A module of colour names (\"Data.Colour.Names\") is provided.")
2003 (license license:expat)))
2004
2005(define-public ghc-comonad
2006 (package
2007 (name "ghc-comonad")
1a825512 2008 (version "5.0.5")
dddbc90c
RV
2009 (source
2010 (origin
2011 (method url-fetch)
2012 (uri (string-append
2013 "https://hackage.haskell.org/package/comonad/comonad-"
2014 version
2015 ".tar.gz"))
2016 (sha256
2017 (base32
1a825512 2018 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
2019 (build-system haskell-build-system)
2020 (native-inputs
2021 `(("cabal-doctest" ,cabal-doctest)
2022 ("ghc-doctest" ,ghc-doctest)))
2023 (inputs
2024 `(("ghc-contravariant" ,ghc-contravariant)
2025 ("ghc-distributive" ,ghc-distributive)
2026 ("ghc-semigroups" ,ghc-semigroups)
2027 ("ghc-tagged" ,ghc-tagged)
2028 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2029 (home-page "https://github.com/ekmett/comonad/")
2030 (synopsis "Comonads for Haskell")
2031 (description "This library provides @code{Comonad}s for Haskell.")
2032 (license license:bsd-3)))
2033
2034(define-public ghc-concatenative
2035 (package
2036 (name "ghc-concatenative")
2037 (version "1.0.1")
2038 (source (origin
2039 (method url-fetch)
2040 (uri (string-append
2041 "https://hackage.haskell.org/package/concatenative/concatenative-"
2042 version ".tar.gz"))
2043 (sha256
2044 (base32
2045 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
2046 (build-system haskell-build-system)
2047 (home-page
2048 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
2049 (synopsis "Library for postfix control flow")
2050 (description
2051 "Concatenative gives Haskell Factor-style combinators and arrows for
2052postfix notation. For more information on stack based languages, see
2053@uref{https://concatenative.org}.")
2054 (license license:bsd-3)))
2055
2056(define-public ghc-concurrent-extra
2057 (package
2058 (name "ghc-concurrent-extra")
2059 (version "0.7.0.12")
2060 (source
2061 (origin
2062 (method url-fetch)
2063 (uri (string-append "https://hackage.haskell.org/package/"
2064 "concurrent-extra/concurrent-extra-"
2065 version ".tar.gz"))
2066 (sha256
2067 (base32
2068 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
2069 (build-system haskell-build-system)
2070 (arguments
2071 ;; XXX: The ReadWriteLock 'stressTest' fails.
2072 `(#:tests? #f))
2073 (inputs
2074 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
2075 (native-inputs
2076 `(("ghc-async" ,ghc-async)
2077 ("ghc-hunit" ,ghc-hunit)
2078 ("ghc-random" ,ghc-random)
2079 ("ghc-test-framework" ,ghc-test-framework)
2080 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2081 (home-page "https://github.com/basvandijk/concurrent-extra")
2082 (synopsis "Extra concurrency primitives")
2083 (description "This Haskell library offers (among other things) the
2084following selection of synchronisation primitives:
2085
2086@itemize
2087@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
2088@item @code{Event}: Wake multiple threads by signalling an event.
2089@item @code{Lock}: Enforce exclusive access to a resource. Also known
2090as a binary semaphore or mutex. The package additionally provides an
2091alternative that works in the STM monad.
2092@item @code{RLock}: A lock which can be acquired multiple times by the
2093same thread. Also known as a reentrant mutex.
2094@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
2095to protect shared resources which may be concurrently read, but only
2096sequentially written.
2097@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2098@end itemize
2099
2100Please consult the API documentation of the individual modules for more
2101detailed information.
2102
2103This package was inspired by the concurrency libraries of Java and
2104Python.")
2105 (license license:bsd-3)))
2106
2107(define-public ghc-concurrent-output
2108 (package
2109 (name "ghc-concurrent-output")
4fce0a4a 2110 (version "1.10.11")
dddbc90c
RV
2111 (source
2112 (origin
2113 (method url-fetch)
2114 (uri (string-append
2115 "mirror://hackage/package/concurrent-output/concurrent-output-"
2116 version
2117 ".tar.gz"))
2118 (sha256
2119 (base32
4fce0a4a 2120 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
2121 (build-system haskell-build-system)
2122 (inputs
2123 `(("ghc-async" ,ghc-async)
2124 ("ghc-exceptions" ,ghc-exceptions)
2125 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2126 ("ghc-terminal-size" ,ghc-terminal-size)))
2127 (home-page
2128 "https://hackage.haskell.org/package/concurrent-output")
2129 (synopsis
2130 "Ungarble output from several threads or commands")
2131 (description
2132 "Lets multiple threads and external processes concurrently output to the
2133console, without it getting all garbled up.
2134
2135Built on top of that is a way of defining multiple output regions, which are
2136automatically laid out on the screen and can be individually updated by
2137concurrent threads. Can be used for progress displays etc.")
2138 (license license:bsd-2)))
2139
2140(define-public ghc-conduit
2141 (package
2142 (name "ghc-conduit")
1ac981d4 2143 (version "1.3.1.1")
dddbc90c
RV
2144 (source (origin
2145 (method url-fetch)
2146 (uri (string-append "https://hackage.haskell.org/package/"
2147 "conduit/conduit-" version ".tar.gz"))
2148 (sha256
2149 (base32
1ac981d4 2150 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
dddbc90c
RV
2151 (build-system haskell-build-system)
2152 (inputs
2153 `(("ghc-exceptions" ,ghc-exceptions)
2154 ("ghc-lifted-base" ,ghc-lifted-base)
2155 ("ghc-mono-traversable" ,ghc-mono-traversable)
2156 ("ghc-mmorph" ,ghc-mmorph)
2157 ("ghc-resourcet" ,ghc-resourcet)
2158 ("ghc-silently" ,ghc-silently)
2159 ("ghc-transformers-base" ,ghc-transformers-base)
2160 ("ghc-unliftio" ,ghc-unliftio)
2161 ("ghc-unliftio-core" ,ghc-unliftio-core)
2162 ("ghc-vector" ,ghc-vector)
2163 ("ghc-void" ,ghc-void)))
2164 (native-inputs
2165 `(("ghc-quickcheck" ,ghc-quickcheck)
2166 ("ghc-hspec" ,ghc-hspec)
2167 ("ghc-safe" ,ghc-safe)
2168 ("ghc-split" ,ghc-split)))
2169 (home-page "https://github.com/snoyberg/conduit")
2170 (synopsis "Streaming data library ")
2171 (description
2172 "The conduit package is a solution to the streaming data problem,
2173allowing for production, transformation, and consumption of streams of data
2174in constant memory. It is an alternative to lazy I/O which guarantees
2175deterministic resource handling, and fits in the same general solution
2176space as enumerator/iteratee and pipes.")
2177 (license license:expat)))
2178
2179(define-public ghc-conduit-algorithms
2180 (package
2181 (name "ghc-conduit-algorithms")
503b74ae 2182 (version "0.0.11.0")
dddbc90c
RV
2183 (source
2184 (origin
2185 (method url-fetch)
2186 (uri (string-append "https://hackage.haskell.org/package/"
2187 "conduit-algorithms/conduit-algorithms-"
2188 version ".tar.gz"))
2189 (sha256
2190 (base32
503b74ae 2191 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
dddbc90c
RV
2192 (build-system haskell-build-system)
2193 (inputs
2194 `(("ghc-async" ,ghc-async)
2195 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2196 ("ghc-conduit" ,ghc-conduit)
2197 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2198 ("ghc-conduit-extra" ,ghc-conduit-extra)
503b74ae 2199 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
dddbc90c
RV
2200 ("ghc-exceptions" ,ghc-exceptions)
2201 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2202 ("ghc-monad-control" ,ghc-monad-control)
2203 ("ghc-pqueue" ,ghc-pqueue)
2204 ("ghc-resourcet" ,ghc-resourcet)
2205 ("ghc-stm-conduit" ,ghc-stm-conduit)
2206 ("ghc-streaming-commons" ,ghc-streaming-commons)
2207 ("ghc-unliftio-core" ,ghc-unliftio-core)
2208 ("ghc-vector" ,ghc-vector)))
2209 (native-inputs
2210 `(("ghc-hunit" ,ghc-hunit)
2211 ("ghc-test-framework" ,ghc-test-framework)
2212 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2213 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2214 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2215 (synopsis "Conduit-based algorithms")
2216 (description
2217 "This package provides algorithms on @code{Conduits}, including higher
2218level asynchronous processing and some other utilities.")
2219 (license license:expat)))
2220
2221(define-public ghc-conduit-combinators
2222 (package
2223 (name "ghc-conduit-combinators")
2224 (version "1.3.0")
2225 (source
2226 (origin
2227 (method url-fetch)
2228 (uri (string-append "https://hackage.haskell.org/package/"
2229 "conduit-combinators-" version "/"
2230 "conduit-combinators-" version ".tar.gz"))
2231 (sha256
2232 (base32
2233 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2234 (build-system haskell-build-system)
2235 (inputs `(("ghc-conduit" ,ghc-conduit)
2236 ("ghc-conduit-extra" ,ghc-conduit-extra)
2237 ("ghc-transformers-base" ,ghc-transformers-base)
2238 ("ghc-primitive" ,ghc-primitive)
2239 ("ghc-vector" ,ghc-vector)
2240 ("ghc-void" ,ghc-void)
2241 ("ghc-mwc-random" ,ghc-mwc-random)
2242 ("ghc-unix-compat" ,ghc-unix-compat)
2243 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2244 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2245 ("ghc-resourcet" ,ghc-resourcet)
2246 ("ghc-monad-control" ,ghc-monad-control)
2247 ("ghc-chunked-data" ,ghc-chunked-data)
2248 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2249 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2250 ("ghc-silently" ,ghc-silently)
2251 ("ghc-safe" ,ghc-safe)
2252 ("ghc-quickcheck" ,ghc-quickcheck)))
2253 (home-page "https://github.com/snoyberg/mono-traversable")
2254 (synopsis "Commonly used conduit functions, for both chunked and
2255unchunked data")
2256 (description "This Haskell package provides a replacement for Data.Conduit.List,
2257as well as a convenient Conduit module.")
2258 (license license:expat)))
2259
2260(define-public ghc-conduit-extra
2261 (package
2262 (name "ghc-conduit-extra")
151774d9 2263 (version "1.3.4")
dddbc90c
RV
2264 (source
2265 (origin
2266 (method url-fetch)
2267 (uri (string-append "https://hackage.haskell.org/package/"
2268 "conduit-extra/conduit-extra-"
2269 version ".tar.gz"))
2270 (sha256
2271 (base32
151774d9 2272 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
dddbc90c
RV
2273 (build-system haskell-build-system)
2274 (inputs
2275 `(("ghc-conduit" ,ghc-conduit)
2276 ("ghc-exceptions" ,ghc-exceptions)
2277 ("ghc-monad-control" ,ghc-monad-control)
2278 ("ghc-transformers-base" ,ghc-transformers-base)
2279 ("ghc-typed-process" ,ghc-typed-process)
2280 ("ghc-async" ,ghc-async)
2281 ("ghc-attoparsec" ,ghc-attoparsec)
2282 ("ghc-blaze-builder" ,ghc-blaze-builder)
2283 ("ghc-network" ,ghc-network)
2284 ("ghc-primitive" ,ghc-primitive)
2285 ("ghc-resourcet" ,ghc-resourcet)
2286 ("ghc-streaming-commons" ,ghc-streaming-commons)
2287 ("ghc-hspec" ,ghc-hspec)
2288 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2289 ("ghc-quickcheck" ,ghc-quickcheck)))
2290 (native-inputs
2291 `(("hspec-discover" ,hspec-discover)))
2292 (home-page "https://github.com/snoyberg/conduit")
2293 (synopsis "Conduit adapters for common libraries")
2294 (description
2295 "The @code{conduit} package itself maintains relative small dependencies.
2296The purpose of this package is to collect commonly used utility functions
2297wrapping other library dependencies, without depending on heavier-weight
2298dependencies. The basic idea is that this package should only depend on
2299@code{haskell-platform} packages and @code{conduit}.")
2300 (license license:expat)))
2301
b59c3518
TS
2302(define-public ghc-conduit-zstd
2303 (package
2304 (name "ghc-conduit-zstd")
2305 (version "0.0.1.1")
2306 (source
2307 (origin
2308 (method url-fetch)
2309 (uri (string-append "https://hackage.haskell.org/package/"
2310 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2311 (sha256
2312 (base32
2313 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2314 (build-system haskell-build-system)
2315 (inputs
2316 `(("ghc-conduit" ,ghc-conduit)
2317 ("ghc-zstd" ,ghc-zstd)))
2318 (native-inputs
2319 `(("ghc-hunit" ,ghc-hunit)
2320 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2321 ("ghc-conduit-extra" ,ghc-conduit-extra)
2322 ("ghc-test-framework" ,ghc-test-framework)
2323 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2324 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2325 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2326 (synopsis "Conduit-based ZStd Compression")
2327 (description "Zstandard compression packaged as a conduit. This is
2328a very thin wrapper around the
2329@url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2330interface}.")
2331 (license license:expat)))
2332
dddbc90c
RV
2333(define-public ghc-configurator
2334 (package
2335 (name "ghc-configurator")
2336 (version "0.3.0.0")
2337 (source
2338 (origin
2339 (method url-fetch)
2340 (uri (string-append "https://hackage.haskell.org/package/"
2341 "configurator/configurator-"
2342 version ".tar.gz"))
2343 (sha256
2344 (base32
2345 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2346 (build-system haskell-build-system)
2347 (inputs
2348 `(("ghc-attoparsec" ,ghc-attoparsec)
2349 ("ghc-hashable" ,ghc-hashable)
2350 ("ghc-unix-compat" ,ghc-unix-compat)
2351 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2352 (native-inputs
2353 `(("ghc-hunit" ,ghc-hunit)
2354 ("ghc-test-framework" ,ghc-test-framework)
2355 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2356 (home-page "http://github.com/bos/configurator")
2357 (synopsis "Configuration management")
2358 (description
2359 "This package provides a configuration management library for programs
2360and daemons. The features include:
2361
2362@enumerate
2363@item Automatic, dynamic reloading in response to modifications to
2364 configuration files.
2365@item A simple, but flexible, configuration language, supporting several of
2366 the most commonly needed types of data, along with interpolation of strings
2367 from the configuration or the system environment (e.g. @code{$(HOME)}).
2368@item Subscription-based notification of changes to configuration properties.
2369@item An @code{import} directive allows the configuration of a complex
2370 application to be split across several smaller files, or common configuration
2371 data to be shared across several applications.
2372@end enumerate\n")
2373 (license license:bsd-3)))
2374
2375(define-public ghc-connection
2376 (package
2377 (name "ghc-connection")
6ee0d258 2378 (version "0.3.1")
dddbc90c
RV
2379 (source (origin
2380 (method url-fetch)
2381 (uri (string-append "https://hackage.haskell.org/package/"
2382 "connection/connection-"
2383 version ".tar.gz"))
2384 (sha256
2385 (base32
6ee0d258 2386 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2387 (build-system haskell-build-system)
2388 (inputs
2389 `(("ghc-byteable" ,ghc-byteable)
2390 ("ghc-data-default-class" ,ghc-data-default-class)
2391 ("ghc-network" ,ghc-network)
2392 ("ghc-tls" ,ghc-tls)
2393 ("ghc-socks" ,ghc-socks)
2394 ("ghc-x509" ,ghc-x509)
2395 ("ghc-x509-store" ,ghc-x509-store)
2396 ("ghc-x509-system" ,ghc-x509-system)
2397 ("ghc-x509-validation" ,ghc-x509-validation)))
2398 (home-page "https://github.com/vincenthz/hs-connection")
2399 (synopsis "Simple and easy network connections API")
2400 (description
2401 "This package provides a simple network library for all your connection
2402needs. It provides a very simple API to create sockets to a destination with
2403the choice of SSL/TLS, and SOCKS.")
2404 (license license:bsd-3)))
2405
2406(define-public ghc-constraints
2407 (package
2408 (name "ghc-constraints")
2409 (version "0.10.1")
2410 (source
2411 (origin
2412 (method url-fetch)
2413 (uri (string-append
2414 "https://hackage.haskell.org/package/constraints/constraints-"
2415 version ".tar.gz"))
2416 (sha256
2417 (base32
2418 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2419 (build-system haskell-build-system)
2420 (inputs
2421 `(("ghc-hashable" ,ghc-hashable)
2422 ("ghc-semigroups" ,ghc-semigroups)
2423 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2424 (native-inputs
2425 `(("ghc-hspec" ,ghc-hspec)
2426 ("hspec-discover" ,hspec-discover)))
2427 (home-page "https://github.com/ekmett/constraints/")
2428 (synopsis "Constraint manipulation")
2429 (description
2430 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2431They stopped crashing the compiler in GHC 7.6. This package provides
2432a vocabulary for working with them.")
2433 (license license:bsd-3)))
2434
2435(define-public ghc-contravariant
2436 (package
2437 (name "ghc-contravariant")
e7b35ff0 2438 (version "1.5.2")
dddbc90c
RV
2439 (source
2440 (origin
2441 (method url-fetch)
2442 (uri (string-append
2443 "https://hackage.haskell.org/package/contravariant/contravariant-"
2444 version
2445 ".tar.gz"))
2446 (sha256
2447 (base32
e7b35ff0 2448 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2449 (build-system haskell-build-system)
2450 (inputs
2451 `(("ghc-void" ,ghc-void)
2452 ("ghc-transformers-compat" ,ghc-transformers-compat)
2453 ("ghc-statevar" ,ghc-statevar)
2454 ("ghc-semigroups" ,ghc-semigroups)))
2455 (home-page
2456 "https://github.com/ekmett/contravariant/")
2457 (synopsis "Contravariant functors")
2458 (description "Contravariant functors for Haskell.")
2459 (license license:bsd-3)))
2460
2461(define-public ghc-contravariant-extras
2462 (package
2463 (name "ghc-contravariant-extras")
2464 (version "0.3.4")
2465 (source
2466 (origin
2467 (method url-fetch)
2468 (uri (string-append "https://hackage.haskell.org/package/"
2469 "contravariant-extras-" version "/"
2470 "contravariant-extras-" version ".tar.gz"))
2471 (sha256
2472 (base32
2473 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2474 (build-system haskell-build-system)
f3aca086
TS
2475 (arguments
2476 `(#:cabal-revision
2477 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
dddbc90c
RV
2478 (inputs
2479 `(("ghc-tuple-th" ,ghc-tuple-th)
2480 ("ghc-contravariant" ,ghc-contravariant)
2481 ("ghc-base-prelude" ,ghc-base-prelude)
2482 ("ghc-semigroups" ,ghc-semigroups)))
2483 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2484 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2485 (description "This Haskell package provides extras for the
2486@code{ghc-contravariant} package.")
2487 (license license:expat)))
2488
2489(define-public ghc-convertible
2490 (package
2491 (name "ghc-convertible")
2492 (version "1.1.1.0")
2493 (source
2494 (origin
2495 (method url-fetch)
2496 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2497 "convertible-" version ".tar.gz"))
2498 (sha256
2499 (base32
2500 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2501 (build-system haskell-build-system)
2502 (inputs
2503 `(("ghc-old-time" ,ghc-old-time)
2504 ("ghc-old-locale" ,ghc-old-locale)))
2505 (home-page "https://hackage.haskell.org/package/convertible")
2506 (synopsis "Typeclasses and instances for converting between types")
2507 (description
2508 "This package provides a typeclass with a single function that is
2509designed to help convert between different types: numeric values, dates and
2510times, and the like. The conversions perform bounds checking and return a
2511pure @code{Either} value. This means that you need not remember which specific
2512function performs the conversion you desire.")
2513 (license license:bsd-3)))
2514
2515(define-public ghc-data-accessor
2516 (package
2517 (name "ghc-data-accessor")
6dcca515 2518 (version "0.2.2.8")
dddbc90c
RV
2519 (source
2520 (origin
2521 (method url-fetch)
2522 (uri (string-append
2523 "mirror://hackage/package/data-accessor/data-accessor-"
2524 version ".tar.gz"))
2525 (sha256
6dcca515 2526 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2527 (build-system haskell-build-system)
2528 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2529 (synopsis
2530 "Haskell utilities for accessing and manipulating fields of records")
2531 (description "This package provides Haskell modules for accessing and
2532manipulating fields of records.")
2533 (license license:bsd-3)))
2534
2535(define-public ghc-data-accessor-transformers
2536 (package
2537 (name "ghc-data-accessor-transformers")
2538 (version "0.2.1.7")
2539 (source
2540 (origin
2541 (method url-fetch)
2542 (uri (string-append
2543 "mirror://hackage/package/data-accessor-transformers/"
2544 "data-accessor-transformers-" version ".tar.gz"))
2545 (sha256
2546 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2547 (build-system haskell-build-system)
2548 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2549 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2550 (synopsis "Use Accessor to access state in transformers State monad")
2551 (description "This package provides Haskell modules to allow use of
2552Accessor to access state in transformers State monad.")
2553 (license license:bsd-3)))
2554
2555(define-public ghc-data-default
2556 (package
2557 (name "ghc-data-default")
2558 (version "0.7.1.1")
2559 (source
2560 (origin
2561 (method url-fetch)
2562 (uri (string-append
2563 "https://hackage.haskell.org/package/data-default/data-default-"
2564 version
2565 ".tar.gz"))
2566 (sha256
2567 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2568 (build-system haskell-build-system)
2569 (inputs
2570 `(("ghc-data-default-class"
2571 ,ghc-data-default-class)
2572 ("ghc-data-default-instances-base"
2573 ,ghc-data-default-instances-base)
2574 ("ghc-data-default-instances-containers"
2575 ,ghc-data-default-instances-containers)
2576 ("ghc-data-default-instances-dlist"
2577 ,ghc-data-default-instances-dlist)
2578 ("ghc-data-default-instances-old-locale"
2579 ,ghc-data-default-instances-old-locale)))
2580 (home-page "https://hackage.haskell.org/package/data-default")
2581 (synopsis "Types with default values")
2582 (description
2583 "This package defines a class for types with a default value, and
2584provides instances for types from the base, containers, dlist and old-locale
2585packages.")
2586 (license license:bsd-3)))
2587
2588(define-public ghc-data-default-class
2589 (package
2590 (name "ghc-data-default-class")
2591 (version "0.1.2.0")
2592 (source
2593 (origin
2594 (method url-fetch)
2595 (uri (string-append
2596 "https://hackage.haskell.org/package/data-default-class/"
2597 "data-default-class-" version ".tar.gz"))
2598 (sha256
2599 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2600 (build-system haskell-build-system)
2601 (home-page "https://hackage.haskell.org/package/data-default-class")
2602 (synopsis "Types with default values")
2603 (description
2604 "This package defines a class for types with default values.")
2605 (license license:bsd-3)))
2606
2607(define-public ghc-data-default-instances-base
2608 (package
2609 (name "ghc-data-default-instances-base")
2610 (version "0.1.0.1")
2611 (source
2612 (origin
2613 (method url-fetch)
2614 (uri (string-append
2615 "https://hackage.haskell.org/package/"
2616 "data-default-instances-base/"
2617 "data-default-instances-base-" version ".tar.gz"))
2618 (sha256
2619 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2620 (build-system haskell-build-system)
2621 (inputs
2622 `(("ghc-data-default-class" ,ghc-data-default-class)))
2623 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2624 (synopsis "Default instances for types in base")
2625 (description
2626 "This package provides default instances for types from the base
2627package.")
2628 (license license:bsd-3)))
2629
2630(define-public ghc-data-default-instances-containers
2631 (package
2632 (name "ghc-data-default-instances-containers")
2633 (version "0.0.1")
2634 (source
2635 (origin
2636 (method url-fetch)
2637 (uri (string-append
2638 "https://hackage.haskell.org/package/"
2639 "data-default-instances-containers/"
2640 "data-default-instances-containers-" version ".tar.gz"))
2641 (sha256
2642 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2643 (build-system haskell-build-system)
2644 (inputs
2645 `(("ghc-data-default-class" ,ghc-data-default-class)))
2646 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2647 (synopsis "Default instances for types in containers")
2648 (description "Provides default instances for types from the containers
2649package.")
2650 (license license:bsd-3)))
2651
2652(define-public ghc-data-default-instances-dlist
2653 (package
2654 (name "ghc-data-default-instances-dlist")
2655 (version "0.0.1")
2656 (source
2657 (origin
2658 (method url-fetch)
2659 (uri (string-append
2660 "https://hackage.haskell.org/package/"
2661 "data-default-instances-dlist/"
2662 "data-default-instances-dlist-" version ".tar.gz"))
2663 (sha256
2664 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2665 (build-system haskell-build-system)
2666 (inputs
2667 `(("ghc-data-default-class" ,ghc-data-default-class)
2668 ("ghc-dlist" ,ghc-dlist)))
2669 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2670 (synopsis "Default instances for types in dlist")
2671 (description "Provides default instances for types from the dlist
2672package.")
2673 (license license:bsd-3)))
2674
2675(define-public ghc-data-default-instances-old-locale
2676 (package
2677 (name "ghc-data-default-instances-old-locale")
2678 (version "0.0.1")
2679 (source
2680 (origin
2681 (method url-fetch)
2682 (uri (string-append
2683 "https://hackage.haskell.org/package/"
2684 "data-default-instances-old-locale/"
2685 "data-default-instances-old-locale-" version ".tar.gz"))
2686 (sha256
2687 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2688 (build-system haskell-build-system)
2689 (inputs
2690 `(("ghc-data-default-class" ,ghc-data-default-class)
2691 ("ghc-old-locale" ,ghc-old-locale)))
2692 (home-page
2693 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2694 (synopsis "Default instances for types in old-locale")
2695 (description "Provides Default instances for types from the old-locale
2696 package.")
2697 (license license:bsd-3)))
2698
2699(define-public ghc-data-hash
2700 (package
2701 (name "ghc-data-hash")
2702 (version "0.2.0.1")
2703 (source
2704 (origin
2705 (method url-fetch)
2706 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2707 "/data-hash-" version ".tar.gz"))
2708 (sha256
2709 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2710 (build-system haskell-build-system)
2711 (inputs
2712 `(("ghc-quickcheck" ,ghc-quickcheck)
2713 ("ghc-test-framework" ,ghc-test-framework)
2714 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2715 (home-page "https://hackage.haskell.org/package/data-hash")
2716 (synopsis "Combinators for building fast hashing functions")
2717 (description
2718 "This package provides combinators for building fast hashing functions.
2719It includes hashing functions for all basic Haskell98 types.")
2720 (license license:bsd-3)))
2721
2722(define-public ghc-data-ordlist
2723 (package
2724 (name "ghc-data-ordlist")
2725 (version "0.4.7.0")
2726 (source
2727 (origin
2728 (method url-fetch)
2729 (uri (string-append
2730 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2731 version ".tar.gz"))
2732 (sha256
2733 (base32
2734 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2735 (build-system haskell-build-system)
2736 (home-page "https://hackage.haskell.org/package/data-ordlist")
2737 (synopsis "Set and bag operations on ordered lists")
2738 (description
2739 "This module provides set and multiset operations on ordered lists.")
2740 (license license:bsd-3)))
2741
d05f32d6
JS
2742(define-public ghc-dbus
2743 (package
2744 (name "ghc-dbus")
2745 (version "1.2.7")
2746 (source
2747 (origin
2748 (method url-fetch)
2749 (uri
2750 (string-append
2751 "mirror://hackage/package/dbus/dbus-"
2752 version ".tar.gz"))
2753 (sha256
2754 (base32
2755 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
2756 (build-system haskell-build-system)
2757 (inputs
2758 `(("ghc-cereal" ,ghc-cereal)
2759 ("ghc-conduit" ,ghc-conduit)
2760 ("ghc-exceptions" ,ghc-exceptions)
2761 ("ghc-lens" ,ghc-lens)
2762 ("ghc-network" ,ghc-network)
2763 ("ghc-random" ,ghc-random)
2764 ("ghc-split" ,ghc-split)
2765 ("ghc-th-lift" ,ghc-th-lift)
2766 ("ghc-vector" ,ghc-vector)
2767 ("ghc-xml-conduit" ,ghc-xml-conduit)
2768 ("ghc-xml-types" ,ghc-xml-types)))
2769 (native-inputs
2770 `(("ghc-extra" ,ghc-extra)
2771 ("ghc-quickcheck" ,ghc-quickcheck)
2772 ("ghc-resourcet" ,ghc-resourcet)
2773 ("ghc-tasty" ,ghc-tasty)
2774 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2775 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2776 ;; FIXME - Some tests try to talk to network.
2777 (arguments `(#:tests? #f))
2778 (home-page "https://github.com/rblaze/haskell-dbus")
2779 (synopsis "Client library for the D-Bus IPC system")
2780 (description
2781 "D-Bus is a simple, message-based protocol for inter-process
2782communication, which allows applications to interact with other parts
2783of the machine and the user's session using remote procedure
2784calls. D-Bus is a essential part of the modern Linux desktop, where
2785it replaces earlier protocols such as CORBA and DCOP. This library
2786is an implementation of the D-Bus protocol in Haskell. It can be used
2787to add D-Bus support to Haskell applications, without the awkward
2788interfaces common to foreign bindings.")
2789 (license license:asl2.0)))
2790
dddbc90c
RV
2791(define-public ghc-deepseq-generics
2792 (package
2793 (name "ghc-deepseq-generics")
2794 (version "0.2.0.0")
2795 (source (origin
2796 (method url-fetch)
2797 (uri (string-append "https://hackage.haskell.org/package/"
2798 "deepseq-generics/deepseq-generics-"
2799 version ".tar.gz"))
2800 (sha256
2801 (base32
2802 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2803 (build-system haskell-build-system)
2804 (arguments
2805 `(#:cabal-revision
490ceae4 2806 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
dddbc90c
RV
2807 (native-inputs
2808 `(("ghc-hunit" ,ghc-hunit)
2809 ("ghc-test-framework" ,ghc-test-framework)
2810 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2811 (home-page "https://github.com/hvr/deepseq-generics")
2812 (synopsis "Generic RNF implementation")
2813 (description
2814 "This package provides a @code{GHC.Generics}-based
2815@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2816providing an @code{rnf} implementation.")
2817 (license license:bsd-3)))
2818
e924e17e
TS
2819(define-public ghc-dense-linear-algebra
2820 (package
2821 (name "ghc-dense-linear-algebra")
2822 (version "0.1.0.0")
2823 (source
2824 (origin
2825 (method url-fetch)
2826 (uri (string-append "https://hackage.haskell.org/package/"
2827 "dense-linear-algebra/dense-linear-algebra-"
2828 version ".tar.gz"))
2829 (sha256
2830 (base32
2831 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2832 (build-system haskell-build-system)
2833 (inputs
2834 `(("ghc-math-functions" ,ghc-math-functions)
2835 ("ghc-primitive" ,ghc-primitive)
2836 ("ghc-vector" ,ghc-vector)
2837 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2838 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2839 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2840 (native-inputs
2841 `(("ghc-hspec" ,ghc-hspec)
2842 ("ghc-quickcheck" ,ghc-quickcheck)))
50153437 2843 (home-page "https://hackage.haskell.org/package/dense-linear-algebra")
e924e17e
TS
2844 (synopsis "Simple and incomplete implementation of linear algebra")
2845 (description "This library is simply a collection of linear-algebra
2846related modules split from the statistics library.")
2847 (license license:bsd-2)))
2848
dddbc90c
RV
2849(define-public ghc-descriptive
2850 (package
2851 (name "ghc-descriptive")
2852 (version "0.9.5")
2853 (source
2854 (origin
2855 (method url-fetch)
2856 (uri (string-append
2857 "https://hackage.haskell.org/package/descriptive/descriptive-"
2858 version
2859 ".tar.gz"))
2860 (sha256
2861 (base32
2862 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2863 (build-system haskell-build-system)
2864 (inputs
2865 `(("ghc-aeson" ,ghc-aeson)
2866 ("ghc-bifunctors" ,ghc-bifunctors)
2867 ("ghc-scientific" ,ghc-scientific)
2868 ("ghc-vector" ,ghc-vector)))
2869 (native-inputs
2870 `(("ghc-hunit" ,ghc-hunit)
2871 ("ghc-hspec" ,ghc-hspec)))
2872 (home-page
2873 "https://github.com/chrisdone/descriptive")
2874 (synopsis
2875 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2876 (description
2877 "This package provides datatypes and functions for creating consumers
2878and parsers with useful semantics.")
2879 (license license:bsd-3)))
2880
1859c94a
TS
2881(define-public ghc-diagrams-core
2882 (package
2883 (name "ghc-diagrams-core")
2884 (version "1.4.2")
2885 (source
2886 (origin
2887 (method url-fetch)
2888 (uri (string-append "https://hackage.haskell.org/package/"
2889 "diagrams-core/diagrams-core-" version ".tar.gz"))
2890 (sha256
2891 (base32
2892 "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
2893 (build-system haskell-build-system)
2894 (inputs
2895 `(("ghc-unordered-containers" ,ghc-unordered-containers)
2896 ("ghc-semigroups" ,ghc-semigroups)
2897 ("ghc-monoid-extras" ,ghc-monoid-extras)
2898 ("ghc-dual-tree" ,ghc-dual-tree)
2899 ("ghc-lens" ,ghc-lens)
2900 ("ghc-linear" ,ghc-linear)
2901 ("ghc-adjunctions" ,ghc-adjunctions)
2902 ("ghc-distributive" ,ghc-distributive)
2903 ("ghc-profunctors" ,ghc-profunctors)))
2904 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2905 (synopsis "Core libraries for diagrams embedded domain-specific language")
2906 (description "This package provides the core modules underlying
2907diagrams, an embedded domain-specific language for compositional,
2908declarative drawing.")
2909 (license license:bsd-3)))
2910
f9f1a630
TS
2911(define-public ghc-diagrams-lib
2912 (package
2913 (name "ghc-diagrams-lib")
2914 (version "1.4.2.3")
2915 (source
2916 (origin
2917 (method url-fetch)
2918 (uri (string-append "https://hackage.haskell.org/package/"
2919 "diagrams-lib/diagrams-lib-" version ".tar.gz"))
2920 (sha256
2921 (base32
2922 "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"))))
2923 (build-system haskell-build-system)
2924 (inputs
2925 `(("ghc-semigroups" ,ghc-semigroups)
2926 ("ghc-monoid-extras" ,ghc-monoid-extras)
2927 ("ghc-dual-tree" ,ghc-dual-tree)
2928 ("ghc-diagrams-core" ,ghc-diagrams-core)
2929 ("ghc-diagrams-solve" ,ghc-diagrams-solve)
2930 ("ghc-active" ,ghc-active)
2931 ("ghc-colour" ,ghc-colour)
2932 ("ghc-data-default-class" ,ghc-data-default-class)
2933 ("ghc-fingertree" ,ghc-fingertree)
2934 ("ghc-intervals" ,ghc-intervals)
2935 ("ghc-lens" ,ghc-lens)
2936 ("ghc-tagged" ,ghc-tagged)
2937 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
2938 ("ghc-juicypixels" ,ghc-juicypixels)
2939 ("ghc-hashable" ,ghc-hashable)
2940 ("ghc-linear" ,ghc-linear)
2941 ("ghc-adjunctions" ,ghc-adjunctions)
2942 ("ghc-distributive" ,ghc-distributive)
2943 ("ghc-fsnotify" ,ghc-fsnotify)
2944 ("ghc-unordered-containers" ,ghc-unordered-containers)
2945 ("ghc-profunctors" ,ghc-profunctors)
2946 ("ghc-exceptions" ,ghc-exceptions)
2947 ("ghc-cereal" ,ghc-cereal)))
2948 (native-inputs
2949 `(("ghc-tasty" ,ghc-tasty)
2950 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2951 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
2952 ("ghc-numeric-extras" ,ghc-numeric-extras)))
2953 (arguments
2954 `(#:cabal-revision
2955 ("3" "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai")))
2956 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2957 (synopsis "Embedded domain-specific language for declarative graphics")
2958 (description "Diagrams is a flexible, extensible embedded
2959domain-specific language (EDSL) for creating graphics of many types.
2960Graphics can be created in arbitrary vector spaces and rendered with
2961multiple backends. This package provides a standard library of
2962primitives and operations for creating diagrams.")
2963 (license license:bsd-3)))
2964
fd33ffa0
TS
2965(define-public ghc-diagrams-solve
2966 (package
2967 (name "ghc-diagrams-solve")
2968 (version "0.1.1")
2969 (source
2970 (origin
2971 (method url-fetch)
2972 (uri (string-append "https://hackage.haskell.org/package/"
2973 "diagrams-solve/diagrams-solve-"
2974 version ".tar.gz"))
2975 (sha256
2976 (base32
2977 "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"))))
2978 (build-system haskell-build-system)
2979 (native-inputs
2980 `(("ghc-tasty" ,ghc-tasty)
2981 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2982 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2983 (arguments
2984 `(#:cabal-revision
2985 ("5" "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf")))
2986 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2987 (synopsis "Pure Haskell solver routines used by diagrams")
2988 (description "This library provides Pure Haskell solver routines for
2989use by the
2990@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
2991diagrams framework}. It currently includes routines for finding real
2992roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
2993and cyclic tridiagonal linear systems.")
2994 (license license:bsd-3)))
2995
74be1cb7
TS
2996(define-public ghc-diagrams-svg
2997 (package
2998 (name "ghc-diagrams-svg")
2999 (version "1.4.2")
3000 (source
3001 (origin
3002 (method url-fetch)
3003 (uri (string-append "https://hackage.haskell.org/package/"
3004 "diagrams-svg/diagrams-svg-" version ".tar.gz"))
3005 (sha256
3006 (base32
3007 "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal"))))
3008 (build-system haskell-build-system)
3009 (inputs
3010 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
3011 ("ghc-colour" ,ghc-colour)
3012 ("ghc-diagrams-core" ,ghc-diagrams-core)
3013 ("ghc-diagrams-lib" ,ghc-diagrams-lib)
3014 ("ghc-monoid-extras" ,ghc-monoid-extras)
3015 ("ghc-svg-builder" ,ghc-svg-builder)
3016 ("ghc-juicypixels" ,ghc-juicypixels)
3017 ("ghc-split" ,ghc-split)
3018 ("ghc-lens" ,ghc-lens)
3019 ("ghc-hashable" ,ghc-hashable)
3020 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3021 ("ghc-semigroups" ,ghc-semigroups)))
3022 (arguments
3023 `(#:cabal-revision
3024 ("2" "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv")))
3025 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3026 (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
3027 (description "This package provides a modular backend for rendering
3028diagrams created with the diagrams embedded domain-specific
3029language (EDSL) to Scalable Vector Graphics (SVG) files.")
3030 (license license:bsd-3)))
3031
4eb9a167
TS
3032(define-public ghc-dictionary-sharing
3033 (package
3034 (name "ghc-dictionary-sharing")
3035 (version "0.1.0.0")
3036 (source
3037 (origin
3038 (method url-fetch)
3039 (uri (string-append "https://hackage.haskell.org/package/"
3040 "dictionary-sharing/dictionary-sharing-"
3041 version ".tar.gz"))
3042 (sha256
3043 (base32
3044 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
3045 (build-system haskell-build-system)
3046 (arguments
3047 `(#:cabal-revision
3048 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
3049 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
3050 (synopsis "Sharing/memoization of class members")
3051 (description "This library provides tools for ensuring that class
3052members are shared.")
3053 (license license:bsd-3)))
3054
dddbc90c
RV
3055(define-public ghc-diff
3056 (package
3057 (name "ghc-diff")
3058 (version "0.3.4")
3059 (source (origin
3060 (method url-fetch)
3061 (uri (string-append "https://hackage.haskell.org/package/"
3062 "Diff/Diff-" version ".tar.gz"))
a531ff94 3063 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
3064 (sha256
3065 (base32
3066 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
3067 (build-system haskell-build-system)
3068 (native-inputs
3069 `(("ghc-quickcheck" ,ghc-quickcheck)
3070 ("ghc-test-framework" ,ghc-test-framework)
3071 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3072 (home-page "https://hub.darcs.net/sterlingclover/Diff")
3073 (synopsis "O(ND) diff algorithm in Haskell")
3074 (description
3075 "This package provides an implementation of the standard diff algorithm,
3076and utilities for pretty printing.")
3077 (license license:bsd-3)))
3078
3079(define-public ghc-disk-free-space
3080 (package
3081 (name "ghc-disk-free-space")
3082 (version "0.1.0.1")
3083 (source
3084 (origin
3085 (method url-fetch)
3086 (uri (string-append "https://hackage.haskell.org/package/"
3087 "disk-free-space/disk-free-space-"
3088 version ".tar.gz"))
3089 (sha256
3090 (base32
3091 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
3092 (build-system haskell-build-system)
3093 (home-page "https://github.com/redneb/disk-free-space")
3094 (synopsis "Retrieve information about disk space usage")
3095 (description "A cross-platform library for retrieving information about
3096disk space usage.")
3097 (license license:bsd-3)))
3098
3099(define-public ghc-distributive
3100 (package
3101 (name "ghc-distributive")
e4c92f28 3102 (version "0.6.1")
dddbc90c
RV
3103 (source
3104 (origin
3105 (method url-fetch)
3106 (uri (string-append
3107 "https://hackage.haskell.org/package/distributive/distributive-"
3108 version
3109 ".tar.gz"))
3110 (sha256
3111 (base32
e4c92f28 3112 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 3113 (build-system haskell-build-system)
dddbc90c
RV
3114 (inputs
3115 `(("ghc-tagged" ,ghc-tagged)
3116 ("ghc-base-orphans" ,ghc-base-orphans)
3117 ("ghc-transformers-compat" ,ghc-transformers-compat)
3118 ("ghc-semigroups" ,ghc-semigroups)
3119 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3120 (native-inputs
3121 `(("cabal-doctest" ,cabal-doctest)
3122 ("ghc-doctest" ,ghc-doctest)
3123 ("ghc-hspec" ,ghc-hspec)
3124 ("hspec-discover" ,hspec-discover)))
3125 (home-page "https://github.com/ekmett/distributive/")
3126 (synopsis "Distributive functors for Haskell")
3127 (description "This package provides distributive functors for Haskell.
3128Dual to @code{Traversable}.")
3129 (license license:bsd-3)))
3130
3131(define-public ghc-dlist
3132 (package
3133 (name "ghc-dlist")
197ddf33 3134 (version "0.8.0.7")
dddbc90c
RV
3135 (source
3136 (origin
3137 (method url-fetch)
3138 (uri (string-append
3139 "https://hackage.haskell.org/package/dlist/dlist-"
3140 version
3141 ".tar.gz"))
3142 (sha256
197ddf33 3143 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
3144 (build-system haskell-build-system)
3145 (inputs
3146 `(("ghc-quickcheck" ,ghc-quickcheck)))
3147 (home-page "https://github.com/spl/dlist")
3148 (synopsis "Difference lists")
3149 (description
3150 "Difference lists are a list-like type supporting O(1) append. This is
3151particularly useful for efficient logging and pretty printing (e.g. with the
3152Writer monad), where list append quickly becomes too expensive.")
3153 (license license:bsd-3)))
3154
3155(define-public ghc-doctemplates
3156 (package
3157 (name "ghc-doctemplates")
3158 (version "0.2.2.1")
3159 (source
3160 (origin
3161 (method url-fetch)
3162 (uri (string-append "https://hackage.haskell.org/package/"
3163 "doctemplates/doctemplates-"
3164 version ".tar.gz"))
3165 (sha256
3166 (base32
3167 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
3168 (build-system haskell-build-system)
3169 (inputs
3170 `(("ghc-aeson" ,ghc-aeson)
3171 ("ghc-blaze-markup" ,ghc-blaze-markup)
3172 ("ghc-blaze-html" ,ghc-blaze-html)
3173 ("ghc-vector" ,ghc-vector)
3174 ("ghc-unordered-containers" ,ghc-unordered-containers)
3175 ("ghc-scientific" ,ghc-scientific)))
3176 (native-inputs
3177 `(("ghc-hspec" ,ghc-hspec)))
3178 (home-page "https://github.com/jgm/doctemplates#readme")
3179 (synopsis "Pandoc-style document templates")
3180 (description
3181 "This package provides a simple text templating system used by pandoc.")
3182 (license license:bsd-3)))
3183
3184(define-public ghc-doctest
3185 (package
3186 (name "ghc-doctest")
19c14a0f 3187 (version "0.16.2")
dddbc90c
RV
3188 (source
3189 (origin
3190 (method url-fetch)
3191 (uri (string-append
3192 "https://hackage.haskell.org/package/doctest/doctest-"
3193 version
3194 ".tar.gz"))
3195 (sha256
3196 (base32
19c14a0f 3197 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
3198 (build-system haskell-build-system)
3199 (arguments `(#:tests? #f)) ; FIXME: missing test framework
3200 (inputs
3201 `(("ghc-syb" ,ghc-syb)
3202 ("ghc-paths" ,ghc-paths)
3203 ("ghc-base-compat" ,ghc-base-compat)
3204 ("ghc-code-page" ,ghc-code-page)
3205 ("ghc-hunit" ,ghc-hunit)
3206 ("ghc-hspec" ,ghc-hspec)
3207 ("ghc-quickcheck" ,ghc-quickcheck)
3208 ("ghc-stringbuilder" ,ghc-stringbuilder)
3209 ("ghc-silently" ,ghc-silently)
3210 ("ghc-setenv" ,ghc-setenv)))
3211 (home-page
3212 "https://github.com/sol/doctest#readme")
3213 (synopsis "Test interactive Haskell examples")
3214 (description "The doctest program checks examples in source code comments.
3215It is modeled after doctest for Python, see
3216@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3217 (license license:expat)))
3218
3219(define-public ghc-double-conversion
3220 (package
3221 (name "ghc-double-conversion")
3222 (version "2.0.2.0")
3223 (source
3224 (origin
3225 (method url-fetch)
3226 (uri (string-append "https://hackage.haskell.org/package/"
3227 "double-conversion/double-conversion-"
3228 version ".tar.gz"))
3229 (sha256
3230 (base32
3231 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3232 (build-system haskell-build-system)
3233 (native-inputs
3234 `(("ghc-hunit" ,ghc-hunit)
3235 ("ghc-test-framework" ,ghc-test-framework)
3236 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3237 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3238 (home-page "https://github.com/bos/double-conversion")
3239 (synopsis "Fast conversion between double precision floating point and text")
3240 (description
3241 "This package provides a library that performs fast, accurate conversion
3242between double precision floating point and text.")
3243 (license license:bsd-3)))
3244
577a78b7
TS
3245(define-public ghc-dual-tree
3246 (package
3247 (name "ghc-dual-tree")
3248 (version "0.2.2.1")
3249 (source
3250 (origin
3251 (method url-fetch)
3252 (uri (string-append "https://hackage.haskell.org/package/"
3253 "dual-tree/dual-tree-" version ".tar.gz"))
3254 (sha256
3255 (base32
3256 "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
3257 (build-system haskell-build-system)
3258 (inputs
3259 `(("ghc-semigroups" ,ghc-semigroups)
3260 ("ghc-newtype-generics" ,ghc-newtype-generics)
3261 ("ghc-monoid-extras" ,ghc-monoid-extras)))
3262 (native-inputs
3263 `(("ghc-quickcheck" ,ghc-quickcheck)
3264 ("ghc-testing-feat" ,ghc-testing-feat)))
3265 (home-page "https://hackage.haskell.org/package/dual-tree")
3266 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3267 (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
3268cached) and downwards-traveling (i.e. accumulating) monoidal
3269annotations. This is used as the core data structure underlying the
3270@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3271diagrams framework}, but potentially has other applications as well.")
3272 (license license:bsd-3)))
3273
dddbc90c
RV
3274(define-public ghc-easy-file
3275 (package
3276 (name "ghc-easy-file")
3277 (version "0.2.2")
3278 (source
3279 (origin
3280 (method url-fetch)
3281 (uri (string-append
3282 "https://hackage.haskell.org/package/easy-file/easy-file-"
3283 version
3284 ".tar.gz"))
3285 (sha256
3286 (base32
3287 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3288 (build-system haskell-build-system)
3289 (home-page
3290 "https://github.com/kazu-yamamoto/easy-file")
3291 (synopsis "File handling library for Haskell")
3292 (description "This library provides file handling utilities for Haskell.")
3293 (license license:bsd-3)))
3294
3295(define-public ghc-easyplot
3296 (package
3297 (name "ghc-easyplot")
3298 (version "1.0")
3299 (source
3300 (origin
3301 (method url-fetch)
3302 (uri (string-append
3303 "https://hackage.haskell.org/package/easyplot/easyplot-"
3304 version ".tar.gz"))
3305 (sha256
3306 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3307 (build-system haskell-build-system)
3308 (propagated-inputs `(("gnuplot" ,gnuplot)))
3309 (arguments
3310 `(#:phases (modify-phases %standard-phases
3311 (add-after 'unpack 'fix-setup-suffix
3312 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3313 (home-page "https://hub.darcs.net/scravy/easyplot")
3314 (synopsis "Haskell plotting library based on gnuplot")
3315 (description "This package provides a plotting library for
3316Haskell, using gnuplot for rendering.")
3317 (license license:expat)))
3318
3319(define-public ghc-echo
3320 (package
3321 (name "ghc-echo")
3322 (version "0.1.3")
3323 (source
3324 (origin
3325 (method url-fetch)
3326 (uri (string-append
3327 "https://hackage.haskell.org/package/echo/echo-"
3328 version ".tar.gz"))
3329 (sha256
3330 (base32
3331 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3332 (build-system haskell-build-system)
3333 (arguments
3334 `(#:cabal-revision
3335 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3336 (home-page "https://github.com/RyanGlScott/echo")
3337 (synopsis "Echo terminal input portably")
3338 (description "The @code{base} library exposes the @code{hGetEcho} and
3339@code{hSetEcho} functions for querying and setting echo status, but
3340unfortunately, neither function works with MinTTY consoles on Windows.
3341This library provides an alternative interface which works with both
3342MinTTY and other consoles.")
3343 (license license:bsd-3)))
3344
3345(define-public ghc-edisonapi
3346 (package
3347 (name "ghc-edisonapi")
3348 (version "1.3.1")
3349 (source
3350 (origin
3351 (method url-fetch)
3352 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3353 "/EdisonAPI-" version ".tar.gz"))
3354 (sha256
3355 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3356 (build-system haskell-build-system)
3357 (home-page "http://rwd.rdockins.name/edison/home/")
3358 (synopsis "Library of efficient, purely-functional data structures (API)")
3359 (description
3360 "Edison is a library of purely functional data structures written by
3361Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3362value EDiSon (Efficient Data Structures). Edison provides several families of
3363abstractions, each with multiple implementations. The main abstractions
3364provided by Edison are: Sequences such as stacks, queues, and dequeues;
3365Collections such as sets, bags and heaps; and Associative Collections such as
3366finite maps and priority queues where the priority and element are distinct.")
3367 (license license:expat)))
3368
3369(define-public ghc-edisoncore
3370 (package
3371 (name "ghc-edisoncore")
3372 (version "1.3.2.1")
3373 (source
3374 (origin
3375 (method url-fetch)
3376 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3377 "/EdisonCore-" version ".tar.gz"))
3378 (sha256
3379 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3380 (build-system haskell-build-system)
3381 (inputs
3382 `(("ghc-quickcheck" ,ghc-quickcheck)
3383 ("ghc-edisonapi" ,ghc-edisonapi)))
3384 (home-page "http://rwd.rdockins.name/edison/home/")
3385 (synopsis "Library of efficient, purely-functional data structures")
3386 (description
3387 "This package provides the core Edison data structure implementations,
3388including multiple sequence, set, bag, and finite map concrete implementations
3389with various performance characteristics.")
3390 (license license:expat)))
3391
3392(define-public ghc-edit-distance
3393 (package
3394 (name "ghc-edit-distance")
3395 (version "0.2.2.1")
3396 (source
3397 (origin
3398 (method url-fetch)
3399 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3400 "/edit-distance-" version ".tar.gz"))
3401 (sha256
3402 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3403 (build-system haskell-build-system)
3404 (arguments
3405 `(#:phases
3406 (modify-phases %standard-phases
3407 (add-before 'configure 'update-constraints
3408 (lambda _
3409 (substitute* "edit-distance.cabal"
3410 (("QuickCheck >= 2\\.4 && <2\\.9")
d7d143e5 3411 "QuickCheck >= 2.4 && < 2.14")))))))
dddbc90c
RV
3412 (inputs
3413 `(("ghc-random" ,ghc-random)
3414 ("ghc-test-framework" ,ghc-test-framework)
3415 ("ghc-quickcheck" ,ghc-quickcheck)
3416 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3417 (home-page "https://github.com/phadej/edit-distance")
3418 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3419 (description
3420 "This package provides optimized functions to determine the edit
3421distances for fuzzy matching, including Levenshtein and restricted
3422Damerau-Levenshtein algorithms.")
3423 (license license:bsd-3)))
3424
3ebae41f
TS
3425(define-public ghc-edit-distance-vector
3426 (package
3427 (name "ghc-edit-distance-vector")
3428 (version "1.0.0.4")
3429 (source
3430 (origin
3431 (method url-fetch)
3432 (uri (string-append "https://hackage.haskell.org/package/"
3433 "edit-distance-vector/edit-distance-vector-"
3434 version ".tar.gz"))
3435 (sha256
3436 (base32
3437 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3438 (build-system haskell-build-system)
3439 (inputs
3440 `(("ghc-vector" ,ghc-vector)))
3441 (native-inputs
3442 `(("ghc-quickcheck" ,ghc-quickcheck)
3443 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3444 (home-page "https://github.com/thsutton/edit-distance-vector")
3445 (synopsis "Calculate edit distances and edit scripts between vectors")
3446 (description "This package provides implementation of the
3447Wagner-Fischer dynamic programming algorithm to find the optimal edit
3448script and cost between two sequences. The implementation in this
3449package is specialised to sequences represented with @code{Data.Vector}
3450but is otherwise agnostic to:
3451@itemize
3452@item The type of values in the vectors;
3453@item The type representing edit operations; and
3454@item The type representing the cost of operations.
3455@end itemize")
3456 (license license:bsd-3)) )
3457
dddbc90c
RV
3458(define-public ghc-either
3459 (package
3460 (name "ghc-either")
a3fd4dc7 3461 (version "5.0.1.1")
dddbc90c
RV
3462 (source
3463 (origin
3464 (method url-fetch)
3465 (uri (string-append "https://hackage.haskell.org/package/"
3466 "either-" version "/"
3467 "either-" version ".tar.gz"))
3468 (sha256
3469 (base32
a3fd4dc7 3470 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
dddbc90c
RV
3471 (build-system haskell-build-system)
3472 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3473 ("ghc-exceptions" ,ghc-exceptions)
3474 ("ghc-free" ,ghc-free)
3475 ("ghc-monad-control" ,ghc-monad-control)
3476 ("ghc-manodrandom" ,ghc-monadrandom)
3477 ("ghc-mmorph" ,ghc-mmorph)
3478 ("ghc-profunctors" ,ghc-profunctors)
3479 ("ghc-semigroups" ,ghc-semigroups)
3480 ("ghc-semigroupoids" ,ghc-semigroupoids)
3481 ("ghc-transformers-base" ,ghc-transformers-base)))
3482 (native-inputs
3483 `(("ghc-quickcheck" ,ghc-quickcheck)
3484 ("ghc-test-framework" ,ghc-test-framework)
3485 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3486 (home-page "https://github.com/ekmett/either")
3487 (synopsis "Provides an either monad transformer for Haskell")
3488 (description "This Haskell package provides an either monad transformer.")
3489 (license license:bsd-3)))
3490
3491(define-public ghc-email-validate
3492 (package
3493 (name "ghc-email-validate")
a4fe1c64 3494 (version "2.3.2.12")
dddbc90c
RV
3495 (source
3496 (origin
3497 (method url-fetch)
3498 (uri (string-append
3499 "https://hackage.haskell.org/package/"
3500 "email-validate/email-validate-"
3501 version
3502 ".tar.gz"))
3503 (sha256
3504 (base32
a4fe1c64 3505 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
3506 (build-system haskell-build-system)
3507 (inputs
3508 `(("ghc-attoparsec" ,ghc-attoparsec)
3509 ("ghc-hspec" ,ghc-hspec)
3510 ("ghc-quickcheck" ,ghc-quickcheck)
3511 ("ghc-doctest" ,ghc-doctest)))
3512 (home-page
3513 "https://github.com/Porges/email-validate-hs")
3514 (synopsis "Email address validator for Haskell")
3515 (description
3516 "This Haskell package provides a validator that can validate an email
3517address string against RFC 5322.")
3518 (license license:bsd-3)))
3519
3520(define-public ghc-enclosed-exceptions
3521 (package
3522 (name "ghc-enclosed-exceptions")
3523 (version "1.0.3")
3524 (source (origin
3525 (method url-fetch)
3526 (uri (string-append "https://hackage.haskell.org/package/"
3527 "enclosed-exceptions/enclosed-exceptions-"
3528 version ".tar.gz"))
3529 (sha256
3530 (base32
3531 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3532 (build-system haskell-build-system)
3533 ;; FIXME: one of the tests blocks forever:
3534 ;; "thread blocked indefinitely in an MVar operation"
3535 (arguments '(#:tests? #f))
3536 (inputs
3537 `(("ghc-lifted-base" ,ghc-lifted-base)
3538 ("ghc-monad-control" ,ghc-monad-control)
3539 ("ghc-async" ,ghc-async)
3540 ("ghc-transformers-base" ,ghc-transformers-base)))
3541 (native-inputs
3542 `(("ghc-hspec" ,ghc-hspec)
3543 ("ghc-quickcheck" ,ghc-quickcheck)))
3544 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3545 (synopsis "Catch all exceptions from within an enclosed computation")
3546 (description
3547 "This library implements a technique to catch all exceptions raised
3548within an enclosed computation, while remaining responsive to (external)
3549asynchronous exceptions.")
3550 (license license:expat)))
3551
3552(define-public ghc-equivalence
3553 (package
3554 (name "ghc-equivalence")
801cf5b1 3555 (version "0.3.5")
dddbc90c
RV
3556 (source
3557 (origin
3558 (method url-fetch)
3559 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3560 "/equivalence-" version ".tar.gz"))
3561 (sha256
801cf5b1 3562 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
dddbc90c
RV
3563 (build-system haskell-build-system)
3564 (inputs
3565 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3566 ("ghc-transformers-compat" ,ghc-transformers-compat)
801cf5b1
TS
3567 ("ghc-fail" ,ghc-fail)
3568 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
3569 (home-page "https://github.com/pa-ba/equivalence")
3570 (synopsis "Maintaining an equivalence relation implemented as union-find")
3571 (description
3572 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3573Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
357422(2), 1975) in order to maintain an equivalence relation. This
3575implementation is a port of the @code{union-find} package using the @code{ST}
3576monad transformer (instead of the IO monad).")
3577 (license license:bsd-3)))
3578
3579(define-public ghc-erf
3580 (package
3581 (name "ghc-erf")
3582 (version "2.0.0.0")
3583 (source
3584 (origin
3585 (method url-fetch)
3586 (uri (string-append "https://hackage.haskell.org/package/"
3587 "erf-" version "/"
3588 "erf-" version ".tar.gz"))
3589 (sha256
3590 (base32
3591 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3592 (build-system haskell-build-system)
3593 (home-page "https://hackage.haskell.org/package/erf")
3594 (synopsis "The error function, erf, and related functions for Haskell")
3595 (description "This Haskell library provides a type class for the
3596error function, erf, and related functions. Instances for Float and
3597Double.")
3598 (license license:bsd-3)))
3599
3600(define-public ghc-errorcall-eq-instance
3601 (package
3602 (name "ghc-errorcall-eq-instance")
3603 (version "0.3.0")
3604 (source
3605 (origin
3606 (method url-fetch)
3607 (uri (string-append "https://hackage.haskell.org/package/"
3608 "errorcall-eq-instance/errorcall-eq-instance-"
3609 version ".tar.gz"))
3610 (sha256
3611 (base32
3612 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3613 (build-system haskell-build-system)
3614 (inputs
3615 `(("ghc-base-orphans" ,ghc-base-orphans)))
3616 (native-inputs
3617 `(("ghc-quickcheck" ,ghc-quickcheck)
3618 ("ghc-hspec" ,ghc-hspec)
3619 ("hspec-discover" ,hspec-discover)))
3ef91e15 3620 (home-page "https://hackage.haskell.org/package/errorcall-eq-instance")
dddbc90c
RV
3621 (synopsis "Orphan Eq instance for ErrorCall")
3622 (description
3623 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3624This package provides an orphan instance.")
3625 (license license:expat)))
3626
3627(define-public ghc-errors
3628 (package
3629 (name "ghc-errors")
3630 (version "2.3.0")
3631 (source
3632 (origin
3633 (method url-fetch)
3634 (uri (string-append "https://hackage.haskell.org/package/"
3635 "errors-" version "/"
3636 "errors-" version ".tar.gz"))
3637 (sha256
3638 (base32
3639 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3640 (build-system haskell-build-system)
3641 (inputs
3642 `(("ghc-exceptions" ,ghc-exceptions)
3643 ("ghc-transformers-compat" ,ghc-transformers-compat)
3644 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3645 ("ghc-safe" ,ghc-safe)))
3646 (home-page "https://github.com/gabriel439/haskell-errors-library")
3647 (synopsis "Error handling library for Haskell")
3648 (description "This library encourages an error-handling style that
3649directly uses the type system, rather than out-of-band exceptions.")
3650 (license license:bsd-3)))
3651
3652(define-public ghc-esqueleto
2648b604
TS
3653 (package
3654 (name "ghc-esqueleto")
3655 (version "3.0.0")
3656 (source
3657 (origin
3658 (method url-fetch)
3659 (uri (string-append "https://hackage.haskell.org/package/"
3660 "esqueleto/esqueleto-" version ".tar.gz"))
3661 (sha256
3662 (base32
3663 "187c098h2xyf2nhifkdy2bqfl6iap7a93mzwd2kirl5yyicpc9zy"))))
3664 (build-system haskell-build-system)
3665 (arguments
3666 `(#:haddock? #f ; Haddock reports an internal error.
3667 #:phases
3668 (modify-phases %standard-phases
3669 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3670 ;; SQLite backends. Since we only have Haskell packages for
3671 ;; SQLite, we remove the other two test suites. FIXME: Add the
3672 ;; other backends and run all three test suites.
3673 (add-before 'configure 'remove-non-sqlite-test-suites
3674 (lambda _
3675 (use-modules (ice-9 rdelim))
3676 (with-atomic-file-replacement "esqueleto.cabal"
3677 (lambda (in out)
3678 (let loop ((line (read-line in 'concat)) (deleting? #f))
3679 (cond
3680 ((eof-object? line) #t)
3681 ((string-every char-set:whitespace line)
3682 (unless deleting? (display line out))
3683 (loop (read-line in 'concat) #f))
3684 ((member line '("test-suite mysql\n"
3685 "test-suite postgresql\n"))
3686 (loop (read-line in 'concat) #t))
3687 (else
3688 (unless deleting? (display line out))
3689 (loop (read-line in 'concat) deleting?)))))))))))
3690 (inputs
3691 `(("ghc-blaze-html" ,ghc-blaze-html)
3692 ("ghc-conduit" ,ghc-conduit)
3693 ("ghc-monad-logger" ,ghc-monad-logger)
3694 ("ghc-persistent" ,ghc-persistent)
3695 ("ghc-resourcet" ,ghc-resourcet)
3696 ("ghc-tagged" ,ghc-tagged)
3697 ("ghc-unliftio" ,ghc-unliftio)
3698 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3699 (native-inputs
3700 `(("ghc-hspec" ,ghc-hspec)
3701 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3702 ("ghc-persistent-template" ,ghc-persistent-template)))
3703 (home-page "https://github.com/bitemyapp/esqueleto")
3704 (synopsis "Type-safe embedded domain specific language for SQL queries")
3705 (description "This library provides a type-safe embedded domain specific
dddbc90c
RV
3706language (EDSL) for SQL queries that works with SQL backends as provided by
3707@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3708to learn new concepts, just new syntax, and it's fairly easy to predict the
3709generated SQL and optimize it for your backend.")
2648b604 3710 (license license:bsd-3)))
dddbc90c
RV
3711
3712(define-public ghc-exactprint
3713 (package
3714 (name "ghc-exactprint")
50614014 3715 (version "0.6.1")
dddbc90c
RV
3716 (source
3717 (origin
3718 (method url-fetch)
3719 (uri (string-append
3720 "https://hackage.haskell.org/package/"
3721 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3722 (sha256
3723 (base32
50614014 3724 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
dddbc90c
RV
3725 (build-system haskell-build-system)
3726 (inputs
3727 `(("ghc-paths" ,ghc-paths)
3728 ("ghc-syb" ,ghc-syb)
3729 ("ghc-free" ,ghc-free)))
3730 (native-inputs
3731 `(("ghc-hunit" ,ghc-hunit)
3732 ("ghc-diff" ,ghc-diff)
3733 ("ghc-silently" ,ghc-silently)
3734 ("ghc-filemanip" ,ghc-filemanip)))
3735 (home-page
3ef91e15 3736 "https://hackage.haskell.org/package/ghc-exactprint")
dddbc90c
RV
3737 (synopsis "ExactPrint for GHC")
3738 (description
3739 "Using the API Annotations available from GHC 7.10.2, this library
3740provides a means to round-trip any code that can be compiled by GHC, currently
3741excluding @file{.lhs} files.")
3742 (license license:bsd-3)))
3743
3744(define-public ghc-exceptions
3745 (package
3746 (name "ghc-exceptions")
46d3e65b 3747 (version "0.10.3")
dddbc90c
RV
3748 (source
3749 (origin
3750 (method url-fetch)
3751 (uri (string-append
3752 "https://hackage.haskell.org/package/exceptions/exceptions-"
3753 version
3754 ".tar.gz"))
3755 (sha256
3756 (base32
46d3e65b 3757 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3758 (build-system haskell-build-system)
3759 (native-inputs
3760 `(("ghc-quickcheck" ,ghc-quickcheck)
3761 ("ghc-test-framework" ,ghc-test-framework)
3762 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3763 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3764 (inputs
3765 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3766 (home-page "https://github.com/ekmett/exceptions/")
3767 (synopsis "Extensible optionally-pure exceptions")
3768 (description "This library provides extensible optionally-pure exceptions
3769for Haskell.")
3770 (license license:bsd-3)))
3771
3772(define-public ghc-executable-path
3773 (package
3774 (name "ghc-executable-path")
3775 (version "0.0.3.1")
3776 (source (origin
3777 (method url-fetch)
3778 (uri (string-append "https://hackage.haskell.org/package/"
3779 "executable-path/executable-path-"
3780 version ".tar.gz"))
3781 (sha256
3782 (base32
3783 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3784 (build-system haskell-build-system)
3785 (home-page "https://hackage.haskell.org/package/executable-path")
3786 (synopsis "Find out the full path of the executable")
3787 (description
3788 "The documentation of @code{System.Environment.getProgName} says that
3789\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3790instead, for maximum portability, we just return the leafname of the program
3791as invoked.\" This library tries to provide the missing path.")
3792 (license license:public-domain)))
3793
3794(define-public ghc-extensible-exceptions
3795 (package
3796 (name "ghc-extensible-exceptions")
3797 (version "0.1.1.4")
3798 (source
3799 (origin
3800 (method url-fetch)
3801 (uri (string-append "https://hackage.haskell.org/package/"
3802 "extensible-exceptions/extensible-exceptions-"
3803 version ".tar.gz"))
3804 (sha256
3805 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3806 (build-system haskell-build-system)
3807 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3808 (synopsis "Extensible exceptions for Haskell")
3809 (description
3810 "This package provides extensible exceptions for both new and old
3811versions of GHC (i.e., < 6.10).")
3812 (license license:bsd-3)))
3813
3814(define-public ghc-extra
3815 (package
3816 (name "ghc-extra")
0cec5c4e 3817 (version "1.6.21")
dddbc90c
RV
3818 (source
3819 (origin
3820 (method url-fetch)
3821 (uri (string-append
3822 "https://hackage.haskell.org/package/extra/extra-"
3823 version
3824 ".tar.gz"))
3825 (sha256
3826 (base32
0cec5c4e 3827 "1gjx98w4w61g043k6rzc8i34cbxpcigi8lb6i7pp1vwp8w8jm5vl"))))
dddbc90c
RV
3828 (build-system haskell-build-system)
3829 (inputs
3830 `(("ghc-clock" ,ghc-clock)
10650c44 3831 ("ghc-semigroups" ,ghc-semigroups)
b431f6c9
ASM
3832 ("ghc-quickcheck" ,ghc-quickcheck)
3833 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
dddbc90c
RV
3834 (home-page "https://github.com/ndmitchell/extra")
3835 (synopsis "Extra Haskell functions")
3836 (description "This library provides extra functions for the standard
3837Haskell libraries. Most functions are simple additions, filling out missing
3838functionality. A few functions are available in later versions of GHC, but
3839this package makes them available back to GHC 7.2.")
3840 (license license:bsd-3)))
3841
3842(define-public ghc-fail
3843 (package
3844 (name "ghc-fail")
3845 (version "4.9.0.0")
3846 (source
3847 (origin
3848 (method url-fetch)
3849 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3850 version ".tar.gz"))
3851 (sha256
3852 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3853 (build-system haskell-build-system)
3854 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3855 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3856 (synopsis "Forward-compatible MonadFail class")
3857 (description
3858 "This package contains the @code{Control.Monad.Fail} module providing the
3859@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3860class that became available in
3861@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3862older @code{base} package versions. This package turns into an empty package
3863when used with GHC versions which already provide the
3864@code{Control.Monad.Fail} module.")
3865 (license license:bsd-3)))
3866
3867(define-public ghc-fast-logger
3868 (package
3869 (name "ghc-fast-logger")
d443a52a 3870 (version "2.4.17")
dddbc90c
RV
3871 (source
3872 (origin
3873 (method url-fetch)
3874 (uri (string-append
3875 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3876 version
3877 ".tar.gz"))
3878 (sha256
3879 (base32
d443a52a 3880 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
3881 (build-system haskell-build-system)
3882 (inputs
3883 `(("ghc-auto-update" ,ghc-auto-update)
3884 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
3885 ("ghc-unix-time" ,ghc-unix-time)
3886 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
3887 (native-inputs
3888 `(("hspec-discover" ,hspec-discover)
3889 ("ghc-hspec" ,ghc-hspec)))
3890 (home-page "https://hackage.haskell.org/package/fast-logger")
3891 (synopsis "Fast logging system")
3892 (description "This library provides a fast logging system for Haskell.")
3893 (license license:bsd-3)))
3894
3895(define-public ghc-feed
3896 (package
3897 (name "ghc-feed")
a41c16dc 3898 (version "1.2.0.1")
dddbc90c
RV
3899 (source
3900 (origin
3901 (method url-fetch)
3902 (uri (string-append "https://hackage.haskell.org/package/"
3903 "feed/feed-" version ".tar.gz"))
3904 (sha256
3905 (base32
a41c16dc 3906 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
dddbc90c 3907 (build-system haskell-build-system)
dddbc90c
RV
3908 (inputs
3909 `(("ghc-base-compat" ,ghc-base-compat)
3910 ("ghc-old-locale" ,ghc-old-locale)
3911 ("ghc-old-time" ,ghc-old-time)
3912 ("ghc-safe" ,ghc-safe)
3913 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3914 ("ghc-utf8-string" ,ghc-utf8-string)
3915 ("ghc-xml-conduit" ,ghc-xml-conduit)
3916 ("ghc-xml-types" ,ghc-xml-types)))
3917 (native-inputs
3918 `(("ghc-hunit" ,ghc-hunit)
a41c16dc 3919 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
dddbc90c
RV
3920 ("ghc-test-framework" ,ghc-test-framework)
3921 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3922 (home-page "https://github.com/bergmark/feed")
3923 (synopsis "Haskell package for handling various syndication formats")
3924 (description "This Haskell package includes tools for generating and
3925consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3926 (license license:bsd-3)))
3927
3928(define-public ghc-fgl
3929 (package
3930 (name "ghc-fgl")
17482b26 3931 (version "5.7.0.1")
dddbc90c
RV
3932 (outputs '("out" "doc"))
3933 (source
3934 (origin
3935 (method url-fetch)
3936 (uri (string-append
3937 "https://hackage.haskell.org/package/fgl/fgl-"
3938 version
3939 ".tar.gz"))
3940 (sha256
3941 (base32
17482b26 3942 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
3943 (build-system haskell-build-system)
3944 (arguments
3945 `(#:phases
3946 (modify-phases %standard-phases
3947 (add-before 'configure 'update-constraints
3948 (lambda _
3949 (substitute* "fgl.cabal"
17482b26
TS
3950 (("QuickCheck >= 2\\.8 && < 2\\.13")
3951 "QuickCheck >= 2.8 && < 2.14")
3952 (("hspec >= 2\\.1 && < 2\\.7")
3953 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3954 (inputs
3955 `(("ghc-hspec" ,ghc-hspec)
3956 ("ghc-quickcheck" ,ghc-quickcheck)))
3957 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3958 (synopsis
3959 "Martin Erwig's Functional Graph Library")
3960 (description "The functional graph library, FGL, is a collection of type
3961and function definitions to address graph problems. The basis of the library
3962is an inductive definition of graphs in the style of algebraic data types that
3963encourages inductive, recursive definitions of graph algorithms.")
3964 (license license:bsd-3)))
3965
3966(define-public ghc-fgl-arbitrary
3967 (package
3968 (name "ghc-fgl-arbitrary")
3969 (version "0.2.0.3")
3970 (source
3971 (origin
3972 (method url-fetch)
3973 (uri (string-append
3974 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3975 version ".tar.gz"))
3976 (sha256
3977 (base32
3978 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3979 (build-system haskell-build-system)
3980 (arguments
3981 `(#:phases
3982 (modify-phases %standard-phases
3983 (add-before 'configure 'update-constraints
3984 (lambda _
3985 (substitute* "fgl-arbitrary.cabal"
3986 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 3987 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 3988 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 3989 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3990 (inputs
3991 `(("ghc-fgl" ,ghc-fgl)
3992 ("ghc-quickcheck" ,ghc-quickcheck)
3993 ("ghc-hspec" ,ghc-hspec)))
3994 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3995 (synopsis "QuickCheck support for fgl")
3996 (description
3997 "Provides Arbitrary instances for fgl graphs to avoid adding a
3998QuickCheck dependency for fgl whilst still making the instances
3999available to others. Also available are non-fgl-specific functions
4000for generating graph-like data structures.")
4001 (license license:bsd-3)))
4002
4003(define-public ghc-file-embed
4004 (package
4005 (name "ghc-file-embed")
b5920d50 4006 (version "0.0.11")
dddbc90c
RV
4007 (source
4008 (origin
4009 (method url-fetch)
4010 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
4011 "file-embed-" version ".tar.gz"))
4012 (sha256
4013 (base32
b5920d50 4014 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
4015 (build-system haskell-build-system)
4016 (home-page "https://github.com/snoyberg/file-embed")
4017 (synopsis "Use Template Haskell to embed file contents directly")
4018 (description
4019 "This package allows you to use Template Haskell to read a file or all
4020the files in a directory, and turn them into @code{(path, bytestring)} pairs
4021embedded in your Haskell code.")
4022 (license license:bsd-3)))
4023
4024(define-public ghc-filemanip
4025 (package
4026 (name "ghc-filemanip")
4027 (version "0.3.6.3")
4028 (source (origin
4029 (method url-fetch)
4030 (uri (string-append "https://hackage.haskell.org/package/"
4031 "filemanip/filemanip-" version ".tar.gz"))
4032 (sha256
4033 (base32
4034 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
4035 (build-system haskell-build-system)
4036 (inputs
4037 `(("ghc-unix-compat" ,ghc-unix-compat)))
4038 (home-page "https://github.com/bos/filemanip")
4039 (synopsis "File and directory manipulation for Haskell")
4040 (description
4041 "This package provides a Haskell library for working with files and
4042directories. It includes code for pattern matching, finding files, modifying
4043file contents, and more.")
4044 (license license:bsd-3)))
4045
bb62932a
KM
4046(define-public ghc-filepath-bytestring
4047 (package
4048 (name "ghc-filepath-bytestring")
4049 (version "1.4.2.1.1")
4050 (source
4051 (origin
4052 (method url-fetch)
4053 (uri (string-append
4054 "https://hackage.haskell.org/package/filepath-bytestring/"
4055 "filepath-bytestring-" version ".tar.gz"))
4056 (sha256
4057 (base32
4058 "06shdskjj391hb9295slm9gg2rbn5fdq5v6fg0mgn3yl5dv8q5dx"))))
4059 (build-system haskell-build-system)
4060 (native-inputs
4061 `(("ghc-quickcheck" ,ghc-quickcheck)))
3ef91e15 4062 (home-page "https://hackage.haskell.org/package/filepath-bytestring")
bb62932a
KM
4063 (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
4064 (description "This package provides a drop-in replacement for the standard
4065@code{filepath} library, operating on @code{RawFilePath} values rather than
4066@code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
4067 (license license:bsd-3)))
4068
dddbc90c
RV
4069(define-public ghc-findbin
4070 (package
4071 (name "ghc-findbin")
4072 (version "0.0.5")
4073 (source
4074 (origin
4075 (method url-fetch)
4076 (uri (string-append
4077 "https://hackage.haskell.org/package/FindBin/FindBin-"
4078 version ".tar.gz"))
4079 (sha256
4080 (base32
4081 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
4082 (build-system haskell-build-system)
4083 (home-page "https://github.com/audreyt/findbin")
4084 (synopsis "Get the absolute path of the running program")
4085 (description
4086 "This module locates the full directory of the running program, to allow
4087the use of paths relative to it. FindBin supports invocation of Haskell
4088programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
4089an executable.")
4090 (license license:bsd-3)))
4091
4092(define-public ghc-fingertree
4093 (package
4094 (name "ghc-fingertree")
aac14fdc 4095 (version "0.1.4.2")
dddbc90c
RV
4096 (source
4097 (origin
4098 (method url-fetch)
4099 (uri (string-append
4100 "https://hackage.haskell.org/package/fingertree/fingertree-"
4101 version ".tar.gz"))
4102 (sha256
4103 (base32
aac14fdc 4104 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
4105 (build-system haskell-build-system)
4106 (native-inputs
4107 `(("ghc-hunit" ,ghc-hunit)
4108 ("ghc-quickcheck" ,ghc-quickcheck)
4109 ("ghc-test-framework" ,ghc-test-framework)
4110 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4111 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4112 (home-page "https://hackage.haskell.org/package/fingertree")
4113 (synopsis "Generic finger-tree structure")
4114 (description "This library provides finger trees, a general sequence
4115representation with arbitrary annotations, for use as a base for
4116implementations of various collection types. It includes examples, as
4117described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4118simple general-purpose data structure\".")
4119 (license license:bsd-3)))
4120
4121(define-public ghc-fixed
4122 (package
4123 (name "ghc-fixed")
099dda5b 4124 (version "0.3")
dddbc90c
RV
4125 (source
4126 (origin
4127 (method url-fetch)
4128 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
4129 version ".tar.gz"))
4130 (sha256
4131 (base32
099dda5b 4132 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
4133 (build-system haskell-build-system)
4134 (home-page "https://github.com/ekmett/fixed")
4135 (synopsis "Signed 15.16 precision fixed point arithmetic")
4136 (description
4137 "This package provides functions for signed 15.16 precision fixed point
4138arithmetic.")
4139 (license license:bsd-3)))
4140
f169f713
JS
4141(define-public ghc-fmlist
4142 (package
4143 (name "ghc-fmlist")
fe9b83a6 4144 (version "0.9.3")
f169f713
JS
4145 (source
4146 (origin
4147 (method url-fetch)
4148 (uri
4149 (string-append
4150 "https://hackage.haskell.org/package/fmlist/fmlist-"
4151 version ".tar.gz"))
4152 (sha256
4153 (base32
fe9b83a6 4154 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
4155 (build-system haskell-build-system)
4156 (home-page "https://github.com/sjoerdvisscher/fmlist")
4157 (synopsis "FoldMap lists")
4158 (description "FoldMap lists are lists represented by their
4159@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
4160append, just like DLists, but other operations might have favorable
4161performance characteristics as well. These wild claims are still
4162completely unverified though.")
4163 (license license:bsd-3)))
4164
dddbc90c
RV
4165(define-public ghc-foldl
4166 (package
4167 (name "ghc-foldl")
26c4104f 4168 (version "1.4.5")
dddbc90c
RV
4169 (source
4170 (origin
4171 (method url-fetch)
4172 (uri (string-append "https://hackage.haskell.org/package/"
4173 "foldl-" version "/"
4174 "foldl-" version ".tar.gz"))
4175 (sha256
4176 (base32
26c4104f 4177 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
dddbc90c
RV
4178 (build-system haskell-build-system)
4179 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
4180 ("ghc-primitive" ,ghc-primitive)
4181 ("ghc-vector" ,ghc-vector)
4182 ("ghc-unordered-containers" ,ghc-unordered-containers)
4183 ("ghc-hashable" ,ghc-hashable)
4184 ("ghc-contravariant" ,ghc-contravariant)
4185 ("ghc-semigroups" ,ghc-semigroups)
4186 ("ghc-profunctors" ,ghc-profunctors)
4187 ("ghc-semigroupoids" ,ghc-semigroupoids)
4188 ("ghc-comonad" ,ghc-comonad)
4189 ("ghc-vector-builder" ,ghc-vector-builder)))
4190 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
4191 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4192 (description "This Haskell library provides strict left folds that stream
4193in constant memory, and you can combine folds using @code{Applicative} style
4194to derive new folds. Derived folds still traverse the container just once
4195and are often as efficient as hand-written folds.")
4196 (license license:bsd-3)))
4197
4198(define-public ghc-foundation
4199 (package
4200 (name "ghc-foundation")
0a702df9 4201 (version "0.0.25")
dddbc90c
RV
4202 (source
4203 (origin
4204 (method url-fetch)
4205 (uri (string-append "https://hackage.haskell.org/package/"
4206 "foundation/foundation-" version ".tar.gz"))
4207 (sha256
4208 (base32
0a702df9 4209 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c 4210 (build-system haskell-build-system)
59cd7518
TS
4211 (arguments
4212 `(#:phases
4213 (modify-phases %standard-phases
4214 ;; This test is broken. For details, see
4215 ;; https://github.com/haskell-foundation/foundation/issues/530
4216 (add-after 'unpack 'patch-tests
4217 (lambda _
4218 (substitute* "tests/Test/Foundation/Number.hs"
4219 ((", testDividible proxy") ""))
4220 #t)))))
dddbc90c
RV
4221 (inputs `(("ghc-basement" ,ghc-basement)))
4222 (home-page "https://github.com/haskell-foundation/foundation")
4223 (synopsis "Alternative prelude with batteries and no dependencies")
4224 (description
4225 "This package provides a custom prelude with no dependencies apart from
4226the base package.
4227
4228Foundation has the following goals:
4229
4230@enumerate
4231@item provide a base like sets of modules that provide a consistent set of
4232 features and bugfixes across multiple versions of GHC (unlike base).
4233@item provide a better and more efficient prelude than base's prelude.
4234@item be self-sufficient: no external dependencies apart from base;
4235@item provide better data-types: packed unicode string by default, arrays;
4236@item Numerical classes that better represent mathematical things (no more
4237 all-in-one @code{Num});
4238@item I/O system with less lazy IO.
4239@end enumerate\n")
4240 (license license:bsd-3)))
4241
4242(define-public ghc-free
4243 (package
4244 (name "ghc-free")
4081565d 4245 (version "5.1.2")
dddbc90c
RV
4246 (source
4247 (origin
4248 (method url-fetch)
4249 (uri (string-append
4250 "https://hackage.haskell.org/package/free/free-"
4251 version
4252 ".tar.gz"))
4253 (sha256
4254 (base32
4081565d 4255 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
dddbc90c
RV
4256 (build-system haskell-build-system)
4257 (inputs
4258 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4259 ("ghc-profunctors" ,ghc-profunctors)
4260 ("ghc-exceptions" ,ghc-exceptions)
4261 ("ghc-bifunctors" ,ghc-bifunctors)
4262 ("ghc-comonad" ,ghc-comonad)
4263 ("ghc-distributive" ,ghc-distributive)
4264 ("ghc-semigroupoids" ,ghc-semigroupoids)
4265 ("ghc-semigroups" ,ghc-semigroups)
4266 ("ghc-transformers-base" ,ghc-transformers-base)
4267 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4268 (home-page "https://github.com/ekmett/free/")
4269 (synopsis "Unrestricted monads for Haskell")
4270 (description "This library provides free monads, which are useful for many
4271tree-like structures and domain specific languages. If @code{f} is a
4272@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4273whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4274is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4275f} makes no constraining assumptions beyond those given by @code{f} and the
4276definition of @code{Monad}.")
4277 (license license:bsd-3)))
4278
4279(define-public ghc-fsnotify
4280 (package
4281 (name "ghc-fsnotify")
4282 (version "0.3.0.1")
4283 (source (origin
4284 (method url-fetch)
4285 (uri (string-append
4286 "https://hackage.haskell.org/package/fsnotify/"
4287 "fsnotify-" version ".tar.gz"))
4288 (sha256
4289 (base32
4290 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4291 (build-system haskell-build-system)
4292 (inputs
4293 `(("ghc-async" ,ghc-async)
4294 ("ghc-unix-compat" ,ghc-unix-compat)
4295 ("ghc-hinotify" ,ghc-hinotify)
4296 ("ghc-tasty" ,ghc-tasty)
4297 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4298 ("ghc-random" ,ghc-random)
4299 ("ghc-shelly" ,ghc-shelly)
4300 ("ghc-temporary" ,ghc-temporary)))
4301 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4302 (synopsis "Cross platform library for file change notification.")
4303 (description "Cross platform library for file creation, modification, and
4304deletion notification. This library builds upon existing libraries for platform
4305specific Windows, Mac, and Linux file system event notification.")
4306 (license license:bsd-3)))
4307
4308(define-public ghc-generic-deriving
4309 (package
4310 (name "ghc-generic-deriving")
55c1e6be 4311 (version "1.12.4")
dddbc90c
RV
4312 (source
4313 (origin
4314 (method url-fetch)
4315 (uri (string-append
4316 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4317 version
4318 ".tar.gz"))
4319 (sha256
4320 (base32
55c1e6be 4321 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
4322 (build-system haskell-build-system)
4323 (inputs
4324 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4325 (native-inputs
4326 `(("ghc-hspec" ,ghc-hspec)
4327 ("hspec-discover" ,hspec-discover)))
4328 (home-page "https://hackage.haskell.org/package/generic-deriving")
4329 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4330 (description "This package provides functionality for generalising the
4331deriving mechanism in Haskell to arbitrary classes.")
4332 (license license:bsd-3)))
4333
4334(define-public ghc-generics-sop
4335 (package
4336 (name "ghc-generics-sop")
3ed40e10 4337 (version "0.4.0.1")
dddbc90c
RV
4338 (source
4339 (origin
4340 (method url-fetch)
4341 (uri (string-append "https://hackage.haskell.org/package/"
4342 "generics-sop-" version "/"
4343 "generics-sop-" version ".tar.gz"))
4344 (sha256
4345 (base32
3ed40e10 4346 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 4347 (build-system haskell-build-system)
3ed40e10
TS
4348 (inputs
4349 `(("ghc-sop-core" ,ghc-sop-core)
4350 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
4351 (home-page "https://github.com/well-typed/generics-sop")
4352 (synopsis "Generic Programming using True Sums of Products for Haskell")
4353 (description "This Haskell package supports the definition of generic
4354functions. Datatypes are viewed in a uniform, structured way: the choice
4355between constructors is represented using an n-ary sum, and the arguments of
4356each constructor are represented using an n-ary product.")
4357 (license license:bsd-3)))
4358
4359(define-public ghc-geniplate-mirror
4360 (package
4361 (name "ghc-geniplate-mirror")
4362 (version "0.7.6")
4363 (source
4364 (origin
4365 (method url-fetch)
4366 (uri (string-append "https://hackage.haskell.org/package"
4367 "/geniplate-mirror"
4368 "/geniplate-mirror-" version ".tar.gz"))
4369 (sha256
4370 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4371 (build-system haskell-build-system)
74a7dd7f
TS
4372 (arguments
4373 `(#:cabal-revision
4374 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
dddbc90c
RV
4375 (home-page "https://github.com/danr/geniplate")
4376 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4377 (description
4378 "Use Template Haskell to generate Uniplate-like functions. This is a
4379maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4380geniplate} package, written by Lennart Augustsson.")
4381 (license license:bsd-3)))
4382
4383(define-public ghc-genvalidity
4384 (package
4385 (name "ghc-genvalidity")
920f44a1 4386 (version "0.8.0.0")
dddbc90c
RV
4387 (source
4388 (origin
4389 (method url-fetch)
4390 (uri (string-append
4391 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4392 version
4393 ".tar.gz"))
4394 (sha256
4395 (base32
920f44a1 4396 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
4397 (build-system haskell-build-system)
4398 (inputs
4399 `(("ghc-quickcheck" ,ghc-quickcheck)
4400 ("ghc-validity" ,ghc-validity)))
4401 (native-inputs
4402 `(("ghc-hspec" ,ghc-hspec)
4403 ("hspec-discover" ,hspec-discover)
4404 ("ghc-hspec-core" ,ghc-hspec-core)))
4405 (home-page
4406 "https://github.com/NorfairKing/validity")
4407 (synopsis
4408 "Testing utilities for the @code{validity} library")
4409 (description
4410 "This package provides testing utilities that are useful in conjunction
4411with the @code{Validity} typeclass.")
4412 (license license:expat)))
4413
4414(define-public ghc-genvalidity-property
4415 (package
4416 (name "ghc-genvalidity-property")
e4ede35b 4417 (version "0.4.0.0")
dddbc90c
RV
4418 (source
4419 (origin
4420 (method url-fetch)
4421 (uri (string-append
4422 "https://hackage.haskell.org/package/"
4423 "genvalidity-property/genvalidity-property-"
4424 version
4425 ".tar.gz"))
4426 (sha256
4427 (base32
e4ede35b 4428 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
4429 (build-system haskell-build-system)
4430 (inputs
4431 `(("ghc-quickcheck" ,ghc-quickcheck)
4432 ("ghc-genvalidity" ,ghc-genvalidity)
4433 ("ghc-hspec" ,ghc-hspec)
4434 ("hspec-discover" ,hspec-discover)
4435 ("ghc-validity" ,ghc-validity)))
4436 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4437 (home-page
4438 "https://github.com/NorfairKing/validity")
4439 (synopsis
4440 "Standard properties for functions on @code{Validity} types")
4441 (description
4442 "This package supplements the @code{Validity} typeclass with standard
4443properties for functions operating on them.")
4444 (license license:expat)))
4445
e71fb573
TS
4446(define-public ghc-getopt-generics
4447 (package
4448 (name "ghc-getopt-generics")
4449 (version "0.13.0.4")
4450 (source
4451 (origin
4452 (method url-fetch)
4453 (uri (string-append "https://hackage.haskell.org/package/"
4454 "getopt-generics/getopt-generics-"
4455 version ".tar.gz"))
4456 (sha256
4457 (base32
4458 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4459 (build-system haskell-build-system)
4460 (inputs
4461 `(("ghc-base-compat" ,ghc-base-compat)
4462 ("ghc-base-orphans" ,ghc-base-orphans)
4463 ("ghc-generics-sop" ,ghc-generics-sop)
4464 ("ghc-tagged" ,ghc-tagged)))
4465 (native-inputs
4466 `(("ghc-quickcheck" ,ghc-quickcheck)
4467 ("ghc-hspec" ,ghc-hspec)
4468 ("ghc-safe" ,ghc-safe)
4469 ("ghc-silently" ,ghc-silently)
4470 ("hspec-discover" ,hspec-discover)))
4471 (home-page "https://github.com/soenkehahn/getopt-generics")
4472 (synopsis "Create command line interfaces with ease")
4473 (description "This library provides tools to create command line
4474interfaces with ease.")
4475 (license license:bsd-3)))
4476
dddbc90c
RV
4477(define-public ghc-gitrev
4478 (package
4479 (name "ghc-gitrev")
4480 (version "1.3.1")
4481 (source
4482 (origin
4483 (method url-fetch)
4484 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4485 version ".tar.gz"))
4486 (sha256
4487 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4488 (build-system haskell-build-system)
4489 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4490 (home-page "https://github.com/acfoltzer/gitrev")
4491 (synopsis "Compile git revision info into Haskell projects")
4492 (description
4493 "This package provides some handy Template Haskell splices for including
4494the current git hash and branch in the code of your project. This is useful
4495for including in panic messages, @command{--version} output, or diagnostic
4496info for more informative bug reports.")
4497 (license license:bsd-3)))
4498
4499(define-public ghc-glob
4500 (package
4501 (name "ghc-glob")
b900f486 4502 (version "0.10.0")
dddbc90c
RV
4503 (source
4504 (origin
4505 (method url-fetch)
4506 (uri (string-append "https://hackage.haskell.org/package/"
4507 "Glob-" version "/"
4508 "Glob-" version ".tar.gz"))
4509 (sha256
4510 (base32
b900f486 4511 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
4512 (build-system haskell-build-system)
4513 (inputs
4514 `(("ghc-dlist" ,ghc-dlist)
4515 ("ghc-semigroups" ,ghc-semigroups)
4516 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4517 (native-inputs
4518 `(("ghc-hunit" ,ghc-hunit)
4519 ("ghc-quickcheck" ,ghc-quickcheck)
4520 ("ghc-test-framework" ,ghc-test-framework)
4521 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4522 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4523 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4524 (synopsis "Haskell library matching glob patterns against file paths")
4525 (description "This package provides a Haskell library for @dfn{globbing}:
4526matching patterns against file paths.")
4527 (license license:bsd-3)))
4528
4529(define-public ghc-gluraw
4530 (package
4531 (name "ghc-gluraw")
4532 (version "2.0.0.4")
4533 (source
4534 (origin
4535 (method url-fetch)
4536 (uri (string-append
4537 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4538 version
4539 ".tar.gz"))
4540 (sha256
4541 (base32
4542 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4543 (build-system haskell-build-system)
4544 (inputs
4545 `(("ghc-openglraw" ,ghc-openglraw)))
4546 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4547 (synopsis "Raw Haskell bindings GLU")
4548 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4549utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4550basis for a nicer interface.")
4551 (license license:bsd-3)))
4552
4553(define-public ghc-glut
4554 (package
4555 (name "ghc-glut")
8284bd09 4556 (version "2.7.0.15")
dddbc90c
RV
4557 (source
4558 (origin
4559 (method url-fetch)
4560 (uri (string-append
4561 "https://hackage.haskell.org/package/GLUT/GLUT-"
4562 version
4563 ".tar.gz"))
4564 (sha256
4565 (base32
8284bd09 4566 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4567 (build-system haskell-build-system)
4568 (inputs
4569 `(("ghc-statevar" ,ghc-statevar)
4570 ("ghc-opengl" ,ghc-opengl)
4571 ("ghc-openglraw" ,ghc-openglraw)
4572 ("freeglut" ,freeglut)))
4573 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4574 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4575 (description "This library provides Haskell bindings for the OpenGL
4576Utility Toolkit, a window system-independent toolkit for writing OpenGL
4577programs.")
4578 (license license:bsd-3)))
4579
4580(define-public ghc-gnuplot
4581 (package
4582 (name "ghc-gnuplot")
d34860c7 4583 (version "0.5.6")
dddbc90c
RV
4584 (source
4585 (origin
4586 (method url-fetch)
4587 (uri (string-append
4588 "mirror://hackage/package/gnuplot/gnuplot-"
4589 version ".tar.gz"))
4590 (sha256
d34860c7 4591 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4592 (build-system haskell-build-system)
4593 (inputs
4594 `(("ghc-temporary" ,ghc-temporary)
4595 ("ghc-utility-ht" ,ghc-utility-ht)
4596 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4597 ("ghc-data-accessor" ,ghc-data-accessor)
4598 ("ghc-semigroups" ,ghc-semigroups)
4599 ("gnuplot" ,gnuplot)))
4600 (arguments
4601 `(#:phases
4602 (modify-phases %standard-phases
4603 (add-before 'configure 'fix-path-to-gnuplot
4604 (lambda* (#:key inputs #:allow-other-keys)
4605 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4606 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4607 (("(gnuplotName = ).*$" all cmd)
4608 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4609 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4610 (synopsis "2D and 3D plots using gnuplot")
4611 (description "This package provides a Haskell module for creating 2D and
46123D plots using gnuplot.")
4613 (license license:bsd-3)))
4614
4615(define-public ghc-graphviz
4616 (package
4617 (name "ghc-graphviz")
c264bd42 4618 (version "2999.20.0.3")
dddbc90c
RV
4619 (source (origin
4620 (method url-fetch)
4621 (uri (string-append "https://hackage.haskell.org/package/"
4622 "graphviz/graphviz-" version ".tar.gz"))
4623 (sha256
4624 (base32
c264bd42 4625 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4626 (build-system haskell-build-system)
c264bd42
TS
4627 (arguments
4628 `(#:phases
4629 (modify-phases %standard-phases
4630 (add-before 'configure 'update-constraints
4631 (lambda _
4632 (substitute* "graphviz.cabal"
4633 (("QuickCheck >= 2\\.3 && < 2\\.13")
4634 "QuickCheck >= 2.3 && < 2.14")
4635 (("hspec >= 2\\.1 && < 2\\.7")
4636 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4637 (inputs
4638 `(("ghc-quickcheck" ,ghc-quickcheck)
4639 ("ghc-colour" ,ghc-colour)
4640 ("ghc-dlist" ,ghc-dlist)
4641 ("ghc-fgl" ,ghc-fgl)
4642 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4643 ("ghc-polyparse" ,ghc-polyparse)
4644 ("ghc-temporary" ,ghc-temporary)
4645 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4646 (native-inputs
4647 `(("ghc-hspec" ,ghc-hspec)
4648 ("graphviz" ,graphviz)
4649 ("hspec-discover" ,hspec-discover)))
4650 (home-page "https://hackage.haskell.org/package/graphviz")
4651 (synopsis "Bindings to Graphviz for graph visualisation")
4652 (description
4653 "This library provides bindings for the Dot language used by
4654the @uref{https://graphviz.org/, Graphviz} suite of programs for
4655visualising graphs, as well as functions to call those programs.
4656Main features of the graphviz library include:
4657
4658@enumerate
4659@item Almost complete coverage of all Graphviz attributes and syntax
4660@item Support for specifying clusters
4661@item The ability to use a custom node type
4662@item Functions for running a Graphviz layout tool with all specified output types
4663@item Generate and parse Dot code with two options: strict and liberal
4664@item Functions to convert FGL graphs and other graph-like data structures
4665@item Round-trip support for passing an FGL graph through Graphviz to augment node
4666and edge labels with positional information, etc.
4667@end enumerate\n")
4668 (license license:bsd-3)))
4669
f3e18645
TS
4670(define-public ghc-groups
4671 (package
4672 (name "ghc-groups")
4673 (version "0.4.1.0")
4674 (source
4675 (origin
4676 (method url-fetch)
4677 (uri (string-append "https://hackage.haskell.org/package/"
4678 "groups/groups-" version ".tar.gz"))
4679 (sha256
4680 (base32
4681 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4682 (build-system haskell-build-system)
4683 (home-page "https://hackage.haskell.org/package/groups")
4684 (synopsis "Haskell 98 groups")
4685 (description "This package provides Haskell 98 groups. A group is a
4686monoid with invertibility.")
4687 (license license:bsd-3)))
4688
dddbc90c
RV
4689(define-public ghc-gtk2hs-buildtools
4690 (package
4691 (name "ghc-gtk2hs-buildtools")
b79b43d4 4692 (version "0.13.5.4")
dddbc90c
RV
4693 (source
4694 (origin
4695 (method url-fetch)
4696 (uri (string-append "https://hackage.haskell.org/package/"
4697 "gtk2hs-buildtools/gtk2hs-buildtools-"
4698 version ".tar.gz"))
4699 (sha256
4700 (base32
b79b43d4 4701 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
dddbc90c
RV
4702 (build-system haskell-build-system)
4703 (inputs
4704 `(("ghc-random" ,ghc-random)
4705 ("ghc-hashtables" ,ghc-hashtables)))
4706 (native-inputs
4707 `(("ghc-alex" ,ghc-alex)
4708 ("ghc-happy" ,ghc-happy)))
4709 (home-page "http://projects.haskell.org/gtk2hs/")
4710 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4711 (description
4712 "This package provides a set of helper programs necessary to build the
4713Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4714that is used to generate FFI declarations, a tool to build a type hierarchy
4715that mirrors the C type hierarchy of GObjects found in glib, and a generator
4716for signal declarations that are used to call back from C to Haskell. These
4717tools are not needed to actually run Gtk2Hs programs.")
4718 (license license:gpl2)))
4719
4720(define-public ghc-hackage-security
4721 (package
4722 (name "ghc-hackage-security")
4723 (version "0.5.3.0")
4724 (source
4725 (origin
4726 (method url-fetch)
4727 (uri (string-append "https://hackage.haskell.org/package/"
4728 "hackage-security/hackage-security-"
4729 version ".tar.gz"))
4730 (sha256
4731 (base32
4732 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4733 (build-system haskell-build-system)
4734 (arguments
034380f3
TS
4735 `(#:cabal-revision
4736 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4737 #:tests? #f)) ; Tests fail because of framework updates.
dddbc90c
RV
4738 (inputs
4739 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4740 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4741 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4742 ("ghc-ed25519" ,ghc-ed25519)
4743 ("ghc-network" ,ghc-network)
4744 ("ghc-network-uri" ,ghc-network-uri)
4745 ("ghc-tar" ,ghc-tar)
4746 ("ghc-zlib" ,ghc-zlib)))
4747 (native-inputs
4748 `(("ghc-network-uri" ,ghc-network-uri)
4749 ("ghc-quickcheck" ,ghc-quickcheck)
4750 ("ghc-tar" ,ghc-tar)
4751 ("ghc-tasty" ,ghc-tasty)
4752 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4753 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4754 ("ghc-temporary" ,ghc-temporary)
4755 ("ghc-zlib" ,ghc-zlib)))
4756 (home-page "https://github.com/haskell/hackage-security")
4757 (synopsis "Hackage security library")
4758 (description "This Hackage security library provides both server and
4759client utilities for securing @uref{http://hackage.haskell.org/, the
4760Hackage package server}. It is based on
4761@uref{http://theupdateframework.com/, The Update Framework}, a set of
4762recommendations developed by security researchers at various universities
4763in the US as well as developers on the @uref{https://www.torproject.org/,
4764Tor project}.")
4765 (license license:bsd-3)))
4766
4767(define-public ghc-haddock
4768 (package
4769 (name "ghc-haddock")
b0d34d23 4770 (version "2.22.0")
dddbc90c
RV
4771 (source
4772 (origin
4773 (method url-fetch)
4774 (uri (string-append
4775 "https://hackage.haskell.org/package/haddock/haddock-"
4776 version
4777 ".tar.gz"))
4778 (sha256
4779 (base32
b0d34d23 4780 "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
dddbc90c
RV
4781 (build-system haskell-build-system)
4782 (arguments
4783 `(#:phases
4784 (modify-phases %standard-phases
b0d34d23
TS
4785 ;; The release tarball for 2.22.0 is missing the test data for
4786 ;; the Hoogle test, causing it to fail. This is fixed in the
4787 ;; next release, but for now we disable it.
4788 (add-before 'configure 'remove-hoogle-test
dddbc90c
RV
4789 (lambda _
4790 (use-modules (ice-9 rdelim))
4791 (with-atomic-file-replacement "haddock.cabal"
4792 (lambda (in out)
4793 (let loop ((line (read-line in 'concat)) (deleting? #f))
4794 (cond
4795 ((eof-object? line) #t)
4796 ((string-every char-set:whitespace line)
4797 (unless deleting? (display line out))
4798 (loop (read-line in 'concat) #f))
b0d34d23 4799 ((string=? line "test-suite hoogle-test\n")
dddbc90c
RV
4800 (loop (read-line in 'concat) #t))
4801 (else
4802 (unless deleting? (display line out))
b0d34d23
TS
4803 (loop (read-line in 'concat) deleting?))))))))
4804 (add-before 'check 'add-haddock-to-path
4805 (lambda _
4806 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
4807 ":" (getenv "PATH")))
4808 #t)))))
dddbc90c
RV
4809 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4810 (native-inputs
b0d34d23
TS
4811 `(("ghc-haddock-test" ,ghc-haddock-test)
4812 ("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
4813 (home-page "https://www.haskell.org/haddock/")
4814 (synopsis
4815 "Documentation-generation tool for Haskell libraries")
4816 (description
4817 "Haddock is a documentation-generation tool for Haskell libraries.")
4818 (license license:bsd-3)))
4819
4820(define-public ghc-haddock-api
4821 (package
4822 (name "ghc-haddock-api")
1b84d8ef 4823 (version "2.22.0")
dddbc90c
RV
4824 (source
4825 (origin
4826 (method url-fetch)
4827 (uri (string-append
4828 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4829 version
4830 ".tar.gz"))
1b84d8ef 4831 (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
dddbc90c
RV
4832 (sha256
4833 (base32
1b84d8ef 4834 "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
dddbc90c
RV
4835 (build-system haskell-build-system)
4836 (arguments
4837 `(#:phases
4838 (modify-phases %standard-phases
4839 (add-before 'configure 'update-constraints
4840 (lambda _
4841 (substitute* "haddock-api.cabal"
1b84d8ef
TS
4842 (("QuickCheck \\^>= 2\\.11")
4843 "QuickCheck ^>= 2.13")
4844 (("hspec >= 2\\.4\\.4 && < 2\\.6")
4845 "hspec >= 2.4.4 && < 2.8")))))))
dddbc90c
RV
4846 (inputs
4847 `(("ghc-paths" ,ghc-paths)
4848 ("ghc-haddock-library" ,ghc-haddock-library)))
4849 (native-inputs
4850 `(("ghc-quickcheck" ,ghc-quickcheck)
4851 ("ghc-hspec" ,ghc-hspec)
4852 ("hspec-discover" ,hspec-discover)))
4853 (home-page "https://www.haskell.org/haddock/")
4854 (synopsis "API for documentation-generation tool Haddock")
4855 (description "This package provides an API to Haddock, the
4856documentation-generation tool for Haskell libraries.")
4857 (license license:bsd-3)))
4858
4859(define-public ghc-haddock-library
4860 (package
4861 (name "ghc-haddock-library")
10707d57 4862 (version "1.7.0")
dddbc90c
RV
4863 (source
4864 (origin
4865 (method url-fetch)
4866 (uri (string-append
4867 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4868 version
4869 ".tar.gz"))
4870 (sha256
4871 (base32
10707d57 4872 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
dddbc90c
RV
4873 (build-system haskell-build-system)
4874 (arguments
4875 `(#:phases
4876 (modify-phases %standard-phases
10707d57
TS
4877 ;; Since there is no revised Cabal file upstream, we have to
4878 ;; patch it manually.
dddbc90c
RV
4879 (add-before 'configure 'relax-test-suite-dependencies
4880 (lambda _
4881 (substitute* "haddock-library.cabal"
10707d57
TS
4882 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
4883 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
dddbc90c
RV
4884 #t)))))
4885 (native-inputs
4886 `(("ghc-base-compat" ,ghc-base-compat)
4887 ("ghc-hspec" ,ghc-hspec)
4888 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4889 ("ghc-quickcheck" ,ghc-quickcheck)
4890 ("ghc-tree-diff" ,ghc-tree-diff)
4891 ("hspec-discover" ,hspec-discover)))
4892 (home-page "https://www.haskell.org/haddock/")
4893 (synopsis "Library exposing some functionality of Haddock")
4894 (description
4895 "Haddock is a documentation-generation tool for Haskell libraries. These
4896modules expose some functionality of it without pulling in the GHC dependency.
4897Please note that the API is likely to change so specify upper bounds in your
4898project if you can't release often. For interacting with Haddock itself, see
4899the ‘haddock’ package.")
4900 (license license:bsd-3)))
4901
b0d34d23
TS
4902;; This package is needed for testing 'ghc-haddock'. It is no longer
4903;; published to Hackage, but it is maintained in the Haddock Git
4904;; repository.
4905(define ghc-haddock-test
4906 (package
4907 (name "ghc-haddock-test")
4908 (version "2.22.0")
4909 (source
4910 (origin
4911 (method git-fetch)
4912 (uri (git-reference
4913 (url "https://github.com/haskell/haddock.git")
4914 (commit (string-append "haddock-" version "-release"))))
4915 (file-name (git-file-name name version))
4916 (sha256
4917 (base32
4918 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
4919 (build-system haskell-build-system)
4920 (arguments
4921 `(#:phases
4922 (modify-phases %standard-phases
4923 (add-after 'unpack 'change-directory
4924 (lambda _
4925 (chdir "haddock-test"))))))
4926 (inputs
4927 `(("ghc-syb" ,ghc-syb)
4928 ("ghc-xml" ,ghc-xml)))
4929 (home-page "http://www.haskell.org/haddock/")
4930 (synopsis "Test utilities for Haddock")
4931 (description "This package provides test utilities for Haddock.")
4932 (license license:bsd-3)
4933 (properties '((hidden? #t)))))
4934
dddbc90c
RV
4935(define-public ghc-half
4936 (package
4937 (name "ghc-half")
4938 (version "0.3")
4939 (source
4940 (origin
4941 (method url-fetch)
4942 (uri (string-append
4943 "https://hackage.haskell.org/package/half/half-"
4944 version ".tar.gz"))
4945 (sha256
4946 (base32
4947 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4948 (build-system haskell-build-system)
4949 (native-inputs
4950 `(("ghc-hspec" ,ghc-hspec)
4951 ("ghc-quickcheck" ,ghc-quickcheck)))
4952 (home-page "https://github.com/ekmett/half")
4953 (synopsis "Half-precision floating-point computations")
4954 (description "This library provides a half-precision floating-point
4955computation library for Haskell.")
4956 (license license:bsd-3)))
4957
4958(define-public ghc-happy
4959 (package
4960 (name "ghc-happy")
90e7b0e4 4961 (version "1.19.12")
dddbc90c
RV
4962 (source
4963 (origin
4964 (method url-fetch)
4965 (uri (string-append
4966 "https://hackage.haskell.org/package/happy/happy-"
4967 version
4968 ".tar.gz"))
4969 (sha256
4970 (base32
90e7b0e4 4971 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4972 (build-system haskell-build-system)
4973 (arguments
4974 `(#:phases
4975 (modify-phases %standard-phases
4976 (add-after 'unpack 'skip-test-issue93
4977 (lambda _
4978 ;; Tests run out of memory on a system with 2GB of available RAM,
4979 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4980 (substitute* "tests/Makefile"
4981 ((" issue93.y ") " "))
4982 #t)))))
4983 (home-page "https://hackage.haskell.org/package/happy")
4984 (synopsis "Parser generator for Haskell")
4985 (description "Happy is a parser generator for Haskell. Given a grammar
4986specification in BNF, Happy generates Haskell code to parse the grammar.
4987Happy works in a similar way to the yacc tool for C.")
4988 (license license:bsd-3)))
4989
4990(define-public ghc-hashable
4991 (package
4992 (name "ghc-hashable")
4993 (version "1.2.7.0")
4994 (outputs '("out" "doc"))
4995 (source
4996 (origin
4997 (method url-fetch)
4998 (uri (string-append
4999 "https://hackage.haskell.org/package/hashable/hashable-"
5000 version
5001 ".tar.gz"))
5002 (sha256
5003 (base32
5004 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
5005 (build-system haskell-build-system)
65a16a45
TS
5006 (arguments
5007 `(#:cabal-revision
5008 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
5009 (inputs
5010 `(("ghc-random" ,ghc-random)))
5011 (native-inputs
5012 `(("ghc-test-framework" ,ghc-test-framework)
5013 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5014 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5015 ("ghc-hunit" ,ghc-hunit)
5016 ("ghc-quickcheck" ,ghc-quickcheck)))
5017 (home-page "https://github.com/tibbe/hashable")
5018 (synopsis "Class for types that can be converted to a hash value")
5019 (description
5020 "This package defines a class, @code{Hashable}, for types that can be
5021converted to a hash value. This class exists for the benefit of hashing-based
5022data structures. The package provides instances for basic types and a way to
5023combine hash values.")
5024 (license license:bsd-3)))
5025
5026(define-public ghc-hashable-bootstrap
5027 (package
5028 (inherit ghc-hashable)
5029 (name "ghc-hashable-bootstrap")
65a16a45
TS
5030 (arguments
5031 `(#:tests? #f
5032 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
5033 (native-inputs '())
5034 (properties '((hidden? #t)))))
5035
5036(define-public ghc-hashable-time
5037 (package
5038 (name "ghc-hashable-time")
f5051e31 5039 (version "0.2.0.2")
dddbc90c
RV
5040 (source
5041 (origin
5042 (method url-fetch)
5043 (uri (string-append
5044 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
5045 version
5046 ".tar.gz"))
5047 (sha256
5048 (base32
f5051e31 5049 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
5050 (build-system haskell-build-system)
5051 (arguments
5052 `(#:cabal-revision
f5051e31 5053 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c 5054 (inputs `(("ghc-hashable" ,ghc-hashable)))
3b02036e 5055 (home-page "https://hackage.haskell.org/package/hashable-time")
dddbc90c
RV
5056 (synopsis "Hashable instances for Data.Time")
5057 (description
5058 "This package provides @code{Hashable} instances for types in
5059@code{Data.Time}.")
5060 (license license:bsd-3)))
5061
5062(define-public ghc-hashtables
5063 (package
5064 (name "ghc-hashtables")
19edf0d0 5065 (version "1.2.3.4")
dddbc90c
RV
5066 (source
5067 (origin
5068 (method url-fetch)
5069 (uri (string-append
5070 "https://hackage.haskell.org/package/hashtables/hashtables-"
5071 version ".tar.gz"))
5072 (sha256
19edf0d0 5073 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
5074 (build-system haskell-build-system)
5075 (inputs
5076 `(("ghc-hashable" ,ghc-hashable)
5077 ("ghc-primitive" ,ghc-primitive)
5078 ("ghc-vector" ,ghc-vector)))
5079 (home-page "https://github.com/gregorycollins/hashtables")
5080 (synopsis "Haskell Mutable hash tables in the ST monad")
5081 (description "This package provides a Haskell library including a
5082couple of different implementations of mutable hash tables in the ST
5083monad, as well as a typeclass abstracting their common operations, and
5084a set of wrappers to use the hash tables in the IO monad.")
5085 (license license:bsd-3)))
5086
5087(define-public ghc-haskell-lexer
5088 (package
5089 (name "ghc-haskell-lexer")
5090 (version "1.0.2")
5091 (source
5092 (origin
5093 (method url-fetch)
5094 (uri (string-append
5095 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5096 version ".tar.gz"))
5097 (sha256
5098 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5099 (build-system haskell-build-system)
3ef91e15 5100 (home-page "https://hackage.haskell.org/package/haskell-lexer")
dddbc90c
RV
5101 (synopsis "Fully compliant Haskell 98 lexer")
5102 (description
5103 "This package provides a fully compliant Haskell 98 lexer.")
5104 (license license:bsd-3)))
5105
5106(define-public ghc-haskell-src
5107 (package
5108 (name "ghc-haskell-src")
5109 (version "1.0.3.0")
5110 (source
5111 (origin
5112 (method url-fetch)
5113 (uri (string-append
5114 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5115 version
5116 ".tar.gz"))
5117 (sha256
5118 (base32
5119 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5120 (build-system haskell-build-system)
5121 (inputs
5122 `(("ghc-happy" ,ghc-happy)
5123 ("ghc-syb" ,ghc-syb)))
5124 (home-page
5125 "https://hackage.haskell.org/package/haskell-src")
5126 (synopsis
5127 "Support for manipulating Haskell source code")
5128 (description
5129 "The @code{haskell-src} package provides support for manipulating Haskell
5130source code. The package provides a lexer, parser and pretty-printer, and a
5131definition of a Haskell abstract syntax tree (AST). Common uses of this
5132package are to parse or generate Haskell 98 code.")
5133 (license license:bsd-3)))
5134
5135(define-public ghc-haskell-src-exts
5136 (package
5137 (name "ghc-haskell-src-exts")
37a05591 5138 (version "1.21.1")
dddbc90c
RV
5139 (source
5140 (origin
5141 (method url-fetch)
5142 (uri (string-append
5143 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5144 version
5145 ".tar.gz"))
5146 (sha256
5147 (base32
37a05591 5148 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
5149 (build-system haskell-build-system)
5150 (inputs
5151 `(("cpphs" ,cpphs)
5152 ("ghc-happy" ,ghc-happy)
5153 ("ghc-pretty-show" ,ghc-pretty-show)))
5154 (native-inputs
5155 `(("ghc-smallcheck" ,ghc-smallcheck)
5156 ("ghc-tasty" ,ghc-tasty)
5157 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5158 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5159 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5160 (synopsis "Library for manipulating Haskell source")
5161 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5162extension of the standard @code{haskell-src} package, and handles most
5163registered syntactic extensions to Haskell. All extensions implemented in GHC
5164are supported. Apart from these standard extensions, it also handles regular
5165patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5166 (license license:bsd-3)))
5167
5168(define-public ghc-haskell-src-exts-util
5169 (package
5170 (name "ghc-haskell-src-exts-util")
77355bdf 5171 (version "0.2.5")
dddbc90c
RV
5172 (source
5173 (origin
5174 (method url-fetch)
5175 (uri (string-append "https://hackage.haskell.org/package/"
5176 "haskell-src-exts-util/haskell-src-exts-util-"
5177 version ".tar.gz"))
5178 (sha256
5179 (base32
77355bdf 5180 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
5181 (build-system haskell-build-system)
5182 (inputs
5183 `(("ghc-data-default" ,ghc-data-default)
5184 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5185 ("ghc-semigroups" ,ghc-semigroups)
5186 ("ghc-uniplate" ,ghc-uniplate)))
5187 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5188 (synopsis "Helper functions for working with haskell-src-exts trees")
5189 (description
5190 "This package provides helper functions for working with
5191@code{haskell-src-exts} trees.")
5192 (license license:bsd-3)))
5193
5194(define-public ghc-haskell-src-meta
5195 (package
5196 (name "ghc-haskell-src-meta")
e94b3c72 5197 (version "0.8.3")
dddbc90c
RV
5198 (source (origin
5199 (method url-fetch)
5200 (uri (string-append "https://hackage.haskell.org/package/"
5201 "haskell-src-meta/haskell-src-meta-"
5202 version ".tar.gz"))
5203 (sha256
5204 (base32
e94b3c72 5205 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
5206 (build-system haskell-build-system)
5207 (inputs
5208 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5209 ("ghc-syb" ,ghc-syb)
5210 ("ghc-th-orphans" ,ghc-th-orphans)))
5211 (native-inputs
5212 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
5213 ("ghc-tasty" ,ghc-tasty)
5214 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5215 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5216 (synopsis "Parse source to template-haskell abstract syntax")
5217 (description
5218 "This package provides tools to parse Haskell sources to the
5219template-haskell abstract syntax.")
5220 (license license:bsd-3)))
5221
5222(define-public ghc-hasktags
5223 (package
5224 (name "ghc-hasktags")
5225 (version "0.71.2")
5226 (source
5227 (origin
5228 (method url-fetch)
5229 (uri (string-append
5230 "https://hackage.haskell.org/package/hasktags/hasktags-"
5231 version
5232 ".tar.gz"))
5233 (sha256
5234 (base32
5235 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5236 (build-system haskell-build-system)
5237 (inputs
5238 `(("ghc-system-filepath" ,ghc-system-filepath)
5239 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5240 (native-inputs
5241 `(("ghc-json" ,ghc-json)
5242 ("ghc-utf8-string" ,ghc-utf8-string)
5243 ("ghc-microlens-platform" ,ghc-microlens-platform)
5244 ("ghc-hunit" ,ghc-hunit)))
5245 (home-page "http://github.com/MarcWeber/hasktags")
5246 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5247 (description
5248 "This package provides a means of generating tag files for Emacs and
5249Vim.")
5250 (license license:bsd-3)))
5251
5252(define-public ghc-hex
5253 (package
5254 (name "ghc-hex")
5255 (version "0.1.2")
5256 (source
5257 (origin
5258 (method url-fetch)
5259 (uri (string-append "https://hackage.haskell.org/package/"
5260 "hex-" version "/"
5261 "hex-" version ".tar.gz"))
5262 (sha256
5263 (base32
5264 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5265 (build-system haskell-build-system)
5266 (home-page "https://hackage.haskell.org/package/hex")
5267 (synopsis "Convert strings into hexadecimal and back")
5268 (description "This package provides conversion functions between
5269bytestrings and their hexademical representation.")
5270 (license license:bsd-3)))
5271
5272(define-public ghc-highlighting-kate
5273 (package
5274 (name "ghc-highlighting-kate")
5275 (version "0.6.4")
5276 (source (origin
5277 (method url-fetch)
5278 (uri (string-append "https://hackage.haskell.org/package/"
5279 "highlighting-kate/highlighting-kate-"
5280 version ".tar.gz"))
5281 (sha256
5282 (base32
5283 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5284 (build-system haskell-build-system)
5285 (inputs
5286 `(("ghc-diff" ,ghc-diff)
5287 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5288 (native-inputs
5289 `(("ghc-blaze-html" ,ghc-blaze-html)
5290 ("ghc-utf8-string" ,ghc-utf8-string)))
5291 (home-page "https://github.com/jgm/highlighting-kate")
5292 (synopsis "Syntax highlighting library")
5293 (description
5294 "Highlighting-kate is a syntax highlighting library with support for
5295nearly one hundred languages. The syntax parsers are automatically generated
5296from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5297supported by Kate can be added. An (optional) command-line program is
5298provided, along with a utility for generating new parsers from Kate XML syntax
5299descriptions.")
5300 (license license:gpl2+)))
5301
5302(define-public ghc-hindent
5303 (package
5304 (name "ghc-hindent")
f545f894 5305 (version "5.3.1")
dddbc90c
RV
5306 (source
5307 (origin
5308 (method url-fetch)
5309 (uri (string-append
5310 "https://hackage.haskell.org/package/hindent/hindent-"
5311 version
5312 ".tar.gz"))
5313 (sha256
5314 (base32
f545f894 5315 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
dddbc90c
RV
5316 (build-system haskell-build-system)
5317 (arguments
5318 `(#:modules ((guix build haskell-build-system)
5319 (guix build utils)
5320 (guix build emacs-utils))
5321 #:imported-modules (,@%haskell-build-system-modules
5322 (guix build emacs-utils))
5323 #:phases
5324 (modify-phases %standard-phases
5325 (add-after 'install 'emacs-install
5326 (lambda* (#:key inputs outputs #:allow-other-keys)
5327 (let* ((out (assoc-ref outputs "out"))
5328 (elisp-file "elisp/hindent.el")
d53e87cf 5329 (dest (string-append out "/share/emacs/site-lisp"))
dddbc90c
RV
5330 (emacs (string-append (assoc-ref inputs "emacs")
5331 "/bin/emacs")))
5332 (make-file-writable elisp-file)
5333 (emacs-substitute-variables elisp-file
5334 ("hindent-process-path"
5335 (string-append out "/bin/hindent")))
5336 (install-file elisp-file dest)
5337 (emacs-generate-autoloads "hindent" dest)))))))
5338 (inputs
5339 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5340 ("ghc-monad-loops" ,ghc-monad-loops)
5341 ("ghc-utf8-string" ,ghc-utf8-string)
5342 ("ghc-exceptions" ,ghc-exceptions)
5343 ("ghc-yaml" ,ghc-yaml)
5344 ("ghc-unix-compat" ,ghc-unix-compat)
5345 ("ghc-path" ,ghc-path)
5346 ("ghc-path-io" ,ghc-path-io)
5347 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5348 (native-inputs
5349 `(("ghc-hspec" ,ghc-hspec)
5350 ("ghc-diff" ,ghc-diff)
5351 ("emacs" ,emacs-minimal)))
5352 (home-page
5353 "https://github.com/commercialhaskell/hindent")
5354 (synopsis "Extensible Haskell pretty printer")
5355 (description
5356 "This package provides automatic formatting for Haskell files. Both a
5357library and an executable.")
5358 (license license:bsd-3)))
5359
5360(define-public ghc-hinotify
5361 (package
5362 (name "ghc-hinotify")
c2342abb 5363 (version "0.4")
dddbc90c
RV
5364 (source (origin
5365 (method url-fetch)
5366 (uri (string-append
5367 "https://hackage.haskell.org/package/hinotify/"
5368 "hinotify-" version ".tar.gz"))
5369 (sha256
5370 (base32
c2342abb 5371 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
5372 (build-system haskell-build-system)
5373 (inputs
5374 `(("ghc-async" ,ghc-async)))
5375 (home-page "https://github.com/kolmodin/hinotify.git")
5376 (synopsis "Haskell binding to inotify")
5377 (description "This library provides a wrapper to the Linux kernel's inotify
5378feature, allowing applications to subscribe to notifications when a file is
5379accessed or modified.")
5380 (license license:bsd-3)))
5381
5382(define-public ghc-hmatrix
5383 (package
5384 (name "ghc-hmatrix")
65e29ed1 5385 (version "0.20.0.0")
dddbc90c
RV
5386 (source
5387 (origin
5388 (method url-fetch)
5389 (uri (string-append
5390 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5391 version ".tar.gz"))
5392 (sha256
65e29ed1 5393 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
5394 (build-system haskell-build-system)
5395 (inputs
5396 `(("ghc-random" ,ghc-random)
5397 ("ghc-split" ,ghc-split)
5398 ("ghc-storable-complex" ,ghc-storable-complex)
5399 ("ghc-semigroups" ,ghc-semigroups)
5400 ("ghc-vector" ,ghc-vector)
5401 ;;("openblas" ,openblas)
5402 ("lapack" ,lapack)))
5403 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5404 ;; disables inclusion of the LAPACK functions.
5405 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5406 (home-page "https://github.com/albertoruiz/hmatrix")
5407 (synopsis "Haskell numeric linear algebra library")
5408 (description "The HMatrix package provices a Haskell library for
5409dealing with linear systems, matrix decompositions, and other
5410numerical computations based on BLAS and LAPACK.")
5411 (license license:bsd-3)))
5412
5413(define-public ghc-hmatrix-gsl
5414 (package
5415 (name "ghc-hmatrix-gsl")
5416 (version "0.19.0.1")
5417 (source
5418 (origin
5419 (method url-fetch)
5420 (uri (string-append
5421 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5422 version ".tar.gz"))
5423 (sha256
5424 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5425 (build-system haskell-build-system)
5426 (inputs
5427 `(("ghc-hmatrix" ,ghc-hmatrix)
5428 ("ghc-vector" ,ghc-vector)
5429 ("ghc-random" ,ghc-random)
5430 ("gsl" ,gsl)))
5431 (native-inputs `(("pkg-config" ,pkg-config)))
5432 (home-page "https://github.com/albertoruiz/hmatrix")
5433 (synopsis "Haskell GSL binding")
5434 (description "This Haskell library provides a purely functional
5435interface to selected numerical computations, internally implemented
5436using GSL.")
5437 (license license:gpl3+)))
5438
5439(define-public ghc-hmatrix-gsl-stats
5440 (package
5441 (name "ghc-hmatrix-gsl-stats")
e9b359f5 5442 (version "0.4.1.8")
dddbc90c
RV
5443 (source
5444 (origin
5445 (method url-fetch)
5446 (uri
5447 (string-append
5448 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5449 version ".tar.gz"))
5450 (sha256
e9b359f5 5451 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
5452 (build-system haskell-build-system)
5453 (inputs
5454 `(("ghc-vector" ,ghc-vector)
5455 ("ghc-storable-complex" ,ghc-storable-complex)
5456 ("ghc-hmatrix" ,ghc-hmatrix)
5457 ("gsl" ,gsl)))
5458 (native-inputs `(("pkg-config" ,pkg-config)))
5459 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5460 (synopsis "GSL Statistics interface for Haskell")
5461 (description "This Haskell library provides a purely functional
5462interface for statistics based on hmatrix and GSL.")
5463 (license license:bsd-3)))
5464
5465(define-public ghc-hmatrix-special
5466 (package
5467 (name "ghc-hmatrix-special")
5468 (version "0.19.0.0")
5469 (source
5470 (origin
5471 (method url-fetch)
5472 (uri
5473 (string-append
5474 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5475 version ".tar.gz"))
5476 (sha256
5477 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5478 (build-system haskell-build-system)
5479 (inputs
5480 `(("ghc-hmatrix" ,ghc-hmatrix)
5481 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5482 (home-page "https://github.com/albertoruiz/hmatrix")
5483 (synopsis "Haskell interface to GSL special functions")
5484 (description "This library provides an interface to GSL special
5485functions for Haskell.")
5486 (license license:gpl3+)))
5487
5488(define-public ghc-hostname
5489 (package
5490 (name "ghc-hostname")
5491 (version "1.0")
5492 (source
5493 (origin
5494 (method url-fetch)
5495 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5496 "hostname-" version ".tar.gz"))
5497 (sha256
5498 (base32
5499 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5500 (build-system haskell-build-system)
5501 (home-page "https://hackage.haskell.org/package/hostname")
5502 (synopsis "Hostname in Haskell")
5503 (description "Network.HostName is a simple package providing a means to
5504determine the hostname.")
5505 (license license:bsd-3)))
5506
5507(define-public ghc-hourglass
5508 (package
5509 (name "ghc-hourglass")
5510 (version "0.2.12")
5511 (source (origin
5512 (method url-fetch)
5513 (uri (string-append "https://hackage.haskell.org/package/"
5514 "hourglass/hourglass-" version ".tar.gz"))
5515 (sha256
5516 (base32
5517 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5518 (build-system haskell-build-system)
5519 (inputs
5520 `(("ghc-old-locale" ,ghc-old-locale)))
5521 (native-inputs
5522 `(("ghc-tasty" ,ghc-tasty)
5523 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5524 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5525 (home-page "https://github.com/vincenthz/hs-hourglass")
5526 (synopsis "Simple time-related library for Haskell")
5527 (description
5528 "This is a simple time library providing a simple but powerful and
5529performant API. The backbone of the library are the @code{Timeable} and
5530@code{Time} type classes. Each @code{Timeable} instances can be converted to
5531a type that has a @code{Time} instances, and thus are different
5532representations of current time.")
5533 (license license:bsd-3)))
5534
5535(define-public ghc-hpack
5536 (package
5537 (name "ghc-hpack")
06344a3a 5538 (version "0.31.2")
dddbc90c
RV
5539 (source
5540 (origin
5541 (method url-fetch)
5542 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5543 "hpack-" version ".tar.gz"))
06344a3a 5544 (patches (search-patches "ghc-hpack-fix-tests.patch"))
dddbc90c
RV
5545 (sha256
5546 (base32
06344a3a 5547 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
dddbc90c
RV
5548 (build-system haskell-build-system)
5549 (inputs
5550 `(("ghc-aeson" ,ghc-aeson)
5551 ("ghc-bifunctors" ,ghc-bifunctors)
5552 ("ghc-cryptonite" ,ghc-cryptonite)
5553 ("ghc-glob" ,ghc-glob)
5554 ("ghc-http-client" ,ghc-http-client)
5555 ("ghc-http-client-tls" ,ghc-http-client-tls)
5556 ("ghc-http-types" ,ghc-http-types)
06344a3a 5557 ("ghc-infer-license" ,ghc-infer-license)
dddbc90c
RV
5558 ("ghc-scientific" ,ghc-scientific)
5559 ("ghc-unordered-containers" ,ghc-unordered-containers)
5560 ("ghc-vector" ,ghc-vector)
5561 ("ghc-yaml" ,ghc-yaml)))
5562 (native-inputs
5563 `(("ghc-hspec" ,ghc-hspec)
5564 ("ghc-hunit" ,ghc-hunit)
5565 ("ghc-interpolate" ,ghc-interpolate)
5566 ("ghc-mockery" ,ghc-mockery)
5567 ("ghc-quickcheck" ,ghc-quickcheck)
5568 ("ghc-temporary" ,ghc-temporary)
5569 ("hspec-discover" ,hspec-discover)))
5570 (home-page "https://github.com/sol/hpack")
5571 (synopsis "Tools for an alternative Haskell package format")
5572 (description
5573 "Hpack is a format for Haskell packages. It is an alternative to the
5574Cabal package format and follows different design principles. Hpack packages
5575are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5576@code{stack} support @code{package.yaml} natively. For other build tools the
5577@code{hpack} executable can be used to generate a @code{.cabal} file from
5578@code{package.yaml}.")
5579 (license license:expat)))
5580
5581(define-public ghc-hs-bibutils
5582 (package
5583 (name "ghc-hs-bibutils")
ebcb4f23 5584 (version "6.7.0.0")
dddbc90c
RV
5585 (source
5586 (origin
5587 (method url-fetch)
5588 (uri (string-append
5589 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5590 version ".tar.gz"))
5591 (sha256
5592 (base32
ebcb4f23 5593 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5594 (build-system haskell-build-system)
5595 (inputs `(("ghc-syb" ,ghc-syb)))
5596 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5597 (synopsis "Haskell bindings to bibutils")
5598 (description
5599 "This package provides Haskell bindings to @code{bibutils}, a library
5600that interconverts between various bibliography formats using a common
5601MODS-format XML intermediate.")
5602 (license license:gpl2+)))
5603
5604(define-public ghc-hslogger
5605 (package
5606 (name "ghc-hslogger")
e5ccc5f7 5607 (version "1.2.12")
dddbc90c
RV
5608 (source
5609 (origin
5610 (method url-fetch)
5611 (uri (string-append "https://hackage.haskell.org/package/"
5612 "hslogger-" version "/" "hslogger-"
5613 version ".tar.gz"))
5614 (sha256 (base32
e5ccc5f7 5615 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5616 (build-system haskell-build-system)
5617 (inputs
5618 `(("ghc-network" ,ghc-network)
5619 ("ghc-old-locale" ,ghc-old-locale)))
5620 (native-inputs
5621 `(("ghc-hunit" ,ghc-hunit)))
5622 (home-page "https://software.complete.org/hslogger")
5623 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5624 (description "Hslogger lets each log message have a priority and source be
5625associated with it. The programmer can then define global handlers that route
5626or filter messages based on the priority and source. It also has a syslog
5627handler built in.")
5628 (license license:bsd-3)))
5629
5630(define-public ghc-hslua
5631 (package
5632 (name "ghc-hslua")
cc784d7b 5633 (version "1.0.3.2")
dddbc90c
RV
5634 (source (origin
5635 (method url-fetch)
5636 (uri (string-append "https://hackage.haskell.org/package/"
5637 "hslua/hslua-" version ".tar.gz"))
5638 (sha256
5639 (base32
cc784d7b 5640 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5641 (build-system haskell-build-system)
5642 (arguments
5643 `(#:configure-flags '("-fsystem-lua")))
5644 (inputs
5645 `(("lua" ,lua)
5646 ("ghc-exceptions" ,ghc-exceptions)
5647 ("ghc-fail" ,ghc-fail)))
5648 (native-inputs
5649 `(("ghc-tasty" ,ghc-tasty)
5650 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5651 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5652 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5653 ("ghc-quickcheck" ,ghc-quickcheck)
5654 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5655 (home-page "https://hackage.haskell.org/package/hslua")
5656 (synopsis "Lua language interpreter embedding in Haskell")
5657 (description
5658 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5659described in @url{https://www.lua.org/}.")
5660 (license license:expat)))
5661
ff303e4e
TS
5662(define-public ghc-hslua-module-system
5663 (package
5664 (name "ghc-hslua-module-system")
5665 (version "0.2.1")
5666 (source
5667 (origin
5668 (method url-fetch)
5669 (uri (string-append "https://hackage.haskell.org/package/"
5670 "hslua-module-system/hslua-module-system-"
5671 version ".tar.gz"))
5672 (sha256
5673 (base32
5674 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5675 (build-system haskell-build-system)
5676 (inputs
5677 `(("ghc-exceptions" ,ghc-exceptions)
5678 ("ghc-hslua" ,ghc-hslua)
5679 ("ghc-temporary" ,ghc-temporary)))
5680 (native-inputs
5681 `(("ghc-tasty" ,ghc-tasty)
5682 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5683 (home-page "https://github.com/hslua/hslua-module-system")
5684 (synopsis "Lua module wrapper around Haskell's System module")
5685 (description "This library provides access to system information and
5686functionality to Lua scripts via Haskell's @code{System} module. Intended
5687usage for this package is to preload it by adding the loader function to
5688@code{package.preload}. Note that the Lua @code{package} library must have
5689already been loaded before the loader can be added.")
5690 (license license:expat)))
5691
dddbc90c
RV
5692(define-public ghc-hslua-module-text
5693 (package
5694 (name "ghc-hslua-module-text")
ecaf0b0c 5695 (version "0.2.1")
dddbc90c
RV
5696 (source
5697 (origin
5698 (method url-fetch)
5699 (uri (string-append "https://hackage.haskell.org/package/"
5700 "hslua-module-text/hslua-module-text-"
5701 version ".tar.gz"))
5702 (sha256
5703 (base32
ecaf0b0c 5704 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5705 (build-system haskell-build-system)
dddbc90c
RV
5706 (inputs
5707 `(("ghc-hslua" ,ghc-hslua)))
5708 (native-inputs
5709 `(("ghc-tasty" ,ghc-tasty)
5710 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5711 (home-page "https://github.com/hslua/hslua-module-text")
5712 (synopsis "Lua module for text")
5713 (description
5714 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5715for Haskell. The functions provided by this module are @code{upper},
5716@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5717 (license license:expat)))
5718
fac520bf
TS
5719(define-public ghc-hsyaml
5720 (package
5721 (name "ghc-hsyaml")
5722 (version "0.1.2.0")
5723 (source
5724 (origin
5725 (method url-fetch)
5726 (uri (string-append "https://hackage.haskell.org/package/"
5727 "HsYAML/HsYAML-" version ".tar.gz"))
5728 (sha256
5729 (base32
5730 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5731 (build-system haskell-build-system)
5732 (arguments
5733 `(#:cabal-revision
5734 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5735 (home-page "https://github.com/haskell-hvr/HsYAML")
5736 (synopsis "Pure Haskell YAML 1.2 parser")
5737 (description "This library provides a
5738@url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5739for Haskell. Its features include:
5740
5741@itemize
5742@item Pure Haskell implementation with small dependency footprint and
5743emphasis on strict compliance with the YAML 1.2 specification.
5744
5745@item Direct decoding to native Haskell types via (aeson-inspired)
5746typeclass-based API (see @code{Data.YAML}).
5747
5748@item Support for constructing custom YAML node graph
5749representation (including support for cyclic YAML data structures).
5750
5751@item Support for the standard (untyped) @emph{Failsafe}, (strict)
5752@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
5753typing rules as defined in the YAML 1.2 specification (including support
5754for user-defined custom schemas).
5755
5756@item Event-based API resembling LibYAML's Event-based API (see
5757@code{Data.YAML.Event}).
5758
5759@item Low-level API access to lexical token-based scanner (see
5760@code{Data.YAML.Token}).
5761@end itemize")
5762 (license license:gpl2+)))
5763
dddbc90c
RV
5764(define-public ghc-http-api-data
5765 (package
5766 (name "ghc-http-api-data")
a57236eb 5767 (version "0.4.1")
dddbc90c
RV
5768 (source
5769 (origin
5770 (method url-fetch)
5771 (uri (string-append "https://hackage.haskell.org/package/"
5772 "http-api-data-" version "/"
5773 "http-api-data-" version ".tar.gz"))
5774 (sha256
5775 (base32
a57236eb 5776 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 5777 (build-system haskell-build-system)
dddbc90c
RV
5778 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5779 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 5780 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
5781 ("ghc-hashable" ,ghc-hashable)
5782 ("ghc-http-types" ,ghc-http-types)
a57236eb 5783 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 5784 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 5785 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
5786 (native-inputs
5787 `(("cabal-doctest" ,cabal-doctest)
5788 ("ghc-nats" ,ghc-nats)
5789 ("ghc-hunit" ,ghc-hunit)
5790 ("ghc-hspec" ,ghc-hspec)
5791 ("ghc-quickcheck" ,ghc-quickcheck)
5792 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5793 ("ghc-doctest" ,ghc-doctest)
5794 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
5795 (home-page "https://github.com/fizruk/http-api-data")
5796 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5797query parameters")
5798 (description "This Haskell package defines typeclasses used for converting
5799Haskell data types to and from HTTP API data.")
5800 (license license:bsd-3)))
5801
5802(define-public ghc-ieee754
5803 (package
5804 (name "ghc-ieee754")
5805 (version "0.8.0")
5806 (source (origin
5807 (method url-fetch)
5808 (uri (string-append
5809 "https://hackage.haskell.org/package/ieee754/"
5810 "ieee754-" version ".tar.gz"))
5811 (sha256
5812 (base32
5813 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5814 (build-system haskell-build-system)
5815 (home-page "https://github.com/patperry/hs-ieee754")
5816 (synopsis "Utilities for dealing with IEEE floating point numbers")
5817 (description "Utilities for dealing with IEEE floating point numbers,
5818ported from the Tango math library; approximate and exact equality comparisons
5819for general types.")
5820 (license license:bsd-3)))
5821
5822(define-public ghc-ifelse
5823 (package
5824 (name "ghc-ifelse")
5825 (version "0.85")
5826 (source
5827 (origin
5828 (method url-fetch)
5829 (uri (string-append "https://hackage.haskell.org/package/"
5830 "IfElse/IfElse-" version ".tar.gz"))
5831 (sha256
5832 (base32
5833 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5834 (build-system haskell-build-system)
3ef91e15 5835 (home-page "https://hackage.haskell.org/package/IfElse")
dddbc90c
RV
5836 (synopsis "Monadic control flow with anaphoric variants")
5837 (description "This library provides functions for control flow inside of
5838monads with anaphoric variants on @code{if} and @code{when} and a C-like
5839@code{switch} function.")
5840 (license license:bsd-3)))
5841
5842(define-public ghc-indents
5843 (package
5844 (name "ghc-indents")
d66473fb 5845 (version "0.5.0.1")
dddbc90c
RV
5846 (source (origin
5847 (method url-fetch)
5848 (uri (string-append
5849 "https://hackage.haskell.org/package/indents/indents-"
5850 version ".tar.gz"))
5851 (sha256
5852 (base32
d66473fb 5853 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5854 (build-system haskell-build-system)
5855 ;; This package needs an older version of tasty.
5856 (arguments '(#:tests? #f))
5857 (inputs
5858 `(("ghc-concatenative" ,ghc-concatenative)))
5859 (native-inputs
5860 `(("ghc-tasty" ,ghc-tasty)
5861 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5862 (home-page "http://patch-tag.com/r/salazar/indents")
5863 (synopsis "Indentation sensitive parser-combinators for parsec")
5864 (description
5865 "This library provides functions for use in parsing indentation sensitive
5866contexts. It parses blocks of lines all indented to the same level as well as
5867lines continued at an indented level below.")
5868 (license license:bsd-3)))
5869
1f656b17
TS
5870(define-public ghc-infer-license
5871 (package
5872 (name "ghc-infer-license")
5873 (version "0.2.0")
5874 (source
5875 (origin
5876 (method url-fetch)
5877 (uri (string-append "https://hackage.haskell.org/package/"
5878 "infer-license/infer-license-" version ".tar.gz"))
5879 (sha256
5880 (base32
5881 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
5882 (build-system haskell-build-system)
5883 (inputs
5884 `(("ghc-text-metrics" ,ghc-text-metrics)))
5885 (native-inputs
5886 `(("ghc-hspec" ,ghc-hspec)
5887 ("hspec-discover" ,hspec-discover)))
3ef91e15 5888 (home-page "https://hackage.haskell.org/package/infer-license")
1f656b17
TS
5889 (synopsis "Infer software license from a given license file")
5890 (description "This library provides tools to infer a software
5891license from a given license file.")
5892 (license license:expat)))
5893
dddbc90c
RV
5894(define-public ghc-inline-c
5895 (package
5896 (name "ghc-inline-c")
55ec98f2 5897 (version "0.7.0.1")
dddbc90c
RV
5898 (source
5899 (origin
5900 (method url-fetch)
5901 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5902 "inline-c-" version ".tar.gz"))
5903 (sha256
5904 (base32
55ec98f2 5905 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
5906 (build-system haskell-build-system)
5907 (inputs
5908 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5909 ("ghc-cryptohash" ,ghc-cryptohash)
5910 ("ghc-hashable" ,ghc-hashable)
5911 ("ghc-parsers" ,ghc-parsers)
5912 ("ghc-unordered-containers" ,ghc-unordered-containers)
5913 ("ghc-vector" ,ghc-vector)))
5914 (native-inputs
5915 `(("ghc-quickcheck" ,ghc-quickcheck)
5916 ("ghc-hspec" ,ghc-hspec)
5917 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5918 ("ghc-regex-posix" ,ghc-regex-posix)))
3ef91e15 5919 (home-page "https://hackage.haskell.org/package/inline-c")
dddbc90c
RV
5920 (synopsis "Write Haskell source files including C code inline")
5921 (description
5922 "inline-c lets you seamlessly call C libraries and embed high-performance
5923inline C code in Haskell modules. Haskell and C can be freely intermixed in
5924the same source file, and data passed to and from code in either language with
5925minimal overhead. No FFI required.")
5926 (license license:expat)))
5927
5928(define-public ghc-inline-c-cpp
5929 (package
5930 (name "ghc-inline-c-cpp")
cae58e56 5931 (version "0.3.0.3")
dddbc90c
RV
5932 (source
5933 (origin
5934 (method url-fetch)
5935 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5936 "inline-c-cpp-" version ".tar.gz"))
5937 (sha256
5938 (base32
cae58e56 5939 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
5940 (build-system haskell-build-system)
5941 (inputs
5942 `(("ghc-inline-c" ,ghc-inline-c)
5943 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5944 (native-inputs
5945 `(("ghc-hspec" ,ghc-hspec)))
5946 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5947 (synopsis "Lets you embed C++ code into Haskell")
5948 (description
5949 "This package provides utilities to inline C++ code into Haskell using
5950@code{inline-c}.")
5951 (license license:expat)))
5952
5953(define-public ghc-integer-logarithms
5954 (package
5955 (name "ghc-integer-logarithms")
86a704db 5956 (version "1.0.3")
dddbc90c
RV
5957 (source
5958 (origin
5959 (method url-fetch)
5960 (uri (string-append "https://hackage.haskell.org/package/"
5961 "integer-logarithms/integer-logarithms-"
5962 version ".tar.gz"))
5963 (sha256
5964 (base32
86a704db 5965 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5966 (build-system haskell-build-system)
5967 (arguments
5968 `(#:phases
5969 (modify-phases %standard-phases
5970 (add-before 'configure 'update-constraints
5971 (lambda _
5972 (substitute* "integer-logarithms.cabal"
5973 (("tasty >= 0\\.10 && < 1\\.1")
5974 "tasty >= 0.10 && < 1.2")))))))
5975 (native-inputs
5976 `(("ghc-quickcheck" ,ghc-quickcheck)
5977 ("ghc-smallcheck" ,ghc-smallcheck)
5978 ("ghc-tasty" ,ghc-tasty)
5979 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5980 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5981 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5982 (home-page "https://github.com/Bodigrim/integer-logarithms")
5983 (synopsis "Integer logarithms")
5984 (description
5985 "This package provides the following modules:
5986@code{Math.NumberTheory.Logarithms} and
5987@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5988@code{GHC.Integer.Logarithms.Compat} and
5989@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5990in migrated modules.")
5991 (license license:expat)))
5992
5993(define-public ghc-integer-logarithms-bootstrap
5994 (package
5995 (inherit ghc-integer-logarithms)
5996 (name "ghc-integer-logarithms-bootstrap")
5997 (arguments `(#:tests? #f))
5998 (native-inputs '())
799d8d3c 5999 (properties '((hidden? #t)))))
dddbc90c
RV
6000
6001(define-public ghc-interpolate
6002 (package
6003 (name "ghc-interpolate")
6004 (version "0.2.0")
6005 (source
6006 (origin
6007 (method url-fetch)
6008 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
6009 "interpolate-" version ".tar.gz"))
6010 (sha256
6011 (base32
6012 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
6013 (build-system haskell-build-system)
6014 (inputs
6015 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
6016 (native-inputs
6017 `(("ghc-base-compat" ,ghc-base-compat)
6018 ("ghc-hspec" ,ghc-hspec)
6019 ("ghc-quickcheck" ,ghc-quickcheck)
6020 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6021 ("hspec-discover" ,hspec-discover)))
6022 (home-page "https://github.com/sol/interpolate")
6023 (synopsis "String interpolation library")
6024 (description "This package provides a string interpolation library for
6025Haskell.")
6026 (license license:expat)))
6027
6028(define-public ghc-intervalmap
6029 (package
6030 (name "ghc-intervalmap")
e4946e32 6031 (version "0.6.1.1")
dddbc90c
RV
6032 (source
6033 (origin
6034 (method url-fetch)
6035 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
6036 "IntervalMap-" version ".tar.gz"))
6037 (sha256
6038 (base32
e4946e32 6039 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
6040 (build-system haskell-build-system)
6041 (native-inputs
6042 `(("ghc-quickcheck" ,ghc-quickcheck)))
6043 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6044 (synopsis "Containers for intervals, with efficient search")
6045 (description
6046 "This package provides ordered containers of intervals, with efficient
6047search for all keys containing a point or overlapping an interval. See the
6048example code on the home page for a quick introduction.")
6049 (license license:bsd-3)))
6050
f7ca1fa8
TS
6051(define-public ghc-intervals
6052 (package
6053 (name "ghc-intervals")
6054 (version "0.8.1")
6055 (source
6056 (origin
6057 (method url-fetch)
6058 (uri (string-append "https://hackage.haskell.org/package/"
6059 "intervals/intervals-" version ".tar.gz"))
6060 (sha256
6061 (base32
6062 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
6063 (build-system haskell-build-system)
6064 (inputs
6065 `(("ghc-distributive" ,ghc-distributive)))
6066 (native-inputs
6067 `(("cabal-doctest" ,cabal-doctest)
6068 ("ghc-doctest" ,ghc-doctest)
6069 ("ghc-quickcheck" ,ghc-quickcheck)))
6070 (arguments
6071 `(#:cabal-revision
6072 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6073 (home-page "https://github.com/ekmett/intervals")
6074 (synopsis "Interval arithmetic")
6075 (description "This library provides
6076@code{Numeric.Interval.Interval}, which represets a closed, convex set
6077of floating point values.")
6078 (license license:bsd-3)))
6079
dddbc90c
RV
6080(define-public ghc-invariant
6081 (package
6082 (name "ghc-invariant")
d3a0e0b4 6083 (version "0.5.3")
dddbc90c
RV
6084 (source
6085 (origin
6086 (method url-fetch)
6087 (uri (string-append
6088 "https://hackage.haskell.org/package/invariant/invariant-"
6089 version ".tar.gz"))
6090 (sha256
6091 (base32
d3a0e0b4 6092 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
6093 (build-system haskell-build-system)
6094 (inputs
6095 `(("ghc-bifunctors" ,ghc-bifunctors)
6096 ("ghc-comonad" ,ghc-comonad)
6097 ("ghc-contravariant" ,ghc-contravariant)
6098 ("ghc-profunctors" ,ghc-profunctors)
6099 ("ghc-semigroups" ,ghc-semigroups)
6100 ("ghc-statevar" ,ghc-statevar)
6101 ("ghc-tagged" ,ghc-tagged)
6102 ("ghc-th-abstraction" ,ghc-th-abstraction)
6103 ("ghc-transformers-compat" ,ghc-transformers-compat)
6104 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6105 (native-inputs
6106 `(("ghc-hspec" ,ghc-hspec)
6107 ("ghc-quickcheck" ,ghc-quickcheck)
6108 ("hspec-discover" ,hspec-discover)))
6109 (home-page "https://github.com/nfrisby/invariant-functors")
6110 (synopsis "Haskell98 invariant functors")
6111 (description "Haskell98 invariant functors (also known as exponential
6112functors). For more information, see Edward Kmett's article
6113@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6114 (license license:bsd-2)))
6115
6116(define-public ghc-io-streams
6117 (package
6118 (name "ghc-io-streams")
59e98d75 6119 (version "1.5.1.0")
dddbc90c
RV
6120 (source
6121 (origin
6122 (method url-fetch)
6123 (uri (string-append "https://hackage.haskell.org/package/"
6124 "io-streams/io-streams-" version ".tar.gz"))
6125 (sha256
6126 (base32
59e98d75 6127 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
6128 (build-system haskell-build-system)
6129 (inputs
6130 `(("ghc-attoparsec" ,ghc-attoparsec)
6131 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6132 ("ghc-network" ,ghc-network)
6133 ("ghc-primitive" ,ghc-primitive)
6134 ("ghc-vector" ,ghc-vector)
6135 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6136 (native-inputs
6137 `(("ghc-hunit" ,ghc-hunit)
6138 ("ghc-quickcheck" ,ghc-quickcheck)
6139 ("ghc-test-framework" ,ghc-test-framework)
6140 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6141 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6142 ("ghc-zlib" ,ghc-zlib)))
3ef91e15 6143 (home-page "https://hackage.haskell.org/package/io-streams")
dddbc90c
RV
6144 (synopsis "Simple and composable stream I/O")
6145 (description "This library contains simple and easy-to-use
6146primitives for I/O using streams.")
6147 (license license:bsd-3)))
6148
6149(define-public ghc-io-streams-haproxy
6150 (package
6151 (name "ghc-io-streams-haproxy")
1a4fbc36 6152 (version "1.0.1.0")
dddbc90c
RV
6153 (source
6154 (origin
6155 (method url-fetch)
6156 (uri (string-append "https://hackage.haskell.org/package/"
6157 "io-streams-haproxy/io-streams-haproxy-"
6158 version ".tar.gz"))
6159 (sha256
6160 (base32
1a4fbc36 6161 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
6162 (build-system haskell-build-system)
6163 (inputs
6164 `(("ghc-attoparsec" ,ghc-attoparsec)
6165 ("ghc-io-streams" ,ghc-io-streams)
6166 ("ghc-network" ,ghc-network)))
6167 (native-inputs
6168 `(("ghc-hunit" ,ghc-hunit)
6169 ("ghc-test-framework" ,ghc-test-framework)
6170 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
6171 (home-page "http://snapframework.com/")
6172 (synopsis "HAProxy protocol 1.5 support for io-streams")
6173 (description "HAProxy protocol version 1.5 support
6174(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6175for applications using io-streams. The proxy protocol allows information
6176about a networked peer (like remote address and port) to be propagated
6177through a forwarding proxy that is configured to speak this protocol.")
6178 (license license:bsd-3)))
6179
6180(define-public ghc-iproute
6181 (package
6182 (name "ghc-iproute")
ec25d536 6183 (version "1.7.7")
dddbc90c
RV
6184 (source
6185 (origin
6186 (method url-fetch)
6187 (uri (string-append
6188 "https://hackage.haskell.org/package/iproute/iproute-"
6189 version
6190 ".tar.gz"))
6191 (sha256
6192 (base32
ec25d536 6193 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
6194 (build-system haskell-build-system)
6195 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6196 ; exported by ghc-byteorder. Doctest issue.
6197 (inputs
6198 `(("ghc-appar" ,ghc-appar)
6199 ("ghc-byteorder" ,ghc-byteorder)
6200 ("ghc-network" ,ghc-network)
6201 ("ghc-safe" ,ghc-safe)))
6202 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6203 (synopsis "IP routing table")
6204 (description "IP Routing Table is a tree of IP ranges to search one of
6205them on the longest match base. It is a kind of TRIE with one way branching
6206removed. Both IPv4 and IPv6 are supported.")
6207 (license license:bsd-3)))
6208
4828e54e
TS
6209(define-public ghc-ipynb
6210 (package
6211 (name "ghc-ipynb")
6212 (version "0.1")
6213 (source
6214 (origin
6215 (method url-fetch)
6216 (uri (string-append "https://hackage.haskell.org/package/"
6217 "ipynb/ipynb-" version ".tar.gz"))
6218 (sha256
6219 (base32
6220 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6221 (build-system haskell-build-system)
6222 (inputs
6223 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6224 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6225 ("ghc-aeson" ,ghc-aeson)
6226 ("ghc-semigroups" ,ghc-semigroups)))
6227 (native-inputs
6228 `(("ghc-tasty" ,ghc-tasty)
6229 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6230 ("ghc-aeson-diff" ,ghc-aeson-diff)
6231 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6232 ("ghc-microlens" ,ghc-microlens)
6233 ("ghc-vector" ,ghc-vector)))
6234 (home-page "https://hackage.haskell.org/package/ipynb")
6235 (synopsis "Data structure for working with Jupyter notebooks")
6236 (description "This library defines a data structure for representing
6237Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6238instances for conversion to and from JSON .ipynb files.")
6239 (license license:bsd-3)))
6240
dddbc90c
RV
6241(define-public ghc-iwlib
6242 (package
6243 (name "ghc-iwlib")
6244 (version "0.1.0")
6245 (source
6246 (origin
6247 (method url-fetch)
6248 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6249 version ".tar.gz"))
6250 (sha256
6251 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6252 (build-system haskell-build-system)
6253 (inputs
6254 `(("wireless-tools" ,wireless-tools)))
6255 (home-page "https://github.com/jaor/iwlib")
6256 (synopsis "Haskell binding to the iw wireless networking library")
6257 (description
6258 "IWlib is a thin Haskell binding to the iw C library. It provides
6259information about the current wireless network connections, and adapters on
6260supported systems.")
6261 (license license:bsd-3)))
6262
6263(define-public ghc-json
6264 (package
6265 (name "ghc-json")
0ad3d574 6266 (version "0.9.3")
dddbc90c
RV
6267 (source
6268 (origin
6269 (method url-fetch)
6270 (uri (string-append "https://hackage.haskell.org/package/json/"
6271 "json-" version ".tar.gz"))
6272 (sha256
6273 (base32
0ad3d574 6274 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
6275 (build-system haskell-build-system)
6276 (inputs
6277 `(("ghc-syb" ,ghc-syb)))
6278 (home-page "https://hackage.haskell.org/package/json")
6279 (synopsis "Serializes Haskell data to and from JSON")
6280 (description "This package provides a parser and pretty printer for
6281converting between Haskell values and JSON.
6282JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6283 (license license:bsd-3)))
6284
6285(define-public ghc-juicypixels
6286 (package
6287 (name "ghc-juicypixels")
b50b6004 6288 (version "3.3.4")
dddbc90c
RV
6289 (source (origin
6290 (method url-fetch)
6291 (uri (string-append "https://hackage.haskell.org/package/"
6292 "JuicyPixels/JuicyPixels-"
6293 version ".tar.gz"))
6294 (sha256
6295 (base32
b50b6004 6296 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
6297 (build-system haskell-build-system)
6298 (inputs
6299 `(("ghc-zlib" ,ghc-zlib)
6300 ("ghc-vector" ,ghc-vector)
6301 ("ghc-primitive" ,ghc-primitive)
6302 ("ghc-mmap" ,ghc-mmap)))
6303 (home-page "https://github.com/Twinside/Juicy.Pixels")
6304 (synopsis "Picture loading and serialization library")
6305 (description
6306 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6307TIFF and GIF formats.")
6308 (license license:bsd-3)))
6309
6310(define-public ghc-kan-extensions
6311 (package
6312 (name "ghc-kan-extensions")
6313 (version "5.2")
6314 (source
6315 (origin
6316 (method url-fetch)
6317 (uri (string-append
6318 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6319 version
6320 ".tar.gz"))
6321 (sha256
6322 (base32
6323 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6324 (build-system haskell-build-system)
6325 (inputs
6326 `(("ghc-adjunctions" ,ghc-adjunctions)
6327 ("ghc-comonad" ,ghc-comonad)
6328 ("ghc-contravariant" ,ghc-contravariant)
6329 ("ghc-distributive" ,ghc-distributive)
6330 ("ghc-free" ,ghc-free)
6331 ("ghc-invariant" ,ghc-invariant)
6332 ("ghc-semigroupoids" ,ghc-semigroupoids)
6333 ("ghc-tagged" ,ghc-tagged)
6334 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6335 (home-page "https://github.com/ekmett/kan-extensions/")
6336 (synopsis "Kan extensions library")
6337 (description "This library provides Kan extensions, Kan lifts, various
6338forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6339 (license license:bsd-3)))
6340
6341(define-public ghc-language-c
6342 (package
6343 (name "ghc-language-c")
4e1cf651 6344 (version "0.8.3")
dddbc90c
RV
6345 (source
6346 (origin
6347 (method url-fetch)
6348 (uri (string-append "https://hackage.haskell.org/package/"
6349 "language-c/language-c-" version ".tar.gz"))
6350 (sha256
6351 (base32
4e1cf651 6352 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
6353 (build-system haskell-build-system)
6354 (inputs `(("ghc-syb" ,ghc-syb)))
6355 (native-inputs
6356 `(("ghc-happy" ,ghc-happy)
6357 ("ghc-alex" ,ghc-alex)))
6358 (home-page "https://visq.github.io/language-c/")
6359 (synopsis "Analysis and generation of C code")
6360 (description
6361 "Language C is a Haskell library for the analysis and generation of C code.
6362It features a complete, well-tested parser and pretty printer for all of C99
6363and a large set of GNU extensions.")
6364 (license license:bsd-3)))
6365
6366(define-public ghc-language-glsl
6367 (package
6368 (name "ghc-language-glsl")
6369 (version "0.3.0")
6370 (source
6371 (origin
6372 (method url-fetch)
6373 (uri (string-append "https://hackage.haskell.org/package/"
6374 "language-glsl/language-glsl-" version ".tar.gz"))
6375 (sha256
6376 (base32
6377 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6378 (build-system haskell-build-system)
6379 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6380 (arguments
6381 `(#:tests? #f
6382 #:cabal-revision
6383 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
3ef91e15 6384 (home-page "https://hackage.haskell.org/package/language-glsl")
dddbc90c
RV
6385 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6386 (description "This package is a Haskell library for the
6387representation, parsing, and pretty-printing of GLSL 1.50 code.")
6388 (license license:bsd-3)))
6389
6390(define-public ghc-language-haskell-extract
6391 (package
6392 (name "ghc-language-haskell-extract")
6393 (version "0.2.4")
6394 (source
6395 (origin
6396 (method url-fetch)
6397 (uri (string-append "https://hackage.haskell.org/package/"
6398 "language-haskell-extract-" version "/"
6399 "language-haskell-extract-" version ".tar.gz"))
6400 (sha256
6401 (base32
6402 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6403 (build-system haskell-build-system)
6404 (inputs
6405 `(("ghc-regex-posix" ,ghc-regex-posix)))
6406 (home-page "https://github.com/finnsson/template-helper")
6407 (synopsis "Haskell module to automatically extract functions from
6408the local code")
6409 (description "This package contains helper functions on top of
6410Template Haskell.
6411
6412For example, @code{functionExtractor} extracts all functions after a
6413regexp-pattern, which can be useful if you wish to extract all functions
6414beginning with @code{test} (for a test framework) or all functions beginning
6415with @code{wc} (for a web service).")
6416 (license license:bsd-3)))
6417
6418(define-public ghc-lens
6419 (package
6420 (name "ghc-lens")
262e6323 6421 (version "4.17.1")
dddbc90c
RV
6422 (source
6423 (origin
6424 (method url-fetch)
6425 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6426 version ".tar.gz"))
6427 (sha256
6428 (base32
262e6323 6429 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
dddbc90c 6430 (build-system haskell-build-system)
dddbc90c
RV
6431 (inputs
6432 `(("ghc-base-orphans" ,ghc-base-orphans)
6433 ("ghc-bifunctors" ,ghc-bifunctors)
6434 ("ghc-distributive" ,ghc-distributive)
6435 ("ghc-exceptions" ,ghc-exceptions)
6436 ("ghc-free" ,ghc-free)
6437 ("ghc-kan-extensions" ,ghc-kan-extensions)
6438 ("ghc-parallel" ,ghc-parallel)
6439 ("ghc-reflection" ,ghc-reflection)
6440 ("ghc-semigroupoids" ,ghc-semigroupoids)
6441 ("ghc-vector" ,ghc-vector)
6442 ("ghc-call-stack" ,ghc-call-stack)
6443 ("ghc-comonad" ,ghc-comonad)
6444 ("ghc-contravariant" ,ghc-contravariant)
6445 ("ghc-hashable" ,ghc-hashable)
6446 ("ghc-profunctors" ,ghc-profunctors)
6447 ("ghc-semigroups" ,ghc-semigroups)
6448 ("ghc-tagged" ,ghc-tagged)
6449 ("ghc-transformers-compat" ,ghc-transformers-compat)
6450 ("ghc-unordered-containers" ,ghc-unordered-containers)
6451 ("ghc-void" ,ghc-void)
6452 ("ghc-generic-deriving" ,ghc-generic-deriving)
6453 ("ghc-nats" ,ghc-nats)
6454 ("ghc-simple-reflect" ,ghc-simple-reflect)
6455 ("hlint" ,hlint)))
6456 (native-inputs
6457 `(("cabal-doctest" ,cabal-doctest)
6458 ("ghc-doctest" ,ghc-doctest)
6459 ("ghc-hunit" ,ghc-hunit)
6460 ("ghc-test-framework" ,ghc-test-framework)
6461 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6462 ("ghc-test-framework-th" ,ghc-test-framework-th)
6463 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6464 ("ghc-quickcheck" ,ghc-quickcheck)))
6465 (home-page "https://github.com/ekmett/lens/")
6466 (synopsis "Lenses, Folds and Traversals")
6467 (description "This library provides @code{Control.Lens}. The combinators
6468in @code{Control.Lens} provide a highly generic toolbox for composing families
6469of getters, folds, isomorphisms, traversals, setters and lenses and their
6470indexed variants.")
6471 (license license:bsd-3)))
6472
6473(define-public ghc-libffi
6474 (package
6475 (name "ghc-libffi")
6476 (version "0.1")
6477 (source
6478 (origin
6479 (method url-fetch)
6480 (uri (string-append "https://hackage.haskell.org/package/"
6481 "libffi/libffi-" version ".tar.gz"))
6482 (sha256
6483 (base32
6484 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6485 (build-system haskell-build-system)
6486 (native-inputs `(("pkg-config" ,pkg-config)))
6487 (inputs `(("libffi" ,libffi)))
3ef91e15 6488 (home-page "https://hackage.haskell.org/package/libffi")
dddbc90c
RV
6489 (synopsis "Haskell binding to libffi")
6490 (description
6491 "A binding to libffi, allowing C functions of types only known at runtime
6492to be called from Haskell.")
6493 (license license:bsd-3)))
6494
6495(define-public ghc-libmpd
6496 (package
6497 (name "ghc-libmpd")
bbf9845f 6498 (version "0.9.0.10")
dddbc90c
RV
6499 (source
6500 (origin
6501 (method url-fetch)
6502 (uri (string-append
6503 "mirror://hackage/package/libmpd/libmpd-"
6504 version
6505 ".tar.gz"))
6506 (sha256
6507 (base32
bbf9845f 6508 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
6509 (build-system haskell-build-system)
6510 ;; Tests fail on i686.
6511 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6512 (arguments `(#:tests? #f))
6513 (inputs
6514 `(("ghc-attoparsec" ,ghc-attoparsec)
6515 ("ghc-old-locale" ,ghc-old-locale)
6516 ("ghc-data-default-class" ,ghc-data-default-class)
6517 ("ghc-network" ,ghc-network)
bbf9845f 6518 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
6519 ("ghc-utf8-string" ,ghc-utf8-string)))
6520 (native-inputs
6521 `(("ghc-quickcheck" ,ghc-quickcheck)
6522 ("ghc-hspec" ,ghc-hspec)
6523 ("hspec-discover" ,hspec-discover)))
6524 (home-page "https://github.com/vimus/libmpd-haskell")
6525 (synopsis "Haskell client library for the Music Player Daemon")
6526 (description "This package provides a pure Haskell client library for the
6527Music Player Daemon.")
6528 (license license:expat)))
6529
e34df1c3
TS
6530(define-public ghc-lib-parser
6531 (package
6532 (name "ghc-lib-parser")
6533 (version "8.8.0.20190424")
6534 (source
6535 (origin
6536 (method url-fetch)
6537 (uri (string-append "https://hackage.haskell.org/package/"
6538 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6539 (sha256
6540 (base32
6541 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6542 (build-system haskell-build-system)
6543 (native-inputs
6544 `(("ghc-alex" ,ghc-alex)
6545 ("ghc-happy" ,ghc-happy)))
6546 (home-page "https://github.com/digital-asset/ghc-lib")
6547 (synopsis "The GHC API, decoupled from GHC versions")
6548 (description "This library implements the GHC API. It is like the
6549compiler-provided @code{ghc} package, but it can be loaded on many
6550compiler versions.")
6551 (license license:bsd-3)))
6552
dddbc90c
RV
6553(define-public ghc-libxml
6554 (package
6555 (name "ghc-libxml")
6556 (version "0.1.1")
6557 (source
6558 (origin
6559 (method url-fetch)
6560 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6561 "libxml-" version ".tar.gz"))
6562 (sha256
6563 (base32
6564 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6565 (build-system haskell-build-system)
6566 (inputs
6567 `(("libxml2" ,libxml2)))
6568 (arguments
6569 `(#:configure-flags
6570 `(,(string-append "--extra-include-dirs="
6571 (assoc-ref %build-inputs "libxml2")
6572 "/include/libxml2"))))
6573 (home-page "https://hackage.haskell.org/package/libxml")
6574 (synopsis "Haskell bindings to libxml2")
6575 (description
6576 "This library provides minimal Haskell binding to libxml2.")
6577 (license license:bsd-3)))
6578
0c2d6fc2
TS
6579(define-public ghc-libyaml
6580 (package
6581 (name "ghc-libyaml")
6582 (version "0.1.1.0")
6583 (source
6584 (origin
6585 (method url-fetch)
6586 (uri (string-append "https://hackage.haskell.org/package/"
6587 "libyaml/libyaml-" version ".tar.gz"))
6588 (sha256
6589 (base32
6590 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6591 (modules '((guix build utils)))
6592 (snippet
6593 ;; Delete bundled LibYAML.
6594 '(begin
6595 (delete-file-recursively "libyaml_src")
6596 #t))))
6597 (build-system haskell-build-system)
6598 (arguments
6599 `(#:configure-flags `("--flags=system-libyaml")))
6600 (inputs
6601 `(("ghc-conduit" ,ghc-conduit)
6602 ("ghc-resourcet" ,ghc-resourcet)
6603 ("libyaml" ,libyaml-2.1)))
6604 (home-page "https://github.com/snoyberg/yaml#readme")
6605 (synopsis "Low-level, streaming YAML interface.")
6606 (description "This package provides a Haskell wrapper over the
6607LibYAML C library.")
6608 (license license:bsd-3)))
6609
dddbc90c
RV
6610(define-public ghc-lifted-async
6611 (package
6612 (name "ghc-lifted-async")
b5b6d7ea 6613 (version "0.10.0.4")
dddbc90c
RV
6614 (source
6615 (origin
6616 (method url-fetch)
6617 (uri (string-append
6618 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6619 version ".tar.gz"))
6620 (sha256
6621 (base32
b5b6d7ea 6622 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
6623 (build-system haskell-build-system)
6624 (inputs
6625 `(("ghc-async" ,ghc-async)
6626 ("ghc-lifted-base" ,ghc-lifted-base)
6627 ("ghc-transformers-base" ,ghc-transformers-base)
6628 ("ghc-monad-control" ,ghc-monad-control)
6629 ("ghc-constraints" ,ghc-constraints)
6630 ("ghc-hunit" ,ghc-hunit)
6631 ("ghc-tasty" ,ghc-tasty)
6632 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6633 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6634 ("ghc-tasty-th" ,ghc-tasty-th)))
6635 (home-page "https://github.com/maoe/lifted-async")
6636 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6637 (description
6638 "This package provides IO operations from @code{async} package lifted to any
6639instance of @code{MonadBase} or @code{MonadBaseControl}.")
6640 (license license:bsd-3)))
6641
6642(define-public ghc-lifted-base
6643 (package
6644 (name "ghc-lifted-base")
6645 (version "0.2.3.12")
6646 (source
6647 (origin
6648 (method url-fetch)
6649 (uri (string-append
6650 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6651 version
6652 ".tar.gz"))
6653 (sha256
6654 (base32
6655 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6656 (build-system haskell-build-system)
6657 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6658 (inputs
6659 `(("ghc-transformers-base" ,ghc-transformers-base)
6660 ("ghc-monad-control" ,ghc-monad-control)
6661 ("ghc-transformers-compat" ,ghc-transformers-compat)
6662 ("ghc-hunit" ,ghc-hunit)))
6663 (home-page "https://github.com/basvandijk/lifted-base")
6664 (synopsis "Lifted IO operations from the base library")
6665 (description "Lifted-base exports IO operations from the @code{base}
6666library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6667Note that not all modules from @code{base} are converted yet. The package
6668includes a copy of the @code{monad-peel} test suite written by Anders
6669Kaseorg.")
6670 (license license:bsd-3)))
6671
6672(define-public ghc-linear
6673 (package
6674 (name "ghc-linear")
86526f37 6675 (version "1.20.9")
dddbc90c
RV
6676 (source
6677 (origin
6678 (method url-fetch)
6679 (uri (string-append "https://hackage.haskell.org/package/linear/"
6680 "linear-" version ".tar.gz"))
6681 (sha256
6682 (base32
86526f37 6683 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
dddbc90c
RV
6684 (build-system haskell-build-system)
6685 (inputs
6686 `(("ghc-adjunctions" ,ghc-adjunctions)
6687 ("ghc-base-orphans" ,ghc-base-orphans)
6688 ("ghc-bytes" ,ghc-bytes)
6689 ("ghc-cereal" ,ghc-cereal)
6690 ("ghc-distributive" ,ghc-distributive)
6691 ("ghc-hashable" ,ghc-hashable)
6692 ("ghc-lens" ,ghc-lens)
6693 ("ghc-reflection" ,ghc-reflection)
6694 ("ghc-semigroups" ,ghc-semigroups)
6695 ("ghc-semigroupoids" ,ghc-semigroupoids)
6696 ("ghc-tagged" ,ghc-tagged)
6697 ("ghc-transformers-compat" ,ghc-transformers-compat)
6698 ("ghc-unordered-containers" ,ghc-unordered-containers)
6699 ("ghc-vector" ,ghc-vector)
6700 ("ghc-void" ,ghc-void)))
6701 (native-inputs
6702 `(("cabal-doctest" ,cabal-doctest)
6703 ("ghc-doctest" ,ghc-doctest)
6704 ("ghc-simple-reflect" ,ghc-simple-reflect)
6705 ("ghc-test-framework" ,ghc-test-framework)
6706 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6707 ("ghc-hunit" ,ghc-hunit)))
6708 (home-page "http://github.com/ekmett/linear/")
6709 (synopsis "Linear algebra library for Haskell")
6710 (description
6711 "This package provides types and combinators for linear algebra on free
6712vector spaces.")
6713 (license license:bsd-3)))
1307e4c7
JS
6714
6715(define-public ghc-listlike
6716 (package
6717 (name "ghc-listlike")
6718 (version "4.6.2")
6719 (source
6720 (origin
6721 (method url-fetch)
6722 (uri
6723 (string-append
6724 "https://hackage.haskell.org/package/ListLike/ListLike-"
6725 version ".tar.gz"))
6726 (sha256
6727 (base32
6728 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
6729 (build-system haskell-build-system)
6730 (inputs
6731 `(("ghc-vector" ,ghc-vector)
6732 ("ghc-dlist" ,ghc-dlist)
6733 ("ghc-fmlist" ,ghc-fmlist)
6734 ("ghc-hunit" ,ghc-hunit)
6735 ("ghc-quickcheck" ,ghc-quickcheck)
6736 ("ghc-random" ,ghc-random)
6737 ("ghc-utf8-string" ,ghc-utf8-string)))
6738 (home-page "https://github.com/JohnLato/listlike")
6739 (synopsis "Generic support for list-like structures")
6740 (description "The ListLike module provides a common interface to the
6741various Haskell types that are list-like. Predefined interfaces include
6742standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
6743Custom types can easily be made ListLike instances as well.
6744
6745ListLike also provides for String-like types, such as String and
6746ByteString, for types that support input and output, and for types that
6747can handle infinite lists.")
6748 (license license:bsd-3)))
dddbc90c 6749
84436be0
J
6750(define-public ghc-llvm-hs-pure
6751 (package
6752 (name "ghc-llvm-hs-pure")
6753 (version "9.0.0")
6754 (source
6755 (origin
6756 (method url-fetch)
6757 (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/"
6758 "llvm-hs-pure-" version ".tar.gz"))
6759 (sha256
6760 (base32
6761 "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf"))))
6762 (build-system haskell-build-system)
6763 (inputs
6764 `(("ghc-attoparsec" ,ghc-attoparsec)
6765 ("ghc-fail" ,ghc-fail)
6766 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6767 (native-inputs
6768 `(("ghc-tasty" ,ghc-tasty)
6769 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6770 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6771 (home-page "https://github.com/llvm-hs/llvm-hs/")
6772 (synopsis "Pure Haskell LLVM functionality (no FFI)")
6773 (description "llvm-hs-pure is a set of pure Haskell types and functions
6774for interacting with LLVM. It includes an algebraic datatype (ADT) to represent
6775LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but
6776llvm-hs-pure does not require LLVM to be available.")
6777 (license license:bsd-3)))
6778
e3ee8023
J
6779(define-public ghc-llvm-hs
6780 (package
6781 (name "ghc-llvm-hs")
6782 (version "9.0.1")
6783 (source
6784 (origin
6785 (method url-fetch)
6786 (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-"
6787 version ".tar.gz"))
6788 (sha256
6789 (base32
6790 "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00"))))
6791 (build-system haskell-build-system)
6792 (inputs
6793 `(("ghc-attoparsec" ,ghc-attoparsec)
6794 ("ghc-exceptions" ,ghc-exceptions)
6795 ("ghc-utf8-string" ,ghc-utf8-string)
6796 ("ghc-llvm-hs-pure" ,ghc-llvm-hs-pure)
6797 ("llvm" ,llvm-9)))
6798 (native-inputs
6799 `(("ghc-tasty" ,ghc-tasty)
6800 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6801 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6802 ("ghc-quickcheck" ,ghc-quickcheck)
6803 ("ghc-temporary" ,ghc-temporary)
6804 ("ghc-pretty-show" ,ghc-pretty-show)
6805 ("ghc-temporary" ,ghc-temporary)))
6806 (home-page "https://github.com/llvm-hs/llvm-hs/")
6807 (synopsis "General purpose LLVM bindings for Haskell")
6808 (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other
6809current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM
6810IR, and so offers two advantages: it handles almost all of the stateful
6811complexities of using the LLVM API to build IR; and it supports moving IR not
6812only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++
6813into Haskell.")
6814 (license license:bsd-3)))
6815
dddbc90c
RV
6816(define-public ghc-logging-facade
6817 (package
6818 (name "ghc-logging-facade")
6819 (version "0.3.0")
6820 (source (origin
6821 (method url-fetch)
6822 (uri (string-append "https://hackage.haskell.org/package/"
6823 "logging-facade/logging-facade-"
6824 version ".tar.gz"))
6825 (sha256
6826 (base32
6827 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
6828 (build-system haskell-build-system)
6829 (native-inputs
6830 `(("ghc-hspec" ,ghc-hspec)
6831 ("hspec-discover" ,hspec-discover)))
6832 (home-page "https://hackage.haskell.org/package/logging-facade")
6833 (synopsis "Simple logging abstraction that allows multiple back-ends")
6834 (description
6835 "This package provides a simple logging abstraction that allows multiple
6836back-ends.")
6837 (license license:expat)))
6838
6839(define-public ghc-logict
6840 (package
6841 (name "ghc-logict")
79d9326f 6842 (version "0.7.0.2")
dddbc90c
RV
6843 (source
6844 (origin
6845 (method url-fetch)
6846 (uri (string-append
6847 "https://hackage.haskell.org/package/logict/logict-"
6848 version
6849 ".tar.gz"))
6850 (sha256
6851 (base32
79d9326f 6852 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 6853 (build-system haskell-build-system)
79d9326f
TS
6854 (native-inputs
6855 `(("ghc-tasty" ,ghc-tasty)
6856 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
6857 (home-page "http://code.haskell.org/~dolio/")
6858 (synopsis "Backtracking logic-programming monad")
6859 (description "This library provides a continuation-based, backtracking,
6860logic programming monad. An adaptation of the two-continuation implementation
6861found in the paper \"Backtracking, Interleaving, and Terminating Monad
6862Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
6863online}.")
6864 (license license:bsd-3)))
6865
6866(define-public ghc-lzma
6867 (package
6868 (name "ghc-lzma")
6869 (version "0.0.0.3")
6870 (source
6871 (origin
6872 (method url-fetch)
6873 (uri (string-append "https://hackage.haskell.org/package/lzma/"
6874 "lzma-" version ".tar.gz"))
6875 (sha256
6876 (base32
6877 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
6878 (build-system haskell-build-system)
6879 (arguments
6880 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
6881 #:cabal-revision
6882 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
6883 (native-inputs
6884 `(("ghc-hunit" ,ghc-hunit)
6885 ("ghc-quickcheck" ,ghc-quickcheck)
6886 ("ghc-tasty" ,ghc-tasty)
6887 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6888 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6889 (home-page "https://github.com/hvr/lzma")
6890 (synopsis "LZMA/XZ compression and decompression")
6891 (description
6892 "This package provides a pure interface for compressing and
6893decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6894monadic incremental interface is provided as well.")
6895 (license license:bsd-3)))
6896
6897(define-public ghc-lzma-conduit
6898 (package
6899 (name "ghc-lzma-conduit")
6900 (version "1.2.1")
6901 (source
6902 (origin
6903 (method url-fetch)
6904 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6905 "lzma-conduit-" version ".tar.gz"))
6906 (sha256
6907 (base32
6908 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6909 (build-system haskell-build-system)
6910 (inputs
6911 `(("ghc-conduit" ,ghc-conduit)
6912 ("ghc-lzma" ,ghc-lzma)
6913 ("ghc-resourcet" ,ghc-resourcet)))
6914 (native-inputs
6915 `(("ghc-base-compat" ,ghc-base-compat)
6916 ("ghc-test-framework" ,ghc-test-framework)
6917 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6918 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6919 ("ghc-hunit" ,ghc-hunit)
6920 ("ghc-quickcheck" ,ghc-quickcheck)))
6921 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6922 (synopsis "Conduit interface for lzma/xz compression")
6923 (description
6924 "This package provides a @code{Conduit} interface for the LZMA
6925compression algorithm used in the @code{.xz} file format.")
6926 (license license:bsd-3)))
6927
e405912c
KM
6928(define-public ghc-magic
6929 (package
6930 (name "ghc-magic")
6931 (version "1.1")
6932 (source
6933 (origin
6934 (method url-fetch)
6935 (uri (string-append
6936 "https://hackage.haskell.org/package/magic/magic-"
6937 version ".tar.gz"))
6938 (sha256
6939 (base32
6940 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6941 (build-system haskell-build-system)
3ef91e15 6942 (home-page "https://hackage.haskell.org/package/magic")
e405912c
KM
6943 (synopsis "Interface to C file/magic library")
6944 (description
6945 "This package provides a full-featured binding to the C libmagic library.
6946With it, you can determine the type of a file by examining its contents rather
6947than its name.")
6948 (license license:bsd-3)))
6949
dddbc90c
RV
6950(define-public ghc-markdown-unlit
6951 (package
6952 (name "ghc-markdown-unlit")
6953 (version "0.5.0")
6954 (source (origin
6955 (method url-fetch)
6956 (uri (string-append
6957 "mirror://hackage/package/markdown-unlit/"
6958 "markdown-unlit-" version ".tar.gz"))
6959 (sha256
6960 (base32
6961 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6962 (build-system haskell-build-system)
6963 (inputs
6964 `(("ghc-base-compat" ,ghc-base-compat)
6965 ("ghc-hspec" ,ghc-hspec)
6966 ("ghc-quickcheck" ,ghc-quickcheck)
6967 ("ghc-silently" ,ghc-silently)
6968 ("ghc-stringbuilder" ,ghc-stringbuilder)
6969 ("ghc-temporary" ,ghc-temporary)
6970 ("hspec-discover" ,hspec-discover)))
6971 (home-page "https://github.com/sol/markdown-unlit#readme")
6972 (synopsis "Literate Haskell support for Markdown")
6973 (description "This package allows you to have a README.md that at the
6974same time is a literate Haskell program.")
6975 (license license:expat)))
6976
6977(define-public ghc-math-functions
6978 (package
6979 (name "ghc-math-functions")
b45de2bf 6980 (version "0.3.3.0")
dddbc90c
RV
6981 (source
6982 (origin
6983 (method url-fetch)
6984 (uri (string-append "https://hackage.haskell.org/package/"
6985 "math-functions-" version "/"
6986 "math-functions-" version ".tar.gz"))
6987 (sha256
6988 (base32
b45de2bf 6989 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6990 (build-system haskell-build-system)
6991 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6992 (inputs
b45de2bf
TS
6993 `(("ghc-data-default-class" ,ghc-data-default-class)
6994 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6995 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6996 (native-inputs
6997 `(("ghc-hunit" ,ghc-hunit)
6998 ("ghc-quickcheck" ,ghc-quickcheck)
6999 ("ghc-erf" ,ghc-erf)
7000 ("ghc-test-framework" ,ghc-test-framework)
7001 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7002 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7003 (home-page "https://github.com/bos/math-functions")
7004 (synopsis "Special functions and Chebyshev polynomials for Haskell")
7005 (description "This Haskell library provides implementations of
7006special mathematical functions and Chebyshev polynomials. These
7007functions are often useful in statistical and numerical computing.")
7008 (license license:bsd-3)))
7009
7010(define-public ghc-megaparsec
7011 (package
7012 (name "ghc-megaparsec")
03b0c92e 7013 (version "7.0.5")
dddbc90c
RV
7014 (source
7015 (origin
7016 (method url-fetch)
7017 (uri (string-append "https://hackage.haskell.org/package/"
7018 "megaparsec/megaparsec-"
7019 version ".tar.gz"))
7020 (sha256
7021 (base32
03b0c92e 7022 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 7023 (build-system haskell-build-system)
dddbc90c
RV
7024 (inputs
7025 `(("ghc-case-insensitive" ,ghc-case-insensitive)
7026 ("ghc-parser-combinators" ,ghc-parser-combinators)
7027 ("ghc-scientific" ,ghc-scientific)))
7028 (native-inputs
7029 `(("ghc-quickcheck" ,ghc-quickcheck)
7030 ("ghc-hspec" ,ghc-hspec)
7031 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
7032 ("hspec-discover" ,hspec-discover)))
7033 (home-page "https://github.com/mrkkrp/megaparsec")
7034 (synopsis "Monadic parser combinators")
7035 (description
7036 "This is an industrial-strength monadic parser combinator library.
7037Megaparsec is a feature-rich package that strikes a nice balance between
7038speed, flexibility, and quality of parse errors.")
7039 (license license:bsd-2)))
7040
7041(define-public ghc-memory
7042 (package
7043 (name "ghc-memory")
d2c7d336 7044 (version "0.14.18")
dddbc90c
RV
7045 (source (origin
7046 (method url-fetch)
7047 (uri (string-append "https://hackage.haskell.org/package/"
7048 "memory/memory-" version ".tar.gz"))
7049 (sha256
7050 (base32
d2c7d336 7051 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
7052 (build-system haskell-build-system)
7053 (inputs
7054 `(("ghc-basement" ,ghc-basement)
7055 ("ghc-foundation" ,ghc-foundation)))
7056 (native-inputs
7057 `(("ghc-tasty" ,ghc-tasty)
7058 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7059 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7060 (home-page "https://github.com/vincenthz/hs-memory")
7061 (synopsis "Memory abstractions for Haskell")
7062 (description
7063 "This package provides memory abstractions, such as chunk of memory,
7064polymorphic byte array management and manipulation functions. It contains a
7065polymorphic byte array abstraction and functions similar to strict ByteString,
7066different type of byte array abstraction, raw memory IO operations (memory
7067set, memory copy, ..) and more")
7068 (license license:bsd-3)))
7069
7070(define-public ghc-memotrie
7071 (package
7072 (name "ghc-memotrie")
7073 (version "0.6.9")
7074 (source
7075 (origin
7076 (method url-fetch)
7077 (uri (string-append
7078 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
7079 version
7080 ".tar.gz"))
7081 (sha256
7082 (base32
7083 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
7084 (build-system haskell-build-system)
7085 (inputs
7086 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
7087 (home-page "https://github.com/conal/MemoTrie")
7088 (synopsis "Trie-based memo functions")
7089 (description "This package provides a functional library for creating
7090efficient memo functions using tries.")
7091 (license license:bsd-3)))
7092
7093(define-public ghc-microlens
7094 (package
7095 (name "ghc-microlens")
82478c58 7096 (version "0.4.10")
dddbc90c
RV
7097 (source
7098 (origin
7099 (method url-fetch)
7100 (uri (string-append "https://hackage.haskell.org/package/"
7101 "microlens-" version "/"
7102 "microlens-" version ".tar.gz"))
7103 (sha256
7104 (base32
82478c58 7105 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
7106 (build-system haskell-build-system)
7107 (home-page
7108 "https://github.com/aelve/microlens")
7109 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7110 (description "This Haskell package provides a lens library, just like
7111@code{ghc-lens}, but smaller. It provides essential lenses and
7112traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7113nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7114combinators (like @code{failing} and @code{singular}), but everything else is
7115stripped. As the result, this package has no dependencies.")
7116 (license license:bsd-3)))
7117
1cd3333e
TS
7118(define-public ghc-microlens-aeson
7119 (package
7120 (name "ghc-microlens-aeson")
7121 (version "2.3.0.4")
7122 (source
7123 (origin
7124 (method url-fetch)
7125 (uri (string-append "https://hackage.haskell.org/package/"
7126 "microlens-aeson/microlens-aeson-"
7127 version ".tar.gz"))
b4a00fec 7128 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
1cd3333e
TS
7129 (sha256
7130 (base32
7131 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
7132 (build-system haskell-build-system)
7133 (inputs
7134 `(("ghc-aeson" ,ghc-aeson)
7135 ("ghc-attoparsec" ,ghc-attoparsec)
7136 ("ghc-hashable" ,ghc-hashable)
7137 ("ghc-microlens" ,ghc-microlens)
7138 ("ghc-scientific" ,ghc-scientific)
7139 ("ghc-unordered-containers" ,ghc-unordered-containers)
7140 ("ghc-vector" ,ghc-vector)))
7141 (native-inputs
7142 `(("ghc-tasty" ,ghc-tasty)
7143 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7144 (home-page "https://github.com/fosskers/microlens-aeson")
7145 (synopsis "Law-abiding lenses for Aeson, using microlens")
7146 (description "This library provides law-abiding lenses for Aeson, using
7147microlens.")
7148 (license license:expat)))
7149
dddbc90c
RV
7150(define-public ghc-microlens-ghc
7151 (package
7152 (name "ghc-microlens-ghc")
027beb55 7153 (version "0.4.10")
dddbc90c
RV
7154 (source
7155 (origin
7156 (method url-fetch)
7157 (uri (string-append
7158 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7159 version
7160 ".tar.gz"))
7161 (sha256
7162 (base32
027beb55 7163 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
7164 (build-system haskell-build-system)
7165 (inputs `(("ghc-microlens" ,ghc-microlens)))
7166 (home-page "https://github.com/monadfix/microlens")
7167 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7168 (description "This library provides everything that @code{microlens}
7169provides plus instances to make @code{each}, @code{at}, and @code{ix}
7170usable with arrays, @code{ByteString}, and containers. This package is
7171a part of the @uref{http://hackage.haskell.org/package/microlens,
7172microlens} family; see the readme
7173@uref{https://github.com/aelve/microlens#readme, on Github}.")
7174 (license license:bsd-3)))
7175
7176(define-public ghc-microlens-mtl
7177 (package
7178 (name "ghc-microlens-mtl")
7179 (version "0.1.11.1")
7180 (source
7181 (origin
7182 (method url-fetch)
7183 (uri (string-append
7184 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7185 version
7186 ".tar.gz"))
7187 (sha256
7188 (base32
7189 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7190 (build-system haskell-build-system)
7191 (inputs
7192 `(("ghc-microlens" ,ghc-microlens)
7193 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7194 (home-page "https://github.com/monadfix/microlens")
7195 (synopsis
7196 "@code{microlens} support for Reader/Writer/State from mtl")
7197 (description
7198 "This package contains functions (like @code{view} or @code{+=}) which
7199work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7200mtl package. This package is a part of the
7201@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7202readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7203 (license license:bsd-3)))
7204
7205(define-public ghc-microlens-platform
7206 (package
7207 (name "ghc-microlens-platform")
85decc1f 7208 (version "0.3.11")
dddbc90c
RV
7209 (source
7210 (origin
7211 (method url-fetch)
7212 (uri (string-append
7213 "https://hackage.haskell.org/package/"
7214 "microlens-platform/microlens-platform-" version ".tar.gz"))
7215 (sha256
7216 (base32
85decc1f 7217 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
7218 (build-system haskell-build-system)
7219 (inputs
7220 `(("ghc-hashable" ,ghc-hashable)
7221 ("ghc-microlens" ,ghc-microlens)
7222 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
7223 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
7224 ("ghc-microlens-th" ,ghc-microlens-th)
7225 ("ghc-unordered-containers" ,ghc-unordered-containers)
7226 ("ghc-vector" ,ghc-vector)))
7227 (home-page "https://github.com/monadfix/microlens")
7228 (synopsis "Feature-complete microlens")
7229 (description
7230 "This package exports a module which is the recommended starting point
7231for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
7232you aren't trying to keep your dependencies minimal. By importing
7233@code{Lens.Micro.Platform} you get all functions and instances from
7234@uref{http://hackage.haskell.org/package/microlens, microlens},
7235@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
7236@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7237@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7238well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7239minor and major versions of @code{microlens-platform} are incremented whenever
7240the minor and major versions of any other @code{microlens} package are
7241incremented, so you can depend on the exact version of
7242@code{microlens-platform} without specifying the version of @code{microlens}
7243you need. This package is a part of the
7244@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7245readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7246 (license license:bsd-3)))
7247
7248(define-public ghc-microlens-th
7249 (package
7250 (name "ghc-microlens-th")
7ae52867 7251 (version "0.4.2.3")
dddbc90c
RV
7252 (source
7253 (origin
7254 (method url-fetch)
7255 (uri (string-append "https://hackage.haskell.org/package/"
7256 "microlens-th-" version "/"
7257 "microlens-th-" version ".tar.gz"))
7258 (sha256
7259 (base32
7ae52867 7260 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 7261 (build-system haskell-build-system)
7ae52867
TS
7262 (arguments
7263 `(#:cabal-revision
7264 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
7265 (inputs `(("ghc-microlens" ,ghc-microlens)
7266 ("ghc-th-abstraction" ,ghc-th-abstraction)))
7267 (home-page
7268 "https://github.com/aelve/microlens")
7269 (synopsis "Automatic generation of record lenses for
7270@code{ghc-microlens}")
7271 (description "This Haskell package lets you automatically generate lenses
7272for data types; code was extracted from the lens package, and therefore
7273generated lenses are fully compatible with ones generated by lens (and can be
7274used both from lens and microlens).")
7275 (license license:bsd-3)))
7276
7277(define-public ghc-missingh
7278 (package
7279 (name "ghc-missingh")
641207cb 7280 (version "1.4.1.0")
dddbc90c
RV
7281 (source
7282 (origin
7283 (method url-fetch)
7284 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
7285 "MissingH-" version ".tar.gz"))
7286 (sha256
7287 (base32
641207cb 7288 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
7289 (build-system haskell-build-system)
7290 ;; Tests require the unmaintained testpack package, which depends on the
7291 ;; outdated QuickCheck version 2.7, which can no longer be built with
7292 ;; recent versions of GHC and Haskell libraries.
7293 (arguments '(#:tests? #f))
7294 (inputs
7295 `(("ghc-network" ,ghc-network)
7296 ("ghc-hunit" ,ghc-hunit)
7297 ("ghc-regex-compat" ,ghc-regex-compat)
7298 ("ghc-hslogger" ,ghc-hslogger)
7299 ("ghc-random" ,ghc-random)
7300 ("ghc-old-time" ,ghc-old-time)
7301 ("ghc-old-locale" ,ghc-old-locale)))
7302 (native-inputs
7303 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7304 ("ghc-quickcheck" ,ghc-quickcheck)
7305 ("ghc-hunit" ,ghc-hunit)))
7cde5203 7306 (home-page "https://software.complete.org/missingh")
dddbc90c
RV
7307 (synopsis "Large utility library")
7308 (description
7309 "MissingH is a library of all sorts of utility functions for Haskell
7310programmers. It is written in pure Haskell and thus should be extremely
7311portable and easy to use.")
7312 (license license:bsd-3)))
7313
7314(define-public ghc-mmap
7315 (package
7316 (name "ghc-mmap")
7317 (version "0.5.9")
7318 (source (origin
7319 (method url-fetch)
7320 (uri (string-append "https://hackage.haskell.org/package/"
7321 "mmap/mmap-" version ".tar.gz"))
7322 (sha256
7323 (base32
7324 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7325 (build-system haskell-build-system)
7326 (home-page "https://hackage.haskell.org/package/mmap")
7327 (synopsis "Memory mapped files for Haskell")
7328 (description
7329 "This library provides a wrapper to @code{mmap}, allowing files or
7330devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7331@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7332do on-demand loading.")
7333 (license license:bsd-3)))
7334
7335(define-public ghc-mmorph
7336 (package
7337 (name "ghc-mmorph")
e0389704 7338 (version "1.1.3")
dddbc90c
RV
7339 (source
7340 (origin
7341 (method url-fetch)
7342 (uri (string-append
7343 "https://hackage.haskell.org/package/mmorph/mmorph-"
7344 version
7345 ".tar.gz"))
7346 (sha256
7347 (base32
e0389704 7348 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
7349 (build-system haskell-build-system)
7350 (inputs
7351 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7352 (home-page "https://hackage.haskell.org/package/mmorph")
7353 (synopsis "Monad morphisms")
7354 (description
7355 "This library provides monad morphism utilities, most commonly used for
7356manipulating monad transformer stacks.")
7357 (license license:bsd-3)))
7358
7359(define-public ghc-mockery
7360 (package
7361 (name "ghc-mockery")
7362 (version "0.3.5")
7363 (source (origin
7364 (method url-fetch)
7365 (uri (string-append "https://hackage.haskell.org/package/"
7366 "mockery/mockery-" version ".tar.gz"))
7367 (sha256
7368 (base32
7369 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7370 (build-system haskell-build-system)
7371 (inputs
7372 `(("ghc-temporary" ,ghc-temporary)
7373 ("ghc-logging-facade" ,ghc-logging-facade)
7374 ("ghc-base-compat" ,ghc-base-compat)))
7375 (native-inputs
7376 `(("ghc-hspec" ,ghc-hspec)
7377 ("hspec-discover" ,hspec-discover)))
7378 (home-page "https://hackage.haskell.org/package/mockery")
7379 (synopsis "Support functions for automated testing")
7380 (description
7381 "The mockery package provides support functions for automated testing.")
7382 (license license:expat)))
7383
7384(define-public ghc-monad-control
7385 (package
7386 (name "ghc-monad-control")
7387 (version "1.0.2.3")
7388 (source
7389 (origin
7390 (method url-fetch)
7391 (uri (string-append
7392 "https://hackage.haskell.org/package/monad-control"
7393 "/monad-control-" version ".tar.gz"))
7394 (sha256
7395 (base32
7396 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7397 (build-system haskell-build-system)
7398 (inputs
7399 `(("ghc-transformers-base" ,ghc-transformers-base)
7400 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7401 (home-page "https://github.com/basvandijk/monad-control")
7402 (synopsis "Monad transformers to lift control operations like exception
7403catching")
7404 (description "This package defines the type class @code{MonadBaseControl},
7405a subset of @code{MonadBase} into which generic control operations such as
7406@code{catch} can be lifted from @code{IO} or any other base monad.")
7407 (license license:bsd-3)))
7408
7409(define-public ghc-monad-logger
7410 (package
7411 (name "ghc-monad-logger")
26980aae 7412 (version "0.3.30")
dddbc90c
RV
7413 (source
7414 (origin
7415 (method url-fetch)
7416 (uri (string-append "https://hackage.haskell.org/package/"
7417 "monad-logger-" version "/"
7418 "monad-logger-" version ".tar.gz"))
7419 (sha256
7420 (base32
26980aae 7421 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
7422 (build-system haskell-build-system)
7423 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7424 ("ghc-stm-chans" ,ghc-stm-chans)
7425 ("ghc-lifted-base" ,ghc-lifted-base)
7426 ("ghc-resourcet" ,ghc-resourcet)
7427 ("ghc-conduit" ,ghc-conduit)
7428 ("ghc-conduit-extra" ,ghc-conduit-extra)
7429 ("ghc-fast-logger" ,ghc-fast-logger)
7430 ("ghc-transformers-base" ,ghc-transformers-base)
7431 ("ghc-monad-control" ,ghc-monad-control)
7432 ("ghc-monad-loops" ,ghc-monad-loops)
7433 ("ghc-blaze-builder" ,ghc-blaze-builder)
7434 ("ghc-exceptions" ,ghc-exceptions)))
7435 (home-page "https://github.com/kazu-yamamoto/logger")
7436 (synopsis "Provides a class of monads which can log messages for Haskell")
7437 (description "This Haskell package uses a monad transformer approach
7438for logging.
7439
7440This package provides Template Haskell functions for determining source
7441code locations of messages.")
7442 (license license:expat)))
7443
7444(define-public ghc-monad-loops
7445 (package
7446 (name "ghc-monad-loops")
7447 (version "0.4.3")
7448 (source
7449 (origin
7450 (method url-fetch)
7451 (uri (string-append "https://hackage.haskell.org/package/"
7452 "monad-loops-" version "/"
7453 "monad-loops-" version ".tar.gz"))
7454 (sha256
7455 (base32
7456 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7457 (build-system haskell-build-system)
7458 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7459 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7460 (home-page "https://github.com/mokus0/monad-loops")
7461 (synopsis "Monadic loops for Haskell")
7462 (description "This Haskell package provides some useful control
7463operators for looping.")
7464 (license license:public-domain)))
7465
7466(define-public ghc-monad-par
7467 (package
7468 (name "ghc-monad-par")
7469 (version "0.3.4.8")
7470 (source
7471 (origin
7472 (method url-fetch)
7473 (uri (string-append "https://hackage.haskell.org/package/"
7474 "monad-par-" version "/"
7475 "monad-par-" version ".tar.gz"))
faac56f3 7476 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
7477 (sha256
7478 (base32
7479 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7480 (build-system haskell-build-system)
7481 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7482 ("ghc-abstract-deque" ,ghc-abstract-deque)
7483 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7484 ("ghc-mwc-random" ,ghc-mwc-random)
7485 ("ghc-parallel" ,ghc-parallel)))
7486 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7487 ("ghc-hunit" ,ghc-hunit)
7488 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7489 ("ghc-test-framework-quickcheck2"
7490 ,ghc-test-framework-quickcheck2)
7491 ("ghc-test-framework" ,ghc-test-framework)
7492 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7493 (home-page "https://github.com/simonmar/monad-par")
7494 (synopsis "Haskell library for parallel programming based on a monad")
7495 (description "The @code{Par} monad offers an API for parallel
7496programming. The library works for parallelising both pure and @code{IO}
7497computations, although only the pure version is deterministic. The default
7498implementation provides a work-stealing scheduler and supports forking tasks
7499that are much lighter weight than IO-threads.")
7500 (license license:bsd-3)))
7501
7502(define-public ghc-monad-par-extras
7503 (package
7504 (name "ghc-monad-par-extras")
7505 (version "0.3.3")
7506 (source
7507 (origin
7508 (method url-fetch)
7509 (uri (string-append "https://hackage.haskell.org/package/"
7510 "monad-par-extras-" version "/"
7511 "monad-par-extras-" version ".tar.gz"))
7512 (sha256
7513 (base32
7514 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7515 (build-system haskell-build-system)
7516 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7517 ("ghc-cereal" ,ghc-cereal)
7518 ("ghc-random" ,ghc-random)))
7519 (home-page "https://github.com/simonmar/monad-par")
7520 (synopsis "Combinators and extra features for Par monads for Haskell")
7521 (description "This Haskell package provides additional data structures,
7522and other added capabilities layered on top of the @code{Par} monad.")
7523 (license license:bsd-3)))
7524
dddbc90c
RV
7525(define-public ghc-monadrandom
7526 (package
7527 (name "ghc-monadrandom")
7528 (version "0.5.1.1")
7529 (source
7530 (origin
7531 (method url-fetch)
7532 (uri (string-append "https://hackage.haskell.org/package/"
7533 "MonadRandom-" version "/"
7534 "MonadRandom-" version ".tar.gz"))
7535 (sha256
7536 (base32
7537 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7538 (build-system haskell-build-system)
7539 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7540 ("ghc-primitive" ,ghc-primitive)
7541 ("ghc-fail" ,ghc-fail)
7542 ("ghc-random" ,ghc-random)))
7543 (home-page "https://github.com/byorgey/MonadRandom")
7544 (synopsis "Random-number generation monad for Haskell")
7545 (description "This Haskell package provides support for computations
7546which consume random values.")
7547 (license license:bsd-3)))
7548
7549(define-public ghc-monads-tf
7550 (package
7551 (name "ghc-monads-tf")
7552 (version "0.1.0.3")
7553 (source
7554 (origin
7555 (method url-fetch)
7556 (uri (string-append
7557 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7558 version ".tar.gz"))
7559 (sha256
7560 (base32
7561 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7562 (build-system haskell-build-system)
7563 (home-page "https://hackage.haskell.org/package/monads-tf")
7564 (synopsis "Monad classes, using type families")
7565 (description
7566 "Monad classes using type families, with instances for various monad transformers,
7567inspired by the paper 'Functional Programming with Overloading and Higher-Order
7568Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7569the @code{mtl-tf} package.")
7570 (license license:bsd-3)))
7571
7572(define-public ghc-mono-traversable
7573 (package
7574 (name "ghc-mono-traversable")
23bb445b 7575 (version "1.0.13.0")
dddbc90c
RV
7576 (source
7577 (origin
7578 (method url-fetch)
7579 (uri (string-append "https://hackage.haskell.org/package/"
7580 "mono-traversable-" version "/"
7581 "mono-traversable-" version ".tar.gz"))
7582 (sha256
7583 (base32
23bb445b 7584 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
7585 (build-system haskell-build-system)
7586 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7587 ("ghc-hashable" ,ghc-hashable)
7588 ("ghc-vector" ,ghc-vector)
7589 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7590 ("ghc-split" ,ghc-split)))
7591 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7592 ("ghc-hunit" ,ghc-hunit)
7593 ("ghc-quickcheck" ,ghc-quickcheck)
7594 ("ghc-semigroups" ,ghc-semigroups)
7595 ("ghc-foldl" ,ghc-foldl)))
7596 (home-page "https://github.com/snoyberg/mono-traversable")
7597 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7598containers")
7599 (description "This Haskell package provides Monomorphic variants of the
7600Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7601basic typeclasses, you understand mono-traversable. In addition to what
7602you are used to, it adds on an IsSequence typeclass and has code for marking
7603data structures as non-empty.")
7604 (license license:expat)))
7605
471e77cf
TS
7606(define-public ghc-monoid-extras
7607 (package
7608 (name "ghc-monoid-extras")
7609 (version "0.5.1")
7610 (source
7611 (origin
7612 (method url-fetch)
7613 (uri (string-append "https://hackage.haskell.org/package/"
7614 "monoid-extras/monoid-extras-" version ".tar.gz"))
7615 (sha256
7616 (base32
7617 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7618 (build-system haskell-build-system)
7619 (inputs
7620 `(("ghc-groups" ,ghc-groups)
7621 ("ghc-semigroups" ,ghc-semigroups)
7622 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7623 (arguments
7624 `(#:cabal-revision
7625 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7626 (home-page "https://hackage.haskell.org/package/monoid-extras")
7627 (synopsis "Various extra monoid-related definitions and utilities")
7628 (description "This package provides various extra monoid-related
7629definitions and utilities, such as monoid actions, monoid coproducts,
7630semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7631\"cut\" monoids.")
7632 (license license:bsd-3)))
7633
dddbc90c
RV
7634(define-public ghc-murmur-hash
7635 (package
7636 (name "ghc-murmur-hash")
7637 (version "0.1.0.9")
7638 (source
7639 (origin
7640 (method url-fetch)
7641 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7642 "/murmur-hash-" version ".tar.gz"))
7643 (sha256
7644 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
7645 (build-system haskell-build-system)
7646 (home-page "https://github.com/nominolo/murmur-hash")
7647 (synopsis "MurmurHash2 implementation for Haskell")
7648 (description
7649 "This package provides an implementation of MurmurHash2, a good, fast,
7650general-purpose, non-cryptographic hashing function. See
7651@url{https://sites.google.com/site/murmurhash/} for details. This
7652implementation is pure Haskell, so it might be a bit slower than a C FFI
7653binding.")
7654 (license license:bsd-3)))
7655
7656(define-public ghc-mwc-random
7657 (package
7658 (name "ghc-mwc-random")
33268e2c 7659 (version "0.14.0.0")
dddbc90c
RV
7660 (source
7661 (origin
7662 (method url-fetch)
7663 (uri (string-append "https://hackage.haskell.org/package/"
7664 "mwc-random-" version "/"
7665 "mwc-random-" version ".tar.gz"))
7666 (sha256
7667 (base32
33268e2c 7668 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
7669 (build-system haskell-build-system)
7670 (inputs
7671 `(("ghc-primitive" ,ghc-primitive)
7672 ("ghc-vector" ,ghc-vector)
7673 ("ghc-math-functions" ,ghc-math-functions)))
7674 (arguments
7675 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
7676 (native-inputs
7677 `(("ghc-hunit" ,ghc-hunit)
7678 ("ghc-quickcheck" ,ghc-quickcheck)
7679 ("ghc-test-framework" ,ghc-test-framework)
7680 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7681 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7682 (home-page "https://github.com/bos/mwc-random")
7683 (synopsis "Random number generation library for Haskell")
7684 (description "This Haskell package contains code for generating
7685high quality random numbers that follow either a uniform or normal
7686distribution. The generated numbers are suitable for use in
7687statistical applications.
7688
7689The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
7690multiply-with-carry generator, which has a period of 2^{8222} and
7691fares well in tests of randomness. It is also extremely fast,
7692between 2 and 3 times faster than the Mersenne Twister.")
7693 (license license:bsd-3)))
7694
7695(define-public ghc-nats
7696 (package
7697 (name "ghc-nats")
7698 (version "1.1.2")
7699 (source
7700 (origin
7701 (method url-fetch)
7702 (uri (string-append
7703 "https://hackage.haskell.org/package/nats/nats-"
7704 version
7705 ".tar.gz"))
7706 (sha256
7707 (base32
7708 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
7709 (build-system haskell-build-system)
7710 (arguments `(#:haddock? #f))
7711 (inputs
7712 `(("ghc-hashable" ,ghc-hashable)))
7713 (home-page "https://hackage.haskell.org/package/nats")
7714 (synopsis "Natural numbers")
7715 (description "This library provides the natural numbers for Haskell.")
7716 (license license:bsd-3)))
7717
7718(define-public ghc-nats-bootstrap
7719 (package
7720 (inherit ghc-nats)
7721 (name "ghc-nats-bootstrap")
7722 (inputs
7723 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
7724 (properties '((hidden? #t)))))
7725
52915062
EF
7726(define-public ghc-ncurses
7727 (package
7728 (name "ghc-ncurses")
7729 (version "0.2.16")
7730 (source
7731 (origin
7732 (method url-fetch)
7733 (uri (string-append
7734 "https://hackage.haskell.org/package/ncurses/ncurses-"
7735 version ".tar.gz"))
7736 (sha256
7737 (base32
7738 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
7739 (build-system haskell-build-system)
7740 (arguments
7741 '(#:phases
7742 (modify-phases %standard-phases
7743 (add-before 'build 'fix-includes
7744 (lambda _
7745 (substitute* '("cbits/hsncurses-shim.h"
7746 "lib/UI/NCurses.chs"
7747 "lib/UI/NCurses/Enums.chs"
7748 "lib/UI/NCurses/Panel.chs")
7749 (("<ncursesw/") "<"))
7750 #t)))
7751 #:cabal-revision
7752 ("1"
7753 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
7754 (inputs `(("ncurses" ,ncurses)))
7755 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
7756 (home-page "https://john-millikin.com/software/haskell-ncurses/")
7757 (synopsis "Modernised bindings to GNU ncurses")
7758 (description "GNU ncurses is a library for creating command-line application
7759with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
7760ncurses.")
7761 (license license:gpl3)))
7762
dddbc90c
RV
7763(define-public ghc-network
7764 (package
7765 (name "ghc-network")
d4473202 7766 (version "2.8.0.1")
dddbc90c
RV
7767 (outputs '("out" "doc"))
7768 (source
7769 (origin
7770 (method url-fetch)
7771 (uri (string-append
7772 "https://hackage.haskell.org/package/network/network-"
7773 version
7774 ".tar.gz"))
7775 (sha256
7776 (base32
d4473202 7777 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
7778 (build-system haskell-build-system)
7779 ;; The regression tests depend on an unpublished module.
7780 (arguments `(#:tests? #f))
7781 (native-inputs
7782 `(("ghc-hunit" ,ghc-hunit)
7783 ("ghc-doctest" ,ghc-doctest)
7784 ("ghc-test-framework" ,ghc-test-framework)
7785 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
7786 (home-page "https://github.com/haskell/network")
7787 (synopsis "Low-level networking interface")
7788 (description
7789 "This package provides a low-level networking interface.")
7790 (license license:bsd-3)))
4780db2c 7791
30eebbe6
TS
7792(define-public ghc-network-bsd
7793 (package
7794 (name "ghc-network-bsd")
7795 (version "2.8.0.0")
7796 (source
7797 (origin
7798 (method url-fetch)
7799 (uri (string-append "https://hackage.haskell.org/package/"
7800 "network-bsd/network-bsd-" version ".tar.gz"))
7801 (sha256
7802 (base32
7803 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
7804 (build-system haskell-build-system)
7805 (inputs
7806 `(("ghc-network" ,ghc-network)))
7807 (home-page "https://github.com/haskell/network-bsd")
7808 (synopsis "POSIX network database (<netdb.h>) API")
7809 (description "This package provides Haskell bindings to the the POSIX
7810network database (<netdb.h>) API.")
7811 (license license:bsd-3)))
7812
096781a1
TS
7813(define-public ghc-network-byte-order
7814 (package
7815 (name "ghc-network-byte-order")
7816 (version "0.1.1.1")
7817 (source
7818 (origin
7819 (method url-fetch)
7820 (uri (string-append "https://hackage.haskell.org/package/"
7821 "network-byte-order/network-byte-order-"
7822 version ".tar.gz"))
7823 (sha256
7824 (base32
7825 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
7826 (build-system haskell-build-system)
7827 (native-inputs
7828 `(("ghc-doctest" ,ghc-doctest)))
3ef91e15 7829 (home-page "https://hackage.haskell.org/package/network-byte-order")
096781a1
TS
7830 (synopsis "Network byte order utilities")
7831 (description "This library provides peek and poke functions for network
7832byte order.")
7833 (license license:bsd-3)))
7834
dddbc90c
RV
7835(define-public ghc-network-info
7836 (package
7837 (name "ghc-network-info")
7838 (version "0.2.0.10")
7839 (source
7840 (origin
7841 (method url-fetch)
7842 (uri (string-append "https://hackage.haskell.org/package/"
7843 "network-info-" version "/"
7844 "network-info-" version ".tar.gz"))
7845 (sha256
7846 (base32
7847 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
7848 (build-system haskell-build-system)
7849 (home-page "https://github.com/jystic/network-info")
7850 (synopsis "Access the local computer's basic network configuration")
7851 (description "This Haskell library provides simple read-only access to the
7852local computer's networking configuration. It is currently capable of
7853getting a list of all the network interfaces and their respective
7854IPv4, IPv6 and MAC addresses.")
7855 (license license:bsd-3)))
7856
7857(define-public ghc-network-uri
7858 (package
7859 (name "ghc-network-uri")
7860 (version "2.6.1.0")
7861 (outputs '("out" "doc"))
7862 (source
7863 (origin
7864 (method url-fetch)
7865 (uri (string-append
7866 "https://hackage.haskell.org/package/network-uri/network-uri-"
7867 version
7868 ".tar.gz"))
7869 (sha256
7870 (base32
7871 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
7872 (build-system haskell-build-system)
7873 (arguments
7874 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
7875 (inputs
7876 `(("ghc-network" ,ghc-network)))
7877 (native-inputs
7878 `(("ghc-hunit" ,ghc-hunit)))
7879 (home-page
7880 "https://github.com/haskell/network-uri")
7881 (synopsis "Library for URI manipulation")
7882 (description "This package provides an URI manipulation interface. In
7883@code{network-2.6} the @code{Network.URI} module was split off from the
7884@code{network} package into this package.")
7885 (license license:bsd-3)))
7886
7887(define-public ghc-newtype-generics
7888 (package
7889 (name "ghc-newtype-generics")
c07e16dd 7890 (version "0.5.4")
dddbc90c
RV
7891 (source
7892 (origin
7893 (method url-fetch)
7894 (uri (string-append "https://hackage.haskell.org/package/"
7895 "newtype-generics/newtype-generics-"
7896 version ".tar.gz"))
7897 (sha256
7898 (base32
c07e16dd 7899 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
7900 (build-system haskell-build-system)
7901 (native-inputs
7902 `(("ghc-hspec" ,ghc-hspec)
7903 ("hspec-discover" ,hspec-discover)))
7904 (home-page "http://github.com/sjakobi/newtype-generics")
7905 (synopsis "Typeclass and set of functions for working with newtypes")
7906 (description "The @code{Newtype} typeclass represents the packing and
7907unpacking of a newtype, and allows you to operate under that newtype with
7908functions such as @code{ala}. Generics support was added in version 0.4,
7909making this package a full replacement for the original newtype package,
7910and an alternative to newtype-th.")
7911 (license license:bsd-3)))
7912
6b652f5a
JS
7913(define-public ghc-non-negative
7914 (package
7915 (name "ghc-non-negative")
7916 (version "0.1.2")
7917 (source
7918 (origin
7919 (method url-fetch)
7920 (uri
7921 (string-append
7922 "https://hackage.haskell.org/package/non-negative/non-negative-"
7923 version ".tar.gz"))
7924 (sha256
7925 (base32
7926 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
7927 (build-system haskell-build-system)
7928 (inputs
7929 `(("ghc-semigroups" ,ghc-semigroups)
7930 ("ghc-utility-ht" ,ghc-utility-ht)
7931 ("ghc-quickcheck" ,ghc-quickcheck)))
7932 (home-page "https://hackage.haskell.org/package/non-negative")
7933 (synopsis "Non-negative numbers class")
7934 (description "This library provides a class for non-negative numbers,
7935a wrapper which can turn any ordered numeric type into a member of that
7936class, and a lazy number type for non-negative numbers (a generalization
7937of Peano numbers).")
7938 (license license:gpl3+)))
7939
194a82e6
TS
7940(define-public ghc-numeric-extras
7941 (package
7942 (name "ghc-numeric-extras")
7943 (version "0.1")
7944 (source
7945 (origin
7946 (method url-fetch)
7947 (uri (string-append "https://hackage.haskell.org/package/"
7948 "numeric-extras/numeric-extras-"
7949 version ".tar.gz"))
7950 (sha256
7951 (base32
7952 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
7953 (build-system haskell-build-system)
7954 (home-page "https://github.com/ekmett/numeric-extras")
7955 (synopsis "Useful tools from the C standard library")
7956 (description "This library provides some useful tools from the C
7957standard library.")
7958 (license license:bsd-3)))
7959
dddbc90c
RV
7960(define-public ghc-objectname
7961 (package
7962 (name "ghc-objectname")
7963 (version "1.1.0.1")
7964 (source
7965 (origin
7966 (method url-fetch)
7967 (uri (string-append
7968 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
7969 version
7970 ".tar.gz"))
7971 (sha256
7972 (base32
7973 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
7974 (build-system haskell-build-system)
7975 (home-page "https://hackage.haskell.org/package/ObjectName")
7976 (synopsis "Helper library for Haskell OpenGL")
7977 (description "This tiny package contains the class ObjectName, which
7978corresponds to the general notion of explicitly handled identifiers for API
7979objects, e.g. a texture object name in OpenGL or a buffer object name in
7980OpenAL.")
7981 (license license:bsd-3)))
7982
7983(define-public ghc-old-locale
7984 (package
7985 (name "ghc-old-locale")
7986 (version "1.0.0.7")
7987 (source
7988 (origin
7989 (method url-fetch)
7990 (uri (string-append
7991 "https://hackage.haskell.org/package/old-locale/old-locale-"
7992 version
7993 ".tar.gz"))
7994 (sha256
7995 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7996 (build-system haskell-build-system)
7997 (arguments
7998 `(#:cabal-revision
7999 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
8000 (home-page "https://hackage.haskell.org/package/old-locale")
8001 (synopsis "Adapt to locale conventions")
8002 (description
8003 "This package provides the ability to adapt to locale conventions such as
8004date and time formats.")
8005 (license license:bsd-3)))
8006
8007(define-public ghc-old-time
8008 (package
8009 (name "ghc-old-time")
8010 (version "1.1.0.3")
8011 (source
8012 (origin
8013 (method url-fetch)
8014 (uri (string-append
8015 "https://hackage.haskell.org/package/old-time/old-time-"
8016 version
8017 ".tar.gz"))
8018 (sha256
8019 (base32
8020 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
8021 (build-system haskell-build-system)
8022 (arguments
8023 `(#:cabal-revision
8024 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
8025 (inputs
8026 `(("ghc-old-locale" ,ghc-old-locale)))
8027 (home-page "https://hackage.haskell.org/package/old-time")
8028 (synopsis "Time compatibility library for Haskell")
8029 (description "Old-time is a package for backwards compatibility with the
8030old @code{time} library. For new projects, the newer
8031@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
8032 (license license:bsd-3)))
8033
8034(define-public ghc-opengl
8035 (package
8036 (name "ghc-opengl")
79a06910 8037 (version "3.0.3.0")
dddbc90c
RV
8038 (source
8039 (origin
8040 (method url-fetch)
8041 (uri (string-append
8042 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
8043 version
8044 ".tar.gz"))
8045 (sha256
8046 (base32
79a06910 8047 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 8048 (build-system haskell-build-system)
79a06910
TS
8049 (arguments
8050 `(#:cabal-revision
8051 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
8052 (inputs
8053 `(("ghc-objectname" ,ghc-objectname)
8054 ("ghc-gluraw" ,ghc-gluraw)
8055 ("ghc-statevar" ,ghc-statevar)
8056 ("ghc-openglraw" ,ghc-openglraw)))
8057 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8058 (synopsis "Haskell bindings for the OpenGL graphics system")
8059 (description "This package provides Haskell bindings for the OpenGL
8060graphics system (GL, version 4.5) and its accompanying utility library (GLU,
8061version 1.3).")
8062 (license license:bsd-3)))
8063
8064(define-public ghc-openglraw
8065 (package
8066 (name "ghc-openglraw")
15ebc815 8067 (version "3.3.3.0")
dddbc90c
RV
8068 (source
8069 (origin
8070 (method url-fetch)
8071 (uri (string-append
8072 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
8073 version
8074 ".tar.gz"))
8075 (sha256
8076 (base32
15ebc815 8077 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
8078 (build-system haskell-build-system)
8079 (inputs
8080 `(("ghc-half" ,ghc-half)
8081 ("ghc-fixed" ,ghc-fixed)
8082 ("glu" ,glu)))
8083 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8084 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
8085 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
8086graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
8087of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
8088offers access to all necessary functions, tokens and types plus a general
8089facility for loading extension entries. The module hierarchy closely mirrors
8090the naming structure of the OpenGL extensions, making it easy to find the
8091right module to import. All API entries are loaded dynamically, so no special
8092C header files are needed for building this package. If an API entry is not
8093found at runtime, a userError is thrown.")
8094 (license license:bsd-3)))
8095
8096(define-public ghc-operational
8097 (package
8098 (name "ghc-operational")
8099 (version "0.2.3.5")
8100 (source
8101 (origin
8102 (method url-fetch)
8103 (uri (string-append "https://hackage.haskell.org/package/operational/"
8104 "operational-" version ".tar.gz"))
8105 (sha256
8106 (base32
8107 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
8108 (build-system haskell-build-system)
8109 (inputs
8110 `(("ghc-random" ,ghc-random)))
8111 (home-page "http://wiki.haskell.org/Operational")
8112 (synopsis "Implementation of difficult monads made easy with operational semantics")
8113 (description
8114 "This library makes it easy to implement monads with tricky control
8115flow. This is useful for: writing web applications in a sequential style,
8116programming games with a uniform interface for human and AI players and easy
8117replay capababilities, implementing fast parser monads, designing monadic
8118DSLs, etc.")
8119 (license license:bsd-3)))
8120
8121(define-public ghc-options
8122 (package
8123 (name "ghc-options")
8124 (version "1.2.1.1")
8125 (source
8126 (origin
8127 (method url-fetch)
8128 (uri (string-append
8129 "https://hackage.haskell.org/package/options/options-"
8130 version ".tar.gz"))
8131 (sha256
8132 (base32
8133 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8134 (build-system haskell-build-system)
24cf2a8b
TS
8135 (arguments
8136 `(#:phases
8137 (modify-phases %standard-phases
8138 (add-before 'configure 'update-constraints
8139 (lambda _
8140 (substitute* "options.cabal"
8141 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8142 #t)))))
dddbc90c
RV
8143 (inputs
8144 `(("ghc-monads-tf" ,ghc-monads-tf)
8145 ("ghc-chell" ,ghc-chell)
8146 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8147 (home-page "https://john-millikin.com/software/haskell-options/")
8148 (synopsis "Powerful and easy-to-use command-line option parser")
8149 (description
8150 "The @code{options} package lets library and application developers
8151easily work with command-line options.")
8152 (license license:expat)))
8153
8154;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8155(define ghc-options-bootstrap
8156 (package
8157 (name "ghc-options-bootstrap")
8158 (version "1.2.1.1")
8159 (source
8160 (origin
8161 (method url-fetch)
8162 (uri (string-append
8163 "https://hackage.haskell.org/package/options/options-"
8164 version ".tar.gz"))
8165 (sha256
8166 (base32
8167 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8168 (build-system haskell-build-system)
8169 (arguments
8170 `(#:tests? #f))
8171 (inputs
8172 `(("ghc-monads-tf" ,ghc-monads-tf)))
8173 (home-page "https://john-millikin.com/software/haskell-options/")
8174 (synopsis "Powerful and easy-to-use command-line option parser")
8175 (description
8176 "The @code{options} package lets library and application developers
8177easily work with command-line options.")
8178 (license license:expat)))
8179
8180
8181(define-public ghc-optparse-applicative
8182 (package
8183 (name "ghc-optparse-applicative")
74bf6965 8184 (version "0.14.3.0")
dddbc90c
RV
8185 (source
8186 (origin
8187 (method url-fetch)
8188 (uri (string-append
8189 "https://hackage.haskell.org/package/optparse-applicative"
8190 "/optparse-applicative-" version ".tar.gz"))
8191 (sha256
8192 (base32
74bf6965 8193 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 8194 (build-system haskell-build-system)
74bf6965
TS
8195 (arguments
8196 `(#:cabal-revision
8197 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
8198 (inputs
8199 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8200 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8201 (native-inputs
8202 `(("ghc-quickcheck" ,ghc-quickcheck)))
8203 (home-page "https://github.com/pcapriotti/optparse-applicative")
8204 (synopsis "Utilities and combinators for parsing command line options")
8205 (description "This package provides utilities and combinators for parsing
8206command line options in Haskell.")
8207 (license license:bsd-3)))
8208
d56c8120
NG
8209(define-public ghc-jira-wiki-markup
8210 (package
8211 (name "ghc-jira-wiki-markup")
8212 (version "1.0.0")
8213 (source
8214 (origin
8215 (method url-fetch)
8216 (uri (string-append
8217 "https://hackage.haskell.org/package/jira-wiki-markup/"
8218 "jira-wiki-markup-" version ".tar.gz"))
8219 (sha256
8220 (base32 "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8"))))
8221 (build-system haskell-build-system)
8222 (native-inputs
8223 `(("ghc-tasty" ,ghc-tasty)
8224 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8225 (home-page "https://github.com/tarleb/jira-wiki-markup")
8226 (synopsis "Handle Jira wiki markup")
8227 (description
8228 "Parse jira wiki text into an abstract syntax tree for easy transformation
8229to other formats.")
8230 (license license:expat)))
8231
20690771
NG
8232(define-public ghc-emojis
8233 (package
8234 (name "ghc-emojis")
8235 (version "0.1")
8236 (source
8237 (origin
8238 (method url-fetch)
8239 (uri (string-append
8240 "https://hackage.haskell.org/package/emojis/"
8241 "emojis-" version ".tar.gz"))
8242 (sha256
8243 (base32 "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss"))))
8244 (build-system haskell-build-system)
8245 (native-inputs
8246 `(("ghc-hunit" ,ghc-hunit)))
8247 (home-page "https://github.com/jgm/emojis#readme")
8248 (synopsis "Conversion between emoji characters and their names.")
8249 (description
8250 "This package provides functions for converting emoji names to emoji
8251characters and vice versa.
8252
8253How does it differ from the @code{emoji} package?
8254@itemize
8255@item It supports a fuller range of emojis, including all those supported by
8256GitHub
8257@item It supports lookup of emoji aliases from emoji
8258@item It uses Text rather than String
8259@item It has a lighter dependency footprint: in particular, it does not
8260require aeson
8261@item It does not require TemplateHaskell
8262@end itemize")
8263 (license license:bsd-3)))
8264
e90a06fc
NG
8265(define-public ghc-text-conversions
8266 (package
8267 (name "ghc-text-conversions")
8268 (version "0.3.0")
8269 (source
8270 (origin
8271 (method url-fetch)
8272 (uri (string-append
8273 "https://hackage.haskell.org/package/text-conversions/"
8274 "text-conversions-" version ".tar.gz"))
8275 (sha256
8276 (base32 "089c56vdj9xysqfr1hnvbnrghlg83q6w10xk02gflpsidcpvwmhp"))))
8277 (build-system haskell-build-system)
8278 (inputs
8279 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
8280 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8281 ("ghc-errors" ,ghc-errors)))
8282 (native-inputs
8283 `(("ghc-hspec" ,ghc-hspec)
27b09f3a 8284 ("hspec-discover" ,hspec-discover)))
e90a06fc
NG
8285 (home-page "https://github.com/cjdev/text-conversions#readme")
8286 (synopsis "Safe conversions between textual types")
8287 (description "Safe conversions between textual types")
8288 (license license:isc)))
8289
ba7cbae3
NG
8290(define-public ghc-doclayout
8291 (package
8292 (name "ghc-doclayout")
8293 (version "0.3")
8294 (source
8295 (origin
8296 (method url-fetch)
8297 (uri (string-append
8298 "https://hackage.haskell.org/package/doclayout/"
8299 "doclayout-" version ".tar.gz"))
8300 (sha256
8301 (base32 "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7"))))
8302 (build-system haskell-build-system)
8303 (inputs
8304 `(("ghc-safe" ,ghc-safe)))
8305 (native-inputs
8306 `(("ghc-tasty" ,ghc-tasty)
8307 ("ghc-tasty-golden" ,ghc-tasty-golden)
8308 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8309 (home-page "https://github.com/jgm/doclayout")
8310 (synopsis "Pretty-printing library for laying out text documents")
8311 (description
8312 "doclayout is a pretty-printing library for laying out text documents,
8313with several features not present in pretty-printing libraries designed for
8314code. It was designed for use in @code{Pandoc}.")
8315 (license license:bsd-3)))
8316
dddbc90c
RV
8317(define-public ghc-pandoc
8318 (package
8319 (name "ghc-pandoc")
d9b1567a 8320 (version "2.7.3")
dddbc90c
RV
8321 (source
8322 (origin
8323 (method url-fetch)
8324 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8325 version ".tar.gz"))
d9b1567a
TS
8326 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8327 "ghc-pandoc-fix-latex-test.patch"))
dddbc90c
RV
8328 (sha256
8329 (base32
d9b1567a 8330 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
dddbc90c 8331 (build-system haskell-build-system)
dddbc90c
RV
8332 (inputs
8333 `(("ghc-aeson" ,ghc-aeson)
8334 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8335 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8336 ("ghc-blaze-html" ,ghc-blaze-html)
8337 ("ghc-blaze-markup" ,ghc-blaze-markup)
8338 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8339 ("ghc-data-default" ,ghc-data-default)
dddbc90c
RV
8340 ("ghc-diff" ,ghc-diff)
8341 ("ghc-doctemplates" ,ghc-doctemplates)
8342 ("ghc-executable-path" ,ghc-executable-path)
8343 ("ghc-glob" ,ghc-glob)
8344 ("ghc-haddock-library" ,ghc-haddock-library)
8345 ("ghc-hslua" ,ghc-hslua)
d9b1567a 8346 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
dddbc90c 8347 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
d9b1567a 8348 ("ghc-hsyaml" ,ghc-hsyaml)
dddbc90c
RV
8349 ("ghc-http" ,ghc-http)
8350 ("ghc-http-client" ,ghc-http-client)
8351 ("ghc-http-client-tls" ,ghc-http-client-tls)
8352 ("ghc-http-types" ,ghc-http-types)
d9b1567a 8353 ("ghc-ipynb" ,ghc-ipynb)
dddbc90c
RV
8354 ("ghc-juicypixels" ,ghc-juicypixels)
8355 ("ghc-network" ,ghc-network)
8356 ("ghc-network-uri" ,ghc-network-uri)
dddbc90c
RV
8357 ("ghc-pandoc-types" ,ghc-pandoc-types)
8358 ("ghc-random" ,ghc-random)
8359 ("ghc-scientific" ,ghc-scientific)
8360 ("ghc-sha" ,ghc-sha)
8361 ("ghc-skylighting" ,ghc-skylighting)
8362 ("ghc-split" ,ghc-split)
8363 ("ghc-syb" ,ghc-syb)
8364 ("ghc-tagsoup" ,ghc-tagsoup)
8365 ("ghc-temporary" ,ghc-temporary)
8366 ("ghc-texmath" ,ghc-texmath)
d9b1567a 8367 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
dddbc90c
RV
8368 ("ghc-unordered-containers" ,ghc-unordered-containers)
8369 ("ghc-vector" ,ghc-vector)
8370 ("ghc-xml" ,ghc-xml)
dddbc90c
RV
8371 ("ghc-zip-archive" ,ghc-zip-archive)
8372 ("ghc-zlib" ,ghc-zlib)))
8373 (native-inputs
8374 `(("ghc-tasty" ,ghc-tasty)
8375 ("ghc-tasty-golden" ,ghc-tasty-golden)
8376 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d9b1567a 8377 ("ghc-tasty-lua" ,ghc-tasty-lua)
dddbc90c
RV
8378 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8379 ("ghc-quickcheck" ,ghc-quickcheck)
8380 ("ghc-hunit" ,ghc-hunit)))
8381 (home-page "https://pandoc.org")
8382 (synopsis "Conversion between markup formats")
8383 (description
8384 "Pandoc is a Haskell library for converting from one markup format to
8385another, and a command-line tool that uses this library. It can read and
8386write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8387LaTeX, DocBook, and many more.
8388
8389Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8390definition lists, tables, and other features. A compatibility mode is
8391provided for those who need a drop-in replacement for Markdown.pl.")
8392 (license license:gpl2+)))
8393
8394(define-public ghc-pandoc-citeproc
8395 (package
8396 (name "ghc-pandoc-citeproc")
2da02d09 8397 (version "0.16.2")
dddbc90c
RV
8398 (source
8399 (origin
8400 (method url-fetch)
8401 (uri (string-append "https://hackage.haskell.org/package/"
8402 "pandoc-citeproc/pandoc-citeproc-"
8403 version ".tar.gz"))
8404 (sha256
8405 (base32
2da02d09 8406 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
dddbc90c
RV
8407 (build-system haskell-build-system)
8408 (arguments
8409 `(#:phases
8410 (modify-phases %standard-phases
8411 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8412 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8413 (add-before 'configure 'patch-tests
8414 (lambda _
8415 (substitute* "tests/test-pandoc-citeproc.hs"
8416 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8417 "let allTests = citeprocTests"))))
8418 ;; Tests need to be run after installation.
8419 (delete 'check)
8420 (add-after 'install 'post-install-check
8421 (assoc-ref %standard-phases 'check)))))
8422 (inputs
8423 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8424 ("ghc-pandoc" ,ghc-pandoc)
8425 ("ghc-tagsoup" ,ghc-tagsoup)
8426 ("ghc-aeson" ,ghc-aeson)
8427 ("ghc-vector" ,ghc-vector)
8428 ("ghc-xml-conduit" ,ghc-xml-conduit)
8429 ("ghc-unordered-containers" ,ghc-unordered-containers)
8430 ("ghc-data-default" ,ghc-data-default)
8431 ("ghc-setenv" ,ghc-setenv)
8432 ("ghc-split" ,ghc-split)
8433 ("ghc-yaml" ,ghc-yaml)
8434 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8435 ("ghc-rfc5051" ,ghc-rfc5051)
8436 ("ghc-syb" ,ghc-syb)
8437 ("ghc-old-locale" ,ghc-old-locale)
8438 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8439 ("ghc-attoparsec" ,ghc-attoparsec)
8440 ("ghc-temporary" ,ghc-temporary)))
8441 (home-page "https://github.com/jgm/pandoc-citeproc")
8442 (synopsis "Library for using pandoc with citeproc")
8443 (description
8444 "The @code{pandoc-citeproc} library exports functions for using the
8445citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8446rendering bibliographic reference citations into a variety of styles using a
8447macro language called @dfn{Citation Style Language} (CSL). This package also
8448contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8449and also has a mode for converting bibliographic databases a YAML format
8450suitable for inclusion in pandoc YAML metadata.")
8451 (license license:bsd-3)))
8452
8453(define-public ghc-pandoc-types
8454 (package
8455 (name "ghc-pandoc-types")
0eaa88c8 8456 (version "1.17.6.1")
dddbc90c
RV
8457 (source (origin
8458 (method url-fetch)
8459 (uri (string-append "https://hackage.haskell.org/package/"
8460 "pandoc-types/pandoc-types-"
8461 version ".tar.gz"))
8462 (sha256
8463 (base32
0eaa88c8 8464 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
8465 (build-system haskell-build-system)
8466 (inputs
8467 `(("ghc-syb" ,ghc-syb)
8468 ("ghc-aeson" ,ghc-aeson)
8469 ("ghc-string-qq" ,ghc-string-qq)))
8470 (native-inputs
8471 `(("ghc-quickcheck" ,ghc-quickcheck)
8472 ("ghc-test-framework" ,ghc-test-framework)
8473 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8474 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8475 ("ghc-hunit" ,ghc-hunit)))
8476 (home-page "http://johnmacfarlane.net/pandoc")
8477 (synopsis "Types for representing a structured document")
8478 (description
8479 "This module defines the @code{Pandoc} data structure, which is used by
8480pandoc to represent structured documents. It also provides functions for
8481building up, manipulating and serialising @code{Pandoc} structures.")
8482 (license license:bsd-3)))
8483
8484(define-public ghc-parallel
8485 (package
8486 (name "ghc-parallel")
8487 (version "3.2.2.0")
8488 (outputs '("out" "doc"))
8489 (source
8490 (origin
8491 (method url-fetch)
8492 (uri (string-append
8493 "https://hackage.haskell.org/package/parallel/parallel-"
8494 version
8495 ".tar.gz"))
8496 (sha256
8497 (base32
8498 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8499 (build-system haskell-build-system)
8500 (home-page "https://hackage.haskell.org/package/parallel")
8501 (synopsis "Parallel programming library")
8502 (description
8503 "This package provides a library for parallel programming.")
8504 (license license:bsd-3)))
8505
8506(define-public ghc-parsec-numbers
8507 (package
8508 (name "ghc-parsec-numbers")
8509 (version "0.1.0")
8510 (source
8511 (origin
8512 (method url-fetch)
8513 (uri (string-append "https://hackage.haskell.org/package/"
8514 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8515 (sha256
8516 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8517 (build-system haskell-build-system)
8518 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8519 (synopsis "Utilities for parsing numbers from strings")
8520 (description
8521 "This package provides the number parsers without the need to use a large
8522(and unportable) token parser.")
8523 (license license:bsd-3)))
8524
8525(define-public ghc-parser-combinators
8526 (package
8527 (name "ghc-parser-combinators")
2f173160 8528 (version "1.1.0")
dddbc90c
RV
8529 (source
8530 (origin
8531 (method url-fetch)
8532 (uri (string-append "https://hackage.haskell.org/package/"
8533 "parser-combinators/parser-combinators-"
8534 version ".tar.gz"))
8535 (sha256
8536 (base32
2f173160 8537 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
8538 (build-system haskell-build-system)
8539 (home-page "https://github.com/mrkkrp/parser-combinators")
8540 (synopsis "Commonly useful parser combinators")
8541 (description
8542 "This is a lightweight package providing commonly useful parser
8543combinators.")
8544 (license license:bsd-3)))
8545
8546(define-public ghc-parsers
8547 (package
8548 (name "ghc-parsers")
6818f970 8549 (version "0.12.10")
dddbc90c
RV
8550 (source
8551 (origin
8552 (method url-fetch)
8553 (uri (string-append
8554 "https://hackage.haskell.org/package/parsers/parsers-"
8555 version
8556 ".tar.gz"))
8557 (sha256
8558 (base32
6818f970 8559 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
8560 (build-system haskell-build-system)
8561 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8562 ; -package attoparsec-0.13.0.1"
8563 (inputs
8564 `(("ghc-base-orphans" ,ghc-base-orphans)
8565 ("ghc-attoparsec" ,ghc-attoparsec)
8566 ("ghc-scientific" ,ghc-scientific)
8567 ("ghc-charset" ,ghc-charset)
8568 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8569 (home-page "https://github.com/ekmett/parsers/")
8570 (synopsis "Parsing combinators")
8571 (description "This library provides convenient combinators for working
8572with and building parsing combinator libraries. Given a few simple instances,
8573you get access to a large number of canned definitions. Instances exist for
8574the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8575@code{Text.Read}.")
8576 (license license:bsd-3)))
8577
8578(define-public ghc-path
8579 (package
8580 (name "ghc-path")
8581 (version "0.6.1")
8582 (source
8583 (origin
8584 (method url-fetch)
8585 (uri (string-append
8586 "https://hackage.haskell.org/package/path/path-"
8587 version
8588 ".tar.gz"))
8589 (sha256
8590 (base32
8591 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
8592 (build-system haskell-build-system)
8593 (arguments
8594 ;; TODO: There are some Windows-related tests and modules that need to be
8595 ;; danced around.
8596 `(#:tests? #f
8597 #:cabal-revision
8598 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
8599 (inputs
8600 `(("ghc-aeson" ,ghc-aeson)
8601 ("ghc-exceptions" ,ghc-exceptions)
8602 ("ghc-hashable" ,ghc-hashable)))
8603 (native-inputs
8604 `(("ghc-hspec" ,ghc-hspec)
8605 ("ghc-quickcheck" ,ghc-quickcheck)
8606 ("ghc-genvalidity" ,ghc-genvalidity)
8607 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
8608 ("ghc-hspec" ,ghc-hspec)
8609 ("ghc-validity" ,ghc-validity)))
8610 (home-page
3ef91e15 8611 "https://hackage.haskell.org/package/path")
dddbc90c
RV
8612 (synopsis "Support for well-typed paths")
8613 (description "This package introduces a type for paths upholding useful
8614invariants.")
8615 (license license:bsd-3)))
8616
8617(define-public ghc-path-io
8618 (package
8619 (name "ghc-path-io")
a06613ea 8620 (version "1.4.2")
dddbc90c
RV
8621 (source
8622 (origin
8623 (method url-fetch)
8624 (uri (string-append
8625 "https://hackage.haskell.org/package/path-io/path-io-"
8626 version
8627 ".tar.gz"))
8628 (sha256
8629 (base32
a06613ea 8630 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
8631 (build-system haskell-build-system)
8632 (inputs
8633 `(("ghc-dlist" ,ghc-dlist)
8634 ("ghc-exceptions" ,ghc-exceptions)
8635 ("ghc-path" ,ghc-path)
8636 ("ghc-transformers-base" ,ghc-transformers-base)
8637 ("ghc-unix-compat" ,ghc-unix-compat)
8638 ("ghc-temporary" ,ghc-temporary)))
8639 (native-inputs
8640 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
8641 (home-page
8642 "https://github.com/mrkkrp/path-io")
8643 (synopsis "Functions for manipulating well-typed paths")
8644 (description "This package provides an interface to the @code{directory}
8645package for users of @code{path}. It also implements some missing stuff like
8646recursive scanning and copying of directories, working with temporary
8647files/directories, and more.")
8648 (license license:bsd-3)))
8649
8650(define-public ghc-paths
8651 (package
8652 (name "ghc-paths")
9a8adeb1 8653 (version "0.1.0.12")
dddbc90c
RV
8654 (outputs '("out" "doc"))
8655 (source
8656 (origin
8657 (method url-fetch)
8658 (uri (string-append
8659 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
8660 version
8661 ".tar.gz"))
8662 (sha256
8663 (base32
9a8adeb1 8664 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
8665 (build-system haskell-build-system)
8666 (home-page "https://github.com/simonmar/ghc-paths")
8667 (synopsis
8668 "Knowledge of GHC's installation directories")
8669 (description
8670 "Knowledge of GHC's installation directories.")
8671 (license license:bsd-3)))
8672
8673(define-public ghc-patience
8674 (package
8675 (name "ghc-patience")
484476f3 8676 (version "0.3")
dddbc90c
RV
8677 (source
8678 (origin
8679 (method url-fetch)
8680 (uri (string-append
8681 "https://hackage.haskell.org/package/patience/patience-"
8682 version ".tar.gz"))
8683 (sha256
8684 (base32
484476f3 8685 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
8686 (build-system haskell-build-system)
8687 (home-page "https://hackage.haskell.org/package/patience")
8688 (synopsis "Patience diff and longest increasing subsequence")
8689 (description
8690 "This library implements the 'patience diff' algorithm, as well as the
8691patience algorithm for the longest increasing subsequence problem.
8692Patience diff computes the difference between two lists, for example the lines
8693of two versions of a source file. It provides a good balance between
8694performance, nice output for humans, and simplicity of implementation.")
8695 (license license:bsd-3)))
8696
8697(define-public ghc-pcre-light
8698 (package
8699 (name "ghc-pcre-light")
8700 (version "0.4.0.4")
8701 (source
8702 (origin
8703 (method url-fetch)
8704 (uri (string-append
8705 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
8706 version
8707 ".tar.gz"))
8708 (sha256
8709 (base32
8710 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
8711 (build-system haskell-build-system)
8712 (inputs
8713 `(("pcre" ,pcre)))
8714 (native-inputs
8715 `(("pkg-config" ,pkg-config)))
8716 (home-page "https://github.com/Daniel-Diaz/pcre-light")
8717 (synopsis "Haskell library for Perl 5 compatible regular expressions")
8718 (description "This package provides a small, efficient, and portable regex
8719library for Perl 5 compatible regular expressions. The PCRE library is a set
8720of functions that implement regular expression pattern matching using the same
8721syntax and semantics as Perl 5.")
8722 (license license:bsd-3)))
8723
8724(define-public ghc-persistent
8725 (package
8726 (name "ghc-persistent")
18a38da5 8727 (version "2.9.2")
dddbc90c
RV
8728 (source
8729 (origin
8730 (method url-fetch)
8731 (uri (string-append "https://hackage.haskell.org/package/"
8732 "persistent-" version "/"
8733 "persistent-" version ".tar.gz"))
8734 (sha256
8735 (base32
18a38da5 8736 "1wsa3kn427v88a6r0vwr6mz23snik2krbsgc8zqp18xajqn5szj9"))))
dddbc90c
RV
8737 (build-system haskell-build-system)
8738 (inputs `(("ghc-old-locale" ,ghc-old-locale)
8739 ("ghc-conduit" ,ghc-conduit)
8740 ("ghc-resourcet" ,ghc-resourcet)
8741 ("ghc-exceptions" ,ghc-exceptions)
8742 ("ghc-monad-control" ,ghc-monad-control)
8743 ("ghc-lifted-base" ,ghc-lifted-base)
8744 ("ghc-resource-pool" ,ghc-resource-pool)
8745 ("ghc-path-pieces" ,ghc-path-pieces)
8746 ("ghc-http-api-data" ,ghc-http-api-data)
8747 ("ghc-aeson" ,ghc-aeson)
8748 ("ghc-monad-logger" ,ghc-monad-logger)
8749 ("ghc-transformers-base" ,ghc-transformers-base)
8750 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8751 ("ghc-unordered-containers" ,ghc-unordered-containers)
8752 ("ghc-vector" ,ghc-vector)
8753 ("ghc-attoparsec" ,ghc-attoparsec)
8754 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
8755 ("ghc-blaze-html" ,ghc-blaze-html)
8756 ("ghc-blaze-markup" ,ghc-blaze-markup)
8757 ("ghc-silently" ,ghc-silently)
8758 ("ghc-fast-logger" ,ghc-fast-logger)
8759 ("ghc-scientific" ,ghc-scientific)
8760 ("ghc-tagged" ,ghc-tagged)
8761 ("ghc-void" ,ghc-void)))
8762 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
8763 (home-page "https://www.yesodweb.com/book/persistent")
8764 (synopsis "Type-safe, multi-backend data serialization for Haskell")
8765 (description "This Haskell package allows Haskell programs to access data
8766storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
8767way.")
8768 (license license:expat)))
8769
8770(define-public ghc-persistent-sqlite
8771 (package
8772 (name "ghc-persistent-sqlite")
801fbd7e 8773 (version "2.9.3")
dddbc90c
RV
8774 (source
8775 (origin
8776 (method url-fetch)
8777 (uri (string-append "https://hackage.haskell.org/package/"
8778 "persistent-sqlite-" version "/"
8779 "persistent-sqlite-" version ".tar.gz"))
8780 (sha256
8781 (base32
801fbd7e 8782 "13wbn88ixv4d4dfjl1gabm1q60fbcnygbmixz57pi3z84drrynwq"))))
dddbc90c
RV
8783 (build-system haskell-build-system)
8784 (inputs `(("ghc-persistent" ,ghc-persistent)
8785 ("ghc-unliftio-core" ,ghc-unliftio-core)
8786 ("ghc-aeson" ,ghc-aeson)
8787 ("ghc-conduit" ,ghc-conduit)
8788 ("ghc-monad-logger" ,ghc-monad-logger)
8789 ("ghc-microlens-th" ,ghc-microlens-th)
8790 ("ghc-resourcet" ,ghc-resourcet)
8791 ("ghc-old-locale" ,ghc-old-locale)
8792 ("ghc-resource-pool" ,ghc-resource-pool)
8793 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8794 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8795 ("ghc-persistent-template" ,ghc-persistent-template)
8796 ("ghc-temporary" ,ghc-temporary)))
8797 (home-page
8798 "https://www.yesodweb.com/book/persistent")
8799 (synopsis "Backend for the persistent library using sqlite3")
8800 (description "This Haskell package includes a thin sqlite3 wrapper based
8801on the direct-sqlite package, as well as the entire C library, so there are no
8802system dependencies.")
8803 (license license:expat)))
8804
8805(define-public ghc-persistent-template
8806 (package
8807 (name "ghc-persistent-template")
bc78e0d9 8808 (version "2.6.0")
dddbc90c
RV
8809 (source
8810 (origin
8811 (method url-fetch)
8812 (uri (string-append "https://hackage.haskell.org/package/"
8813 "persistent-template-" version "/"
8814 "persistent-template-" version ".tar.gz"))
8815 (sha256
8816 (base32
bc78e0d9 8817 "0wr1z2nfrl6jv1lprxb0d2jw4izqfcbcwvkdrhryzg95gjz8ryjv"))))
dddbc90c 8818 (build-system haskell-build-system)
dddbc90c
RV
8819 (inputs `(("ghc-persistent" ,ghc-persistent)
8820 ("ghc-monad-control" ,ghc-monad-control)
8821 ("ghc-aeson" ,ghc-aeson)
8822 ("ghc-aeson-compat" ,ghc-aeson-compat)
8823 ("ghc-monad-logger" ,ghc-monad-logger)
8824 ("ghc-unordered-containers" ,ghc-unordered-containers)
8825 ("ghc-tagged" ,ghc-tagged)
8826 ("ghc-path-pieces" ,ghc-path-pieces)
8827 ("ghc-http-api-data" ,ghc-http-api-data)))
8828 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8829 ("ghc-quickcheck" ,ghc-quickcheck)))
8830 (home-page "https://www.yesodweb.com/book/persistent")
8831 (synopsis "Type-safe, non-relational, multi-backend persistence")
8832 (description "This Haskell package provides interfaces and helper
8833functions for the ghc-persistent package.")
8834 (license license:expat)))
8835
4639fa32
ASM
8836(define-public ghc-pipes
8837 (package
8838 (name "ghc-pipes")
8839 (version "4.3.13")
8840 (source
8841 (origin
8842 (method url-fetch)
8843 (uri (string-append
8844 "https://hackage.haskell.org/package/pipes/"
8845 "pipes-" version ".tar.gz"))
8846 (sha256
8847 (base32
8848 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
8849 (build-system haskell-build-system)
8850 (inputs
8851 `(("ghc-exceptions" ,ghc-exceptions)
8852 ("ghc-mmorph" ,ghc-mmorph)
8853 ("ghc-void" ,ghc-void)
8854 ("ghc-semigroups" ,ghc-semigroups)))
8855 (native-inputs
8856 `(("ghc-quickcheck" ,ghc-quickcheck)
8857 ("ghc-test-framework" ,ghc-test-framework)
8858 ("ghc-test-framework-quickcheck2"
8859 ,ghc-test-framework-quickcheck2)))
8860 (home-page
8861 "https://hackage.haskell.org/package/pipes")
8862 (synopsis "Compositional pipelines")
8863 (description
8864 "A clean and powerful stream processing library that lets you build
8865and connect reusable streaming components. Advantages over traditional streaming
8866libraries:
8867@itemize
8868@item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
8869and @code{yield}
8870@item Blazing fast: Implementation tuned for speed, including shortcut fusion
8871@item Lightweight Dependency: pipes is small and compiles very rapidly, including
8872dependencies
8873@item Elegant semantics: Use practical category theory
8874@item ListT: Correct implementation of @code{ListT} that interconverts with pipes
8875@item Bidirectionality: Implement duplex channels
8876@end itemize")
8877 (license license:bsd-3)))
8878
451775a5
ASM
8879(define-public ghc-pointedlist
8880 (package
8881 (name "ghc-pointedlist")
8882 (version "0.6.1")
8883 (source
8884 (origin
8885 (method url-fetch)
8886 (uri (string-append
8887 "https://hackage.haskell.org/package/pointedlist/"
8888 "pointedlist-" version ".tar.gz"))
8889 (sha256
8890 (base32
8891 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
8892 (build-system haskell-build-system)
8893 (home-page
3ef91e15 8894 "https://hackage.haskell.org/package/pointedlist")
451775a5
ASM
8895 (synopsis
8896 "Zipper-like comonad which works as a list, tracking a position")
8897 (description
8898 "A PointedList tracks the position in a non-empty list which works
8899similarly to a zipper. A current item is always required, and therefore
8900the list may never be empty. A circular PointedList wraps around to the
8901other end when progressing past the actual edge.")
8902 (license license:bsd-3)))
8903
dddbc90c
RV
8904(define-public ghc-polyparse
8905 (package
8906 (name "ghc-polyparse")
9822b9ca 8907 (version "1.12.1")
dddbc90c
RV
8908 (source
8909 (origin
8910 (method url-fetch)
8911 (uri (string-append
8912 "https://hackage.haskell.org/package/polyparse/polyparse-"
8913 version
8914 ".tar.gz"))
8915 (sha256
8916 (base32
9822b9ca 8917 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
8918 (build-system haskell-build-system)
8919 (home-page
8920 "http://code.haskell.org/~malcolm/polyparse/")
8921 (synopsis
8922 "Alternative parser combinator libraries")
8923 (description
8924 "This package provides a variety of alternative parser combinator
8925libraries, including the original HuttonMeijer set. The Poly sets have
8926features like good error reporting, arbitrary token type, running state, lazy
8927parsing, and so on. Finally, Text.Parse is a proposed replacement for the
8928standard Read class, for better deserialisation of Haskell values from
8929Strings.")
8930 (license license:lgpl2.1)))
8931
8932(define-public ghc-pqueue
8933 (package
8934 (name "ghc-pqueue")
142415b0 8935 (version "1.4.1.2")
dddbc90c
RV
8936 (source
8937 (origin
8938 (method url-fetch)
8939 (uri (string-append "https://hackage.haskell.org/package/"
8940 "pqueue/pqueue-" version ".tar.gz"))
8941 (sha256
8942 (base32
142415b0 8943 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
8944 (build-system haskell-build-system)
8945 (native-inputs
8946 `(("ghc-quickcheck" ,ghc-quickcheck)))
8947 (home-page "https://hackage.haskell.org/package/pqueue")
8948 (synopsis "Reliable, persistent, fast priority queues")
8949 (description
8950 "This package provides a fast, reliable priority queue implementation
8951based on a binomial heap.")
8952 (license license:bsd-3)))
8953
8954(define-public ghc-prelude-extras
8955 (package
8956 (name "ghc-prelude-extras")
8957 (version "0.4.0.3")
8958 (source
8959 (origin
8960 (method url-fetch)
8961 (uri (string-append
8962 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
8963 version
8964 ".tar.gz"))
8965 (sha256
8966 (base32
8967 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
8968 (build-system haskell-build-system)
8969 (home-page "https://github.com/ekmett/prelude-extras")
8970 (synopsis "Higher order versions of Prelude classes")
8971 (description "This library provides higher order versions of
8972@code{Prelude} classes to ease programming with polymorphic recursion and
8973reduce @code{UndecidableInstances}.")
8974 (license license:bsd-3)))
8975
8976(define-public ghc-prettyclass
8977 (package
8978 (name "ghc-prettyclass")
8979 (version "1.0.0.0")
8980 (source
8981 (origin
8982 (method url-fetch)
8983 (uri (string-append "https://hackage.haskell.org/package/"
8984 "prettyclass/prettyclass-" version ".tar.gz"))
8985 (sha256
8986 (base32
8987 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
8988 (build-system haskell-build-system)
3ef91e15 8989 (home-page "https://hackage.haskell.org/package/prettyclass")
dddbc90c
RV
8990 (synopsis "Pretty printing class similar to Show")
8991 (description "This package provides a pretty printing class similar
8992to @code{Show}, based on the HughesPJ pretty printing library. It
8993provides the pretty printing class and instances for the Prelude
8994types.")
8995 (license license:bsd-3)))
8996
8997(define-public ghc-pretty-hex
8998 (package
8999 (name "ghc-pretty-hex")
9000 (version "1.0")
9001 (source
9002 (origin
9003 (method url-fetch)
9004 (uri (string-append "https://hackage.haskell.org/package/"
9005 "pretty-hex-" version "/"
9006 "pretty-hex-" version ".tar.gz"))
9007 (sha256
9008 (base32
9009 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
9010 (build-system haskell-build-system)
9011 (home-page "https://github.com/GaloisInc/hexdump")
9012 (synopsis "Haskell library for hex dumps of ByteStrings")
9013 (description "This Haskell library generates pretty hex dumps of
9014ByteStrings in the style of other common *nix hex dump tools.")
9015 (license license:bsd-3)))
9016
9017(define-public ghc-pretty-show
9018 (package
9019 (name "ghc-pretty-show")
7683a084 9020 (version "1.9.5")
dddbc90c
RV
9021 (source
9022 (origin
9023 (method url-fetch)
9024 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
9025 "pretty-show-" version ".tar.gz"))
9026 (sha256
9027 (base32
7683a084 9028 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
9029 (build-system haskell-build-system)
9030 (inputs
9031 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
9032 ("ghc-happy" ,ghc-happy)))
9033 (home-page "http://wiki.github.com/yav/pretty-show")
9034 (synopsis "Tools for working with derived `Show` instances")
9035 (description
9036 "This package provides a library and an executable for working with
9037derived @code{Show} instances. By using the library, derived @code{Show}
9038instances can be parsed into a generic data structure. The @code{ppsh} tool
9039uses the library to produce human-readable versions of @code{Show} instances,
9040which can be quite handy for debugging Haskell programs. We can also render
9041complex generic values into an interactive Html page, for easier
9042examination.")
9043 (license license:expat)))
9044
9045(define-public ghc-primitive
9046 (package
9047 (name "ghc-primitive")
9048 (version "0.6.4.0")
9049 (outputs '("out" "doc"))
9050 (source
9051 (origin
9052 (method url-fetch)
9053 (uri (string-append
9054 "https://hackage.haskell.org/package/primitive/primitive-"
9055 version
9056 ".tar.gz"))
9057 (sha256
9058 (base32
9059 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
9060 (build-system haskell-build-system)
6cf0daa4
TS
9061 (arguments
9062 `(#:cabal-revision
9063 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
9064 (home-page
9065 "https://github.com/haskell/primitive")
9066 (synopsis "Primitive memory-related operations")
9067 (description
9068 "This package provides various primitive memory-related operations.")
9069 (license license:bsd-3)))
9070
21f5b9a9
JS
9071(define-public ghc-process-extras
9072 (package
9073 (name "ghc-process-extras")
9074 (version "0.7.4")
9075 (source
9076 (origin
9077 (method url-fetch)
9078 (uri
9079 (string-append
9080 "https://hackage.haskell.org/package/process-extras/"
9081 "process-extras-" version ".tar.gz"))
9082 (sha256
9083 (base32
9084 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
9085 (build-system haskell-build-system)
9086 (inputs
9087 `(("ghc-data-default" ,ghc-data-default)
9088 ("ghc-generic-deriving" ,ghc-generic-deriving)
9089 ("ghc-hunit" ,ghc-hunit)
9090 ("ghc-listlike" ,ghc-listlike)))
9091 (home-page "https://github.com/seereason/process-extras")
9092 (synopsis "Extra tools for managing processes")
f74b6983 9093 (description "This package extends
21f5b9a9
JS
9094@url{http://hackage.haskell.org/package/process}. It allows you to read
9095process input and output as ByteStrings or Text, or write your own
9096ProcessOutput instance. It also provides lazy process input and output,
9097and a ProcessMaker class for more flexibility in the process creation
9098API.")
9099 (license license:expat)))
9100
dddbc90c
RV
9101(define-public ghc-profunctors
9102 (package
9103 (name "ghc-profunctors")
899b5297 9104 (version "5.3")
dddbc90c
RV
9105 (source
9106 (origin
9107 (method url-fetch)
9108 (uri (string-append
9109 "https://hackage.haskell.org/package/profunctors/profunctors-"
9110 version
9111 ".tar.gz"))
9112 (sha256
9113 (base32
899b5297 9114 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 9115 (build-system haskell-build-system)
dddbc90c
RV
9116 (inputs
9117 `(("ghc-base-orphans" ,ghc-base-orphans)
9118 ("ghc-bifunctors" ,ghc-bifunctors)
9119 ("ghc-comonad" ,ghc-comonad)
9120 ("ghc-contravariant" ,ghc-contravariant)
9121 ("ghc-distributive" ,ghc-distributive)
9122 ("ghc-semigroups" ,ghc-semigroups)
9123 ("ghc-tagged" ,ghc-tagged)))
9124 (home-page "https://github.com/ekmett/profunctors/")
9125 (synopsis "Profunctors for Haskell")
9126 (description "This library provides profunctors for Haskell.")
9127 (license license:bsd-3)))
9128
fbe32d46
ASM
9129(define-public ghc-project-template
9130 (package
9131 (name "ghc-project-template")
9132 (version "0.2.0.1")
9133 (source
9134 (origin
9135 (method url-fetch)
9136 (uri (string-append
9137 "https://hackage.haskell.org/package/project-template/project-template-"
9138 version ".tar.gz"))
9139 (sha256
9140 (base32
9141 "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb"))))
9142 (build-system haskell-build-system)
9143 (inputs
9144 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9145 ("ghc-conduit" ,ghc-conduit)
9146 ("ghc-conduit-extra" ,ghc-conduit-extra)
9147 ("ghc-resourcet" ,ghc-resourcet)))
9148 (native-inputs
9149 `(("ghc-hspec" ,ghc-hspec)
9150 ("hspec-discover" ,hspec-discover)
9151 ("ghc-quickcheck" ,ghc-quickcheck)))
9152 (arguments
9153 `(#:cabal-revision
9154 ("1"
9155 "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a")))
9156 (home-page "https://github.com/fpco/haskell-ide")
9157 (synopsis "Specify Haskell project templates and generate files")
9158 (description
9159 "Haskell library for both generating and consuming project templates.
9160
9161ost IDEs provide the concept of a project template: instead of writing all
9162of the code for a project from scratch, you select a template, answer a few
9163questions, and a bunch of files are automatically generated.
9164
9165project-template tries to provide a canonical Haskell library for implementing
9166the ideal templating system.")
9167 (license license:bsd-3)))
9168
dddbc90c
RV
9169(define-public ghc-psqueues
9170 (package
9171 (name "ghc-psqueues")
5d133942 9172 (version "0.2.7.2")
dddbc90c
RV
9173 (source
9174 (origin
9175 (method url-fetch)
9176 (uri (string-append "https://hackage.haskell.org/package/"
9177 "psqueues-" version "/"
9178 "psqueues-" version ".tar.gz"))
9179 (sha256
9180 (base32
5d133942 9181 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
9182 (build-system haskell-build-system)
9183 (inputs
9184 `(("ghc-hashable" ,ghc-hashable)))
9185 (native-inputs
9186 `(("ghc-hunit" ,ghc-hunit)
9187 ("ghc-quickcheck" ,ghc-quickcheck)
9188 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
9189 ("ghc-tasty" ,ghc-tasty)
9190 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9191 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
9192 (home-page "https://github.com/jaspervdj/psqueues")
9193 (synopsis "Pure priority search queues")
9194 (description "The psqueues package provides
9195@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
9196three different flavors:
9197
9198@itemize
9199@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
9200fast insertion, deletion and lookup. This implementation is based on Ralf
9201Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
9202Implementation Technique for Priority Search Queues}.
9203
9204Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
9205PSQueue} library, although it is considerably faster and provides a slightly
9206different API.
9207
9208@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
9209key type to @code{Int} and uses a
9210@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
9211with an additional min-heap property.
9212
9213@item @code{HashPSQ k p v} is a fairly straightforward extension
9214of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
9215@code{IntPSQ}. If there are any hash collisions, it uses an
9216@code{OrdPSQ} to resolve those. The performance of this implementation
9217is comparable to that of @code{IntPSQ}, but it is more widely
9218applicable since the keys are not restricted to @code{Int},
9219but rather to any @code{Hashable} datatype.
9220@end itemize
9221
9222Each of the three implementations provides the same API, so they can
9223be used interchangeably.
9224
9225Typical applications of Priority Search Queues include:
9226
9227@itemize
9228@item Caches, and more specifically LRU Caches;
9229@item Schedulers;
9230@item Pathfinding algorithms, such as Dijkstra's and A*.
9231@end itemize")
9232 (license license:bsd-3)))
9233
9234(define-public ghc-random
9235 (package
9236 (name "ghc-random")
9237 (version "1.1")
9238 (outputs '("out" "doc"))
9239 (source
9240 (origin
9241 (method url-fetch)
9242 (uri (string-append
9243 "https://hackage.haskell.org/package/random/random-"
9244 version
9245 ".tar.gz"))
9246 (sha256
9247 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
9248 (build-system haskell-build-system)
9249 (home-page "https://hackage.haskell.org/package/random")
9250 (synopsis "Random number library")
9251 (description "This package provides a basic random number generation
9252library, including the ability to split random number generators.")
9253 (license license:bsd-3)))
9254
9255(define-public ghc-raw-strings-qq
9256 (package
9257 (name "ghc-raw-strings-qq")
9258 (version "1.1")
9259 (source
9260 (origin
9261 (method url-fetch)
9262 (uri (string-append "https://hackage.haskell.org/package/"
9263 "raw-strings-qq/raw-strings-qq-"
9264 version ".tar.gz"))
9265 (sha256
9266 (base32
9267 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9268 (build-system haskell-build-system)
9269 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
9270 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9271 (synopsis "Raw string literals for Haskell")
9272 (description
9273 "This package provides a quasiquoter for raw string literals, i.e. string
9274literals that don't recognise the standard escape sequences. Basically, they
9275make your code more readable by freeing you from the responsibility to escape
9276backslashes. They are useful when working with regular expressions,
9277DOS/Windows paths and markup languages (such as XML).")
9278 (license license:bsd-3)))
9279
9280(define-public ghc-readable
9281 (package
9282 (name "ghc-readable")
9283 (version "0.3.1")
9284 (source
9285 (origin
9286 (method url-fetch)
9287 (uri (string-append "https://hackage.haskell.org/package/"
9288 "readable/readable-" version ".tar.gz"))
9289 (sha256
9290 (base32
9291 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
9292 (build-system haskell-build-system)
9293 (home-page "https://github.com/mightybyte/readable")
9294 (synopsis "Type class for reading from Text and ByteString")
9295 (description "This package provides a @code{Readable} type class for
9296reading data types from @code{ByteString} and @code{Text}. It also
9297includes efficient implementations for common data types.")
9298 (license license:bsd-3)))
9299
9300(define-public ghc-rebase
9301 (package
9302 (name "ghc-rebase")
8d2ae3fe 9303 (version "1.3.1.1")
dddbc90c
RV
9304 (source
9305 (origin
9306 (method url-fetch)
9307 (uri (string-append "https://hackage.haskell.org/package/"
9308 "rebase-" version "/"
9309 "rebase-" version ".tar.gz"))
9310 (sha256
9311 (base32
8d2ae3fe 9312 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
9313 (build-system haskell-build-system)
9314 (inputs `(("ghc-hashable" ,ghc-hashable)
9315 ("ghc-vector" ,ghc-vector)
9316 ("ghc-unordered-containers" ,ghc-unordered-containers)
9317 ("ghc-scientific" ,ghc-scientific)
9318 ("ghc-uuid" ,ghc-uuid)
9319 ("ghc-dlist" ,ghc-dlist)
9320 ("ghc-void" ,ghc-void)
9321 ("ghc-bifunctors" ,ghc-bifunctors)
9322 ("ghc-profunctors" ,ghc-profunctors)
9323 ("ghc-contravariant" ,ghc-contravariant)
9324 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
9325 ("ghc-semigroups" ,ghc-semigroups)
9326 ("ghc-either" ,ghc-either)
9327 ("ghc-fail" ,ghc-fail)
9328 ("ghc-base-prelude" ,ghc-base-prelude)))
9329 (home-page "https://github.com/nikita-volkov/rebase")
9330 (synopsis "Progressive alternative to the base package
9331for Haskell")
9332 (description "This Haskell package is intended for those who are
9333tired of keeping long lists of dependencies to the same essential libraries
9334in each package as well as the endless imports of the same APIs all over again.
9335
9336It also supports the modern tendencies in the language.
9337
9338To solve those problems this package does the following:
9339
9340@itemize
9341@item Reexport the original APIs under the @code{Rebase} namespace.
9342
9343@item Export all the possible non-conflicting symbols from the
9344@code{Rebase.Prelude} module.
9345
9346@item Give priority to the modern practices in the conflicting cases.
9347@end itemize
9348
9349The policy behind the package is only to reexport the non-ambiguous and
9350non-controversial APIs, which the community has obviously settled on.
9351The package is intended to rapidly evolve with the contribution from
9352the community, with the missing features being added with pull-requests.")
9353 (license license:expat)))
9354
9355(define-public ghc-reducers
9356 (package
9357 (name "ghc-reducers")
9358 (version "3.12.3")
9359 (source
9360 (origin
9361 (method url-fetch)
9362 (uri (string-append
9363 "https://hackage.haskell.org/package/reducers/reducers-"
9364 version
9365 ".tar.gz"))
9366 (sha256
9367 (base32
9368 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
9369 (build-system haskell-build-system)
9370 (inputs
9371 `(("ghc-fingertree" ,ghc-fingertree)
9372 ("ghc-hashable" ,ghc-hashable)
9373 ("ghc-unordered-containers" ,ghc-unordered-containers)
9374 ("ghc-semigroupoids" ,ghc-semigroupoids)
9375 ("ghc-semigroups" ,ghc-semigroups)))
9376 (home-page "https://github.com/ekmett/reducers/")
9377 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
9378 (description "This library provides various semigroups, specialized
9379containers and a general map/reduce framework for Haskell.")
9380 (license license:bsd-3)))
9381
9382(define-public ghc-refact
9383 (package
9384 (name "ghc-refact")
9385 (version "0.3.0.2")
9386 (source
9387 (origin
9388 (method url-fetch)
9389 (uri (string-append "https://hackage.haskell.org/package/"
9390 "refact/refact-"
9391 version ".tar.gz"))
9392 (sha256
9393 (base32
9394 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
9395 (build-system haskell-build-system)
3ef91e15 9396 (home-page "https://hackage.haskell.org/package/refact")
dddbc90c
RV
9397 (synopsis "Specify refactorings to perform with apply-refact")
9398 (description
9399 "This library provides a datatype which can be interpreted by
9400@code{apply-refact}. It exists as a separate library so that applications can
9401specify refactorings without depending on GHC.")
9402 (license license:bsd-3)))
9403
9404(define-public ghc-reflection
9405 (package
9406 (name "ghc-reflection")
d215f1cc 9407 (version "2.1.5")
dddbc90c
RV
9408 (source
9409 (origin
9410 (method url-fetch)
9411 (uri (string-append
9412 "https://hackage.haskell.org/package/reflection/reflection-"
9413 version
9414 ".tar.gz"))
9415 (sha256
9416 (base32
d215f1cc 9417 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
9418 (build-system haskell-build-system)
9419 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
9420 (native-inputs
9421 `(("ghc-hspec" ,ghc-hspec)
9422 ("ghc-quickcheck" ,ghc-quickcheck)
9423 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
9424 (home-page "https://github.com/ekmett/reflection")
9425 (synopsis "Reify arbitrary terms into types that can be reflected back
9426into terms")
9427 (description "This package addresses the 'configuration problem' which is
9428propagating configurations that are available at run-time, allowing multiple
9429configurations to coexist without resorting to mutable global variables or
9430@code{System.IO.Unsafe.unsafePerformIO}.")
9431 (license license:bsd-3)))
9432
9433(define-public ghc-regex
9434 (package
9435 (name "ghc-regex")
b9a5e634 9436 (version "1.0.2.0")
dddbc90c
RV
9437 (source
9438 (origin
9439 (method url-fetch)
9440 (uri (string-append "https://hackage.haskell.org/package/regex/"
9441 "regex-" version ".tar.gz"))
9442 (sha256
9443 (base32
b9a5e634 9444 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
9445 (build-system haskell-build-system)
9446 (arguments
9447 `(#:phases
9448 (modify-phases %standard-phases
9449 (add-after 'unpack 'relax-dependencies
9450 (lambda _
9451 (substitute* "regex.cabal"
9452 (("base-compat.*>=.*0.6.*")
9453 "base-compat >= 0.6\n")
9454 (("template-haskell.*>=.*2.7.*")
9455 "template-haskell >= 2.7\n"))
9456 #t)))))
9457 (inputs
9458 `(("ghc-base-compat" ,ghc-base-compat)
9459 ("ghc-hashable" ,ghc-hashable)
9460 ("ghc-regex-base" ,ghc-regex-base)
9461 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9462 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
9463 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
9464 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
9465 ("ghc-unordered-containers" ,ghc-unordered-containers)
9466 ("ghc-utf8-string" ,ghc-utf8-string)))
9467 (home-page "http://regex.uk")
9468 (synopsis "Toolkit for regex-base")
9469 (description
9470 "This package provides a regular expression toolkit for @code{regex-base}
9471with compile-time checking of regular expression syntax, data types for
9472matches and captures, a text replacement toolkit, portable options, high-level
9473AWK-like tools for building text processing apps, regular expression macros
9474with parsers and test bench, comprehensive documentation, tutorials and
9475copious examples.")
9476 (license license:bsd-3)))
9477
9478(define-public ghc-regex-applicative
9479 (package
9480 (name "ghc-regex-applicative")
30f60e42 9481 (version "0.3.3.1")
dddbc90c
RV
9482 (source
9483 (origin
9484 (method url-fetch)
9485 (uri (string-append
9486 "https://hackage.haskell.org/package/regex-applicative/"
9487 "regex-applicative-" version ".tar.gz"))
9488 (sha256
9489 (base32
30f60e42 9490 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
9491 (build-system haskell-build-system)
9492 (inputs
9493 `(("ghc-smallcheck" ,ghc-smallcheck)
9494 ("ghc-tasty" ,ghc-tasty)
9495 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9496 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9497 (home-page "https://github.com/feuerbach/regex-applicative")
9498 (synopsis "Regex-based parsing with applicative interface")
9499 (description
9500 "@code{regex-applicative} is a Haskell library for parsing using
9501regular expressions. Parsers can be built using Applicative interface.")
9502 (license license:expat)))
9503
9504(define-public ghc-regex-base
9505 (package
9506 (name "ghc-regex-base")
9507 (version "0.93.2")
9508 (source
9509 (origin
9510 (method url-fetch)
9511 (uri (string-append
9512 "https://hackage.haskell.org/package/regex-base/regex-base-"
9513 version
9514 ".tar.gz"))
9515 (sha256
9516 (base32
9517 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
9518 (build-system haskell-build-system)
9519 (home-page
9520 "https://sourceforge.net/projects/lazy-regex")
9521 (synopsis "Replaces/Enhances Text.Regex")
9522 (description "@code{Text.Regex.Base} provides the interface API for
9523regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
9524 (license license:bsd-3)))
9525
9526(define-public ghc-regex-compat
9527 (package
9528 (name "ghc-regex-compat")
9529 (version "0.95.1")
9530 (source
9531 (origin
9532 (method url-fetch)
9533 (uri (string-append
9534 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
9535 version
9536 ".tar.gz"))
9537 (sha256
9538 (base32
9539 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
9540 (build-system haskell-build-system)
9541 (inputs
9542 `(("ghc-regex-base" ,ghc-regex-base)
9543 ("ghc-regex-posix" ,ghc-regex-posix)))
9544 (home-page "https://sourceforge.net/projects/lazy-regex")
9545 (synopsis "Replaces/Enhances Text.Regex")
9546 (description "This library provides one module layer over
9547@code{regex-posix} to replace @code{Text.Regex}.")
9548 (license license:bsd-3)))
9549
9550(define-public ghc-regex-compat-tdfa
9551 (package
9552 (name "ghc-regex-compat-tdfa")
9553 (version "0.95.1.4")
9554 (source
9555 (origin
9556 (method url-fetch)
9557 (uri (string-append
9558 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
9559 version ".tar.gz"))
9560 (sha256
9561 (base32
9562 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
9563 (build-system haskell-build-system)
9564 (inputs
9565 `(("ghc-regex-base" ,ghc-regex-base)
9566 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9567 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
9568 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
9569 (description
9570 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
9571@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
9572This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
9573this problem.")
9574 (license license:bsd-3)))
9575
9576(define-public ghc-regex-pcre-builtin
9577 (package
9578 (name "ghc-regex-pcre-builtin")
ee946143 9579 (version "0.94.5.8.8.35")
dddbc90c
RV
9580 (source (origin
9581 (method url-fetch)
9582 (uri (string-append "https://hackage.haskell.org/package/"
9583 "regex-pcre-builtin/regex-pcre-builtin-"
9584 version ".tar.gz"))
9585 (sha256
9586 (base32
ee946143 9587 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
9588 (build-system haskell-build-system)
9589 (inputs
9590 `(("ghc-regex-base" ,ghc-regex-base)))
9591 (home-page "https://hackage.haskell.org/package/regex-pcre")
9592 (synopsis "Enhancement of the builtin Text.Regex library")
9593 (description
9594 "This package is an enhancement of the @code{Text.Regex} library,
9595providing the PCRE backend to accompany regex-base, with bundled code from
9596@url{https://www.pcre.org}.")
9597 (license license:bsd-3)))
9598
9599(define-public ghc-regex-posix
9600 (package
9601 (name "ghc-regex-posix")
9602 (version "0.95.2")
9603 (source
9604 (origin
9605 (method url-fetch)
9606 (uri (string-append
9607 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
9608 version
9609 ".tar.gz"))
9610 (sha256
9611 (base32
9612 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
9613 (build-system haskell-build-system)
9614 (inputs
9615 `(("ghc-regex-base" ,ghc-regex-base)))
9616 (home-page "https://sourceforge.net/projects/lazy-regex")
9617 (synopsis "POSIX regular expressions for Haskell")
9618 (description "This library provides the POSIX regex backend used by the
9619Haskell library @code{regex-base}.")
9620 (license license:bsd-3)))
9621
9622(define-public ghc-regex-tdfa
9623 (package
9624 (name "ghc-regex-tdfa")
ce684db0 9625 (version "1.2.3.2")
dddbc90c
RV
9626 (source
9627 (origin
9628 (method url-fetch)
9629 (uri (string-append
9630 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
9631 version ".tar.gz"))
9632 (sha256
9633 (base32
ce684db0 9634 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
9635 (build-system haskell-build-system)
9636 (inputs
9637 `(("ghc-regex-base" ,ghc-regex-base)))
9638 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
9639 (synopsis "POSIX extended regular expressions in Haskell.")
9640 (description
9641 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
9642extended regular expressions. It is a \"tagged\" DFA regex engine. It is
9643inspired by libtre.")
9644 (license license:bsd-3)))
9645
9646(define-public ghc-regex-tdfa-text
9647 (package
9648 (name "ghc-regex-tdfa-text")
9649 (version "1.0.0.3")
9650 (source
9651 (origin
9652 (method url-fetch)
9653 (uri (string-append
9654 "https://hackage.haskell.org/package/regex-tdfa-text/"
9655 "regex-tdfa-text-" version ".tar.gz"))
9656 (sha256
9657 (base32
9658 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
9659 (build-system haskell-build-system)
9660 (inputs
9661 `(("ghc-regex-base" ,ghc-regex-base)
9662 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9663 (home-page
3ef91e15 9664 "https://hackage.haskell.org/package/regex-tdfa-text")
dddbc90c
RV
9665 (synopsis "Text interface for regex-tdfa")
9666 (description
9667 "This provides an extra text interface for regex-tdfa.")
9668 (license license:bsd-3)))
9669
9670(define-public ghc-rerebase
9671 (package
9672 (name "ghc-rerebase")
cdec7b8c 9673 (version "1.3.1.1")
dddbc90c
RV
9674 (source
9675 (origin
9676 (method url-fetch)
9677 (uri (string-append
9678 "https://hackage.haskell.org/package/rerebase/rerebase-"
9679 version ".tar.gz"))
9680 (sha256
9681 (base32
cdec7b8c 9682 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
9683 (build-system haskell-build-system)
9684 (inputs
9685 `(("ghc-rebase" ,ghc-rebase)))
9686 (home-page "https://github.com/nikita-volkov/rerebase")
9687 (synopsis "Reexports from ``base'' with many other standard libraries")
9688 (description "A rich drop-in replacement for @code{base}. For details and
9689documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
9690the project's home page}.")
9691 (license license:expat)))
9692
9693(define-public ghc-resolv
9694 (package
9695 (name "ghc-resolv")
87309478 9696 (version "0.1.1.2")
dddbc90c
RV
9697 (source
9698 (origin
9699 (method url-fetch)
9700 (uri (string-append
9701 "https://hackage.haskell.org/package/resolv/resolv-"
9702 version ".tar.gz"))
9703 (sha256
9704 (base32
87309478 9705 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
dddbc90c
RV
9706 (build-system haskell-build-system)
9707 (arguments
87309478
TS
9708 `(#:phases
9709 (modify-phases %standard-phases
9710 (add-before 'configure 'update-constraints
9711 (lambda _
9712 (substitute* "resolv.cabal"
9713 (("tasty >= 1\\.1 && < 1\\.2")
9714 "tasty >= 1.1 && < 1.3"))
9715 #t)))))
dddbc90c
RV
9716 (inputs
9717 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
87309478
TS
9718 (native-inputs
9719 `(("ghc-tasty" ,ghc-tasty)
9720 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
9721 (home-page "https://github.com/haskell/hackage-security")
9722 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
9723 (description "This package implements an API for accessing the
9724@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
9725resolver service via the standard @code{libresolv} system library (whose
9726API is often available directly via the standard @code{libc} C library) on
9727Unix systems.")
9728 (license license:gpl3)))
9729
9730(define-public ghc-resource-pool
9731 (package
9732 (name "ghc-resource-pool")
9733 (version "0.2.3.2")
9734 (source
9735 (origin
9736 (method url-fetch)
9737 (uri (string-append "https://hackage.haskell.org/package/"
9738 "resource-pool-" version "/"
9739 "resource-pool-" version ".tar.gz"))
9740 (sha256
9741 (base32
9742 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
9743 (build-system haskell-build-system)
9744 (inputs `(("ghc-hashable" ,ghc-hashable)
9745 ("ghc-monad-control" ,ghc-monad-control)
9746 ("ghc-transformers-base" ,ghc-transformers-base)
9747 ("ghc-vector" ,ghc-vector)))
9748 (home-page "https://github.com/bos/pool")
9749 (synopsis "Striped resource pooling implementation in Haskell")
9750 (description "This Haskell package provides striped pooling abstraction
9751for managing flexibly-sized collections of resources such as database
9752connections.")
9753 (license license:bsd-3)))
9754
9755(define-public ghc-resourcet
9756 (package
9757 (name "ghc-resourcet")
9ac341ac 9758 (version "1.2.2")
dddbc90c
RV
9759 (source
9760 (origin
9761 (method url-fetch)
9762 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
9763 "resourcet-" version ".tar.gz"))
9764 (sha256
9765 (base32
9ac341ac 9766 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
9767 (build-system haskell-build-system)
9768 (inputs
9769 `(("ghc-transformers-base" ,ghc-transformers-base)
9770 ("ghc-monad-control" ,ghc-monad-control)
9771 ("ghc-transformers-compat" ,ghc-transformers-compat)
9772 ("ghc-mmorph" ,ghc-mmorph)
9773 ("ghc-exceptions" ,ghc-exceptions)
9774 ("ghc-unliftio-core" ,ghc-unliftio-core)))
9775 (native-inputs
9776 `(("ghc-lifted-base" ,ghc-lifted-base)
9777 ("ghc-hspec" ,ghc-hspec)))
9778 (home-page "https://github.com/snoyberg/conduit")
9779 (synopsis "Deterministic allocation and freeing of scarce resources")
9780 (description "ResourceT is a monad transformer which creates a region of
9781code where you can safely allocate resources.")
9782 (license license:bsd-3)))
9783
b9debc37
TS
9784(define-public ghc-retry
9785 (package
9786 (name "ghc-retry")
9787 (version "0.8.1.0")
9788 (source
9789 (origin
9790 (method url-fetch)
9791 (uri (string-append "https://hackage.haskell.org/package/"
9792 "retry/retry-" version ".tar.gz"))
9793 (sha256
9794 (base32
9795 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
9796 (build-system haskell-build-system)
9797 (inputs
9798 `(("ghc-exceptions" ,ghc-exceptions)
9799 ("ghc-random" ,ghc-random)))
9800 (native-inputs
9801 `(("ghc-hunit" ,ghc-hunit)
9802 ("ghc-tasty" ,ghc-tasty)
9803 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9804 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
9805 ("ghc-hedgehog" ,ghc-hedgehog)))
9806 (home-page "http://github.com/Soostone/retry")
9807 (synopsis "Retry combinators for monadic actions that may fail")
9808 (description "This package exposes combinators that can wrap
9809arbitrary monadic actions. They run the action and potentially retry
9810running it with some configurable delay for a configurable number of
9811times. The purpose is to make it easier to work with IO and especially
9812network IO actions that often experience temporary failure and warrant
9813retrying of the original action. For example, a database query may time
9814out for a while, in which case we should hang back for a bit and retry
9815the query instead of simply raising an exception.")
9816 (license license:bsd-3)))
9817
dddbc90c
RV
9818(define-public ghc-rfc5051
9819 (package
9820 (name "ghc-rfc5051")
ec42ab7c 9821 (version "0.1.0.4")
dddbc90c
RV
9822 (source
9823 (origin
9824 (method url-fetch)
9825 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
9826 "rfc5051-" version ".tar.gz"))
9827 (sha256
9828 (base32
ec42ab7c 9829 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
9830 (build-system haskell-build-system)
9831 (home-page "https://hackage.haskell.org/package/rfc5051")
9832 (synopsis "Simple unicode collation as per RFC5051")
9833 (description
9834 "This library implements @code{unicode-casemap}, the simple, non
9835locale-sensitive unicode collation algorithm described in RFC 5051. Proper
9836unicode collation can be done using @code{text-icu}, but that is a big
9837dependency that depends on a large C library, and @code{rfc5051} might be
9838better for some purposes.")
9839 (license license:bsd-3)))
9840
9841(define-public ghc-rio
9842 (package
9843 (name "ghc-rio")
8bda2fa7 9844 (version "0.1.12.0")
dddbc90c
RV
9845 (source
9846 (origin
9847 (method url-fetch)
9848 (uri (string-append
9849 "https://hackage.haskell.org/package/rio/rio-"
9850 version ".tar.gz"))
9851 (sha256
9852 (base32
8bda2fa7 9853 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
9854 (build-system haskell-build-system)
9855 (inputs
9856 `(("ghc-exceptions" ,ghc-exceptions)
9857 ("ghc-hashable" ,ghc-hashable)
9858 ("ghc-microlens" ,ghc-microlens)
9859 ("ghc-primitive" ,ghc-primitive)
9860 ("ghc-typed-process" ,ghc-typed-process)
9861 ("ghc-unliftio" ,ghc-unliftio)
9862 ("ghc-unordered-containers" ,ghc-unordered-containers)
9863 ("ghc-vector" ,ghc-vector)))
9864 (native-inputs
9865 `(("ghc-hspec" ,ghc-hspec)
9866 ("hspec-discover" ,hspec-discover)))
9867 (home-page "https://github.com/commercialhaskell/rio#readme")
9868 (synopsis "A standard library for Haskell")
9869 (description "This package works as a prelude replacement for Haskell,
9870providing more functionality and types out of the box than the standard
9871prelude (such as common data types like @code{ByteString} and
9872@code{Text}), as well as removing common ``gotchas'', like partial
9873functions and lazy I/O. The guiding principle here is:
9874@itemize
9875@item If something is safe to use in general and has no expected naming
9876conflicts, expose it.
9877@item If something should not always be used, or has naming conflicts,
9878expose it from another module in the hierarchy.
9879@end itemize")
9880 (license license:expat)))
9881
9882(define-public ghc-safe
9883 (package
9884 (name "ghc-safe")
9885 (version "0.3.17")
9886 (source
9887 (origin
9888 (method url-fetch)
9889 (uri (string-append
9890 "https://hackage.haskell.org/package/safe/safe-"
9891 version
9892 ".tar.gz"))
9893 (sha256
9894 (base32
9895 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
9896 (build-system haskell-build-system)
9897 (native-inputs
9898 `(("ghc-quickcheck" ,ghc-quickcheck)))
9899 (home-page "https://github.com/ndmitchell/safe#readme")
9900 (synopsis "Library of safe (exception free) functions")
9901 (description "This library provides wrappers around @code{Prelude} and
9902@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
9903exceptions.")
9904 (license license:bsd-3)))
9905
9906(define-public ghc-safe-exceptions
9907 (package
9908 (name "ghc-safe-exceptions")
9909 (version "0.1.7.0")
9910 (source
9911 (origin
9912 (method url-fetch)
9913 (uri (string-append "https://hackage.haskell.org/package/"
9914 "safe-exceptions/safe-exceptions-"
9915 version ".tar.gz"))
9916 (sha256
9917 (base32
9918 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
9919 (build-system haskell-build-system)
9920 (arguments
9921 '(#:cabal-revision
9922 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
9923 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
9924 (native-inputs
9925 `(("ghc-hspec" ,ghc-hspec)
9926 ("ghc-void" ,ghc-void)
9927 ("hspec-discover" ,hspec-discover)))
9928 (home-page "https://github.com/fpco/safe-exceptions")
9929 (synopsis "Safe, consistent, and easy exception handling")
9930 (description "Runtime exceptions - as exposed in @code{base} by the
9931@code{Control.Exception} module - have long been an intimidating part of the
9932Haskell ecosystem. This package is intended to overcome this. It provides a
9933safe and simple API on top of the existing exception handling machinery. The
9934API is equivalent to the underlying implementation in terms of power but
9935encourages best practices to minimize the chances of getting the exception
9936handling wrong.")
9937 (license license:expat)))
9938
9939(define-public ghc-safeio
9940 (package
9941 (name "ghc-safeio")
9942 (version "0.0.5.0")
9943 (source
9944 (origin
9945 (method url-fetch)
9946 (uri (string-append "https://hackage.haskell.org/package/safeio/"
9947 "safeio-" version ".tar.gz"))
9948 (sha256
9949 (base32
9950 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
9951 (build-system haskell-build-system)
9952 (inputs
9953 `(("ghc-conduit" ,ghc-conduit)
9954 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
9955 ("ghc-exceptions" ,ghc-exceptions)
9956 ("ghc-resourcet" ,ghc-resourcet)))
9957 (native-inputs
9958 `(("ghc-hunit" ,ghc-hunit)
9959 ("ghc-test-framework" ,ghc-test-framework)
9960 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9961 ("ghc-test-framework-th" ,ghc-test-framework-th)))
9962 (home-page "https://github.com/luispedro/safeio")
9963 (synopsis "Write output to disk atomically")
9964 (description
9965 "This package implements utilities to perform atomic output so as to
9966avoid the problem of partial intermediate files.")
9967 (license license:expat)))
9968
9969(define-public ghc-safesemaphore
9970 (package
9971 (name "ghc-safesemaphore")
9972 (version "0.10.1")
9973 (source
9974 (origin
9975 (method url-fetch)
9976 (uri (string-append "https://hackage.haskell.org/package/"
9977 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
9978 (sha256
9979 (base32
9980 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
9981 (build-system haskell-build-system)
9982 (native-inputs
9983 `(("ghc-hunit" ,ghc-hunit)))
9984 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
9985 (synopsis "Exception safe semaphores")
9986 (description "This library provides exception safe semaphores that can be
9987used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
9988are not exception safe and can be broken by @code{killThread}.")
9989 (license license:bsd-3)))
9990
9991(define-public ghc-sandi
9992 (package
9993 (name "ghc-sandi")
b867c2b0 9994 (version "0.5")
dddbc90c
RV
9995 (source
9996 (origin
9997 (method url-fetch)
9998 (uri (string-append
9999 "https://hackage.haskell.org/package/sandi/sandi-"
10000 version ".tar.gz"))
10001 (sha256
10002 (base32
b867c2b0 10003 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
dddbc90c
RV
10004 (build-system haskell-build-system)
10005 (inputs
10006 `(("ghc-stringsearch" ,ghc-stringsearch)
10007 ("ghc-conduit" ,ghc-conduit)
10008 ("ghc-exceptions" ,ghc-exceptions)
10009 ("ghc-hunit" ,ghc-hunit)
10010 ("ghc-tasty" ,ghc-tasty)
10011 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10012 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10013 ("ghc-tasty-th" ,ghc-tasty-th)))
10014 (home-page "https://hackage.haskell.org/package/sandi")
10015 (synopsis "Data encoding library")
10016 (description "Reasonably fast data encoding library.")
10017 (license license:bsd-3)))
10018
4da75228
ASM
10019(define-public ghc-say
10020 (package
10021 (name "ghc-say")
10022 (version "0.1.0.1")
10023 (source
10024 (origin
10025 (method url-fetch)
10026 (uri (string-append
10027 "https://hackage.haskell.org/package/say/say-"
10028 version
10029 ".tar.gz"))
10030 (sha256
10031 (base32
10032 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
10033 (build-system haskell-build-system)
10034 (native-inputs
10035 `(("ghc-hspec" ,ghc-hspec)
10036 ("hspec-discover" ,hspec-discover)
10037 ("ghc-unliftio" ,ghc-unliftio)))
10038 (home-page "https://github.com/fpco/say")
10039 (synopsis
10040 "Send textual messages to a Handle in a thread-friendly way")
10041 (description
10042 "A thread safe API to write a line of textual data to a Handle, such
10043as sending some messages to the terminal - that has the following properties:
10044@itemize
10045@item Properly handle character encoding settings on the Handle
10046@item For reasonably sized messages, ensure that the entire message is written
10047 in one chunk to avoid interleaving data with other threads
10048@item Avoid unnecessary memory allocations and copies
10049@item Minimize locking.
10050@end itemize")
10051 (license license:expat)))
10052
dddbc90c
RV
10053(define-public ghc-scientific
10054 (package
10055 (name "ghc-scientific")
10056 (version "0.3.6.2")
10057 (source
10058 (origin
10059 (method url-fetch)
10060 (uri (string-append
10061 "https://hackage.haskell.org/package/scientific/scientific-"
10062 version
10063 ".tar.gz"))
10064 (sha256
10065 (base32
10066 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
10067 (build-system haskell-build-system)
10068 (inputs
10069 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
10070 ("ghc-hashable" ,ghc-hashable)
10071 ("ghc-primitive" ,ghc-primitive)))
10072 (native-inputs
10073 `(("ghc-tasty" ,ghc-tasty)
10074 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
10075 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10076 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10077 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10078 ("ghc-smallcheck" ,ghc-smallcheck)
10079 ("ghc-quickcheck" ,ghc-quickcheck)))
10080 (home-page "https://github.com/basvandijk/scientific")
10081 (synopsis "Numbers represented using scientific notation")
10082 (description "This package provides @code{Data.Scientific}, which provides
10083the number type @code{Scientific}. Scientific numbers are arbitrary precision
10084and space efficient. They are represented using
10085@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
10086notation}.")
10087 (license license:bsd-3)))
10088
10089(define-public ghc-scientific-bootstrap
10090 (package
10091 (inherit ghc-scientific)
10092 (name "ghc-scientific-bootstrap")
10093 (arguments `(#:tests? #f))
10094 (inputs
10095 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
10096 ("ghc-hashable" ,ghc-hashable)
10097 ("ghc-primitive" ,ghc-primitive)))
10098 (native-inputs '())
799d8d3c 10099 (properties '((hidden? #t)))))
dddbc90c
RV
10100
10101(define-public ghc-sdl
10102 (package
10103 (name "ghc-sdl")
10104 (version "0.6.7.0")
10105 (source
10106 (origin
10107 (method url-fetch)
10108 (uri (string-append
10109 "https://hackage.haskell.org/package/SDL/SDL-"
10110 version
10111 ".tar.gz"))
10112 (sha256
10113 (base32
10114 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
10115 (build-system haskell-build-system)
10116 (inputs
10117 `(("sdl" ,sdl)))
10118 (home-page "https://hackage.haskell.org/package/SDL")
10119 (synopsis "LibSDL for Haskell")
10120 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
10121multimedia library designed to provide low level access to audio, keyboard,
10122mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
10123by MPEG playback software, emulators, and many popular games, including the
10124award winning Linux port of \"Civilization: Call To Power.\"")
10125 (license license:bsd-3)))
10126
1874cdc1
RV
10127(define-public ghc-sdl2
10128 (package
10129 (name "ghc-sdl2")
145148ca 10130 (version "2.5.0.0")
1874cdc1
RV
10131 (source
10132 (origin
10133 (method url-fetch)
10134 (uri (string-append "https://hackage.haskell.org/package/"
10135 "sdl2/sdl2-" version ".tar.gz"))
10136 (sha256
10137 (base32
145148ca 10138 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
1874cdc1
RV
10139 (build-system haskell-build-system)
10140 (arguments '(#:tests? #f)) ; tests require graphical environment
10141 (inputs
10142 `(("ghc-exceptions" ,ghc-exceptions)
10143 ("ghc-linear" ,ghc-linear)
10144 ("ghc-statevar" ,ghc-statevar)
10145 ("ghc-vector" ,ghc-vector)
10146 ("sdl2" ,sdl2)))
10147 (native-inputs
10148 `(("ghc-weigh" ,ghc-weigh)
10149 ("pkg-config" ,pkg-config)))
35437dbf 10150 (home-page "https://hackage.haskell.org/package/sdl2")
1874cdc1
RV
10151 (synopsis "High- and low-level bindings to the SDL library")
10152 (description
10153 "This package contains bindings to the SDL 2 library, in both high- and
10154low-level forms. The @code{SDL} namespace contains high-level bindings, where
10155enumerations are split into sum types, and we perform automatic
10156error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
10157translation of the C API into Haskell FFI calls. As such, this does not
10158contain sum types nor error checking. Thus this namespace is suitable for
10159building your own abstraction over SDL, but is not recommended for day-to-day
10160programming.")
10161 (license license:bsd-3)))
10162
10163(define-public ghc-sdl2-image
10164 (package
10165 (name "ghc-sdl2-image")
10166 (version "2.0.0")
10167 (source
10168 (origin
10169 (method url-fetch)
10170 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
10171 "sdl2-image-" version ".tar.gz"))
10172 (sha256
10173 (base32
10174 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
10175 (build-system haskell-build-system)
10176 (inputs
10177 `(("ghc-sdl2" ,ghc-sdl2)
10178 ("sdl2-image" ,sdl2-image)))
10179 (native-inputs
10180 `(("pkg-config" ,pkg-config)))
3ef91e15 10181 (home-page "https://hackage.haskell.org/package/sdl2-image")
1874cdc1
RV
10182 (synopsis "Bindings to SDL2_image")
10183 (description "This package provides Haskell bindings to
10184@code{SDL2_image}.")
10185 (license license:expat)))
10186
10187(define-public ghc-sdl2-mixer
10188 (package
10189 (name "ghc-sdl2-mixer")
10190 (version "1.1.0")
10191 (source
10192 (origin
10193 (method url-fetch)
10194 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
10195 "sdl2-mixer-" version ".tar.gz"))
10196 (sha256
10197 (base32
10198 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
10199 (build-system haskell-build-system)
10200 (inputs
10201 `(("ghc-data-default-class" ,ghc-data-default-class)
10202 ("ghc-lifted-base" ,ghc-lifted-base)
10203 ("ghc-monad-control" ,ghc-monad-control)
10204 ("ghc-sdl2" ,ghc-sdl2)
10205 ("ghc-vector" ,ghc-vector)
10206 ("sdl2-mixer" ,sdl2-mixer)))
10207 (native-inputs
10208 `(("pkg-config" ,pkg-config)))
3ef91e15 10209 (home-page "https://hackage.haskell.org/package/sdl2-mixer")
1874cdc1
RV
10210 (synopsis "Bindings to SDL2 mixer")
10211 (description "This package provides Haskell bindings to
10212@code{SDL2_mixer}.")
10213 (license license:bsd-3)))
10214
dddbc90c
RV
10215(define-public ghc-sdl-image
10216 (package
10217 (name "ghc-sdl-image")
10218 (version "0.6.2.0")
10219 (source
10220 (origin
10221 (method url-fetch)
10222 (uri (string-append
10223 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
10224 version
10225 ".tar.gz"))
10226 (sha256
10227 (base32
10228 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
10229 (build-system haskell-build-system)
10230 (arguments
10231 `(#:configure-flags
10232 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
10233 (sdl-image-include (string-append sdl-image "/include/SDL")))
10234 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
10235 (inputs
10236 `(("ghc-sdl" ,ghc-sdl)
10237 ("sdl-image" ,sdl-image)))
10238 (home-page "https://hackage.haskell.org/package/SDL-image")
10239 (synopsis "Haskell bindings to libSDL_image")
10240 (description "SDL_image is an image file loading library. It loads images
10241as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
10242PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
10243 (license license:bsd-3)))
10244
10245(define-public ghc-sdl-mixer
10246 (package
10247 (name "ghc-sdl-mixer")
10248 (version "0.6.3.0")
10249 (source
10250 (origin
10251 (method url-fetch)
10252 (uri (string-append
10253 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
10254 version
10255 ".tar.gz"))
10256 (sha256
10257 (base32
10258 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
10259 (build-system haskell-build-system)
10260 (arguments
10261 `(#:configure-flags
10262 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
10263 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
10264 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
10265 (inputs
10266 `(("ghc-sdl" ,ghc-sdl)
10267 ("sdl-mixer" ,sdl-mixer)))
10268 (home-page "https://hackage.haskell.org/package/SDL-mixer")
10269 (synopsis "Haskell bindings to libSDL_mixer")
10270 (description "SDL_mixer is a sample multi-channel audio mixer library. It
10271supports any number of simultaneously playing channels of 16 bit stereo audio,
10272plus a single channel of music, mixed by the popular MikMod MOD, Timidity
10273MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
10274 (license license:bsd-3)))
10275
10276(define-public ghc-securemem
10277 (package
10278 (name "ghc-securemem")
10279 (version "0.1.10")
10280 (source
10281 (origin
10282 (method url-fetch)
10283 (uri (string-append "https://hackage.haskell.org/package/"
10284 "securemem-" version "/"
10285 "securemem-" version ".tar.gz"))
10286 (sha256
10287 (base32
10288 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
10289 (build-system haskell-build-system)
10290 (inputs `(("ghc-byteable" ,ghc-byteable)
10291 ("ghc-memory" ,ghc-memory)))
10292 (home-page "https://github.com/vincenthz/hs-securemem")
10293 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
10294Haskell")
10295 (description "SecureMem is similar to ByteString, except that it provides
10296a memory chunk that will be auto-scrubbed after it run out of scope.")
10297 (license license:bsd-3)))
10298
10299(define-public ghc-semigroupoids
10300 (package
10301 (name "ghc-semigroupoids")
a8aaadf2 10302 (version "5.3.3")
dddbc90c
RV
10303 (source
10304 (origin
10305 (method url-fetch)
10306 (uri (string-append
10307 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
10308 version
10309 ".tar.gz"))
10310 (sha256
10311 (base32
a8aaadf2 10312 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 10313 (build-system haskell-build-system)
dddbc90c
RV
10314 (inputs
10315 `(("ghc-base-orphans" ,ghc-base-orphans)
10316 ("ghc-transformers-compat" ,ghc-transformers-compat)
10317 ("ghc-bifunctors" ,ghc-bifunctors)
10318 ("ghc-comonad" ,ghc-comonad)
10319 ("ghc-contravariant" ,ghc-contravariant)
10320 ("ghc-distributive" ,ghc-distributive)
10321 ("ghc-hashable" ,ghc-hashable)
10322 ("ghc-semigroups" ,ghc-semigroups)
10323 ("ghc-tagged" ,ghc-tagged)
10324 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10325 (native-inputs
10326 `(("cabal-doctest" ,cabal-doctest)
10327 ("ghc-doctest" ,ghc-doctest)))
10328 (home-page "https://github.com/ekmett/semigroupoids")
10329 (synopsis "Semigroupoids operations for Haskell")
10330 (description "This library provides a wide array of (semi)groupoids and
10331operations for working with them. A @code{Semigroupoid} is a @code{Category}
10332without the requirement of identity arrows for every object in the category.
10333A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
10334Finally, to work with these weaker structures it is beneficial to have
10335containers that can provide stronger guarantees about their contents, so
10336versions of @code{Traversable} and @code{Foldable} that can be folded with
10337just a @code{Semigroup} are added.")
10338 (license license:bsd-3)))
10339
10340(define-public ghc-semigroups
10341 (package
10342 (name "ghc-semigroups")
10343 (version "0.18.5")
10344 (source
10345 (origin
10346 (method url-fetch)
10347 (uri (string-append
10348 "https://hackage.haskell.org/package/semigroups/semigroups-"
10349 version
10350 ".tar.gz"))
10351 (sha256
10352 (base32
10353 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
10354 (build-system haskell-build-system)
10355 (inputs
10356 `(("ghc-nats" ,ghc-nats)
10357 ("ghc-tagged" ,ghc-tagged)
10358 ("ghc-unordered-containers" ,ghc-unordered-containers)
10359 ("ghc-hashable" ,ghc-hashable)))
10360 (home-page "https://github.com/ekmett/semigroups/")
10361 (synopsis "Semigroup operations for Haskell")
10362 (description "This package provides semigroups for Haskell. In
10363mathematics, a semigroup is an algebraic structure consisting of a set
10364together with an associative binary operation. A semigroup generalizes a
10365monoid in that there might not exist an identity element. It
10366also (originally) generalized a group (a monoid with all inverses) to a type
10367where every element did not have to have an inverse, thus the name
10368semigroup.")
10369 (license license:bsd-3)))
10370
10371(define-public ghc-semigroups-bootstrap
10372 (package
10373 (inherit ghc-semigroups)
10374 (name "ghc-semigroups-bootstrap")
10375 (inputs
10376 `(("ghc-nats" ,ghc-nats-bootstrap)
10377 ("ghc-tagged" ,ghc-tagged)
10378 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
10379 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 10380 (properties '((hidden? #t)))))
dddbc90c
RV
10381
10382(define-public ghc-setenv
10383 (package
10384 (name "ghc-setenv")
10385 (version "0.1.1.3")
10386 (source
10387 (origin
10388 (method url-fetch)
10389 (uri (string-append
10390 "https://hackage.haskell.org/package/setenv/setenv-"
10391 version
10392 ".tar.gz"))
10393 (sha256
10394 (base32
10395 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
10396 (build-system haskell-build-system)
10397 (home-page "https://hackage.haskell.org/package/setenv")
10398 (synopsis "Library for setting environment variables")
10399 (description "This package provides a Haskell library for setting
10400environment variables.")
10401 (license license:expat)))
10402
10403(define-public ghc-setlocale
10404 (package
10405 (name "ghc-setlocale")
9d7cfc9b 10406 (version "1.0.0.9")
dddbc90c
RV
10407 (source (origin
10408 (method url-fetch)
10409 (uri (string-append
10410 "https://hackage.haskell.org/package/setlocale-"
10411 version "/setlocale-" version ".tar.gz"))
10412 (sha256
10413 (base32
9d7cfc9b 10414 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
10415 (build-system haskell-build-system)
10416 (home-page "https://hackage.haskell.org/package/setlocale")
10417 (synopsis "Haskell bindings to setlocale")
10418 (description "This package provides Haskell bindings to the
10419@code{setlocale} C function.")
10420 (license license:bsd-3)))
10421
10422(define-public ghc-shakespeare
10423 (package
10424 (name "ghc-shakespeare")
f680955f 10425 (version "2.0.22")
dddbc90c
RV
10426 (source
10427 (origin
10428 (method url-fetch)
10429 (uri (string-append "https://hackage.haskell.org/package/"
10430 "shakespeare-" version "/"
10431 "shakespeare-" version ".tar.gz"))
10432 (sha256
10433 (base32
f680955f 10434 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
10435 (build-system haskell-build-system)
10436 (inputs `(("ghc-aeson" ,ghc-aeson)
10437 ("ghc-blaze-markup" ,ghc-blaze-markup)
10438 ("ghc-blaze-html" ,ghc-blaze-html)
10439 ("ghc-exceptions" ,ghc-exceptions)
10440 ("ghc-vector" ,ghc-vector)
10441 ("ghc-unordered-containers" ,ghc-unordered-containers)
10442 ("ghc-scientific" ,ghc-scientific)))
10443 (native-inputs `(("ghc-hspec" ,ghc-hspec)
10444 ("ghc-hunit" ,ghc-hunit)
10445 ("hspec-discover" ,hspec-discover)))
10446 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
10447 (synopsis "Family of type-safe template languages for Haskell")
10448 (description "This Haskell package provides a family of type-safe
10449templates with simple variable interpolation. Shakespeare templates can
10450be used inline with a quasi-quoter or in an external file and it
10451interpolates variables according to the type being inserted.")
10452 (license license:expat)))
10453
10454(define-public ghc-shelly
10455 (package
10456 (name "ghc-shelly")
10457 (version "1.8.1")
10458 (source
10459 (origin
10460 (method url-fetch)
10461 (uri (string-append
10462 "https://hackage.haskell.org/package/shelly/shelly-"
10463 version ".tar.gz"))
10464 (sha256
10465 (base32
10466 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
10467 (build-system haskell-build-system)
10468 (inputs
10469 `(("ghc-unix-compat" ,ghc-unix-compat)
10470 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10471 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
10472 ("ghc-monad-control" ,ghc-monad-control)
10473 ("ghc-lifted-base" ,ghc-lifted-base)
10474 ("ghc-lifted-async" ,ghc-lifted-async)
10475 ("ghc-exceptions" ,ghc-exceptions)
10476 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
10477 ("ghc-async" ,ghc-async)
10478 ("ghc-transformers-base" ,ghc-transformers-base)
10479 ("ghc-hunit" ,ghc-hunit)
10480 ("ghc-hspec" ,ghc-hspec)
10481 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
10482 (home-page "https://github.com/yesodweb/Shelly.hs")
10483 (synopsis "Shell-like (systems) programming in Haskell")
10484 (description
10485 "Shelly provides convenient systems programming in Haskell, similar in
10486spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
10487 (license license:bsd-3)))
10488
10489(define-public ghc-silently
10490 (package
10491 (name "ghc-silently")
544bb369 10492 (version "1.2.5.1")
dddbc90c
RV
10493 (source
10494 (origin
10495 (method url-fetch)
10496 (uri (string-append
10497 "https://hackage.haskell.org/package/silently/silently-"
10498 version
10499 ".tar.gz"))
10500 (sha256
10501 (base32
544bb369 10502 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
10503 (build-system haskell-build-system)
10504 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
10505 ;; (inputs
10506 ;; `(("ghc-temporary" ,ghc-temporary)))
10507 (home-page "https://github.com/hspec/silently")
10508 (synopsis "Prevent writing to stdout")
10509 (description "This package provides functions to prevent or capture
10510writing to stdout and other handles.")
10511 (license license:bsd-3)))
10512
10513(define-public ghc-simple-reflect
10514 (package
10515 (name "ghc-simple-reflect")
10516 (version "0.3.3")
10517 (source
10518 (origin
10519 (method url-fetch)
10520 (uri (string-append
10521 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
10522 version
10523 ".tar.gz"))
10524 (sha256
10525 (base32
10526 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
10527 (build-system haskell-build-system)
10528 (home-page
10529 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
10530 (synopsis
10531 "Simple reflection of expressions containing variables")
10532 (description
10533 "This package allows simple reflection of expressions containing
10534variables. Reflection here means that a Haskell expression is turned into a
10535string. The primary aim of this package is teaching and understanding; there
10536are no options for manipulating the reflected expressions beyond showing
10537them.")
10538 (license license:bsd-3)))
10539
10540(define-public ghc-simple-sendfile
10541 (package
10542 (name "ghc-simple-sendfile")
08f54390 10543 (version "0.2.30")
dddbc90c
RV
10544 (source
10545 (origin
10546 (method url-fetch)
10547 (uri (string-append "https://hackage.haskell.org/package/"
10548 "simple-sendfile-" version "/"
10549 "simple-sendfile-" version ".tar.gz"))
10550 (sha256
10551 (base32
08f54390 10552 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
dddbc90c
RV
10553 (build-system haskell-build-system)
10554 (inputs
10555 `(("ghc-conduit" ,ghc-conduit)
10556 ("ghc-conduit-extra" ,ghc-conduit-extra)
10557 ("ghc-network" ,ghc-network)
10558 ("ghc-resourcet" ,ghc-resourcet)))
10559 (native-inputs
10560 `(("ghc-hspec" ,ghc-hspec)
10561 ("hspec-discover" ,hspec-discover)))
10562 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
10563 (synopsis "Cross platform library for the sendfile system call")
10564 (description "This library tries to call minimum system calls which
10565are the bottleneck of web servers.")
10566 (license license:bsd-3)))
10567
06966c05
TS
10568(define-public ghc-size-based
10569 (package
10570 (name "ghc-size-based")
10571 (version "0.1.2.0")
10572 (source
10573 (origin
10574 (method url-fetch)
10575 (uri (string-append "https://hackage.haskell.org/package/"
10576 "size-based/size-based-" version ".tar.gz"))
10577 (sha256
10578 (base32
10579 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
10580 (build-system haskell-build-system)
10581 (inputs
10582 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
10583 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
10584 ("ghc-semigroups" ,ghc-semigroups)))
10585 (arguments
10586 `(#:cabal-revision
10587 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
10588 (home-page "https://hackage.haskell.org/package/size-based")
10589 (synopsis "Sized functors for size-based enumerations")
10590 (description "This library provides a framework for size-based
10591enumerations.")
10592 (license license:bsd-3)))
10593
dddbc90c
RV
10594(define-public ghc-skylighting-core
10595 (package
10596 (name "ghc-skylighting-core")
1826c2a8 10597 (version "0.8.2.1")
dddbc90c
RV
10598 (source (origin
10599 (method url-fetch)
10600 (uri (string-append "https://hackage.haskell.org/package/"
10601 "skylighting-core/skylighting-core-"
10602 version ".tar.gz"))
10603 (sha256
10604 (base32
1826c2a8 10605 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
10606 (build-system haskell-build-system)
10607 (inputs
10608 `(("ghc-aeson" ,ghc-aeson)
10609 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10610 ("ghc-attoparsec" ,ghc-attoparsec)
10611 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
10612 ("ghc-blaze-html" ,ghc-blaze-html)
10613 ("ghc-case-insensitive" ,ghc-case-insensitive)
10614 ("ghc-colour" ,ghc-colour)
10615 ("ghc-hxt" ,ghc-hxt)
10616 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10617 ("ghc-safe" ,ghc-safe)
10618 ("ghc-utf8-string" ,ghc-utf8-string)))
10619 (native-inputs
10620 `(("ghc-diff" ,ghc-diff)
10621 ("ghc-hunit" ,ghc-hunit)
10622 ("ghc-pretty-show" ,ghc-pretty-show)
10623 ("ghc-quickcheck" ,ghc-quickcheck)
10624 ("ghc-tasty" ,ghc-tasty)
10625 ("ghc-tasty-golden" ,ghc-tasty-golden)
10626 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10627 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10628 (home-page "https://github.com/jgm/skylighting")
10629 (synopsis "Syntax highlighting library")
10630 (description "Skylighting is a syntax highlighting library with support
10631for over one hundred languages. It derives its tokenizers from XML syntax
10632definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
10633supported by that framework can be added. An optional command-line program is
10634provided. Skylighting is intended to be the successor to highlighting-kate.")
10635 (license license:gpl2)))
10636
10637(define-public ghc-skylighting
10638 (package
10639 (inherit ghc-skylighting-core)
10640 (name "ghc-skylighting")
36c940cf 10641 (version "0.8.2.1")
dddbc90c
RV
10642 (source (origin
10643 (method url-fetch)
10644 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
10645 version "/skylighting-" version ".tar.gz"))
10646 (sha256
10647 (base32
36c940cf 10648 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
10649 (inputs
10650 `(("ghc-skylighting-core" ,ghc-skylighting-core)
10651 ,@(package-inputs ghc-skylighting-core)))))
10652
10653(define-public ghc-smallcheck
10654 (package
10655 (name "ghc-smallcheck")
10656 (version "1.1.5")
10657 (source
10658 (origin
10659 (method url-fetch)
10660 (uri (string-append
10661 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
10662 version
10663 ".tar.gz"))
10664 (sha256
10665 (base32
10666 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
10667 (build-system haskell-build-system)
10668 (inputs
10669 `(("ghc-logict" ,ghc-logict)))
10670 (home-page
10671 "https://github.com/feuerbach/smallcheck")
10672 (synopsis "Property-based testing library")
10673 (description "SmallCheck is a testing library that allows to verify
10674properties for all test cases up to some depth. The test cases are generated
10675automatically by SmallCheck.")
10676 (license license:bsd-3)))
10677
10678(define-public ghc-socks
10679 (package
10680 (name "ghc-socks")
ab761e9d 10681 (version "0.6.1")
dddbc90c
RV
10682 (source (origin
10683 (method url-fetch)
10684 (uri (string-append "https://hackage.haskell.org/package/"
10685 "socks/socks-" version ".tar.gz"))
10686 (sha256
10687 (base32
ab761e9d 10688 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
10689 (build-system haskell-build-system)
10690 (inputs
10691 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 10692 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
10693 ("ghc-network" ,ghc-network)))
10694 (home-page "https://github.com/vincenthz/hs-socks")
10695 (synopsis "SOCKS proxy (version 5) implementation")
10696 (description
10697 "This library provides a SOCKS proxy (version 5) implementation.")
10698 (license license:bsd-3)))
10699
081d85d6
TS
10700(define-public ghc-sop-core
10701 (package
10702 (name "ghc-sop-core")
10703 (version "0.4.0.0")
10704 (source
10705 (origin
10706 (method url-fetch)
10707 (uri (string-append "https://hackage.haskell.org/package/"
10708 "sop-core/sop-core-" version ".tar.gz"))
10709 (sha256
10710 (base32
10711 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
10712 (build-system haskell-build-system)
3ef91e15 10713 (home-page "https://hackage.haskell.org/package/sop-core")
081d85d6
TS
10714 (synopsis "True Sums of Products")
10715 (description "This package provides an implementation of
10716@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
10717is the main module of this library and contains more detailed
10718documentation. The main use case of this package is to serve as the
10719core of @url{https://hackage.haskell.org/package/generics-sop,
10720generics-sop}.")
10721 (license license:bsd-3)))
10722
dddbc90c
RV
10723(define-public ghc-split
10724 (package
10725 (name "ghc-split")
10726 (version "0.2.3.3")
10727 (outputs '("out" "doc"))
10728 (source
10729 (origin
10730 (method url-fetch)
10731 (uri (string-append
10732 "https://hackage.haskell.org/package/split/split-"
10733 version
10734 ".tar.gz"))
10735 (sha256
10736 (base32
10737 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
10738 (build-system haskell-build-system)
9bbc21a7
TS
10739 (arguments
10740 `(#:cabal-revision
10741 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
10742 (native-inputs
10743 `(("ghc-quickcheck" ,ghc-quickcheck)))
10744 (home-page "https://hackage.haskell.org/package/split")
10745 (synopsis "Combinator library for splitting lists")
10746 (description "This package provides a collection of Haskell functions for
10747splitting lists into parts, akin to the @code{split} function found in several
10748mainstream languages.")
10749 (license license:bsd-3)))
10750
7799d17f 10751(define-public ghc-splitmix
49367c92 10752 (package
7799d17f 10753 (name "ghc-splitmix")
49367c92
TS
10754 (version "0.0.3")
10755 (source
10756 (origin
10757 (method url-fetch)
10758 (uri (string-append "https://hackage.haskell.org/package/"
10759 "splitmix/splitmix-" version ".tar.gz"))
10760 (sha256
10761 (base32
10762 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 10763 (build-system haskell-build-system)
49367c92
TS
10764 (inputs
10765 `(("ghc-random" ,ghc-random)))
7799d17f
TS
10766 (native-inputs
10767 `(("ghc-hunit" ,ghc-hunit)
10768 ("ghc-async" ,ghc-async)
10769 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
10770 ("ghc-tf-random" ,ghc-tf-random)
10771 ("ghc-vector" ,ghc-vector)))
92a79fee 10772 (home-page "https://hackage.haskell.org/package/splitmix")
49367c92
TS
10773 (synopsis "Fast and splittable pseudorandom number generator")
10774 (description "This package provides a Pure Haskell implementation of the
10775SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
10776pseudorandom number generator that is quite fast: 9 64-bit
10777arithmetic/logical operations per 64 bits generated. SplitMix is tested
10778with two standard statistical test suites (DieHarder and TestU01, this
10779implementation only using the former) and it appears to be adequate for
10780\"everyday\" use, such as Monte Carlo algorithms and randomized data
10781structures where speed is important. In particular, it @strong{should not
10782be used for cryptographic or security applications}, because generated
10783sequences of pseudorandom values are too predictable (the mixing functions
10784are easily inverted, and two successive outputs suffice to reconstruct the
10785internal state).")
10786 (license license:bsd-3)))
10787
7799d17f
TS
10788(define-public ghc-splitmix-bootstrap
10789 (package
10790 (inherit ghc-splitmix)
10791 (name "ghc-splitmix-bootstrap")
10792 (arguments `(#:tests? #f))
10793 (native-inputs '())
10794 (properties '((hidden? #t)))))
10795
dddbc90c
RV
10796(define-public ghc-statevar
10797 (package
10798 (name "ghc-statevar")
19419709 10799 (version "1.2")
dddbc90c
RV
10800 (source
10801 (origin
10802 (method url-fetch)
10803 (uri (string-append
10804 "https://hackage.haskell.org/package/StateVar/StateVar-"
10805 version
10806 ".tar.gz"))
10807 (sha256
10808 (base32
19419709 10809 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
10810 (build-system haskell-build-system)
10811 (home-page "https://hackage.haskell.org/package/StateVar")
10812 (synopsis "State variables for Haskell")
10813 (description "This package provides state variables, which are references
10814in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
10815 (license license:bsd-3)))
10816
10817(define-public ghc-statistics
10818 (package
10819 (name "ghc-statistics")
60e78e68 10820 (version "0.15.1.1")
dddbc90c
RV
10821 (source
10822 (origin
10823 (method url-fetch)
10824 (uri (string-append "https://hackage.haskell.org/package/"
10825 "statistics-" version "/"
10826 "statistics-" version ".tar.gz"))
10827 (sha256
10828 (base32
60e78e68 10829 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
10830 (build-system haskell-build-system)
10831 (arguments
60e78e68 10832 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
10833 #:tests? #f))
10834 (inputs
10835 `(("ghc-aeson" ,ghc-aeson)
60e78e68 10836 ("ghc-async" ,ghc-async)
dddbc90c 10837 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 10838 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
10839 ("ghc-math-functions" ,ghc-math-functions)
10840 ("ghc-monad-par" ,ghc-monad-par)
10841 ("ghc-mwc-random" ,ghc-mwc-random)
10842 ("ghc-primitive" ,ghc-primitive)
10843 ("ghc-vector" ,ghc-vector)
10844 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
10845 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
10846 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
10847 (native-inputs
10848 `(("ghc-hunit" ,ghc-hunit)
10849 ("ghc-quickcheck" ,ghc-quickcheck)
10850 ("ghc-ieee754" ,ghc-ieee754)
10851 ("ghc-test-framework" ,ghc-test-framework)
10852 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10853 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10854 (home-page "https://github.com/bos/mwc-random")
10855 (synopsis "Haskell library of statistical types, data, and functions")
10856 (description "This library provides a number of common functions
10857and types useful in statistics. We focus on high performance, numerical
10858robustness, and use of good algorithms. Where possible, we provide references
10859to the statistical literature.
10860
10861The library's facilities can be divided into four broad categories:
10862
10863@itemize
10864@item Working with widely used discrete and continuous probability
10865distributions. (There are dozens of exotic distributions in use; we focus
10866on the most common.)
10867
10868@item Computing with sample data: quantile estimation, kernel density
10869estimation, histograms, bootstrap methods, significance testing,
10870and regression and autocorrelation analysis.
10871
10872@item Random variate generation under several different distributions.
10873
10874@item Common statistical tests for significant differences between samples.
10875@end itemize")
10876 (license license:bsd-2)))
10877
10878(define-public ghc-stm-chans
10879 (package
10880 (name "ghc-stm-chans")
10881 (version "3.0.0.4")
10882 (source
10883 (origin
10884 (method url-fetch)
10885 (uri (string-append "https://hackage.haskell.org/package/"
10886 "stm-chans-" version "/"
10887 "stm-chans-" version ".tar.gz"))
10888 (sha256
10889 (base32
10890 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
10891 (build-system haskell-build-system)
10892 (home-page "https://hackage.haskell.org/package/stm-chans")
10893 (synopsis "Additional types of channels for ghc-stm")
10894 (description "This Haskell package offers a collection of channel types,
10895similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
10896features.")
10897 (license license:bsd-3)))
10898
10899(define-public ghc-stm-conduit
10900 (package
10901 (name "ghc-stm-conduit")
cd518e95 10902 (version "4.0.1")
dddbc90c
RV
10903 (source
10904 (origin
10905 (method url-fetch)
10906 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
10907 "stm-conduit-" version ".tar.gz"))
10908 (sha256
10909 (base32
cd518e95 10910 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
dddbc90c
RV
10911 (build-system haskell-build-system)
10912 (inputs
10913 `(("ghc-stm-chans" ,ghc-stm-chans)
10914 ("ghc-cereal" ,ghc-cereal)
10915 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
10916 ("ghc-conduit" ,ghc-conduit)
10917 ("ghc-conduit-extra" ,ghc-conduit-extra)
10918 ("ghc-exceptions" ,ghc-exceptions)
10919 ("ghc-resourcet" ,ghc-resourcet)
10920 ("ghc-async" ,ghc-async)
10921 ("ghc-monad-loops" ,ghc-monad-loops)
10922 ("ghc-unliftio" ,ghc-unliftio)))
10923 (native-inputs
10924 `(("ghc-doctest" ,ghc-doctest)
10925 ("ghc-quickcheck" ,ghc-quickcheck)
10926 ("ghc-hunit" ,ghc-hunit)
10927 ("ghc-test-framework" ,ghc-test-framework)
10928 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10929 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10930 (home-page "https://github.com/cgaebel/stm-conduit")
10931 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
10932 (description
10933 "This package provides two simple conduit wrappers around STM channels: a
10934source and a sink.")
10935 (license license:bsd-3)))
10936
10937(define-public ghc-stmonadtrans
10938 (package
10939 (name "ghc-stmonadtrans")
10940 (version "0.4.3")
10941 (source
10942 (origin
10943 (method url-fetch)
10944 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
10945 "/STMonadTrans-" version ".tar.gz"))
10946 (sha256
10947 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
10948 (build-system haskell-build-system)
10949 (home-page "https://hackage.haskell.org/package/STMonadTrans")
10950 (synopsis "Monad transformer version of the ST monad")
10951 (description
10952 "This package provides a monad transformer version of the @code{ST} monad
10953for strict state threads.")
10954 (license license:bsd-3)))
10955
10956(define-public ghc-storable-complex
10957 (package
10958 (name "ghc-storable-complex")
4a35e3c3 10959 (version "0.2.3.0")
dddbc90c
RV
10960 (source
10961 (origin
10962 (method url-fetch)
10963 (uri (string-append
10964 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
10965 version ".tar.gz"))
10966 (sha256
4a35e3c3 10967 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 10968 (build-system haskell-build-system)
4a35e3c3
TS
10969 (inputs
10970 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
10971 (home-page "https://github.com/cartazio/storable-complex")
10972 (synopsis "Haskell Storable instance for Complex")
10973 (description "This package provides a Haskell library including a
10974Storable instance for Complex which is binary compatible with C99, C++
10975and Fortran complex data types.")
10976 (license license:bsd-3)))
10977
ad80074a
JS
10978(define-public ghc-storable-record
10979 (package
10980 (name "ghc-storable-record")
10981 (version "0.0.4")
10982 (source
10983 (origin
10984 (method url-fetch)
10985 (uri
10986 (string-append
10987 "https://hackage.haskell.org/package/storable-record/"
10988 "storable-record-" version ".tar.gz"))
10989 (sha256
10990 (base32
10991 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
10992 (build-system haskell-build-system)
10993 (inputs
10994 `(("ghc-semigroups" ,ghc-semigroups)
10995 ("ghc-utility-ht" ,ghc-utility-ht)
10996 ("ghc-storablevector" ,ghc-storablevector)
10997 ("ghc-timeit" ,ghc-timeit)))
10998 (home-page "https://hackage.haskell.org/package/storable-record")
10999 (synopsis "Elegant definition of Storable instances for records")
11000 (description "With this package you can build a Storable instance of
11001a record type from Storable instances of its elements in an elegant way.
11002It does not do any magic, just a bit arithmetic to compute the right
11003offsets, that would be otherwise done manually or by a preprocessor like
11004C2HS. There is no guarantee that the generated memory layout is
11005compatible with that of a corresponding C struct. However, the module
11006generates the smallest layout that is possible with respect to the
11007alignment of the record elements.")
11008 (license license:bsd-3)))
11009
55f4c653
JS
11010(define-public ghc-storable-tuple
11011 (package
11012 (name "ghc-storable-tuple")
11013 (version "0.0.3.3")
11014 (source
11015 (origin
11016 (method url-fetch)
11017 (uri
11018 (string-append
11019 "https://hackage.haskell.org/package/storable-tuple/"
11020 "storable-tuple-" version ".tar.gz"))
11021 (sha256
11022 (base32
11023 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
11024 (build-system haskell-build-system)
11025 (inputs
11026 `(("ghc-storable-record" ,ghc-storable-record)
11027 ("ghc-utility-ht" ,ghc-utility-ht)
11028 ("ghc-base-orphans" ,ghc-base-orphans)))
11029 (home-page "https://hackage.haskell.org/package/storable-tuple")
11030 (synopsis "Storable instance for pairs and triples")
11031 (description "This package provides a Storable instance for pairs
11032and triples which should be binary compatible with C99 and C++. The
11033only purpose of this package is to provide a standard location for this
11034instance so that other packages needing this instance can play nicely
11035together.")
11036 (license license:bsd-3)))
11037
bc06ca45
JS
11038(define-public ghc-storablevector
11039 (package
11040 (name "ghc-storablevector")
11041 (version "0.2.13")
11042 (source
11043 (origin
11044 (method url-fetch)
11045 (uri
11046 (string-append
11047 "https://hackage.haskell.org/package/storablevector/storablevector-"
11048 version ".tar.gz"))
11049 (sha256
11050 (base32
11051 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
11052 (build-system haskell-build-system)
11053 (inputs
11054 `(("ghc-non-negative" ,ghc-non-negative)
11055 ("ghc-utility-ht" ,ghc-utility-ht)
11056 ("ghc-semigroups" ,ghc-semigroups)
11057 ("ghc-unsafe" ,ghc-unsafe)
11058 ("ghc-quickcheck" ,ghc-quickcheck)
11059 ("ghc-syb" ,ghc-syb)))
11060 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
11061 (synopsis "Fast, packed, strict storable arrays with a list interface")
11062 (description "This library provides fast, packed, strict storable
11063arrays with a list interface, a chunky lazy list interface with variable
11064chunk size and an interface for write access via the ST monad. This is
11065much like bytestring and binary but can be used for every
11066@code{Foreign.Storable.Storable} type. See also
11067@url{http://hackage.haskell.org/package/vector}, a library with a
11068similar intention.
11069
11070This library does not do advanced fusion optimization, since especially
11071for lazy vectors this would either be incorrect or not applicable. See
11072@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
11073a library that provides fusion with lazy lists.")
11074 (license license:bsd-3)))
11075
dddbc90c
RV
11076(define-public ghc-streaming-commons
11077 (package
11078 (name "ghc-streaming-commons")
11079 (version "0.2.1.1")
11080 (source
11081 (origin
11082 (method url-fetch)
11083 (uri (string-append "https://hackage.haskell.org/package/"
11084 "streaming-commons/streaming-commons-"
11085 version ".tar.gz"))
11086 (sha256
11087 (base32
11088 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
11089 (build-system haskell-build-system)
11090 (inputs
11091 `(("ghc-async" ,ghc-async)
11092 ("ghc-blaze-builder" ,ghc-blaze-builder)
11093 ("ghc-network" ,ghc-network)
11094 ("ghc-random" ,ghc-random)
11095 ("ghc-zlib" ,ghc-zlib)))
11096 (native-inputs
11097 `(("ghc-quickcheck" ,ghc-quickcheck)
11098 ("ghc-hspec" ,ghc-hspec)
11099 ("hspec-discover" ,hspec-discover)))
11100 (home-page "https://hackage.haskell.org/package/streaming-commons")
11101 (synopsis "Conduit and pipes needed by some streaming data libraries")
11102 (description "This package provides low-dependency functionality commonly
11103needed by various Haskell streaming data libraries, such as @code{conduit} and
11104@code{pipe}s.")
11105 (license license:expat)))
11106
11107(define-public ghc-strict
11108 (package
11109 (name "ghc-strict")
11110 (version "0.3.2")
11111 (source
11112 (origin
11113 (method url-fetch)
11114 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
11115 version ".tar.gz"))
11116 (sha256
11117 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
11118 (build-system haskell-build-system)
11119 (home-page "https://hackage.haskell.org/package/strict")
11120 (synopsis "Strict data types and String IO")
11121 (description
11122 "This package provides strict versions of some standard Haskell data
11123types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
11124IO operations.")
11125 (license license:bsd-3)))
11126
11127(define-public ghc-stringbuilder
11128 (package
11129 (name "ghc-stringbuilder")
11130 (version "0.5.1")
11131 (source
11132 (origin
11133 (method url-fetch)
11134 (uri (string-append
11135 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
11136 version
11137 ".tar.gz"))
11138 (sha256
11139 (base32
11140 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
11141 (build-system haskell-build-system)
11142 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
11143 ; enabled
11144 (home-page "https://hackage.haskell.org/package/stringbuilder")
11145 (synopsis "Writer monad for multi-line string literals")
11146 (description "This package provides a writer monad for multi-line string
11147literals.")
11148 (license license:expat)))
11149
11150(define-public ghc-string-qq
11151 (package
11152 (name "ghc-string-qq")
4d6fddc3 11153 (version "0.0.4")
dddbc90c
RV
11154 (source
11155 (origin
11156 (method url-fetch)
11157 (uri (string-append
11158 "https://hackage.haskell.org/package/string-qq/string-qq-"
11159 version
11160 ".tar.gz"))
11161 (sha256
11162 (base32
4d6fddc3 11163 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 11164 (build-system haskell-build-system)
4d6fddc3
TS
11165 (native-inputs
11166 `(("ghc-hunit" ,ghc-hunit)))
3ef91e15 11167 (home-page "https://hackage.haskell.org/package/string-qq")
dddbc90c
RV
11168 (synopsis
11169 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
11170 (description
11171 "This package provides a quasiquoter for non-interpolated strings, texts
11172and bytestrings.")
11173 (license license:public-domain)))
11174
11175(define-public ghc-stringsearch
11176 (package
11177 (name "ghc-stringsearch")
11178 (version "0.3.6.6")
11179 (source
11180 (origin
11181 (method url-fetch)
11182 (uri (string-append
11183 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
11184 version
11185 ".tar.gz"))
11186 (sha256
11187 (base32
11188 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
11189 (build-system haskell-build-system)
e2303abb
TS
11190 (arguments
11191 `(#:cabal-revision
11192 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
11193 (home-page "https://bitbucket.org/dafis/stringsearch")
11194 (synopsis "Fast searching, splitting and replacing of ByteStrings")
11195 (description "This package provides several functions to quickly search
11196for substrings in strict or lazy @code{ByteStrings}. It also provides
11197functions for breaking or splitting on substrings and replacing all
11198occurrences of a substring (the first in case of overlaps) with another.")
11199 (license license:bsd-3)))
11200
dcf3f8f4
TS
11201(define-public ghc-svg-builder
11202 (package
11203 (name "ghc-svg-builder")
11204 (version "0.1.1")
11205 (source
11206 (origin
11207 (method url-fetch)
11208 (uri (string-append "https://hackage.haskell.org/package/"
11209 "svg-builder/svg-builder-" version ".tar.gz"))
11210 (sha256
11211 (base32
11212 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
11213 (build-system haskell-build-system)
11214 (inputs
11215 `(("ghc-blaze-builder" ,ghc-blaze-builder)
11216 ("ghc-hashable" ,ghc-hashable)
11217 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11218 (arguments
11219 `(#:cabal-revision
11220 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
11221 (home-page "https://github.com/diagrams/svg-builder.git")
11222 (synopsis "Domain-specific language for building Scalable Vector Graphics")
11223 (description "Easy-to-write domain-specific language (DSL) for
11224building Scalable Vector Graphics (SVG).")
11225 (license license:bsd-3)))
11226
dddbc90c
RV
11227(define-public ghc-syb
11228 (package
11229 (name "ghc-syb")
07d65eef 11230 (version "0.7.1")
dddbc90c
RV
11231 (outputs '("out" "doc"))
11232 (source
11233 (origin
11234 (method url-fetch)
11235 (uri (string-append
11236 "https://hackage.haskell.org/package/syb/syb-"
11237 version
11238 ".tar.gz"))
11239 (sha256
11240 (base32
07d65eef 11241 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
11242 (build-system haskell-build-system)
11243 (inputs
11244 `(("ghc-hunit" ,ghc-hunit)))
11245 (home-page
11246 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
11247 (synopsis "Scrap Your Boilerplate")
11248 (description "This package contains the generics system described in the
11249/Scrap Your Boilerplate/ papers (see
11250@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
11251defines the @code{Data} class of types permitting folding and unfolding of
11252constructor applications, instances of this class for primitive types, and a
11253variety of traversals.")
11254 (license license:bsd-3)))
11255
11256(define-public ghc-system-fileio
11257 (package
11258 (name "ghc-system-fileio")
dcfb99d4 11259 (version "0.3.16.4")
dddbc90c
RV
11260 (source
11261 (origin
11262 (method url-fetch)
11263 (uri (string-append
11264 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11265 version ".tar.gz"))
11266 (sha256
11267 (base32
dcfb99d4 11268 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 11269 (build-system haskell-build-system)
dcfb99d4
TS
11270 (arguments
11271 `(#:phases
11272 (modify-phases %standard-phases
11273 (add-before 'configure 'update-constraints
11274 (lambda _
11275 (substitute* "system-fileio.cabal"
11276 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
11277 #t)))))
dddbc90c
RV
11278 (inputs
11279 `(("ghc-system-filepath" ,ghc-system-filepath)
11280 ("ghc-chell" ,ghc-chell)
11281 ("ghc-temporary" ,ghc-temporary)))
11282 (home-page "https://github.com/fpco/haskell-filesystem")
11283 (synopsis "Consistent file system interaction across GHC versions")
11284 (description
11285 "This is a small wrapper around the directory, unix, and Win32 packages,
11286for use with system-filepath. It provides a consistent API to the various
11287versions of these packages distributed with different versions of GHC.
11288In particular, this library supports working with POSIX files that have paths
11289which can't be decoded in the current locale encoding.")
11290 (license license:expat)))
11291
11292;; See ghc-system-filepath-bootstrap. In addition this package depends on
11293;; ghc-system-filepath.
11294(define ghc-system-fileio-bootstrap
11295 (package
11296 (name "ghc-system-fileio-bootstrap")
11297 (version "0.3.16.3")
11298 (source
11299 (origin
11300 (method url-fetch)
11301 (uri (string-append
11302 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11303 version ".tar.gz"))
11304 (sha256
11305 (base32
11306 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
11307 (build-system haskell-build-system)
11308 (arguments
11309 `(#:tests? #f))
11310 (inputs
11311 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11312 ("ghc-temporary" ,ghc-temporary)))
11313 (home-page "https://github.com/fpco/haskell-filesystem")
11314 (synopsis "Consistent file system interaction across GHC versions")
11315 (description
11316 "This is a small wrapper around the directory, unix, and Win32 packages,
11317for use with system-filepath. It provides a consistent API to the various
11318versions of these packages distributed with different versions of GHC.
11319In particular, this library supports working with POSIX files that have paths
11320which can't be decoded in the current locale encoding.")
11321 (license license:expat)))
11322
11323
11324(define-public ghc-system-filepath
11325 (package
11326 (name "ghc-system-filepath")
11327 (version "0.4.14")
11328 (source
11329 (origin
11330 (method url-fetch)
11331 (uri (string-append
11332 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11333 version ".tar.gz"))
11334 (sha256
11335 (base32
11336 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11337 (build-system haskell-build-system)
11338 ;; FIXME: One of the tests fails:
11339 ;; [ FAIL ] tests.validity.posix
11340 ;; note: seed=7310214548328823169
11341 ;; *** Failed! Falsifiable (after 24 tests):
11342 ;; 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"
11343 (arguments `(#:tests? #f))
11344 (inputs
11345 `(("ghc-chell" ,ghc-chell)
11346 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
11347 ("ghc-quickcheck" ,ghc-quickcheck)))
11348 (home-page "https://github.com/fpco/haskell-filesystem")
11349 (synopsis "High-level, byte-based file and directory path manipulations")
11350 (description
11351 "Provides a FilePath datatype and utility functions for operating on it.
11352Unlike the filepath package, this package does not simply reuse String,
11353increasing type safety.")
11354 (license license:expat)))
11355
11356;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
11357;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
11358;; which depends on ghc-chell and ghc-chell-quickcheck.
11359;; Therefore we bootstrap it with tests disabled.
11360(define ghc-system-filepath-bootstrap
11361 (package
11362 (name "ghc-system-filepath-bootstrap")
11363 (version "0.4.14")
11364 (source
11365 (origin
11366 (method url-fetch)
11367 (uri (string-append
11368 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11369 version ".tar.gz"))
11370 (sha256
11371 (base32
11372 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11373 (build-system haskell-build-system)
11374 (arguments
11375 `(#:tests? #f))
11376 (inputs
11377 `(("ghc-quickcheck" ,ghc-quickcheck)))
11378 (home-page "https://github.com/fpco/haskell-filesystem")
11379 (synopsis "High-level, byte-based file and directory path manipulations")
11380 (description
11381 "Provides a FilePath datatype and utility functions for operating on it.
11382Unlike the filepath package, this package does not simply reuse String,
11383increasing type safety.")
11384 (license license:expat)))
11385
11386
11387(define-public ghc-tagged
11388 (package
11389 (name "ghc-tagged")
f0f3756a 11390 (version "0.8.6")
dddbc90c
RV
11391 (source
11392 (origin
11393 (method url-fetch)
11394 (uri (string-append
11395 "https://hackage.haskell.org/package/tagged/tagged-"
11396 version
11397 ".tar.gz"))
11398 (sha256
11399 (base32
f0f3756a 11400 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
11401 (build-system haskell-build-system)
11402 (arguments
11403 `(#:cabal-revision
f0f3756a 11404 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
11405 (inputs
11406 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
11407 (home-page "https://hackage.haskell.org/package/tagged")
11408 (synopsis "Haskell phantom types to avoid passing dummy arguments")
11409 (description "This library provides phantom types for Haskell 98, to avoid
11410having to unsafely pass dummy arguments.")
11411 (license license:bsd-3)))
11412
11413(define-public ghc-tar
11414 (package
11415 (name "ghc-tar")
ec83929f 11416 (version "0.5.1.1")
dddbc90c
RV
11417 (source
11418 (origin
11419 (method url-fetch)
11420 (uri (string-append
11421 "https://hackage.haskell.org/package/tar/tar-"
11422 version ".tar.gz"))
11423 (sha256
11424 (base32
ec83929f 11425 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
11426 (build-system haskell-build-system)
11427 ;; FIXME: 2/24 tests fail.
11428 (arguments `(#:tests? #f))
11429 (inputs
11430 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
11431 ("ghc-quickcheck" ,ghc-quickcheck)
11432 ("ghc-tasty" ,ghc-tasty)
11433 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11434 (home-page "https://hackage.haskell.org/package/tar")
11435 (synopsis "Reading, writing and manipulating \".tar\" archive files")
11436 (description
11437 "This library is for working with \\\"@.tar@\\\" archive files.
11438It can read and write a range of common variations of the tar archive format
11439including V7, POSIX USTAR and GNU formats. It provides support for packing and
11440unpacking portable archives. This makes it suitable for distribution but not
11441backup because details like file ownership and exact permissions are not
11442preserved. It also provides features for random access to archive content using
11443an index.")
11444 (license license:bsd-3)))
11445
f8d17902
TS
11446(define-public ghc-tar-conduit
11447 (package
11448 (name "ghc-tar-conduit")
11449 (version "0.3.2")
11450 (source
11451 (origin
11452 (method url-fetch)
11453 (uri (string-append "https://hackage.haskell.org/package/"
11454 "tar-conduit/tar-conduit-" version ".tar.gz"))
11455 (sha256
11456 (base32
11457 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
11458 (build-system haskell-build-system)
11459 (inputs
11460 `(("ghc-conduit" ,ghc-conduit)
11461 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
11462 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
11463 (native-inputs
11464 `(("ghc-quickcheck" ,ghc-quickcheck)
11465 ("ghc-conduit-extra" ,ghc-conduit-extra)
11466 ("ghc-hspec" ,ghc-hspec)
11467 ("ghc-hspec" ,ghc-hspec)
11468 ("ghc-weigh" ,ghc-weigh)))
11469 (home-page "https://github.com/snoyberg/tar-conduit#readme")
11470 (synopsis "Extract and create tar files using conduit for streaming")
11471 (description "This library provides a conduit-based, streaming
11472interface for extracting and creating tar files.")
11473 (license license:expat)))
11474
dddbc90c
RV
11475(define-public ghc-temporary
11476 (package
11477 (name "ghc-temporary")
11478 (version "1.3")
11479 (source
11480 (origin
11481 (method url-fetch)
11482 (uri (string-append
11483 "https://hackage.haskell.org/package/temporary/temporary-"
11484 version
11485 ".tar.gz"))
11486 (sha256
11487 (base32
11488 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
11489 (build-system haskell-build-system)
11490 (inputs
11491 `(("ghc-exceptions" ,ghc-exceptions)
11492 ("ghc-random" ,ghc-random)))
11493 (native-inputs
11494 `(("ghc-base-compat" ,ghc-base-compat)
11495 ("ghc-tasty" ,ghc-tasty)
11496 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11497 (home-page "https://www.github.com/batterseapower/temporary")
11498 (synopsis "Temporary file and directory support")
11499 (description "The functions for creating temporary files and directories
11500in the Haskelll base library are quite limited. This library just repackages
11501the Cabal implementations of its own temporary file and folder functions so
11502that you can use them without linking against Cabal or depending on it being
11503installed.")
11504 (license license:bsd-3)))
11505
11506(define-public ghc-temporary-rc
11507 (package
11508 (name "ghc-temporary-rc")
11509 (version "1.2.0.3")
11510 (source
11511 (origin
11512 (method url-fetch)
11513 (uri (string-append
11514 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
11515 version
11516 ".tar.gz"))
11517 (sha256
11518 (base32
11519 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
11520 (build-system haskell-build-system)
11521 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
11522 (home-page
11523 "https://www.github.com/feuerbach/temporary")
11524 (synopsis
11525 "Portable temporary file and directory support")
11526 (description
11527 "The functions for creating temporary files and directories in the base
11528library are quite limited. The unixutils package contains some good ones, but
11529they aren't portable to Windows. This library just repackages the Cabal
11530implementations of its own temporary file and folder functions so that you can
11531use them without linking against Cabal or depending on it being installed.
11532This is a better maintained fork of the \"temporary\" package.")
11533 (license license:bsd-3)))
11534
11535(define-public ghc-terminal-size
11536 (package
11537 (name "ghc-terminal-size")
11538 (version "0.3.2.1")
11539 (source (origin
11540 (method url-fetch)
11541 (uri (string-append
11542 "https://hackage.haskell.org/package/terminal-size/"
11543 "terminal-size-" version ".tar.gz"))
11544 (sha256
11545 (base32
11546 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
11547 (build-system haskell-build-system)
11548 (home-page "https://hackage.haskell.org/package/terminal-size")
11549 (synopsis "Get terminal window height and width")
11550 (description "Get terminal window height and width without ncurses
11551dependency.")
11552 (license license:bsd-3)))
11553
11554(define-public ghc-texmath
11555 (package
11556 (name "ghc-texmath")
7fec7e66 11557 (version "0.11.3")
dddbc90c
RV
11558 (source (origin
11559 (method url-fetch)
11560 (uri (string-append "https://hackage.haskell.org/package/"
11561 "texmath/texmath-" version ".tar.gz"))
11562 (sha256
11563 (base32
7fec7e66 11564 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
11565 (build-system haskell-build-system)
11566 (inputs
11567 `(("ghc-syb" ,ghc-syb)
11568 ("ghc-network-uri" ,ghc-network-uri)
11569 ("ghc-split" ,ghc-split)
11570 ("ghc-temporary" ,ghc-temporary)
11571 ("ghc-utf8-string" ,ghc-utf8-string)
11572 ("ghc-xml" ,ghc-xml)
11573 ("ghc-pandoc-types" ,ghc-pandoc-types)))
11574 (home-page "https://github.com/jgm/texmath")
11575 (synopsis "Conversion between formats used to represent mathematics")
11576 (description
11577 "The texmath library provides functions to read and write TeX math,
11578presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
11579Office). Support is also included for converting math formats to pandoc's
11580native format (allowing conversion, via pandoc, to a variety of different
11581markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
11582it can parse and apply LaTeX macros.")
11583 (license license:gpl2+)))
11584
11585(define-public ghc-text-binary
11586 (package
11587 (name "ghc-text-binary")
11588 (version "0.2.1.1")
11589 (source
11590 (origin
11591 (method url-fetch)
11592 (uri (string-append "https://hackage.haskell.org/package/"
11593 "text-binary/text-binary-"
11594 version ".tar.gz"))
11595 (sha256
11596 (base32
11597 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
11598 (build-system haskell-build-system)
11599 (home-page "https://github.com/kawu/text-binary")
11600 (synopsis "Binary instances for text types")
11601 (description
11602 "This package provides a compatibility layer providing @code{Binary}
11603instances for strict and lazy text types for versions older than 1.2.1 of the
11604text package.")
11605 (license license:bsd-2)))
11606
bdc877c4
TS
11607(define-public ghc-text-metrics
11608 (package
11609 (name "ghc-text-metrics")
11610 (version "0.3.0")
11611 (source
11612 (origin
11613 (method url-fetch)
11614 (uri (string-append "https://hackage.haskell.org/package/"
11615 "text-metrics/text-metrics-" version ".tar.gz"))
11616 (sha256
11617 (base32
11618 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
11619 (build-system haskell-build-system)
11620 (inputs
11621 `(("ghc-vector" ,ghc-vector)))
11622 (native-inputs
11623 `(("ghc-quickcheck" ,ghc-quickcheck)
11624 ("ghc-hspec" ,ghc-hspec)))
11625 (arguments
11626 `(#:cabal-revision
11627 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
11628 (home-page "https://github.com/mrkkrp/text-metrics")
11629 (synopsis "Calculate various string metrics efficiently")
11630 (description "This library provides tools to calculate various
11631string metrics efficiently.")
11632 (license license:bsd-3)))
11633
dddbc90c
RV
11634(define-public ghc-tf-random
11635 (package
11636 (name "ghc-tf-random")
11637 (version "0.5")
11638 (outputs '("out" "doc"))
11639 (source
11640 (origin
11641 (method url-fetch)
11642 (uri (string-append
11643 "https://hackage.haskell.org/package/tf-random/tf-random-"
11644 version
11645 ".tar.gz"))
11646 (sha256
11647 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
11648 (build-system haskell-build-system)
11649 (inputs
11650 `(("ghc-primitive" ,ghc-primitive)
11651 ("ghc-random" ,ghc-random)))
11652 (home-page "https://hackage.haskell.org/package/tf-random")
11653 (synopsis "High-quality splittable pseudorandom number generator")
11654 (description "This package contains an implementation of a high-quality
11655splittable pseudorandom number generator. The generator is based on a
11656cryptographic hash function built on top of the ThreeFish block cipher. See
11657the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
11658Hashing\" by Claessen, Pałka for details and the rationale of the design.")
11659 (license license:bsd-3)))
11660
11661(define-public ghc-th-abstraction
11662 (package
11663 (name "ghc-th-abstraction")
1188eabb 11664 (version "0.3.1.0")
dddbc90c
RV
11665 (source
11666 (origin
11667 (method url-fetch)
11668 (uri (string-append "https://hackage.haskell.org/package/"
11669 "th-abstraction/th-abstraction-"
11670 version ".tar.gz"))
11671 (sha256
11672 (base32
1188eabb 11673 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
11674 (build-system haskell-build-system)
11675 (home-page "https://github.com/glguy/th-abstraction")
11676 (synopsis "Nicer interface for reified information about data types")
11677 (description
11678 "This package normalizes variations in the interface for inspecting
11679datatype information via Template Haskell so that packages and support a
11680single, easier to use informational datatype while supporting many versions of
11681Template Haskell.")
11682 (license license:isc)))
11683
11684(define-public ghc-th-expand-syns
11685 (package
11686 (name "ghc-th-expand-syns")
8c766600 11687 (version "0.4.5.0")
dddbc90c
RV
11688 (source (origin
11689 (method url-fetch)
11690 (uri (string-append "https://hackage.haskell.org/package/"
11691 "th-expand-syns/th-expand-syns-"
11692 version ".tar.gz"))
11693 (sha256
11694 (base32
8c766600 11695 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
11696 (build-system haskell-build-system)
11697 (inputs
11698 `(("ghc-syb" ,ghc-syb)))
11699 (home-page "https://hackage.haskell.org/package/th-expand-syns")
11700 (synopsis "Expands type synonyms in Template Haskell ASTs")
11701 (description
11702 "This package enables users to expand type synonyms in Template Haskell
11703@dfn{abstract syntax trees} (ASTs).")
11704 (license license:bsd-3)))
11705
11706(define-public ghc-th-lift
11707 (package
11708 (name "ghc-th-lift")
bd76b20a 11709 (version "0.8.0.1")
dddbc90c
RV
11710 (source (origin
11711 (method url-fetch)
11712 (uri (string-append "https://hackage.haskell.org/package/"
11713 "th-lift/th-lift-" version ".tar.gz"))
11714 (sha256
11715 (base32
bd76b20a 11716 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
11717 (build-system haskell-build-system)
11718 (inputs
11719 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
11720 (home-page "https://github.com/mboes/th-lift")
11721 (synopsis "Derive Template Haskell's Lift class for datatypes")
11722 (description
11723 "This is a Haskell library to derive Template Haskell's Lift class for
11724datatypes.")
11725 (license license:bsd-3)))
11726
11727(define-public ghc-th-lift-instances
11728 (package
11729 (name "ghc-th-lift-instances")
d3db399e 11730 (version "0.1.14")
dddbc90c
RV
11731 (source
11732 (origin
11733 (method url-fetch)
11734 (uri (string-append "https://hackage.haskell.org/package/"
11735 "th-lift-instances/th-lift-instances-"
11736 version ".tar.gz"))
11737 (sha256
11738 (base32
d3db399e 11739 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
11740 (build-system haskell-build-system)
11741 (inputs
11742 `(("ghc-th-lift" ,ghc-th-lift)
11743 ("ghc-vector" ,ghc-vector)
11744 ("ghc-quickcheck" ,ghc-quickcheck)))
11745 (home-page "https://github.com/bennofs/th-lift-instances/")
11746 (synopsis "Lift instances for template-haskell for common data types.")
11747 (description "Most data types in the Haskell platform do not have Lift
11748instances. This package provides orphan instances for @code{containers},
11749@code{text}, @code{bytestring} and @code{vector}.")
11750 (license license:bsd-3)))
11751
11752(define-public ghc-th-orphans
11753 (package
11754 (name "ghc-th-orphans")
882b23e2 11755 (version "0.13.9")
dddbc90c
RV
11756 (source (origin
11757 (method url-fetch)
11758 (uri (string-append "https://hackage.haskell.org/package/"
11759 "th-orphans/th-orphans-" version ".tar.gz"))
11760 (sha256
11761 (base32
882b23e2 11762 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
11763 (build-system haskell-build-system)
11764 (inputs
11765 `(("ghc-th-lift" ,ghc-th-lift)
11766 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
11767 ("ghc-th-reify-many" ,ghc-th-reify-many)
11768 ("ghc-generic-deriving" ,ghc-generic-deriving)))
11769 (native-inputs
11770 `(("ghc-hspec" ,ghc-hspec)))
11771 (home-page "https://hackage.haskell.org/package/th-orphans")
11772 (synopsis "Orphan instances for TH datatypes")
11773 (description
11774 "This package provides orphan instances for Template Haskell datatypes. In particular,
11775instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
11776and @code{Eq} instances. These instances used to live in the haskell-src-meta
11777package, and that's where the version number started.")
11778 (license license:bsd-3)))
11779
11780(define-public ghc-threads
11781 (package
11782 (name "ghc-threads")
11783 (version "0.5.1.6")
11784 (source
11785 (origin
11786 (method url-fetch)
11787 (uri (string-append "https://hackage.haskell.org/package/"
11788 "threads/threads-" version ".tar.gz"))
11789 (sha256
11790 (base32
11791 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
11792 (build-system haskell-build-system)
11793 (native-inputs
11794 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
11795 ("ghc-hunit" ,ghc-hunit)
11796 ("ghc-test-framework" ,ghc-test-framework)
11797 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
11798 (home-page "https://github.com/basvandijk/threads")
11799 (synopsis "Fork threads and wait for their result")
11800 (description "This package provides functions to fork threads and
11801wait for their result, whether it's an exception or a normal value.
11802Besides waiting for the termination of a single thread this package also
11803provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
11804package is similar to the @code{threadmanager}, @code{async} and
11805@code{spawn} packages. The advantages of this package are:
11806
dddbc90c
RV
11807@itemize
11808@item Simpler API.
11809@item More efficient in both space and time.
11810@item No space-leak when forking a large number of threads.
11811@item Correct handling of asynchronous exceptions.
11812@item GHC specific functionality like @code{forkOn} and
11813@code{forkIOWithUnmask}.
11814@end itemize")
11815 (license license:bsd-3)))
11816
11817(define-public ghc-th-reify-many
11818 (package
11819 (name "ghc-th-reify-many")
32d4a6ae 11820 (version "0.1.9")
dddbc90c
RV
11821 (source (origin
11822 (method url-fetch)
11823 (uri (string-append "https://hackage.haskell.org/package/"
11824 "th-reify-many/th-reify-many-"
11825 version ".tar.gz"))
11826 (sha256
11827 (base32
32d4a6ae 11828 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
11829 (build-system haskell-build-system)
11830 (inputs
11831 `(("ghc-safe" ,ghc-safe)
11832 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
11833 (home-page "https://github.com/mgsloan/th-reify-many")
11834 (synopsis "Recurseively reify template haskell datatype info")
11835 (description
11836 "th-reify-many provides functions for recursively reifying top level
11837declarations. The main intended use case is for enumerating the names of
11838datatypes reachable from an initial datatype, and passing these names to some
11839function which generates instances.")
11840 (license license:bsd-3)))
11841
75cfc9a2
TS
11842(define-public ghc-time-compat
11843 (package
11844 (name "ghc-time-compat")
11845 (version "1.9.2.2")
11846 (source
11847 (origin
11848 (method url-fetch)
11849 (uri (string-append "https://hackage.haskell.org/package/"
11850 "time-compat/time-compat-" version ".tar.gz"))
11851 (sha256
11852 (base32
11853 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
11854 (build-system haskell-build-system)
11855 (inputs
11856 `(("ghc-base-orphans" ,ghc-base-orphans)))
11857 (native-inputs
11858 `(("ghc-hunit" ,ghc-hunit)
11859 ("ghc-base-compat" ,ghc-base-compat)
11860 ("ghc-quickcheck" ,ghc-quickcheck)
11861 ("ghc-tagged" ,ghc-tagged)
11862 ("ghc-tasty" ,ghc-tasty)
11863 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11864 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11865 (arguments
11866 `(#:cabal-revision
11867 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
11868 (home-page "https://github.com/phadej/time-compat")
11869 (synopsis "Compatibility package for time")
a8d73e69 11870 (description "This package tries to compat as many @code{time}
75cfc9a2
TS
11871features as possible.")
11872 (license license:bsd-3)))
11873
dddbc90c
RV
11874(define-public ghc-time-locale-compat
11875 (package
11876 (name "ghc-time-locale-compat")
11877 (version "0.1.1.5")
11878 (source
11879 (origin
11880 (method url-fetch)
11881 (uri (string-append "https://hackage.haskell.org/package/"
11882 "time-locale-compat/time-locale-compat-"
11883 version ".tar.gz"))
11884 (sha256
11885 (base32
11886 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
11887 (build-system haskell-build-system)
11888 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
11889 (home-page "https://github.com/khibino/haskell-time-locale-compat")
11890 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
11891 (description "This package contains a wrapped name module for
11892@code{TimeLocale}.")
11893 (license license:bsd-3)))
11894
c022a4d4
TS
11895(define-public ghc-time-manager
11896 (package
11897 (name "ghc-time-manager")
11898 (version "0.0.0")
11899 (source
11900 (origin
11901 (method url-fetch)
11902 (uri (string-append "https://hackage.haskell.org/package/"
11903 "time-manager/time-manager-" version ".tar.gz"))
11904 (sha256
11905 (base32
11906 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
11907 (build-system haskell-build-system)
11908 (inputs
11909 `(("ghc-auto-update" ,ghc-auto-update)))
11910 (home-page "https://github.com/yesodweb/wai")
11911 (synopsis "Scalable timer")
11912 (description "This library contains scalable timer functions provided by a
11913timer manager.")
11914 (license license:expat)))
11915
7bbfa392
JS
11916(define-public ghc-timeit
11917 (package
11918 (name "ghc-timeit")
11919 (version "2.0")
11920 (source
11921 (origin
11922 (method url-fetch)
11923 (uri
11924 (string-append
11925 "https://hackage.haskell.org/package/timeit/timeit-"
11926 version ".tar.gz"))
11927 (sha256
11928 (base32
11929 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
11930 (build-system haskell-build-system)
11931 (home-page "https://github.com/merijn/timeit")
11932 (synopsis "Time monadic computations with an IO base")
11933 (description "This package provides a simple wrapper to show the
11934used CPU time of monadic computation with an IO base.")
11935 (license license:bsd-3)))
11936
2ed8bd2d
JS
11937(define-public ghc-timezone-series
11938 (package
11939 (name "ghc-timezone-series")
11940 (version "0.1.9")
11941 (source
11942 (origin
11943 (method url-fetch)
11944 (uri
11945 (string-append
11946 "mirror://hackage/package/timezone-series/timezone-series-"
11947 version ".tar.gz"))
11948 (sha256
11949 (base32
11950 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
11951 (build-system haskell-build-system)
11952 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
11953 (synopsis "Enhanced timezone handling for Time")
11954 (description
11955 "This package endows @code{Data.Time}, from the time package, with several
11956data types and functions for enhanced processing of timezones. For one way to
11957create timezone series, see the ghc-timezone-olson package.")
11958 (license license:bsd-3)))
11959
ff0f5786
JS
11960(define-public ghc-timezone-olson
11961 (package
11962 (name "ghc-timezone-olson")
11963 (version "0.1.9")
11964 (source
11965 (origin
11966 (method url-fetch)
11967 (uri
11968 (string-append
11969 "mirror://hackage/package/timezone-olson/timezone-olson-"
11970 version ".tar.gz"))
11971 (sha256
11972 (base32
11973 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
11974 (build-system haskell-build-system)
11975 (inputs
11976 `(("ghc-timezone-series" ,ghc-timezone-series)
11977 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
11978 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
11979 (synopsis "Parser and renderer for binary Olson timezone files")
11980 (description
11981 "A parser and renderer for binary Olson timezone files whose format
11982is specified by the tzfile(5) man page on Unix-like systems. For more
11983information about this format, see
11984@url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
11985are provided for converting the parsed data into @code{TimeZoneSeries}
11986objects from the timezone-series package.")
11987 (license license:bsd-3)))
11988
dddbc90c
RV
11989(define-public ghc-tldr
11990 (package
11991 (name "ghc-tldr")
871ceb31 11992 (version "0.4.0.2")
dddbc90c
RV
11993 (source
11994 (origin
11995 (method url-fetch)
11996 (uri (string-append
11997 "https://hackage.haskell.org/package/tldr/tldr-"
11998 version
11999 ".tar.gz"))
12000 (sha256
12001 (base32
871ceb31 12002 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
12003 (build-system haskell-build-system)
12004 (inputs
12005 `(("ghc-cmark" ,ghc-cmark)
12006 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
12007 ("ghc-typed-process" ,ghc-typed-process)
12008 ("ghc-semigroups" ,ghc-semigroups)))
12009 (native-inputs
12010 `(("ghc-tasty" ,ghc-tasty)
12011 ("ghc-tasty-golden" ,ghc-tasty-golden)))
12012 (home-page "https://github.com/psibi/tldr-hs#readme")
12013 (synopsis "Haskell tldr client")
12014 (description "This package provides the @command{tldr} command and a
12015Haskell client library allowing users to update and view @code{tldr} pages
12016from a shell. The @code{tldr} pages are a community effort to simplify the
12017man pages with practical examples.")
12018 (license license:bsd-3)))
12019
12020(define-public ghc-transformers-base
12021 (package
12022 (name "ghc-transformers-base")
12023 (version "0.4.5.2")
12024 (source
12025 (origin
12026 (method url-fetch)
12027 (uri (string-append
12028 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
12029 version
12030 ".tar.gz"))
12031 (sha256
12032 (base32
12033 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
12034 (build-system haskell-build-system)
12035 (inputs
12036 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
12037 (home-page
12038 "https://hackage.haskell.org/package/transformers-compat")
12039 (synopsis
12040 "Backported transformer library")
12041 (description
12042 "Backported versions of types that were added to transformers in
12043transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
12044compatibility to run on old versions of the platform.")
12045 (license license:bsd-3)))
12046
12047(define-public ghc-transformers-compat
12048 (package
12049 (name "ghc-transformers-compat")
1c9c4d58 12050 (version "0.6.5")
dddbc90c
RV
12051 (source
12052 (origin
12053 (method url-fetch)
12054 (uri (string-append
12055 "https://hackage.haskell.org/package/transformers-compat"
12056 "/transformers-compat-" version ".tar.gz"))
12057 (sha256
12058 (base32
1c9c4d58 12059 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
12060 (build-system haskell-build-system)
12061 (home-page "https://github.com/ekmett/transformers-compat/")
12062 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
12063 (description "This package includes backported versions of types that were
12064added to transformers in transformers 0.3 and 0.4 for users who need strict
12065transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
12066but also need those types.")
12067 (license license:bsd-3)))
12068
12069(define-public ghc-tree-diff
12070 (package
12071 (name "ghc-tree-diff")
b4e26067 12072 (version "0.1")
dddbc90c
RV
12073 (source
12074 (origin
12075 (method url-fetch)
12076 (uri (string-append
12077 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
12078 version
12079 ".tar.gz"))
12080 (sha256
12081 (base32
b4e26067 12082 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
dddbc90c 12083 (build-system haskell-build-system)
dddbc90c
RV
12084 (inputs
12085 `(("ghc-aeson" ,ghc-aeson)
12086 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12087 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12088 ("ghc-base-compat" ,ghc-base-compat)
b4e26067 12089 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
dddbc90c 12090 ("ghc-hashable" ,ghc-hashable)
dddbc90c
RV
12091 ("ghc-parsers" ,ghc-parsers)
12092 ("ghc-quickcheck" ,ghc-quickcheck)
12093 ("ghc-scientific" ,ghc-scientific)
12094 ("ghc-tagged" ,ghc-tagged)
12095 ("ghc-unordered-containers" ,ghc-unordered-containers)
12096 ("ghc-uuid-types" ,ghc-uuid-types)
12097 ("ghc-vector" ,ghc-vector)))
12098 (native-inputs
12099 `(("ghc-base-compat" ,ghc-base-compat)
12100 ("ghc-quickcheck" ,ghc-quickcheck)
12101 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12102 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12103 ("ghc-trifecta" ,ghc-trifecta)
12104 ("ghc-tasty" ,ghc-tasty)
12105 ("ghc-tasty-golden" ,ghc-tasty-golden)
12106 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12107 (home-page "https://github.com/phadej/tree-diff")
12108 (synopsis "Compute difference between (expression) trees")
12109 (description "This Haskell library provides a function for computing
12110the difference between (expression) trees. It also provides a way to
12111compute the difference between arbitrary abstract datatypes (ADTs) using
12112@code{Generics}-derivable helpers.")
12113 (license license:bsd-3)))
12114
12115(define-public ghc-trifecta
12116 (package
12117 (name "ghc-trifecta")
12118 (version "2")
12119 (source (origin
12120 (method url-fetch)
12121 (uri (string-append
12122 "https://hackage.haskell.org/package/trifecta/"
12123 "trifecta-" version ".tar.gz"))
12124 (sha256
12125 (base32
12126 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
12127 (build-system haskell-build-system)
5ffe8cfd
TS
12128 (arguments
12129 `(#:tests? #f ; doctest suite fails to build on i686
12130 #:cabal-revision
12131 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
dddbc90c
RV
12132 (inputs
12133 `(("ghc-reducers" ,ghc-reducers)
12134 ("ghc-semigroups" ,ghc-semigroups)
12135 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12136 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12137 ("ghc-blaze-builder" ,ghc-blaze-builder)
12138 ("ghc-blaze-html" ,ghc-blaze-html)
12139 ("ghc-blaze-markup" ,ghc-blaze-markup)
12140 ("ghc-charset" ,ghc-charset)
12141 ("ghc-comonad" ,ghc-comonad)
12142 ("ghc-fingertree" ,ghc-fingertree)
12143 ("ghc-hashable" ,ghc-hashable)
12144 ("ghc-lens" ,ghc-lens)
12145 ("ghc-parsers" ,ghc-parsers)
12146 ("ghc-profunctors" ,ghc-profunctors)
12147 ("ghc-unordered-containers" ,ghc-unordered-containers)
12148 ("ghc-utf8-string" ,ghc-utf8-string)))
12149 (native-inputs
12150 `(("cabal-doctest" ,cabal-doctest)
12151 ("ghc-doctest" ,ghc-doctest)
12152 ("ghc-quickcheck" ,ghc-quickcheck)))
12153 (home-page "https://github.com/ekmett/trifecta/")
12154 (synopsis "Parser combinator library with convenient diagnostics")
12155 (description "Trifecta is a modern parser combinator library for Haskell,
12156with slicing and Clang-style colored diagnostics.")
12157 (license license:bsd-3)))
12158
12159(define-public ghc-tuple-th
12160 (package
12161 (name "ghc-tuple-th")
12162 (version "0.2.5")
12163 (source
12164 (origin
12165 (method url-fetch)
12166 (uri (string-append "https://hackage.haskell.org/package/"
12167 "tuple-th-" version "/"
12168 "tuple-th-" version ".tar.gz"))
12169 (sha256
12170 (base32
12171 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
12172 (build-system haskell-build-system)
12173 (home-page "https://github.com/DanielSchuessler/tuple-th")
12174 (synopsis "Generate utility functions for tuples of statically known size
12175for Haskell")
12176 (description "This Haskell package contains Template Haskell functions for
12177generating functions similar to those in @code{Data.List} for tuples of
12178statically known size.")
12179 (license license:bsd-3)))
12180
12181(define-public ghc-typed-process
12182 (package
12183 (name "ghc-typed-process")
72fb84a5 12184 (version "0.2.6.0")
dddbc90c
RV
12185 (source
12186 (origin
12187 (method url-fetch)
12188 (uri (string-append "https://hackage.haskell.org/package/"
12189 "typed-process/typed-process-"
12190 version ".tar.gz"))
12191 (sha256
12192 (base32
72fb84a5 12193 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
12194 (build-system haskell-build-system)
12195 (inputs
72fb84a5
TS
12196 `(("ghc-async" ,ghc-async)
12197 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
12198 (native-inputs
12199 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
12200 ("ghc-hspec" ,ghc-hspec)
12201 ("hspec-discover" ,hspec-discover)
12202 ("ghc-temporary" ,ghc-temporary)))
12203 (home-page "https://haskell-lang.org/library/typed-process")
12204 (synopsis "Run external processes with strong typing of streams")
12205 (description
12206 "This library provides the ability to launch and interact with external
12207processes. It wraps around the @code{process} library, and intends to improve
12208upon it.")
12209 (license license:expat)))
12210
d392f803
AG
12211(define-public ghc-unagi-chan
12212 (package
12213 (name "ghc-unagi-chan")
12214 (version "0.4.1.2")
12215 (source
12216 (origin
12217 (method url-fetch)
12218 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
12219 "/unagi-chan-" version ".tar.gz"))
12220 (sha256
12221 (base32
12222 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
12223 (build-system haskell-build-system)
12224 (inputs
12225 `(("ghc-atomic-primops" ,ghc-atomic-primops)
12226 ("ghc-primitive" ,ghc-primitive)))
12227 (arguments
12228 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
12229 #:cabal-revision
12230 ("1"
12231 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
3ef91e15 12232 (home-page "https://hackage.haskell.org/package/unagi-chan")
d392f803
AG
12233 (synopsis "Fast concurrent queues with a Chan-like API, and more")
12234 (description
12235 "This library provides implementations of concurrent FIFO queues (for
12236both general boxed and primitive unboxed values) that are fast, perform well
12237under contention, and offer a Chan-like interface. The library may be of
12238limited usefulness outside of x86 architectures where the fetch-and-add
12239instruction is not available.")
12240 (license license:bsd-3)))
12241
dddbc90c
RV
12242(define-public ghc-unbounded-delays
12243 (package
12244 (name "ghc-unbounded-delays")
12245 (version "0.1.1.0")
12246 (source
12247 (origin
12248 (method url-fetch)
12249 (uri (string-append
12250 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
12251 version
12252 ".tar.gz"))
12253 (sha256
12254 (base32
12255 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
12256 (build-system haskell-build-system)
12257 (home-page "https://github.com/basvandijk/unbounded-delays")
12258 (synopsis "Unbounded thread delays and timeouts")
12259 (description "The @code{threadDelay} and @code{timeout} functions from the
12260Haskell base library use the bounded @code{Int} type for specifying the delay
12261or timeout period. This package provides alternative functions which use the
12262unbounded @code{Integer} type.")
12263 (license license:bsd-3)))
12264
12265(define-public ghc-unexceptionalio
12266 (package
12267 (name "ghc-unexceptionalio")
12268 (version "0.4.0")
12269 (source
12270 (origin
12271 (method url-fetch)
12272 (uri (string-append "https://hackage.haskell.org/package/"
12273 "unexceptionalio-" version "/" "unexceptionalio-"
12274 version ".tar.gz"))
12275 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
12276 (build-system haskell-build-system)
12277 (home-page "https://github.com/singpolyma/unexceptionalio")
12278 (synopsis "IO without any non-error, synchronous exceptions")
12279 (description "When you've caught all the exceptions that can be
12280handled safely, this is what you're left with.")
12281 (license license:isc)))
12282
b69d4aa7
TS
12283(define-public ghc-unicode-transforms
12284 (package
12285 (name "ghc-unicode-transforms")
12286 (version "0.3.6")
12287 (source
12288 (origin
12289 (method url-fetch)
12290 (uri (string-append "https://hackage.haskell.org/package/"
12291 "unicode-transforms/unicode-transforms-"
12292 version ".tar.gz"))
12293 (sha256
12294 (base32
12295 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
12296 (build-system haskell-build-system)
12297 (inputs
12298 `(("ghc-bitarray" ,ghc-bitarray)))
12299 (native-inputs
12300 `(("ghc-quickcheck" ,ghc-quickcheck)
12301 ("ghc-getopt-generics" ,ghc-getopt-generics)
12302 ("ghc-split" ,ghc-split)))
12303 (home-page "https://github.com/composewell/unicode-transforms")
12304 (synopsis "Unicode normalization")
12305 (description "This library provides tools for fast Unicode 12.1.0
12306normalization in Haskell (normalization forms C, KC, D, and KD).")
12307 (license license:bsd-3)))
12308
dddbc90c
RV
12309(define-public ghc-union-find
12310 (package
12311 (name "ghc-union-find")
12312 (version "0.2")
12313 (source (origin
12314 (method url-fetch)
12315 (uri (string-append
12316 "https://hackage.haskell.org/package/union-find/union-find-"
12317 version ".tar.gz"))
12318 (sha256
12319 (base32
12320 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
12321 (build-system haskell-build-system)
12322 (home-page "https://github.com/nominolo/union-find")
12323 (synopsis "Efficient union and equivalence testing of sets")
12324 (description
12325 "The Union/Find algorithm implements these operations in (effectively)
12326constant-time:
12327@enumerate
12328@item Check whether two elements are in the same equivalence class.
12329@item Create a union of two equivalence classes.
12330@item Look up the descriptor of the equivalence class.
12331@end enumerate\n")
12332 (license license:bsd-3)))
12333
12334(define-public ghc-uniplate
12335 (package
12336 (name "ghc-uniplate")
12337 (version "1.6.12")
12338 (source
12339 (origin
12340 (method url-fetch)
12341 (uri (string-append
12342 "https://hackage.haskell.org/package/uniplate/uniplate-"
12343 version
12344 ".tar.gz"))
12345 (sha256
12346 (base32
12347 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
12348 (build-system haskell-build-system)
12349 (inputs
12350 `(("ghc-syb" ,ghc-syb)
12351 ("ghc-hashable" ,ghc-hashable)
12352 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12353 (home-page "http://community.haskell.org/~ndm/uniplate/")
12354 (synopsis "Simple, concise and fast generic operations")
12355 (description "Uniplate is a library for writing simple and concise generic
12356operations. Uniplate has similar goals to the original Scrap Your Boilerplate
12357work, but is substantially simpler and faster.")
12358 (license license:bsd-3)))
12359
12360(define-public ghc-unix-compat
12361 (package
12362 (name "ghc-unix-compat")
bc82e9f5 12363 (version "0.5.2")
dddbc90c
RV
12364 (source
12365 (origin
12366 (method url-fetch)
12367 (uri (string-append
12368 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
12369 version
12370 ".tar.gz"))
12371 (sha256
12372 (base32
bc82e9f5 12373 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
12374 (build-system haskell-build-system)
12375 (home-page
12376 "https://github.com/jystic/unix-compat")
12377 (synopsis "Portable POSIX-compatibility layer")
12378 (description
12379 "This package provides portable implementations of parts of the unix
12380package. This package re-exports the unix package when available. When it
12381isn't available, portable implementations are used.")
12382 (license license:bsd-3)))
12383
12384(define-public ghc-unix-time
12385 (package
12386 (name "ghc-unix-time")
fad9cff2 12387 (version "0.4.7")
dddbc90c
RV
12388 (source
12389 (origin
12390 (method url-fetch)
12391 (uri (string-append
12392 "https://hackage.haskell.org/package/unix-time/unix-time-"
12393 version
12394 ".tar.gz"))
12395 (sha256
12396 (base32
fad9cff2 12397 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
12398 (build-system haskell-build-system)
12399 (arguments
12400 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
12401 ; is weird, that should be provided by GHC 7.10.2.
12402 (inputs
12403 `(("ghc-old-time" ,ghc-old-time)
12404 ("ghc-old-locale" ,ghc-old-locale)))
12405 (home-page "https://hackage.haskell.org/package/unix-time")
12406 (synopsis "Unix time parser/formatter and utilities")
12407 (description "This library provides fast parsing and formatting utilities
12408for Unix time in Haskell.")
12409 (license license:bsd-3)))
12410
12411(define-public ghc-unliftio
12412 (package
12413 (name "ghc-unliftio")
a4084db1 12414 (version "0.2.12")
dddbc90c
RV
12415 (source
12416 (origin
12417 (method url-fetch)
12418 (uri (string-append
12419 "https://hackage.haskell.org/package/unliftio/unliftio-"
12420 version
12421 ".tar.gz"))
12422 (sha256
12423 (base32
a4084db1 12424 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
12425 (build-system haskell-build-system)
12426 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
12427 (inputs
12428 `(("ghc-async" ,ghc-async)
12429 ("ghc-unliftio-core" ,ghc-unliftio-core)))
12430 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
12431 (home-page "https://github.com/fpco/unliftio")
12432 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
12433IO (batteries included)")
12434 (description "This Haskell package provides the core @code{MonadUnliftIO}
12435typeclass, a number of common instances, and a collection of common functions
12436working with it.")
12437 (license license:expat)))
12438
12439(define-public ghc-unliftio-core
12440 (package
12441 (name "ghc-unliftio-core")
2ae42618 12442 (version "0.1.2.0")
dddbc90c
RV
12443 (source
12444 (origin
12445 (method url-fetch)
12446 (uri (string-append "https://hackage.haskell.org/package/"
12447 "unliftio-core-" version "/"
12448 "unliftio-core-" version ".tar.gz"))
12449 (sha256
12450 (base32
2ae42618 12451 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
12452 (build-system haskell-build-system)
12453 (arguments
12454 `(#:cabal-revision
2ae42618 12455 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
12456 (home-page
12457 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
12458 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
12459 (description "This Haskell package provides the core @code{MonadUnliftIO}
12460typeclass, instances for base and transformers, and basic utility
12461functions.")
12462 (license license:expat)))
12463
12464(define-public ghc-unordered-containers
12465 (package
12466 (name "ghc-unordered-containers")
ca01f8d3 12467 (version "0.2.10.0")
dddbc90c
RV
12468 (outputs '("out" "doc"))
12469 (source
12470 (origin
12471 (method url-fetch)
12472 (uri (string-append
12473 "https://hackage.haskell.org/package/unordered-containers"
12474 "/unordered-containers-" version ".tar.gz"))
12475 (sha256
12476 (base32
ca01f8d3 12477 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
12478 (build-system haskell-build-system)
12479 (inputs
12480 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
12481 ("ghc-hunit" ,ghc-hunit)
12482 ("ghc-quickcheck" ,ghc-quickcheck)
12483 ("ghc-test-framework" ,ghc-test-framework)
12484 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12485 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12486 ("ghc-hashable" ,ghc-hashable)))
12487 (home-page
12488 "https://github.com/tibbe/unordered-containers")
12489 (synopsis
12490 "Efficient hashing-based container types")
12491 (description
12492 "Efficient hashing-based container types. The containers have been
12493optimized for performance critical use, both in terms of large data quantities
12494and high speed.")
12495 (license license:bsd-3)))
12496
12497(define-public ghc-unordered-containers-bootstrap
12498 (package
12499 (inherit ghc-unordered-containers)
12500 (name "ghc-unordered-containers-bootstrap")
12501 (arguments `(#:tests? #f))
12502 (inputs
12503 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 12504 (properties '((hidden? #t)))))
dddbc90c 12505
a52f4c57
JS
12506(define-public ghc-unsafe
12507 (package
12508 (name "ghc-unsafe")
12509 (version "0.0")
12510 (source
12511 (origin
12512 (method url-fetch)
12513 (uri
12514 (string-append
12515 "https://hackage.haskell.org/package/unsafe/unsafe-"
12516 version ".tar.gz"))
12517 (sha256
12518 (base32
12519 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
12520 (build-system haskell-build-system)
12521 (home-page "https://hackage.haskell.org/package/unsafe")
12522 (synopsis "Unified interface to unsafe functions")
12523 (description "Safe Haskell introduced the notion of safe and unsafe
12524modules. In order to make as many as possible modules ``safe'', the
12525well-known unsafe functions were moved to distinguished modules. This
12526makes it hard to write packages that work with both old and new versions
12527of GHC. This package provides a single module System.Unsafe that
12528exports the unsafe functions from the base package. It provides them in
12529a style ready for qualification, that is, you should import them by
12530@code{import qualified System.Unsafe as Unsafe}.")
12531 (license license:bsd-3)))
12532
dddbc90c
RV
12533(define-public ghc-uri-bytestring
12534 (package
12535 (name "ghc-uri-bytestring")
d35ffd39 12536 (version "0.3.2.2")
dddbc90c
RV
12537 (source
12538 (origin
12539 (method url-fetch)
12540 (uri (string-append "https://hackage.haskell.org/package/"
12541 "uri-bytestring-" version "/"
12542 "uri-bytestring-" version ".tar.gz"))
12543 (sha256
12544 (base32
d35ffd39 12545 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
12546 (build-system haskell-build-system)
12547 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
12548 ("ghc-blaze-builder" ,ghc-blaze-builder)
12549 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 12550 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
12551 ("ghc-tasty" ,ghc-tasty)
12552 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
12553 ("ghc-hedgehog" ,ghc-hedgehog)
12554 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 12555 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 12556 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 12557 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
12558 (home-page "https://github.com/Soostone/uri-bytestring")
12559 (synopsis "Haskell URI parsing as ByteStrings")
12560 (description "This Haskell package aims to be an RFC3986 compliant URI
12561parser that uses ByteStrings for parsing and representing the URI data.")
12562 (license license:bsd-3)))
12563
12564(define-public ghc-utf8-string
12565 (package
12566 (name "ghc-utf8-string")
12567 (version "1.0.1.1")
12568 (source
12569 (origin
12570 (method url-fetch)
12571 (uri (string-append
12572 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
12573 version
12574 ".tar.gz"))
12575 (sha256
12576 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
12577 (build-system haskell-build-system)
12578 (arguments
12579 `(#:cabal-revision
12580 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
12581 (home-page "https://github.com/glguy/utf8-string/")
12582 (synopsis "Support for reading and writing UTF8 Strings")
12583 (description
12584 "A UTF8 layer for Strings. The utf8-string package provides operations
12585for encoding UTF8 strings to Word8 lists and back, and for reading and writing
12586UTF8 without truncation.")
12587 (license license:bsd-3)))
12588
12589(define-public ghc-utility-ht
12590 (package
12591 (name "ghc-utility-ht")
12592 (version "0.0.14")
12593 (home-page "https://hackage.haskell.org/package/utility-ht")
12594 (source
12595 (origin
12596 (method url-fetch)
12597 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
12598 (sha256
12599 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
12600 (build-system haskell-build-system)
12601 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
12602 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
12603 (description "This package includes Hakell modules providing various
12604helper functions for Lists, Maybes, Tuples, Functions.")
12605 (license license:bsd-3)))
12606
12607(define-public ghc-uuid
12608 (package
12609 (name "ghc-uuid")
12610 (version "1.3.13")
12611 (source
12612 (origin
12613 (method url-fetch)
12614 (uri (string-append "https://hackage.haskell.org/package/"
12615 "uuid-" version "/"
12616 "uuid-" version ".tar.gz"))
12617 (sha256
12618 (base32
12619 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
12620 (build-system haskell-build-system)
12621 (arguments
12622 `(#:cabal-revision
12623 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
12624 #:phases
12625 (modify-phases %standard-phases
12626 (add-before 'configure 'strip-test-framework-constraints
12627 (lambda _
12628 (substitute* "uuid.cabal"
12629 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
12630 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
12631 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12632 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12633 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12634 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
12635 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
12636 ("ghc-entropy" ,ghc-entropy)
12637 ("ghc-network-info" ,ghc-network-info)
12638 ("ghc-random" ,ghc-random)
12639 ("ghc-uuid-types" ,ghc-uuid-types)))
12640 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12641 ("ghc-quickcheck" ,ghc-quickcheck)
12642 ("ghc-tasty" ,ghc-tasty)
12643 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12644 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12645 (home-page "https://github.com/hvr/uuid")
12646 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
12647 (description "This Haskell library provides utilities creating, comparing,
12648parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
12649 (license license:bsd-3)))
12650
12651(define-public ghc-uuid-types
12652 (package
12653 (name "ghc-uuid-types")
12654 (version "1.0.3")
12655 (source
12656 (origin
12657 (method url-fetch)
12658 (uri (string-append "https://hackage.haskell.org/package/"
12659 "uuid-types-" version "/"
12660 "uuid-types-" version ".tar.gz"))
12661 (sha256
12662 (base32
12663 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
12664 (build-system haskell-build-system)
12665 (arguments
12666 `(#:phases
12667 (modify-phases %standard-phases
12668 (add-before 'configure 'strip-test-framework-constraints
12669 (lambda _
12670 (substitute* "uuid-types.cabal"
12671 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
12672 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
12673 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12674 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12675 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12676 (inputs `(("ghc-hashable" ,ghc-hashable)
12677 ("ghc-random" ,ghc-random)))
12678 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12679 ("ghc-quickcheck" ,ghc-quickcheck)
12680 ("ghc-tasty" ,ghc-tasty)
12681 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12682 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12683 (home-page "https://github.com/hvr/uuid")
12684 (synopsis "Haskell type definitions for UUIDs")
12685 (description "This Haskell library contains type definitions for
12686@dfn{Universally Unique Identifiers} or
12687@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
12688functions.")
12689 (license license:bsd-3)))
12690
12691(define-public ghc-validation
12692 (package
12693 (name "ghc-validation")
08397fde 12694 (version "1.1")
dddbc90c
RV
12695 (source
12696 (origin
12697 (method url-fetch)
12698 (uri (string-append
12699 "mirror://hackage/package/validation/validation-"
12700 version
12701 ".tar.gz"))
12702 (sha256
12703 (base32
08397fde 12704 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
dddbc90c
RV
12705 (build-system haskell-build-system)
12706 (arguments
12707 `(#:cabal-revision
08397fde 12708 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
dddbc90c
RV
12709 (inputs
12710 `(("ghc-semigroups" ,ghc-semigroups)
12711 ("ghc-semigroupoids" ,ghc-semigroupoids)
12712 ("ghc-bifunctors" ,ghc-bifunctors)
12713 ("ghc-lens" ,ghc-lens)))
12714 (native-inputs
12715 `(("ghc-hedgehog" ,ghc-hedgehog)
12716 ("ghc-hunit" ,ghc-hunit)))
12717 (home-page "https://github.com/qfpl/validation")
12718 (synopsis
12719 "Data-type like Either but with an accumulating Applicative")
12720 (description
12721 "A data-type like Either but with differing properties and type-class
12722instances.
12723
12724Library support is provided for this different representation, including
12725@code{lens}-related functions for converting between each and abstracting over
12726their similarities.
12727
12728The @code{Validation} data type is isomorphic to @code{Either}, but has an
12729instance of @code{Applicative} that accumulates on the error side. That is to
12730say, if two (or more) errors are encountered, they are appended using a
12731@{Semigroup} operation.
12732
12733As a consequence of this @code{Applicative} instance, there is no
12734corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
12735example of, \"An applicative functor that is not a monad.\"")
12736 (license license:bsd-3)))
12737
12738(define-public ghc-validity
12739 (package
12740 (name "ghc-validity")
3f1ba75d 12741 (version "0.9.0.2")
dddbc90c
RV
12742 (source
12743 (origin
12744 (method url-fetch)
12745 (uri (string-append
12746 "https://hackage.haskell.org/package/validity/validity-"
12747 version
12748 ".tar.gz"))
12749 (sha256
12750 (base32
3f1ba75d 12751 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
12752 (build-system haskell-build-system)
12753 (native-inputs `(("ghc-hspec" ,ghc-hspec)
12754 ("hspec-discover" ,hspec-discover)))
12755 (home-page
12756 "https://github.com/NorfairKing/validity")
12757 (synopsis "Validity typeclass")
12758 (description
12759 "Values of custom types usually have invariants imposed upon them. This
12760package provides the @code{Validity} type class, which makes these invariants
12761explicit by providing a function to check whether the invariants hold.")
12762 (license license:expat)))
12763
12764(define-public ghc-vault
12765 (package
12766 (name "ghc-vault")
b40a436e 12767 (version "0.3.1.3")
dddbc90c
RV
12768 (source
12769 (origin
12770 (method url-fetch)
12771 (uri (string-append
12772 "https://hackage.haskell.org/package/vault/vault-"
12773 version
12774 ".tar.gz"))
12775 (sha256
12776 (base32
b40a436e 12777 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
12778 (build-system haskell-build-system)
12779 (inputs
12780 `(("ghc-unordered-containers" ,ghc-unordered-containers)
12781 ("ghc-hashable" ,ghc-hashable)
b40a436e 12782 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
12783 (home-page
12784 "https://github.com/HeinrichApfelmus/vault")
12785 (synopsis "Persistent store for arbitrary values")
12786 (description "This package provides vaults for Haskell. A vault is a
12787persistent store for values of arbitrary types. It's like having first-class
12788access to the storage space behind @code{IORefs}. The data structure is
12789analogous to a bank vault, where you can access different bank boxes with
12790different keys; hence the name. Also provided is a @code{locker} type,
12791representing a store for a single element.")
12792 (license license:bsd-3)))
12793
12794(define-public ghc-vector
12795 (package
12796 (name "ghc-vector")
3ad67f6b 12797 (version "0.12.0.3")
dddbc90c
RV
12798 (outputs '("out" "doc"))
12799 (source
12800 (origin
12801 (method url-fetch)
12802 (uri (string-append
12803 "https://hackage.haskell.org/package/vector/vector-"
12804 version
12805 ".tar.gz"))
12806 (sha256
12807 (base32
3ad67f6b 12808 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
12809 (build-system haskell-build-system)
12810 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
12811 ;; disabled for now.
12812 (arguments
3ad67f6b 12813 `(#:tests? #f))
dddbc90c
RV
12814 (inputs
12815 `(("ghc-primitive" ,ghc-primitive)
12816 ("ghc-random" ,ghc-random)
12817 ("ghc-quickcheck" ,ghc-quickcheck)
12818 ;; ("ghc-hunit" ,ghc-hunit)
12819 ;; ("ghc-test-framework" ,ghc-test-framework)
12820 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12821 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12822 ))
12823 (home-page "https://github.com/haskell/vector")
12824 (synopsis "Efficient Arrays")
12825 (description "This library provides an efficient implementation of
12826Int-indexed arrays (both mutable and immutable), with a powerful loop
12827optimisation framework.")
12828 (license license:bsd-3)))
12829
12830(define-public ghc-vector-algorithms
12831 (package
12832 (name "ghc-vector-algorithms")
e71f316f 12833 (version "0.8.0.1")
dddbc90c
RV
12834 (source
12835 (origin
12836 (method url-fetch)
12837 (uri (string-append "https://hackage.haskell.org/package/"
12838 "vector-algorithms-" version "/"
12839 "vector-algorithms-" version ".tar.gz"))
12840 (sha256
12841 (base32
e71f316f 12842 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
12843 (build-system haskell-build-system)
12844 (inputs
12845 `(("ghc-vector" ,ghc-vector)))
12846 (native-inputs
12847 `(("ghc-quickcheck" ,ghc-quickcheck)))
12848 (home-page "https://github.com/bos/math-functions")
12849 (synopsis "Algorithms for vector arrays in Haskell")
12850 (description "This Haskell library algorithms for vector arrays.")
12851 (license license:bsd-3)))
12852
12853(define-public ghc-vector-binary-instances
12854 (package
12855 (name "ghc-vector-binary-instances")
ca0701ef 12856 (version "0.2.5.1")
dddbc90c
RV
12857 (source
12858 (origin
12859 (method url-fetch)
12860 (uri (string-append
12861 "https://hackage.haskell.org/package/"
12862 "vector-binary-instances/vector-binary-instances-"
12863 version ".tar.gz"))
12864 (sha256
12865 (base32
ca0701ef 12866 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 12867 (build-system haskell-build-system)
dddbc90c
RV
12868 (inputs
12869 `(("ghc-vector" ,ghc-vector)))
12870 (native-inputs
12871 `(("ghc-tasty" ,ghc-tasty)
12872 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12873 (home-page "https://github.com/bos/vector-binary-instances")
12874 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
12875 (description "This library provides instances of @code{Binary} for the
12876types defined in the @code{vector} package, making it easy to serialize
12877vectors to and from disk. We use the generic interface to vectors, so all
12878vector types are supported. Specific instances are provided for unboxed,
12879boxed and storable vectors.")
12880 (license license:bsd-3)))
12881
12882(define-public ghc-vector-builder
12883 (package
12884 (name "ghc-vector-builder")
1fc05441 12885 (version "0.3.8")
dddbc90c
RV
12886 (source
12887 (origin
12888 (method url-fetch)
12889 (uri (string-append "https://hackage.haskell.org/package/"
12890 "vector-builder-" version "/"
12891 "vector-builder-" version ".tar.gz"))
12892 (sha256
12893 (base32
1fc05441 12894 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
12895 (build-system haskell-build-system)
12896 (inputs `(("ghc-vector" ,ghc-vector)
12897 ("ghc-semigroups" ,ghc-semigroups)
12898 ("ghc-base-prelude" ,ghc-base-prelude)))
12899 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
12900 ("ghc-tasty" ,ghc-tasty)
12901 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12902 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
12903 ("ghc-hunit" ,ghc-hunit)
12904 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
12905 ("ghc-rerebase" ,ghc-rerebase)))
12906 (home-page "https://github.com/nikita-volkov/vector-builder")
12907 (synopsis "Vector builder for Haskell")
12908 (description "This Haskell package provides an API for constructing vectors.
12909It provides the composable @code{Builder} abstraction, which has instances of the
12910@code{Monoid} and @code{Semigroup} classes.
12911
12912You would first use the @code{Builder} abstraction to specify the structure of
12913the vector; then you can execute the builder to actually produce the
12914vector. ")
12915 (license license:expat)))
12916
12917(define-public ghc-vector-th-unbox
12918 (package
12919 (name "ghc-vector-th-unbox")
63056e61 12920 (version "0.2.1.7")
dddbc90c
RV
12921 (source
12922 (origin
12923 (method url-fetch)
12924 (uri (string-append "https://hackage.haskell.org/package/"
12925 "vector-th-unbox-" version "/"
12926 "vector-th-unbox-" version ".tar.gz"))
12927 (sha256
12928 (base32
63056e61 12929 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
12930 (build-system haskell-build-system)
12931 (inputs
12932 `(("ghc-vector" ,ghc-vector)
12933 ("ghc-data-default" ,ghc-data-default)))
12934 (home-page "https://github.com/liyang/vector-th-unbox")
12935 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
12936 (description "This Haskell library provides a Template Haskell
12937deriver for unboxed vectors, given a pair of coercion functions to
12938and from some existing type with an Unbox instance.")
12939 (license license:bsd-3)))
12940
12941(define-public ghc-void
12942 (package
12943 (name "ghc-void")
51889121 12944 (version "0.7.3")
dddbc90c
RV
12945 (source
12946 (origin
12947 (method url-fetch)
12948 (uri (string-append
12949 "https://hackage.haskell.org/package/void/void-"
12950 version
12951 ".tar.gz"))
12952 (sha256
12953 (base32
51889121 12954 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
12955 (build-system haskell-build-system)
12956 (inputs
12957 `(("ghc-semigroups" ,ghc-semigroups)
12958 ("ghc-hashable" ,ghc-hashable)))
12959 (home-page "https://github.com/ekmett/void")
12960 (synopsis
12961 "Logically uninhabited data type")
12962 (description
12963 "A Haskell 98 logically uninhabited data type, used to indicate that a
12964given term should not exist.")
12965 (license license:bsd-3)))
12966
12967(define-public ghc-wave
12968 (package
12969 (name "ghc-wave")
1631a0f7 12970 (version "0.2.0")
dddbc90c
RV
12971 (source (origin
12972 (method url-fetch)
12973 (uri (string-append
12974 "https://hackage.haskell.org/package/wave/wave-"
12975 version
12976 ".tar.gz"))
12977 (sha256
12978 (base32
1631a0f7 12979 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
12980 (build-system haskell-build-system)
12981 (arguments
12982 '(#:phases
12983 (modify-phases %standard-phases
12984 (add-before 'configure 'update-constraints
12985 (lambda _
12986 (substitute* "wave.cabal"
12987 (("temporary.* < 1\\.3")
12988 "temporary >= 1.1 && < 1.4")))))))
12989 (inputs
12990 `(("ghc-cereal" ,ghc-cereal)
12991 ("ghc-data-default-class"
12992 ,ghc-data-default-class)
12993 ("ghc-quickcheck" ,ghc-quickcheck)
12994 ("ghc-temporary" ,ghc-temporary)))
12995 (native-inputs
12996 `(("hspec-discover" ,hspec-discover)
12997 ("ghc-hspec" ,ghc-hspec)))
12998 (home-page "https://github.com/mrkkrp/wave")
12999 (synopsis "Work with WAVE and RF64 files in Haskell")
13000 (description "This package allows you to work with WAVE and RF64
13001files in Haskell.")
13002 (license license:bsd-3)))
13003
13004(define-public ghc-wcwidth
13005 (package
13006 (name "ghc-wcwidth")
13007 (version "0.0.2")
13008 (source
13009 (origin
13010 (method url-fetch)
13011 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
13012 version ".tar.gz"))
13013 (sha256
13014 (base32
13015 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
13016 (build-system haskell-build-system)
13017 (inputs
13018 `(("ghc-setlocale" ,ghc-setlocale)
13019 ("ghc-utf8-string" ,ghc-utf8-string)
13020 ("ghc-attoparsec" ,ghc-attoparsec)))
13021 (home-page "https://github.com/solidsnack/wcwidth/")
13022 (synopsis "Haskell bindings to wcwidth")
13023 (description "This package provides Haskell bindings to your system's
13024native wcwidth and a command line tool to examine the widths assigned by it.
13025The command line tool can compile a width table to Haskell code that assigns
13026widths to the Char type.")
13027 (license license:bsd-3)))
13028
13029(define-public ghc-wcwidth-bootstrap
13030 (package
13031 (inherit ghc-wcwidth)
13032 (name "ghc-wcwidth-bootstrap")
13033 (inputs
13034 `(("ghc-setlocale" ,ghc-setlocale)
13035 ("ghc-utf8-string" ,ghc-utf8-string)
13036 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 13037 (properties '((hidden? #t)))))
dddbc90c
RV
13038
13039(define-public ghc-weigh
13040 (package
13041 (name "ghc-weigh")
b6d9777f 13042 (version "0.0.14")
dddbc90c
RV
13043 (source
13044 (origin
13045 (method url-fetch)
13046 (uri (string-append "https://hackage.haskell.org/package/weigh/"
13047 "weigh-" version ".tar.gz"))
13048 (sha256
13049 (base32
b6d9777f 13050 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
13051 (build-system haskell-build-system)
13052 (inputs
13053 `(("ghc-split" ,ghc-split)
13054 ("ghc-temporary" ,ghc-temporary)))
13055 (home-page "https://github.com/fpco/weigh#readme")
13056 (synopsis "Measure allocations of a Haskell functions/values")
13057 (description "This package provides tools to measure the memory usage of a
13058Haskell value or function.")
13059 (license license:bsd-3)))
13060
13061(define-public ghc-wl-pprint
13062 (package
13063 (name "ghc-wl-pprint")
13064 (version "1.2.1")
13065 (source (origin
13066 (method url-fetch)
13067 (uri (string-append
13068 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
13069 version ".tar.gz"))
13070 (sha256
13071 (base32
13072 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
13073 (build-system haskell-build-system)
13074 (home-page "https://hackage.haskell.org/package/wl-pprint")
13075 (synopsis "Wadler/Leijen pretty printer")
13076 (description
13077 "This is a pretty printing library based on Wadler's paper @i{A Prettier
13078Printer}. This version allows the library user to declare overlapping
13079instances of the @code{Pretty} class.")
13080 (license license:bsd-3)))
13081
13082(define-public ghc-wl-pprint-annotated
13083 (package
13084 (name "ghc-wl-pprint-annotated")
13085 (version "0.1.0.1")
13086 (source
13087 (origin
13088 (method url-fetch)
13089 (uri (string-append
13090 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
13091 version
13092 ".tar.gz"))
13093 (sha256
13094 (base32
13095 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
13096 (build-system haskell-build-system)
13097 (native-inputs
13098 `(("ghc-tasty" ,ghc-tasty)
13099 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
13100 (home-page
13101 "https://github.com/minad/wl-pprint-annotated#readme")
13102 (synopsis
13103 "Wadler/Leijen pretty printer with annotation support")
13104 (description
13105 "Annotations are useful for coloring. This is a limited version of
13106@code{wl-pprint-extras} without support for point effects and without the free
13107monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
13108Compared to @code{annotated-wl-pprint} this library provides a slightly
13109modernized interface.")
13110 (license license:bsd-3)))
13111
13112(define-public ghc-wl-pprint-text
13113 (package
13114 (name "ghc-wl-pprint-text")
13115 (version "1.2.0.0")
13116 (source
13117 (origin
13118 (method url-fetch)
13119 (uri (string-append
13120 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
13121 version ".tar.gz"))
13122 (sha256
13123 (base32
13124 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
13125 (build-system haskell-build-system)
13126 (inputs
13127 `(("ghc-base-compat" ,ghc-base-compat)))
13128 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
13129 (synopsis "Wadler/Leijen Pretty Printer for Text values")
13130 (description
13131 "A clone of wl-pprint for use with the text library.")
13132 (license license:bsd-3)))
13133
13134(define-public ghc-word8
13135 (package
13136 (name "ghc-word8")
13137 (version "0.1.3")
13138 (source
13139 (origin
13140 (method url-fetch)
13141 (uri (string-append
13142 "https://hackage.haskell.org/package/word8/word8-"
13143 version
13144 ".tar.gz"))
13145 (sha256
13146 (base32
13147 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
13148 (build-system haskell-build-system)
13149 (native-inputs
13150 `(("ghc-hspec" ,ghc-hspec)
13151 ("hspec-discover" ,hspec-discover)))
13152 (home-page "https://hackage.haskell.org/package/word8")
13153 (synopsis "Word8 library for Haskell")
13154 (description "Word8 library to be used with @code{Data.ByteString}.")
13155 (license license:bsd-3)))
13156
13157(define-public ghc-x11
13158 (package
13159 (name "ghc-x11")
6c4581a3 13160 (version "1.9.1")
dddbc90c
RV
13161 (source
13162 (origin
13163 (method url-fetch)
13164 (uri (string-append "https://hackage.haskell.org/package/X11/"
13165 "X11-" version ".tar.gz"))
13166 (sha256
6c4581a3 13167 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
13168 (build-system haskell-build-system)
13169 (inputs
13170 `(("libx11" ,libx11)
13171 ("libxrandr" ,libxrandr)
13172 ("libxinerama" ,libxinerama)
13173 ("libxscrnsaver" ,libxscrnsaver)
13174 ("ghc-data-default" ,ghc-data-default)))
13175 (home-page "https://github.com/haskell-pkg-janitors/X11")
13176 (synopsis "Bindings to the X11 graphics library")
13177 (description
13178 "This package provides Haskell bindings to the X11 graphics library. The
13179bindings are a direct translation of the C bindings.")
13180 (license license:bsd-3)))
13181
13182(define-public ghc-x11-xft
13183 (package
13184 (name "ghc-x11-xft")
13185 (version "0.3.1")
13186 (source
13187 (origin
13188 (method url-fetch)
13189 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
13190 "X11-xft-" version ".tar.gz"))
13191 (sha256
13192 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
13193 (inputs
13194 `(("ghc-x11" ,ghc-x11)
13195 ("ghc-utf8-string" ,ghc-utf8-string)
13196 ("libx11" ,libx11)
13197 ("libxft" ,libxft)
13198 ("xorgproto" ,xorgproto)))
13199 (native-inputs
13200 `(("pkg-config" ,pkg-config)))
13201 (build-system haskell-build-system)
13202 (home-page "https://hackage.haskell.org/package/X11-xft")
13203 (synopsis "Bindings to Xft")
13204 (description
13205 "Bindings to the Xft, X Free Type interface library, and some Xrender
13206parts.")
13207 (license license:lgpl2.1)))
13208
13209(define-public ghc-xdg-basedir
13210 (package
13211 (name "ghc-xdg-basedir")
13212 (version "0.2.2")
13213 (source
13214 (origin
13215 (method url-fetch)
13216 (uri (string-append
13217 "https://hackage.haskell.org/package/xdg-basedir/"
13218 "xdg-basedir-" version ".tar.gz"))
13219 (sha256
13220 (base32
13221 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
13222 (build-system haskell-build-system)
13223 (home-page "http://github.com/willdonnelly/xdg-basedir")
13224 (synopsis "XDG Base Directory library for Haskell")
13225 (description "This package provides a library implementing the XDG Base Directory spec.")
13226 (license license:bsd-3)))
13227
13228(define-public ghc-xml
13229 (package
13230 (name "ghc-xml")
13231 (version "1.3.14")
13232 (source
13233 (origin
13234 (method url-fetch)
13235 (uri (string-append
13236 "https://hackage.haskell.org/package/xml/xml-"
13237 version
13238 ".tar.gz"))
13239 (sha256
13240 (base32
13241 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
13242 (build-system haskell-build-system)
2b62f5d0 13243 (home-page "https://github.com/GaloisInc/xml")
dddbc90c
RV
13244 (synopsis "Simple XML library for Haskell")
13245 (description "This package provides a simple XML library for Haskell.")
13246 (license license:bsd-3)))
13247
13248(define-public ghc-xml-conduit
13249 (package
13250 (name "ghc-xml-conduit")
13251 (version "1.8.0.1")
13252 (source
13253 (origin
13254 (method url-fetch)
13255 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
13256 "xml-conduit-" version ".tar.gz"))
13257 (sha256
13258 (base32
13259 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
13260 (build-system haskell-build-system)
13261 (inputs
13262 `(("ghc-conduit" ,ghc-conduit)
13263 ("ghc-conduit-extra" ,ghc-conduit-extra)
13264 ("ghc-doctest" ,ghc-doctest)
13265 ("ghc-resourcet" ,ghc-resourcet)
13266 ("ghc-xml-types" ,ghc-xml-types)
13267 ("ghc-attoparsec" ,ghc-attoparsec)
13268 ("ghc-data-default-class" ,ghc-data-default-class)
13269 ("ghc-blaze-markup" ,ghc-blaze-markup)
13270 ("ghc-blaze-html" ,ghc-blaze-html)
13271 ("ghc-monad-control" ,ghc-monad-control)
13272 ("ghc-hspec" ,ghc-hspec)
13273 ("ghc-hunit" ,ghc-hunit)))
13274 (home-page "https://github.com/snoyberg/xml")
13275 (synopsis "Utilities for dealing with XML with the conduit package")
13276 (description
13277 "This package provides pure-Haskell utilities for dealing with XML with
13278the @code{conduit} package.")
13279 (license license:expat)))
13280
13281(define-public ghc-xml-types
13282 (package
13283 (name "ghc-xml-types")
13284 (version "0.3.6")
13285 (source
13286 (origin
13287 (method url-fetch)
13288 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
13289 "xml-types-" version ".tar.gz"))
13290 (sha256
13291 (base32
13292 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
13293 (build-system haskell-build-system)
13294 (home-page "https://john-millikin.com/software/haskell-xml/")
13295 (synopsis "Basic types for representing XML")
13296 (description "This package provides basic types for representing XML
13297documents.")
13298 (license license:expat)))
13299
13300(define-public ghc-yaml
13301 (package
13302 (name "ghc-yaml")
b58e5b84 13303 (version "0.11.1.2")
dddbc90c
RV
13304 (source (origin
13305 (method url-fetch)
13306 (uri (string-append "https://hackage.haskell.org/package/"
13307 "yaml/yaml-" version ".tar.gz"))
13308 (sha256
13309 (base32
b58e5b84 13310 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 13311 (build-system haskell-build-system)
dddbc90c
RV
13312 (inputs
13313 `(("ghc-conduit" ,ghc-conduit)
13314 ("ghc-resourcet" ,ghc-resourcet)
13315 ("ghc-aeson" ,ghc-aeson)
13316 ("ghc-unordered-containers" ,ghc-unordered-containers)
13317 ("ghc-vector" ,ghc-vector)
13318 ("ghc-attoparsec" ,ghc-attoparsec)
13319 ("ghc-scientific" ,ghc-scientific)
13320 ("ghc-semigroups" ,ghc-semigroups)
13321 ("ghc-temporary" ,ghc-temporary)
13322 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
13323 ("ghc-base-compat" ,ghc-base-compat)
13324 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
13325 (native-inputs
13326 `(("ghc-hspec" ,ghc-hspec)
13327 ("ghc-hunit" ,ghc-hunit)
13328 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
13329 ("ghc-mockery" ,ghc-mockery)
13330 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
13331 (home-page "https://github.com/snoyberg/yaml/")
13332 (synopsis "Parsing and rendering YAML documents")
13333 (description
13334 "This package provides a library to parse and render YAML documents.")
13335 (license license:bsd-3)))
13336
13337(define-public ghc-zip-archive
13338 (package
13339 (name "ghc-zip-archive")
93c1fdd3 13340 (version "0.4.1")
dddbc90c
RV
13341 (source
13342 (origin
13343 (method url-fetch)
13344 (uri (string-append
13345 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
13346 version
13347 ".tar.gz"))
13348 (sha256
13349 (base32
93c1fdd3 13350 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 13351 (build-system haskell-build-system)
93c1fdd3
TS
13352 (arguments
13353 `(#:phases
13354 (modify-phases %standard-phases
13355 (add-before 'check 'set-PATH-for-tests
13356 (lambda* (#:key inputs #:allow-other-keys)
13357 (let ((unzip (assoc-ref inputs "unzip"))
13358 (which (assoc-ref inputs "which"))
13359 (path (getenv "PATH")))
13360 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
13361 #t))))))
dddbc90c
RV
13362 (inputs
13363 `(("ghc-digest" ,ghc-digest)
13364 ("ghc-temporary" ,ghc-temporary)
13365 ("ghc-zlib" ,ghc-zlib)))
13366 (native-inputs
13367 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
13368 ("unzip" ,unzip)
13369 ("which" ,which)))
dddbc90c
RV
13370 (home-page "https://hackage.haskell.org/package/zip-archive")
13371 (synopsis "Zip archive library for Haskell")
13372 (description "The zip-archive library provides functions for creating,
13373modifying, and extracting files from zip archives in Haskell.")
13374 (license license:bsd-3)))
13375
13376(define-public ghc-zlib
13377 (package
13378 (name "ghc-zlib")
bf12089a 13379 (version "0.6.2.1")
dddbc90c
RV
13380 (outputs '("out" "doc"))
13381 (source
13382 (origin
13383 (method url-fetch)
13384 (uri (string-append
13385 "https://hackage.haskell.org/package/zlib/zlib-"
13386 version
13387 ".tar.gz"))
13388 (sha256
13389 (base32
bf12089a 13390 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
13391 (build-system haskell-build-system)
13392 (arguments
13393 `(#:phases
13394 (modify-phases %standard-phases
13395 (add-before 'configure 'strip-test-framework-constraints
13396 (lambda _
13397 (substitute* "zlib.cabal"
13398 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
13399 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
13400 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13401 (inputs `(("zlib" ,zlib)))
13402 (native-inputs
13403 `(("ghc-quickcheck" ,ghc-quickcheck)
13404 ("ghc-tasty" ,ghc-tasty)
13405 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13406 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13407 (home-page "https://hackage.haskell.org/package/zlib")
13408 (synopsis
13409 "Compression and decompression in the gzip and zlib formats")
13410 (description
13411 "This package provides a pure interface for compressing and decompressing
13412streams of data represented as lazy @code{ByteString}s. It uses the zlib C
13413library so it has high performance. It supports the @code{zlib}, @code{gzip}
13414and @code{raw} compression formats. It provides a convenient high level API
13415suitable for most tasks and for the few cases where more control is needed it
13416provides access to the full zlib feature set.")
bbf8bf31 13417 (license license:bsd-3)))
14e41996
RV
13418
13419(define-public ghc-zlib-bindings
13420 (package
13421 (name "ghc-zlib-bindings")
13422 (version "0.1.1.5")
13423 (source
13424 (origin
13425 (method url-fetch)
13426 (uri (string-append "https://hackage.haskell.org/package/"
13427 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
13428 (sha256
13429 (base32
13430 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
13431 (build-system haskell-build-system)
13432 (inputs
13433 `(("ghc-zlib" ,ghc-zlib)))
13434 (native-inputs
13435 `(("ghc-hspec" ,ghc-hspec)
13436 ("ghc-quickcheck" ,ghc-quickcheck)))
13437 (arguments
13438 `(#:cabal-revision
13439 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
13440 (home-page "https://github.com/snapframework/zlib-bindings")
13441 (synopsis "Low-level bindings to the @code{zlib} package")
13442 (description "This package provides low-level bindings to the
13443@code{zlib} package.")
13444 (license license:bsd-3)))
8428e92c
TS
13445
13446(define-public ghc-zstd
13447 (package
13448 (name "ghc-zstd")
13449 (version "0.1.1.2")
13450 (source
13451 (origin
13452 (method url-fetch)
13453 (uri (string-append "https://hackage.haskell.org/package/"
13454 "zstd/zstd-" version ".tar.gz"))
13455 (sha256
13456 (base32
13457 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
13458 (build-system haskell-build-system)
13459 (native-inputs
13460 `(("ghc-quickcheck" ,ghc-quickcheck)
13461 ("ghc-test-framework" ,ghc-test-framework)
13462 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
13463 (home-page "https://github.com/luispedro/hs-zstd")
13464 (synopsis "Haskell bindings to the Zstandard compression algorithm")
13465 (description "This library provides Haskell bindings to the
13466Zstandard compression algorithm, a fast lossless compression algorithm
13467targeting real-time compression scenarios at zlib-level and better
13468compression ratios.")
13469 (license license:bsd-3)))