gnu: ghc-bifunctors: Update to 5.5.5.
[jackhill/guix/guix.git] / gnu / packages / haskell-xyz.scm
CommitLineData
6b34d01c 1;;; GNU Guix --- Functional package management for GNU
dddbc90c
RV
2;;; Copyright © 2015, 2016 Federico Beffa <beffa@fbengineering.ch>
3;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
4;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
5;;; Copyright © 2015, 2019 Eric Bavier <bavier@member.fsf.org>
6;;; Copyright © 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
7;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
799d8d3c 8;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
dddbc90c
RV
9;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
10;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
11;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
12;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
13;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
14;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
15;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
16;;; Copyright © 2018 Tonton <tonton@riseup.net>
17;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
18;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
19;;; Copyright © 2018, 2019 Gabriel Hondet <gabrielhondet@gmail.com>
6b34d01c 20;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
dddbc90c 21;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
a52f4c57 22;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
e405912c 23;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
9ad9ec2e 24;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
6b34d01c
RV
25;;;
26;;; This file is part of GNU Guix.
27;;;
28;;; GNU Guix is free software; you can redistribute it and/or modify it
29;;; under the terms of the GNU General Public License as published by
30;;; the Free Software Foundation; either version 3 of the License, or (at
31;;; your option) any later version.
32;;;
33;;; GNU Guix is distributed in the hope that it will be useful, but
34;;; WITHOUT ANY WARRANTY; without even the implied warranty of
35;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
36;;; GNU General Public License for more details.
37;;;
38;;; You should have received a copy of the GNU General Public License
39;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
40
41(define-module (gnu packages haskell-xyz)
42 #:use-module (gnu packages)
dddbc90c
RV
43 #:use-module (gnu packages base)
44 #:use-module (gnu packages compression)
45 #:use-module (gnu packages emacs)
46 #:use-module (gnu packages gcc)
47 #:use-module (gnu packages gl)
48 #:use-module (gnu packages graphviz)
49 #:use-module (gnu packages gtk)
50 #:use-module (gnu packages haskell-apps)
efb96749 51 #:use-module (gnu packages haskell-check)
dddbc90c
RV
52 #:use-module (gnu packages haskell-crypto)
53 #:use-module (gnu packages haskell-web)
54 #:use-module (gnu packages libffi)
55 #:use-module (gnu packages linux)
56 #:use-module (gnu packages lua)
57 #:use-module (gnu packages maths)
49e29df5 58 #:use-module (gnu packages ncurses)
dddbc90c
RV
59 #:use-module (gnu packages pcre)
60 #:use-module (gnu packages pkg-config)
61 #:use-module (gnu packages sdl)
62 #:use-module (gnu packages xml)
63 #:use-module (gnu packages xorg)
6b34d01c
RV
64 #:use-module (guix build-system haskell)
65 #:use-module (guix download)
dddbc90c 66 #:use-module (guix git-download)
4780db2c 67 #:use-module (guix utils)
6b34d01c
RV
68 #:use-module ((guix licenses) #:prefix license:)
69 #:use-module (guix packages))
70
dddbc90c 71(define-public ghc-abstract-deque
efb96749 72 (package
dddbc90c
RV
73 (name "ghc-abstract-deque")
74 (version "0.3")
efb96749
RV
75 (source
76 (origin
77 (method url-fetch)
78 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
79 "abstract-deque-" version "/"
80 "abstract-deque-" version ".tar.gz"))
efb96749
RV
81 (sha256
82 (base32
dddbc90c 83 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
efb96749 84 (build-system haskell-build-system)
dddbc90c
RV
85 (inputs `(("ghc-random" ,ghc-random)))
86 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
87 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
88 (description "This Haskell package provides an abstract interface to
89highly-parameterizable queues/deques.
90
91Background: There exists a feature space for queues that extends between:
efb96749
RV
92
93@itemize
dddbc90c
RV
94@item Simple, single-ended, non-concurrent, bounded queues
95
96@item Double-ended, thread-safe, growable queues with important points
97in between (such as the queues used for work stealing).
efb96749
RV
98@end itemize
99
dddbc90c
RV
100This package includes an interface for Deques that allows the programmer
101to use a single API for all of the above, while using the type system to
102select an efficient implementation given the requirements (using type families).
efb96749 103
dddbc90c
RV
104This package also includes a simple reference implementation based on
105@code{IORef} and @code{Data.Sequence}.")
efb96749
RV
106 (license license:bsd-3)))
107
dddbc90c 108(define-public ghc-abstract-par
658dbc7f 109 (package
dddbc90c
RV
110 (name "ghc-abstract-par")
111 (version "0.3.3")
658dbc7f
RV
112 (source
113 (origin
114 (method url-fetch)
115 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
116 "abstract-par-" version "/"
117 "abstract-par-" version ".tar.gz"))
658dbc7f
RV
118 (sha256
119 (base32
dddbc90c
RV
120 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
121 (build-system haskell-build-system)
122 (home-page "https://github.com/simonmar/monad-par")
123 (synopsis "Abstract parallelization interface for Haskell")
124 (description "This Haskell package is an abstract interface
125only. It provides a number of type clasess, but not an
126implementation. The type classes separate different levels
127of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
128module for more details.")
129 (license license:bsd-3)))
130
131(define-public ghc-adjunctions
132 (package
133 (name "ghc-adjunctions")
134 (version "4.4")
135 (source
136 (origin
137 (method url-fetch)
138 (uri (string-append
139 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
140 version
141 ".tar.gz"))
142 (sha256
143 (base32
144 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f
RV
145 (build-system haskell-build-system)
146 (inputs
dddbc90c
RV
147 `(("ghc-profunctors" ,ghc-profunctors)
148 ("ghc-comonad" ,ghc-comonad)
149 ("ghc-contravariant" ,ghc-contravariant)
150 ("ghc-distributive" ,ghc-distributive)
151 ("ghc-free" ,ghc-free)
152 ("ghc-tagged" ,ghc-tagged)
153 ("ghc-semigroupoids" ,ghc-semigroupoids)
154 ("ghc-semigroups" ,ghc-semigroups)
155 ("ghc-transformers-compat" ,ghc-transformers-compat)
156 ("ghc-void" ,ghc-void)))
658dbc7f 157 (native-inputs
dddbc90c
RV
158 `(("ghc-generic-deriving" ,ghc-generic-deriving)
159 ("ghc-hspec" ,ghc-hspec)
160 ("hspec-discover" ,hspec-discover)))
161 (home-page "https://github.com/ekmett/adjunctions/")
162 (synopsis "Adjunctions and representable functors")
163 (description "This library provides adjunctions and representable functors
164for Haskell.")
165 (license license:bsd-3)))
166
167(define-public ghc-aeson-compat
168 (package
169 (name "ghc-aeson-compat")
170 (version "0.3.8")
171 (source
172 (origin
173 (method url-fetch)
174 (uri (string-append "https://hackage.haskell.org/package/"
175 "aeson-compat-" version "/"
176 "aeson-compat-" version ".tar.gz"))
177 (sha256
178 (base32
179 "0j4v13pgk21zy8hqkbx8hw0n05jdl17qphxz9rj4h333pr547r3i"))))
180 (build-system haskell-build-system)
181 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
182 (inputs `(("ghc-base-compat" ,ghc-base-compat)
183 ("ghc-aeson" ,ghc-aeson)
184 ("ghc-attoparsec" ,ghc-attoparsec)
185 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
186 ("ghc-exceptions" ,ghc-exceptions)
187 ("ghc-hashable" ,ghc-hashable)
188 ("ghc-scientific" ,ghc-scientific)
189 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
190 ("ghc-unordered-containers" ,ghc-unordered-containers)
191 ("ghc-vector" ,ghc-vector)
192 ("ghc-tagged" ,ghc-tagged)
193 ("ghc-semigroups" ,ghc-semigroups)
194 ("ghc-nats" ,ghc-nats)))
195 (home-page "https://github.com/phadej/aeson-compat")
196 (synopsis "Compatibility layer for ghc-aeson")
197 (description "This Haskell package provides compatibility layer for
198ghc-aeson.")
199 (license license:bsd-3)))
200
201(define-public ghc-alex
202 (package
203 (name "ghc-alex")
204 (version "3.2.4")
205 (source
206 (origin
207 (method url-fetch)
208 (uri (string-append
209 "https://hackage.haskell.org/package/alex/alex-"
210 version
211 ".tar.gz"))
212 (sha256
213 (base32
214 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
215 (build-system haskell-build-system)
658dbc7f 216 (arguments
dddbc90c
RV
217 `(#:phases
218 (modify-phases %standard-phases
219 (add-before 'check 'set-check-variables
220 (lambda _
221 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
222 (getenv "PATH")))
223 (setenv "alex_datadir" (string-append (getcwd) "/data"))
224 #t)))))
225 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
226 (native-inputs
227 `(("which" ,which)))
228 (home-page "https://www.haskell.org/alex/")
229 (synopsis
230 "Tool for generating lexical analysers in Haskell")
231 (description
232 "Alex is a tool for generating lexical analysers in Haskell. It takes a
233description of tokens based on regular expressions and generates a Haskell
234module containing code for scanning text efficiently. It is similar to the
235tool lex or flex for C/C++.")
658dbc7f
RV
236 (license license:bsd-3)))
237
dddbc90c 238(define-public ghc-alsa-core
7b01a977 239 (package
dddbc90c
RV
240 (name "ghc-alsa-core")
241 (version "0.5.0.1")
242 (source
243 (origin
244 (method url-fetch)
245 (uri (string-append
246 "mirror://hackage/package/alsa-core/alsa-core-"
247 version
248 ".tar.gz"))
249 (sha256
250 (base32
251 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
252 (build-system haskell-build-system)
253 (inputs
254 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
255 ("alsa-lib" ,alsa-lib)))
256 (native-inputs
257 `(("pkg-config" ,pkg-config)))
258 (home-page "http://www.haskell.org/haskellwiki/ALSA")
259 (synopsis "Binding to the ALSA Library API (Exceptions)")
260 (description "This package provides access to ALSA infrastructure, that is
261needed by both alsa-seq and alsa-pcm.")
262 (license license:bsd-3)))
263
264(define-public ghc-annotated-wl-pprint
265 (package
266 (name "ghc-annotated-wl-pprint")
267 (version "0.7.0")
268 (source
269 (origin
270 (method url-fetch)
271 (uri (string-append
272 "https://hackage.haskell.org/package/annotated-wl-pprint"
273 "/annotated-wl-pprint-" version
274 ".tar.gz"))
275 (sha256
276 (base32
277 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
278 (build-system haskell-build-system)
279 (home-page
280 "https://github.com/david-christiansen/annotated-wl-pprint")
281 (synopsis
282 "The Wadler/Leijen Pretty Printer, with annotation support")
283 (description "This is a modified version of wl-pprint, which was based on
284Wadler's paper \"A Prettier Printer\". This version allows the library user
285to annotate the text with semantic information, which can later be rendered in
286a variety of ways.")
287 (license license:bsd-3)))
288
289(define-public ghc-ansi-terminal
290 (package
291 (name "ghc-ansi-terminal")
f1b4a73f 292 (version "0.9.1")
dddbc90c
RV
293 (source
294 (origin
295 (method url-fetch)
296 (uri (string-append
297 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
298 version
299 ".tar.gz"))
300 (sha256
301 (base32
f1b4a73f 302 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
dddbc90c
RV
303 (build-system haskell-build-system)
304 (inputs
305 `(("ghc-colour" ,ghc-colour)))
306 (home-page "https://github.com/feuerbach/ansi-terminal")
307 (synopsis "ANSI terminal support for Haskell")
308 (description "This package provides ANSI terminal support for Haskell. It
309allows cursor movement, screen clearing, color output showing or hiding the
310cursor, and changing the title.")
311 (license license:bsd-3)))
312
313(define-public ghc-ansi-wl-pprint
314 (package
315 (name "ghc-ansi-wl-pprint")
c38746eb 316 (version "0.6.9")
7b01a977
RV
317 (source
318 (origin
319 (method url-fetch)
320 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 321 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
322 version ".tar.gz"))
323 (sha256
324 (base32
c38746eb 325 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
7b01a977
RV
326 (build-system haskell-build-system)
327 (inputs
dddbc90c
RV
328 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
329 (home-page "https://github.com/ekmett/ansi-wl-pprint")
330 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
331 (description "This is a pretty printing library based on Wadler's paper
332\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
333colored output using the ansi-terminal package.")
334 (license license:bsd-3)))
335
336(define-public ghc-appar
337 (package
338 (name "ghc-appar")
1159d1a5 339 (version "0.1.8")
dddbc90c
RV
340 (source
341 (origin
342 (method url-fetch)
343 (uri (string-append
344 "https://hackage.haskell.org/package/appar/appar-"
345 version
346 ".tar.gz"))
347 (sha256
348 (base32
1159d1a5 349 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
350 (build-system haskell-build-system)
351 (home-page
352 "https://hackage.haskell.org/package/appar")
353 (synopsis "Simple applicative parser")
354 (description "This package provides a simple applicative parser in Parsec
355style.")
356 (license license:bsd-3)))
357
358(define-public ghc-async
359 (package
360 (name "ghc-async")
048ef066 361 (version "2.2.2")
dddbc90c
RV
362 (source
363 (origin
364 (method url-fetch)
365 (uri (string-append
366 "https://hackage.haskell.org/package/async/async-"
367 version
368 ".tar.gz"))
369 (sha256
370 (base32
048ef066 371 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
372 (build-system haskell-build-system)
373 (inputs
374 `(("ghc-hashable" ,ghc-hashable)
375 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
376 ("ghc-test-framework" ,ghc-test-framework)
377 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
378 (home-page "https://github.com/simonmar/async")
379 (synopsis "Library to run IO operations asynchronously")
380 (description "Async provides a library to run IO operations
381asynchronously, and wait for their results. It is a higher-level interface
382over threads in Haskell, in which @code{Async a} is a concurrent thread that
383will eventually deliver a value of type @code{a}.")
7b01a977
RV
384 (license license:bsd-3)))
385
9ad9ec2e
AG
386(define-public ghc-atomic-primops
387 (package
388 (name "ghc-atomic-primops")
389 (version "0.8.2")
390 (source
391 (origin
392 (method url-fetch)
393 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
394 "/atomic-primops-" version ".tar.gz"))
395 (sha256
396 (base32
397 "0cyr2x6xqz6s233znrz9rnrfj56m9bmnawwnka0lsqqy1hp8gy37"))))
398 (build-system haskell-build-system)
399 (inputs `(("ghc-primitive" ,ghc-primitive)))
400 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
401 (synopsis "Safe approach to CAS and other atomic ops")
402 (description
403 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
404use safely, because pointer equality is a highly unstable property in Haskell.
405This library provides a safer method based on the concept of @code{Ticket}s.")
406 (license license:bsd-3)))
407
dddbc90c 408(define-public ghc-atomic-write
79fcc5e5 409 (package
dddbc90c 410 (name "ghc-atomic-write")
c09d1e62 411 (version "0.2.0.6")
79fcc5e5
RV
412 (source
413 (origin
414 (method url-fetch)
dddbc90c
RV
415 (uri (string-append
416 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
417 version
418 ".tar.gz"))
79fcc5e5
RV
419 (sha256
420 (base32
c09d1e62 421 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
422 (build-system haskell-build-system)
423 (inputs
424 `(("ghc-temporary" ,ghc-temporary)
425 ("ghc-unix-compat" ,ghc-unix-compat)))
426 (native-inputs
427 `(("ghc-temporary" ,ghc-temporary)
428 ("ghc-unix-compat" ,ghc-unix-compat)
429 ("ghc-hspec" ,ghc-hspec)
430 ("hspec-discover" ,hspec-discover)))
431 (home-page "https://github.com/stackbuilders/atomic-write")
432 (synopsis "Atomically write to a file")
433 (description
434 "Atomically write to a file on POSIX-compliant systems while preserving
435permissions. @code{mv} is an atomic operation. This makes it simple to write
436to a file atomically just by using the @code{mv} operation. However, this
437will destroy the permissions on the original file. This library preserves
438permissions while atomically writing to a file.")
439 (license license:expat)))
440
441(define-public ghc-attoparsec
442 (package
443 (name "ghc-attoparsec")
511c3204 444 (version "0.13.2.3")
dddbc90c
RV
445 (source
446 (origin
447 (method url-fetch)
448 (uri (string-append
449 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
450 version
451 ".tar.gz"))
452 (sha256
453 (base32
511c3204 454 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 455 (build-system haskell-build-system)
79fcc5e5 456 (arguments
dddbc90c
RV
457 `(#:phases
458 (modify-phases %standard-phases
459 (add-after 'unpack 'patch-for-newer-quickcheck
460 (lambda _
461 (substitute* "attoparsec.cabal"
462 (("QuickCheck >= 2\\.7 && < 2\\.10")
463 "QuickCheck >= 2.7 && < 2.12"))
464 ;; This test fails because of the newer QuickCheck:
465 ;; <https://github.com/bos/attoparsec/issues/134>.
466 (substitute* "tests/QC/ByteString.hs"
467 ((", testProperty \"satisfyWith\" satisfyWith")
468 "")))))))
469 (inputs
470 `(("ghc-scientific" ,ghc-scientific)))
471 (native-inputs
472 `(("ghc-tasty" ,ghc-tasty)
473 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
474 ("ghc-quickcheck" ,ghc-quickcheck)
475 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
476 ("ghc-vector" ,ghc-vector)))
477 (home-page "https://github.com/bos/attoparsec")
478 (synopsis "Fast combinator parsing for bytestrings and text")
479 (description "This library provides a fast parser combinator library,
480aimed particularly at dealing efficiently with network protocols and
481complicated text/binary file formats.")
79fcc5e5
RV
482 (license license:bsd-3)))
483
dddbc90c 484(define-public ghc-attoparsec-bootstrap
6b34d01c 485 (package
dddbc90c
RV
486 (inherit ghc-attoparsec)
487 (name "ghc-attoparsec-bootstrap")
488 (arguments `(#:tests? #f))
489 (inputs
490 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
491 (native-inputs '())
799d8d3c 492 (properties '((hidden? #t)))))
dddbc90c
RV
493
494(define-public ghc-attoparsec-iso8601
495 (package
496 (name "ghc-attoparsec-iso8601")
6b34d01c
RV
497 (version "1.0.0.0")
498 (source
499 (origin
500 (method url-fetch)
501 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
502 "attoparsec-iso8601-" version "/"
503 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
504 (sha256
505 (base32
dddbc90c 506 "12l55b76bhya9q89mfmqmy6sl5v39b6gzrw5rf3f70vkb23nsv5a"))))
6b34d01c 507 (build-system haskell-build-system)
dddbc90c
RV
508 (arguments
509 `(#:cabal-revision
510 ("1" "06f7pgmmc8456p3hc1y23kz1y127gfczy7s00wz1rls9g2sm2vi4")))
511 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
512 ("ghc-base-compat" ,ghc-base-compat)))
513 (home-page "https://github.com/bos/aeson")
514 (synopsis "Parse ISO 8601 dates")
515 (description "Haskell library for parsing of ISO 8601 dates, originally
516from aeson.")
6b34d01c 517 (license license:bsd-3)))
b57e99f5 518
dddbc90c 519(define-public ghc-auto-update
b57e99f5 520 (package
dddbc90c
RV
521 (name "ghc-auto-update")
522 (version "0.1.4")
523 (source
524 (origin
525 (method url-fetch)
526 (uri (string-append
527 "https://hackage.haskell.org/package/auto-update/auto-update-"
528 version
529 ".tar.gz"))
530 (sha256
531 (base32
532 "09dlh2alsx2mw5kvj931yhbj0aw7jmly2cm9xbscm2sf098w35jy"))))
533 (build-system haskell-build-system)
534 (home-page "https://github.com/yesodweb/wai")
535 (synopsis "Efficiently run periodic, on-demand actions")
536 (description "This library provides mechanisms to efficiently run
537periodic, on-demand actions in Haskell.")
538 (license license:expat)))
539
540(define-public ghc-aws
541 (package
542 (name "ghc-aws")
543 (version "0.20")
b57e99f5
RV
544 (source
545 (origin
546 (method url-fetch)
547 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
548 "aws-" version "/aws-" version ".tar.gz"))
549 (sha256 (base32
550 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
551 (build-system haskell-build-system)
552 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
553 (inputs
554 `(("ghc-aeson" ,ghc-aeson)
555 ("ghc-attoparsec" ,ghc-attoparsec)
556 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
557 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
558 ("ghc-blaze-builder" ,ghc-blaze-builder)
559 ("ghc-byteable" ,ghc-byteable)
560 ("ghc-case-insensitive" ,ghc-case-insensitive)
561 ("ghc-cereal" ,ghc-cereal)
562 ("ghc-conduit" ,ghc-conduit)
563 ("ghc-conduit-extra" ,ghc-conduit-extra)
564 ("ghc-cryptonite" ,ghc-cryptonite)
565 ("ghc-data-default" ,ghc-data-default)
566 ("ghc-http-conduit" ,ghc-http-conduit)
567 ("ghc-http-types" ,ghc-http-types)
568 ("ghc-lifted-base" ,ghc-lifted-base)
569 ("ghc-monad-control" ,ghc-monad-control)
570 ("ghc-network" ,ghc-network)
571 ("ghc-old-locale" ,ghc-old-locale)
572 ("ghc-safe" ,ghc-safe)
573 ("ghc-scientific" ,ghc-scientific)
574 ("ghc-tagged" ,ghc-tagged)
575 ("ghc-unordered-containers" ,ghc-unordered-containers)
576 ("ghc-utf8-string" ,ghc-utf8-string)
577 ("ghc-vector" ,ghc-vector)
578 ("ghc-xml-conduit" ,ghc-xml-conduit)))
579 (native-inputs
580 `(("ghc-quickcheck" ,ghc-quickcheck)
581 ("ghc-errors" ,ghc-errors)
582 ("ghc-http-client" ,ghc-http-client)
583 ("ghc-http-client-tls" ,ghc-http-client-tls)
584 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
585 ("ghc-tasty" ,ghc-tasty)
586 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
587 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
588 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
589 (home-page "https://github.com/aristidb/aws")
590 (synopsis "Amazon Web Services for Haskell")
591 (description "This package attempts to provide support for using
592Amazon Web Services like S3 (storage), SQS (queuing) and others to
593Haskell programmers. The ultimate goal is to support all Amazon
594Web Services.")
595 (license license:bsd-3)))
596
597(define-public ghc-base16-bytestring
598 (package
599 (name "ghc-base16-bytestring")
600 (version "0.1.1.6")
601 (source
602 (origin
603 (method url-fetch)
604 (uri (string-append
605 "https://hackage.haskell.org/package/base16-bytestring/"
606 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
607 (sha256
608 (base32
dddbc90c 609 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 610 (build-system haskell-build-system)
dddbc90c
RV
611 (home-page "https://github.com/bos/base16-bytestring")
612 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
613 (description
614 "This package provides a Haskell library for working with base16-encoded
615data quickly and efficiently, using the ByteString type.")
b57e99f5 616 (license license:bsd-3)))
bbf8bf31 617
dddbc90c 618(define-public ghc-base64-bytestring
bbf8bf31 619 (package
dddbc90c
RV
620 (name "ghc-base64-bytestring")
621 (version "1.0.0.2")
bbf8bf31
RV
622 (source
623 (origin
624 (method url-fetch)
dddbc90c
RV
625 (uri (string-append
626 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
627 version
628 ".tar.gz"))
629 (sha256
630 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
631 (build-system haskell-build-system)
632 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
633 (home-page "https://github.com/bos/base64-bytestring")
634 (synopsis "Base64 encoding and decoding for ByteStrings")
635 (description "This library provides fast base64 encoding and decoding for
636Haskell @code{ByteString}s.")
637 (license license:bsd-3)))
638
639(define-public ghc-base-compat
640 (package
641 (name "ghc-base-compat")
4daaa371 642 (version "0.10.5")
dddbc90c
RV
643 (source
644 (origin
645 (method url-fetch)
646 (uri (string-append
647 "https://hackage.haskell.org/package/base-compat/base-compat-"
648 version
649 ".tar.gz"))
bbf8bf31
RV
650 (sha256
651 (base32
4daaa371 652 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31
RV
653 (build-system haskell-build-system)
654 (native-inputs
dddbc90c
RV
655 `(("ghc-quickcheck" ,ghc-quickcheck)
656 ("ghc-hspec" ,ghc-hspec)
657 ("hspec-discover" ,hspec-discover)))
658 (home-page "https://hackage.haskell.org/package/base-compat")
659 (synopsis "Haskell compiler compatibility library")
660 (description "This library provides functions available in later versions
661of base to a wider range of compilers, without requiring the use of CPP
662pragmas in your code.")
663 (license license:bsd-3)))
664
f9d78c7f
TS
665(define-public ghc-base-compat-batteries
666 (package
667 (name "ghc-base-compat-batteries")
668 (version "0.10.5")
669 (source
670 (origin
671 (method url-fetch)
672 (uri (string-append "https://hackage.haskell.org/package/"
673 "base-compat-batteries/base-compat-batteries-"
674 version ".tar.gz"))
675 (sha256
676 (base32
677 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
678 (build-system haskell-build-system)
679 (inputs
680 `(("ghc-base-compat" ,ghc-base-compat)))
681 (native-inputs
682 `(("ghc-hspec" ,ghc-hspec)
683 ("ghc-quickcheck" ,ghc-quickcheck)
684 ("hspec-discover" ,hspec-discover)))
685 (arguments
686 `(#:cabal-revision
687 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
688 (home-page "http://hackage.haskell.org/package/base-compat-batteries")
689 (synopsis "base-compat with extra batteries")
690 (description "This library provides functions available in later
691versions of @code{base} to a wider range of compilers, without requiring
692you to use CPP pragmas in your code. This package provides the same API
693as the @code{base-compat} library, but depends on compatibility
694packages (such as @code{semigroups}) to offer a wider support window
695than @code{base-compat}, which has no dependencies.")
696 (license license:expat)))
697
dddbc90c
RV
698(define-public ghc-basement
699 (package
700 (name "ghc-basement")
8b56c1fd 701 (version "0.0.11")
dddbc90c
RV
702 (source
703 (origin
704 (method url-fetch)
705 (uri (string-append "https://hackage.haskell.org/package/"
706 "basement/basement-" version ".tar.gz"))
707 (sha256
708 (base32
8b56c1fd 709 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
710 (build-system haskell-build-system)
711 (home-page "https://github.com/haskell-foundation/foundation")
712 (synopsis "Basic primitives for Foundation starter pack")
713 (description
714 "This package contains basic primitives for the Foundation set of
715packages.")
716 (license license:bsd-3)))
717
718(define-public ghc-base-orphans
719 (package
720 (name "ghc-base-orphans")
780477fb 721 (version "0.8.1")
dddbc90c
RV
722 (source
723 (origin
724 (method url-fetch)
725 (uri (string-append
726 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
727 version
728 ".tar.gz"))
729 (sha256
730 (base32
780477fb 731 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
732 (build-system haskell-build-system)
733 (native-inputs
734 `(("ghc-quickcheck" ,ghc-quickcheck)
735 ("ghc-hspec" ,ghc-hspec)
736 ("hspec-discover" ,hspec-discover)))
737 (home-page "https://hackage.haskell.org/package/base-orphans")
738 (synopsis "Orphan instances for backwards compatibility")
739 (description "This package defines orphan instances that mimic instances
740available in later versions of base to a wider (older) range of compilers.")
741 (license license:bsd-3)))
742
743(define-public ghc-base-prelude
744 (package
745 (name "ghc-base-prelude")
746 (version "1.3")
747 (source
748 (origin
749 (method url-fetch)
750 (uri (string-append "https://hackage.haskell.org/package/"
751 "base-prelude-" version "/"
752 "base-prelude-" version ".tar.gz"))
753 (sha256
754 (base32
755 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
756 (build-system haskell-build-system)
757 (home-page "https://github.com/nikita-volkov/base-prelude")
758 (synopsis "The most complete prelude formed solely from the Haskell's base
759package")
760 (description "This Haskell package aims to reexport all the non-conflicting
761and most general definitions from the \"base\" package.
762
763This includes APIs for applicatives, arrows, monoids, foldables, traversables,
764exceptions, generics, ST, MVars and STM.
765
766This package will never have any dependencies other than \"base\".
767
768Versioning policy:
769
770The versioning policy of this package deviates from PVP in the sense
771that its exports in part are transitively determined by the version of \"base\".
772Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
773the bounds of \"base\" as well.")
774 (license license:expat)))
775
776(define-public ghc-base-unicode-symbols
777 (package
778 (name "ghc-base-unicode-symbols")
779 (version "0.2.3")
780 (source
781 (origin
782 (method url-fetch)
783 (uri (string-append
784 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
785 version
786 ".tar.gz"))
787 (sha256
788 (base32
789 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
790 (build-system haskell-build-system)
791 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
792 (synopsis "Unicode alternatives for common functions and operators")
793 (description "This package defines new symbols for a number of functions,
794operators and types in the base package. All symbols are documented with
795their actual definition and information regarding their Unicode code point.
796They should be completely interchangeable with their definitions. For
797further Unicode goodness you can enable the @code{UnicodeSyntax}
798@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
799language extension}. This extension enables Unicode characters to be used to
800stand for certain ASCII character sequences, i.e. → instead of @code{->},
801∀ instead of @code{forall} and many others.")
802 (license license:bsd-3)))
803
804(define-public ghc-bifunctors
805 (package
806 (name "ghc-bifunctors")
0beaec66 807 (version "5.5.5")
dddbc90c
RV
808 (source
809 (origin
810 (method url-fetch)
811 (uri (string-append
812 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
813 version
814 ".tar.gz"))
815 (sha256
816 (base32
0beaec66 817 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
818 (build-system haskell-build-system)
819 (inputs
820 `(("ghc-base-orphans" ,ghc-base-orphans)
821 ("ghc-comonad" ,ghc-comonad)
822 ("ghc-th-abstraction" ,ghc-th-abstraction)
823 ("ghc-transformers-compat" ,ghc-transformers-compat)
824 ("ghc-tagged" ,ghc-tagged)
825 ("ghc-semigroups" ,ghc-semigroups)))
826 (native-inputs
827 `(("ghc-hspec" ,ghc-hspec)
828 ("hspec-discover" ,hspec-discover)
829 ("ghc-quickcheck" ,ghc-quickcheck)))
830 (home-page "https://github.com/ekmett/bifunctors/")
831 (synopsis "Bifunctors for Haskell")
832 (description "This package provides bifunctors for Haskell.")
833 (license license:bsd-3)))
834
835(define-public ghc-bindings-dsl
836 (package
837 (name "ghc-bindings-dsl")
838 (version "1.0.25")
839 (source
840 (origin
841 (method url-fetch)
842 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
843 "bindings-DSL-" version ".tar.gz"))
844 (sha256
845 (base32
846 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
847 (build-system haskell-build-system)
848 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
849 (synopsis "FFI domain specific language, on top of hsc2hs")
850 (description
851 "This is a set of macros to be used when writing Haskell FFI. They were
852designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
853extract from them all Haskell code needed to mimic such interfaces. All
854Haskell names used are automatically derived from C names, structures are
855mapped to Haskell instances of @code{Storable}, and there are also macros you
856can use with C code to help write bindings to inline functions or macro
857functions.")
858 (license license:bsd-3)))
859
860(define-public ghc-blaze-builder
861 (package
862 (name "ghc-blaze-builder")
863 (version "0.4.1.0")
864 (source
865 (origin
866 (method url-fetch)
867 (uri (string-append
868 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
869 version
870 ".tar.gz"))
871 (sha256
872 (base32
873 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
874 (build-system haskell-build-system)
875 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
876 (inputs
877 `(("ghc-utf8-string" ,ghc-utf8-string)))
878 (home-page "https://github.com/lpsmith/blaze-builder")
879 (synopsis "Efficient buffered output")
880 (description "This library provides an implementation of the older
881@code{blaze-builder} interface in terms of the new builder that shipped with
882@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
883bridge to the new builder, so that code that uses the old interface can
884interoperate with code that uses the new implementation.")
885 (license license:bsd-3)))
886
887(define-public ghc-blaze-markup
888 (package
889 (name "ghc-blaze-markup")
7d30fcf3 890 (version "0.8.2.3")
dddbc90c
RV
891 (source
892 (origin
893 (method url-fetch)
894 (uri (string-append "https://hackage.haskell.org/package/"
895 "blaze-markup/blaze-markup-"
896 version ".tar.gz"))
897 (sha256
898 (base32
7d30fcf3 899 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
900 (build-system haskell-build-system)
901 (arguments
902 `(#:phases
903 (modify-phases %standard-phases
904 (add-before 'configure 'update-constraints
905 (lambda _
906 (substitute* "blaze-markup.cabal"
907 (("tasty >= 1\\.0 && < 1\\.1")
908 "tasty >= 1.0 && < 1.2")))))))
909 (inputs
910 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
911 (native-inputs
912 `(("ghc-hunit" ,ghc-hunit)
913 ("ghc-quickcheck" ,ghc-quickcheck)
914 ("ghc-tasty" ,ghc-tasty)
915 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
916 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
917 (home-page "https://jaspervdj.be/blaze")
918 (synopsis "Fast markup combinator library for Haskell")
919 (description "This library provides core modules of a markup combinator
920library for Haskell.")
921 (license license:bsd-3)))
922
923(define-public ghc-bloomfilter
924 (package
925 (name "ghc-bloomfilter")
926 (version "2.0.1.0")
927 (source
928 (origin
929 (method url-fetch)
930 (uri (string-append "https://hackage.haskell.org/package/"
931 "bloomfilter/bloomfilter-" version ".tar.gz"))
932 (sha256
933 (base32
934 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
935 (build-system haskell-build-system)
936 (native-inputs
937 `(("ghc-quickcheck" ,ghc-quickcheck)
938 ("ghc-random" ,ghc-random)
939 ("ghc-test-framework" ,ghc-test-framework)
940 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
941 (home-page "https://github.com/bos/bloomfilter")
942 (synopsis "Pure and impure Bloom filter implementations")
943 (description "This package provides both mutable and immutable Bloom
944filter data types, along with a family of hash functions and an easy-to-use
945interface.")
946 (license license:bsd-3)))
947
948(define-public ghc-boxes
949 (package
950 (name "ghc-boxes")
951 (version "0.1.5")
952 (source
953 (origin
954 (method url-fetch)
955 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
956 version ".tar.gz"))
957 (sha256
958 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
959 (build-system haskell-build-system)
960 (inputs
961 `(("ghc-split" ,ghc-split)
962 ("ghc-quickcheck" ,ghc-quickcheck)))
963 (home-page "https://hackage.haskell.org/package/boxes")
964 (synopsis "2D text pretty-printing library")
965 (description
966 "Boxes is a pretty-printing library for laying out text in two dimensions,
967using a simple box model.")
968 (license license:bsd-3)))
969
970(define-public ghc-byteable
971 (package
972 (name "ghc-byteable")
973 (version "0.1.1")
974 (source (origin
975 (method url-fetch)
976 (uri (string-append "https://hackage.haskell.org/package/"
977 "byteable/byteable-" version ".tar.gz"))
978 (sha256
979 (base32
980 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
981 (build-system haskell-build-system)
982 (home-page "https://github.com/vincenthz/hs-byteable")
983 (synopsis "Type class for sequence of bytes")
984 (description
985 "This package provides an abstract class to manipulate sequence of bytes.
986The use case of this class is abstracting manipulation of types that are just
987wrapping a bytestring with stronger and more meaniful name.")
988 (license license:bsd-3)))
989
990(define-public ghc-byteorder
991 (package
992 (name "ghc-byteorder")
993 (version "1.0.4")
994 (source
995 (origin
996 (method url-fetch)
997 (uri (string-append
998 "https://hackage.haskell.org/package/byteorder/byteorder-"
999 version
1000 ".tar.gz"))
1001 (sha256
1002 (base32
1003 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1004 (build-system haskell-build-system)
1005 (home-page
1006 "http://community.haskell.org/~aslatter/code/byteorder")
1007 (synopsis
1008 "Exposes the native endianness of the system")
1009 (description
1010 "This package is for working with the native byte-ordering of the
1011system.")
1012 (license license:bsd-3)))
1013
1014(define-public ghc-bytes
1015 (package
1016 (name "ghc-bytes")
1017 (version "0.15.5")
1018 (source
1019 (origin
1020 (method url-fetch)
1021 (uri
1022 (string-append "https://hackage.haskell.org/package/bytes-"
1023 version "/bytes-"
1024 version ".tar.gz"))
1025 (file-name (string-append name "-" version ".tar.gz"))
1026 (sha256
1027 (base32
1028 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1029 (build-system haskell-build-system)
1030 (inputs `(("ghc-cereal" ,ghc-cereal)
1031 ("cabal-doctest" ,cabal-doctest)
1032 ("ghc-doctest" ,ghc-doctest)
1033 ("ghc-scientific" ,ghc-scientific)
1034 ("ghc-transformers-compat" ,ghc-transformers-compat)
1035 ("ghc-unordered-containers" ,ghc-unordered-containers)
1036 ("ghc-void" ,ghc-void)
1037 ("ghc-vector" ,ghc-vector)))
1038 (synopsis "Serialization between @code{binary} and @code{cereal}")
1039 (description "This package provides a simple compatibility shim that lets
1040you work with both @code{binary} and @code{cereal} with one chunk of
1041serialization code.")
1042 (home-page "https://hackage.haskell.org/package/bytes")
1043 (license license:bsd-3)))
1044
1045(define-public ghc-bytestring-builder
1046 (package
1047 (name "ghc-bytestring-builder")
13ac8a7f 1048 (version "0.10.8.2.0")
dddbc90c
RV
1049 (source
1050 (origin
1051 (method url-fetch)
1052 (uri (string-append
1053 "https://hackage.haskell.org/package/bytestring-builder"
1054 "/bytestring-builder-" version ".tar.gz"))
1055 (sha256
1056 (base32
13ac8a7f 1057 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1058 (build-system haskell-build-system)
1059 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1060 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1061 (synopsis "The new bytestring builder, packaged outside of GHC")
1062 (description "This package provides the bytestring builder that is
1063debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1064Compatibility package for older packages.")
1065 (license license:bsd-3)))
1066
1067(define-public ghc-bytestring-handle
1068 (package
1069 (name "ghc-bytestring-handle")
1070 (version "0.1.0.6")
1071 (source
1072 (origin
1073 (method url-fetch)
1074 (uri (string-append
1075 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1076 version ".tar.gz"))
1077 (sha256
1078 (base32
1079 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1080 (build-system haskell-build-system)
1081 (arguments
853748c4
TS
1082 `(#:cabal-revision
1083 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1084 #:phases
dddbc90c
RV
1085 (modify-phases %standard-phases
1086 (add-before 'configure 'update-constraints
1087 (lambda _
1088 (substitute* "bytestring-handle.cabal"
1089 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1090 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1091 (inputs
1092 `(("ghc-hunit" ,ghc-hunit)
1093 ("ghc-quickcheck" ,ghc-quickcheck)
1094 ("ghc-test-framework" ,ghc-test-framework)
1095 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1096 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1097 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1098 (synopsis "ByteString-backed Handles")
1099 (description "ByteString-backed Handles") ; There is no description
1100 (license license:bsd-3)))
1101
1102(define-public ghc-bytestring-lexing
1103 (package
1104 (name "ghc-bytestring-lexing")
1105 (version "0.5.0.2")
1106 (source
1107 (origin
1108 (method url-fetch)
1109 (uri (string-append "https://hackage.haskell.org/package/"
1110 "bytestring-lexing/bytestring-lexing-"
1111 version ".tar.gz"))
1112 (sha256
1113 (base32
1114 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1115 (build-system haskell-build-system)
1116 (home-page "http://code.haskell.org/~wren/")
1117 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1118 (description
1119 "This package provides tools to parse and produce literals efficiently
1120from strict or lazy bytestrings.")
1121 (license license:bsd-2)))
1122
1123(define-public ghc-bzlib-conduit
1124 (package
1125 (name "ghc-bzlib-conduit")
1126 (version "0.3.0.1")
1127 (source
1128 (origin
1129 (method url-fetch)
1130 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1131 "bzlib-conduit-" version ".tar.gz"))
1132 (sha256
1133 (base32
1134 "0fd2hnr782s7qgipazg2yxwia9qqhkvm9bcm90773c3zkxa13n23"))))
1135 (build-system haskell-build-system)
1136 (inputs
1137 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1138 ("ghc-conduit" ,ghc-conduit)
1139 ("ghc-data-default-class" ,ghc-data-default-class)
1140 ("ghc-resourcet" ,ghc-resourcet)))
1141 (native-inputs
1142 `(("ghc-hspec" ,ghc-hspec)
1143 ("ghc-random" ,ghc-random)))
1144 (home-page "https://github.com/snoyberg/bzlib-conduit")
1145 (synopsis "Streaming compression/decompression via conduits")
1146 (description
1147 "This package provides Haskell bindings to bzlib and Conduit support for
1148streaming compression and decompression.")
1149 (license license:bsd-3)))
1150
1151(define-public ghc-c2hs
1152 (package
1153 (name "ghc-c2hs")
1154 (version "0.28.6")
1155 (source
1156 (origin
1157 (method url-fetch)
1158 (uri (string-append
1159 "https://hackage.haskell.org/package/c2hs/c2hs-"
1160 version
1161 ".tar.gz"))
1162 (sha256
1163 (base32
1164 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1165 (build-system haskell-build-system)
1166 (inputs
1167 `(("ghc-language-c" ,ghc-language-c)
1168 ("ghc-dlist" ,ghc-dlist)))
1169 (native-inputs
1170 `(("ghc-test-framework" ,ghc-test-framework)
1171 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1172 ("ghc-hunit" ,ghc-hunit)
1173 ("ghc-shelly" ,ghc-shelly)
1174 ("gcc" ,gcc)))
1175 (arguments
1176 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1177 ;; of glibc 2.28.
1178 #:tests? #f
1179
1180 #:phases
1181 (modify-phases %standard-phases
1182 (add-before 'check 'set-cc
1183 ;; add a cc executable in the path, needed for some tests to pass
1184 (lambda* (#:key inputs #:allow-other-keys)
1185 (let ((gcc (assoc-ref inputs "gcc"))
1186 (tmpbin (tmpnam))
1187 (curpath (getenv "PATH")))
1188 (mkdir-p tmpbin)
1189 (symlink (which "gcc") (string-append tmpbin "/cc"))
1190 (setenv "PATH" (string-append tmpbin ":" curpath)))
1191 #t))
1192 (add-after 'check 'remove-cc
1193 ;; clean the tmp dir made in 'set-cc
1194 (lambda _
1195 (let* ((cc-path (which "cc"))
1196 (cc-dir (dirname cc-path)))
1197 (delete-file-recursively cc-dir)
1198 #t))))))
1199 (home-page "https://github.com/haskell/c2hs")
1200 (synopsis "Create Haskell bindings to C libraries")
1201 (description "C->Haskell assists in the development of Haskell bindings to
1202C libraries. It extracts interface information from C header files and
1203generates Haskell code with foreign imports and marshaling. Unlike writing
1204foreign imports by hand (or using hsc2hs), this ensures that C functions are
1205imported with the correct Haskell types.")
1206 (license license:gpl2)))
1207
1208(define-public ghc-cairo
1209 (package
1210 (name "ghc-cairo")
1211 (version "0.13.5.0")
1212 (source
1213 (origin
1214 (method url-fetch)
1215 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1216 "cairo-" version ".tar.gz"))
1217 (sha256
1218 (base32
1219 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1220 (build-system haskell-build-system)
1221 (arguments
1222 `(#:modules ((guix build haskell-build-system)
1223 (guix build utils)
1224 (ice-9 match)
1225 (srfi srfi-26))
1226 #:phases
1227 (modify-phases %standard-phases
1228 ;; FIXME: This is a copy of the standard configure phase with a tiny
1229 ;; difference: this package needs the -package-db flag to be passed
1230 ;; to "runhaskell" in addition to the "configure" action, because it
1231 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1232 ;; this option the Setup.hs file cannot be evaluated. The
1233 ;; haskell-build-system should be changed to pass "-package-db" to
1234 ;; "runhaskell" in any case.
1235 (replace 'configure
1236 (lambda* (#:key outputs inputs tests? (configure-flags '())
1237 #:allow-other-keys)
1238 (let* ((out (assoc-ref outputs "out"))
1239 (name-version (strip-store-file-name out))
1240 (input-dirs (match inputs
1241 (((_ . dir) ...)
1242 dir)
1243 (_ '())))
1244 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1245 (params (append `(,(string-append "--prefix=" out))
1246 `(,(string-append "--libdir=" out "/lib"))
1247 `(,(string-append "--bindir=" out "/bin"))
1248 `(,(string-append
1249 "--docdir=" out
1250 "/share/doc/" name-version))
1251 '("--libsubdir=$compiler/$pkg-$version")
1252 '("--package-db=../package.conf.d")
1253 '("--global")
1254 `(,@(map
1255 (cut string-append "--extra-include-dirs=" <>)
1256 (search-path-as-list '("include") input-dirs)))
1257 `(,@(map
1258 (cut string-append "--extra-lib-dirs=" <>)
1259 (search-path-as-list '("lib") input-dirs)))
1260 (if tests?
1261 '("--enable-tests")
1262 '())
1263 configure-flags)))
1264 (unsetenv "GHC_PACKAGE_PATH")
1265 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1266 "Setup.hs" "configure" params)
1267 (setenv "GHC_PACKAGE_PATH" ghc-path)
1268 #t))))))
1269 (inputs
1270 `(("ghc-utf8-string" ,ghc-utf8-string)
1271 ("cairo" ,cairo)))
1272 (native-inputs
1273 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1274 ("pkg-config" ,pkg-config)))
1275 (home-page "http://projects.haskell.org/gtk2hs/")
1276 (synopsis "Haskell bindings to the Cairo vector graphics library")
1277 (description
1278 "Cairo is a library to render high quality vector graphics. There exist
1279various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1280documents, amongst others.")
1281 (license license:bsd-3)))
1282
1283(define-public ghc-call-stack
1284 (package
1285 (name "ghc-call-stack")
1286 (version "0.1.0")
1287 (source
1288 (origin
1289 (method url-fetch)
1290 (uri (string-append "https://hackage.haskell.org/package/"
1291 "call-stack/call-stack-"
1292 version ".tar.gz"))
1293 (sha256
1294 (base32
1295 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1296 (build-system haskell-build-system)
1297 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1298 (home-page "https://github.com/sol/call-stack#readme")
1299 (synopsis "Use GHC call-stacks in a backward compatible way")
1300 (description "This package provides a compatibility layer for using GHC
1301call stacks with different versions of the compiler.")
1302 (license license:expat)))
1303
1304;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1305;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1306(define-public ghc-call-stack-boot
1307 (hidden-package
1308 (package
1309 (inherit ghc-call-stack)
1310 (arguments '(#:tests? #f))
1311 (inputs '()))))
1312
1313(define-public ghc-case-insensitive
1314 (package
1315 (name "ghc-case-insensitive")
1316 (version "1.2.0.11")
1317 (outputs '("out" "doc"))
1318 (source
1319 (origin
1320 (method url-fetch)
1321 (uri (string-append
1322 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1323 version
1324 ".tar.gz"))
1325 (sha256
1326 (base32
1327 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1328 (build-system haskell-build-system)
1329 ;; these inputs are necessary to use this library
1330 (inputs
1331 `(("ghc-hashable" ,ghc-hashable)))
1332 (arguments
1333 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1334 (home-page
1335 "https://github.com/basvandijk/case-insensitive")
1336 (synopsis "Case insensitive string comparison")
1337 (description
1338 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1339constructor which can be parameterised by a string-like type like:
1340@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1341the resulting type will be insensitive to cases.")
1342 (license license:bsd-3)))
1343
1344(define-public ghc-cereal
1345 (package
1346 (name "ghc-cereal")
bd95427e 1347 (version "0.5.8.1")
dddbc90c
RV
1348 (source
1349 (origin
1350 (method url-fetch)
1351 (uri (string-append
1352 "https://hackage.haskell.org/package/cereal/cereal-"
1353 version
1354 ".tar.gz"))
1355 (sha256
1356 (base32
bd95427e 1357 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1358 (build-system haskell-build-system)
1359 (native-inputs
1360 `(("ghc-quickcheck" ,ghc-quickcheck)
1361 ("ghc-fail" ,ghc-fail)
1362 ("ghc-test-framework" ,ghc-test-framework)
1363 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1364 (home-page "https://hackage.haskell.org/package/cereal")
1365 (synopsis "Binary serialization library")
1366 (description "This package provides a binary serialization library,
1367similar to @code{binary}, that introduces an @code{isolate} primitive for
1368parser isolation, and labeled blocks for better error messages.")
1369 (license license:bsd-3)))
1370
1371(define-public ghc-cereal-conduit
1372 (package
1373 (name "ghc-cereal-conduit")
1374 (version "0.8.0")
1375 (source
1376 (origin
1377 (method url-fetch)
1378 (uri (string-append "https://hackage.haskell.org/package/"
1379 "cereal-conduit/cereal-conduit-"
1380 version ".tar.gz"))
1381 (sha256
1382 (base32
1383 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1384 (build-system haskell-build-system)
1385 (inputs
1386 `(("ghc-conduit" ,ghc-conduit)
1387 ("ghc-resourcet" ,ghc-resourcet)
1388 ("ghc-cereal" ,ghc-cereal)))
1389 (native-inputs
1390 `(("ghc-hunit" ,ghc-hunit)))
1391 (home-page "https://github.com/snoyberg/conduit")
1392 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1393 (description
1394 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1395@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1396 (license license:bsd-3)))
1397
1398(define-public ghc-cgi
1399 (package
1400 (name "ghc-cgi")
1401 (version "3001.3.0.2")
1402 (source
1403 (origin
1404 (method url-fetch)
1405 (uri (string-append
1406 "https://hackage.haskell.org/package/cgi/cgi-"
1407 version
1408 ".tar.gz"))
1409 (sha256
1410 (base32
1411 "1hbpplss1m4rdpm4ibip6fpimlhssqa14fl338kl2jbc463i64cj"))))
1412 (build-system haskell-build-system)
1413 (arguments
1414 `(#:phases
1415 (modify-phases %standard-phases
1416 (add-before 'configure 'update-constraints
1417 (lambda _
1418 (substitute* "cgi.cabal"
1419 (("exceptions < 0\\.9")
1420 "exceptions < 0.11")
1421 (("time >= 1\\.5 && < 1\\.7")
1422 "time >= 1.5 && < 1.9")
1423 (("doctest >= 0\\.8 && < 0\\.12")
1424 "doctest >= 0.8 && < 0.17")
1425 (("QuickCheck >= 2\\.8\\.1 && < 2\\.10")
1426 "QuickCheck >= 2.8.1 && < 2.12")))))))
1427 (inputs
1428 `(("ghc-exceptions" ,ghc-exceptions)
1429 ("ghc-multipart" ,ghc-multipart)
1430 ("ghc-network-uri" ,ghc-network-uri)
1431 ("ghc-network" ,ghc-network)))
1432 (native-inputs
1433 `(("ghc-doctest" ,ghc-doctest)
1434 ("ghc-quickcheck" ,ghc-quickcheck)))
1435 (home-page
1436 "https://github.com/cheecheeo/haskell-cgi")
1437 (synopsis "Library for writing CGI programs")
1438 (description
1439 "This is a Haskell library for writing CGI programs.")
1440 (license license:bsd-3)))
1441
1442(define-public ghc-charset
1443 (package
1444 (name "ghc-charset")
1445 (version "0.3.7.1")
1446 (source
1447 (origin
1448 (method url-fetch)
1449 (uri (string-append
1450 "https://hackage.haskell.org/package/charset/charset-"
1451 version
1452 ".tar.gz"))
1453 (sha256
1454 (base32
1455 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1456 (build-system haskell-build-system)
1457 (inputs
1458 `(("ghc-semigroups" ,ghc-semigroups)
1459 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1460 (home-page "https://github.com/ekmett/charset")
1461 (synopsis "Fast unicode character sets for Haskell")
1462 (description "This package provides fast unicode character sets for
1463Haskell, based on complemented PATRICIA tries.")
1464 (license license:bsd-3)))
1465
1466(define-public ghc-chart
1467 (package
1468 (name "ghc-chart")
1469 (version "1.9")
1470 (source
1471 (origin
1472 (method url-fetch)
1473 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1474 "Chart-" version ".tar.gz"))
1475 (sha256
1476 (base32
1477 "1f5azj17y8xsb3gjhf7gg1gnnlq12rxkmfjmgcly314d7vghs05z"))))
1478 (build-system haskell-build-system)
1479 (inputs
1480 `(("ghc-old-locale" ,ghc-old-locale)
1481 ("ghc-lens" ,ghc-lens)
1482 ("ghc-colour" ,ghc-colour)
1483 ("ghc-data-default-class" ,ghc-data-default-class)
1484 ("ghc-operational" ,ghc-operational)
1485 ("ghc-vector" ,ghc-vector)))
1486 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1487 (synopsis "Library for generating 2D charts and plots")
1488 (description
1489 "This package provides a library for generating 2D charts and plots, with
1490backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1491 (license license:bsd-3)))
1492
1493(define-public ghc-chart-cairo
1494 (package
1495 (name "ghc-chart-cairo")
1496 (version "1.9")
1497 (source
1498 (origin
1499 (method url-fetch)
1500 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1501 "Chart-cairo-" version ".tar.gz"))
1502 (sha256
1503 (base32
1504 "0iany6lfyfb1cw0pxfs5aw5k0a6x41m6ql9ad9w59biwdckbsyqr"))))
1505 (build-system haskell-build-system)
1506 (inputs
1507 `(("ghc-old-locale" ,ghc-old-locale)
1508 ("ghc-cairo" ,ghc-cairo)
1509 ("ghc-colour" ,ghc-colour)
1510 ("ghc-data-default-class" ,ghc-data-default-class)
1511 ("ghc-operational" ,ghc-operational)
1512 ("ghc-lens" ,ghc-lens)
1513 ("ghc-chart" ,ghc-chart)))
1514 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1515 (synopsis "Cairo backend for Charts")
1516 (description "This package provides a Cairo vector graphics rendering
1517backend for the Charts library.")
1518 (license license:bsd-3)))
1519
1520(define-public ghc-chasingbottoms
1521 (package
1522 (name "ghc-chasingbottoms")
1f67853e 1523 (version "1.3.1.7")
dddbc90c
RV
1524 (source
1525 (origin
1526 (method url-fetch)
1527 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1528 "ChasingBottoms-" version ".tar.gz"))
1529 (sha256
1530 (base32
1f67853e 1531 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1532 (build-system haskell-build-system)
1533 (inputs
1534 `(("ghc-quickcheck" ,ghc-quickcheck)
1535 ("ghc-random" ,ghc-random)
1536 ("ghc-syb" ,ghc-syb)))
1537 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1538 (synopsis "Testing of partial and infinite values in Haskell")
1539 (description
1540 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1541 ;; rendered properly.
1542 "This is a library for testing code involving bottoms or infinite values.
1543For the underlying theory and a larger example involving use of QuickCheck,
1544see the article
1545@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1546\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1547Partial and Infinite Values\"}.")
1548 (license license:expat)))
1549
1550(define-public ghc-cheapskate
1551 (package
1552 (name "ghc-cheapskate")
1553 (version "0.1.1")
1554 (source
1555 (origin
1556 (method url-fetch)
1557 (uri (string-append
1558 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1559 version
1560 ".tar.gz"))
1561 (sha256
1562 (base32
1563 "1hiqi7h76shjzs2zj0j8g6wnq2hbiq1hmfafdazr97fba2zl2432"))))
1564 (build-system haskell-build-system)
1565 (inputs
1566 `(("ghc-blaze-html" ,ghc-blaze-html)
1567 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1568 ("ghc-data-default" ,ghc-data-default)
1569 ("ghc-syb" ,ghc-syb)
1570 ("ghc-uniplate" ,ghc-uniplate)))
1571 (home-page "https://github.com/jgm/cheapskate")
1572 (synopsis "Experimental markdown processor")
1573 (description "Cheapskate is an experimental Markdown processor in pure
1574Haskell. It aims to process Markdown efficiently and in the most forgiving
1575possible way. It is designed to deal with any input, including garbage, with
1576linear performance. Output is sanitized by default for protection against
1577cross-site scripting (@dfn{XSS}) attacks.")
1578 (license license:bsd-3)))
1579
1580(define-public ghc-chell
1581 (package
1582 (name "ghc-chell")
acdd03be 1583 (version "0.5")
dddbc90c
RV
1584 (source
1585 (origin
1586 (method url-fetch)
1587 (uri (string-append
1588 "https://hackage.haskell.org/package/chell/chell-"
1589 version ".tar.gz"))
1590 (sha256
1591 (base32
acdd03be 1592 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1593 (build-system haskell-build-system)
acdd03be
TS
1594 (arguments
1595 `(#:cabal-revision
1596 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1597 (inputs
1598 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1599 ("ghc-patience" ,ghc-patience)
1600 ("ghc-random" ,ghc-random)
1601 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1602 (home-page "https://john-millikin.com/software/chell/")
1603 (synopsis "Simple and intuitive library for automated testing")
1604 (description
1605 "Chell is a simple and intuitive library for automated testing.
1606It natively supports assertion-based testing, and can use companion
1607libraries such as @code{chell-quickcheck} to support more complex
1608testing strategies.")
1609 (license license:expat)))
1610
1611(define-public ghc-chell-quickcheck
1612 (package
1613 (name "ghc-chell-quickcheck")
e0e21831 1614 (version "0.2.5.2")
dddbc90c
RV
1615 (source
1616 (origin
1617 (method url-fetch)
1618 (uri (string-append
1619 "https://hackage.haskell.org/package/chell-quickcheck/"
1620 "chell-quickcheck-" version ".tar.gz"))
1621 (sha256
1622 (base32
e0e21831 1623 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1624 (build-system haskell-build-system)
1625 (arguments
1626 `(#:phases
1627 (modify-phases %standard-phases
1628 (add-before 'configure 'update-constraints
1629 (lambda _
1630 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1631 (("QuickCheck >= 2\\.3 && < 2\\.13")
1632 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1633 (inputs
1634 `(("ghc-chell" ,ghc-chell)
1635 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1636 ("ghc-random" ,ghc-random)
1637 ("ghc-quickcheck" ,ghc-quickcheck)))
1638 (home-page "https://john-millikin.com/software/chell/")
1639 (synopsis "QuickCheck support for the Chell testing library")
1640 (description "More complex tests for @code{chell}.")
1641 (license license:expat)))
1642
1643(define ghc-chell-quickcheck-bootstrap
1644 (package
1645 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1646 (version "0.2.5.2")
dddbc90c
RV
1647 (source
1648 (origin
1649 (method url-fetch)
1650 (uri (string-append
1651 "https://hackage.haskell.org/package/chell-quickcheck/"
1652 "chell-quickcheck-" version ".tar.gz"))
1653 (sha256
1654 (base32
e0e21831 1655 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1656 (build-system haskell-build-system)
1657 (inputs
1658 `(("ghc-chell" ,ghc-chell)
1659 ("ghc-random" ,ghc-random)
1660 ("ghc-quickcheck" ,ghc-quickcheck)))
1661 (arguments
1662 `(#:tests? #f
1663 #:phases
1664 (modify-phases %standard-phases
1665 (add-before 'configure 'update-constraints
1666 (lambda _
1667 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1668 (("QuickCheck >= 2\\.3 && < 2\\.13")
1669 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1670 (home-page "https://john-millikin.com/software/chell/")
1671 (synopsis "QuickCheck support for the Chell testing library")
1672 (description "More complex tests for @code{chell}.")
1673 (license license:expat)))
1674
1675(define-public ghc-chunked-data
1676 (package
1677 (name "ghc-chunked-data")
1678 (version "0.3.1")
1679 (source
1680 (origin
1681 (method url-fetch)
1682 (uri (string-append "https://hackage.haskell.org/package/"
1683 "chunked-data-" version "/"
1684 "chunked-data-" version ".tar.gz"))
1685 (sha256
1686 (base32
1687 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1688 (build-system haskell-build-system)
1689 (inputs `(("ghc-vector" ,ghc-vector)
1690 ("ghc-semigroups" ,ghc-semigroups)))
1691 (home-page "https://github.com/snoyberg/mono-traversable")
1692 (synopsis "Typeclasses for dealing with various chunked data
1693representations for Haskell")
1694 (description "This Haskell package was originally present in
1695classy-prelude.")
1696 (license license:expat)))
1697
1698(define-public ghc-clock
1699 (package
1700 (name "ghc-clock")
0841b6f2 1701 (version "0.8")
dddbc90c
RV
1702 (source
1703 (origin
1704 (method url-fetch)
1705 (uri (string-append
1706 "https://hackage.haskell.org/package/"
1707 "clock/"
1708 "clock-" version ".tar.gz"))
1709 (sha256
0841b6f2 1710 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1711 (build-system haskell-build-system)
1712 (inputs
1713 `(("ghc-tasty" ,ghc-tasty)
1714 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1715 (home-page "https://hackage.haskell.org/package/clock")
1716 (synopsis "High-resolution clock for Haskell")
1717 (description "A package for convenient access to high-resolution clock and
1718timer functions of different operating systems via a unified API.")
1719 (license license:bsd-3)))
1720
1721;; This package builds `clock` without tests, since the tests rely on tasty
1722;; and tasty-quickcheck, which in turn require clock to build.
1723(define-public ghc-clock-bootstrap
1724 (package
1725 (inherit ghc-clock)
1726 (name "ghc-clock-bootstrap")
1727 (arguments '(#:tests? #f))
1728 (inputs '())
1729 (properties '((hidden? #t)))))
1730
1731(define-public ghc-cmark
1732 (package
1733 (name "ghc-cmark")
6bdd36c0 1734 (version "0.6")
dddbc90c
RV
1735 (source (origin
1736 (method url-fetch)
6bdd36c0 1737 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1738 ;; See cbits/cmark_version.h.
1739 (uri (string-append "https://hackage.haskell.org/package/"
1740 "cmark/cmark-" version ".tar.gz"))
1741 (sha256
1742 (base32
6bdd36c0 1743 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
1744 (build-system haskell-build-system)
1745 (native-inputs
1746 `(("ghc-hunit" ,ghc-hunit)))
1747 (home-page "https://github.com/jgm/commonmark-hs")
1748 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1749 (description
1750 "This package provides Haskell bindings for
1751@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1752CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1753sources, and does not require prior installation of the C library.")
1754 (license license:bsd-3)))
1755
1756(define-public ghc-cmark-gfm
1757 (package
1758 (name "ghc-cmark-gfm")
24fc8dae 1759 (version "0.2.0")
dddbc90c
RV
1760 (source
1761 (origin
1762 (method url-fetch)
1763 (uri (string-append "https://hackage.haskell.org/package/"
1764 "cmark-gfm/cmark-gfm-"
1765 version ".tar.gz"))
1766 (sha256
1767 (base32
24fc8dae 1768 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
1769 (build-system haskell-build-system)
1770 (native-inputs
1771 `(("ghc-hunit" ,ghc-hunit)))
1772 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1773 (synopsis
1774 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1775 (description
1776 "This package provides Haskell bindings for libcmark-gfm, the reference
1777parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1778It includes sources for libcmark-gfm and does not require prior installation
1779of the C library.")
1780 (license license:bsd-3)))
1781
1782(define-public ghc-cmdargs
1783 (package
1784 (name "ghc-cmdargs")
1785 (version "0.10.20")
1786 (source
1787 (origin
1788 (method url-fetch)
1789 (uri (string-append
1790 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1791 version ".tar.gz"))
1792 (sha256
1793 (base32
1794 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1795 (build-system haskell-build-system)
1796 (home-page
1797 "http://community.haskell.org/~ndm/cmdargs/")
1798 (synopsis "Command line argument processing")
1799 (description
1800 "This library provides an easy way to define command line parsers.")
1801 (license license:bsd-3)))
1802
1803(define-public ghc-code-page
1804 (package
1805 (name "ghc-code-page")
f6bb6519 1806 (version "0.2")
dddbc90c
RV
1807 (source
1808 (origin
1809 (method url-fetch)
1810 (uri (string-append
1811 "https://hackage.haskell.org/package/code-page/code-page-"
1812 version ".tar.gz"))
1813 (sha256
1814 (base32
f6bb6519 1815 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1816 (build-system haskell-build-system)
1817 (home-page "https://github.com/RyanGlScott/code-page")
1818 (synopsis "Windows code page library for Haskell")
1819 (description "A cross-platform library with functions for adjusting
1820code pages on Windows. On all other operating systems, the library does
1821nothing.")
1822 (license license:bsd-3)))
1823
1824(define-public ghc-colour
1825(package
1826 (name "ghc-colour")
bc9d1af9 1827 (version "2.3.5")
dddbc90c
RV
1828 (source
1829 (origin
1830 (method url-fetch)
1831 (uri (string-append
1832 "https://hackage.haskell.org/package/colour/colour-"
1833 version ".tar.gz"))
1834 (sha256
1835 (base32
bc9d1af9 1836 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1837 (arguments
1838 ;; The tests for this package have the following dependency cycle:
1839 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1840 `(#:tests? #f))
1841 (build-system haskell-build-system)
1842 (home-page "https://www.haskell.org/haskellwiki/Colour")
1843 (synopsis "Model for human colour perception")
1844 (description
1845 "This package provides a data type for colours and transparency.
1846Colours can be blended and composed. Various colour spaces are
1847supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1848 (license license:expat)))
1849
1850(define-public ghc-comonad
1851 (package
1852 (name "ghc-comonad")
1a825512 1853 (version "5.0.5")
dddbc90c
RV
1854 (source
1855 (origin
1856 (method url-fetch)
1857 (uri (string-append
1858 "https://hackage.haskell.org/package/comonad/comonad-"
1859 version
1860 ".tar.gz"))
1861 (sha256
1862 (base32
1a825512 1863 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
1864 (build-system haskell-build-system)
1865 (native-inputs
1866 `(("cabal-doctest" ,cabal-doctest)
1867 ("ghc-doctest" ,ghc-doctest)))
1868 (inputs
1869 `(("ghc-contravariant" ,ghc-contravariant)
1870 ("ghc-distributive" ,ghc-distributive)
1871 ("ghc-semigroups" ,ghc-semigroups)
1872 ("ghc-tagged" ,ghc-tagged)
1873 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1874 (home-page "https://github.com/ekmett/comonad/")
1875 (synopsis "Comonads for Haskell")
1876 (description "This library provides @code{Comonad}s for Haskell.")
1877 (license license:bsd-3)))
1878
1879(define-public ghc-concatenative
1880 (package
1881 (name "ghc-concatenative")
1882 (version "1.0.1")
1883 (source (origin
1884 (method url-fetch)
1885 (uri (string-append
1886 "https://hackage.haskell.org/package/concatenative/concatenative-"
1887 version ".tar.gz"))
1888 (sha256
1889 (base32
1890 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1891 (build-system haskell-build-system)
1892 (home-page
1893 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1894 (synopsis "Library for postfix control flow")
1895 (description
1896 "Concatenative gives Haskell Factor-style combinators and arrows for
1897postfix notation. For more information on stack based languages, see
1898@uref{https://concatenative.org}.")
1899 (license license:bsd-3)))
1900
1901(define-public ghc-concurrent-extra
1902 (package
1903 (name "ghc-concurrent-extra")
1904 (version "0.7.0.12")
1905 (source
1906 (origin
1907 (method url-fetch)
1908 (uri (string-append "https://hackage.haskell.org/package/"
1909 "concurrent-extra/concurrent-extra-"
1910 version ".tar.gz"))
1911 (sha256
1912 (base32
1913 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
1914 (build-system haskell-build-system)
1915 (arguments
1916 ;; XXX: The ReadWriteLock 'stressTest' fails.
1917 `(#:tests? #f))
1918 (inputs
1919 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
1920 (native-inputs
1921 `(("ghc-async" ,ghc-async)
1922 ("ghc-hunit" ,ghc-hunit)
1923 ("ghc-random" ,ghc-random)
1924 ("ghc-test-framework" ,ghc-test-framework)
1925 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
1926 (home-page "https://github.com/basvandijk/concurrent-extra")
1927 (synopsis "Extra concurrency primitives")
1928 (description "This Haskell library offers (among other things) the
1929following selection of synchronisation primitives:
1930
1931@itemize
1932@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
1933@item @code{Event}: Wake multiple threads by signalling an event.
1934@item @code{Lock}: Enforce exclusive access to a resource. Also known
1935as a binary semaphore or mutex. The package additionally provides an
1936alternative that works in the STM monad.
1937@item @code{RLock}: A lock which can be acquired multiple times by the
1938same thread. Also known as a reentrant mutex.
1939@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
1940to protect shared resources which may be concurrently read, but only
1941sequentially written.
1942@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
1943@end itemize
1944
1945Please consult the API documentation of the individual modules for more
1946detailed information.
1947
1948This package was inspired by the concurrency libraries of Java and
1949Python.")
1950 (license license:bsd-3)))
1951
1952(define-public ghc-concurrent-output
1953 (package
1954 (name "ghc-concurrent-output")
4fce0a4a 1955 (version "1.10.11")
dddbc90c
RV
1956 (source
1957 (origin
1958 (method url-fetch)
1959 (uri (string-append
1960 "mirror://hackage/package/concurrent-output/concurrent-output-"
1961 version
1962 ".tar.gz"))
1963 (sha256
1964 (base32
4fce0a4a 1965 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
1966 (build-system haskell-build-system)
1967 (inputs
1968 `(("ghc-async" ,ghc-async)
1969 ("ghc-exceptions" ,ghc-exceptions)
1970 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1971 ("ghc-terminal-size" ,ghc-terminal-size)))
1972 (home-page
1973 "https://hackage.haskell.org/package/concurrent-output")
1974 (synopsis
1975 "Ungarble output from several threads or commands")
1976 (description
1977 "Lets multiple threads and external processes concurrently output to the
1978console, without it getting all garbled up.
1979
1980Built on top of that is a way of defining multiple output regions, which are
1981automatically laid out on the screen and can be individually updated by
1982concurrent threads. Can be used for progress displays etc.")
1983 (license license:bsd-2)))
1984
1985(define-public ghc-conduit
1986 (package
1987 (name "ghc-conduit")
1988 (version "1.3.0.3")
1989 (source (origin
1990 (method url-fetch)
1991 (uri (string-append "https://hackage.haskell.org/package/"
1992 "conduit/conduit-" version ".tar.gz"))
1993 (sha256
1994 (base32
1995 "1sangm0qqi9dzlq95746a3kl14k8b09592a423shxjf2a0b1yx5v"))))
1996 (build-system haskell-build-system)
1997 (inputs
1998 `(("ghc-exceptions" ,ghc-exceptions)
1999 ("ghc-lifted-base" ,ghc-lifted-base)
2000 ("ghc-mono-traversable" ,ghc-mono-traversable)
2001 ("ghc-mmorph" ,ghc-mmorph)
2002 ("ghc-resourcet" ,ghc-resourcet)
2003 ("ghc-silently" ,ghc-silently)
2004 ("ghc-transformers-base" ,ghc-transformers-base)
2005 ("ghc-unliftio" ,ghc-unliftio)
2006 ("ghc-unliftio-core" ,ghc-unliftio-core)
2007 ("ghc-vector" ,ghc-vector)
2008 ("ghc-void" ,ghc-void)))
2009 (native-inputs
2010 `(("ghc-quickcheck" ,ghc-quickcheck)
2011 ("ghc-hspec" ,ghc-hspec)
2012 ("ghc-safe" ,ghc-safe)
2013 ("ghc-split" ,ghc-split)))
2014 (home-page "https://github.com/snoyberg/conduit")
2015 (synopsis "Streaming data library ")
2016 (description
2017 "The conduit package is a solution to the streaming data problem,
2018allowing for production, transformation, and consumption of streams of data
2019in constant memory. It is an alternative to lazy I/O which guarantees
2020deterministic resource handling, and fits in the same general solution
2021space as enumerator/iteratee and pipes.")
2022 (license license:expat)))
2023
2024(define-public ghc-conduit-algorithms
2025 (package
2026 (name "ghc-conduit-algorithms")
2027 (version "0.0.8.1")
2028 (source
2029 (origin
2030 (method url-fetch)
2031 (uri (string-append "https://hackage.haskell.org/package/"
2032 "conduit-algorithms/conduit-algorithms-"
2033 version ".tar.gz"))
2034 (sha256
2035 (base32
2036 "07gx2q3d1bbfw14q41rmqg0i4m018pci10lswc0k1ij6lw7sb9fd"))))
2037 (build-system haskell-build-system)
2038 (inputs
2039 `(("ghc-async" ,ghc-async)
2040 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2041 ("ghc-conduit" ,ghc-conduit)
2042 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2043 ("ghc-conduit-extra" ,ghc-conduit-extra)
2044 ("ghc-exceptions" ,ghc-exceptions)
2045 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2046 ("ghc-monad-control" ,ghc-monad-control)
2047 ("ghc-pqueue" ,ghc-pqueue)
2048 ("ghc-resourcet" ,ghc-resourcet)
2049 ("ghc-stm-conduit" ,ghc-stm-conduit)
2050 ("ghc-streaming-commons" ,ghc-streaming-commons)
2051 ("ghc-unliftio-core" ,ghc-unliftio-core)
2052 ("ghc-vector" ,ghc-vector)))
2053 (native-inputs
2054 `(("ghc-hunit" ,ghc-hunit)
2055 ("ghc-test-framework" ,ghc-test-framework)
2056 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2057 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2058 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2059 (synopsis "Conduit-based algorithms")
2060 (description
2061 "This package provides algorithms on @code{Conduits}, including higher
2062level asynchronous processing and some other utilities.")
2063 (license license:expat)))
2064
2065(define-public ghc-conduit-combinators
2066 (package
2067 (name "ghc-conduit-combinators")
2068 (version "1.3.0")
2069 (source
2070 (origin
2071 (method url-fetch)
2072 (uri (string-append "https://hackage.haskell.org/package/"
2073 "conduit-combinators-" version "/"
2074 "conduit-combinators-" version ".tar.gz"))
2075 (sha256
2076 (base32
2077 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2078 (build-system haskell-build-system)
2079 (inputs `(("ghc-conduit" ,ghc-conduit)
2080 ("ghc-conduit-extra" ,ghc-conduit-extra)
2081 ("ghc-transformers-base" ,ghc-transformers-base)
2082 ("ghc-primitive" ,ghc-primitive)
2083 ("ghc-vector" ,ghc-vector)
2084 ("ghc-void" ,ghc-void)
2085 ("ghc-mwc-random" ,ghc-mwc-random)
2086 ("ghc-unix-compat" ,ghc-unix-compat)
2087 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2088 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2089 ("ghc-resourcet" ,ghc-resourcet)
2090 ("ghc-monad-control" ,ghc-monad-control)
2091 ("ghc-chunked-data" ,ghc-chunked-data)
2092 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2093 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2094 ("ghc-silently" ,ghc-silently)
2095 ("ghc-safe" ,ghc-safe)
2096 ("ghc-quickcheck" ,ghc-quickcheck)))
2097 (home-page "https://github.com/snoyberg/mono-traversable")
2098 (synopsis "Commonly used conduit functions, for both chunked and
2099unchunked data")
2100 (description "This Haskell package provides a replacement for Data.Conduit.List,
2101as well as a convenient Conduit module.")
2102 (license license:expat)))
2103
2104(define-public ghc-conduit-extra
2105 (package
2106 (name "ghc-conduit-extra")
2107 (version "1.3.1.1")
2108 (source
2109 (origin
2110 (method url-fetch)
2111 (uri (string-append "https://hackage.haskell.org/package/"
2112 "conduit-extra/conduit-extra-"
2113 version ".tar.gz"))
2114 (sha256
2115 (base32
2116 "0jaj350vv6mbb26gdwcqz4gwzfzrjydv5pis2da49wz1npbakcfw"))))
2117 (build-system haskell-build-system)
2118 (inputs
2119 `(("ghc-conduit" ,ghc-conduit)
2120 ("ghc-exceptions" ,ghc-exceptions)
2121 ("ghc-monad-control" ,ghc-monad-control)
2122 ("ghc-transformers-base" ,ghc-transformers-base)
2123 ("ghc-typed-process" ,ghc-typed-process)
2124 ("ghc-async" ,ghc-async)
2125 ("ghc-attoparsec" ,ghc-attoparsec)
2126 ("ghc-blaze-builder" ,ghc-blaze-builder)
2127 ("ghc-network" ,ghc-network)
2128 ("ghc-primitive" ,ghc-primitive)
2129 ("ghc-resourcet" ,ghc-resourcet)
2130 ("ghc-streaming-commons" ,ghc-streaming-commons)
2131 ("ghc-hspec" ,ghc-hspec)
2132 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2133 ("ghc-quickcheck" ,ghc-quickcheck)))
2134 (native-inputs
2135 `(("hspec-discover" ,hspec-discover)))
2136 (home-page "https://github.com/snoyberg/conduit")
2137 (synopsis "Conduit adapters for common libraries")
2138 (description
2139 "The @code{conduit} package itself maintains relative small dependencies.
2140The purpose of this package is to collect commonly used utility functions
2141wrapping other library dependencies, without depending on heavier-weight
2142dependencies. The basic idea is that this package should only depend on
2143@code{haskell-platform} packages and @code{conduit}.")
2144 (license license:expat)))
2145
2146(define-public ghc-configurator
2147 (package
2148 (name "ghc-configurator")
2149 (version "0.3.0.0")
2150 (source
2151 (origin
2152 (method url-fetch)
2153 (uri (string-append "https://hackage.haskell.org/package/"
2154 "configurator/configurator-"
2155 version ".tar.gz"))
2156 (sha256
2157 (base32
2158 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2159 (build-system haskell-build-system)
2160 (inputs
2161 `(("ghc-attoparsec" ,ghc-attoparsec)
2162 ("ghc-hashable" ,ghc-hashable)
2163 ("ghc-unix-compat" ,ghc-unix-compat)
2164 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2165 (native-inputs
2166 `(("ghc-hunit" ,ghc-hunit)
2167 ("ghc-test-framework" ,ghc-test-framework)
2168 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2169 (home-page "http://github.com/bos/configurator")
2170 (synopsis "Configuration management")
2171 (description
2172 "This package provides a configuration management library for programs
2173and daemons. The features include:
2174
2175@enumerate
2176@item Automatic, dynamic reloading in response to modifications to
2177 configuration files.
2178@item A simple, but flexible, configuration language, supporting several of
2179 the most commonly needed types of data, along with interpolation of strings
2180 from the configuration or the system environment (e.g. @code{$(HOME)}).
2181@item Subscription-based notification of changes to configuration properties.
2182@item An @code{import} directive allows the configuration of a complex
2183 application to be split across several smaller files, or common configuration
2184 data to be shared across several applications.
2185@end enumerate\n")
2186 (license license:bsd-3)))
2187
2188(define-public ghc-connection
2189 (package
2190 (name "ghc-connection")
2191 (version "0.2.8")
2192 (source (origin
2193 (method url-fetch)
2194 (uri (string-append "https://hackage.haskell.org/package/"
2195 "connection/connection-"
2196 version ".tar.gz"))
2197 (sha256
2198 (base32
2199 "1swkb9w5vx9ph7x55y51dc0srj2z27nd9ibgn8c0qcl6hx7g9cbh"))))
2200 (build-system haskell-build-system)
2201 (inputs
2202 `(("ghc-byteable" ,ghc-byteable)
2203 ("ghc-data-default-class" ,ghc-data-default-class)
2204 ("ghc-network" ,ghc-network)
2205 ("ghc-tls" ,ghc-tls)
2206 ("ghc-socks" ,ghc-socks)
2207 ("ghc-x509" ,ghc-x509)
2208 ("ghc-x509-store" ,ghc-x509-store)
2209 ("ghc-x509-system" ,ghc-x509-system)
2210 ("ghc-x509-validation" ,ghc-x509-validation)))
2211 (home-page "https://github.com/vincenthz/hs-connection")
2212 (synopsis "Simple and easy network connections API")
2213 (description
2214 "This package provides a simple network library for all your connection
2215needs. It provides a very simple API to create sockets to a destination with
2216the choice of SSL/TLS, and SOCKS.")
2217 (license license:bsd-3)))
2218
2219(define-public ghc-constraints
2220 (package
2221 (name "ghc-constraints")
2222 (version "0.10.1")
2223 (source
2224 (origin
2225 (method url-fetch)
2226 (uri (string-append
2227 "https://hackage.haskell.org/package/constraints/constraints-"
2228 version ".tar.gz"))
2229 (sha256
2230 (base32
2231 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2232 (build-system haskell-build-system)
2233 (inputs
2234 `(("ghc-hashable" ,ghc-hashable)
2235 ("ghc-semigroups" ,ghc-semigroups)
2236 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2237 (native-inputs
2238 `(("ghc-hspec" ,ghc-hspec)
2239 ("hspec-discover" ,hspec-discover)))
2240 (home-page "https://github.com/ekmett/constraints/")
2241 (synopsis "Constraint manipulation")
2242 (description
2243 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2244They stopped crashing the compiler in GHC 7.6. This package provides
2245a vocabulary for working with them.")
2246 (license license:bsd-3)))
2247
2248(define-public ghc-contravariant
2249 (package
2250 (name "ghc-contravariant")
e7b35ff0 2251 (version "1.5.2")
dddbc90c
RV
2252 (source
2253 (origin
2254 (method url-fetch)
2255 (uri (string-append
2256 "https://hackage.haskell.org/package/contravariant/contravariant-"
2257 version
2258 ".tar.gz"))
2259 (sha256
2260 (base32
e7b35ff0 2261 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2262 (build-system haskell-build-system)
2263 (inputs
2264 `(("ghc-void" ,ghc-void)
2265 ("ghc-transformers-compat" ,ghc-transformers-compat)
2266 ("ghc-statevar" ,ghc-statevar)
2267 ("ghc-semigroups" ,ghc-semigroups)))
2268 (home-page
2269 "https://github.com/ekmett/contravariant/")
2270 (synopsis "Contravariant functors")
2271 (description "Contravariant functors for Haskell.")
2272 (license license:bsd-3)))
2273
2274(define-public ghc-contravariant-extras
2275 (package
2276 (name "ghc-contravariant-extras")
2277 (version "0.3.4")
2278 (source
2279 (origin
2280 (method url-fetch)
2281 (uri (string-append "https://hackage.haskell.org/package/"
2282 "contravariant-extras-" version "/"
2283 "contravariant-extras-" version ".tar.gz"))
2284 (sha256
2285 (base32
2286 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2287 (build-system haskell-build-system)
2288 (inputs
2289 `(("ghc-tuple-th" ,ghc-tuple-th)
2290 ("ghc-contravariant" ,ghc-contravariant)
2291 ("ghc-base-prelude" ,ghc-base-prelude)
2292 ("ghc-semigroups" ,ghc-semigroups)))
2293 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2294 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2295 (description "This Haskell package provides extras for the
2296@code{ghc-contravariant} package.")
2297 (license license:expat)))
2298
2299(define-public ghc-convertible
2300 (package
2301 (name "ghc-convertible")
2302 (version "1.1.1.0")
2303 (source
2304 (origin
2305 (method url-fetch)
2306 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2307 "convertible-" version ".tar.gz"))
2308 (sha256
2309 (base32
2310 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2311 (build-system haskell-build-system)
2312 (inputs
2313 `(("ghc-old-time" ,ghc-old-time)
2314 ("ghc-old-locale" ,ghc-old-locale)))
2315 (home-page "https://hackage.haskell.org/package/convertible")
2316 (synopsis "Typeclasses and instances for converting between types")
2317 (description
2318 "This package provides a typeclass with a single function that is
2319designed to help convert between different types: numeric values, dates and
2320times, and the like. The conversions perform bounds checking and return a
2321pure @code{Either} value. This means that you need not remember which specific
2322function performs the conversion you desire.")
2323 (license license:bsd-3)))
2324
2325(define-public ghc-data-accessor
2326 (package
2327 (name "ghc-data-accessor")
6dcca515 2328 (version "0.2.2.8")
dddbc90c
RV
2329 (source
2330 (origin
2331 (method url-fetch)
2332 (uri (string-append
2333 "mirror://hackage/package/data-accessor/data-accessor-"
2334 version ".tar.gz"))
2335 (sha256
6dcca515 2336 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2337 (build-system haskell-build-system)
2338 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2339 (synopsis
2340 "Haskell utilities for accessing and manipulating fields of records")
2341 (description "This package provides Haskell modules for accessing and
2342manipulating fields of records.")
2343 (license license:bsd-3)))
2344
2345(define-public ghc-data-accessor-transformers
2346 (package
2347 (name "ghc-data-accessor-transformers")
2348 (version "0.2.1.7")
2349 (source
2350 (origin
2351 (method url-fetch)
2352 (uri (string-append
2353 "mirror://hackage/package/data-accessor-transformers/"
2354 "data-accessor-transformers-" version ".tar.gz"))
2355 (sha256
2356 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2357 (build-system haskell-build-system)
2358 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2359 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2360 (synopsis "Use Accessor to access state in transformers State monad")
2361 (description "This package provides Haskell modules to allow use of
2362Accessor to access state in transformers State monad.")
2363 (license license:bsd-3)))
2364
2365(define-public ghc-data-default
2366 (package
2367 (name "ghc-data-default")
2368 (version "0.7.1.1")
2369 (source
2370 (origin
2371 (method url-fetch)
2372 (uri (string-append
2373 "https://hackage.haskell.org/package/data-default/data-default-"
2374 version
2375 ".tar.gz"))
2376 (sha256
2377 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2378 (build-system haskell-build-system)
2379 (inputs
2380 `(("ghc-data-default-class"
2381 ,ghc-data-default-class)
2382 ("ghc-data-default-instances-base"
2383 ,ghc-data-default-instances-base)
2384 ("ghc-data-default-instances-containers"
2385 ,ghc-data-default-instances-containers)
2386 ("ghc-data-default-instances-dlist"
2387 ,ghc-data-default-instances-dlist)
2388 ("ghc-data-default-instances-old-locale"
2389 ,ghc-data-default-instances-old-locale)))
2390 (home-page "https://hackage.haskell.org/package/data-default")
2391 (synopsis "Types with default values")
2392 (description
2393 "This package defines a class for types with a default value, and
2394provides instances for types from the base, containers, dlist and old-locale
2395packages.")
2396 (license license:bsd-3)))
2397
2398(define-public ghc-data-default-class
2399 (package
2400 (name "ghc-data-default-class")
2401 (version "0.1.2.0")
2402 (source
2403 (origin
2404 (method url-fetch)
2405 (uri (string-append
2406 "https://hackage.haskell.org/package/data-default-class/"
2407 "data-default-class-" version ".tar.gz"))
2408 (sha256
2409 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2410 (build-system haskell-build-system)
2411 (home-page "https://hackage.haskell.org/package/data-default-class")
2412 (synopsis "Types with default values")
2413 (description
2414 "This package defines a class for types with default values.")
2415 (license license:bsd-3)))
2416
2417(define-public ghc-data-default-instances-base
2418 (package
2419 (name "ghc-data-default-instances-base")
2420 (version "0.1.0.1")
2421 (source
2422 (origin
2423 (method url-fetch)
2424 (uri (string-append
2425 "https://hackage.haskell.org/package/"
2426 "data-default-instances-base/"
2427 "data-default-instances-base-" version ".tar.gz"))
2428 (sha256
2429 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2430 (build-system haskell-build-system)
2431 (inputs
2432 `(("ghc-data-default-class" ,ghc-data-default-class)))
2433 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2434 (synopsis "Default instances for types in base")
2435 (description
2436 "This package provides default instances for types from the base
2437package.")
2438 (license license:bsd-3)))
2439
2440(define-public ghc-data-default-instances-containers
2441 (package
2442 (name "ghc-data-default-instances-containers")
2443 (version "0.0.1")
2444 (source
2445 (origin
2446 (method url-fetch)
2447 (uri (string-append
2448 "https://hackage.haskell.org/package/"
2449 "data-default-instances-containers/"
2450 "data-default-instances-containers-" version ".tar.gz"))
2451 (sha256
2452 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2453 (build-system haskell-build-system)
2454 (inputs
2455 `(("ghc-data-default-class" ,ghc-data-default-class)))
2456 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2457 (synopsis "Default instances for types in containers")
2458 (description "Provides default instances for types from the containers
2459package.")
2460 (license license:bsd-3)))
2461
2462(define-public ghc-data-default-instances-dlist
2463 (package
2464 (name "ghc-data-default-instances-dlist")
2465 (version "0.0.1")
2466 (source
2467 (origin
2468 (method url-fetch)
2469 (uri (string-append
2470 "https://hackage.haskell.org/package/"
2471 "data-default-instances-dlist/"
2472 "data-default-instances-dlist-" version ".tar.gz"))
2473 (sha256
2474 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2475 (build-system haskell-build-system)
2476 (inputs
2477 `(("ghc-data-default-class" ,ghc-data-default-class)
2478 ("ghc-dlist" ,ghc-dlist)))
2479 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2480 (synopsis "Default instances for types in dlist")
2481 (description "Provides default instances for types from the dlist
2482package.")
2483 (license license:bsd-3)))
2484
2485(define-public ghc-data-default-instances-old-locale
2486 (package
2487 (name "ghc-data-default-instances-old-locale")
2488 (version "0.0.1")
2489 (source
2490 (origin
2491 (method url-fetch)
2492 (uri (string-append
2493 "https://hackage.haskell.org/package/"
2494 "data-default-instances-old-locale/"
2495 "data-default-instances-old-locale-" version ".tar.gz"))
2496 (sha256
2497 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2498 (build-system haskell-build-system)
2499 (inputs
2500 `(("ghc-data-default-class" ,ghc-data-default-class)
2501 ("ghc-old-locale" ,ghc-old-locale)))
2502 (home-page
2503 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2504 (synopsis "Default instances for types in old-locale")
2505 (description "Provides Default instances for types from the old-locale
2506 package.")
2507 (license license:bsd-3)))
2508
2509(define-public ghc-data-hash
2510 (package
2511 (name "ghc-data-hash")
2512 (version "0.2.0.1")
2513 (source
2514 (origin
2515 (method url-fetch)
2516 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2517 "/data-hash-" version ".tar.gz"))
2518 (sha256
2519 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2520 (build-system haskell-build-system)
2521 (inputs
2522 `(("ghc-quickcheck" ,ghc-quickcheck)
2523 ("ghc-test-framework" ,ghc-test-framework)
2524 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2525 (home-page "https://hackage.haskell.org/package/data-hash")
2526 (synopsis "Combinators for building fast hashing functions")
2527 (description
2528 "This package provides combinators for building fast hashing functions.
2529It includes hashing functions for all basic Haskell98 types.")
2530 (license license:bsd-3)))
2531
2532(define-public ghc-data-ordlist
2533 (package
2534 (name "ghc-data-ordlist")
2535 (version "0.4.7.0")
2536 (source
2537 (origin
2538 (method url-fetch)
2539 (uri (string-append
2540 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2541 version ".tar.gz"))
2542 (sha256
2543 (base32
2544 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2545 (build-system haskell-build-system)
2546 (home-page "https://hackage.haskell.org/package/data-ordlist")
2547 (synopsis "Set and bag operations on ordered lists")
2548 (description
2549 "This module provides set and multiset operations on ordered lists.")
2550 (license license:bsd-3)))
2551
2552(define-public ghc-deepseq-generics
2553 (package
2554 (name "ghc-deepseq-generics")
2555 (version "0.2.0.0")
2556 (source (origin
2557 (method url-fetch)
2558 (uri (string-append "https://hackage.haskell.org/package/"
2559 "deepseq-generics/deepseq-generics-"
2560 version ".tar.gz"))
2561 (sha256
2562 (base32
2563 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2564 (build-system haskell-build-system)
2565 (arguments
2566 `(#:cabal-revision
2567 ("2" "1pnidf8w8x0w5fsqgv8hhrw07slmhxwy5x4fikgk0bd6k76aqicb")))
2568 (native-inputs
2569 `(("ghc-hunit" ,ghc-hunit)
2570 ("ghc-test-framework" ,ghc-test-framework)
2571 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2572 (home-page "https://github.com/hvr/deepseq-generics")
2573 (synopsis "Generic RNF implementation")
2574 (description
2575 "This package provides a @code{GHC.Generics}-based
2576@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2577providing an @code{rnf} implementation.")
2578 (license license:bsd-3)))
2579
2580(define-public ghc-descriptive
2581 (package
2582 (name "ghc-descriptive")
2583 (version "0.9.5")
2584 (source
2585 (origin
2586 (method url-fetch)
2587 (uri (string-append
2588 "https://hackage.haskell.org/package/descriptive/descriptive-"
2589 version
2590 ".tar.gz"))
2591 (sha256
2592 (base32
2593 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2594 (build-system haskell-build-system)
2595 (inputs
2596 `(("ghc-aeson" ,ghc-aeson)
2597 ("ghc-bifunctors" ,ghc-bifunctors)
2598 ("ghc-scientific" ,ghc-scientific)
2599 ("ghc-vector" ,ghc-vector)))
2600 (native-inputs
2601 `(("ghc-hunit" ,ghc-hunit)
2602 ("ghc-hspec" ,ghc-hspec)))
2603 (home-page
2604 "https://github.com/chrisdone/descriptive")
2605 (synopsis
2606 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2607 (description
2608 "This package provides datatypes and functions for creating consumers
2609and parsers with useful semantics.")
2610 (license license:bsd-3)))
2611
2612(define-public ghc-diff
2613 (package
2614 (name "ghc-diff")
2615 (version "0.3.4")
2616 (source (origin
2617 (method url-fetch)
2618 (uri (string-append "https://hackage.haskell.org/package/"
2619 "Diff/Diff-" version ".tar.gz"))
2620 (sha256
2621 (base32
2622 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
2623 (build-system haskell-build-system)
2624 (native-inputs
2625 `(("ghc-quickcheck" ,ghc-quickcheck)
2626 ("ghc-test-framework" ,ghc-test-framework)
2627 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2628 (home-page "https://hub.darcs.net/sterlingclover/Diff")
2629 (synopsis "O(ND) diff algorithm in Haskell")
2630 (description
2631 "This package provides an implementation of the standard diff algorithm,
2632and utilities for pretty printing.")
2633 (license license:bsd-3)))
2634
2635(define-public ghc-disk-free-space
2636 (package
2637 (name "ghc-disk-free-space")
2638 (version "0.1.0.1")
2639 (source
2640 (origin
2641 (method url-fetch)
2642 (uri (string-append "https://hackage.haskell.org/package/"
2643 "disk-free-space/disk-free-space-"
2644 version ".tar.gz"))
2645 (sha256
2646 (base32
2647 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
2648 (build-system haskell-build-system)
2649 (home-page "https://github.com/redneb/disk-free-space")
2650 (synopsis "Retrieve information about disk space usage")
2651 (description "A cross-platform library for retrieving information about
2652disk space usage.")
2653 (license license:bsd-3)))
2654
2655(define-public ghc-distributive
2656 (package
2657 (name "ghc-distributive")
e4c92f28 2658 (version "0.6.1")
dddbc90c
RV
2659 (source
2660 (origin
2661 (method url-fetch)
2662 (uri (string-append
2663 "https://hackage.haskell.org/package/distributive/distributive-"
2664 version
2665 ".tar.gz"))
2666 (sha256
2667 (base32
e4c92f28 2668 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 2669 (build-system haskell-build-system)
dddbc90c
RV
2670 (inputs
2671 `(("ghc-tagged" ,ghc-tagged)
2672 ("ghc-base-orphans" ,ghc-base-orphans)
2673 ("ghc-transformers-compat" ,ghc-transformers-compat)
2674 ("ghc-semigroups" ,ghc-semigroups)
2675 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2676 (native-inputs
2677 `(("cabal-doctest" ,cabal-doctest)
2678 ("ghc-doctest" ,ghc-doctest)
2679 ("ghc-hspec" ,ghc-hspec)
2680 ("hspec-discover" ,hspec-discover)))
2681 (home-page "https://github.com/ekmett/distributive/")
2682 (synopsis "Distributive functors for Haskell")
2683 (description "This package provides distributive functors for Haskell.
2684Dual to @code{Traversable}.")
2685 (license license:bsd-3)))
2686
2687(define-public ghc-dlist
2688 (package
2689 (name "ghc-dlist")
197ddf33 2690 (version "0.8.0.7")
dddbc90c
RV
2691 (source
2692 (origin
2693 (method url-fetch)
2694 (uri (string-append
2695 "https://hackage.haskell.org/package/dlist/dlist-"
2696 version
2697 ".tar.gz"))
2698 (sha256
197ddf33 2699 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
2700 (build-system haskell-build-system)
2701 (inputs
2702 `(("ghc-quickcheck" ,ghc-quickcheck)))
2703 (home-page "https://github.com/spl/dlist")
2704 (synopsis "Difference lists")
2705 (description
2706 "Difference lists are a list-like type supporting O(1) append. This is
2707particularly useful for efficient logging and pretty printing (e.g. with the
2708Writer monad), where list append quickly becomes too expensive.")
2709 (license license:bsd-3)))
2710
2711(define-public ghc-doctemplates
2712 (package
2713 (name "ghc-doctemplates")
2714 (version "0.2.2.1")
2715 (source
2716 (origin
2717 (method url-fetch)
2718 (uri (string-append "https://hackage.haskell.org/package/"
2719 "doctemplates/doctemplates-"
2720 version ".tar.gz"))
2721 (sha256
2722 (base32
2723 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
2724 (build-system haskell-build-system)
2725 (inputs
2726 `(("ghc-aeson" ,ghc-aeson)
2727 ("ghc-blaze-markup" ,ghc-blaze-markup)
2728 ("ghc-blaze-html" ,ghc-blaze-html)
2729 ("ghc-vector" ,ghc-vector)
2730 ("ghc-unordered-containers" ,ghc-unordered-containers)
2731 ("ghc-scientific" ,ghc-scientific)))
2732 (native-inputs
2733 `(("ghc-hspec" ,ghc-hspec)))
2734 (home-page "https://github.com/jgm/doctemplates#readme")
2735 (synopsis "Pandoc-style document templates")
2736 (description
2737 "This package provides a simple text templating system used by pandoc.")
2738 (license license:bsd-3)))
2739
2740(define-public ghc-doctest
2741 (package
2742 (name "ghc-doctest")
19c14a0f 2743 (version "0.16.2")
dddbc90c
RV
2744 (source
2745 (origin
2746 (method url-fetch)
2747 (uri (string-append
2748 "https://hackage.haskell.org/package/doctest/doctest-"
2749 version
2750 ".tar.gz"))
2751 (sha256
2752 (base32
19c14a0f 2753 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
2754 (build-system haskell-build-system)
2755 (arguments `(#:tests? #f)) ; FIXME: missing test framework
2756 (inputs
2757 `(("ghc-syb" ,ghc-syb)
2758 ("ghc-paths" ,ghc-paths)
2759 ("ghc-base-compat" ,ghc-base-compat)
2760 ("ghc-code-page" ,ghc-code-page)
2761 ("ghc-hunit" ,ghc-hunit)
2762 ("ghc-hspec" ,ghc-hspec)
2763 ("ghc-quickcheck" ,ghc-quickcheck)
2764 ("ghc-stringbuilder" ,ghc-stringbuilder)
2765 ("ghc-silently" ,ghc-silently)
2766 ("ghc-setenv" ,ghc-setenv)))
2767 (home-page
2768 "https://github.com/sol/doctest#readme")
2769 (synopsis "Test interactive Haskell examples")
2770 (description "The doctest program checks examples in source code comments.
2771It is modeled after doctest for Python, see
2772@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
2773 (license license:expat)))
2774
2775(define-public ghc-double-conversion
2776 (package
2777 (name "ghc-double-conversion")
2778 (version "2.0.2.0")
2779 (source
2780 (origin
2781 (method url-fetch)
2782 (uri (string-append "https://hackage.haskell.org/package/"
2783 "double-conversion/double-conversion-"
2784 version ".tar.gz"))
2785 (sha256
2786 (base32
2787 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
2788 (build-system haskell-build-system)
2789 (native-inputs
2790 `(("ghc-hunit" ,ghc-hunit)
2791 ("ghc-test-framework" ,ghc-test-framework)
2792 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2793 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2794 (home-page "https://github.com/bos/double-conversion")
2795 (synopsis "Fast conversion between double precision floating point and text")
2796 (description
2797 "This package provides a library that performs fast, accurate conversion
2798between double precision floating point and text.")
2799 (license license:bsd-3)))
2800
2801(define-public ghc-easy-file
2802 (package
2803 (name "ghc-easy-file")
2804 (version "0.2.2")
2805 (source
2806 (origin
2807 (method url-fetch)
2808 (uri (string-append
2809 "https://hackage.haskell.org/package/easy-file/easy-file-"
2810 version
2811 ".tar.gz"))
2812 (sha256
2813 (base32
2814 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
2815 (build-system haskell-build-system)
2816 (home-page
2817 "https://github.com/kazu-yamamoto/easy-file")
2818 (synopsis "File handling library for Haskell")
2819 (description "This library provides file handling utilities for Haskell.")
2820 (license license:bsd-3)))
2821
2822(define-public ghc-easyplot
2823 (package
2824 (name "ghc-easyplot")
2825 (version "1.0")
2826 (source
2827 (origin
2828 (method url-fetch)
2829 (uri (string-append
2830 "https://hackage.haskell.org/package/easyplot/easyplot-"
2831 version ".tar.gz"))
2832 (sha256
2833 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
2834 (build-system haskell-build-system)
2835 (propagated-inputs `(("gnuplot" ,gnuplot)))
2836 (arguments
2837 `(#:phases (modify-phases %standard-phases
2838 (add-after 'unpack 'fix-setup-suffix
2839 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
2840 (home-page "https://hub.darcs.net/scravy/easyplot")
2841 (synopsis "Haskell plotting library based on gnuplot")
2842 (description "This package provides a plotting library for
2843Haskell, using gnuplot for rendering.")
2844 (license license:expat)))
2845
2846(define-public ghc-echo
2847 (package
2848 (name "ghc-echo")
2849 (version "0.1.3")
2850 (source
2851 (origin
2852 (method url-fetch)
2853 (uri (string-append
2854 "https://hackage.haskell.org/package/echo/echo-"
2855 version ".tar.gz"))
2856 (sha256
2857 (base32
2858 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
2859 (build-system haskell-build-system)
2860 (arguments
2861 `(#:cabal-revision
2862 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
2863 (home-page "https://github.com/RyanGlScott/echo")
2864 (synopsis "Echo terminal input portably")
2865 (description "The @code{base} library exposes the @code{hGetEcho} and
2866@code{hSetEcho} functions for querying and setting echo status, but
2867unfortunately, neither function works with MinTTY consoles on Windows.
2868This library provides an alternative interface which works with both
2869MinTTY and other consoles.")
2870 (license license:bsd-3)))
2871
2872(define-public ghc-edisonapi
2873 (package
2874 (name "ghc-edisonapi")
2875 (version "1.3.1")
2876 (source
2877 (origin
2878 (method url-fetch)
2879 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
2880 "/EdisonAPI-" version ".tar.gz"))
2881 (sha256
2882 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
2883 (build-system haskell-build-system)
2884 (home-page "http://rwd.rdockins.name/edison/home/")
2885 (synopsis "Library of efficient, purely-functional data structures (API)")
2886 (description
2887 "Edison is a library of purely functional data structures written by
2888Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
2889value EDiSon (Efficient Data Structures). Edison provides several families of
2890abstractions, each with multiple implementations. The main abstractions
2891provided by Edison are: Sequences such as stacks, queues, and dequeues;
2892Collections such as sets, bags and heaps; and Associative Collections such as
2893finite maps and priority queues where the priority and element are distinct.")
2894 (license license:expat)))
2895
2896(define-public ghc-edisoncore
2897 (package
2898 (name "ghc-edisoncore")
2899 (version "1.3.2.1")
2900 (source
2901 (origin
2902 (method url-fetch)
2903 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
2904 "/EdisonCore-" version ".tar.gz"))
2905 (sha256
2906 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
2907 (build-system haskell-build-system)
2908 (inputs
2909 `(("ghc-quickcheck" ,ghc-quickcheck)
2910 ("ghc-edisonapi" ,ghc-edisonapi)))
2911 (home-page "http://rwd.rdockins.name/edison/home/")
2912 (synopsis "Library of efficient, purely-functional data structures")
2913 (description
2914 "This package provides the core Edison data structure implementations,
2915including multiple sequence, set, bag, and finite map concrete implementations
2916with various performance characteristics.")
2917 (license license:expat)))
2918
2919(define-public ghc-edit-distance
2920 (package
2921 (name "ghc-edit-distance")
2922 (version "0.2.2.1")
2923 (source
2924 (origin
2925 (method url-fetch)
2926 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
2927 "/edit-distance-" version ".tar.gz"))
2928 (sha256
2929 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
2930 (build-system haskell-build-system)
2931 (arguments
2932 `(#:phases
2933 (modify-phases %standard-phases
2934 (add-before 'configure 'update-constraints
2935 (lambda _
2936 (substitute* "edit-distance.cabal"
2937 (("QuickCheck >= 2\\.4 && <2\\.9")
2938 "QuickCheck >= 2.4 && < 2.12")))))))
2939 (inputs
2940 `(("ghc-random" ,ghc-random)
2941 ("ghc-test-framework" ,ghc-test-framework)
2942 ("ghc-quickcheck" ,ghc-quickcheck)
2943 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2944 (home-page "https://github.com/phadej/edit-distance")
2945 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
2946 (description
2947 "This package provides optimized functions to determine the edit
2948distances for fuzzy matching, including Levenshtein and restricted
2949Damerau-Levenshtein algorithms.")
2950 (license license:bsd-3)))
2951
2952(define-public ghc-either
2953 (package
2954 (name "ghc-either")
2955 (version "5.0.1")
2956 (source
2957 (origin
2958 (method url-fetch)
2959 (uri (string-append "https://hackage.haskell.org/package/"
2960 "either-" version "/"
2961 "either-" version ".tar.gz"))
2962 (sha256
2963 (base32
2964 "064hjfld7dkzs78sy30k5qkiva3hx24rax6dvzz5ygr2c0zypdkc"))))
2965 (build-system haskell-build-system)
2966 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
2967 ("ghc-exceptions" ,ghc-exceptions)
2968 ("ghc-free" ,ghc-free)
2969 ("ghc-monad-control" ,ghc-monad-control)
2970 ("ghc-manodrandom" ,ghc-monadrandom)
2971 ("ghc-mmorph" ,ghc-mmorph)
2972 ("ghc-profunctors" ,ghc-profunctors)
2973 ("ghc-semigroups" ,ghc-semigroups)
2974 ("ghc-semigroupoids" ,ghc-semigroupoids)
2975 ("ghc-transformers-base" ,ghc-transformers-base)))
2976 (native-inputs
2977 `(("ghc-quickcheck" ,ghc-quickcheck)
2978 ("ghc-test-framework" ,ghc-test-framework)
2979 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2980 (home-page "https://github.com/ekmett/either")
2981 (synopsis "Provides an either monad transformer for Haskell")
2982 (description "This Haskell package provides an either monad transformer.")
2983 (license license:bsd-3)))
2984
2985(define-public ghc-email-validate
2986 (package
2987 (name "ghc-email-validate")
2988 (version "2.3.2.6")
2989 (source
2990 (origin
2991 (method url-fetch)
2992 (uri (string-append
2993 "https://hackage.haskell.org/package/"
2994 "email-validate/email-validate-"
2995 version
2996 ".tar.gz"))
2997 (sha256
2998 (base32
2999 "0chgylvc8xmhp933rdbmpg5sv4y7yg2h6kbf0ip1dzmbd5p55pa5"))))
3000 (build-system haskell-build-system)
3001 (inputs
3002 `(("ghc-attoparsec" ,ghc-attoparsec)
3003 ("ghc-hspec" ,ghc-hspec)
3004 ("ghc-quickcheck" ,ghc-quickcheck)
3005 ("ghc-doctest" ,ghc-doctest)))
3006 (home-page
3007 "https://github.com/Porges/email-validate-hs")
3008 (synopsis "Email address validator for Haskell")
3009 (description
3010 "This Haskell package provides a validator that can validate an email
3011address string against RFC 5322.")
3012 (license license:bsd-3)))
3013
3014(define-public ghc-enclosed-exceptions
3015 (package
3016 (name "ghc-enclosed-exceptions")
3017 (version "1.0.3")
3018 (source (origin
3019 (method url-fetch)
3020 (uri (string-append "https://hackage.haskell.org/package/"
3021 "enclosed-exceptions/enclosed-exceptions-"
3022 version ".tar.gz"))
3023 (sha256
3024 (base32
3025 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3026 (build-system haskell-build-system)
3027 ;; FIXME: one of the tests blocks forever:
3028 ;; "thread blocked indefinitely in an MVar operation"
3029 (arguments '(#:tests? #f))
3030 (inputs
3031 `(("ghc-lifted-base" ,ghc-lifted-base)
3032 ("ghc-monad-control" ,ghc-monad-control)
3033 ("ghc-async" ,ghc-async)
3034 ("ghc-transformers-base" ,ghc-transformers-base)))
3035 (native-inputs
3036 `(("ghc-hspec" ,ghc-hspec)
3037 ("ghc-quickcheck" ,ghc-quickcheck)))
3038 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3039 (synopsis "Catch all exceptions from within an enclosed computation")
3040 (description
3041 "This library implements a technique to catch all exceptions raised
3042within an enclosed computation, while remaining responsive to (external)
3043asynchronous exceptions.")
3044 (license license:expat)))
3045
3046(define-public ghc-equivalence
3047 (package
3048 (name "ghc-equivalence")
3049 (version "0.3.2")
3050 (source
3051 (origin
3052 (method url-fetch)
3053 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3054 "/equivalence-" version ".tar.gz"))
3055 (sha256
3056 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
3057 (build-system haskell-build-system)
3058 (inputs
3059 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3060 ("ghc-transformers-compat" ,ghc-transformers-compat)
3061 ("ghc-quickcheck" ,ghc-quickcheck)
3062 ("ghc-test-framework" ,ghc-test-framework)
3063 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3064 (home-page "https://github.com/pa-ba/equivalence")
3065 (synopsis "Maintaining an equivalence relation implemented as union-find")
3066 (description
3067 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3068Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
306922(2), 1975) in order to maintain an equivalence relation. This
3070implementation is a port of the @code{union-find} package using the @code{ST}
3071monad transformer (instead of the IO monad).")
3072 (license license:bsd-3)))
3073
3074(define-public ghc-erf
3075 (package
3076 (name "ghc-erf")
3077 (version "2.0.0.0")
3078 (source
3079 (origin
3080 (method url-fetch)
3081 (uri (string-append "https://hackage.haskell.org/package/"
3082 "erf-" version "/"
3083 "erf-" version ".tar.gz"))
3084 (sha256
3085 (base32
3086 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3087 (build-system haskell-build-system)
3088 (home-page "https://hackage.haskell.org/package/erf")
3089 (synopsis "The error function, erf, and related functions for Haskell")
3090 (description "This Haskell library provides a type class for the
3091error function, erf, and related functions. Instances for Float and
3092Double.")
3093 (license license:bsd-3)))
3094
3095(define-public ghc-errorcall-eq-instance
3096 (package
3097 (name "ghc-errorcall-eq-instance")
3098 (version "0.3.0")
3099 (source
3100 (origin
3101 (method url-fetch)
3102 (uri (string-append "https://hackage.haskell.org/package/"
3103 "errorcall-eq-instance/errorcall-eq-instance-"
3104 version ".tar.gz"))
3105 (sha256
3106 (base32
3107 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3108 (build-system haskell-build-system)
3109 (inputs
3110 `(("ghc-base-orphans" ,ghc-base-orphans)))
3111 (native-inputs
3112 `(("ghc-quickcheck" ,ghc-quickcheck)
3113 ("ghc-hspec" ,ghc-hspec)
3114 ("hspec-discover" ,hspec-discover)))
3115 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3116 (synopsis "Orphan Eq instance for ErrorCall")
3117 (description
3118 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3119This package provides an orphan instance.")
3120 (license license:expat)))
3121
3122(define-public ghc-errors
3123 (package
3124 (name "ghc-errors")
3125 (version "2.3.0")
3126 (source
3127 (origin
3128 (method url-fetch)
3129 (uri (string-append "https://hackage.haskell.org/package/"
3130 "errors-" version "/"
3131 "errors-" version ".tar.gz"))
3132 (sha256
3133 (base32
3134 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3135 (build-system haskell-build-system)
3136 (inputs
3137 `(("ghc-exceptions" ,ghc-exceptions)
3138 ("ghc-transformers-compat" ,ghc-transformers-compat)
3139 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3140 ("ghc-safe" ,ghc-safe)))
3141 (home-page "https://github.com/gabriel439/haskell-errors-library")
3142 (synopsis "Error handling library for Haskell")
3143 (description "This library encourages an error-handling style that
3144directly uses the type system, rather than out-of-band exceptions.")
3145 (license license:bsd-3)))
3146
3147(define-public ghc-esqueleto
3148 (let ((version "2.5.3")
3149 (revision "1")
3150 (commit "b81e0d951e510ebffca03c5a58658ad884cc6fbd"))
3151 (package
3152 (name "ghc-esqueleto")
3153 (version (git-version version revision commit))
3154 (source
3155 (origin
3156 (method git-fetch)
3157 (uri (git-reference
3158 (url "https://github.com/bitemyapp/esqueleto")
3159 (commit commit)))
3160 (file-name (git-file-name name version))
3161 (sha256
3162 (base32
3163 "0lz1qxms7cfg5p3j37inlych0r2fwhm8xbarcys3df9m7jy9nixa"))))
3164 (build-system haskell-build-system)
3165 (arguments
3166 `(#:haddock? #f ; Haddock reports an internal error.
3167 #:phases
3168 (modify-phases %standard-phases
3169 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3170 ;; SQLite backends. Since we only have Haskell packages for
3171 ;; SQLite, we remove the other two test suites. FIXME: Add the
3172 ;; other backends and run all three test suites.
3173 (add-before 'configure 'remove-non-sqlite-test-suites
3174 (lambda _
3175 (use-modules (ice-9 rdelim))
3176 (with-atomic-file-replacement "esqueleto.cabal"
3177 (lambda (in out)
3178 (let loop ((line (read-line in 'concat)) (deleting? #f))
3179 (cond
3180 ((eof-object? line) #t)
3181 ((string-every char-set:whitespace line)
3182 (unless deleting? (display line out))
3183 (loop (read-line in 'concat) #f))
3184 ((member line '("test-suite mysql\n"
3185 "test-suite postgresql\n"))
3186 (loop (read-line in 'concat) #t))
3187 (else
3188 (unless deleting? (display line out))
3189 (loop (read-line in 'concat) deleting?)))))))))))
3190 (inputs
3191 `(("ghc-blaze-html" ,ghc-blaze-html)
3192 ("ghc-conduit" ,ghc-conduit)
3193 ("ghc-monad-logger" ,ghc-monad-logger)
3194 ("ghc-persistent" ,ghc-persistent)
3195 ("ghc-resourcet" ,ghc-resourcet)
3196 ("ghc-tagged" ,ghc-tagged)
3197 ("ghc-unliftio" ,ghc-unliftio)
3198 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3199 (native-inputs
3200 `(("ghc-hspec" ,ghc-hspec)
3201 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3202 ("ghc-persistent-template" ,ghc-persistent-template)))
3203 (home-page "https://github.com/bitemyapp/esqueleto")
3204 (synopsis "Type-safe embedded domain specific language for SQL queries")
3205 (description "This library provides a type-safe embedded domain specific
3206language (EDSL) for SQL queries that works with SQL backends as provided by
3207@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3208to learn new concepts, just new syntax, and it's fairly easy to predict the
3209generated SQL and optimize it for your backend.")
3210 (license license:bsd-3))))
3211
3212(define-public ghc-exactprint
3213 (package
3214 (name "ghc-exactprint")
3215 (version "0.5.6.1")
3216 (source
3217 (origin
3218 (method url-fetch)
3219 (uri (string-append
3220 "https://hackage.haskell.org/package/"
3221 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3222 (sha256
3223 (base32
3224 "141k6qiys0m0r4br7ikp4i546vs3xcil9cwglzcdfcbnb5nj1z87"))))
3225 (build-system haskell-build-system)
3226 (inputs
3227 `(("ghc-paths" ,ghc-paths)
3228 ("ghc-syb" ,ghc-syb)
3229 ("ghc-free" ,ghc-free)))
3230 (native-inputs
3231 `(("ghc-hunit" ,ghc-hunit)
3232 ("ghc-diff" ,ghc-diff)
3233 ("ghc-silently" ,ghc-silently)
3234 ("ghc-filemanip" ,ghc-filemanip)))
3235 (home-page
3236 "http://hackage.haskell.org/package/ghc-exactprint")
3237 (synopsis "ExactPrint for GHC")
3238 (description
3239 "Using the API Annotations available from GHC 7.10.2, this library
3240provides a means to round-trip any code that can be compiled by GHC, currently
3241excluding @file{.lhs} files.")
3242 (license license:bsd-3)))
3243
3244(define-public ghc-exceptions
3245 (package
3246 (name "ghc-exceptions")
46d3e65b 3247 (version "0.10.3")
dddbc90c
RV
3248 (source
3249 (origin
3250 (method url-fetch)
3251 (uri (string-append
3252 "https://hackage.haskell.org/package/exceptions/exceptions-"
3253 version
3254 ".tar.gz"))
3255 (sha256
3256 (base32
46d3e65b 3257 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3258 (build-system haskell-build-system)
3259 (native-inputs
3260 `(("ghc-quickcheck" ,ghc-quickcheck)
3261 ("ghc-test-framework" ,ghc-test-framework)
3262 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3263 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3264 (inputs
3265 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3266 (home-page "https://github.com/ekmett/exceptions/")
3267 (synopsis "Extensible optionally-pure exceptions")
3268 (description "This library provides extensible optionally-pure exceptions
3269for Haskell.")
3270 (license license:bsd-3)))
3271
3272(define-public ghc-executable-path
3273 (package
3274 (name "ghc-executable-path")
3275 (version "0.0.3.1")
3276 (source (origin
3277 (method url-fetch)
3278 (uri (string-append "https://hackage.haskell.org/package/"
3279 "executable-path/executable-path-"
3280 version ".tar.gz"))
3281 (sha256
3282 (base32
3283 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3284 (build-system haskell-build-system)
3285 (home-page "https://hackage.haskell.org/package/executable-path")
3286 (synopsis "Find out the full path of the executable")
3287 (description
3288 "The documentation of @code{System.Environment.getProgName} says that
3289\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3290instead, for maximum portability, we just return the leafname of the program
3291as invoked.\" This library tries to provide the missing path.")
3292 (license license:public-domain)))
3293
3294(define-public ghc-extensible-exceptions
3295 (package
3296 (name "ghc-extensible-exceptions")
3297 (version "0.1.1.4")
3298 (source
3299 (origin
3300 (method url-fetch)
3301 (uri (string-append "https://hackage.haskell.org/package/"
3302 "extensible-exceptions/extensible-exceptions-"
3303 version ".tar.gz"))
3304 (sha256
3305 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3306 (build-system haskell-build-system)
3307 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3308 (synopsis "Extensible exceptions for Haskell")
3309 (description
3310 "This package provides extensible exceptions for both new and old
3311versions of GHC (i.e., < 6.10).")
3312 (license license:bsd-3)))
3313
3314(define-public ghc-extra
3315 (package
3316 (name "ghc-extra")
10650c44 3317 (version "1.6.18")
dddbc90c
RV
3318 (source
3319 (origin
3320 (method url-fetch)
3321 (uri (string-append
3322 "https://hackage.haskell.org/package/extra/extra-"
3323 version
3324 ".tar.gz"))
3325 (sha256
3326 (base32
10650c44 3327 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
dddbc90c
RV
3328 (build-system haskell-build-system)
3329 (inputs
3330 `(("ghc-clock" ,ghc-clock)
10650c44 3331 ("ghc-semigroups" ,ghc-semigroups)
dddbc90c
RV
3332 ("ghc-quickcheck" ,ghc-quickcheck)))
3333 (home-page "https://github.com/ndmitchell/extra")
3334 (synopsis "Extra Haskell functions")
3335 (description "This library provides extra functions for the standard
3336Haskell libraries. Most functions are simple additions, filling out missing
3337functionality. A few functions are available in later versions of GHC, but
3338this package makes them available back to GHC 7.2.")
3339 (license license:bsd-3)))
3340
3341(define-public ghc-fail
3342 (package
3343 (name "ghc-fail")
3344 (version "4.9.0.0")
3345 (source
3346 (origin
3347 (method url-fetch)
3348 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3349 version ".tar.gz"))
3350 (sha256
3351 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3352 (build-system haskell-build-system)
3353 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3354 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3355 (synopsis "Forward-compatible MonadFail class")
3356 (description
3357 "This package contains the @code{Control.Monad.Fail} module providing the
3358@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3359class that became available in
3360@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3361older @code{base} package versions. This package turns into an empty package
3362when used with GHC versions which already provide the
3363@code{Control.Monad.Fail} module.")
3364 (license license:bsd-3)))
3365
3366(define-public ghc-fast-logger
3367 (package
3368 (name "ghc-fast-logger")
d443a52a 3369 (version "2.4.17")
dddbc90c
RV
3370 (source
3371 (origin
3372 (method url-fetch)
3373 (uri (string-append
3374 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3375 version
3376 ".tar.gz"))
3377 (sha256
3378 (base32
d443a52a 3379 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
3380 (build-system haskell-build-system)
3381 (inputs
3382 `(("ghc-auto-update" ,ghc-auto-update)
3383 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
3384 ("ghc-unix-time" ,ghc-unix-time)
3385 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
3386 (native-inputs
3387 `(("hspec-discover" ,hspec-discover)
3388 ("ghc-hspec" ,ghc-hspec)))
3389 (home-page "https://hackage.haskell.org/package/fast-logger")
3390 (synopsis "Fast logging system")
3391 (description "This library provides a fast logging system for Haskell.")
3392 (license license:bsd-3)))
3393
3394(define-public ghc-feed
3395 (package
3396 (name "ghc-feed")
3397 (version "1.0.0.0")
3398 (source
3399 (origin
3400 (method url-fetch)
3401 (uri (string-append "https://hackage.haskell.org/package/"
3402 "feed/feed-" version ".tar.gz"))
3403 (sha256
3404 (base32
3405 "05rgg7x1984mgfhkmz792xj8lhwjgznixhygzr8blf517lns2nck"))))
3406 (build-system haskell-build-system)
3407 (arguments
3408 `(#:cabal-revision
3409 ("4" "0baavcavm3ywykcr9cm07aqr7sna98jba2n68lyn3kany8ri214d")))
3410 (inputs
3411 `(("ghc-base-compat" ,ghc-base-compat)
3412 ("ghc-old-locale" ,ghc-old-locale)
3413 ("ghc-old-time" ,ghc-old-time)
3414 ("ghc-safe" ,ghc-safe)
3415 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3416 ("ghc-utf8-string" ,ghc-utf8-string)
3417 ("ghc-xml-conduit" ,ghc-xml-conduit)
3418 ("ghc-xml-types" ,ghc-xml-types)))
3419 (native-inputs
3420 `(("ghc-hunit" ,ghc-hunit)
3421 ("ghc-test-framework" ,ghc-test-framework)
3422 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3423 (home-page "https://github.com/bergmark/feed")
3424 (synopsis "Haskell package for handling various syndication formats")
3425 (description "This Haskell package includes tools for generating and
3426consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3427 (license license:bsd-3)))
3428
3429(define-public ghc-fgl
3430 (package
3431 (name "ghc-fgl")
17482b26 3432 (version "5.7.0.1")
dddbc90c
RV
3433 (outputs '("out" "doc"))
3434 (source
3435 (origin
3436 (method url-fetch)
3437 (uri (string-append
3438 "https://hackage.haskell.org/package/fgl/fgl-"
3439 version
3440 ".tar.gz"))
3441 (sha256
3442 (base32
17482b26 3443 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
3444 (build-system haskell-build-system)
3445 (arguments
3446 `(#:phases
3447 (modify-phases %standard-phases
3448 (add-before 'configure 'update-constraints
3449 (lambda _
3450 (substitute* "fgl.cabal"
17482b26
TS
3451 (("QuickCheck >= 2\\.8 && < 2\\.13")
3452 "QuickCheck >= 2.8 && < 2.14")
3453 (("hspec >= 2\\.1 && < 2\\.7")
3454 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3455 (inputs
3456 `(("ghc-hspec" ,ghc-hspec)
3457 ("ghc-quickcheck" ,ghc-quickcheck)))
3458 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3459 (synopsis
3460 "Martin Erwig's Functional Graph Library")
3461 (description "The functional graph library, FGL, is a collection of type
3462and function definitions to address graph problems. The basis of the library
3463is an inductive definition of graphs in the style of algebraic data types that
3464encourages inductive, recursive definitions of graph algorithms.")
3465 (license license:bsd-3)))
3466
3467(define-public ghc-fgl-arbitrary
3468 (package
3469 (name "ghc-fgl-arbitrary")
3470 (version "0.2.0.3")
3471 (source
3472 (origin
3473 (method url-fetch)
3474 (uri (string-append
3475 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3476 version ".tar.gz"))
3477 (sha256
3478 (base32
3479 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3480 (build-system haskell-build-system)
3481 (arguments
3482 `(#:phases
3483 (modify-phases %standard-phases
3484 (add-before 'configure 'update-constraints
3485 (lambda _
3486 (substitute* "fgl-arbitrary.cabal"
3487 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 3488 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 3489 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 3490 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3491 (inputs
3492 `(("ghc-fgl" ,ghc-fgl)
3493 ("ghc-quickcheck" ,ghc-quickcheck)
3494 ("ghc-hspec" ,ghc-hspec)))
3495 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3496 (synopsis "QuickCheck support for fgl")
3497 (description
3498 "Provides Arbitrary instances for fgl graphs to avoid adding a
3499QuickCheck dependency for fgl whilst still making the instances
3500available to others. Also available are non-fgl-specific functions
3501for generating graph-like data structures.")
3502 (license license:bsd-3)))
3503
3504(define-public ghc-file-embed
3505 (package
3506 (name "ghc-file-embed")
b5920d50 3507 (version "0.0.11")
dddbc90c
RV
3508 (source
3509 (origin
3510 (method url-fetch)
3511 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3512 "file-embed-" version ".tar.gz"))
3513 (sha256
3514 (base32
b5920d50 3515 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
3516 (build-system haskell-build-system)
3517 (home-page "https://github.com/snoyberg/file-embed")
3518 (synopsis "Use Template Haskell to embed file contents directly")
3519 (description
3520 "This package allows you to use Template Haskell to read a file or all
3521the files in a directory, and turn them into @code{(path, bytestring)} pairs
3522embedded in your Haskell code.")
3523 (license license:bsd-3)))
3524
3525(define-public ghc-filemanip
3526 (package
3527 (name "ghc-filemanip")
3528 (version "0.3.6.3")
3529 (source (origin
3530 (method url-fetch)
3531 (uri (string-append "https://hackage.haskell.org/package/"
3532 "filemanip/filemanip-" version ".tar.gz"))
3533 (sha256
3534 (base32
3535 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3536 (build-system haskell-build-system)
3537 (inputs
3538 `(("ghc-unix-compat" ,ghc-unix-compat)))
3539 (home-page "https://github.com/bos/filemanip")
3540 (synopsis "File and directory manipulation for Haskell")
3541 (description
3542 "This package provides a Haskell library for working with files and
3543directories. It includes code for pattern matching, finding files, modifying
3544file contents, and more.")
3545 (license license:bsd-3)))
3546
3547(define-public ghc-findbin
3548 (package
3549 (name "ghc-findbin")
3550 (version "0.0.5")
3551 (source
3552 (origin
3553 (method url-fetch)
3554 (uri (string-append
3555 "https://hackage.haskell.org/package/FindBin/FindBin-"
3556 version ".tar.gz"))
3557 (sha256
3558 (base32
3559 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3560 (build-system haskell-build-system)
3561 (home-page "https://github.com/audreyt/findbin")
3562 (synopsis "Get the absolute path of the running program")
3563 (description
3564 "This module locates the full directory of the running program, to allow
3565the use of paths relative to it. FindBin supports invocation of Haskell
3566programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3567an executable.")
3568 (license license:bsd-3)))
3569
3570(define-public ghc-fingertree
3571 (package
3572 (name "ghc-fingertree")
aac14fdc 3573 (version "0.1.4.2")
dddbc90c
RV
3574 (source
3575 (origin
3576 (method url-fetch)
3577 (uri (string-append
3578 "https://hackage.haskell.org/package/fingertree/fingertree-"
3579 version ".tar.gz"))
3580 (sha256
3581 (base32
aac14fdc 3582 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
3583 (build-system haskell-build-system)
3584 (native-inputs
3585 `(("ghc-hunit" ,ghc-hunit)
3586 ("ghc-quickcheck" ,ghc-quickcheck)
3587 ("ghc-test-framework" ,ghc-test-framework)
3588 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3589 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3590 (home-page "https://hackage.haskell.org/package/fingertree")
3591 (synopsis "Generic finger-tree structure")
3592 (description "This library provides finger trees, a general sequence
3593representation with arbitrary annotations, for use as a base for
3594implementations of various collection types. It includes examples, as
3595described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3596simple general-purpose data structure\".")
3597 (license license:bsd-3)))
3598
3599(define-public ghc-fixed
3600 (package
3601 (name "ghc-fixed")
099dda5b 3602 (version "0.3")
dddbc90c
RV
3603 (source
3604 (origin
3605 (method url-fetch)
3606 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
3607 version ".tar.gz"))
3608 (sha256
3609 (base32
099dda5b 3610 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
3611 (build-system haskell-build-system)
3612 (home-page "https://github.com/ekmett/fixed")
3613 (synopsis "Signed 15.16 precision fixed point arithmetic")
3614 (description
3615 "This package provides functions for signed 15.16 precision fixed point
3616arithmetic.")
3617 (license license:bsd-3)))
3618
f169f713
JS
3619(define-public ghc-fmlist
3620 (package
3621 (name "ghc-fmlist")
fe9b83a6 3622 (version "0.9.3")
f169f713
JS
3623 (source
3624 (origin
3625 (method url-fetch)
3626 (uri
3627 (string-append
3628 "https://hackage.haskell.org/package/fmlist/fmlist-"
3629 version ".tar.gz"))
3630 (sha256
3631 (base32
fe9b83a6 3632 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
3633 (build-system haskell-build-system)
3634 (home-page "https://github.com/sjoerdvisscher/fmlist")
3635 (synopsis "FoldMap lists")
3636 (description "FoldMap lists are lists represented by their
3637@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
3638append, just like DLists, but other operations might have favorable
3639performance characteristics as well. These wild claims are still
3640completely unverified though.")
3641 (license license:bsd-3)))
3642
dddbc90c
RV
3643(define-public ghc-foldl
3644 (package
3645 (name "ghc-foldl")
3646 (version "1.4.3")
3647 (source
3648 (origin
3649 (method url-fetch)
3650 (uri (string-append "https://hackage.haskell.org/package/"
3651 "foldl-" version "/"
3652 "foldl-" version ".tar.gz"))
3653 (sha256
3654 (base32
3655 "13n0ca3hw5jzqf6rxsdbhbwkn61a9zlm13f0f205s60j3sc72jzk"))))
3656 (build-system haskell-build-system)
3657 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3658 ("ghc-primitive" ,ghc-primitive)
3659 ("ghc-vector" ,ghc-vector)
3660 ("ghc-unordered-containers" ,ghc-unordered-containers)
3661 ("ghc-hashable" ,ghc-hashable)
3662 ("ghc-contravariant" ,ghc-contravariant)
3663 ("ghc-semigroups" ,ghc-semigroups)
3664 ("ghc-profunctors" ,ghc-profunctors)
3665 ("ghc-semigroupoids" ,ghc-semigroupoids)
3666 ("ghc-comonad" ,ghc-comonad)
3667 ("ghc-vector-builder" ,ghc-vector-builder)))
3668 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
3669 (synopsis "Composable, streaming, and efficient left folds for Haskell")
3670 (description "This Haskell library provides strict left folds that stream
3671in constant memory, and you can combine folds using @code{Applicative} style
3672to derive new folds. Derived folds still traverse the container just once
3673and are often as efficient as hand-written folds.")
3674 (license license:bsd-3)))
3675
3676(define-public ghc-foundation
3677 (package
3678 (name "ghc-foundation")
0a702df9 3679 (version "0.0.25")
dddbc90c
RV
3680 (source
3681 (origin
3682 (method url-fetch)
3683 (uri (string-append "https://hackage.haskell.org/package/"
3684 "foundation/foundation-" version ".tar.gz"))
3685 (sha256
3686 (base32
0a702df9 3687 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c
RV
3688 (build-system haskell-build-system)
3689 (inputs `(("ghc-basement" ,ghc-basement)))
3690 (home-page "https://github.com/haskell-foundation/foundation")
3691 (synopsis "Alternative prelude with batteries and no dependencies")
3692 (description
3693 "This package provides a custom prelude with no dependencies apart from
3694the base package.
3695
3696Foundation has the following goals:
3697
3698@enumerate
3699@item provide a base like sets of modules that provide a consistent set of
3700 features and bugfixes across multiple versions of GHC (unlike base).
3701@item provide a better and more efficient prelude than base's prelude.
3702@item be self-sufficient: no external dependencies apart from base;
3703@item provide better data-types: packed unicode string by default, arrays;
3704@item Numerical classes that better represent mathematical things (no more
3705 all-in-one @code{Num});
3706@item I/O system with less lazy IO.
3707@end enumerate\n")
3708 (license license:bsd-3)))
3709
3710(define-public ghc-free
3711 (package
3712 (name "ghc-free")
3713 (version "5.0.2")
3714 (source
3715 (origin
3716 (method url-fetch)
3717 (uri (string-append
3718 "https://hackage.haskell.org/package/free/free-"
3719 version
3720 ".tar.gz"))
3721 (sha256
3722 (base32
3723 "15m3n9vhz7z3kzv1w3wlfa3x8jp4cbrkwmrcjr7jlx39iqffn1gg"))))
3724 (build-system haskell-build-system)
3725 (inputs
3726 `(("ghc-prelude-extras" ,ghc-prelude-extras)
3727 ("ghc-profunctors" ,ghc-profunctors)
3728 ("ghc-exceptions" ,ghc-exceptions)
3729 ("ghc-bifunctors" ,ghc-bifunctors)
3730 ("ghc-comonad" ,ghc-comonad)
3731 ("ghc-distributive" ,ghc-distributive)
3732 ("ghc-semigroupoids" ,ghc-semigroupoids)
3733 ("ghc-semigroups" ,ghc-semigroups)
3734 ("ghc-transformers-base" ,ghc-transformers-base)
3735 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3736 (home-page "https://github.com/ekmett/free/")
3737 (synopsis "Unrestricted monads for Haskell")
3738 (description "This library provides free monads, which are useful for many
3739tree-like structures and domain specific languages. If @code{f} is a
3740@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
3741whose nodes are labeled with the constructors of @code{f}. The word \"free\"
3742is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
3743f} makes no constraining assumptions beyond those given by @code{f} and the
3744definition of @code{Monad}.")
3745 (license license:bsd-3)))
3746
3747(define-public ghc-fsnotify
3748 (package
3749 (name "ghc-fsnotify")
3750 (version "0.3.0.1")
3751 (source (origin
3752 (method url-fetch)
3753 (uri (string-append
3754 "https://hackage.haskell.org/package/fsnotify/"
3755 "fsnotify-" version ".tar.gz"))
3756 (sha256
3757 (base32
3758 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
3759 (build-system haskell-build-system)
3760 (inputs
3761 `(("ghc-async" ,ghc-async)
3762 ("ghc-unix-compat" ,ghc-unix-compat)
3763 ("ghc-hinotify" ,ghc-hinotify)
3764 ("ghc-tasty" ,ghc-tasty)
3765 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3766 ("ghc-random" ,ghc-random)
3767 ("ghc-shelly" ,ghc-shelly)
3768 ("ghc-temporary" ,ghc-temporary)))
3769 (home-page "https://github.com/haskell-fswatch/hfsnotify")
3770 (synopsis "Cross platform library for file change notification.")
3771 (description "Cross platform library for file creation, modification, and
3772deletion notification. This library builds upon existing libraries for platform
3773specific Windows, Mac, and Linux file system event notification.")
3774 (license license:bsd-3)))
3775
3776(define-public ghc-generic-deriving
3777 (package
3778 (name "ghc-generic-deriving")
55c1e6be 3779 (version "1.12.4")
dddbc90c
RV
3780 (source
3781 (origin
3782 (method url-fetch)
3783 (uri (string-append
3784 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
3785 version
3786 ".tar.gz"))
3787 (sha256
3788 (base32
55c1e6be 3789 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
3790 (build-system haskell-build-system)
3791 (inputs
3792 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
3793 (native-inputs
3794 `(("ghc-hspec" ,ghc-hspec)
3795 ("hspec-discover" ,hspec-discover)))
3796 (home-page "https://hackage.haskell.org/package/generic-deriving")
3797 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3798 (description "This package provides functionality for generalising the
3799deriving mechanism in Haskell to arbitrary classes.")
3800 (license license:bsd-3)))
3801
3802(define-public ghc-generics-sop
3803 (package
3804 (name "ghc-generics-sop")
3ed40e10 3805 (version "0.4.0.1")
dddbc90c
RV
3806 (source
3807 (origin
3808 (method url-fetch)
3809 (uri (string-append "https://hackage.haskell.org/package/"
3810 "generics-sop-" version "/"
3811 "generics-sop-" version ".tar.gz"))
3812 (sha256
3813 (base32
3ed40e10 3814 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 3815 (build-system haskell-build-system)
3ed40e10
TS
3816 (inputs
3817 `(("ghc-sop-core" ,ghc-sop-core)
3818 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
3819 (home-page "https://github.com/well-typed/generics-sop")
3820 (synopsis "Generic Programming using True Sums of Products for Haskell")
3821 (description "This Haskell package supports the definition of generic
3822functions. Datatypes are viewed in a uniform, structured way: the choice
3823between constructors is represented using an n-ary sum, and the arguments of
3824each constructor are represented using an n-ary product.")
3825 (license license:bsd-3)))
3826
3827(define-public ghc-geniplate-mirror
3828 (package
3829 (name "ghc-geniplate-mirror")
3830 (version "0.7.6")
3831 (source
3832 (origin
3833 (method url-fetch)
3834 (uri (string-append "https://hackage.haskell.org/package"
3835 "/geniplate-mirror"
3836 "/geniplate-mirror-" version ".tar.gz"))
3837 (sha256
3838 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
3839 (build-system haskell-build-system)
3840 (home-page "https://github.com/danr/geniplate")
3841 (synopsis "Use Template Haskell to generate Uniplate-like functions")
3842 (description
3843 "Use Template Haskell to generate Uniplate-like functions. This is a
3844maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
3845geniplate} package, written by Lennart Augustsson.")
3846 (license license:bsd-3)))
3847
3848(define-public ghc-genvalidity
3849 (package
3850 (name "ghc-genvalidity")
920f44a1 3851 (version "0.8.0.0")
dddbc90c
RV
3852 (source
3853 (origin
3854 (method url-fetch)
3855 (uri (string-append
3856 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
3857 version
3858 ".tar.gz"))
3859 (sha256
3860 (base32
920f44a1 3861 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
3862 (build-system haskell-build-system)
3863 (inputs
3864 `(("ghc-quickcheck" ,ghc-quickcheck)
3865 ("ghc-validity" ,ghc-validity)))
3866 (native-inputs
3867 `(("ghc-hspec" ,ghc-hspec)
3868 ("hspec-discover" ,hspec-discover)
3869 ("ghc-hspec-core" ,ghc-hspec-core)))
3870 (home-page
3871 "https://github.com/NorfairKing/validity")
3872 (synopsis
3873 "Testing utilities for the @code{validity} library")
3874 (description
3875 "This package provides testing utilities that are useful in conjunction
3876with the @code{Validity} typeclass.")
3877 (license license:expat)))
3878
3879(define-public ghc-genvalidity-property
3880 (package
3881 (name "ghc-genvalidity-property")
e4ede35b 3882 (version "0.4.0.0")
dddbc90c
RV
3883 (source
3884 (origin
3885 (method url-fetch)
3886 (uri (string-append
3887 "https://hackage.haskell.org/package/"
3888 "genvalidity-property/genvalidity-property-"
3889 version
3890 ".tar.gz"))
3891 (sha256
3892 (base32
e4ede35b 3893 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
3894 (build-system haskell-build-system)
3895 (inputs
3896 `(("ghc-quickcheck" ,ghc-quickcheck)
3897 ("ghc-genvalidity" ,ghc-genvalidity)
3898 ("ghc-hspec" ,ghc-hspec)
3899 ("hspec-discover" ,hspec-discover)
3900 ("ghc-validity" ,ghc-validity)))
3901 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
3902 (home-page
3903 "https://github.com/NorfairKing/validity")
3904 (synopsis
3905 "Standard properties for functions on @code{Validity} types")
3906 (description
3907 "This package supplements the @code{Validity} typeclass with standard
3908properties for functions operating on them.")
3909 (license license:expat)))
3910
3911(define-public ghc-gitrev
3912 (package
3913 (name "ghc-gitrev")
3914 (version "1.3.1")
3915 (source
3916 (origin
3917 (method url-fetch)
3918 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
3919 version ".tar.gz"))
3920 (sha256
3921 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
3922 (build-system haskell-build-system)
3923 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
3924 (home-page "https://github.com/acfoltzer/gitrev")
3925 (synopsis "Compile git revision info into Haskell projects")
3926 (description
3927 "This package provides some handy Template Haskell splices for including
3928the current git hash and branch in the code of your project. This is useful
3929for including in panic messages, @command{--version} output, or diagnostic
3930info for more informative bug reports.")
3931 (license license:bsd-3)))
3932
3933(define-public ghc-glob
3934 (package
3935 (name "ghc-glob")
b900f486 3936 (version "0.10.0")
dddbc90c
RV
3937 (source
3938 (origin
3939 (method url-fetch)
3940 (uri (string-append "https://hackage.haskell.org/package/"
3941 "Glob-" version "/"
3942 "Glob-" version ".tar.gz"))
3943 (sha256
3944 (base32
b900f486 3945 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
3946 (build-system haskell-build-system)
3947 (inputs
3948 `(("ghc-dlist" ,ghc-dlist)
3949 ("ghc-semigroups" ,ghc-semigroups)
3950 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3951 (native-inputs
3952 `(("ghc-hunit" ,ghc-hunit)
3953 ("ghc-quickcheck" ,ghc-quickcheck)
3954 ("ghc-test-framework" ,ghc-test-framework)
3955 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3956 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3957 (home-page "http://iki.fi/matti.niemenmaa/glob/")
3958 (synopsis "Haskell library matching glob patterns against file paths")
3959 (description "This package provides a Haskell library for @dfn{globbing}:
3960matching patterns against file paths.")
3961 (license license:bsd-3)))
3962
3963(define-public ghc-gluraw
3964 (package
3965 (name "ghc-gluraw")
3966 (version "2.0.0.4")
3967 (source
3968 (origin
3969 (method url-fetch)
3970 (uri (string-append
3971 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
3972 version
3973 ".tar.gz"))
3974 (sha256
3975 (base32
3976 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
3977 (build-system haskell-build-system)
3978 (inputs
3979 `(("ghc-openglraw" ,ghc-openglraw)))
3980 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3981 (synopsis "Raw Haskell bindings GLU")
3982 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
3983utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
3984basis for a nicer interface.")
3985 (license license:bsd-3)))
3986
3987(define-public ghc-glut
3988 (package
3989 (name "ghc-glut")
8284bd09 3990 (version "2.7.0.15")
dddbc90c
RV
3991 (source
3992 (origin
3993 (method url-fetch)
3994 (uri (string-append
3995 "https://hackage.haskell.org/package/GLUT/GLUT-"
3996 version
3997 ".tar.gz"))
3998 (sha256
3999 (base32
8284bd09 4000 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4001 (build-system haskell-build-system)
4002 (inputs
4003 `(("ghc-statevar" ,ghc-statevar)
4004 ("ghc-opengl" ,ghc-opengl)
4005 ("ghc-openglraw" ,ghc-openglraw)
4006 ("freeglut" ,freeglut)))
4007 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4008 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4009 (description "This library provides Haskell bindings for the OpenGL
4010Utility Toolkit, a window system-independent toolkit for writing OpenGL
4011programs.")
4012 (license license:bsd-3)))
4013
4014(define-public ghc-gnuplot
4015 (package
4016 (name "ghc-gnuplot")
d34860c7 4017 (version "0.5.6")
dddbc90c
RV
4018 (source
4019 (origin
4020 (method url-fetch)
4021 (uri (string-append
4022 "mirror://hackage/package/gnuplot/gnuplot-"
4023 version ".tar.gz"))
4024 (sha256
d34860c7 4025 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4026 (build-system haskell-build-system)
4027 (inputs
4028 `(("ghc-temporary" ,ghc-temporary)
4029 ("ghc-utility-ht" ,ghc-utility-ht)
4030 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4031 ("ghc-data-accessor" ,ghc-data-accessor)
4032 ("ghc-semigroups" ,ghc-semigroups)
4033 ("gnuplot" ,gnuplot)))
4034 (arguments
4035 `(#:phases
4036 (modify-phases %standard-phases
4037 (add-before 'configure 'fix-path-to-gnuplot
4038 (lambda* (#:key inputs #:allow-other-keys)
4039 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4040 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4041 (("(gnuplotName = ).*$" all cmd)
4042 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4043 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4044 (synopsis "2D and 3D plots using gnuplot")
4045 (description "This package provides a Haskell module for creating 2D and
40463D plots using gnuplot.")
4047 (license license:bsd-3)))
4048
4049(define-public ghc-graphviz
4050 (package
4051 (name "ghc-graphviz")
c264bd42 4052 (version "2999.20.0.3")
dddbc90c
RV
4053 (source (origin
4054 (method url-fetch)
4055 (uri (string-append "https://hackage.haskell.org/package/"
4056 "graphviz/graphviz-" version ".tar.gz"))
4057 (sha256
4058 (base32
c264bd42 4059 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4060 (build-system haskell-build-system)
c264bd42
TS
4061 (arguments
4062 `(#:phases
4063 (modify-phases %standard-phases
4064 (add-before 'configure 'update-constraints
4065 (lambda _
4066 (substitute* "graphviz.cabal"
4067 (("QuickCheck >= 2\\.3 && < 2\\.13")
4068 "QuickCheck >= 2.3 && < 2.14")
4069 (("hspec >= 2\\.1 && < 2\\.7")
4070 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4071 (inputs
4072 `(("ghc-quickcheck" ,ghc-quickcheck)
4073 ("ghc-colour" ,ghc-colour)
4074 ("ghc-dlist" ,ghc-dlist)
4075 ("ghc-fgl" ,ghc-fgl)
4076 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4077 ("ghc-polyparse" ,ghc-polyparse)
4078 ("ghc-temporary" ,ghc-temporary)
4079 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4080 (native-inputs
4081 `(("ghc-hspec" ,ghc-hspec)
4082 ("graphviz" ,graphviz)
4083 ("hspec-discover" ,hspec-discover)))
4084 (home-page "https://hackage.haskell.org/package/graphviz")
4085 (synopsis "Bindings to Graphviz for graph visualisation")
4086 (description
4087 "This library provides bindings for the Dot language used by
4088the @uref{https://graphviz.org/, Graphviz} suite of programs for
4089visualising graphs, as well as functions to call those programs.
4090Main features of the graphviz library include:
4091
4092@enumerate
4093@item Almost complete coverage of all Graphviz attributes and syntax
4094@item Support for specifying clusters
4095@item The ability to use a custom node type
4096@item Functions for running a Graphviz layout tool with all specified output types
4097@item Generate and parse Dot code with two options: strict and liberal
4098@item Functions to convert FGL graphs and other graph-like data structures
4099@item Round-trip support for passing an FGL graph through Graphviz to augment node
4100and edge labels with positional information, etc.
4101@end enumerate\n")
4102 (license license:bsd-3)))
4103
4104(define-public ghc-gtk2hs-buildtools
4105 (package
4106 (name "ghc-gtk2hs-buildtools")
4107 (version "0.13.4.0")
4108 (source
4109 (origin
4110 (method url-fetch)
4111 (uri (string-append "https://hackage.haskell.org/package/"
4112 "gtk2hs-buildtools/gtk2hs-buildtools-"
4113 version ".tar.gz"))
4114 (sha256
4115 (base32
4116 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
4117 (build-system haskell-build-system)
4118 (inputs
4119 `(("ghc-random" ,ghc-random)
4120 ("ghc-hashtables" ,ghc-hashtables)))
4121 (native-inputs
4122 `(("ghc-alex" ,ghc-alex)
4123 ("ghc-happy" ,ghc-happy)))
4124 (home-page "http://projects.haskell.org/gtk2hs/")
4125 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4126 (description
4127 "This package provides a set of helper programs necessary to build the
4128Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4129that is used to generate FFI declarations, a tool to build a type hierarchy
4130that mirrors the C type hierarchy of GObjects found in glib, and a generator
4131for signal declarations that are used to call back from C to Haskell. These
4132tools are not needed to actually run Gtk2Hs programs.")
4133 (license license:gpl2)))
4134
4135(define-public ghc-hackage-security
4136 (package
4137 (name "ghc-hackage-security")
4138 (version "0.5.3.0")
4139 (source
4140 (origin
4141 (method url-fetch)
4142 (uri (string-append "https://hackage.haskell.org/package/"
4143 "hackage-security/hackage-security-"
4144 version ".tar.gz"))
4145 (sha256
4146 (base32
4147 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4148 (build-system haskell-build-system)
4149 (arguments
4150 `(#:tests? #f)) ; Tests fail because of framework updates.
4151 (inputs
4152 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4153 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4154 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4155 ("ghc-ed25519" ,ghc-ed25519)
4156 ("ghc-network" ,ghc-network)
4157 ("ghc-network-uri" ,ghc-network-uri)
4158 ("ghc-tar" ,ghc-tar)
4159 ("ghc-zlib" ,ghc-zlib)))
4160 (native-inputs
4161 `(("ghc-network-uri" ,ghc-network-uri)
4162 ("ghc-quickcheck" ,ghc-quickcheck)
4163 ("ghc-tar" ,ghc-tar)
4164 ("ghc-tasty" ,ghc-tasty)
4165 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4166 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4167 ("ghc-temporary" ,ghc-temporary)
4168 ("ghc-zlib" ,ghc-zlib)))
4169 (home-page "https://github.com/haskell/hackage-security")
4170 (synopsis "Hackage security library")
4171 (description "This Hackage security library provides both server and
4172client utilities for securing @uref{http://hackage.haskell.org/, the
4173Hackage package server}. It is based on
4174@uref{http://theupdateframework.com/, The Update Framework}, a set of
4175recommendations developed by security researchers at various universities
4176in the US as well as developers on the @uref{https://www.torproject.org/,
4177Tor project}.")
4178 (license license:bsd-3)))
4179
4180(define-public ghc-haddock
4181 (package
4182 (name "ghc-haddock")
4183 (version "2.19.0.1")
4184 (source
4185 (origin
4186 (method url-fetch)
4187 (uri (string-append
4188 "https://hackage.haskell.org/package/haddock/haddock-"
4189 version
4190 ".tar.gz"))
4191 (sha256
4192 (base32
4193 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4194 (build-system haskell-build-system)
4195 (arguments
4196 `(#:phases
4197 (modify-phases %standard-phases
4198 ;; There are four test suites that require the ghc-haddock-test
4199 ;; package, which no longer builds with GHC 8.4.3. This phase
4200 ;; removes these four test suites from the Cabal file, so that we
4201 ;; do not need ghc-haddock-test as an input.
4202 (add-before 'configure 'remove-haddock-test-test-suites
4203 (lambda _
4204 (use-modules (ice-9 rdelim))
4205 (with-atomic-file-replacement "haddock.cabal"
4206 (lambda (in out)
4207 (let loop ((line (read-line in 'concat)) (deleting? #f))
4208 (cond
4209 ((eof-object? line) #t)
4210 ((string-every char-set:whitespace line)
4211 (unless deleting? (display line out))
4212 (loop (read-line in 'concat) #f))
4213 ((member line '("test-suite html-test\n"
4214 "test-suite hypsrc-test\n"
4215 "test-suite latex-test\n"
4216 "test-suite hoogle-test\n"))
4217 (loop (read-line in 'concat) #t))
4218 (else
4219 (unless deleting? (display line out))
4220 (loop (read-line in 'concat) deleting?)))))))))))
4221 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4222 (native-inputs
4223 `(("ghc-hspec" ,ghc-hspec)))
4224 (home-page "https://www.haskell.org/haddock/")
4225 (synopsis
4226 "Documentation-generation tool for Haskell libraries")
4227 (description
4228 "Haddock is a documentation-generation tool for Haskell libraries.")
4229 (license license:bsd-3)))
4230
4231(define-public ghc-haddock-api
4232 (package
4233 (name "ghc-haddock-api")
4234 (version "2.19.0.1")
4235 (source
4236 (origin
4237 (method url-fetch)
4238 (uri (string-append
4239 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4240 version
4241 ".tar.gz"))
4242 (sha256
4243 (base32
4244 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4245 (build-system haskell-build-system)
4246 (arguments
4247 `(#:phases
4248 (modify-phases %standard-phases
4249 (add-before 'configure 'update-constraints
4250 (lambda _
4251 (substitute* "haddock-api.cabal"
4252 (("Cabal \\^>= 2\\.0\\.0")
4253 "Cabal ^>= 2.2.0")
4254 (("hspec \\^>= 2\\.4\\.4")
4255 "hspec >= 2.4.4 && < 2.6")))))))
4256 (inputs
4257 `(("ghc-paths" ,ghc-paths)
4258 ("ghc-haddock-library" ,ghc-haddock-library)))
4259 (native-inputs
4260 `(("ghc-quickcheck" ,ghc-quickcheck)
4261 ("ghc-hspec" ,ghc-hspec)
4262 ("hspec-discover" ,hspec-discover)))
4263 (home-page "https://www.haskell.org/haddock/")
4264 (synopsis "API for documentation-generation tool Haddock")
4265 (description "This package provides an API to Haddock, the
4266documentation-generation tool for Haskell libraries.")
4267 (license license:bsd-3)))
4268
4269(define-public ghc-haddock-library
4270 (package
4271 (name "ghc-haddock-library")
4272 (version "1.5.0.1")
4273 (source
4274 (origin
4275 (method url-fetch)
4276 (uri (string-append
4277 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4278 version
4279 ".tar.gz"))
4280 (sha256
4281 (base32
4282 "1cmbg8l5xrwpliclwy3l057raypjqy0hsg1h1743ahaj8gq10b7z"))
4283 (patches (search-patches
4284 "ghc-haddock-library-unbundle.patch"))
4285 (modules '((guix build utils)))
4286 (snippet '(begin
4287 (delete-file-recursively "vendor")
4288 #t))))
4289 (build-system haskell-build-system)
4290 (arguments
4291 `(#:phases
4292 (modify-phases %standard-phases
4293 (add-before 'configure 'relax-test-suite-dependencies
4294 (lambda _
4295 (substitute* "haddock-library.cabal"
4296 (("base-compat\\s*\\^>= 0\\.9\\.3") "base-compat")
4297 (("hspec\\s*\\^>= 2\\.4\\.4") "hspec"))))
4298 ;; The release tarball does not contain the "fixtures/examples"
4299 ;; directory, which is required for testing. In the upstream
4300 ;; repository, the directory exists and is populated. Here, we
4301 ;; create an empty directory to placate the tests.
4302 (add-before 'check 'add-examples-directory
4303 (lambda _
4304 (mkdir "fixtures/examples")
4305 #t)))))
4306 (native-inputs
4307 `(("ghc-base-compat" ,ghc-base-compat)
4308 ("ghc-hspec" ,ghc-hspec)
4309 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4310 ("ghc-quickcheck" ,ghc-quickcheck)
4311 ("ghc-tree-diff" ,ghc-tree-diff)
4312 ("hspec-discover" ,hspec-discover)))
4313 (home-page "https://www.haskell.org/haddock/")
4314 (synopsis "Library exposing some functionality of Haddock")
4315 (description
4316 "Haddock is a documentation-generation tool for Haskell libraries. These
4317modules expose some functionality of it without pulling in the GHC dependency.
4318Please note that the API is likely to change so specify upper bounds in your
4319project if you can't release often. For interacting with Haddock itself, see
4320the ‘haddock’ package.")
4321 (license license:bsd-3)))
4322
4323(define-public ghc-half
4324 (package
4325 (name "ghc-half")
4326 (version "0.3")
4327 (source
4328 (origin
4329 (method url-fetch)
4330 (uri (string-append
4331 "https://hackage.haskell.org/package/half/half-"
4332 version ".tar.gz"))
4333 (sha256
4334 (base32
4335 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4336 (build-system haskell-build-system)
4337 (native-inputs
4338 `(("ghc-hspec" ,ghc-hspec)
4339 ("ghc-quickcheck" ,ghc-quickcheck)))
4340 (home-page "https://github.com/ekmett/half")
4341 (synopsis "Half-precision floating-point computations")
4342 (description "This library provides a half-precision floating-point
4343computation library for Haskell.")
4344 (license license:bsd-3)))
4345
4346(define-public ghc-happy
4347 (package
4348 (name "ghc-happy")
90e7b0e4 4349 (version "1.19.12")
dddbc90c
RV
4350 (source
4351 (origin
4352 (method url-fetch)
4353 (uri (string-append
4354 "https://hackage.haskell.org/package/happy/happy-"
4355 version
4356 ".tar.gz"))
4357 (sha256
4358 (base32
90e7b0e4 4359 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4360 (build-system haskell-build-system)
4361 (arguments
4362 `(#:phases
4363 (modify-phases %standard-phases
4364 (add-after 'unpack 'skip-test-issue93
4365 (lambda _
4366 ;; Tests run out of memory on a system with 2GB of available RAM,
4367 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4368 (substitute* "tests/Makefile"
4369 ((" issue93.y ") " "))
4370 #t)))))
4371 (home-page "https://hackage.haskell.org/package/happy")
4372 (synopsis "Parser generator for Haskell")
4373 (description "Happy is a parser generator for Haskell. Given a grammar
4374specification in BNF, Happy generates Haskell code to parse the grammar.
4375Happy works in a similar way to the yacc tool for C.")
4376 (license license:bsd-3)))
4377
4378(define-public ghc-hashable
4379 (package
4380 (name "ghc-hashable")
4381 (version "1.2.7.0")
4382 (outputs '("out" "doc"))
4383 (source
4384 (origin
4385 (method url-fetch)
4386 (uri (string-append
4387 "https://hackage.haskell.org/package/hashable/hashable-"
4388 version
4389 ".tar.gz"))
4390 (sha256
4391 (base32
4392 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4393 (build-system haskell-build-system)
65a16a45
TS
4394 (arguments
4395 `(#:cabal-revision
4396 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
4397 (inputs
4398 `(("ghc-random" ,ghc-random)))
4399 (native-inputs
4400 `(("ghc-test-framework" ,ghc-test-framework)
4401 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4402 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4403 ("ghc-hunit" ,ghc-hunit)
4404 ("ghc-quickcheck" ,ghc-quickcheck)))
4405 (home-page "https://github.com/tibbe/hashable")
4406 (synopsis "Class for types that can be converted to a hash value")
4407 (description
4408 "This package defines a class, @code{Hashable}, for types that can be
4409converted to a hash value. This class exists for the benefit of hashing-based
4410data structures. The package provides instances for basic types and a way to
4411combine hash values.")
4412 (license license:bsd-3)))
4413
4414(define-public ghc-hashable-bootstrap
4415 (package
4416 (inherit ghc-hashable)
4417 (name "ghc-hashable-bootstrap")
65a16a45
TS
4418 (arguments
4419 `(#:tests? #f
4420 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
4421 (native-inputs '())
4422 (properties '((hidden? #t)))))
4423
4424(define-public ghc-hashable-time
4425 (package
4426 (name "ghc-hashable-time")
f5051e31 4427 (version "0.2.0.2")
dddbc90c
RV
4428 (source
4429 (origin
4430 (method url-fetch)
4431 (uri (string-append
4432 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4433 version
4434 ".tar.gz"))
4435 (sha256
4436 (base32
f5051e31 4437 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
4438 (build-system haskell-build-system)
4439 (arguments
4440 `(#:cabal-revision
f5051e31 4441 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c
RV
4442 (inputs `(("ghc-hashable" ,ghc-hashable)))
4443 (home-page "http://hackage.haskell.org/package/hashable-time")
4444 (synopsis "Hashable instances for Data.Time")
4445 (description
4446 "This package provides @code{Hashable} instances for types in
4447@code{Data.Time}.")
4448 (license license:bsd-3)))
4449
4450(define-public ghc-hashtables
4451 (package
4452 (name "ghc-hashtables")
19edf0d0 4453 (version "1.2.3.4")
dddbc90c
RV
4454 (source
4455 (origin
4456 (method url-fetch)
4457 (uri (string-append
4458 "https://hackage.haskell.org/package/hashtables/hashtables-"
4459 version ".tar.gz"))
4460 (sha256
19edf0d0 4461 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
4462 (build-system haskell-build-system)
4463 (inputs
4464 `(("ghc-hashable" ,ghc-hashable)
4465 ("ghc-primitive" ,ghc-primitive)
4466 ("ghc-vector" ,ghc-vector)))
4467 (home-page "https://github.com/gregorycollins/hashtables")
4468 (synopsis "Haskell Mutable hash tables in the ST monad")
4469 (description "This package provides a Haskell library including a
4470couple of different implementations of mutable hash tables in the ST
4471monad, as well as a typeclass abstracting their common operations, and
4472a set of wrappers to use the hash tables in the IO monad.")
4473 (license license:bsd-3)))
4474
4475(define-public ghc-haskell-lexer
4476 (package
4477 (name "ghc-haskell-lexer")
4478 (version "1.0.2")
4479 (source
4480 (origin
4481 (method url-fetch)
4482 (uri (string-append
4483 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4484 version ".tar.gz"))
4485 (sha256
4486 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4487 (build-system haskell-build-system)
4488 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4489 (synopsis "Fully compliant Haskell 98 lexer")
4490 (description
4491 "This package provides a fully compliant Haskell 98 lexer.")
4492 (license license:bsd-3)))
4493
4494(define-public ghc-haskell-src
4495 (package
4496 (name "ghc-haskell-src")
4497 (version "1.0.3.0")
4498 (source
4499 (origin
4500 (method url-fetch)
4501 (uri (string-append
4502 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4503 version
4504 ".tar.gz"))
4505 (sha256
4506 (base32
4507 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4508 (build-system haskell-build-system)
4509 (inputs
4510 `(("ghc-happy" ,ghc-happy)
4511 ("ghc-syb" ,ghc-syb)))
4512 (home-page
4513 "https://hackage.haskell.org/package/haskell-src")
4514 (synopsis
4515 "Support for manipulating Haskell source code")
4516 (description
4517 "The @code{haskell-src} package provides support for manipulating Haskell
4518source code. The package provides a lexer, parser and pretty-printer, and a
4519definition of a Haskell abstract syntax tree (AST). Common uses of this
4520package are to parse or generate Haskell 98 code.")
4521 (license license:bsd-3)))
4522
4523(define-public ghc-haskell-src-exts
4524 (package
4525 (name "ghc-haskell-src-exts")
37a05591 4526 (version "1.21.1")
dddbc90c
RV
4527 (source
4528 (origin
4529 (method url-fetch)
4530 (uri (string-append
4531 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4532 version
4533 ".tar.gz"))
4534 (sha256
4535 (base32
37a05591 4536 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
4537 (build-system haskell-build-system)
4538 (inputs
4539 `(("cpphs" ,cpphs)
4540 ("ghc-happy" ,ghc-happy)
4541 ("ghc-pretty-show" ,ghc-pretty-show)))
4542 (native-inputs
4543 `(("ghc-smallcheck" ,ghc-smallcheck)
4544 ("ghc-tasty" ,ghc-tasty)
4545 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4546 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4547 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4548 (synopsis "Library for manipulating Haskell source")
4549 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4550extension of the standard @code{haskell-src} package, and handles most
4551registered syntactic extensions to Haskell. All extensions implemented in GHC
4552are supported. Apart from these standard extensions, it also handles regular
4553patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4554 (license license:bsd-3)))
4555
4556(define-public ghc-haskell-src-exts-util
4557 (package
4558 (name "ghc-haskell-src-exts-util")
4559 (version "0.2.3")
4560 (source
4561 (origin
4562 (method url-fetch)
4563 (uri (string-append "https://hackage.haskell.org/package/"
4564 "haskell-src-exts-util/haskell-src-exts-util-"
4565 version ".tar.gz"))
4566 (sha256
4567 (base32
4568 "1803718paq89f8pdck4mb88hv2k1ah9lxzq0lgjgwi9n88ryycz8"))))
4569 (build-system haskell-build-system)
4570 (inputs
4571 `(("ghc-data-default" ,ghc-data-default)
4572 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4573 ("ghc-semigroups" ,ghc-semigroups)
4574 ("ghc-uniplate" ,ghc-uniplate)))
4575 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4576 (synopsis "Helper functions for working with haskell-src-exts trees")
4577 (description
4578 "This package provides helper functions for working with
4579@code{haskell-src-exts} trees.")
4580 (license license:bsd-3)))
4581
4582(define-public ghc-haskell-src-meta
4583 (package
4584 (name "ghc-haskell-src-meta")
4585 (version "0.8.0.3")
4586 (source (origin
4587 (method url-fetch)
4588 (uri (string-append "https://hackage.haskell.org/package/"
4589 "haskell-src-meta/haskell-src-meta-"
4590 version ".tar.gz"))
4591 (sha256
4592 (base32
4593 "08jq156zv4m0fjq6712n99c1jwxnpa6kj6sq8ch0r1l0a1ay6ww4"))))
4594 (build-system haskell-build-system)
4595 (inputs
4596 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4597 ("ghc-syb" ,ghc-syb)
4598 ("ghc-th-orphans" ,ghc-th-orphans)))
4599 (native-inputs
4600 `(("ghc-hunit" ,ghc-hunit)
4601 ("ghc-test-framework" ,ghc-test-framework)
4602 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4603 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4604 (synopsis "Parse source to template-haskell abstract syntax")
4605 (description
4606 "This package provides tools to parse Haskell sources to the
4607template-haskell abstract syntax.")
4608 (license license:bsd-3)))
4609
4610(define-public ghc-hasktags
4611 (package
4612 (name "ghc-hasktags")
4613 (version "0.71.2")
4614 (source
4615 (origin
4616 (method url-fetch)
4617 (uri (string-append
4618 "https://hackage.haskell.org/package/hasktags/hasktags-"
4619 version
4620 ".tar.gz"))
4621 (sha256
4622 (base32
4623 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4624 (build-system haskell-build-system)
4625 (inputs
4626 `(("ghc-system-filepath" ,ghc-system-filepath)
4627 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4628 (native-inputs
4629 `(("ghc-json" ,ghc-json)
4630 ("ghc-utf8-string" ,ghc-utf8-string)
4631 ("ghc-microlens-platform" ,ghc-microlens-platform)
4632 ("ghc-hunit" ,ghc-hunit)))
4633 (home-page "http://github.com/MarcWeber/hasktags")
4634 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4635 (description
4636 "This package provides a means of generating tag files for Emacs and
4637Vim.")
4638 (license license:bsd-3)))
4639
4640(define-public ghc-hex
4641 (package
4642 (name "ghc-hex")
4643 (version "0.1.2")
4644 (source
4645 (origin
4646 (method url-fetch)
4647 (uri (string-append "https://hackage.haskell.org/package/"
4648 "hex-" version "/"
4649 "hex-" version ".tar.gz"))
4650 (sha256
4651 (base32
4652 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4653 (build-system haskell-build-system)
4654 (home-page "https://hackage.haskell.org/package/hex")
4655 (synopsis "Convert strings into hexadecimal and back")
4656 (description "This package provides conversion functions between
4657bytestrings and their hexademical representation.")
4658 (license license:bsd-3)))
4659
4660(define-public ghc-highlighting-kate
4661 (package
4662 (name "ghc-highlighting-kate")
4663 (version "0.6.4")
4664 (source (origin
4665 (method url-fetch)
4666 (uri (string-append "https://hackage.haskell.org/package/"
4667 "highlighting-kate/highlighting-kate-"
4668 version ".tar.gz"))
4669 (sha256
4670 (base32
4671 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4672 (build-system haskell-build-system)
4673 (inputs
4674 `(("ghc-diff" ,ghc-diff)
4675 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4676 (native-inputs
4677 `(("ghc-blaze-html" ,ghc-blaze-html)
4678 ("ghc-utf8-string" ,ghc-utf8-string)))
4679 (home-page "https://github.com/jgm/highlighting-kate")
4680 (synopsis "Syntax highlighting library")
4681 (description
4682 "Highlighting-kate is a syntax highlighting library with support for
4683nearly one hundred languages. The syntax parsers are automatically generated
4684from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4685supported by Kate can be added. An (optional) command-line program is
4686provided, along with a utility for generating new parsers from Kate XML syntax
4687descriptions.")
4688 (license license:gpl2+)))
4689
4690(define-public ghc-hindent
4691 (package
4692 (name "ghc-hindent")
4693 (version "5.3.0")
4694 (source
4695 (origin
4696 (method url-fetch)
4697 (uri (string-append
4698 "https://hackage.haskell.org/package/hindent/hindent-"
4699 version
4700 ".tar.gz"))
4701 (sha256
4702 (base32
4703 "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg"))))
4704 (build-system haskell-build-system)
4705 (arguments
4706 `(#:modules ((guix build haskell-build-system)
4707 (guix build utils)
4708 (guix build emacs-utils))
4709 #:imported-modules (,@%haskell-build-system-modules
4710 (guix build emacs-utils))
4711 #:phases
4712 (modify-phases %standard-phases
4713 (add-after 'install 'emacs-install
4714 (lambda* (#:key inputs outputs #:allow-other-keys)
4715 (let* ((out (assoc-ref outputs "out"))
4716 (elisp-file "elisp/hindent.el")
4717 (dest (string-append out "/share/emacs/site-lisp"
4718 "/guix.d/hindent-" ,version))
4719 (emacs (string-append (assoc-ref inputs "emacs")
4720 "/bin/emacs")))
4721 (make-file-writable elisp-file)
4722 (emacs-substitute-variables elisp-file
4723 ("hindent-process-path"
4724 (string-append out "/bin/hindent")))
4725 (install-file elisp-file dest)
4726 (emacs-generate-autoloads "hindent" dest)))))))
4727 (inputs
4728 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4729 ("ghc-monad-loops" ,ghc-monad-loops)
4730 ("ghc-utf8-string" ,ghc-utf8-string)
4731 ("ghc-exceptions" ,ghc-exceptions)
4732 ("ghc-yaml" ,ghc-yaml)
4733 ("ghc-unix-compat" ,ghc-unix-compat)
4734 ("ghc-path" ,ghc-path)
4735 ("ghc-path-io" ,ghc-path-io)
4736 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4737 (native-inputs
4738 `(("ghc-hspec" ,ghc-hspec)
4739 ("ghc-diff" ,ghc-diff)
4740 ("emacs" ,emacs-minimal)))
4741 (home-page
4742 "https://github.com/commercialhaskell/hindent")
4743 (synopsis "Extensible Haskell pretty printer")
4744 (description
4745 "This package provides automatic formatting for Haskell files. Both a
4746library and an executable.")
4747 (license license:bsd-3)))
4748
4749(define-public ghc-hinotify
4750 (package
4751 (name "ghc-hinotify")
c2342abb 4752 (version "0.4")
dddbc90c
RV
4753 (source (origin
4754 (method url-fetch)
4755 (uri (string-append
4756 "https://hackage.haskell.org/package/hinotify/"
4757 "hinotify-" version ".tar.gz"))
4758 (sha256
4759 (base32
c2342abb 4760 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
4761 (build-system haskell-build-system)
4762 (inputs
4763 `(("ghc-async" ,ghc-async)))
4764 (home-page "https://github.com/kolmodin/hinotify.git")
4765 (synopsis "Haskell binding to inotify")
4766 (description "This library provides a wrapper to the Linux kernel's inotify
4767feature, allowing applications to subscribe to notifications when a file is
4768accessed or modified.")
4769 (license license:bsd-3)))
4770
4771(define-public ghc-hmatrix
4772 (package
4773 (name "ghc-hmatrix")
65e29ed1 4774 (version "0.20.0.0")
dddbc90c
RV
4775 (source
4776 (origin
4777 (method url-fetch)
4778 (uri (string-append
4779 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
4780 version ".tar.gz"))
4781 (sha256
65e29ed1 4782 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
4783 (build-system haskell-build-system)
4784 (inputs
4785 `(("ghc-random" ,ghc-random)
4786 ("ghc-split" ,ghc-split)
4787 ("ghc-storable-complex" ,ghc-storable-complex)
4788 ("ghc-semigroups" ,ghc-semigroups)
4789 ("ghc-vector" ,ghc-vector)
4790 ;;("openblas" ,openblas)
4791 ("lapack" ,lapack)))
4792 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
4793 ;; disables inclusion of the LAPACK functions.
4794 ;; (arguments `(#:configure-flags '("--flags=openblas")))
4795 (home-page "https://github.com/albertoruiz/hmatrix")
4796 (synopsis "Haskell numeric linear algebra library")
4797 (description "The HMatrix package provices a Haskell library for
4798dealing with linear systems, matrix decompositions, and other
4799numerical computations based on BLAS and LAPACK.")
4800 (license license:bsd-3)))
4801
4802(define-public ghc-hmatrix-gsl
4803 (package
4804 (name "ghc-hmatrix-gsl")
4805 (version "0.19.0.1")
4806 (source
4807 (origin
4808 (method url-fetch)
4809 (uri (string-append
4810 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
4811 version ".tar.gz"))
4812 (sha256
4813 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
4814 (build-system haskell-build-system)
4815 (inputs
4816 `(("ghc-hmatrix" ,ghc-hmatrix)
4817 ("ghc-vector" ,ghc-vector)
4818 ("ghc-random" ,ghc-random)
4819 ("gsl" ,gsl)))
4820 (native-inputs `(("pkg-config" ,pkg-config)))
4821 (home-page "https://github.com/albertoruiz/hmatrix")
4822 (synopsis "Haskell GSL binding")
4823 (description "This Haskell library provides a purely functional
4824interface to selected numerical computations, internally implemented
4825using GSL.")
4826 (license license:gpl3+)))
4827
4828(define-public ghc-hmatrix-gsl-stats
4829 (package
4830 (name "ghc-hmatrix-gsl-stats")
e9b359f5 4831 (version "0.4.1.8")
dddbc90c
RV
4832 (source
4833 (origin
4834 (method url-fetch)
4835 (uri
4836 (string-append
4837 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4838 version ".tar.gz"))
4839 (sha256
e9b359f5 4840 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
4841 (build-system haskell-build-system)
4842 (inputs
4843 `(("ghc-vector" ,ghc-vector)
4844 ("ghc-storable-complex" ,ghc-storable-complex)
4845 ("ghc-hmatrix" ,ghc-hmatrix)
4846 ("gsl" ,gsl)))
4847 (native-inputs `(("pkg-config" ,pkg-config)))
4848 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
4849 (synopsis "GSL Statistics interface for Haskell")
4850 (description "This Haskell library provides a purely functional
4851interface for statistics based on hmatrix and GSL.")
4852 (license license:bsd-3)))
4853
4854(define-public ghc-hmatrix-special
4855 (package
4856 (name "ghc-hmatrix-special")
4857 (version "0.19.0.0")
4858 (source
4859 (origin
4860 (method url-fetch)
4861 (uri
4862 (string-append
4863 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
4864 version ".tar.gz"))
4865 (sha256
4866 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
4867 (build-system haskell-build-system)
4868 (inputs
4869 `(("ghc-hmatrix" ,ghc-hmatrix)
4870 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
4871 (home-page "https://github.com/albertoruiz/hmatrix")
4872 (synopsis "Haskell interface to GSL special functions")
4873 (description "This library provides an interface to GSL special
4874functions for Haskell.")
4875 (license license:gpl3+)))
4876
4877(define-public ghc-hostname
4878 (package
4879 (name "ghc-hostname")
4880 (version "1.0")
4881 (source
4882 (origin
4883 (method url-fetch)
4884 (uri (string-append "https://hackage.haskell.org/package/hostname/"
4885 "hostname-" version ".tar.gz"))
4886 (sha256
4887 (base32
4888 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
4889 (build-system haskell-build-system)
4890 (home-page "https://hackage.haskell.org/package/hostname")
4891 (synopsis "Hostname in Haskell")
4892 (description "Network.HostName is a simple package providing a means to
4893determine the hostname.")
4894 (license license:bsd-3)))
4895
4896(define-public ghc-hourglass
4897 (package
4898 (name "ghc-hourglass")
4899 (version "0.2.12")
4900 (source (origin
4901 (method url-fetch)
4902 (uri (string-append "https://hackage.haskell.org/package/"
4903 "hourglass/hourglass-" version ".tar.gz"))
4904 (sha256
4905 (base32
4906 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
4907 (build-system haskell-build-system)
4908 (inputs
4909 `(("ghc-old-locale" ,ghc-old-locale)))
4910 (native-inputs
4911 `(("ghc-tasty" ,ghc-tasty)
4912 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4913 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4914 (home-page "https://github.com/vincenthz/hs-hourglass")
4915 (synopsis "Simple time-related library for Haskell")
4916 (description
4917 "This is a simple time library providing a simple but powerful and
4918performant API. The backbone of the library are the @code{Timeable} and
4919@code{Time} type classes. Each @code{Timeable} instances can be converted to
4920a type that has a @code{Time} instances, and thus are different
4921representations of current time.")
4922 (license license:bsd-3)))
4923
4924(define-public ghc-hpack
4925 (package
4926 (name "ghc-hpack")
4927 (version "0.28.2")
4928 (source
4929 (origin
4930 (method url-fetch)
4931 (uri (string-append "https://hackage.haskell.org/package/hpack/"
4932 "hpack-" version ".tar.gz"))
4933 (sha256
4934 (base32
4935 "18w0h76jdp3mk9vin8da9iz3cwhcxmw787xy8wlh8bxcpcr16q5r"))))
4936 (build-system haskell-build-system)
4937 (inputs
4938 `(("ghc-aeson" ,ghc-aeson)
4939 ("ghc-bifunctors" ,ghc-bifunctors)
4940 ("ghc-cryptonite" ,ghc-cryptonite)
4941 ("ghc-glob" ,ghc-glob)
4942 ("ghc-http-client" ,ghc-http-client)
4943 ("ghc-http-client-tls" ,ghc-http-client-tls)
4944 ("ghc-http-types" ,ghc-http-types)
4945 ("ghc-scientific" ,ghc-scientific)
4946 ("ghc-unordered-containers" ,ghc-unordered-containers)
4947 ("ghc-vector" ,ghc-vector)
4948 ("ghc-yaml" ,ghc-yaml)))
4949 (native-inputs
4950 `(("ghc-hspec" ,ghc-hspec)
4951 ("ghc-hunit" ,ghc-hunit)
4952 ("ghc-interpolate" ,ghc-interpolate)
4953 ("ghc-mockery" ,ghc-mockery)
4954 ("ghc-quickcheck" ,ghc-quickcheck)
4955 ("ghc-temporary" ,ghc-temporary)
4956 ("hspec-discover" ,hspec-discover)))
4957 (home-page "https://github.com/sol/hpack")
4958 (synopsis "Tools for an alternative Haskell package format")
4959 (description
4960 "Hpack is a format for Haskell packages. It is an alternative to the
4961Cabal package format and follows different design principles. Hpack packages
4962are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
4963@code{stack} support @code{package.yaml} natively. For other build tools the
4964@code{hpack} executable can be used to generate a @code{.cabal} file from
4965@code{package.yaml}.")
4966 (license license:expat)))
4967
4968(define-public ghc-hs-bibutils
4969 (package
4970 (name "ghc-hs-bibutils")
ebcb4f23 4971 (version "6.7.0.0")
dddbc90c
RV
4972 (source
4973 (origin
4974 (method url-fetch)
4975 (uri (string-append
4976 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
4977 version ".tar.gz"))
4978 (sha256
4979 (base32
ebcb4f23 4980 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
4981 (build-system haskell-build-system)
4982 (inputs `(("ghc-syb" ,ghc-syb)))
4983 (home-page "https://hackage.haskell.org/package/hs-bibutils")
4984 (synopsis "Haskell bindings to bibutils")
4985 (description
4986 "This package provides Haskell bindings to @code{bibutils}, a library
4987that interconverts between various bibliography formats using a common
4988MODS-format XML intermediate.")
4989 (license license:gpl2+)))
4990
4991(define-public ghc-hslogger
4992 (package
4993 (name "ghc-hslogger")
e5ccc5f7 4994 (version "1.2.12")
dddbc90c
RV
4995 (source
4996 (origin
4997 (method url-fetch)
4998 (uri (string-append "https://hackage.haskell.org/package/"
4999 "hslogger-" version "/" "hslogger-"
5000 version ".tar.gz"))
5001 (sha256 (base32
e5ccc5f7 5002 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5003 (build-system haskell-build-system)
5004 (inputs
5005 `(("ghc-network" ,ghc-network)
5006 ("ghc-old-locale" ,ghc-old-locale)))
5007 (native-inputs
5008 `(("ghc-hunit" ,ghc-hunit)))
5009 (home-page "https://software.complete.org/hslogger")
5010 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5011 (description "Hslogger lets each log message have a priority and source be
5012associated with it. The programmer can then define global handlers that route
5013or filter messages based on the priority and source. It also has a syslog
5014handler built in.")
5015 (license license:bsd-3)))
5016
5017(define-public ghc-hslua
5018 (package
5019 (name "ghc-hslua")
5020 (version "0.9.5.2")
5021 (source (origin
5022 (method url-fetch)
5023 (uri (string-append "https://hackage.haskell.org/package/"
5024 "hslua/hslua-" version ".tar.gz"))
5025 (sha256
5026 (base32
5027 "1rdvv01p214zfjh6fcqjjgqwi8y42wad6cqzhlcv5gvclzw2ck8f"))))
5028 (build-system haskell-build-system)
5029 (arguments
5030 `(#:configure-flags '("-fsystem-lua")))
5031 (inputs
5032 `(("lua" ,lua)
5033 ("ghc-exceptions" ,ghc-exceptions)
5034 ("ghc-fail" ,ghc-fail)))
5035 (native-inputs
5036 `(("ghc-tasty" ,ghc-tasty)
5037 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5038 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5039 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5040 ("ghc-quickcheck" ,ghc-quickcheck)
5041 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5042 (home-page "https://hackage.haskell.org/package/hslua")
5043 (synopsis "Lua language interpreter embedding in Haskell")
5044 (description
5045 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5046described in @url{https://www.lua.org/}.")
5047 (license license:expat)))
5048
5049(define-public ghc-hslua-module-text
5050 (package
5051 (name "ghc-hslua-module-text")
5052 (version "0.1.2.1")
5053 (source
5054 (origin
5055 (method url-fetch)
5056 (uri (string-append "https://hackage.haskell.org/package/"
5057 "hslua-module-text/hslua-module-text-"
5058 version ".tar.gz"))
5059 (sha256
5060 (base32
5061 "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf"))))
5062 (build-system haskell-build-system)
5063 (arguments
5064 `(#:cabal-revision
5065 ("1" "0vajlsd7y6pwa08635q0cx8z5c1c55bk7fvavw7g2vmyvxqjzx6n")))
5066 (inputs
5067 `(("ghc-hslua" ,ghc-hslua)))
5068 (native-inputs
5069 `(("ghc-tasty" ,ghc-tasty)
5070 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5071 (home-page "https://github.com/hslua/hslua-module-text")
5072 (synopsis "Lua module for text")
5073 (description
5074 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5075for Haskell. The functions provided by this module are @code{upper},
5076@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5077 (license license:expat)))
5078
5079(define-public ghc-http-api-data
5080 (package
5081 (name "ghc-http-api-data")
5082 (version "0.3.8.1")
5083 (source
5084 (origin
5085 (method url-fetch)
5086 (uri (string-append "https://hackage.haskell.org/package/"
5087 "http-api-data-" version "/"
5088 "http-api-data-" version ".tar.gz"))
5089 (sha256
5090 (base32
5091 "1cq6459b8wz6nvkvpi89dg189n5q2xdq4rdq435hf150555vmskf"))))
5092 (build-system haskell-build-system)
5093 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9
5094 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5095 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
5096 ("ghc-hashable" ,ghc-hashable)
5097 ("ghc-http-types" ,ghc-http-types)
5098 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
5099 ("ghc-unordered-containers" ,ghc-unordered-containers)
5100 ("ghc-uri-bytestring" ,ghc-uri-bytestring)
5101 ("ghc-uuid-types" ,ghc-uuid-types)))
5102 (home-page "https://github.com/fizruk/http-api-data")
5103 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5104query parameters")
5105 (description "This Haskell package defines typeclasses used for converting
5106Haskell data types to and from HTTP API data.")
5107 (license license:bsd-3)))
5108
5109(define-public ghc-ieee754
5110 (package
5111 (name "ghc-ieee754")
5112 (version "0.8.0")
5113 (source (origin
5114 (method url-fetch)
5115 (uri (string-append
5116 "https://hackage.haskell.org/package/ieee754/"
5117 "ieee754-" version ".tar.gz"))
5118 (sha256
5119 (base32
5120 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5121 (build-system haskell-build-system)
5122 (home-page "https://github.com/patperry/hs-ieee754")
5123 (synopsis "Utilities for dealing with IEEE floating point numbers")
5124 (description "Utilities for dealing with IEEE floating point numbers,
5125ported from the Tango math library; approximate and exact equality comparisons
5126for general types.")
5127 (license license:bsd-3)))
5128
5129(define-public ghc-ifelse
5130 (package
5131 (name "ghc-ifelse")
5132 (version "0.85")
5133 (source
5134 (origin
5135 (method url-fetch)
5136 (uri (string-append "https://hackage.haskell.org/package/"
5137 "IfElse/IfElse-" version ".tar.gz"))
5138 (sha256
5139 (base32
5140 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5141 (build-system haskell-build-system)
5142 (home-page "http://hackage.haskell.org/package/IfElse")
5143 (synopsis "Monadic control flow with anaphoric variants")
5144 (description "This library provides functions for control flow inside of
5145monads with anaphoric variants on @code{if} and @code{when} and a C-like
5146@code{switch} function.")
5147 (license license:bsd-3)))
5148
5149(define-public ghc-indents
5150 (package
5151 (name "ghc-indents")
d66473fb 5152 (version "0.5.0.1")
dddbc90c
RV
5153 (source (origin
5154 (method url-fetch)
5155 (uri (string-append
5156 "https://hackage.haskell.org/package/indents/indents-"
5157 version ".tar.gz"))
5158 (sha256
5159 (base32
d66473fb 5160 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5161 (build-system haskell-build-system)
5162 ;; This package needs an older version of tasty.
5163 (arguments '(#:tests? #f))
5164 (inputs
5165 `(("ghc-concatenative" ,ghc-concatenative)))
5166 (native-inputs
5167 `(("ghc-tasty" ,ghc-tasty)
5168 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5169 (home-page "http://patch-tag.com/r/salazar/indents")
5170 (synopsis "Indentation sensitive parser-combinators for parsec")
5171 (description
5172 "This library provides functions for use in parsing indentation sensitive
5173contexts. It parses blocks of lines all indented to the same level as well as
5174lines continued at an indented level below.")
5175 (license license:bsd-3)))
5176
5177(define-public ghc-inline-c
5178 (package
5179 (name "ghc-inline-c")
5180 (version "0.6.1.0")
5181 (source
5182 (origin
5183 (method url-fetch)
5184 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5185 "inline-c-" version ".tar.gz"))
5186 (sha256
5187 (base32
5188 "0vbfrsqsi7mdziqsnj68bsqlwbqxxhvrmy9rv6w8z18d1m8w3n6h"))))
5189 (build-system haskell-build-system)
5190 (inputs
5191 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5192 ("ghc-cryptohash" ,ghc-cryptohash)
5193 ("ghc-hashable" ,ghc-hashable)
5194 ("ghc-parsers" ,ghc-parsers)
5195 ("ghc-unordered-containers" ,ghc-unordered-containers)
5196 ("ghc-vector" ,ghc-vector)))
5197 (native-inputs
5198 `(("ghc-quickcheck" ,ghc-quickcheck)
5199 ("ghc-hspec" ,ghc-hspec)
5200 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5201 ("ghc-regex-posix" ,ghc-regex-posix)))
5202 (home-page "http://hackage.haskell.org/package/inline-c")
5203 (synopsis "Write Haskell source files including C code inline")
5204 (description
5205 "inline-c lets you seamlessly call C libraries and embed high-performance
5206inline C code in Haskell modules. Haskell and C can be freely intermixed in
5207the same source file, and data passed to and from code in either language with
5208minimal overhead. No FFI required.")
5209 (license license:expat)))
5210
5211(define-public ghc-inline-c-cpp
5212 (package
5213 (name "ghc-inline-c-cpp")
5214 (version "0.2.2.1")
5215 (source
5216 (origin
5217 (method url-fetch)
5218 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5219 "inline-c-cpp-" version ".tar.gz"))
5220 (sha256
5221 (base32
5222 "1rk7fmpkmxw9hhwr8df29kadnf0ybnwj64ggdbnsdrpfyhnkisci"))))
5223 (build-system haskell-build-system)
5224 (inputs
5225 `(("ghc-inline-c" ,ghc-inline-c)
5226 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5227 (native-inputs
5228 `(("ghc-hspec" ,ghc-hspec)))
5229 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5230 (synopsis "Lets you embed C++ code into Haskell")
5231 (description
5232 "This package provides utilities to inline C++ code into Haskell using
5233@code{inline-c}.")
5234 (license license:expat)))
5235
5236(define-public ghc-integer-logarithms
5237 (package
5238 (name "ghc-integer-logarithms")
86a704db 5239 (version "1.0.3")
dddbc90c
RV
5240 (source
5241 (origin
5242 (method url-fetch)
5243 (uri (string-append "https://hackage.haskell.org/package/"
5244 "integer-logarithms/integer-logarithms-"
5245 version ".tar.gz"))
5246 (sha256
5247 (base32
86a704db 5248 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5249 (build-system haskell-build-system)
5250 (arguments
5251 `(#:phases
5252 (modify-phases %standard-phases
5253 (add-before 'configure 'update-constraints
5254 (lambda _
5255 (substitute* "integer-logarithms.cabal"
5256 (("tasty >= 0\\.10 && < 1\\.1")
5257 "tasty >= 0.10 && < 1.2")))))))
5258 (native-inputs
5259 `(("ghc-quickcheck" ,ghc-quickcheck)
5260 ("ghc-smallcheck" ,ghc-smallcheck)
5261 ("ghc-tasty" ,ghc-tasty)
5262 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5263 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5264 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5265 (home-page "https://github.com/Bodigrim/integer-logarithms")
5266 (synopsis "Integer logarithms")
5267 (description
5268 "This package provides the following modules:
5269@code{Math.NumberTheory.Logarithms} and
5270@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5271@code{GHC.Integer.Logarithms.Compat} and
5272@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5273in migrated modules.")
5274 (license license:expat)))
5275
5276(define-public ghc-integer-logarithms-bootstrap
5277 (package
5278 (inherit ghc-integer-logarithms)
5279 (name "ghc-integer-logarithms-bootstrap")
5280 (arguments `(#:tests? #f))
5281 (native-inputs '())
799d8d3c 5282 (properties '((hidden? #t)))))
dddbc90c
RV
5283
5284(define-public ghc-interpolate
5285 (package
5286 (name "ghc-interpolate")
5287 (version "0.2.0")
5288 (source
5289 (origin
5290 (method url-fetch)
5291 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5292 "interpolate-" version ".tar.gz"))
5293 (sha256
5294 (base32
5295 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5296 (build-system haskell-build-system)
5297 (inputs
5298 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5299 (native-inputs
5300 `(("ghc-base-compat" ,ghc-base-compat)
5301 ("ghc-hspec" ,ghc-hspec)
5302 ("ghc-quickcheck" ,ghc-quickcheck)
5303 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5304 ("hspec-discover" ,hspec-discover)))
5305 (home-page "https://github.com/sol/interpolate")
5306 (synopsis "String interpolation library")
5307 (description "This package provides a string interpolation library for
5308Haskell.")
5309 (license license:expat)))
5310
5311(define-public ghc-intervalmap
5312 (package
5313 (name "ghc-intervalmap")
e4946e32 5314 (version "0.6.1.1")
dddbc90c
RV
5315 (source
5316 (origin
5317 (method url-fetch)
5318 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5319 "IntervalMap-" version ".tar.gz"))
5320 (sha256
5321 (base32
e4946e32 5322 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
5323 (build-system haskell-build-system)
5324 (native-inputs
5325 `(("ghc-quickcheck" ,ghc-quickcheck)))
5326 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5327 (synopsis "Containers for intervals, with efficient search")
5328 (description
5329 "This package provides ordered containers of intervals, with efficient
5330search for all keys containing a point or overlapping an interval. See the
5331example code on the home page for a quick introduction.")
5332 (license license:bsd-3)))
5333
5334(define-public ghc-invariant
5335 (package
5336 (name "ghc-invariant")
5337 (version "0.5.1")
5338 (source
5339 (origin
5340 (method url-fetch)
5341 (uri (string-append
5342 "https://hackage.haskell.org/package/invariant/invariant-"
5343 version ".tar.gz"))
5344 (sha256
5345 (base32
5346 "0aqj7z55632qdg45074kgn9qfdxzb0a2f8lgjzr0l0i4mm2rr37b"))))
5347 (build-system haskell-build-system)
5348 (inputs
5349 `(("ghc-bifunctors" ,ghc-bifunctors)
5350 ("ghc-comonad" ,ghc-comonad)
5351 ("ghc-contravariant" ,ghc-contravariant)
5352 ("ghc-profunctors" ,ghc-profunctors)
5353 ("ghc-semigroups" ,ghc-semigroups)
5354 ("ghc-statevar" ,ghc-statevar)
5355 ("ghc-tagged" ,ghc-tagged)
5356 ("ghc-th-abstraction" ,ghc-th-abstraction)
5357 ("ghc-transformers-compat" ,ghc-transformers-compat)
5358 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5359 (native-inputs
5360 `(("ghc-hspec" ,ghc-hspec)
5361 ("ghc-quickcheck" ,ghc-quickcheck)
5362 ("hspec-discover" ,hspec-discover)))
5363 (home-page "https://github.com/nfrisby/invariant-functors")
5364 (synopsis "Haskell98 invariant functors")
5365 (description "Haskell98 invariant functors (also known as exponential
5366functors). For more information, see Edward Kmett's article
5367@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5368 (license license:bsd-2)))
5369
5370(define-public ghc-io-streams
5371 (package
5372 (name "ghc-io-streams")
5373 (version "1.5.0.1")
5374 (source
5375 (origin
5376 (method url-fetch)
5377 (uri (string-append "https://hackage.haskell.org/package/"
5378 "io-streams/io-streams-" version ".tar.gz"))
5379 (sha256
5380 (base32
5381 "12rcdg2d70644bvn838fxcjkssqj8pssnx5y657si5rijcbkgjsx"))))
5382 (build-system haskell-build-system)
5383 (inputs
5384 `(("ghc-attoparsec" ,ghc-attoparsec)
5385 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5386 ("ghc-network" ,ghc-network)
5387 ("ghc-primitive" ,ghc-primitive)
5388 ("ghc-vector" ,ghc-vector)
5389 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5390 (native-inputs
5391 `(("ghc-hunit" ,ghc-hunit)
5392 ("ghc-quickcheck" ,ghc-quickcheck)
5393 ("ghc-test-framework" ,ghc-test-framework)
5394 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5395 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5396 ("ghc-zlib" ,ghc-zlib)))
5397 (arguments
5398 `(#:cabal-revision
5399 ("2" "1mcab95d6hm098myh9gp7sh10srigjphgvm8s9pfs7jg5hzghy14")))
5400 (home-page "http://hackage.haskell.org/package/io-streams")
5401 (synopsis "Simple and composable stream I/O")
5402 (description "This library contains simple and easy-to-use
5403primitives for I/O using streams.")
5404 (license license:bsd-3)))
5405
5406(define-public ghc-io-streams-haproxy
5407 (package
5408 (name "ghc-io-streams-haproxy")
5409 (version "1.0.0.2")
5410 (source
5411 (origin
5412 (method url-fetch)
5413 (uri (string-append "https://hackage.haskell.org/package/"
5414 "io-streams-haproxy/io-streams-haproxy-"
5415 version ".tar.gz"))
5416 (sha256
5417 (base32
5418 "11nh9q158mgnvvb23s5ffg87lkhl5smk039yl43jghxmb214z0bp"))))
5419 (build-system haskell-build-system)
5420 (inputs
5421 `(("ghc-attoparsec" ,ghc-attoparsec)
5422 ("ghc-io-streams" ,ghc-io-streams)
5423 ("ghc-network" ,ghc-network)))
5424 (native-inputs
5425 `(("ghc-hunit" ,ghc-hunit)
5426 ("ghc-test-framework" ,ghc-test-framework)
5427 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5428 (arguments
5429 `(#:cabal-revision
5430 ("4" "06c51a057n5bc9xfbp2m4jz5ds4z1xvmsx5mppch6qfwbz7x5i9l")))
5431 (home-page "http://snapframework.com/")
5432 (synopsis "HAProxy protocol 1.5 support for io-streams")
5433 (description "HAProxy protocol version 1.5 support
5434(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5435for applications using io-streams. The proxy protocol allows information
5436about a networked peer (like remote address and port) to be propagated
5437through a forwarding proxy that is configured to speak this protocol.")
5438 (license license:bsd-3)))
5439
5440(define-public ghc-iproute
5441 (package
5442 (name "ghc-iproute")
ec25d536 5443 (version "1.7.7")
dddbc90c
RV
5444 (source
5445 (origin
5446 (method url-fetch)
5447 (uri (string-append
5448 "https://hackage.haskell.org/package/iproute/iproute-"
5449 version
5450 ".tar.gz"))
5451 (sha256
5452 (base32
ec25d536 5453 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
5454 (build-system haskell-build-system)
5455 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5456 ; exported by ghc-byteorder. Doctest issue.
5457 (inputs
5458 `(("ghc-appar" ,ghc-appar)
5459 ("ghc-byteorder" ,ghc-byteorder)
5460 ("ghc-network" ,ghc-network)
5461 ("ghc-safe" ,ghc-safe)))
5462 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5463 (synopsis "IP routing table")
5464 (description "IP Routing Table is a tree of IP ranges to search one of
5465them on the longest match base. It is a kind of TRIE with one way branching
5466removed. Both IPv4 and IPv6 are supported.")
5467 (license license:bsd-3)))
5468
5469(define-public ghc-iwlib
5470 (package
5471 (name "ghc-iwlib")
5472 (version "0.1.0")
5473 (source
5474 (origin
5475 (method url-fetch)
5476 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5477 version ".tar.gz"))
5478 (sha256
5479 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5480 (build-system haskell-build-system)
5481 (inputs
5482 `(("wireless-tools" ,wireless-tools)))
5483 (home-page "https://github.com/jaor/iwlib")
5484 (synopsis "Haskell binding to the iw wireless networking library")
5485 (description
5486 "IWlib is a thin Haskell binding to the iw C library. It provides
5487information about the current wireless network connections, and adapters on
5488supported systems.")
5489 (license license:bsd-3)))
5490
5491(define-public ghc-json
5492 (package
5493 (name "ghc-json")
0ad3d574 5494 (version "0.9.3")
dddbc90c
RV
5495 (source
5496 (origin
5497 (method url-fetch)
5498 (uri (string-append "https://hackage.haskell.org/package/json/"
5499 "json-" version ".tar.gz"))
5500 (sha256
5501 (base32
0ad3d574 5502 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
5503 (build-system haskell-build-system)
5504 (inputs
5505 `(("ghc-syb" ,ghc-syb)))
5506 (home-page "https://hackage.haskell.org/package/json")
5507 (synopsis "Serializes Haskell data to and from JSON")
5508 (description "This package provides a parser and pretty printer for
5509converting between Haskell values and JSON.
5510JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5511 (license license:bsd-3)))
5512
5513(define-public ghc-juicypixels
5514 (package
5515 (name "ghc-juicypixels")
b50b6004 5516 (version "3.3.4")
dddbc90c
RV
5517 (source (origin
5518 (method url-fetch)
5519 (uri (string-append "https://hackage.haskell.org/package/"
5520 "JuicyPixels/JuicyPixels-"
5521 version ".tar.gz"))
5522 (sha256
5523 (base32
b50b6004 5524 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
5525 (build-system haskell-build-system)
5526 (inputs
5527 `(("ghc-zlib" ,ghc-zlib)
5528 ("ghc-vector" ,ghc-vector)
5529 ("ghc-primitive" ,ghc-primitive)
5530 ("ghc-mmap" ,ghc-mmap)))
5531 (home-page "https://github.com/Twinside/Juicy.Pixels")
5532 (synopsis "Picture loading and serialization library")
5533 (description
5534 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5535TIFF and GIF formats.")
5536 (license license:bsd-3)))
5537
5538(define-public ghc-kan-extensions
5539 (package
5540 (name "ghc-kan-extensions")
5541 (version "5.2")
5542 (source
5543 (origin
5544 (method url-fetch)
5545 (uri (string-append
5546 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5547 version
5548 ".tar.gz"))
5549 (sha256
5550 (base32
5551 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5552 (build-system haskell-build-system)
5553 (inputs
5554 `(("ghc-adjunctions" ,ghc-adjunctions)
5555 ("ghc-comonad" ,ghc-comonad)
5556 ("ghc-contravariant" ,ghc-contravariant)
5557 ("ghc-distributive" ,ghc-distributive)
5558 ("ghc-free" ,ghc-free)
5559 ("ghc-invariant" ,ghc-invariant)
5560 ("ghc-semigroupoids" ,ghc-semigroupoids)
5561 ("ghc-tagged" ,ghc-tagged)
5562 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5563 (home-page "https://github.com/ekmett/kan-extensions/")
5564 (synopsis "Kan extensions library")
5565 (description "This library provides Kan extensions, Kan lifts, various
5566forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5567 (license license:bsd-3)))
5568
5569(define-public ghc-language-c
5570 (package
5571 (name "ghc-language-c")
4e1cf651 5572 (version "0.8.3")
dddbc90c
RV
5573 (source
5574 (origin
5575 (method url-fetch)
5576 (uri (string-append "https://hackage.haskell.org/package/"
5577 "language-c/language-c-" version ".tar.gz"))
5578 (sha256
5579 (base32
4e1cf651 5580 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
5581 (build-system haskell-build-system)
5582 (inputs `(("ghc-syb" ,ghc-syb)))
5583 (native-inputs
5584 `(("ghc-happy" ,ghc-happy)
5585 ("ghc-alex" ,ghc-alex)))
5586 (home-page "https://visq.github.io/language-c/")
5587 (synopsis "Analysis and generation of C code")
5588 (description
5589 "Language C is a Haskell library for the analysis and generation of C code.
5590It features a complete, well-tested parser and pretty printer for all of C99
5591and a large set of GNU extensions.")
5592 (license license:bsd-3)))
5593
5594(define-public ghc-language-glsl
5595 (package
5596 (name "ghc-language-glsl")
5597 (version "0.3.0")
5598 (source
5599 (origin
5600 (method url-fetch)
5601 (uri (string-append "https://hackage.haskell.org/package/"
5602 "language-glsl/language-glsl-" version ".tar.gz"))
5603 (sha256
5604 (base32
5605 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
5606 (build-system haskell-build-system)
5607 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
5608 (arguments
5609 `(#:tests? #f
5610 #:cabal-revision
5611 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
5612 (home-page "http://hackage.haskell.org/package/language-glsl")
5613 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
5614 (description "This package is a Haskell library for the
5615representation, parsing, and pretty-printing of GLSL 1.50 code.")
5616 (license license:bsd-3)))
5617
5618(define-public ghc-language-haskell-extract
5619 (package
5620 (name "ghc-language-haskell-extract")
5621 (version "0.2.4")
5622 (source
5623 (origin
5624 (method url-fetch)
5625 (uri (string-append "https://hackage.haskell.org/package/"
5626 "language-haskell-extract-" version "/"
5627 "language-haskell-extract-" version ".tar.gz"))
5628 (sha256
5629 (base32
5630 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
5631 (build-system haskell-build-system)
5632 (inputs
5633 `(("ghc-regex-posix" ,ghc-regex-posix)))
5634 (home-page "https://github.com/finnsson/template-helper")
5635 (synopsis "Haskell module to automatically extract functions from
5636the local code")
5637 (description "This package contains helper functions on top of
5638Template Haskell.
5639
5640For example, @code{functionExtractor} extracts all functions after a
5641regexp-pattern, which can be useful if you wish to extract all functions
5642beginning with @code{test} (for a test framework) or all functions beginning
5643with @code{wc} (for a web service).")
5644 (license license:bsd-3)))
5645
5646(define-public ghc-lens
5647 (package
5648 (name "ghc-lens")
5649 (version "4.16.1")
5650 (source
5651 (origin
5652 (method url-fetch)
5653 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5654 version ".tar.gz"))
5655 (sha256
5656 (base32
5657 "1im4drhbydbawd6i0jsrzpqihnmx4ywpkg7yg94ddwsw3mxwkgpm"))))
5658 (build-system haskell-build-system)
5659 (arguments
5660 `(#:cabal-revision
5661 ("2" "11h83lj5mba4grhz1qx3irz10ysm9c3k7k6i6xv2cr60q8xin3ri")))
5662 (inputs
5663 `(("ghc-base-orphans" ,ghc-base-orphans)
5664 ("ghc-bifunctors" ,ghc-bifunctors)
5665 ("ghc-distributive" ,ghc-distributive)
5666 ("ghc-exceptions" ,ghc-exceptions)
5667 ("ghc-free" ,ghc-free)
5668 ("ghc-kan-extensions" ,ghc-kan-extensions)
5669 ("ghc-parallel" ,ghc-parallel)
5670 ("ghc-reflection" ,ghc-reflection)
5671 ("ghc-semigroupoids" ,ghc-semigroupoids)
5672 ("ghc-vector" ,ghc-vector)
5673 ("ghc-call-stack" ,ghc-call-stack)
5674 ("ghc-comonad" ,ghc-comonad)
5675 ("ghc-contravariant" ,ghc-contravariant)
5676 ("ghc-hashable" ,ghc-hashable)
5677 ("ghc-profunctors" ,ghc-profunctors)
5678 ("ghc-semigroups" ,ghc-semigroups)
5679 ("ghc-tagged" ,ghc-tagged)
5680 ("ghc-transformers-compat" ,ghc-transformers-compat)
5681 ("ghc-unordered-containers" ,ghc-unordered-containers)
5682 ("ghc-void" ,ghc-void)
5683 ("ghc-generic-deriving" ,ghc-generic-deriving)
5684 ("ghc-nats" ,ghc-nats)
5685 ("ghc-simple-reflect" ,ghc-simple-reflect)
5686 ("hlint" ,hlint)))
5687 (native-inputs
5688 `(("cabal-doctest" ,cabal-doctest)
5689 ("ghc-doctest" ,ghc-doctest)
5690 ("ghc-hunit" ,ghc-hunit)
5691 ("ghc-test-framework" ,ghc-test-framework)
5692 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5693 ("ghc-test-framework-th" ,ghc-test-framework-th)
5694 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5695 ("ghc-quickcheck" ,ghc-quickcheck)))
5696 (home-page "https://github.com/ekmett/lens/")
5697 (synopsis "Lenses, Folds and Traversals")
5698 (description "This library provides @code{Control.Lens}. The combinators
5699in @code{Control.Lens} provide a highly generic toolbox for composing families
5700of getters, folds, isomorphisms, traversals, setters and lenses and their
5701indexed variants.")
5702 (license license:bsd-3)))
5703
5704(define-public ghc-libffi
5705 (package
5706 (name "ghc-libffi")
5707 (version "0.1")
5708 (source
5709 (origin
5710 (method url-fetch)
5711 (uri (string-append "https://hackage.haskell.org/package/"
5712 "libffi/libffi-" version ".tar.gz"))
5713 (sha256
5714 (base32
5715 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
5716 (build-system haskell-build-system)
5717 (native-inputs `(("pkg-config" ,pkg-config)))
5718 (inputs `(("libffi" ,libffi)))
5719 (home-page "http://hackage.haskell.org/package/libffi")
5720 (synopsis "Haskell binding to libffi")
5721 (description
5722 "A binding to libffi, allowing C functions of types only known at runtime
5723to be called from Haskell.")
5724 (license license:bsd-3)))
5725
5726(define-public ghc-libmpd
5727 (package
5728 (name "ghc-libmpd")
5729 (version "0.9.0.9")
5730 (source
5731 (origin
5732 (method url-fetch)
5733 (uri (string-append
5734 "mirror://hackage/package/libmpd/libmpd-"
5735 version
5736 ".tar.gz"))
5737 (sha256
5738 (base32
5739 "1931m23iqb4wddpdidm4ph746zpaw41kkjzmb074j7yyfpk7x1jv"))))
5740 (build-system haskell-build-system)
5741 ;; Tests fail on i686.
5742 ;; See https://github.com/vimus/libmpd-haskell/issues/112
5743 (arguments `(#:tests? #f))
5744 (inputs
5745 `(("ghc-attoparsec" ,ghc-attoparsec)
5746 ("ghc-old-locale" ,ghc-old-locale)
5747 ("ghc-data-default-class" ,ghc-data-default-class)
5748 ("ghc-network" ,ghc-network)
5749 ("ghc-utf8-string" ,ghc-utf8-string)))
5750 (native-inputs
5751 `(("ghc-quickcheck" ,ghc-quickcheck)
5752 ("ghc-hspec" ,ghc-hspec)
5753 ("hspec-discover" ,hspec-discover)))
5754 (home-page "https://github.com/vimus/libmpd-haskell")
5755 (synopsis "Haskell client library for the Music Player Daemon")
5756 (description "This package provides a pure Haskell client library for the
5757Music Player Daemon.")
5758 (license license:expat)))
5759
5760(define-public ghc-libxml
5761 (package
5762 (name "ghc-libxml")
5763 (version "0.1.1")
5764 (source
5765 (origin
5766 (method url-fetch)
5767 (uri (string-append "https://hackage.haskell.org/package/libxml/"
5768 "libxml-" version ".tar.gz"))
5769 (sha256
5770 (base32
5771 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
5772 (build-system haskell-build-system)
5773 (inputs
5774 `(("libxml2" ,libxml2)))
5775 (arguments
5776 `(#:configure-flags
5777 `(,(string-append "--extra-include-dirs="
5778 (assoc-ref %build-inputs "libxml2")
5779 "/include/libxml2"))))
5780 (home-page "https://hackage.haskell.org/package/libxml")
5781 (synopsis "Haskell bindings to libxml2")
5782 (description
5783 "This library provides minimal Haskell binding to libxml2.")
5784 (license license:bsd-3)))
5785
5786(define-public ghc-lifted-async
5787 (package
5788 (name "ghc-lifted-async")
5789 (version "0.10.0.2")
5790 (source
5791 (origin
5792 (method url-fetch)
5793 (uri (string-append
5794 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
5795 version ".tar.gz"))
5796 (sha256
5797 (base32
5798 "1073r512c1x2m1v0jar9bwqg656slg7jd1jhsyj6m8awgx1l1mwf"))))
5799 (build-system haskell-build-system)
5800 (inputs
5801 `(("ghc-async" ,ghc-async)
5802 ("ghc-lifted-base" ,ghc-lifted-base)
5803 ("ghc-transformers-base" ,ghc-transformers-base)
5804 ("ghc-monad-control" ,ghc-monad-control)
5805 ("ghc-constraints" ,ghc-constraints)
5806 ("ghc-hunit" ,ghc-hunit)
5807 ("ghc-tasty" ,ghc-tasty)
5808 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5809 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5810 ("ghc-tasty-th" ,ghc-tasty-th)))
5811 (home-page "https://github.com/maoe/lifted-async")
5812 (synopsis "Run lifted IO operations asynchronously and wait for their results")
5813 (description
5814 "This package provides IO operations from @code{async} package lifted to any
5815instance of @code{MonadBase} or @code{MonadBaseControl}.")
5816 (license license:bsd-3)))
5817
5818(define-public ghc-lifted-base
5819 (package
5820 (name "ghc-lifted-base")
5821 (version "0.2.3.12")
5822 (source
5823 (origin
5824 (method url-fetch)
5825 (uri (string-append
5826 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
5827 version
5828 ".tar.gz"))
5829 (sha256
5830 (base32
5831 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
5832 (build-system haskell-build-system)
5833 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
5834 (inputs
5835 `(("ghc-transformers-base" ,ghc-transformers-base)
5836 ("ghc-monad-control" ,ghc-monad-control)
5837 ("ghc-transformers-compat" ,ghc-transformers-compat)
5838 ("ghc-hunit" ,ghc-hunit)))
5839 (home-page "https://github.com/basvandijk/lifted-base")
5840 (synopsis "Lifted IO operations from the base library")
5841 (description "Lifted-base exports IO operations from the @code{base}
5842library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5843Note that not all modules from @code{base} are converted yet. The package
5844includes a copy of the @code{monad-peel} test suite written by Anders
5845Kaseorg.")
5846 (license license:bsd-3)))
5847
5848(define-public ghc-linear
5849 (package
5850 (name "ghc-linear")
5851 (version "1.20.8")
5852 (source
5853 (origin
5854 (method url-fetch)
5855 (uri (string-append "https://hackage.haskell.org/package/linear/"
5856 "linear-" version ".tar.gz"))
5857 (sha256
5858 (base32
5859 "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"))))
5860 (build-system haskell-build-system)
5861 (inputs
5862 `(("ghc-adjunctions" ,ghc-adjunctions)
5863 ("ghc-base-orphans" ,ghc-base-orphans)
5864 ("ghc-bytes" ,ghc-bytes)
5865 ("ghc-cereal" ,ghc-cereal)
5866 ("ghc-distributive" ,ghc-distributive)
5867 ("ghc-hashable" ,ghc-hashable)
5868 ("ghc-lens" ,ghc-lens)
5869 ("ghc-reflection" ,ghc-reflection)
5870 ("ghc-semigroups" ,ghc-semigroups)
5871 ("ghc-semigroupoids" ,ghc-semigroupoids)
5872 ("ghc-tagged" ,ghc-tagged)
5873 ("ghc-transformers-compat" ,ghc-transformers-compat)
5874 ("ghc-unordered-containers" ,ghc-unordered-containers)
5875 ("ghc-vector" ,ghc-vector)
5876 ("ghc-void" ,ghc-void)))
5877 (native-inputs
5878 `(("cabal-doctest" ,cabal-doctest)
5879 ("ghc-doctest" ,ghc-doctest)
5880 ("ghc-simple-reflect" ,ghc-simple-reflect)
5881 ("ghc-test-framework" ,ghc-test-framework)
5882 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5883 ("ghc-hunit" ,ghc-hunit)))
5884 (home-page "http://github.com/ekmett/linear/")
5885 (synopsis "Linear algebra library for Haskell")
5886 (description
5887 "This package provides types and combinators for linear algebra on free
5888vector spaces.")
5889 (license license:bsd-3)))
1307e4c7
JS
5890
5891(define-public ghc-listlike
5892 (package
5893 (name "ghc-listlike")
5894 (version "4.6.2")
5895 (source
5896 (origin
5897 (method url-fetch)
5898 (uri
5899 (string-append
5900 "https://hackage.haskell.org/package/ListLike/ListLike-"
5901 version ".tar.gz"))
5902 (sha256
5903 (base32
5904 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
5905 (build-system haskell-build-system)
5906 (inputs
5907 `(("ghc-vector" ,ghc-vector)
5908 ("ghc-dlist" ,ghc-dlist)
5909 ("ghc-fmlist" ,ghc-fmlist)
5910 ("ghc-hunit" ,ghc-hunit)
5911 ("ghc-quickcheck" ,ghc-quickcheck)
5912 ("ghc-random" ,ghc-random)
5913 ("ghc-utf8-string" ,ghc-utf8-string)))
5914 (home-page "https://github.com/JohnLato/listlike")
5915 (synopsis "Generic support for list-like structures")
5916 (description "The ListLike module provides a common interface to the
5917various Haskell types that are list-like. Predefined interfaces include
5918standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
5919Custom types can easily be made ListLike instances as well.
5920
5921ListLike also provides for String-like types, such as String and
5922ByteString, for types that support input and output, and for types that
5923can handle infinite lists.")
5924 (license license:bsd-3)))
dddbc90c
RV
5925
5926(define-public ghc-logging-facade
5927 (package
5928 (name "ghc-logging-facade")
5929 (version "0.3.0")
5930 (source (origin
5931 (method url-fetch)
5932 (uri (string-append "https://hackage.haskell.org/package/"
5933 "logging-facade/logging-facade-"
5934 version ".tar.gz"))
5935 (sha256
5936 (base32
5937 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
5938 (build-system haskell-build-system)
5939 (native-inputs
5940 `(("ghc-hspec" ,ghc-hspec)
5941 ("hspec-discover" ,hspec-discover)))
5942 (home-page "https://hackage.haskell.org/package/logging-facade")
5943 (synopsis "Simple logging abstraction that allows multiple back-ends")
5944 (description
5945 "This package provides a simple logging abstraction that allows multiple
5946back-ends.")
5947 (license license:expat)))
5948
5949(define-public ghc-logict
5950 (package
5951 (name "ghc-logict")
79d9326f 5952 (version "0.7.0.2")
dddbc90c
RV
5953 (source
5954 (origin
5955 (method url-fetch)
5956 (uri (string-append
5957 "https://hackage.haskell.org/package/logict/logict-"
5958 version
5959 ".tar.gz"))
5960 (sha256
5961 (base32
79d9326f 5962 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 5963 (build-system haskell-build-system)
79d9326f
TS
5964 (native-inputs
5965 `(("ghc-tasty" ,ghc-tasty)
5966 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5967 (home-page "http://code.haskell.org/~dolio/")
5968 (synopsis "Backtracking logic-programming monad")
5969 (description "This library provides a continuation-based, backtracking,
5970logic programming monad. An adaptation of the two-continuation implementation
5971found in the paper \"Backtracking, Interleaving, and Terminating Monad
5972Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
5973online}.")
5974 (license license:bsd-3)))
5975
5976(define-public ghc-lzma
5977 (package
5978 (name "ghc-lzma")
5979 (version "0.0.0.3")
5980 (source
5981 (origin
5982 (method url-fetch)
5983 (uri (string-append "https://hackage.haskell.org/package/lzma/"
5984 "lzma-" version ".tar.gz"))
5985 (sha256
5986 (base32
5987 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
5988 (build-system haskell-build-system)
5989 (arguments
5990 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
5991 #:cabal-revision
5992 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
5993 (native-inputs
5994 `(("ghc-hunit" ,ghc-hunit)
5995 ("ghc-quickcheck" ,ghc-quickcheck)
5996 ("ghc-tasty" ,ghc-tasty)
5997 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5998 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
5999 (home-page "https://github.com/hvr/lzma")
6000 (synopsis "LZMA/XZ compression and decompression")
6001 (description
6002 "This package provides a pure interface for compressing and
6003decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6004monadic incremental interface is provided as well.")
6005 (license license:bsd-3)))
6006
6007(define-public ghc-lzma-conduit
6008 (package
6009 (name "ghc-lzma-conduit")
6010 (version "1.2.1")
6011 (source
6012 (origin
6013 (method url-fetch)
6014 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6015 "lzma-conduit-" version ".tar.gz"))
6016 (sha256
6017 (base32
6018 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6019 (build-system haskell-build-system)
6020 (inputs
6021 `(("ghc-conduit" ,ghc-conduit)
6022 ("ghc-lzma" ,ghc-lzma)
6023 ("ghc-resourcet" ,ghc-resourcet)))
6024 (native-inputs
6025 `(("ghc-base-compat" ,ghc-base-compat)
6026 ("ghc-test-framework" ,ghc-test-framework)
6027 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6028 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6029 ("ghc-hunit" ,ghc-hunit)
6030 ("ghc-quickcheck" ,ghc-quickcheck)))
6031 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6032 (synopsis "Conduit interface for lzma/xz compression")
6033 (description
6034 "This package provides a @code{Conduit} interface for the LZMA
6035compression algorithm used in the @code{.xz} file format.")
6036 (license license:bsd-3)))
6037
e405912c
KM
6038(define-public ghc-magic
6039 (package
6040 (name "ghc-magic")
6041 (version "1.1")
6042 (source
6043 (origin
6044 (method url-fetch)
6045 (uri (string-append
6046 "https://hackage.haskell.org/package/magic/magic-"
6047 version ".tar.gz"))
6048 (sha256
6049 (base32
6050 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6051 (build-system haskell-build-system)
6052 (home-page "http://hackage.haskell.org/package/magic")
6053 (synopsis "Interface to C file/magic library")
6054 (description
6055 "This package provides a full-featured binding to the C libmagic library.
6056With it, you can determine the type of a file by examining its contents rather
6057than its name.")
6058 (license license:bsd-3)))
6059
dddbc90c
RV
6060(define-public ghc-markdown-unlit
6061 (package
6062 (name "ghc-markdown-unlit")
6063 (version "0.5.0")
6064 (source (origin
6065 (method url-fetch)
6066 (uri (string-append
6067 "mirror://hackage/package/markdown-unlit/"
6068 "markdown-unlit-" version ".tar.gz"))
6069 (sha256
6070 (base32
6071 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6072 (build-system haskell-build-system)
6073 (inputs
6074 `(("ghc-base-compat" ,ghc-base-compat)
6075 ("ghc-hspec" ,ghc-hspec)
6076 ("ghc-quickcheck" ,ghc-quickcheck)
6077 ("ghc-silently" ,ghc-silently)
6078 ("ghc-stringbuilder" ,ghc-stringbuilder)
6079 ("ghc-temporary" ,ghc-temporary)
6080 ("hspec-discover" ,hspec-discover)))
6081 (home-page "https://github.com/sol/markdown-unlit#readme")
6082 (synopsis "Literate Haskell support for Markdown")
6083 (description "This package allows you to have a README.md that at the
6084same time is a literate Haskell program.")
6085 (license license:expat)))
6086
6087(define-public ghc-math-functions
6088 (package
6089 (name "ghc-math-functions")
b45de2bf 6090 (version "0.3.3.0")
dddbc90c
RV
6091 (source
6092 (origin
6093 (method url-fetch)
6094 (uri (string-append "https://hackage.haskell.org/package/"
6095 "math-functions-" version "/"
6096 "math-functions-" version ".tar.gz"))
6097 (sha256
6098 (base32
b45de2bf 6099 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6100 (build-system haskell-build-system)
6101 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6102 (inputs
b45de2bf
TS
6103 `(("ghc-data-default-class" ,ghc-data-default-class)
6104 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6105 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6106 (native-inputs
6107 `(("ghc-hunit" ,ghc-hunit)
6108 ("ghc-quickcheck" ,ghc-quickcheck)
6109 ("ghc-erf" ,ghc-erf)
6110 ("ghc-test-framework" ,ghc-test-framework)
6111 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6112 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6113 (home-page "https://github.com/bos/math-functions")
6114 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6115 (description "This Haskell library provides implementations of
6116special mathematical functions and Chebyshev polynomials. These
6117functions are often useful in statistical and numerical computing.")
6118 (license license:bsd-3)))
6119
6120(define-public ghc-megaparsec
6121 (package
6122 (name "ghc-megaparsec")
03b0c92e 6123 (version "7.0.5")
dddbc90c
RV
6124 (source
6125 (origin
6126 (method url-fetch)
6127 (uri (string-append "https://hackage.haskell.org/package/"
6128 "megaparsec/megaparsec-"
6129 version ".tar.gz"))
6130 (sha256
6131 (base32
03b0c92e 6132 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 6133 (build-system haskell-build-system)
dddbc90c
RV
6134 (inputs
6135 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6136 ("ghc-parser-combinators" ,ghc-parser-combinators)
6137 ("ghc-scientific" ,ghc-scientific)))
6138 (native-inputs
6139 `(("ghc-quickcheck" ,ghc-quickcheck)
6140 ("ghc-hspec" ,ghc-hspec)
6141 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6142 ("hspec-discover" ,hspec-discover)))
6143 (home-page "https://github.com/mrkkrp/megaparsec")
6144 (synopsis "Monadic parser combinators")
6145 (description
6146 "This is an industrial-strength monadic parser combinator library.
6147Megaparsec is a feature-rich package that strikes a nice balance between
6148speed, flexibility, and quality of parse errors.")
6149 (license license:bsd-2)))
6150
6151(define-public ghc-memory
6152 (package
6153 (name "ghc-memory")
d2c7d336 6154 (version "0.14.18")
dddbc90c
RV
6155 (source (origin
6156 (method url-fetch)
6157 (uri (string-append "https://hackage.haskell.org/package/"
6158 "memory/memory-" version ".tar.gz"))
6159 (sha256
6160 (base32
d2c7d336 6161 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
6162 (build-system haskell-build-system)
6163 (inputs
6164 `(("ghc-basement" ,ghc-basement)
6165 ("ghc-foundation" ,ghc-foundation)))
6166 (native-inputs
6167 `(("ghc-tasty" ,ghc-tasty)
6168 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6169 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6170 (home-page "https://github.com/vincenthz/hs-memory")
6171 (synopsis "Memory abstractions for Haskell")
6172 (description
6173 "This package provides memory abstractions, such as chunk of memory,
6174polymorphic byte array management and manipulation functions. It contains a
6175polymorphic byte array abstraction and functions similar to strict ByteString,
6176different type of byte array abstraction, raw memory IO operations (memory
6177set, memory copy, ..) and more")
6178 (license license:bsd-3)))
6179
6180(define-public ghc-memotrie
6181 (package
6182 (name "ghc-memotrie")
6183 (version "0.6.9")
6184 (source
6185 (origin
6186 (method url-fetch)
6187 (uri (string-append
6188 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6189 version
6190 ".tar.gz"))
6191 (sha256
6192 (base32
6193 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6194 (build-system haskell-build-system)
6195 (inputs
6196 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6197 (home-page "https://github.com/conal/MemoTrie")
6198 (synopsis "Trie-based memo functions")
6199 (description "This package provides a functional library for creating
6200efficient memo functions using tries.")
6201 (license license:bsd-3)))
6202
6203(define-public ghc-microlens
6204 (package
6205 (name "ghc-microlens")
82478c58 6206 (version "0.4.10")
dddbc90c
RV
6207 (source
6208 (origin
6209 (method url-fetch)
6210 (uri (string-append "https://hackage.haskell.org/package/"
6211 "microlens-" version "/"
6212 "microlens-" version ".tar.gz"))
6213 (sha256
6214 (base32
82478c58 6215 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
6216 (build-system haskell-build-system)
6217 (home-page
6218 "https://github.com/aelve/microlens")
6219 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6220 (description "This Haskell package provides a lens library, just like
6221@code{ghc-lens}, but smaller. It provides essential lenses and
6222traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6223nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6224combinators (like @code{failing} and @code{singular}), but everything else is
6225stripped. As the result, this package has no dependencies.")
6226 (license license:bsd-3)))
6227
6228(define-public ghc-microlens-ghc
6229 (package
6230 (name "ghc-microlens-ghc")
027beb55 6231 (version "0.4.10")
dddbc90c
RV
6232 (source
6233 (origin
6234 (method url-fetch)
6235 (uri (string-append
6236 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6237 version
6238 ".tar.gz"))
6239 (sha256
6240 (base32
027beb55 6241 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
6242 (build-system haskell-build-system)
6243 (inputs `(("ghc-microlens" ,ghc-microlens)))
6244 (home-page "https://github.com/monadfix/microlens")
6245 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6246 (description "This library provides everything that @code{microlens}
6247provides plus instances to make @code{each}, @code{at}, and @code{ix}
6248usable with arrays, @code{ByteString}, and containers. This package is
6249a part of the @uref{http://hackage.haskell.org/package/microlens,
6250microlens} family; see the readme
6251@uref{https://github.com/aelve/microlens#readme, on Github}.")
6252 (license license:bsd-3)))
6253
6254(define-public ghc-microlens-mtl
6255 (package
6256 (name "ghc-microlens-mtl")
6257 (version "0.1.11.1")
6258 (source
6259 (origin
6260 (method url-fetch)
6261 (uri (string-append
6262 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6263 version
6264 ".tar.gz"))
6265 (sha256
6266 (base32
6267 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6268 (build-system haskell-build-system)
6269 (inputs
6270 `(("ghc-microlens" ,ghc-microlens)
6271 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6272 (home-page "https://github.com/monadfix/microlens")
6273 (synopsis
6274 "@code{microlens} support for Reader/Writer/State from mtl")
6275 (description
6276 "This package contains functions (like @code{view} or @code{+=}) which
6277work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6278mtl package. This package is a part of the
6279@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6280readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6281 (license license:bsd-3)))
6282
6283(define-public ghc-microlens-platform
6284 (package
6285 (name "ghc-microlens-platform")
85decc1f 6286 (version "0.3.11")
dddbc90c
RV
6287 (source
6288 (origin
6289 (method url-fetch)
6290 (uri (string-append
6291 "https://hackage.haskell.org/package/"
6292 "microlens-platform/microlens-platform-" version ".tar.gz"))
6293 (sha256
6294 (base32
85decc1f 6295 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
6296 (build-system haskell-build-system)
6297 (inputs
6298 `(("ghc-hashable" ,ghc-hashable)
6299 ("ghc-microlens" ,ghc-microlens)
6300 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6301 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6302 ("ghc-microlens-th" ,ghc-microlens-th)
6303 ("ghc-unordered-containers" ,ghc-unordered-containers)
6304 ("ghc-vector" ,ghc-vector)))
6305 (home-page "https://github.com/monadfix/microlens")
6306 (synopsis "Feature-complete microlens")
6307 (description
6308 "This package exports a module which is the recommended starting point
6309for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6310you aren't trying to keep your dependencies minimal. By importing
6311@code{Lens.Micro.Platform} you get all functions and instances from
6312@uref{http://hackage.haskell.org/package/microlens, microlens},
6313@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6314@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6315@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6316well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6317minor and major versions of @code{microlens-platform} are incremented whenever
6318the minor and major versions of any other @code{microlens} package are
6319incremented, so you can depend on the exact version of
6320@code{microlens-platform} without specifying the version of @code{microlens}
6321you need. This package is a part of the
6322@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6323readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6324 (license license:bsd-3)))
6325
6326(define-public ghc-microlens-th
6327 (package
6328 (name "ghc-microlens-th")
7ae52867 6329 (version "0.4.2.3")
dddbc90c
RV
6330 (source
6331 (origin
6332 (method url-fetch)
6333 (uri (string-append "https://hackage.haskell.org/package/"
6334 "microlens-th-" version "/"
6335 "microlens-th-" version ".tar.gz"))
6336 (sha256
6337 (base32
7ae52867 6338 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 6339 (build-system haskell-build-system)
7ae52867
TS
6340 (arguments
6341 `(#:cabal-revision
6342 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
6343 (inputs `(("ghc-microlens" ,ghc-microlens)
6344 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6345 (home-page
6346 "https://github.com/aelve/microlens")
6347 (synopsis "Automatic generation of record lenses for
6348@code{ghc-microlens}")
6349 (description "This Haskell package lets you automatically generate lenses
6350for data types; code was extracted from the lens package, and therefore
6351generated lenses are fully compatible with ones generated by lens (and can be
6352used both from lens and microlens).")
6353 (license license:bsd-3)))
6354
6355(define-public ghc-missingh
6356 (package
6357 (name "ghc-missingh")
6358 (version "1.4.0.1")
6359 (source
6360 (origin
6361 (method url-fetch)
6362 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6363 "MissingH-" version ".tar.gz"))
6364 (sha256
6365 (base32
6366 "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"))))
6367 (build-system haskell-build-system)
6368 ;; Tests require the unmaintained testpack package, which depends on the
6369 ;; outdated QuickCheck version 2.7, which can no longer be built with
6370 ;; recent versions of GHC and Haskell libraries.
6371 (arguments '(#:tests? #f))
6372 (inputs
6373 `(("ghc-network" ,ghc-network)
6374 ("ghc-hunit" ,ghc-hunit)
6375 ("ghc-regex-compat" ,ghc-regex-compat)
6376 ("ghc-hslogger" ,ghc-hslogger)
6377 ("ghc-random" ,ghc-random)
6378 ("ghc-old-time" ,ghc-old-time)
6379 ("ghc-old-locale" ,ghc-old-locale)))
6380 (native-inputs
6381 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6382 ("ghc-quickcheck" ,ghc-quickcheck)
6383 ("ghc-hunit" ,ghc-hunit)))
6384 (home-page "http://software.complete.org/missingh")
6385 (synopsis "Large utility library")
6386 (description
6387 "MissingH is a library of all sorts of utility functions for Haskell
6388programmers. It is written in pure Haskell and thus should be extremely
6389portable and easy to use.")
6390 (license license:bsd-3)))
6391
6392(define-public ghc-mmap
6393 (package
6394 (name "ghc-mmap")
6395 (version "0.5.9")
6396 (source (origin
6397 (method url-fetch)
6398 (uri (string-append "https://hackage.haskell.org/package/"
6399 "mmap/mmap-" version ".tar.gz"))
6400 (sha256
6401 (base32
6402 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6403 (build-system haskell-build-system)
6404 (home-page "https://hackage.haskell.org/package/mmap")
6405 (synopsis "Memory mapped files for Haskell")
6406 (description
6407 "This library provides a wrapper to @code{mmap}, allowing files or
6408devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6409@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6410do on-demand loading.")
6411 (license license:bsd-3)))
6412
6413(define-public ghc-mmorph
6414 (package
6415 (name "ghc-mmorph")
e0389704 6416 (version "1.1.3")
dddbc90c
RV
6417 (source
6418 (origin
6419 (method url-fetch)
6420 (uri (string-append
6421 "https://hackage.haskell.org/package/mmorph/mmorph-"
6422 version
6423 ".tar.gz"))
6424 (sha256
6425 (base32
e0389704 6426 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
6427 (build-system haskell-build-system)
6428 (inputs
6429 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6430 (home-page "https://hackage.haskell.org/package/mmorph")
6431 (synopsis "Monad morphisms")
6432 (description
6433 "This library provides monad morphism utilities, most commonly used for
6434manipulating monad transformer stacks.")
6435 (license license:bsd-3)))
6436
6437(define-public ghc-mockery
6438 (package
6439 (name "ghc-mockery")
6440 (version "0.3.5")
6441 (source (origin
6442 (method url-fetch)
6443 (uri (string-append "https://hackage.haskell.org/package/"
6444 "mockery/mockery-" version ".tar.gz"))
6445 (sha256
6446 (base32
6447 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6448 (build-system haskell-build-system)
6449 (inputs
6450 `(("ghc-temporary" ,ghc-temporary)
6451 ("ghc-logging-facade" ,ghc-logging-facade)
6452 ("ghc-base-compat" ,ghc-base-compat)))
6453 (native-inputs
6454 `(("ghc-hspec" ,ghc-hspec)
6455 ("hspec-discover" ,hspec-discover)))
6456 (home-page "https://hackage.haskell.org/package/mockery")
6457 (synopsis "Support functions for automated testing")
6458 (description
6459 "The mockery package provides support functions for automated testing.")
6460 (license license:expat)))
6461
6462(define-public ghc-monad-control
6463 (package
6464 (name "ghc-monad-control")
6465 (version "1.0.2.3")
6466 (source
6467 (origin
6468 (method url-fetch)
6469 (uri (string-append
6470 "https://hackage.haskell.org/package/monad-control"
6471 "/monad-control-" version ".tar.gz"))
6472 (sha256
6473 (base32
6474 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6475 (build-system haskell-build-system)
6476 (inputs
6477 `(("ghc-transformers-base" ,ghc-transformers-base)
6478 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6479 (home-page "https://github.com/basvandijk/monad-control")
6480 (synopsis "Monad transformers to lift control operations like exception
6481catching")
6482 (description "This package defines the type class @code{MonadBaseControl},
6483a subset of @code{MonadBase} into which generic control operations such as
6484@code{catch} can be lifted from @code{IO} or any other base monad.")
6485 (license license:bsd-3)))
6486
6487(define-public ghc-monad-logger
6488 (package
6489 (name "ghc-monad-logger")
6490 (version "0.3.29")
6491 (source
6492 (origin
6493 (method url-fetch)
6494 (uri (string-append "https://hackage.haskell.org/package/"
6495 "monad-logger-" version "/"
6496 "monad-logger-" version ".tar.gz"))
6497 (sha256
6498 (base32
6499 "1z516s4pa9n94zf0l45mylssg07xr1d1m6zrz900p0iv3vfd07mv"))))
6500 (build-system haskell-build-system)
6501 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6502 ("ghc-stm-chans" ,ghc-stm-chans)
6503 ("ghc-lifted-base" ,ghc-lifted-base)
6504 ("ghc-resourcet" ,ghc-resourcet)
6505 ("ghc-conduit" ,ghc-conduit)
6506 ("ghc-conduit-extra" ,ghc-conduit-extra)
6507 ("ghc-fast-logger" ,ghc-fast-logger)
6508 ("ghc-transformers-base" ,ghc-transformers-base)
6509 ("ghc-monad-control" ,ghc-monad-control)
6510 ("ghc-monad-loops" ,ghc-monad-loops)
6511 ("ghc-blaze-builder" ,ghc-blaze-builder)
6512 ("ghc-exceptions" ,ghc-exceptions)))
6513 (home-page "https://github.com/kazu-yamamoto/logger")
6514 (synopsis "Provides a class of monads which can log messages for Haskell")
6515 (description "This Haskell package uses a monad transformer approach
6516for logging.
6517
6518This package provides Template Haskell functions for determining source
6519code locations of messages.")
6520 (license license:expat)))
6521
6522(define-public ghc-monad-loops
6523 (package
6524 (name "ghc-monad-loops")
6525 (version "0.4.3")
6526 (source
6527 (origin
6528 (method url-fetch)
6529 (uri (string-append "https://hackage.haskell.org/package/"
6530 "monad-loops-" version "/"
6531 "monad-loops-" version ".tar.gz"))
6532 (sha256
6533 (base32
6534 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6535 (build-system haskell-build-system)
6536 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6537 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6538 (home-page "https://github.com/mokus0/monad-loops")
6539 (synopsis "Monadic loops for Haskell")
6540 (description "This Haskell package provides some useful control
6541operators for looping.")
6542 (license license:public-domain)))
6543
6544(define-public ghc-monad-par
6545 (package
6546 (name "ghc-monad-par")
6547 (version "0.3.4.8")
6548 (source
6549 (origin
6550 (method url-fetch)
6551 (uri (string-append "https://hackage.haskell.org/package/"
6552 "monad-par-" version "/"
6553 "monad-par-" version ".tar.gz"))
6554 (sha256
6555 (base32
6556 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6557 (build-system haskell-build-system)
6558 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6559 ("ghc-abstract-deque" ,ghc-abstract-deque)
6560 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6561 ("ghc-mwc-random" ,ghc-mwc-random)
6562 ("ghc-parallel" ,ghc-parallel)))
6563 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6564 ("ghc-hunit" ,ghc-hunit)
6565 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6566 ("ghc-test-framework-quickcheck2"
6567 ,ghc-test-framework-quickcheck2)
6568 ("ghc-test-framework" ,ghc-test-framework)
6569 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6570 (home-page "https://github.com/simonmar/monad-par")
6571 (synopsis "Haskell library for parallel programming based on a monad")
6572 (description "The @code{Par} monad offers an API for parallel
6573programming. The library works for parallelising both pure and @code{IO}
6574computations, although only the pure version is deterministic. The default
6575implementation provides a work-stealing scheduler and supports forking tasks
6576that are much lighter weight than IO-threads.")
6577 (license license:bsd-3)))
6578
6579(define-public ghc-monad-par-extras
6580 (package
6581 (name "ghc-monad-par-extras")
6582 (version "0.3.3")
6583 (source
6584 (origin
6585 (method url-fetch)
6586 (uri (string-append "https://hackage.haskell.org/package/"
6587 "monad-par-extras-" version "/"
6588 "monad-par-extras-" version ".tar.gz"))
6589 (sha256
6590 (base32
6591 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6592 (build-system haskell-build-system)
6593 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6594 ("ghc-cereal" ,ghc-cereal)
6595 ("ghc-random" ,ghc-random)))
6596 (home-page "https://github.com/simonmar/monad-par")
6597 (synopsis "Combinators and extra features for Par monads for Haskell")
6598 (description "This Haskell package provides additional data structures,
6599and other added capabilities layered on top of the @code{Par} monad.")
6600 (license license:bsd-3)))
6601
6602(define-public ghc-monadplus
6603 (package
6604 (name "ghc-monadplus")
6605 (version "1.4.2")
6606 (source
6607 (origin
6608 (method url-fetch)
6609 (uri (string-append "https://hackage.haskell.org/package/monadplus"
6610 "/monadplus-" version ".tar.gz"))
6611 (sha256
6612 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
6613 (build-system haskell-build-system)
6614 (home-page "https://hackage.haskell.org/package/monadplus")
6615 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
6616 (description
6617 "This package generalizes many common stream operations such as
6618@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
6619arbitrary @code{MonadPlus} instances.")
6620 (license license:bsd-3)))
6621
6622(define-public ghc-monadrandom
6623 (package
6624 (name "ghc-monadrandom")
6625 (version "0.5.1.1")
6626 (source
6627 (origin
6628 (method url-fetch)
6629 (uri (string-append "https://hackage.haskell.org/package/"
6630 "MonadRandom-" version "/"
6631 "MonadRandom-" version ".tar.gz"))
6632 (sha256
6633 (base32
6634 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
6635 (build-system haskell-build-system)
6636 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6637 ("ghc-primitive" ,ghc-primitive)
6638 ("ghc-fail" ,ghc-fail)
6639 ("ghc-random" ,ghc-random)))
6640 (home-page "https://github.com/byorgey/MonadRandom")
6641 (synopsis "Random-number generation monad for Haskell")
6642 (description "This Haskell package provides support for computations
6643which consume random values.")
6644 (license license:bsd-3)))
6645
6646(define-public ghc-monads-tf
6647 (package
6648 (name "ghc-monads-tf")
6649 (version "0.1.0.3")
6650 (source
6651 (origin
6652 (method url-fetch)
6653 (uri (string-append
6654 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
6655 version ".tar.gz"))
6656 (sha256
6657 (base32
6658 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
6659 (build-system haskell-build-system)
6660 (home-page "https://hackage.haskell.org/package/monads-tf")
6661 (synopsis "Monad classes, using type families")
6662 (description
6663 "Monad classes using type families, with instances for various monad transformers,
6664inspired by the paper 'Functional Programming with Overloading and Higher-Order
6665Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
6666the @code{mtl-tf} package.")
6667 (license license:bsd-3)))
6668
6669(define-public ghc-mono-traversable
6670 (package
6671 (name "ghc-mono-traversable")
6672 (version "1.0.9.0")
6673 (source
6674 (origin
6675 (method url-fetch)
6676 (uri (string-append "https://hackage.haskell.org/package/"
6677 "mono-traversable-" version "/"
6678 "mono-traversable-" version ".tar.gz"))
6679 (sha256
6680 (base32
6681 "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
6682 (build-system haskell-build-system)
6683 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
6684 ("ghc-hashable" ,ghc-hashable)
6685 ("ghc-vector" ,ghc-vector)
6686 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
6687 ("ghc-split" ,ghc-split)))
6688 (native-inputs `(("ghc-hspec" ,ghc-hspec)
6689 ("ghc-hunit" ,ghc-hunit)
6690 ("ghc-quickcheck" ,ghc-quickcheck)
6691 ("ghc-semigroups" ,ghc-semigroups)
6692 ("ghc-foldl" ,ghc-foldl)))
6693 (home-page "https://github.com/snoyberg/mono-traversable")
6694 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
6695containers")
6696 (description "This Haskell package provides Monomorphic variants of the
6697Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
6698basic typeclasses, you understand mono-traversable. In addition to what
6699you are used to, it adds on an IsSequence typeclass and has code for marking
6700data structures as non-empty.")
6701 (license license:expat)))
6702
6703(define-public ghc-murmur-hash
6704 (package
6705 (name "ghc-murmur-hash")
6706 (version "0.1.0.9")
6707 (source
6708 (origin
6709 (method url-fetch)
6710 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
6711 "/murmur-hash-" version ".tar.gz"))
6712 (sha256
6713 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
6714 (build-system haskell-build-system)
6715 (home-page "https://github.com/nominolo/murmur-hash")
6716 (synopsis "MurmurHash2 implementation for Haskell")
6717 (description
6718 "This package provides an implementation of MurmurHash2, a good, fast,
6719general-purpose, non-cryptographic hashing function. See
6720@url{https://sites.google.com/site/murmurhash/} for details. This
6721implementation is pure Haskell, so it might be a bit slower than a C FFI
6722binding.")
6723 (license license:bsd-3)))
6724
6725(define-public ghc-mwc-random
6726 (package
6727 (name "ghc-mwc-random")
33268e2c 6728 (version "0.14.0.0")
dddbc90c
RV
6729 (source
6730 (origin
6731 (method url-fetch)
6732 (uri (string-append "https://hackage.haskell.org/package/"
6733 "mwc-random-" version "/"
6734 "mwc-random-" version ".tar.gz"))
6735 (sha256
6736 (base32
33268e2c 6737 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
6738 (build-system haskell-build-system)
6739 (inputs
6740 `(("ghc-primitive" ,ghc-primitive)
6741 ("ghc-vector" ,ghc-vector)
6742 ("ghc-math-functions" ,ghc-math-functions)))
6743 (arguments
6744 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
6745 (native-inputs
6746 `(("ghc-hunit" ,ghc-hunit)
6747 ("ghc-quickcheck" ,ghc-quickcheck)
6748 ("ghc-test-framework" ,ghc-test-framework)
6749 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6750 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6751 (home-page "https://github.com/bos/mwc-random")
6752 (synopsis "Random number generation library for Haskell")
6753 (description "This Haskell package contains code for generating
6754high quality random numbers that follow either a uniform or normal
6755distribution. The generated numbers are suitable for use in
6756statistical applications.
6757
6758The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
6759multiply-with-carry generator, which has a period of 2^{8222} and
6760fares well in tests of randomness. It is also extremely fast,
6761between 2 and 3 times faster than the Mersenne Twister.")
6762 (license license:bsd-3)))
6763
6764(define-public ghc-nats
6765 (package
6766 (name "ghc-nats")
6767 (version "1.1.2")
6768 (source
6769 (origin
6770 (method url-fetch)
6771 (uri (string-append
6772 "https://hackage.haskell.org/package/nats/nats-"
6773 version
6774 ".tar.gz"))
6775 (sha256
6776 (base32
6777 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
6778 (build-system haskell-build-system)
6779 (arguments `(#:haddock? #f))
6780 (inputs
6781 `(("ghc-hashable" ,ghc-hashable)))
6782 (home-page "https://hackage.haskell.org/package/nats")
6783 (synopsis "Natural numbers")
6784 (description "This library provides the natural numbers for Haskell.")
6785 (license license:bsd-3)))
6786
6787(define-public ghc-nats-bootstrap
6788 (package
6789 (inherit ghc-nats)
6790 (name "ghc-nats-bootstrap")
6791 (inputs
6792 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
6793 (properties '((hidden? #t)))))
6794
52915062
EF
6795(define-public ghc-ncurses
6796 (package
6797 (name "ghc-ncurses")
6798 (version "0.2.16")
6799 (source
6800 (origin
6801 (method url-fetch)
6802 (uri (string-append
6803 "https://hackage.haskell.org/package/ncurses/ncurses-"
6804 version ".tar.gz"))
6805 (sha256
6806 (base32
6807 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
6808 (build-system haskell-build-system)
6809 (arguments
6810 '(#:phases
6811 (modify-phases %standard-phases
6812 (add-before 'build 'fix-includes
6813 (lambda _
6814 (substitute* '("cbits/hsncurses-shim.h"
6815 "lib/UI/NCurses.chs"
6816 "lib/UI/NCurses/Enums.chs"
6817 "lib/UI/NCurses/Panel.chs")
6818 (("<ncursesw/") "<"))
6819 #t)))
6820 #:cabal-revision
6821 ("1"
6822 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
6823 (inputs `(("ncurses" ,ncurses)))
6824 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
6825 (home-page "https://john-millikin.com/software/haskell-ncurses/")
6826 (synopsis "Modernised bindings to GNU ncurses")
6827 (description "GNU ncurses is a library for creating command-line application
6828with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
6829ncurses.")
6830 (license license:gpl3)))
6831
dddbc90c
RV
6832(define-public ghc-network
6833 (package
6834 (name "ghc-network")
d4473202 6835 (version "2.8.0.1")
dddbc90c
RV
6836 (outputs '("out" "doc"))
6837 (source
6838 (origin
6839 (method url-fetch)
6840 (uri (string-append
6841 "https://hackage.haskell.org/package/network/network-"
6842 version
6843 ".tar.gz"))
6844 (sha256
6845 (base32
d4473202 6846 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
6847 (build-system haskell-build-system)
6848 ;; The regression tests depend on an unpublished module.
6849 (arguments `(#:tests? #f))
6850 (native-inputs
6851 `(("ghc-hunit" ,ghc-hunit)
6852 ("ghc-doctest" ,ghc-doctest)
6853 ("ghc-test-framework" ,ghc-test-framework)
6854 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6855 (home-page "https://github.com/haskell/network")
6856 (synopsis "Low-level networking interface")
6857 (description
6858 "This package provides a low-level networking interface.")
6859 (license license:bsd-3)))
4780db2c 6860
dddbc90c
RV
6861(define-public ghc-network-info
6862 (package
6863 (name "ghc-network-info")
6864 (version "0.2.0.10")
6865 (source
6866 (origin
6867 (method url-fetch)
6868 (uri (string-append "https://hackage.haskell.org/package/"
6869 "network-info-" version "/"
6870 "network-info-" version ".tar.gz"))
6871 (sha256
6872 (base32
6873 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
6874 (build-system haskell-build-system)
6875 (home-page "https://github.com/jystic/network-info")
6876 (synopsis "Access the local computer's basic network configuration")
6877 (description "This Haskell library provides simple read-only access to the
6878local computer's networking configuration. It is currently capable of
6879getting a list of all the network interfaces and their respective
6880IPv4, IPv6 and MAC addresses.")
6881 (license license:bsd-3)))
6882
6883(define-public ghc-network-uri
6884 (package
6885 (name "ghc-network-uri")
6886 (version "2.6.1.0")
6887 (outputs '("out" "doc"))
6888 (source
6889 (origin
6890 (method url-fetch)
6891 (uri (string-append
6892 "https://hackage.haskell.org/package/network-uri/network-uri-"
6893 version
6894 ".tar.gz"))
6895 (sha256
6896 (base32
6897 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
6898 (build-system haskell-build-system)
6899 (arguments
6900 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
6901 (inputs
6902 `(("ghc-network" ,ghc-network)))
6903 (native-inputs
6904 `(("ghc-hunit" ,ghc-hunit)))
6905 (home-page
6906 "https://github.com/haskell/network-uri")
6907 (synopsis "Library for URI manipulation")
6908 (description "This package provides an URI manipulation interface. In
6909@code{network-2.6} the @code{Network.URI} module was split off from the
6910@code{network} package into this package.")
6911 (license license:bsd-3)))
6912
6913(define-public ghc-newtype-generics
6914 (package
6915 (name "ghc-newtype-generics")
c07e16dd 6916 (version "0.5.4")
dddbc90c
RV
6917 (source
6918 (origin
6919 (method url-fetch)
6920 (uri (string-append "https://hackage.haskell.org/package/"
6921 "newtype-generics/newtype-generics-"
6922 version ".tar.gz"))
6923 (sha256
6924 (base32
c07e16dd 6925 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
6926 (build-system haskell-build-system)
6927 (native-inputs
6928 `(("ghc-hspec" ,ghc-hspec)
6929 ("hspec-discover" ,hspec-discover)))
6930 (home-page "http://github.com/sjakobi/newtype-generics")
6931 (synopsis "Typeclass and set of functions for working with newtypes")
6932 (description "The @code{Newtype} typeclass represents the packing and
6933unpacking of a newtype, and allows you to operate under that newtype with
6934functions such as @code{ala}. Generics support was added in version 0.4,
6935making this package a full replacement for the original newtype package,
6936and an alternative to newtype-th.")
6937 (license license:bsd-3)))
6938
6b652f5a
JS
6939(define-public ghc-non-negative
6940 (package
6941 (name "ghc-non-negative")
6942 (version "0.1.2")
6943 (source
6944 (origin
6945 (method url-fetch)
6946 (uri
6947 (string-append
6948 "https://hackage.haskell.org/package/non-negative/non-negative-"
6949 version ".tar.gz"))
6950 (sha256
6951 (base32
6952 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
6953 (build-system haskell-build-system)
6954 (inputs
6955 `(("ghc-semigroups" ,ghc-semigroups)
6956 ("ghc-utility-ht" ,ghc-utility-ht)
6957 ("ghc-quickcheck" ,ghc-quickcheck)))
6958 (home-page "https://hackage.haskell.org/package/non-negative")
6959 (synopsis "Non-negative numbers class")
6960 (description "This library provides a class for non-negative numbers,
6961a wrapper which can turn any ordered numeric type into a member of that
6962class, and a lazy number type for non-negative numbers (a generalization
6963of Peano numbers).")
6964 (license license:gpl3+)))
6965
dddbc90c
RV
6966(define-public ghc-objectname
6967 (package
6968 (name "ghc-objectname")
6969 (version "1.1.0.1")
6970 (source
6971 (origin
6972 (method url-fetch)
6973 (uri (string-append
6974 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
6975 version
6976 ".tar.gz"))
6977 (sha256
6978 (base32
6979 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
6980 (build-system haskell-build-system)
6981 (home-page "https://hackage.haskell.org/package/ObjectName")
6982 (synopsis "Helper library for Haskell OpenGL")
6983 (description "This tiny package contains the class ObjectName, which
6984corresponds to the general notion of explicitly handled identifiers for API
6985objects, e.g. a texture object name in OpenGL or a buffer object name in
6986OpenAL.")
6987 (license license:bsd-3)))
6988
6989(define-public ghc-old-locale
6990 (package
6991 (name "ghc-old-locale")
6992 (version "1.0.0.7")
6993 (source
6994 (origin
6995 (method url-fetch)
6996 (uri (string-append
6997 "https://hackage.haskell.org/package/old-locale/old-locale-"
6998 version
6999 ".tar.gz"))
7000 (sha256
7001 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7002 (build-system haskell-build-system)
7003 (arguments
7004 `(#:cabal-revision
7005 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7006 (home-page "https://hackage.haskell.org/package/old-locale")
7007 (synopsis "Adapt to locale conventions")
7008 (description
7009 "This package provides the ability to adapt to locale conventions such as
7010date and time formats.")
7011 (license license:bsd-3)))
7012
7013(define-public ghc-old-time
7014 (package
7015 (name "ghc-old-time")
7016 (version "1.1.0.3")
7017 (source
7018 (origin
7019 (method url-fetch)
7020 (uri (string-append
7021 "https://hackage.haskell.org/package/old-time/old-time-"
7022 version
7023 ".tar.gz"))
7024 (sha256
7025 (base32
7026 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7027 (build-system haskell-build-system)
7028 (arguments
7029 `(#:cabal-revision
7030 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7031 (inputs
7032 `(("ghc-old-locale" ,ghc-old-locale)))
7033 (home-page "https://hackage.haskell.org/package/old-time")
7034 (synopsis "Time compatibility library for Haskell")
7035 (description "Old-time is a package for backwards compatibility with the
7036old @code{time} library. For new projects, the newer
7037@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7038 (license license:bsd-3)))
7039
7040(define-public ghc-opengl
7041 (package
7042 (name "ghc-opengl")
79a06910 7043 (version "3.0.3.0")
dddbc90c
RV
7044 (source
7045 (origin
7046 (method url-fetch)
7047 (uri (string-append
7048 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7049 version
7050 ".tar.gz"))
7051 (sha256
7052 (base32
79a06910 7053 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 7054 (build-system haskell-build-system)
79a06910
TS
7055 (arguments
7056 `(#:cabal-revision
7057 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
7058 (inputs
7059 `(("ghc-objectname" ,ghc-objectname)
7060 ("ghc-gluraw" ,ghc-gluraw)
7061 ("ghc-statevar" ,ghc-statevar)
7062 ("ghc-openglraw" ,ghc-openglraw)))
7063 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7064 (synopsis "Haskell bindings for the OpenGL graphics system")
7065 (description "This package provides Haskell bindings for the OpenGL
7066graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7067version 1.3).")
7068 (license license:bsd-3)))
7069
7070(define-public ghc-openglraw
7071 (package
7072 (name "ghc-openglraw")
15ebc815 7073 (version "3.3.3.0")
dddbc90c
RV
7074 (source
7075 (origin
7076 (method url-fetch)
7077 (uri (string-append
7078 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7079 version
7080 ".tar.gz"))
7081 (sha256
7082 (base32
15ebc815 7083 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
7084 (build-system haskell-build-system)
7085 (inputs
7086 `(("ghc-half" ,ghc-half)
7087 ("ghc-fixed" ,ghc-fixed)
7088 ("glu" ,glu)))
7089 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7090 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7091 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7092graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7093of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7094offers access to all necessary functions, tokens and types plus a general
7095facility for loading extension entries. The module hierarchy closely mirrors
7096the naming structure of the OpenGL extensions, making it easy to find the
7097right module to import. All API entries are loaded dynamically, so no special
7098C header files are needed for building this package. If an API entry is not
7099found at runtime, a userError is thrown.")
7100 (license license:bsd-3)))
7101
7102(define-public ghc-operational
7103 (package
7104 (name "ghc-operational")
7105 (version "0.2.3.5")
7106 (source
7107 (origin
7108 (method url-fetch)
7109 (uri (string-append "https://hackage.haskell.org/package/operational/"
7110 "operational-" version ".tar.gz"))
7111 (sha256
7112 (base32
7113 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7114 (build-system haskell-build-system)
7115 (inputs
7116 `(("ghc-random" ,ghc-random)))
7117 (home-page "http://wiki.haskell.org/Operational")
7118 (synopsis "Implementation of difficult monads made easy with operational semantics")
7119 (description
7120 "This library makes it easy to implement monads with tricky control
7121flow. This is useful for: writing web applications in a sequential style,
7122programming games with a uniform interface for human and AI players and easy
7123replay capababilities, implementing fast parser monads, designing monadic
7124DSLs, etc.")
7125 (license license:bsd-3)))
7126
7127(define-public ghc-options
7128 (package
7129 (name "ghc-options")
7130 (version "1.2.1.1")
7131 (source
7132 (origin
7133 (method url-fetch)
7134 (uri (string-append
7135 "https://hackage.haskell.org/package/options/options-"
7136 version ".tar.gz"))
7137 (sha256
7138 (base32
7139 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7140 (build-system haskell-build-system)
7141 (inputs
7142 `(("ghc-monads-tf" ,ghc-monads-tf)
7143 ("ghc-chell" ,ghc-chell)
7144 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7145 (home-page "https://john-millikin.com/software/haskell-options/")
7146 (synopsis "Powerful and easy-to-use command-line option parser")
7147 (description
7148 "The @code{options} package lets library and application developers
7149easily work with command-line options.")
7150 (license license:expat)))
7151
7152;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7153(define ghc-options-bootstrap
7154 (package
7155 (name "ghc-options-bootstrap")
7156 (version "1.2.1.1")
7157 (source
7158 (origin
7159 (method url-fetch)
7160 (uri (string-append
7161 "https://hackage.haskell.org/package/options/options-"
7162 version ".tar.gz"))
7163 (sha256
7164 (base32
7165 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7166 (build-system haskell-build-system)
7167 (arguments
7168 `(#:tests? #f))
7169 (inputs
7170 `(("ghc-monads-tf" ,ghc-monads-tf)))
7171 (home-page "https://john-millikin.com/software/haskell-options/")
7172 (synopsis "Powerful and easy-to-use command-line option parser")
7173 (description
7174 "The @code{options} package lets library and application developers
7175easily work with command-line options.")
7176 (license license:expat)))
7177
7178
7179(define-public ghc-optparse-applicative
7180 (package
7181 (name "ghc-optparse-applicative")
74bf6965 7182 (version "0.14.3.0")
dddbc90c
RV
7183 (source
7184 (origin
7185 (method url-fetch)
7186 (uri (string-append
7187 "https://hackage.haskell.org/package/optparse-applicative"
7188 "/optparse-applicative-" version ".tar.gz"))
7189 (sha256
7190 (base32
74bf6965 7191 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 7192 (build-system haskell-build-system)
74bf6965
TS
7193 (arguments
7194 `(#:cabal-revision
7195 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
7196 (inputs
7197 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7198 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7199 (native-inputs
7200 `(("ghc-quickcheck" ,ghc-quickcheck)))
7201 (home-page "https://github.com/pcapriotti/optparse-applicative")
7202 (synopsis "Utilities and combinators for parsing command line options")
7203 (description "This package provides utilities and combinators for parsing
7204command line options in Haskell.")
7205 (license license:bsd-3)))
7206
7207(define-public ghc-pandoc
7208 (package
7209 (name "ghc-pandoc")
7210 (version "2.2.1")
7211 (source
7212 (origin
7213 (method url-fetch)
7214 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7215 version ".tar.gz"))
7216 (sha256
7217 (base32
7218 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
7219 (build-system haskell-build-system)
7220 (arguments
7221 `(#:phases
7222 (modify-phases %standard-phases
7223 (add-before 'configure 'update-constraints
7224 (lambda _
7225 (substitute* "pandoc.cabal"
7226 (("tasty >= 0\\.11 && < 1\\.1")
7227 "tasty >= 0.11 && < 1.1.1"))))
7228 (add-before 'configure 'patch-tests
7229 (lambda _
7230 ;; These tests fail benignly and have been adjusted upstream:
7231 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
7232 (substitute* "test/Tests/Old.hs"
7233 (("lhsWriterTests \"html\"") "[]")))))))
7234 (inputs
7235 `(("ghc-aeson" ,ghc-aeson)
7236 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7237 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7238 ("ghc-blaze-html" ,ghc-blaze-html)
7239 ("ghc-blaze-markup" ,ghc-blaze-markup)
7240 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7241 ("ghc-data-default" ,ghc-data-default)
7242 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7243 ("ghc-diff" ,ghc-diff)
7244 ("ghc-doctemplates" ,ghc-doctemplates)
7245 ("ghc-executable-path" ,ghc-executable-path)
7246 ("ghc-glob" ,ghc-glob)
7247 ("ghc-haddock-library" ,ghc-haddock-library)
7248 ("ghc-hslua" ,ghc-hslua)
7249 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7250 ("ghc-http" ,ghc-http)
7251 ("ghc-http-client" ,ghc-http-client)
7252 ("ghc-http-client-tls" ,ghc-http-client-tls)
7253 ("ghc-http-types" ,ghc-http-types)
7254 ("ghc-juicypixels" ,ghc-juicypixels)
7255 ("ghc-network" ,ghc-network)
7256 ("ghc-network-uri" ,ghc-network-uri)
7257 ("ghc-old-locale" ,ghc-old-locale)
7258 ("ghc-pandoc-types" ,ghc-pandoc-types)
7259 ("ghc-random" ,ghc-random)
7260 ("ghc-scientific" ,ghc-scientific)
7261 ("ghc-sha" ,ghc-sha)
7262 ("ghc-skylighting" ,ghc-skylighting)
7263 ("ghc-split" ,ghc-split)
7264 ("ghc-syb" ,ghc-syb)
7265 ("ghc-tagsoup" ,ghc-tagsoup)
7266 ("ghc-temporary" ,ghc-temporary)
7267 ("ghc-texmath" ,ghc-texmath)
7268 ("ghc-unordered-containers" ,ghc-unordered-containers)
7269 ("ghc-vector" ,ghc-vector)
7270 ("ghc-xml" ,ghc-xml)
7271 ("ghc-yaml" ,ghc-yaml)
7272 ("ghc-zip-archive" ,ghc-zip-archive)
7273 ("ghc-zlib" ,ghc-zlib)))
7274 (native-inputs
7275 `(("ghc-tasty" ,ghc-tasty)
7276 ("ghc-tasty-golden" ,ghc-tasty-golden)
7277 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7278 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7279 ("ghc-quickcheck" ,ghc-quickcheck)
7280 ("ghc-hunit" ,ghc-hunit)))
7281 (home-page "https://pandoc.org")
7282 (synopsis "Conversion between markup formats")
7283 (description
7284 "Pandoc is a Haskell library for converting from one markup format to
7285another, and a command-line tool that uses this library. It can read and
7286write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7287LaTeX, DocBook, and many more.
7288
7289Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7290definition lists, tables, and other features. A compatibility mode is
7291provided for those who need a drop-in replacement for Markdown.pl.")
7292 (license license:gpl2+)))
7293
7294(define-public ghc-pandoc-citeproc
7295 (package
7296 (name "ghc-pandoc-citeproc")
7297 (version "0.14.3.1")
7298 (source
7299 (origin
7300 (method url-fetch)
7301 (uri (string-append "https://hackage.haskell.org/package/"
7302 "pandoc-citeproc/pandoc-citeproc-"
7303 version ".tar.gz"))
7304 (sha256
7305 (base32
7306 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7307 (build-system haskell-build-system)
7308 (arguments
7309 `(#:phases
7310 (modify-phases %standard-phases
7311 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7312 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7313 (add-before 'configure 'patch-tests
7314 (lambda _
7315 (substitute* "tests/test-pandoc-citeproc.hs"
7316 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7317 "let allTests = citeprocTests"))))
7318 ;; Tests need to be run after installation.
7319 (delete 'check)
7320 (add-after 'install 'post-install-check
7321 (assoc-ref %standard-phases 'check)))))
7322 (inputs
7323 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7324 ("ghc-pandoc" ,ghc-pandoc)
7325 ("ghc-tagsoup" ,ghc-tagsoup)
7326 ("ghc-aeson" ,ghc-aeson)
7327 ("ghc-vector" ,ghc-vector)
7328 ("ghc-xml-conduit" ,ghc-xml-conduit)
7329 ("ghc-unordered-containers" ,ghc-unordered-containers)
7330 ("ghc-data-default" ,ghc-data-default)
7331 ("ghc-setenv" ,ghc-setenv)
7332 ("ghc-split" ,ghc-split)
7333 ("ghc-yaml" ,ghc-yaml)
7334 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7335 ("ghc-rfc5051" ,ghc-rfc5051)
7336 ("ghc-syb" ,ghc-syb)
7337 ("ghc-old-locale" ,ghc-old-locale)
7338 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7339 ("ghc-attoparsec" ,ghc-attoparsec)
7340 ("ghc-temporary" ,ghc-temporary)))
7341 (home-page "https://github.com/jgm/pandoc-citeproc")
7342 (synopsis "Library for using pandoc with citeproc")
7343 (description
7344 "The @code{pandoc-citeproc} library exports functions for using the
7345citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7346rendering bibliographic reference citations into a variety of styles using a
7347macro language called @dfn{Citation Style Language} (CSL). This package also
7348contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7349and also has a mode for converting bibliographic databases a YAML format
7350suitable for inclusion in pandoc YAML metadata.")
7351 (license license:bsd-3)))
7352
7353(define-public ghc-pandoc-types
7354 (package
7355 (name "ghc-pandoc-types")
7356 (version "1.17.5.1")
7357 (source (origin
7358 (method url-fetch)
7359 (uri (string-append "https://hackage.haskell.org/package/"
7360 "pandoc-types/pandoc-types-"
7361 version ".tar.gz"))
7362 (sha256
7363 (base32
7364 "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
7365 (build-system haskell-build-system)
7366 (inputs
7367 `(("ghc-syb" ,ghc-syb)
7368 ("ghc-aeson" ,ghc-aeson)
7369 ("ghc-string-qq" ,ghc-string-qq)))
7370 (native-inputs
7371 `(("ghc-quickcheck" ,ghc-quickcheck)
7372 ("ghc-test-framework" ,ghc-test-framework)
7373 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7374 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7375 ("ghc-hunit" ,ghc-hunit)))
7376 (home-page "http://johnmacfarlane.net/pandoc")
7377 (synopsis "Types for representing a structured document")
7378 (description
7379 "This module defines the @code{Pandoc} data structure, which is used by
7380pandoc to represent structured documents. It also provides functions for
7381building up, manipulating and serialising @code{Pandoc} structures.")
7382 (license license:bsd-3)))
7383
7384(define-public ghc-parallel
7385 (package
7386 (name "ghc-parallel")
7387 (version "3.2.2.0")
7388 (outputs '("out" "doc"))
7389 (source
7390 (origin
7391 (method url-fetch)
7392 (uri (string-append
7393 "https://hackage.haskell.org/package/parallel/parallel-"
7394 version
7395 ".tar.gz"))
7396 (sha256
7397 (base32
7398 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7399 (build-system haskell-build-system)
7400 (home-page "https://hackage.haskell.org/package/parallel")
7401 (synopsis "Parallel programming library")
7402 (description
7403 "This package provides a library for parallel programming.")
7404 (license license:bsd-3)))
7405
7406(define-public ghc-parsec-numbers
7407 (package
7408 (name "ghc-parsec-numbers")
7409 (version "0.1.0")
7410 (source
7411 (origin
7412 (method url-fetch)
7413 (uri (string-append "https://hackage.haskell.org/package/"
7414 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7415 (sha256
7416 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7417 (build-system haskell-build-system)
7418 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7419 (synopsis "Utilities for parsing numbers from strings")
7420 (description
7421 "This package provides the number parsers without the need to use a large
7422(and unportable) token parser.")
7423 (license license:bsd-3)))
7424
7425(define-public ghc-parser-combinators
7426 (package
7427 (name "ghc-parser-combinators")
2f173160 7428 (version "1.1.0")
dddbc90c
RV
7429 (source
7430 (origin
7431 (method url-fetch)
7432 (uri (string-append "https://hackage.haskell.org/package/"
7433 "parser-combinators/parser-combinators-"
7434 version ".tar.gz"))
7435 (sha256
7436 (base32
2f173160 7437 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
7438 (build-system haskell-build-system)
7439 (home-page "https://github.com/mrkkrp/parser-combinators")
7440 (synopsis "Commonly useful parser combinators")
7441 (description
7442 "This is a lightweight package providing commonly useful parser
7443combinators.")
7444 (license license:bsd-3)))
7445
7446(define-public ghc-parsers
7447 (package
7448 (name "ghc-parsers")
7449 (version "0.12.9")
7450 (source
7451 (origin
7452 (method url-fetch)
7453 (uri (string-append
7454 "https://hackage.haskell.org/package/parsers/parsers-"
7455 version
7456 ".tar.gz"))
7457 (sha256
7458 (base32
7459 "1r05sc1mcglk8w596kq9a1brfn9c2vll8lq16j07ln0vsz4jzrc1"))))
7460 (build-system haskell-build-system)
7461 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7462 ; -package attoparsec-0.13.0.1"
7463 (inputs
7464 `(("ghc-base-orphans" ,ghc-base-orphans)
7465 ("ghc-attoparsec" ,ghc-attoparsec)
7466 ("ghc-scientific" ,ghc-scientific)
7467 ("ghc-charset" ,ghc-charset)
7468 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7469 (home-page "https://github.com/ekmett/parsers/")
7470 (synopsis "Parsing combinators")
7471 (description "This library provides convenient combinators for working
7472with and building parsing combinator libraries. Given a few simple instances,
7473you get access to a large number of canned definitions. Instances exist for
7474the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7475@code{Text.Read}.")
7476 (license license:bsd-3)))
7477
7478(define-public ghc-path
7479 (package
7480 (name "ghc-path")
7481 (version "0.6.1")
7482 (source
7483 (origin
7484 (method url-fetch)
7485 (uri (string-append
7486 "https://hackage.haskell.org/package/path/path-"
7487 version
7488 ".tar.gz"))
7489 (sha256
7490 (base32
7491 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7492 (build-system haskell-build-system)
7493 (arguments
7494 ;; TODO: There are some Windows-related tests and modules that need to be
7495 ;; danced around.
7496 `(#:tests? #f
7497 #:cabal-revision
7498 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7499 (inputs
7500 `(("ghc-aeson" ,ghc-aeson)
7501 ("ghc-exceptions" ,ghc-exceptions)
7502 ("ghc-hashable" ,ghc-hashable)))
7503 (native-inputs
7504 `(("ghc-hspec" ,ghc-hspec)
7505 ("ghc-quickcheck" ,ghc-quickcheck)
7506 ("ghc-genvalidity" ,ghc-genvalidity)
7507 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7508 ("ghc-hspec" ,ghc-hspec)
7509 ("ghc-validity" ,ghc-validity)))
7510 (home-page
7511 "http://hackage.haskell.org/package/path")
7512 (synopsis "Support for well-typed paths")
7513 (description "This package introduces a type for paths upholding useful
7514invariants.")
7515 (license license:bsd-3)))
7516
7517(define-public ghc-path-io
7518 (package
7519 (name "ghc-path-io")
7520 (version "1.3.3")
7521 (source
7522 (origin
7523 (method url-fetch)
7524 (uri (string-append
7525 "https://hackage.haskell.org/package/path-io/path-io-"
7526 version
7527 ".tar.gz"))
7528 (sha256
7529 (base32
7530 "1g9m3qliqjk1img894wsb89diym5zrq51qkkrwhz4sbm9a8hbv1a"))))
7531 (build-system haskell-build-system)
7532 (inputs
7533 `(("ghc-dlist" ,ghc-dlist)
7534 ("ghc-exceptions" ,ghc-exceptions)
7535 ("ghc-path" ,ghc-path)
7536 ("ghc-transformers-base" ,ghc-transformers-base)
7537 ("ghc-unix-compat" ,ghc-unix-compat)
7538 ("ghc-temporary" ,ghc-temporary)))
7539 (native-inputs
7540 `(("ghc-hspec" ,ghc-hspec)))
7541 (arguments
7542 `(#:cabal-revision
7543 ("3" "1h9hsibbflkxpjl2fqamqiv3x3gasf51apnmklrs9l9x8r32hzcc")))
7544 (home-page
7545 "https://github.com/mrkkrp/path-io")
7546 (synopsis "Functions for manipulating well-typed paths")
7547 (description "This package provides an interface to the @code{directory}
7548package for users of @code{path}. It also implements some missing stuff like
7549recursive scanning and copying of directories, working with temporary
7550files/directories, and more.")
7551 (license license:bsd-3)))
7552
7553(define-public ghc-paths
7554 (package
7555 (name "ghc-paths")
9a8adeb1 7556 (version "0.1.0.12")
dddbc90c
RV
7557 (outputs '("out" "doc"))
7558 (source
7559 (origin
7560 (method url-fetch)
7561 (uri (string-append
7562 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7563 version
7564 ".tar.gz"))
7565 (sha256
7566 (base32
9a8adeb1 7567 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
7568 (build-system haskell-build-system)
7569 (home-page "https://github.com/simonmar/ghc-paths")
7570 (synopsis
7571 "Knowledge of GHC's installation directories")
7572 (description
7573 "Knowledge of GHC's installation directories.")
7574 (license license:bsd-3)))
7575
7576(define-public ghc-patience
7577 (package
7578 (name "ghc-patience")
484476f3 7579 (version "0.3")
dddbc90c
RV
7580 (source
7581 (origin
7582 (method url-fetch)
7583 (uri (string-append
7584 "https://hackage.haskell.org/package/patience/patience-"
7585 version ".tar.gz"))
7586 (sha256
7587 (base32
484476f3 7588 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
7589 (build-system haskell-build-system)
7590 (home-page "https://hackage.haskell.org/package/patience")
7591 (synopsis "Patience diff and longest increasing subsequence")
7592 (description
7593 "This library implements the 'patience diff' algorithm, as well as the
7594patience algorithm for the longest increasing subsequence problem.
7595Patience diff computes the difference between two lists, for example the lines
7596of two versions of a source file. It provides a good balance between
7597performance, nice output for humans, and simplicity of implementation.")
7598 (license license:bsd-3)))
7599
7600(define-public ghc-pcre-light
7601 (package
7602 (name "ghc-pcre-light")
7603 (version "0.4.0.4")
7604 (source
7605 (origin
7606 (method url-fetch)
7607 (uri (string-append
7608 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7609 version
7610 ".tar.gz"))
7611 (sha256
7612 (base32
7613 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7614 (build-system haskell-build-system)
7615 (inputs
7616 `(("pcre" ,pcre)))
7617 (native-inputs
7618 `(("pkg-config" ,pkg-config)))
7619 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7620 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7621 (description "This package provides a small, efficient, and portable regex
7622library for Perl 5 compatible regular expressions. The PCRE library is a set
7623of functions that implement regular expression pattern matching using the same
7624syntax and semantics as Perl 5.")
7625 (license license:bsd-3)))
7626
7627(define-public ghc-persistent
7628 (package
7629 (name "ghc-persistent")
7630 (version "2.8.2")
7631 (source
7632 (origin
7633 (method url-fetch)
7634 (uri (string-append "https://hackage.haskell.org/package/"
7635 "persistent-" version "/"
7636 "persistent-" version ".tar.gz"))
7637 (sha256
7638 (base32
7639 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
7640 (build-system haskell-build-system)
7641 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7642 ("ghc-conduit" ,ghc-conduit)
7643 ("ghc-resourcet" ,ghc-resourcet)
7644 ("ghc-exceptions" ,ghc-exceptions)
7645 ("ghc-monad-control" ,ghc-monad-control)
7646 ("ghc-lifted-base" ,ghc-lifted-base)
7647 ("ghc-resource-pool" ,ghc-resource-pool)
7648 ("ghc-path-pieces" ,ghc-path-pieces)
7649 ("ghc-http-api-data" ,ghc-http-api-data)
7650 ("ghc-aeson" ,ghc-aeson)
7651 ("ghc-monad-logger" ,ghc-monad-logger)
7652 ("ghc-transformers-base" ,ghc-transformers-base)
7653 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7654 ("ghc-unordered-containers" ,ghc-unordered-containers)
7655 ("ghc-vector" ,ghc-vector)
7656 ("ghc-attoparsec" ,ghc-attoparsec)
7657 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7658 ("ghc-blaze-html" ,ghc-blaze-html)
7659 ("ghc-blaze-markup" ,ghc-blaze-markup)
7660 ("ghc-silently" ,ghc-silently)
7661 ("ghc-fast-logger" ,ghc-fast-logger)
7662 ("ghc-scientific" ,ghc-scientific)
7663 ("ghc-tagged" ,ghc-tagged)
7664 ("ghc-void" ,ghc-void)))
7665 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7666 (home-page "https://www.yesodweb.com/book/persistent")
7667 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7668 (description "This Haskell package allows Haskell programs to access data
7669storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7670way.")
7671 (license license:expat)))
7672
7673(define-public ghc-persistent-sqlite
7674 (package
7675 (name "ghc-persistent-sqlite")
7676 (version "2.8.2")
7677 (source
7678 (origin
7679 (method url-fetch)
7680 (uri (string-append "https://hackage.haskell.org/package/"
7681 "persistent-sqlite-" version "/"
7682 "persistent-sqlite-" version ".tar.gz"))
7683 (sha256
7684 (base32
7685 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7686 (build-system haskell-build-system)
7687 (inputs `(("ghc-persistent" ,ghc-persistent)
7688 ("ghc-unliftio-core" ,ghc-unliftio-core)
7689 ("ghc-aeson" ,ghc-aeson)
7690 ("ghc-conduit" ,ghc-conduit)
7691 ("ghc-monad-logger" ,ghc-monad-logger)
7692 ("ghc-microlens-th" ,ghc-microlens-th)
7693 ("ghc-resourcet" ,ghc-resourcet)
7694 ("ghc-old-locale" ,ghc-old-locale)
7695 ("ghc-resource-pool" ,ghc-resource-pool)
7696 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7697 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7698 ("ghc-persistent-template" ,ghc-persistent-template)
7699 ("ghc-temporary" ,ghc-temporary)))
7700 (home-page
7701 "https://www.yesodweb.com/book/persistent")
7702 (synopsis "Backend for the persistent library using sqlite3")
7703 (description "This Haskell package includes a thin sqlite3 wrapper based
7704on the direct-sqlite package, as well as the entire C library, so there are no
7705system dependencies.")
7706 (license license:expat)))
7707
7708(define-public ghc-persistent-template
7709 (package
7710 (name "ghc-persistent-template")
7711 (version "2.5.4")
7712 (source
7713 (origin
7714 (method url-fetch)
7715 (uri (string-append "https://hackage.haskell.org/package/"
7716 "persistent-template-" version "/"
7717 "persistent-template-" version ".tar.gz"))
7718 (sha256
7719 (base32
7720 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7721 (build-system haskell-build-system)
7722 (arguments
7723 `(#:cabal-revision
7724 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7725 (inputs `(("ghc-persistent" ,ghc-persistent)
7726 ("ghc-monad-control" ,ghc-monad-control)
7727 ("ghc-aeson" ,ghc-aeson)
7728 ("ghc-aeson-compat" ,ghc-aeson-compat)
7729 ("ghc-monad-logger" ,ghc-monad-logger)
7730 ("ghc-unordered-containers" ,ghc-unordered-containers)
7731 ("ghc-tagged" ,ghc-tagged)
7732 ("ghc-path-pieces" ,ghc-path-pieces)
7733 ("ghc-http-api-data" ,ghc-http-api-data)))
7734 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7735 ("ghc-quickcheck" ,ghc-quickcheck)))
7736 (home-page "https://www.yesodweb.com/book/persistent")
7737 (synopsis "Type-safe, non-relational, multi-backend persistence")
7738 (description "This Haskell package provides interfaces and helper
7739functions for the ghc-persistent package.")
7740 (license license:expat)))
7741
7742(define-public ghc-polyparse
7743 (package
7744 (name "ghc-polyparse")
9822b9ca 7745 (version "1.12.1")
dddbc90c
RV
7746 (source
7747 (origin
7748 (method url-fetch)
7749 (uri (string-append
7750 "https://hackage.haskell.org/package/polyparse/polyparse-"
7751 version
7752 ".tar.gz"))
7753 (sha256
7754 (base32
9822b9ca 7755 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
7756 (build-system haskell-build-system)
7757 (home-page
7758 "http://code.haskell.org/~malcolm/polyparse/")
7759 (synopsis
7760 "Alternative parser combinator libraries")
7761 (description
7762 "This package provides a variety of alternative parser combinator
7763libraries, including the original HuttonMeijer set. The Poly sets have
7764features like good error reporting, arbitrary token type, running state, lazy
7765parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7766standard Read class, for better deserialisation of Haskell values from
7767Strings.")
7768 (license license:lgpl2.1)))
7769
7770(define-public ghc-pqueue
7771 (package
7772 (name "ghc-pqueue")
142415b0 7773 (version "1.4.1.2")
dddbc90c
RV
7774 (source
7775 (origin
7776 (method url-fetch)
7777 (uri (string-append "https://hackage.haskell.org/package/"
7778 "pqueue/pqueue-" version ".tar.gz"))
7779 (sha256
7780 (base32
142415b0 7781 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
7782 (build-system haskell-build-system)
7783 (native-inputs
7784 `(("ghc-quickcheck" ,ghc-quickcheck)))
7785 (home-page "https://hackage.haskell.org/package/pqueue")
7786 (synopsis "Reliable, persistent, fast priority queues")
7787 (description
7788 "This package provides a fast, reliable priority queue implementation
7789based on a binomial heap.")
7790 (license license:bsd-3)))
7791
7792(define-public ghc-prelude-extras
7793 (package
7794 (name "ghc-prelude-extras")
7795 (version "0.4.0.3")
7796 (source
7797 (origin
7798 (method url-fetch)
7799 (uri (string-append
7800 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7801 version
7802 ".tar.gz"))
7803 (sha256
7804 (base32
7805 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7806 (build-system haskell-build-system)
7807 (home-page "https://github.com/ekmett/prelude-extras")
7808 (synopsis "Higher order versions of Prelude classes")
7809 (description "This library provides higher order versions of
7810@code{Prelude} classes to ease programming with polymorphic recursion and
7811reduce @code{UndecidableInstances}.")
7812 (license license:bsd-3)))
7813
7814(define-public ghc-prettyclass
7815 (package
7816 (name "ghc-prettyclass")
7817 (version "1.0.0.0")
7818 (source
7819 (origin
7820 (method url-fetch)
7821 (uri (string-append "https://hackage.haskell.org/package/"
7822 "prettyclass/prettyclass-" version ".tar.gz"))
7823 (sha256
7824 (base32
7825 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7826 (build-system haskell-build-system)
7827 (home-page "http://hackage.haskell.org/package/prettyclass")
7828 (synopsis "Pretty printing class similar to Show")
7829 (description "This package provides a pretty printing class similar
7830to @code{Show}, based on the HughesPJ pretty printing library. It
7831provides the pretty printing class and instances for the Prelude
7832types.")
7833 (license license:bsd-3)))
7834
7835(define-public ghc-pretty-hex
7836 (package
7837 (name "ghc-pretty-hex")
7838 (version "1.0")
7839 (source
7840 (origin
7841 (method url-fetch)
7842 (uri (string-append "https://hackage.haskell.org/package/"
7843 "pretty-hex-" version "/"
7844 "pretty-hex-" version ".tar.gz"))
7845 (sha256
7846 (base32
7847 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7848 (build-system haskell-build-system)
7849 (home-page "https://github.com/GaloisInc/hexdump")
7850 (synopsis "Haskell library for hex dumps of ByteStrings")
7851 (description "This Haskell library generates pretty hex dumps of
7852ByteStrings in the style of other common *nix hex dump tools.")
7853 (license license:bsd-3)))
7854
7855(define-public ghc-pretty-show
7856 (package
7857 (name "ghc-pretty-show")
7683a084 7858 (version "1.9.5")
dddbc90c
RV
7859 (source
7860 (origin
7861 (method url-fetch)
7862 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
7863 "pretty-show-" version ".tar.gz"))
7864 (sha256
7865 (base32
7683a084 7866 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
7867 (build-system haskell-build-system)
7868 (inputs
7869 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
7870 ("ghc-happy" ,ghc-happy)))
7871 (home-page "http://wiki.github.com/yav/pretty-show")
7872 (synopsis "Tools for working with derived `Show` instances")
7873 (description
7874 "This package provides a library and an executable for working with
7875derived @code{Show} instances. By using the library, derived @code{Show}
7876instances can be parsed into a generic data structure. The @code{ppsh} tool
7877uses the library to produce human-readable versions of @code{Show} instances,
7878which can be quite handy for debugging Haskell programs. We can also render
7879complex generic values into an interactive Html page, for easier
7880examination.")
7881 (license license:expat)))
7882
7883(define-public ghc-primitive
7884 (package
7885 (name "ghc-primitive")
7886 (version "0.6.4.0")
7887 (outputs '("out" "doc"))
7888 (source
7889 (origin
7890 (method url-fetch)
7891 (uri (string-append
7892 "https://hackage.haskell.org/package/primitive/primitive-"
7893 version
7894 ".tar.gz"))
7895 (sha256
7896 (base32
7897 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
7898 (build-system haskell-build-system)
6cf0daa4
TS
7899 (arguments
7900 `(#:cabal-revision
7901 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
7902 (home-page
7903 "https://github.com/haskell/primitive")
7904 (synopsis "Primitive memory-related operations")
7905 (description
7906 "This package provides various primitive memory-related operations.")
7907 (license license:bsd-3)))
7908
21f5b9a9
JS
7909(define-public ghc-process-extras
7910 (package
7911 (name "ghc-process-extras")
7912 (version "0.7.4")
7913 (source
7914 (origin
7915 (method url-fetch)
7916 (uri
7917 (string-append
7918 "https://hackage.haskell.org/package/process-extras/"
7919 "process-extras-" version ".tar.gz"))
7920 (sha256
7921 (base32
7922 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
7923 (build-system haskell-build-system)
7924 (inputs
7925 `(("ghc-data-default" ,ghc-data-default)
7926 ("ghc-generic-deriving" ,ghc-generic-deriving)
7927 ("ghc-hunit" ,ghc-hunit)
7928 ("ghc-listlike" ,ghc-listlike)))
7929 (home-page "https://github.com/seereason/process-extras")
7930 (synopsis "Extra tools for managing processes")
f74b6983 7931 (description "This package extends
21f5b9a9
JS
7932@url{http://hackage.haskell.org/package/process}. It allows you to read
7933process input and output as ByteStrings or Text, or write your own
7934ProcessOutput instance. It also provides lazy process input and output,
7935and a ProcessMaker class for more flexibility in the process creation
7936API.")
7937 (license license:expat)))
7938
dddbc90c
RV
7939(define-public ghc-profunctors
7940 (package
7941 (name "ghc-profunctors")
7942 (version "5.2.2")
7943 (source
7944 (origin
7945 (method url-fetch)
7946 (uri (string-append
7947 "https://hackage.haskell.org/package/profunctors/profunctors-"
7948 version
7949 ".tar.gz"))
7950 (sha256
7951 (base32
7952 "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9"))))
7953 (build-system haskell-build-system)
7954 (arguments
7955 `(#:cabal-revision
7956 ("2" "1ywlg9z8nlhd2avgb8c6gbkv8zyk7hvc25926bafyg0m0k8y1amq")))
7957 (inputs
7958 `(("ghc-base-orphans" ,ghc-base-orphans)
7959 ("ghc-bifunctors" ,ghc-bifunctors)
7960 ("ghc-comonad" ,ghc-comonad)
7961 ("ghc-contravariant" ,ghc-contravariant)
7962 ("ghc-distributive" ,ghc-distributive)
7963 ("ghc-semigroups" ,ghc-semigroups)
7964 ("ghc-tagged" ,ghc-tagged)))
7965 (home-page "https://github.com/ekmett/profunctors/")
7966 (synopsis "Profunctors for Haskell")
7967 (description "This library provides profunctors for Haskell.")
7968 (license license:bsd-3)))
7969
7970(define-public ghc-psqueues
7971 (package
7972 (name "ghc-psqueues")
5d133942 7973 (version "0.2.7.2")
dddbc90c
RV
7974 (source
7975 (origin
7976 (method url-fetch)
7977 (uri (string-append "https://hackage.haskell.org/package/"
7978 "psqueues-" version "/"
7979 "psqueues-" version ".tar.gz"))
7980 (sha256
7981 (base32
5d133942 7982 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
7983 (build-system haskell-build-system)
7984 (inputs
7985 `(("ghc-hashable" ,ghc-hashable)))
7986 (native-inputs
7987 `(("ghc-hunit" ,ghc-hunit)
7988 ("ghc-quickcheck" ,ghc-quickcheck)
7989 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
7990 ("ghc-tasty" ,ghc-tasty)
7991 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7992 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
7993 (home-page "https://github.com/jaspervdj/psqueues")
7994 (synopsis "Pure priority search queues")
7995 (description "The psqueues package provides
7996@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
7997three different flavors:
7998
7999@itemize
8000@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8001fast insertion, deletion and lookup. This implementation is based on Ralf
8002Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8003Implementation Technique for Priority Search Queues}.
8004
8005Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
8006PSQueue} library, although it is considerably faster and provides a slightly
8007different API.
8008
8009@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8010key type to @code{Int} and uses a
8011@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8012with an additional min-heap property.
8013
8014@item @code{HashPSQ k p v} is a fairly straightforward extension
8015of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8016@code{IntPSQ}. If there are any hash collisions, it uses an
8017@code{OrdPSQ} to resolve those. The performance of this implementation
8018is comparable to that of @code{IntPSQ}, but it is more widely
8019applicable since the keys are not restricted to @code{Int},
8020but rather to any @code{Hashable} datatype.
8021@end itemize
8022
8023Each of the three implementations provides the same API, so they can
8024be used interchangeably.
8025
8026Typical applications of Priority Search Queues include:
8027
8028@itemize
8029@item Caches, and more specifically LRU Caches;
8030@item Schedulers;
8031@item Pathfinding algorithms, such as Dijkstra's and A*.
8032@end itemize")
8033 (license license:bsd-3)))
8034
8035(define-public ghc-random
8036 (package
8037 (name "ghc-random")
8038 (version "1.1")
8039 (outputs '("out" "doc"))
8040 (source
8041 (origin
8042 (method url-fetch)
8043 (uri (string-append
8044 "https://hackage.haskell.org/package/random/random-"
8045 version
8046 ".tar.gz"))
8047 (sha256
8048 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8049 (build-system haskell-build-system)
8050 (home-page "https://hackage.haskell.org/package/random")
8051 (synopsis "Random number library")
8052 (description "This package provides a basic random number generation
8053library, including the ability to split random number generators.")
8054 (license license:bsd-3)))
8055
8056(define-public ghc-raw-strings-qq
8057 (package
8058 (name "ghc-raw-strings-qq")
8059 (version "1.1")
8060 (source
8061 (origin
8062 (method url-fetch)
8063 (uri (string-append "https://hackage.haskell.org/package/"
8064 "raw-strings-qq/raw-strings-qq-"
8065 version ".tar.gz"))
8066 (sha256
8067 (base32
8068 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8069 (build-system haskell-build-system)
8070 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8071 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8072 (synopsis "Raw string literals for Haskell")
8073 (description
8074 "This package provides a quasiquoter for raw string literals, i.e. string
8075literals that don't recognise the standard escape sequences. Basically, they
8076make your code more readable by freeing you from the responsibility to escape
8077backslashes. They are useful when working with regular expressions,
8078DOS/Windows paths and markup languages (such as XML).")
8079 (license license:bsd-3)))
8080
8081(define-public ghc-readable
8082 (package
8083 (name "ghc-readable")
8084 (version "0.3.1")
8085 (source
8086 (origin
8087 (method url-fetch)
8088 (uri (string-append "https://hackage.haskell.org/package/"
8089 "readable/readable-" version ".tar.gz"))
8090 (sha256
8091 (base32
8092 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8093 (build-system haskell-build-system)
8094 (home-page "https://github.com/mightybyte/readable")
8095 (synopsis "Type class for reading from Text and ByteString")
8096 (description "This package provides a @code{Readable} type class for
8097reading data types from @code{ByteString} and @code{Text}. It also
8098includes efficient implementations for common data types.")
8099 (license license:bsd-3)))
8100
8101(define-public ghc-rebase
8102 (package
8103 (name "ghc-rebase")
8104 (version "1.2.4")
8105 (source
8106 (origin
8107 (method url-fetch)
8108 (uri (string-append "https://hackage.haskell.org/package/"
8109 "rebase-" version "/"
8110 "rebase-" version ".tar.gz"))
8111 (sha256
8112 (base32
8113 "1gah2qwfpzwamnikbc5h4nv6dgvv9h16di9ka7946za3nibyasya"))))
8114 (build-system haskell-build-system)
8115 (inputs `(("ghc-hashable" ,ghc-hashable)
8116 ("ghc-vector" ,ghc-vector)
8117 ("ghc-unordered-containers" ,ghc-unordered-containers)
8118 ("ghc-scientific" ,ghc-scientific)
8119 ("ghc-uuid" ,ghc-uuid)
8120 ("ghc-dlist" ,ghc-dlist)
8121 ("ghc-void" ,ghc-void)
8122 ("ghc-bifunctors" ,ghc-bifunctors)
8123 ("ghc-profunctors" ,ghc-profunctors)
8124 ("ghc-contravariant" ,ghc-contravariant)
8125 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8126 ("ghc-semigroups" ,ghc-semigroups)
8127 ("ghc-either" ,ghc-either)
8128 ("ghc-fail" ,ghc-fail)
8129 ("ghc-base-prelude" ,ghc-base-prelude)))
8130 (home-page "https://github.com/nikita-volkov/rebase")
8131 (synopsis "Progressive alternative to the base package
8132for Haskell")
8133 (description "This Haskell package is intended for those who are
8134tired of keeping long lists of dependencies to the same essential libraries
8135in each package as well as the endless imports of the same APIs all over again.
8136
8137It also supports the modern tendencies in the language.
8138
8139To solve those problems this package does the following:
8140
8141@itemize
8142@item Reexport the original APIs under the @code{Rebase} namespace.
8143
8144@item Export all the possible non-conflicting symbols from the
8145@code{Rebase.Prelude} module.
8146
8147@item Give priority to the modern practices in the conflicting cases.
8148@end itemize
8149
8150The policy behind the package is only to reexport the non-ambiguous and
8151non-controversial APIs, which the community has obviously settled on.
8152The package is intended to rapidly evolve with the contribution from
8153the community, with the missing features being added with pull-requests.")
8154 (license license:expat)))
8155
8156(define-public ghc-reducers
8157 (package
8158 (name "ghc-reducers")
8159 (version "3.12.3")
8160 (source
8161 (origin
8162 (method url-fetch)
8163 (uri (string-append
8164 "https://hackage.haskell.org/package/reducers/reducers-"
8165 version
8166 ".tar.gz"))
8167 (sha256
8168 (base32
8169 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8170 (build-system haskell-build-system)
8171 (inputs
8172 `(("ghc-fingertree" ,ghc-fingertree)
8173 ("ghc-hashable" ,ghc-hashable)
8174 ("ghc-unordered-containers" ,ghc-unordered-containers)
8175 ("ghc-semigroupoids" ,ghc-semigroupoids)
8176 ("ghc-semigroups" ,ghc-semigroups)))
8177 (home-page "https://github.com/ekmett/reducers/")
8178 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8179 (description "This library provides various semigroups, specialized
8180containers and a general map/reduce framework for Haskell.")
8181 (license license:bsd-3)))
8182
8183(define-public ghc-refact
8184 (package
8185 (name "ghc-refact")
8186 (version "0.3.0.2")
8187 (source
8188 (origin
8189 (method url-fetch)
8190 (uri (string-append "https://hackage.haskell.org/package/"
8191 "refact/refact-"
8192 version ".tar.gz"))
8193 (sha256
8194 (base32
8195 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8196 (build-system haskell-build-system)
8197 (home-page "http://hackage.haskell.org/package/refact")
8198 (synopsis "Specify refactorings to perform with apply-refact")
8199 (description
8200 "This library provides a datatype which can be interpreted by
8201@code{apply-refact}. It exists as a separate library so that applications can
8202specify refactorings without depending on GHC.")
8203 (license license:bsd-3)))
8204
8205(define-public ghc-reflection
8206 (package
8207 (name "ghc-reflection")
d215f1cc 8208 (version "2.1.5")
dddbc90c
RV
8209 (source
8210 (origin
8211 (method url-fetch)
8212 (uri (string-append
8213 "https://hackage.haskell.org/package/reflection/reflection-"
8214 version
8215 ".tar.gz"))
8216 (sha256
8217 (base32
d215f1cc 8218 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
8219 (build-system haskell-build-system)
8220 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
8221 (native-inputs
8222 `(("ghc-hspec" ,ghc-hspec)
8223 ("ghc-quickcheck" ,ghc-quickcheck)
8224 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
8225 (home-page "https://github.com/ekmett/reflection")
8226 (synopsis "Reify arbitrary terms into types that can be reflected back
8227into terms")
8228 (description "This package addresses the 'configuration problem' which is
8229propagating configurations that are available at run-time, allowing multiple
8230configurations to coexist without resorting to mutable global variables or
8231@code{System.IO.Unsafe.unsafePerformIO}.")
8232 (license license:bsd-3)))
8233
8234(define-public ghc-regex
8235 (package
8236 (name "ghc-regex")
b9a5e634 8237 (version "1.0.2.0")
dddbc90c
RV
8238 (source
8239 (origin
8240 (method url-fetch)
8241 (uri (string-append "https://hackage.haskell.org/package/regex/"
8242 "regex-" version ".tar.gz"))
8243 (sha256
8244 (base32
b9a5e634 8245 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
8246 (build-system haskell-build-system)
8247 (arguments
8248 `(#:phases
8249 (modify-phases %standard-phases
8250 (add-after 'unpack 'relax-dependencies
8251 (lambda _
8252 (substitute* "regex.cabal"
8253 (("base-compat.*>=.*0.6.*")
8254 "base-compat >= 0.6\n")
8255 (("template-haskell.*>=.*2.7.*")
8256 "template-haskell >= 2.7\n"))
8257 #t)))))
8258 (inputs
8259 `(("ghc-base-compat" ,ghc-base-compat)
8260 ("ghc-hashable" ,ghc-hashable)
8261 ("ghc-regex-base" ,ghc-regex-base)
8262 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8263 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8264 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8265 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8266 ("ghc-unordered-containers" ,ghc-unordered-containers)
8267 ("ghc-utf8-string" ,ghc-utf8-string)))
8268 (home-page "http://regex.uk")
8269 (synopsis "Toolkit for regex-base")
8270 (description
8271 "This package provides a regular expression toolkit for @code{regex-base}
8272with compile-time checking of regular expression syntax, data types for
8273matches and captures, a text replacement toolkit, portable options, high-level
8274AWK-like tools for building text processing apps, regular expression macros
8275with parsers and test bench, comprehensive documentation, tutorials and
8276copious examples.")
8277 (license license:bsd-3)))
8278
8279(define-public ghc-regex-applicative
8280 (package
8281 (name "ghc-regex-applicative")
30f60e42 8282 (version "0.3.3.1")
dddbc90c
RV
8283 (source
8284 (origin
8285 (method url-fetch)
8286 (uri (string-append
8287 "https://hackage.haskell.org/package/regex-applicative/"
8288 "regex-applicative-" version ".tar.gz"))
8289 (sha256
8290 (base32
30f60e42 8291 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
8292 (build-system haskell-build-system)
8293 (inputs
8294 `(("ghc-smallcheck" ,ghc-smallcheck)
8295 ("ghc-tasty" ,ghc-tasty)
8296 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8297 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8298 (home-page "https://github.com/feuerbach/regex-applicative")
8299 (synopsis "Regex-based parsing with applicative interface")
8300 (description
8301 "@code{regex-applicative} is a Haskell library for parsing using
8302regular expressions. Parsers can be built using Applicative interface.")
8303 (license license:expat)))
8304
8305(define-public ghc-regex-base
8306 (package
8307 (name "ghc-regex-base")
8308 (version "0.93.2")
8309 (source
8310 (origin
8311 (method url-fetch)
8312 (uri (string-append
8313 "https://hackage.haskell.org/package/regex-base/regex-base-"
8314 version
8315 ".tar.gz"))
8316 (sha256
8317 (base32
8318 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8319 (build-system haskell-build-system)
8320 (home-page
8321 "https://sourceforge.net/projects/lazy-regex")
8322 (synopsis "Replaces/Enhances Text.Regex")
8323 (description "@code{Text.Regex.Base} provides the interface API for
8324regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8325 (license license:bsd-3)))
8326
8327(define-public ghc-regex-compat
8328 (package
8329 (name "ghc-regex-compat")
8330 (version "0.95.1")
8331 (source
8332 (origin
8333 (method url-fetch)
8334 (uri (string-append
8335 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8336 version
8337 ".tar.gz"))
8338 (sha256
8339 (base32
8340 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8341 (build-system haskell-build-system)
8342 (inputs
8343 `(("ghc-regex-base" ,ghc-regex-base)
8344 ("ghc-regex-posix" ,ghc-regex-posix)))
8345 (home-page "https://sourceforge.net/projects/lazy-regex")
8346 (synopsis "Replaces/Enhances Text.Regex")
8347 (description "This library provides one module layer over
8348@code{regex-posix} to replace @code{Text.Regex}.")
8349 (license license:bsd-3)))
8350
8351(define-public ghc-regex-compat-tdfa
8352 (package
8353 (name "ghc-regex-compat-tdfa")
8354 (version "0.95.1.4")
8355 (source
8356 (origin
8357 (method url-fetch)
8358 (uri (string-append
8359 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8360 version ".tar.gz"))
8361 (sha256
8362 (base32
8363 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8364 (build-system haskell-build-system)
8365 (inputs
8366 `(("ghc-regex-base" ,ghc-regex-base)
8367 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8368 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8369 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8370 (description
8371 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8372@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8373This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8374this problem.")
8375 (license license:bsd-3)))
8376
8377(define-public ghc-regex-pcre-builtin
8378 (package
8379 (name "ghc-regex-pcre-builtin")
ee946143 8380 (version "0.94.5.8.8.35")
dddbc90c
RV
8381 (source (origin
8382 (method url-fetch)
8383 (uri (string-append "https://hackage.haskell.org/package/"
8384 "regex-pcre-builtin/regex-pcre-builtin-"
8385 version ".tar.gz"))
8386 (sha256
8387 (base32
ee946143 8388 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
8389 (build-system haskell-build-system)
8390 (inputs
8391 `(("ghc-regex-base" ,ghc-regex-base)))
8392 (home-page "https://hackage.haskell.org/package/regex-pcre")
8393 (synopsis "Enhancement of the builtin Text.Regex library")
8394 (description
8395 "This package is an enhancement of the @code{Text.Regex} library,
8396providing the PCRE backend to accompany regex-base, with bundled code from
8397@url{https://www.pcre.org}.")
8398 (license license:bsd-3)))
8399
8400(define-public ghc-regex-posix
8401 (package
8402 (name "ghc-regex-posix")
8403 (version "0.95.2")
8404 (source
8405 (origin
8406 (method url-fetch)
8407 (uri (string-append
8408 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8409 version
8410 ".tar.gz"))
8411 (sha256
8412 (base32
8413 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8414 (build-system haskell-build-system)
8415 (inputs
8416 `(("ghc-regex-base" ,ghc-regex-base)))
8417 (home-page "https://sourceforge.net/projects/lazy-regex")
8418 (synopsis "POSIX regular expressions for Haskell")
8419 (description "This library provides the POSIX regex backend used by the
8420Haskell library @code{regex-base}.")
8421 (license license:bsd-3)))
8422
8423(define-public ghc-regex-tdfa
8424 (package
8425 (name "ghc-regex-tdfa")
ce684db0 8426 (version "1.2.3.2")
dddbc90c
RV
8427 (source
8428 (origin
8429 (method url-fetch)
8430 (uri (string-append
8431 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8432 version ".tar.gz"))
8433 (sha256
8434 (base32
ce684db0 8435 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
8436 (build-system haskell-build-system)
8437 (inputs
8438 `(("ghc-regex-base" ,ghc-regex-base)))
8439 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8440 (synopsis "POSIX extended regular expressions in Haskell.")
8441 (description
8442 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8443extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8444inspired by libtre.")
8445 (license license:bsd-3)))
8446
8447(define-public ghc-regex-tdfa-text
8448 (package
8449 (name "ghc-regex-tdfa-text")
8450 (version "1.0.0.3")
8451 (source
8452 (origin
8453 (method url-fetch)
8454 (uri (string-append
8455 "https://hackage.haskell.org/package/regex-tdfa-text/"
8456 "regex-tdfa-text-" version ".tar.gz"))
8457 (sha256
8458 (base32
8459 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8460 (build-system haskell-build-system)
8461 (inputs
8462 `(("ghc-regex-base" ,ghc-regex-base)
8463 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8464 (home-page
8465 "http://hackage.haskell.org/package/regex-tdfa-text")
8466 (synopsis "Text interface for regex-tdfa")
8467 (description
8468 "This provides an extra text interface for regex-tdfa.")
8469 (license license:bsd-3)))
8470
8471(define-public ghc-rerebase
8472 (package
8473 (name "ghc-rerebase")
8474 (version "1.2.2")
8475 (source
8476 (origin
8477 (method url-fetch)
8478 (uri (string-append
8479 "https://hackage.haskell.org/package/rerebase/rerebase-"
8480 version ".tar.gz"))
8481 (sha256
8482 (base32
8483 "11v6rmz7ql2rdx6mhb3lsal952lwihclfhh0m7fcnii5br0906ks"))))
8484 (build-system haskell-build-system)
8485 (inputs
8486 `(("ghc-rebase" ,ghc-rebase)))
8487 (home-page "https://github.com/nikita-volkov/rerebase")
8488 (synopsis "Reexports from ``base'' with many other standard libraries")
8489 (description "A rich drop-in replacement for @code{base}. For details and
8490documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8491the project's home page}.")
8492 (license license:expat)))
8493
8494(define-public ghc-resolv
8495 (package
8496 (name "ghc-resolv")
8497 (version "0.1.1.1")
8498 (source
8499 (origin
8500 (method url-fetch)
8501 (uri (string-append
8502 "https://hackage.haskell.org/package/resolv/resolv-"
8503 version ".tar.gz"))
8504 (sha256
8505 (base32
8506 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
8507 (build-system haskell-build-system)
8508 (arguments
8509 `(#:cabal-revision
8510 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
8511 #:tests? #f)) ; The required test frameworks are too old.
8512 (inputs
8513 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8514 (home-page "https://github.com/haskell/hackage-security")
8515 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8516 (description "This package implements an API for accessing the
8517@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8518resolver service via the standard @code{libresolv} system library (whose
8519API is often available directly via the standard @code{libc} C library) on
8520Unix systems.")
8521 (license license:gpl3)))
8522
8523(define-public ghc-resource-pool
8524 (package
8525 (name "ghc-resource-pool")
8526 (version "0.2.3.2")
8527 (source
8528 (origin
8529 (method url-fetch)
8530 (uri (string-append "https://hackage.haskell.org/package/"
8531 "resource-pool-" version "/"
8532 "resource-pool-" version ".tar.gz"))
8533 (sha256
8534 (base32
8535 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8536 (build-system haskell-build-system)
8537 (inputs `(("ghc-hashable" ,ghc-hashable)
8538 ("ghc-monad-control" ,ghc-monad-control)
8539 ("ghc-transformers-base" ,ghc-transformers-base)
8540 ("ghc-vector" ,ghc-vector)))
8541 (home-page "https://github.com/bos/pool")
8542 (synopsis "Striped resource pooling implementation in Haskell")
8543 (description "This Haskell package provides striped pooling abstraction
8544for managing flexibly-sized collections of resources such as database
8545connections.")
8546 (license license:bsd-3)))
8547
8548(define-public ghc-resourcet
8549 (package
8550 (name "ghc-resourcet")
9ac341ac 8551 (version "1.2.2")
dddbc90c
RV
8552 (source
8553 (origin
8554 (method url-fetch)
8555 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8556 "resourcet-" version ".tar.gz"))
8557 (sha256
8558 (base32
9ac341ac 8559 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
8560 (build-system haskell-build-system)
8561 (inputs
8562 `(("ghc-transformers-base" ,ghc-transformers-base)
8563 ("ghc-monad-control" ,ghc-monad-control)
8564 ("ghc-transformers-compat" ,ghc-transformers-compat)
8565 ("ghc-mmorph" ,ghc-mmorph)
8566 ("ghc-exceptions" ,ghc-exceptions)
8567 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8568 (native-inputs
8569 `(("ghc-lifted-base" ,ghc-lifted-base)
8570 ("ghc-hspec" ,ghc-hspec)))
8571 (home-page "https://github.com/snoyberg/conduit")
8572 (synopsis "Deterministic allocation and freeing of scarce resources")
8573 (description "ResourceT is a monad transformer which creates a region of
8574code where you can safely allocate resources.")
8575 (license license:bsd-3)))
8576
8577(define-public ghc-rfc5051
8578 (package
8579 (name "ghc-rfc5051")
ec42ab7c 8580 (version "0.1.0.4")
dddbc90c
RV
8581 (source
8582 (origin
8583 (method url-fetch)
8584 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8585 "rfc5051-" version ".tar.gz"))
8586 (sha256
8587 (base32
ec42ab7c 8588 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
8589 (build-system haskell-build-system)
8590 (home-page "https://hackage.haskell.org/package/rfc5051")
8591 (synopsis "Simple unicode collation as per RFC5051")
8592 (description
8593 "This library implements @code{unicode-casemap}, the simple, non
8594locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8595unicode collation can be done using @code{text-icu}, but that is a big
8596dependency that depends on a large C library, and @code{rfc5051} might be
8597better for some purposes.")
8598 (license license:bsd-3)))
8599
8600(define-public ghc-rio
8601 (package
8602 (name "ghc-rio")
8bda2fa7 8603 (version "0.1.12.0")
dddbc90c
RV
8604 (source
8605 (origin
8606 (method url-fetch)
8607 (uri (string-append
8608 "https://hackage.haskell.org/package/rio/rio-"
8609 version ".tar.gz"))
8610 (sha256
8611 (base32
8bda2fa7 8612 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
8613 (build-system haskell-build-system)
8614 (inputs
8615 `(("ghc-exceptions" ,ghc-exceptions)
8616 ("ghc-hashable" ,ghc-hashable)
8617 ("ghc-microlens" ,ghc-microlens)
8618 ("ghc-primitive" ,ghc-primitive)
8619 ("ghc-typed-process" ,ghc-typed-process)
8620 ("ghc-unliftio" ,ghc-unliftio)
8621 ("ghc-unordered-containers" ,ghc-unordered-containers)
8622 ("ghc-vector" ,ghc-vector)))
8623 (native-inputs
8624 `(("ghc-hspec" ,ghc-hspec)
8625 ("hspec-discover" ,hspec-discover)))
8626 (home-page "https://github.com/commercialhaskell/rio#readme")
8627 (synopsis "A standard library for Haskell")
8628 (description "This package works as a prelude replacement for Haskell,
8629providing more functionality and types out of the box than the standard
8630prelude (such as common data types like @code{ByteString} and
8631@code{Text}), as well as removing common ``gotchas'', like partial
8632functions and lazy I/O. The guiding principle here is:
8633@itemize
8634@item If something is safe to use in general and has no expected naming
8635conflicts, expose it.
8636@item If something should not always be used, or has naming conflicts,
8637expose it from another module in the hierarchy.
8638@end itemize")
8639 (license license:expat)))
8640
8641(define-public ghc-safe
8642 (package
8643 (name "ghc-safe")
8644 (version "0.3.17")
8645 (source
8646 (origin
8647 (method url-fetch)
8648 (uri (string-append
8649 "https://hackage.haskell.org/package/safe/safe-"
8650 version
8651 ".tar.gz"))
8652 (sha256
8653 (base32
8654 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8655 (build-system haskell-build-system)
8656 (native-inputs
8657 `(("ghc-quickcheck" ,ghc-quickcheck)))
8658 (home-page "https://github.com/ndmitchell/safe#readme")
8659 (synopsis "Library of safe (exception free) functions")
8660 (description "This library provides wrappers around @code{Prelude} and
8661@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8662exceptions.")
8663 (license license:bsd-3)))
8664
8665(define-public ghc-safe-exceptions
8666 (package
8667 (name "ghc-safe-exceptions")
8668 (version "0.1.7.0")
8669 (source
8670 (origin
8671 (method url-fetch)
8672 (uri (string-append "https://hackage.haskell.org/package/"
8673 "safe-exceptions/safe-exceptions-"
8674 version ".tar.gz"))
8675 (sha256
8676 (base32
8677 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8678 (build-system haskell-build-system)
8679 (arguments
8680 '(#:cabal-revision
8681 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8682 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8683 (native-inputs
8684 `(("ghc-hspec" ,ghc-hspec)
8685 ("ghc-void" ,ghc-void)
8686 ("hspec-discover" ,hspec-discover)))
8687 (home-page "https://github.com/fpco/safe-exceptions")
8688 (synopsis "Safe, consistent, and easy exception handling")
8689 (description "Runtime exceptions - as exposed in @code{base} by the
8690@code{Control.Exception} module - have long been an intimidating part of the
8691Haskell ecosystem. This package is intended to overcome this. It provides a
8692safe and simple API on top of the existing exception handling machinery. The
8693API is equivalent to the underlying implementation in terms of power but
8694encourages best practices to minimize the chances of getting the exception
8695handling wrong.")
8696 (license license:expat)))
8697
8698(define-public ghc-safeio
8699 (package
8700 (name "ghc-safeio")
8701 (version "0.0.5.0")
8702 (source
8703 (origin
8704 (method url-fetch)
8705 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8706 "safeio-" version ".tar.gz"))
8707 (sha256
8708 (base32
8709 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8710 (build-system haskell-build-system)
8711 (inputs
8712 `(("ghc-conduit" ,ghc-conduit)
8713 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8714 ("ghc-exceptions" ,ghc-exceptions)
8715 ("ghc-resourcet" ,ghc-resourcet)))
8716 (native-inputs
8717 `(("ghc-hunit" ,ghc-hunit)
8718 ("ghc-test-framework" ,ghc-test-framework)
8719 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8720 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8721 (home-page "https://github.com/luispedro/safeio")
8722 (synopsis "Write output to disk atomically")
8723 (description
8724 "This package implements utilities to perform atomic output so as to
8725avoid the problem of partial intermediate files.")
8726 (license license:expat)))
8727
8728(define-public ghc-safesemaphore
8729 (package
8730 (name "ghc-safesemaphore")
8731 (version "0.10.1")
8732 (source
8733 (origin
8734 (method url-fetch)
8735 (uri (string-append "https://hackage.haskell.org/package/"
8736 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8737 (sha256
8738 (base32
8739 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8740 (build-system haskell-build-system)
8741 (native-inputs
8742 `(("ghc-hunit" ,ghc-hunit)))
8743 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8744 (synopsis "Exception safe semaphores")
8745 (description "This library provides exception safe semaphores that can be
8746used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8747are not exception safe and can be broken by @code{killThread}.")
8748 (license license:bsd-3)))
8749
8750(define-public ghc-sandi
8751 (package
8752 (name "ghc-sandi")
8753 (version "0.4.2")
8754 (source
8755 (origin
8756 (method url-fetch)
8757 (uri (string-append
8758 "https://hackage.haskell.org/package/sandi/sandi-"
8759 version ".tar.gz"))
8760 (sha256
8761 (base32
8762 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8763 (build-system haskell-build-system)
8764 (inputs
8765 `(("ghc-stringsearch" ,ghc-stringsearch)
8766 ("ghc-conduit" ,ghc-conduit)
8767 ("ghc-exceptions" ,ghc-exceptions)
8768 ("ghc-hunit" ,ghc-hunit)
8769 ("ghc-tasty" ,ghc-tasty)
8770 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8771 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8772 ("ghc-tasty-th" ,ghc-tasty-th)))
8773 (home-page "https://hackage.haskell.org/package/sandi")
8774 (synopsis "Data encoding library")
8775 (description "Reasonably fast data encoding library.")
8776 (license license:bsd-3)))
8777
8778(define-public ghc-scientific
8779 (package
8780 (name "ghc-scientific")
8781 (version "0.3.6.2")
8782 (source
8783 (origin
8784 (method url-fetch)
8785 (uri (string-append
8786 "https://hackage.haskell.org/package/scientific/scientific-"
8787 version
8788 ".tar.gz"))
8789 (sha256
8790 (base32
8791 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8792 (build-system haskell-build-system)
8793 (inputs
8794 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8795 ("ghc-hashable" ,ghc-hashable)
8796 ("ghc-primitive" ,ghc-primitive)))
8797 (native-inputs
8798 `(("ghc-tasty" ,ghc-tasty)
8799 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8800 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8801 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8802 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8803 ("ghc-smallcheck" ,ghc-smallcheck)
8804 ("ghc-quickcheck" ,ghc-quickcheck)))
8805 (home-page "https://github.com/basvandijk/scientific")
8806 (synopsis "Numbers represented using scientific notation")
8807 (description "This package provides @code{Data.Scientific}, which provides
8808the number type @code{Scientific}. Scientific numbers are arbitrary precision
8809and space efficient. They are represented using
8810@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
8811notation}.")
8812 (license license:bsd-3)))
8813
8814(define-public ghc-scientific-bootstrap
8815 (package
8816 (inherit ghc-scientific)
8817 (name "ghc-scientific-bootstrap")
8818 (arguments `(#:tests? #f))
8819 (inputs
8820 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
8821 ("ghc-hashable" ,ghc-hashable)
8822 ("ghc-primitive" ,ghc-primitive)))
8823 (native-inputs '())
799d8d3c 8824 (properties '((hidden? #t)))))
dddbc90c
RV
8825
8826(define-public ghc-sdl
8827 (package
8828 (name "ghc-sdl")
8829 (version "0.6.7.0")
8830 (source
8831 (origin
8832 (method url-fetch)
8833 (uri (string-append
8834 "https://hackage.haskell.org/package/SDL/SDL-"
8835 version
8836 ".tar.gz"))
8837 (sha256
8838 (base32
8839 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
8840 (build-system haskell-build-system)
8841 (inputs
8842 `(("sdl" ,sdl)))
8843 (home-page "https://hackage.haskell.org/package/SDL")
8844 (synopsis "LibSDL for Haskell")
8845 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
8846multimedia library designed to provide low level access to audio, keyboard,
8847mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
8848by MPEG playback software, emulators, and many popular games, including the
8849award winning Linux port of \"Civilization: Call To Power.\"")
8850 (license license:bsd-3)))
8851
1874cdc1
RV
8852(define-public ghc-sdl2
8853 (package
8854 (name "ghc-sdl2")
8855 (version "2.4.1.0")
8856 (source
8857 (origin
8858 (method url-fetch)
8859 (uri (string-append "https://hackage.haskell.org/package/"
8860 "sdl2/sdl2-" version ".tar.gz"))
8861 (sha256
8862 (base32
8863 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
8864 (build-system haskell-build-system)
8865 (arguments '(#:tests? #f)) ; tests require graphical environment
8866 (inputs
8867 `(("ghc-exceptions" ,ghc-exceptions)
8868 ("ghc-linear" ,ghc-linear)
8869 ("ghc-statevar" ,ghc-statevar)
8870 ("ghc-vector" ,ghc-vector)
8871 ("sdl2" ,sdl2)))
8872 (native-inputs
8873 `(("ghc-weigh" ,ghc-weigh)
8874 ("pkg-config" ,pkg-config)))
8875 (home-page "http://hackage.haskell.org/package/sdl2")
8876 (synopsis "High- and low-level bindings to the SDL library")
8877 (description
8878 "This package contains bindings to the SDL 2 library, in both high- and
8879low-level forms. The @code{SDL} namespace contains high-level bindings, where
8880enumerations are split into sum types, and we perform automatic
8881error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
8882translation of the C API into Haskell FFI calls. As such, this does not
8883contain sum types nor error checking. Thus this namespace is suitable for
8884building your own abstraction over SDL, but is not recommended for day-to-day
8885programming.")
8886 (license license:bsd-3)))
8887
8888(define-public ghc-sdl2-image
8889 (package
8890 (name "ghc-sdl2-image")
8891 (version "2.0.0")
8892 (source
8893 (origin
8894 (method url-fetch)
8895 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
8896 "sdl2-image-" version ".tar.gz"))
8897 (sha256
8898 (base32
8899 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
8900 (build-system haskell-build-system)
8901 (inputs
8902 `(("ghc-sdl2" ,ghc-sdl2)
8903 ("sdl2-image" ,sdl2-image)))
8904 (native-inputs
8905 `(("pkg-config" ,pkg-config)))
8906 (home-page "http://hackage.haskell.org/package/sdl2-image")
8907 (synopsis "Bindings to SDL2_image")
8908 (description "This package provides Haskell bindings to
8909@code{SDL2_image}.")
8910 (license license:expat)))
8911
8912(define-public ghc-sdl2-mixer
8913 (package
8914 (name "ghc-sdl2-mixer")
8915 (version "1.1.0")
8916 (source
8917 (origin
8918 (method url-fetch)
8919 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
8920 "sdl2-mixer-" version ".tar.gz"))
8921 (sha256
8922 (base32
8923 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
8924 (build-system haskell-build-system)
8925 (inputs
8926 `(("ghc-data-default-class" ,ghc-data-default-class)
8927 ("ghc-lifted-base" ,ghc-lifted-base)
8928 ("ghc-monad-control" ,ghc-monad-control)
8929 ("ghc-sdl2" ,ghc-sdl2)
8930 ("ghc-vector" ,ghc-vector)
8931 ("sdl2-mixer" ,sdl2-mixer)))
8932 (native-inputs
8933 `(("pkg-config" ,pkg-config)))
8934 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
8935 (synopsis "Bindings to SDL2 mixer")
8936 (description "This package provides Haskell bindings to
8937@code{SDL2_mixer}.")
8938 (license license:bsd-3)))
8939
dddbc90c
RV
8940(define-public ghc-sdl-image
8941 (package
8942 (name "ghc-sdl-image")
8943 (version "0.6.2.0")
8944 (source
8945 (origin
8946 (method url-fetch)
8947 (uri (string-append
8948 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
8949 version
8950 ".tar.gz"))
8951 (sha256
8952 (base32
8953 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
8954 (build-system haskell-build-system)
8955 (arguments
8956 `(#:configure-flags
8957 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
8958 (sdl-image-include (string-append sdl-image "/include/SDL")))
8959 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
8960 (inputs
8961 `(("ghc-sdl" ,ghc-sdl)
8962 ("sdl-image" ,sdl-image)))
8963 (home-page "https://hackage.haskell.org/package/SDL-image")
8964 (synopsis "Haskell bindings to libSDL_image")
8965 (description "SDL_image is an image file loading library. It loads images
8966as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
8967PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
8968 (license license:bsd-3)))
8969
8970(define-public ghc-sdl-mixer
8971 (package
8972 (name "ghc-sdl-mixer")
8973 (version "0.6.3.0")
8974 (source
8975 (origin
8976 (method url-fetch)
8977 (uri (string-append
8978 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
8979 version
8980 ".tar.gz"))
8981 (sha256
8982 (base32
8983 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
8984 (build-system haskell-build-system)
8985 (arguments
8986 `(#:configure-flags
8987 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
8988 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
8989 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
8990 (inputs
8991 `(("ghc-sdl" ,ghc-sdl)
8992 ("sdl-mixer" ,sdl-mixer)))
8993 (home-page "https://hackage.haskell.org/package/SDL-mixer")
8994 (synopsis "Haskell bindings to libSDL_mixer")
8995 (description "SDL_mixer is a sample multi-channel audio mixer library. It
8996supports any number of simultaneously playing channels of 16 bit stereo audio,
8997plus a single channel of music, mixed by the popular MikMod MOD, Timidity
8998MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
8999 (license license:bsd-3)))
9000
9001(define-public ghc-securemem
9002 (package
9003 (name "ghc-securemem")
9004 (version "0.1.10")
9005 (source
9006 (origin
9007 (method url-fetch)
9008 (uri (string-append "https://hackage.haskell.org/package/"
9009 "securemem-" version "/"
9010 "securemem-" version ".tar.gz"))
9011 (sha256
9012 (base32
9013 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
9014 (build-system haskell-build-system)
9015 (inputs `(("ghc-byteable" ,ghc-byteable)
9016 ("ghc-memory" ,ghc-memory)))
9017 (home-page "https://github.com/vincenthz/hs-securemem")
9018 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9019Haskell")
9020 (description "SecureMem is similar to ByteString, except that it provides
9021a memory chunk that will be auto-scrubbed after it run out of scope.")
9022 (license license:bsd-3)))
9023
9024(define-public ghc-semigroupoids
9025 (package
9026 (name "ghc-semigroupoids")
9027 (version "5.2.2")
9028 (source
9029 (origin
9030 (method url-fetch)
9031 (uri (string-append
9032 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9033 version
9034 ".tar.gz"))
9035 (sha256
9036 (base32
9037 "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
9038 (build-system haskell-build-system)
9039 (arguments
9040 `(#:cabal-revision
9041 ("4" "0pqfrxzypjq6z8lgdkzq4vhcyqkpk5326hny0r6snpc3gm78r4ij")))
9042 (inputs
9043 `(("ghc-base-orphans" ,ghc-base-orphans)
9044 ("ghc-transformers-compat" ,ghc-transformers-compat)
9045 ("ghc-bifunctors" ,ghc-bifunctors)
9046 ("ghc-comonad" ,ghc-comonad)
9047 ("ghc-contravariant" ,ghc-contravariant)
9048 ("ghc-distributive" ,ghc-distributive)
9049 ("ghc-hashable" ,ghc-hashable)
9050 ("ghc-semigroups" ,ghc-semigroups)
9051 ("ghc-tagged" ,ghc-tagged)
9052 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9053 (native-inputs
9054 `(("cabal-doctest" ,cabal-doctest)
9055 ("ghc-doctest" ,ghc-doctest)))
9056 (home-page "https://github.com/ekmett/semigroupoids")
9057 (synopsis "Semigroupoids operations for Haskell")
9058 (description "This library provides a wide array of (semi)groupoids and
9059operations for working with them. A @code{Semigroupoid} is a @code{Category}
9060without the requirement of identity arrows for every object in the category.
9061A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9062Finally, to work with these weaker structures it is beneficial to have
9063containers that can provide stronger guarantees about their contents, so
9064versions of @code{Traversable} and @code{Foldable} that can be folded with
9065just a @code{Semigroup} are added.")
9066 (license license:bsd-3)))
9067
9068(define-public ghc-semigroups
9069 (package
9070 (name "ghc-semigroups")
9071 (version "0.18.5")
9072 (source
9073 (origin
9074 (method url-fetch)
9075 (uri (string-append
9076 "https://hackage.haskell.org/package/semigroups/semigroups-"
9077 version
9078 ".tar.gz"))
9079 (sha256
9080 (base32
9081 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9082 (build-system haskell-build-system)
9083 (inputs
9084 `(("ghc-nats" ,ghc-nats)
9085 ("ghc-tagged" ,ghc-tagged)
9086 ("ghc-unordered-containers" ,ghc-unordered-containers)
9087 ("ghc-hashable" ,ghc-hashable)))
9088 (home-page "https://github.com/ekmett/semigroups/")
9089 (synopsis "Semigroup operations for Haskell")
9090 (description "This package provides semigroups for Haskell. In
9091mathematics, a semigroup is an algebraic structure consisting of a set
9092together with an associative binary operation. A semigroup generalizes a
9093monoid in that there might not exist an identity element. It
9094also (originally) generalized a group (a monoid with all inverses) to a type
9095where every element did not have to have an inverse, thus the name
9096semigroup.")
9097 (license license:bsd-3)))
9098
9099(define-public ghc-semigroups-bootstrap
9100 (package
9101 (inherit ghc-semigroups)
9102 (name "ghc-semigroups-bootstrap")
9103 (inputs
9104 `(("ghc-nats" ,ghc-nats-bootstrap)
9105 ("ghc-tagged" ,ghc-tagged)
9106 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9107 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9108 (properties '((hidden? #t)))))
dddbc90c
RV
9109
9110(define-public ghc-setenv
9111 (package
9112 (name "ghc-setenv")
9113 (version "0.1.1.3")
9114 (source
9115 (origin
9116 (method url-fetch)
9117 (uri (string-append
9118 "https://hackage.haskell.org/package/setenv/setenv-"
9119 version
9120 ".tar.gz"))
9121 (sha256
9122 (base32
9123 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9124 (build-system haskell-build-system)
9125 (home-page "https://hackage.haskell.org/package/setenv")
9126 (synopsis "Library for setting environment variables")
9127 (description "This package provides a Haskell library for setting
9128environment variables.")
9129 (license license:expat)))
9130
9131(define-public ghc-setlocale
9132 (package
9133 (name "ghc-setlocale")
9d7cfc9b 9134 (version "1.0.0.9")
dddbc90c
RV
9135 (source (origin
9136 (method url-fetch)
9137 (uri (string-append
9138 "https://hackage.haskell.org/package/setlocale-"
9139 version "/setlocale-" version ".tar.gz"))
9140 (sha256
9141 (base32
9d7cfc9b 9142 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
9143 (build-system haskell-build-system)
9144 (home-page "https://hackage.haskell.org/package/setlocale")
9145 (synopsis "Haskell bindings to setlocale")
9146 (description "This package provides Haskell bindings to the
9147@code{setlocale} C function.")
9148 (license license:bsd-3)))
9149
9150(define-public ghc-shakespeare
9151 (package
9152 (name "ghc-shakespeare")
9153 (version "2.0.15")
9154 (source
9155 (origin
9156 (method url-fetch)
9157 (uri (string-append "https://hackage.haskell.org/package/"
9158 "shakespeare-" version "/"
9159 "shakespeare-" version ".tar.gz"))
9160 (sha256
9161 (base32
9162 "1vk4b19zvwy4mpwaq9z3l3kfmz75gfyf7alhh0y112gspgpccm23"))))
9163 (build-system haskell-build-system)
9164 (inputs `(("ghc-aeson" ,ghc-aeson)
9165 ("ghc-blaze-markup" ,ghc-blaze-markup)
9166 ("ghc-blaze-html" ,ghc-blaze-html)
9167 ("ghc-exceptions" ,ghc-exceptions)
9168 ("ghc-vector" ,ghc-vector)
9169 ("ghc-unordered-containers" ,ghc-unordered-containers)
9170 ("ghc-scientific" ,ghc-scientific)))
9171 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9172 ("ghc-hunit" ,ghc-hunit)
9173 ("hspec-discover" ,hspec-discover)))
9174 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9175 (synopsis "Family of type-safe template languages for Haskell")
9176 (description "This Haskell package provides a family of type-safe
9177templates with simple variable interpolation. Shakespeare templates can
9178be used inline with a quasi-quoter or in an external file and it
9179interpolates variables according to the type being inserted.")
9180 (license license:expat)))
9181
9182(define-public ghc-shelly
9183 (package
9184 (name "ghc-shelly")
9185 (version "1.8.1")
9186 (source
9187 (origin
9188 (method url-fetch)
9189 (uri (string-append
9190 "https://hackage.haskell.org/package/shelly/shelly-"
9191 version ".tar.gz"))
9192 (sha256
9193 (base32
9194 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9195 (build-system haskell-build-system)
9196 (inputs
9197 `(("ghc-unix-compat" ,ghc-unix-compat)
9198 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9199 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9200 ("ghc-monad-control" ,ghc-monad-control)
9201 ("ghc-lifted-base" ,ghc-lifted-base)
9202 ("ghc-lifted-async" ,ghc-lifted-async)
9203 ("ghc-exceptions" ,ghc-exceptions)
9204 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9205 ("ghc-async" ,ghc-async)
9206 ("ghc-transformers-base" ,ghc-transformers-base)
9207 ("ghc-hunit" ,ghc-hunit)
9208 ("ghc-hspec" ,ghc-hspec)
9209 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9210 (home-page "https://github.com/yesodweb/Shelly.hs")
9211 (synopsis "Shell-like (systems) programming in Haskell")
9212 (description
9213 "Shelly provides convenient systems programming in Haskell, similar in
9214spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9215 (license license:bsd-3)))
9216
9217(define-public ghc-silently
9218 (package
9219 (name "ghc-silently")
544bb369 9220 (version "1.2.5.1")
dddbc90c
RV
9221 (source
9222 (origin
9223 (method url-fetch)
9224 (uri (string-append
9225 "https://hackage.haskell.org/package/silently/silently-"
9226 version
9227 ".tar.gz"))
9228 (sha256
9229 (base32
544bb369 9230 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
9231 (build-system haskell-build-system)
9232 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9233 ;; (inputs
9234 ;; `(("ghc-temporary" ,ghc-temporary)))
9235 (home-page "https://github.com/hspec/silently")
9236 (synopsis "Prevent writing to stdout")
9237 (description "This package provides functions to prevent or capture
9238writing to stdout and other handles.")
9239 (license license:bsd-3)))
9240
9241(define-public ghc-simple-reflect
9242 (package
9243 (name "ghc-simple-reflect")
9244 (version "0.3.3")
9245 (source
9246 (origin
9247 (method url-fetch)
9248 (uri (string-append
9249 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9250 version
9251 ".tar.gz"))
9252 (sha256
9253 (base32
9254 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9255 (build-system haskell-build-system)
9256 (home-page
9257 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9258 (synopsis
9259 "Simple reflection of expressions containing variables")
9260 (description
9261 "This package allows simple reflection of expressions containing
9262variables. Reflection here means that a Haskell expression is turned into a
9263string. The primary aim of this package is teaching and understanding; there
9264are no options for manipulating the reflected expressions beyond showing
9265them.")
9266 (license license:bsd-3)))
9267
9268(define-public ghc-simple-sendfile
9269 (package
9270 (name "ghc-simple-sendfile")
9271 (version "0.2.27")
9272 (source
9273 (origin
9274 (method url-fetch)
9275 (uri (string-append "https://hackage.haskell.org/package/"
9276 "simple-sendfile-" version "/"
9277 "simple-sendfile-" version ".tar.gz"))
9278 (sha256
9279 (base32
9280 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
9281 (build-system haskell-build-system)
9282 (inputs
9283 `(("ghc-conduit" ,ghc-conduit)
9284 ("ghc-conduit-extra" ,ghc-conduit-extra)
9285 ("ghc-network" ,ghc-network)
9286 ("ghc-resourcet" ,ghc-resourcet)))
9287 (native-inputs
9288 `(("ghc-hspec" ,ghc-hspec)
9289 ("hspec-discover" ,hspec-discover)))
9290 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9291 (synopsis "Cross platform library for the sendfile system call")
9292 (description "This library tries to call minimum system calls which
9293are the bottleneck of web servers.")
9294 (license license:bsd-3)))
9295
9296(define-public ghc-skylighting-core
9297 (package
9298 (name "ghc-skylighting-core")
9299 (version "0.7.2")
9300 (source (origin
9301 (method url-fetch)
9302 (uri (string-append "https://hackage.haskell.org/package/"
9303 "skylighting-core/skylighting-core-"
9304 version ".tar.gz"))
9305 (sha256
9306 (base32
9307 "066fwmwsd7xcvwlinfk2izlzq0xp8697i6lnbgsbl71jdybyackq"))))
9308 (build-system haskell-build-system)
9309 (inputs
9310 `(("ghc-aeson" ,ghc-aeson)
9311 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9312 ("ghc-attoparsec" ,ghc-attoparsec)
9313 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9314 ("ghc-blaze-html" ,ghc-blaze-html)
9315 ("ghc-case-insensitive" ,ghc-case-insensitive)
9316 ("ghc-colour" ,ghc-colour)
9317 ("ghc-hxt" ,ghc-hxt)
9318 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9319 ("ghc-safe" ,ghc-safe)
9320 ("ghc-utf8-string" ,ghc-utf8-string)))
9321 (native-inputs
9322 `(("ghc-diff" ,ghc-diff)
9323 ("ghc-hunit" ,ghc-hunit)
9324 ("ghc-pretty-show" ,ghc-pretty-show)
9325 ("ghc-quickcheck" ,ghc-quickcheck)
9326 ("ghc-tasty" ,ghc-tasty)
9327 ("ghc-tasty-golden" ,ghc-tasty-golden)
9328 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9329 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9330 (home-page "https://github.com/jgm/skylighting")
9331 (synopsis "Syntax highlighting library")
9332 (description "Skylighting is a syntax highlighting library with support
9333for over one hundred languages. It derives its tokenizers from XML syntax
9334definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9335supported by that framework can be added. An optional command-line program is
9336provided. Skylighting is intended to be the successor to highlighting-kate.")
9337 (license license:gpl2)))
9338
9339(define-public ghc-skylighting
9340 (package
9341 (inherit ghc-skylighting-core)
9342 (name "ghc-skylighting")
9343 (version "0.7.2")
9344 (source (origin
9345 (method url-fetch)
9346 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9347 version "/skylighting-" version ".tar.gz"))
9348 (sha256
9349 (base32
9350 "1rh3z1a7a4clvksdw1qlpmhxqkfahwypi70k91whgfamzsqpxdch"))))
9351 (inputs
9352 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9353 ,@(package-inputs ghc-skylighting-core)))))
9354
9355(define-public ghc-smallcheck
9356 (package
9357 (name "ghc-smallcheck")
9358 (version "1.1.5")
9359 (source
9360 (origin
9361 (method url-fetch)
9362 (uri (string-append
9363 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9364 version
9365 ".tar.gz"))
9366 (sha256
9367 (base32
9368 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9369 (build-system haskell-build-system)
9370 (inputs
9371 `(("ghc-logict" ,ghc-logict)))
9372 (home-page
9373 "https://github.com/feuerbach/smallcheck")
9374 (synopsis "Property-based testing library")
9375 (description "SmallCheck is a testing library that allows to verify
9376properties for all test cases up to some depth. The test cases are generated
9377automatically by SmallCheck.")
9378 (license license:bsd-3)))
9379
9380(define-public ghc-socks
9381 (package
9382 (name "ghc-socks")
ab761e9d 9383 (version "0.6.1")
dddbc90c
RV
9384 (source (origin
9385 (method url-fetch)
9386 (uri (string-append "https://hackage.haskell.org/package/"
9387 "socks/socks-" version ".tar.gz"))
9388 (sha256
9389 (base32
ab761e9d 9390 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
9391 (build-system haskell-build-system)
9392 (inputs
9393 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 9394 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
9395 ("ghc-network" ,ghc-network)))
9396 (home-page "https://github.com/vincenthz/hs-socks")
9397 (synopsis "SOCKS proxy (version 5) implementation")
9398 (description
9399 "This library provides a SOCKS proxy (version 5) implementation.")
9400 (license license:bsd-3)))
9401
081d85d6
TS
9402(define-public ghc-sop-core
9403 (package
9404 (name "ghc-sop-core")
9405 (version "0.4.0.0")
9406 (source
9407 (origin
9408 (method url-fetch)
9409 (uri (string-append "https://hackage.haskell.org/package/"
9410 "sop-core/sop-core-" version ".tar.gz"))
9411 (sha256
9412 (base32
9413 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
9414 (build-system haskell-build-system)
9415 (home-page "http://hackage.haskell.org/package/sop-core")
9416 (synopsis "True Sums of Products")
9417 (description "This package provides an implementation of
9418@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
9419is the main module of this library and contains more detailed
9420documentation. The main use case of this package is to serve as the
9421core of @url{https://hackage.haskell.org/package/generics-sop,
9422generics-sop}.")
9423 (license license:bsd-3)))
9424
dddbc90c
RV
9425(define-public ghc-split
9426 (package
9427 (name "ghc-split")
9428 (version "0.2.3.3")
9429 (outputs '("out" "doc"))
9430 (source
9431 (origin
9432 (method url-fetch)
9433 (uri (string-append
9434 "https://hackage.haskell.org/package/split/split-"
9435 version
9436 ".tar.gz"))
9437 (sha256
9438 (base32
9439 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9440 (build-system haskell-build-system)
9bbc21a7
TS
9441 (arguments
9442 `(#:cabal-revision
9443 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
9444 (native-inputs
9445 `(("ghc-quickcheck" ,ghc-quickcheck)))
9446 (home-page "https://hackage.haskell.org/package/split")
9447 (synopsis "Combinator library for splitting lists")
9448 (description "This package provides a collection of Haskell functions for
9449splitting lists into parts, akin to the @code{split} function found in several
9450mainstream languages.")
9451 (license license:bsd-3)))
9452
7799d17f 9453(define-public ghc-splitmix
49367c92 9454 (package
7799d17f 9455 (name "ghc-splitmix")
49367c92
TS
9456 (version "0.0.3")
9457 (source
9458 (origin
9459 (method url-fetch)
9460 (uri (string-append "https://hackage.haskell.org/package/"
9461 "splitmix/splitmix-" version ".tar.gz"))
9462 (sha256
9463 (base32
9464 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 9465 (build-system haskell-build-system)
49367c92
TS
9466 (inputs
9467 `(("ghc-random" ,ghc-random)))
7799d17f
TS
9468 (native-inputs
9469 `(("ghc-hunit" ,ghc-hunit)
9470 ("ghc-async" ,ghc-async)
9471 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
9472 ("ghc-tf-random" ,ghc-tf-random)
9473 ("ghc-vector" ,ghc-vector)))
49367c92
TS
9474 (home-page "http://hackage.haskell.org/package/splitmix")
9475 (synopsis "Fast and splittable pseudorandom number generator")
9476 (description "This package provides a Pure Haskell implementation of the
9477SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
9478pseudorandom number generator that is quite fast: 9 64-bit
9479arithmetic/logical operations per 64 bits generated. SplitMix is tested
9480with two standard statistical test suites (DieHarder and TestU01, this
9481implementation only using the former) and it appears to be adequate for
9482\"everyday\" use, such as Monte Carlo algorithms and randomized data
9483structures where speed is important. In particular, it @strong{should not
9484be used for cryptographic or security applications}, because generated
9485sequences of pseudorandom values are too predictable (the mixing functions
9486are easily inverted, and two successive outputs suffice to reconstruct the
9487internal state).")
9488 (license license:bsd-3)))
9489
7799d17f
TS
9490(define-public ghc-splitmix-bootstrap
9491 (package
9492 (inherit ghc-splitmix)
9493 (name "ghc-splitmix-bootstrap")
9494 (arguments `(#:tests? #f))
9495 (native-inputs '())
9496 (properties '((hidden? #t)))))
9497
dddbc90c
RV
9498(define-public ghc-statevar
9499 (package
9500 (name "ghc-statevar")
19419709 9501 (version "1.2")
dddbc90c
RV
9502 (source
9503 (origin
9504 (method url-fetch)
9505 (uri (string-append
9506 "https://hackage.haskell.org/package/StateVar/StateVar-"
9507 version
9508 ".tar.gz"))
9509 (sha256
9510 (base32
19419709 9511 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
9512 (build-system haskell-build-system)
9513 (home-page "https://hackage.haskell.org/package/StateVar")
9514 (synopsis "State variables for Haskell")
9515 (description "This package provides state variables, which are references
9516in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9517 (license license:bsd-3)))
9518
9519(define-public ghc-statistics
9520 (package
9521 (name "ghc-statistics")
9522 (version "0.14.0.2")
9523 (source
9524 (origin
9525 (method url-fetch)
9526 (uri (string-append "https://hackage.haskell.org/package/"
9527 "statistics-" version "/"
9528 "statistics-" version ".tar.gz"))
9529 (sha256
9530 (base32
9531 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
9532 (build-system haskell-build-system)
9533 (arguments
9534 '(#:cabal-revision
9535 ("2" "1bx70yqkn62ii17fjv3pig4hklrzkqd09zj67zzjiyjzmn04fir3")
9536 ;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
9537 #:tests? #f))
9538 (inputs
9539 `(("ghc-aeson" ,ghc-aeson)
9540 ("ghc-base-orphans" ,ghc-base-orphans)
9541 ("ghc-erf" ,ghc-erf)
9542 ("ghc-math-functions" ,ghc-math-functions)
9543 ("ghc-monad-par" ,ghc-monad-par)
9544 ("ghc-mwc-random" ,ghc-mwc-random)
9545 ("ghc-primitive" ,ghc-primitive)
9546 ("ghc-vector" ,ghc-vector)
9547 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9548 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9549 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9550 (native-inputs
9551 `(("ghc-hunit" ,ghc-hunit)
9552 ("ghc-quickcheck" ,ghc-quickcheck)
9553 ("ghc-ieee754" ,ghc-ieee754)
9554 ("ghc-test-framework" ,ghc-test-framework)
9555 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9556 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9557 (home-page "https://github.com/bos/mwc-random")
9558 (synopsis "Haskell library of statistical types, data, and functions")
9559 (description "This library provides a number of common functions
9560and types useful in statistics. We focus on high performance, numerical
9561robustness, and use of good algorithms. Where possible, we provide references
9562to the statistical literature.
9563
9564The library's facilities can be divided into four broad categories:
9565
9566@itemize
9567@item Working with widely used discrete and continuous probability
9568distributions. (There are dozens of exotic distributions in use; we focus
9569on the most common.)
9570
9571@item Computing with sample data: quantile estimation, kernel density
9572estimation, histograms, bootstrap methods, significance testing,
9573and regression and autocorrelation analysis.
9574
9575@item Random variate generation under several different distributions.
9576
9577@item Common statistical tests for significant differences between samples.
9578@end itemize")
9579 (license license:bsd-2)))
9580
9581(define-public ghc-stm-chans
9582 (package
9583 (name "ghc-stm-chans")
9584 (version "3.0.0.4")
9585 (source
9586 (origin
9587 (method url-fetch)
9588 (uri (string-append "https://hackage.haskell.org/package/"
9589 "stm-chans-" version "/"
9590 "stm-chans-" version ".tar.gz"))
9591 (sha256
9592 (base32
9593 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9594 (build-system haskell-build-system)
9595 (home-page "https://hackage.haskell.org/package/stm-chans")
9596 (synopsis "Additional types of channels for ghc-stm")
9597 (description "This Haskell package offers a collection of channel types,
9598similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9599features.")
9600 (license license:bsd-3)))
9601
9602(define-public ghc-stm-conduit
9603 (package
9604 (name "ghc-stm-conduit")
9605 (version "4.0.0")
9606 (source
9607 (origin
9608 (method url-fetch)
9609 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9610 "stm-conduit-" version ".tar.gz"))
9611 (sha256
9612 (base32
9613 "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
9614 (build-system haskell-build-system)
9615 (inputs
9616 `(("ghc-stm-chans" ,ghc-stm-chans)
9617 ("ghc-cereal" ,ghc-cereal)
9618 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9619 ("ghc-conduit" ,ghc-conduit)
9620 ("ghc-conduit-extra" ,ghc-conduit-extra)
9621 ("ghc-exceptions" ,ghc-exceptions)
9622 ("ghc-resourcet" ,ghc-resourcet)
9623 ("ghc-async" ,ghc-async)
9624 ("ghc-monad-loops" ,ghc-monad-loops)
9625 ("ghc-unliftio" ,ghc-unliftio)))
9626 (native-inputs
9627 `(("ghc-doctest" ,ghc-doctest)
9628 ("ghc-quickcheck" ,ghc-quickcheck)
9629 ("ghc-hunit" ,ghc-hunit)
9630 ("ghc-test-framework" ,ghc-test-framework)
9631 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9632 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9633 (home-page "https://github.com/cgaebel/stm-conduit")
9634 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9635 (description
9636 "This package provides two simple conduit wrappers around STM channels: a
9637source and a sink.")
9638 (license license:bsd-3)))
9639
9640(define-public ghc-stmonadtrans
9641 (package
9642 (name "ghc-stmonadtrans")
9643 (version "0.4.3")
9644 (source
9645 (origin
9646 (method url-fetch)
9647 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9648 "/STMonadTrans-" version ".tar.gz"))
9649 (sha256
9650 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9651 (build-system haskell-build-system)
9652 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9653 (synopsis "Monad transformer version of the ST monad")
9654 (description
9655 "This package provides a monad transformer version of the @code{ST} monad
9656for strict state threads.")
9657 (license license:bsd-3)))
9658
9659(define-public ghc-storable-complex
9660 (package
9661 (name "ghc-storable-complex")
4a35e3c3 9662 (version "0.2.3.0")
dddbc90c
RV
9663 (source
9664 (origin
9665 (method url-fetch)
9666 (uri (string-append
9667 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9668 version ".tar.gz"))
9669 (sha256
4a35e3c3 9670 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 9671 (build-system haskell-build-system)
4a35e3c3
TS
9672 (inputs
9673 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
9674 (home-page "https://github.com/cartazio/storable-complex")
9675 (synopsis "Haskell Storable instance for Complex")
9676 (description "This package provides a Haskell library including a
9677Storable instance for Complex which is binary compatible with C99, C++
9678and Fortran complex data types.")
9679 (license license:bsd-3)))
9680
ad80074a
JS
9681(define-public ghc-storable-record
9682 (package
9683 (name "ghc-storable-record")
9684 (version "0.0.4")
9685 (source
9686 (origin
9687 (method url-fetch)
9688 (uri
9689 (string-append
9690 "https://hackage.haskell.org/package/storable-record/"
9691 "storable-record-" version ".tar.gz"))
9692 (sha256
9693 (base32
9694 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
9695 (build-system haskell-build-system)
9696 (inputs
9697 `(("ghc-semigroups" ,ghc-semigroups)
9698 ("ghc-utility-ht" ,ghc-utility-ht)
9699 ("ghc-storablevector" ,ghc-storablevector)
9700 ("ghc-timeit" ,ghc-timeit)))
9701 (home-page "https://hackage.haskell.org/package/storable-record")
9702 (synopsis "Elegant definition of Storable instances for records")
9703 (description "With this package you can build a Storable instance of
9704a record type from Storable instances of its elements in an elegant way.
9705It does not do any magic, just a bit arithmetic to compute the right
9706offsets, that would be otherwise done manually or by a preprocessor like
9707C2HS. There is no guarantee that the generated memory layout is
9708compatible with that of a corresponding C struct. However, the module
9709generates the smallest layout that is possible with respect to the
9710alignment of the record elements.")
9711 (license license:bsd-3)))
9712
55f4c653
JS
9713(define-public ghc-storable-tuple
9714 (package
9715 (name "ghc-storable-tuple")
9716 (version "0.0.3.3")
9717 (source
9718 (origin
9719 (method url-fetch)
9720 (uri
9721 (string-append
9722 "https://hackage.haskell.org/package/storable-tuple/"
9723 "storable-tuple-" version ".tar.gz"))
9724 (sha256
9725 (base32
9726 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
9727 (build-system haskell-build-system)
9728 (inputs
9729 `(("ghc-storable-record" ,ghc-storable-record)
9730 ("ghc-utility-ht" ,ghc-utility-ht)
9731 ("ghc-base-orphans" ,ghc-base-orphans)))
9732 (home-page "https://hackage.haskell.org/package/storable-tuple")
9733 (synopsis "Storable instance for pairs and triples")
9734 (description "This package provides a Storable instance for pairs
9735and triples which should be binary compatible with C99 and C++. The
9736only purpose of this package is to provide a standard location for this
9737instance so that other packages needing this instance can play nicely
9738together.")
9739 (license license:bsd-3)))
9740
bc06ca45
JS
9741(define-public ghc-storablevector
9742 (package
9743 (name "ghc-storablevector")
9744 (version "0.2.13")
9745 (source
9746 (origin
9747 (method url-fetch)
9748 (uri
9749 (string-append
9750 "https://hackage.haskell.org/package/storablevector/storablevector-"
9751 version ".tar.gz"))
9752 (sha256
9753 (base32
9754 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
9755 (build-system haskell-build-system)
9756 (inputs
9757 `(("ghc-non-negative" ,ghc-non-negative)
9758 ("ghc-utility-ht" ,ghc-utility-ht)
9759 ("ghc-semigroups" ,ghc-semigroups)
9760 ("ghc-unsafe" ,ghc-unsafe)
9761 ("ghc-quickcheck" ,ghc-quickcheck)
9762 ("ghc-syb" ,ghc-syb)))
9763 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
9764 (synopsis "Fast, packed, strict storable arrays with a list interface")
9765 (description "This library provides fast, packed, strict storable
9766arrays with a list interface, a chunky lazy list interface with variable
9767chunk size and an interface for write access via the ST monad. This is
9768much like bytestring and binary but can be used for every
9769@code{Foreign.Storable.Storable} type. See also
9770@url{http://hackage.haskell.org/package/vector}, a library with a
9771similar intention.
9772
9773This library does not do advanced fusion optimization, since especially
9774for lazy vectors this would either be incorrect or not applicable. See
9775@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
9776a library that provides fusion with lazy lists.")
9777 (license license:bsd-3)))
9778
dddbc90c
RV
9779(define-public ghc-streaming-commons
9780 (package
9781 (name "ghc-streaming-commons")
9782 (version "0.2.1.1")
9783 (source
9784 (origin
9785 (method url-fetch)
9786 (uri (string-append "https://hackage.haskell.org/package/"
9787 "streaming-commons/streaming-commons-"
9788 version ".tar.gz"))
9789 (sha256
9790 (base32
9791 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9792 (build-system haskell-build-system)
9793 (inputs
9794 `(("ghc-async" ,ghc-async)
9795 ("ghc-blaze-builder" ,ghc-blaze-builder)
9796 ("ghc-network" ,ghc-network)
9797 ("ghc-random" ,ghc-random)
9798 ("ghc-zlib" ,ghc-zlib)))
9799 (native-inputs
9800 `(("ghc-quickcheck" ,ghc-quickcheck)
9801 ("ghc-hspec" ,ghc-hspec)
9802 ("hspec-discover" ,hspec-discover)))
9803 (home-page "https://hackage.haskell.org/package/streaming-commons")
9804 (synopsis "Conduit and pipes needed by some streaming data libraries")
9805 (description "This package provides low-dependency functionality commonly
9806needed by various Haskell streaming data libraries, such as @code{conduit} and
9807@code{pipe}s.")
9808 (license license:expat)))
9809
9810(define-public ghc-strict
9811 (package
9812 (name "ghc-strict")
9813 (version "0.3.2")
9814 (source
9815 (origin
9816 (method url-fetch)
9817 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
9818 version ".tar.gz"))
9819 (sha256
9820 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
9821 (build-system haskell-build-system)
9822 (home-page "https://hackage.haskell.org/package/strict")
9823 (synopsis "Strict data types and String IO")
9824 (description
9825 "This package provides strict versions of some standard Haskell data
9826types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
9827IO operations.")
9828 (license license:bsd-3)))
9829
9830(define-public ghc-stringbuilder
9831 (package
9832 (name "ghc-stringbuilder")
9833 (version "0.5.1")
9834 (source
9835 (origin
9836 (method url-fetch)
9837 (uri (string-append
9838 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
9839 version
9840 ".tar.gz"))
9841 (sha256
9842 (base32
9843 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
9844 (build-system haskell-build-system)
9845 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
9846 ; enabled
9847 (home-page "https://hackage.haskell.org/package/stringbuilder")
9848 (synopsis "Writer monad for multi-line string literals")
9849 (description "This package provides a writer monad for multi-line string
9850literals.")
9851 (license license:expat)))
9852
9853(define-public ghc-string-qq
9854 (package
9855 (name "ghc-string-qq")
4d6fddc3 9856 (version "0.0.4")
dddbc90c
RV
9857 (source
9858 (origin
9859 (method url-fetch)
9860 (uri (string-append
9861 "https://hackage.haskell.org/package/string-qq/string-qq-"
9862 version
9863 ".tar.gz"))
9864 (sha256
9865 (base32
4d6fddc3 9866 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 9867 (build-system haskell-build-system)
4d6fddc3
TS
9868 (native-inputs
9869 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
9870 (home-page "http://hackage.haskell.org/package/string-qq")
9871 (synopsis
9872 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
9873 (description
9874 "This package provides a quasiquoter for non-interpolated strings, texts
9875and bytestrings.")
9876 (license license:public-domain)))
9877
9878(define-public ghc-stringsearch
9879 (package
9880 (name "ghc-stringsearch")
9881 (version "0.3.6.6")
9882 (source
9883 (origin
9884 (method url-fetch)
9885 (uri (string-append
9886 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
9887 version
9888 ".tar.gz"))
9889 (sha256
9890 (base32
9891 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
9892 (build-system haskell-build-system)
9893 (home-page "https://bitbucket.org/dafis/stringsearch")
9894 (synopsis "Fast searching, splitting and replacing of ByteStrings")
9895 (description "This package provides several functions to quickly search
9896for substrings in strict or lazy @code{ByteStrings}. It also provides
9897functions for breaking or splitting on substrings and replacing all
9898occurrences of a substring (the first in case of overlaps) with another.")
9899 (license license:bsd-3)))
9900
9901(define-public ghc-stylish-haskell
9902 (package
9903 (name "ghc-stylish-haskell")
9904 (version "0.9.2.1")
9905 (source
9906 (origin
9907 (method url-fetch)
9908 (uri (string-append
9909 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
9910 version
9911 ".tar.gz"))
9912 (sha256
9913 (base32
9914 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
9915 (build-system haskell-build-system)
9916 (inputs
9917 `(("ghc-aeson" ,ghc-aeson)
9918 ("ghc-file-embed" ,ghc-file-embed)
9919 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
9920 ("ghc-semigroups" ,ghc-semigroups)
9921 ("ghc-syb" ,ghc-syb)
9922 ("ghc-yaml" ,ghc-yaml)
9923 ("ghc-strict" ,ghc-strict)
9924 ("ghc-optparse-applicative"
9925 ,ghc-optparse-applicative)))
9926 (native-inputs
9927 `(("ghc-hunit" ,ghc-hunit)
9928 ("ghc-test-framework" ,ghc-test-framework)
9929 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
9930 (home-page "https://github.com/jaspervdj/stylish-haskell")
9931 (synopsis "Haskell code prettifier")
9932 (description "Stylish-haskell is a Haskell code prettifier. The goal is
9933not to format all of the code in a file, to avoid \"getting in the way\".
9934However, this tool can e.g. clean up import statements and help doing various
9935tasks that get tedious very quickly. It can
9936@itemize
9937@item
9938Align and sort @code{import} statements
9939@item
9940Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
9941pragmas
9942@item
9943Remove trailing whitespaces
9944@item
9945Align branches in @code{case} and fields in records
9946@item
9947Convert line endings (customisable)
9948@item
9949Replace tabs by four spaces (turned off by default)
9950@item
9951Replace some ASCII sequences by their Unicode equivalent (turned off by
9952default)
9953@end itemize")
9954 (license license:bsd-3)))
9955
9956(define-public ghc-syb
9957 (package
9958 (name "ghc-syb")
07d65eef 9959 (version "0.7.1")
dddbc90c
RV
9960 (outputs '("out" "doc"))
9961 (source
9962 (origin
9963 (method url-fetch)
9964 (uri (string-append
9965 "https://hackage.haskell.org/package/syb/syb-"
9966 version
9967 ".tar.gz"))
9968 (sha256
9969 (base32
07d65eef 9970 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
9971 (build-system haskell-build-system)
9972 (inputs
9973 `(("ghc-hunit" ,ghc-hunit)))
9974 (home-page
9975 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
9976 (synopsis "Scrap Your Boilerplate")
9977 (description "This package contains the generics system described in the
9978/Scrap Your Boilerplate/ papers (see
9979@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
9980defines the @code{Data} class of types permitting folding and unfolding of
9981constructor applications, instances of this class for primitive types, and a
9982variety of traversals.")
9983 (license license:bsd-3)))
9984
9985(define-public ghc-system-fileio
9986 (package
9987 (name "ghc-system-fileio")
dcfb99d4 9988 (version "0.3.16.4")
dddbc90c
RV
9989 (source
9990 (origin
9991 (method url-fetch)
9992 (uri (string-append
9993 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
9994 version ".tar.gz"))
9995 (sha256
9996 (base32
dcfb99d4 9997 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 9998 (build-system haskell-build-system)
dcfb99d4
TS
9999 (arguments
10000 `(#:phases
10001 (modify-phases %standard-phases
10002 (add-before 'configure 'update-constraints
10003 (lambda _
10004 (substitute* "system-fileio.cabal"
10005 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
10006 #t)))))
dddbc90c
RV
10007 (inputs
10008 `(("ghc-system-filepath" ,ghc-system-filepath)
10009 ("ghc-chell" ,ghc-chell)
10010 ("ghc-temporary" ,ghc-temporary)))
10011 (home-page "https://github.com/fpco/haskell-filesystem")
10012 (synopsis "Consistent file system interaction across GHC versions")
10013 (description
10014 "This is a small wrapper around the directory, unix, and Win32 packages,
10015for use with system-filepath. It provides a consistent API to the various
10016versions of these packages distributed with different versions of GHC.
10017In particular, this library supports working with POSIX files that have paths
10018which can't be decoded in the current locale encoding.")
10019 (license license:expat)))
10020
10021;; See ghc-system-filepath-bootstrap. In addition this package depends on
10022;; ghc-system-filepath.
10023(define ghc-system-fileio-bootstrap
10024 (package
10025 (name "ghc-system-fileio-bootstrap")
10026 (version "0.3.16.3")
10027 (source
10028 (origin
10029 (method url-fetch)
10030 (uri (string-append
10031 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10032 version ".tar.gz"))
10033 (sha256
10034 (base32
10035 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10036 (build-system haskell-build-system)
10037 (arguments
10038 `(#:tests? #f))
10039 (inputs
10040 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10041 ("ghc-temporary" ,ghc-temporary)))
10042 (home-page "https://github.com/fpco/haskell-filesystem")
10043 (synopsis "Consistent file system interaction across GHC versions")
10044 (description
10045 "This is a small wrapper around the directory, unix, and Win32 packages,
10046for use with system-filepath. It provides a consistent API to the various
10047versions of these packages distributed with different versions of GHC.
10048In particular, this library supports working with POSIX files that have paths
10049which can't be decoded in the current locale encoding.")
10050 (license license:expat)))
10051
10052
10053(define-public ghc-system-filepath
10054 (package
10055 (name "ghc-system-filepath")
10056 (version "0.4.14")
10057 (source
10058 (origin
10059 (method url-fetch)
10060 (uri (string-append
10061 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10062 version ".tar.gz"))
10063 (sha256
10064 (base32
10065 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10066 (build-system haskell-build-system)
10067 ;; FIXME: One of the tests fails:
10068 ;; [ FAIL ] tests.validity.posix
10069 ;; note: seed=7310214548328823169
10070 ;; *** Failed! Falsifiable (after 24 tests):
10071 ;; 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"
10072 (arguments `(#:tests? #f))
10073 (inputs
10074 `(("ghc-chell" ,ghc-chell)
10075 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
10076 ("ghc-quickcheck" ,ghc-quickcheck)))
10077 (home-page "https://github.com/fpco/haskell-filesystem")
10078 (synopsis "High-level, byte-based file and directory path manipulations")
10079 (description
10080 "Provides a FilePath datatype and utility functions for operating on it.
10081Unlike the filepath package, this package does not simply reuse String,
10082increasing type safety.")
10083 (license license:expat)))
10084
10085;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
10086;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
10087;; which depends on ghc-chell and ghc-chell-quickcheck.
10088;; Therefore we bootstrap it with tests disabled.
10089(define ghc-system-filepath-bootstrap
10090 (package
10091 (name "ghc-system-filepath-bootstrap")
10092 (version "0.4.14")
10093 (source
10094 (origin
10095 (method url-fetch)
10096 (uri (string-append
10097 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10098 version ".tar.gz"))
10099 (sha256
10100 (base32
10101 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10102 (build-system haskell-build-system)
10103 (arguments
10104 `(#:tests? #f))
10105 (inputs
10106 `(("ghc-quickcheck" ,ghc-quickcheck)))
10107 (home-page "https://github.com/fpco/haskell-filesystem")
10108 (synopsis "High-level, byte-based file and directory path manipulations")
10109 (description
10110 "Provides a FilePath datatype and utility functions for operating on it.
10111Unlike the filepath package, this package does not simply reuse String,
10112increasing type safety.")
10113 (license license:expat)))
10114
10115
10116(define-public ghc-tagged
10117 (package
10118 (name "ghc-tagged")
f0f3756a 10119 (version "0.8.6")
dddbc90c
RV
10120 (source
10121 (origin
10122 (method url-fetch)
10123 (uri (string-append
10124 "https://hackage.haskell.org/package/tagged/tagged-"
10125 version
10126 ".tar.gz"))
10127 (sha256
10128 (base32
f0f3756a 10129 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
10130 (build-system haskell-build-system)
10131 (arguments
10132 `(#:cabal-revision
f0f3756a 10133 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
10134 (inputs
10135 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10136 (home-page "https://hackage.haskell.org/package/tagged")
10137 (synopsis "Haskell phantom types to avoid passing dummy arguments")
10138 (description "This library provides phantom types for Haskell 98, to avoid
10139having to unsafely pass dummy arguments.")
10140 (license license:bsd-3)))
10141
10142(define-public ghc-tar
10143 (package
10144 (name "ghc-tar")
ec83929f 10145 (version "0.5.1.1")
dddbc90c
RV
10146 (source
10147 (origin
10148 (method url-fetch)
10149 (uri (string-append
10150 "https://hackage.haskell.org/package/tar/tar-"
10151 version ".tar.gz"))
10152 (sha256
10153 (base32
ec83929f 10154 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
10155 (build-system haskell-build-system)
10156 ;; FIXME: 2/24 tests fail.
10157 (arguments `(#:tests? #f))
10158 (inputs
10159 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10160 ("ghc-quickcheck" ,ghc-quickcheck)
10161 ("ghc-tasty" ,ghc-tasty)
10162 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10163 (home-page "https://hackage.haskell.org/package/tar")
10164 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10165 (description
10166 "This library is for working with \\\"@.tar@\\\" archive files.
10167It can read and write a range of common variations of the tar archive format
10168including V7, POSIX USTAR and GNU formats. It provides support for packing and
10169unpacking portable archives. This makes it suitable for distribution but not
10170backup because details like file ownership and exact permissions are not
10171preserved. It also provides features for random access to archive content using
10172an index.")
10173 (license license:bsd-3)))
10174
10175(define-public ghc-temporary
10176 (package
10177 (name "ghc-temporary")
10178 (version "1.3")
10179 (source
10180 (origin
10181 (method url-fetch)
10182 (uri (string-append
10183 "https://hackage.haskell.org/package/temporary/temporary-"
10184 version
10185 ".tar.gz"))
10186 (sha256
10187 (base32
10188 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10189 (build-system haskell-build-system)
10190 (inputs
10191 `(("ghc-exceptions" ,ghc-exceptions)
10192 ("ghc-random" ,ghc-random)))
10193 (native-inputs
10194 `(("ghc-base-compat" ,ghc-base-compat)
10195 ("ghc-tasty" ,ghc-tasty)
10196 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10197 (home-page "https://www.github.com/batterseapower/temporary")
10198 (synopsis "Temporary file and directory support")
10199 (description "The functions for creating temporary files and directories
10200in the Haskelll base library are quite limited. This library just repackages
10201the Cabal implementations of its own temporary file and folder functions so
10202that you can use them without linking against Cabal or depending on it being
10203installed.")
10204 (license license:bsd-3)))
10205
10206(define-public ghc-temporary-rc
10207 (package
10208 (name "ghc-temporary-rc")
10209 (version "1.2.0.3")
10210 (source
10211 (origin
10212 (method url-fetch)
10213 (uri (string-append
10214 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10215 version
10216 ".tar.gz"))
10217 (sha256
10218 (base32
10219 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10220 (build-system haskell-build-system)
10221 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10222 (home-page
10223 "https://www.github.com/feuerbach/temporary")
10224 (synopsis
10225 "Portable temporary file and directory support")
10226 (description
10227 "The functions for creating temporary files and directories in the base
10228library are quite limited. The unixutils package contains some good ones, but
10229they aren't portable to Windows. This library just repackages the Cabal
10230implementations of its own temporary file and folder functions so that you can
10231use them without linking against Cabal or depending on it being installed.
10232This is a better maintained fork of the \"temporary\" package.")
10233 (license license:bsd-3)))
10234
10235(define-public ghc-terminal-size
10236 (package
10237 (name "ghc-terminal-size")
10238 (version "0.3.2.1")
10239 (source (origin
10240 (method url-fetch)
10241 (uri (string-append
10242 "https://hackage.haskell.org/package/terminal-size/"
10243 "terminal-size-" version ".tar.gz"))
10244 (sha256
10245 (base32
10246 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10247 (build-system haskell-build-system)
10248 (home-page "https://hackage.haskell.org/package/terminal-size")
10249 (synopsis "Get terminal window height and width")
10250 (description "Get terminal window height and width without ncurses
10251dependency.")
10252 (license license:bsd-3)))
10253
10254(define-public ghc-texmath
10255 (package
10256 (name "ghc-texmath")
10257 (version "0.11.0.1")
10258 (source (origin
10259 (method url-fetch)
10260 (uri (string-append "https://hackage.haskell.org/package/"
10261 "texmath/texmath-" version ".tar.gz"))
10262 (sha256
10263 (base32
10264 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
10265 (build-system haskell-build-system)
10266 (inputs
10267 `(("ghc-syb" ,ghc-syb)
10268 ("ghc-network-uri" ,ghc-network-uri)
10269 ("ghc-split" ,ghc-split)
10270 ("ghc-temporary" ,ghc-temporary)
10271 ("ghc-utf8-string" ,ghc-utf8-string)
10272 ("ghc-xml" ,ghc-xml)
10273 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10274 (home-page "https://github.com/jgm/texmath")
10275 (synopsis "Conversion between formats used to represent mathematics")
10276 (description
10277 "The texmath library provides functions to read and write TeX math,
10278presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10279Office). Support is also included for converting math formats to pandoc's
10280native format (allowing conversion, via pandoc, to a variety of different
10281markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10282it can parse and apply LaTeX macros.")
10283 (license license:gpl2+)))
10284
10285(define-public ghc-text-binary
10286 (package
10287 (name "ghc-text-binary")
10288 (version "0.2.1.1")
10289 (source
10290 (origin
10291 (method url-fetch)
10292 (uri (string-append "https://hackage.haskell.org/package/"
10293 "text-binary/text-binary-"
10294 version ".tar.gz"))
10295 (sha256
10296 (base32
10297 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10298 (build-system haskell-build-system)
10299 (home-page "https://github.com/kawu/text-binary")
10300 (synopsis "Binary instances for text types")
10301 (description
10302 "This package provides a compatibility layer providing @code{Binary}
10303instances for strict and lazy text types for versions older than 1.2.1 of the
10304text package.")
10305 (license license:bsd-2)))
10306
10307(define-public ghc-tf-random
10308 (package
10309 (name "ghc-tf-random")
10310 (version "0.5")
10311 (outputs '("out" "doc"))
10312 (source
10313 (origin
10314 (method url-fetch)
10315 (uri (string-append
10316 "https://hackage.haskell.org/package/tf-random/tf-random-"
10317 version
10318 ".tar.gz"))
10319 (sha256
10320 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10321 (build-system haskell-build-system)
10322 (inputs
10323 `(("ghc-primitive" ,ghc-primitive)
10324 ("ghc-random" ,ghc-random)))
10325 (home-page "https://hackage.haskell.org/package/tf-random")
10326 (synopsis "High-quality splittable pseudorandom number generator")
10327 (description "This package contains an implementation of a high-quality
10328splittable pseudorandom number generator. The generator is based on a
10329cryptographic hash function built on top of the ThreeFish block cipher. See
10330the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10331Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10332 (license license:bsd-3)))
10333
10334(define-public ghc-th-abstraction
10335 (package
10336 (name "ghc-th-abstraction")
1188eabb 10337 (version "0.3.1.0")
dddbc90c
RV
10338 (source
10339 (origin
10340 (method url-fetch)
10341 (uri (string-append "https://hackage.haskell.org/package/"
10342 "th-abstraction/th-abstraction-"
10343 version ".tar.gz"))
10344 (sha256
10345 (base32
1188eabb 10346 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
10347 (build-system haskell-build-system)
10348 (home-page "https://github.com/glguy/th-abstraction")
10349 (synopsis "Nicer interface for reified information about data types")
10350 (description
10351 "This package normalizes variations in the interface for inspecting
10352datatype information via Template Haskell so that packages and support a
10353single, easier to use informational datatype while supporting many versions of
10354Template Haskell.")
10355 (license license:isc)))
10356
10357(define-public ghc-th-expand-syns
10358 (package
10359 (name "ghc-th-expand-syns")
8c766600 10360 (version "0.4.5.0")
dddbc90c
RV
10361 (source (origin
10362 (method url-fetch)
10363 (uri (string-append "https://hackage.haskell.org/package/"
10364 "th-expand-syns/th-expand-syns-"
10365 version ".tar.gz"))
10366 (sha256
10367 (base32
8c766600 10368 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
10369 (build-system haskell-build-system)
10370 (inputs
10371 `(("ghc-syb" ,ghc-syb)))
10372 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10373 (synopsis "Expands type synonyms in Template Haskell ASTs")
10374 (description
10375 "This package enables users to expand type synonyms in Template Haskell
10376@dfn{abstract syntax trees} (ASTs).")
10377 (license license:bsd-3)))
10378
10379(define-public ghc-th-lift
10380 (package
10381 (name "ghc-th-lift")
bd76b20a 10382 (version "0.8.0.1")
dddbc90c
RV
10383 (source (origin
10384 (method url-fetch)
10385 (uri (string-append "https://hackage.haskell.org/package/"
10386 "th-lift/th-lift-" version ".tar.gz"))
10387 (sha256
10388 (base32
bd76b20a 10389 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
10390 (build-system haskell-build-system)
10391 (inputs
10392 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10393 (home-page "https://github.com/mboes/th-lift")
10394 (synopsis "Derive Template Haskell's Lift class for datatypes")
10395 (description
10396 "This is a Haskell library to derive Template Haskell's Lift class for
10397datatypes.")
10398 (license license:bsd-3)))
10399
10400(define-public ghc-th-lift-instances
10401 (package
10402 (name "ghc-th-lift-instances")
d3db399e 10403 (version "0.1.14")
dddbc90c
RV
10404 (source
10405 (origin
10406 (method url-fetch)
10407 (uri (string-append "https://hackage.haskell.org/package/"
10408 "th-lift-instances/th-lift-instances-"
10409 version ".tar.gz"))
10410 (sha256
10411 (base32
d3db399e 10412 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
10413 (build-system haskell-build-system)
10414 (inputs
10415 `(("ghc-th-lift" ,ghc-th-lift)
10416 ("ghc-vector" ,ghc-vector)
10417 ("ghc-quickcheck" ,ghc-quickcheck)))
10418 (home-page "https://github.com/bennofs/th-lift-instances/")
10419 (synopsis "Lift instances for template-haskell for common data types.")
10420 (description "Most data types in the Haskell platform do not have Lift
10421instances. This package provides orphan instances for @code{containers},
10422@code{text}, @code{bytestring} and @code{vector}.")
10423 (license license:bsd-3)))
10424
10425(define-public ghc-th-orphans
10426 (package
10427 (name "ghc-th-orphans")
882b23e2 10428 (version "0.13.9")
dddbc90c
RV
10429 (source (origin
10430 (method url-fetch)
10431 (uri (string-append "https://hackage.haskell.org/package/"
10432 "th-orphans/th-orphans-" version ".tar.gz"))
10433 (sha256
10434 (base32
882b23e2 10435 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
10436 (build-system haskell-build-system)
10437 (inputs
10438 `(("ghc-th-lift" ,ghc-th-lift)
10439 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10440 ("ghc-th-reify-many" ,ghc-th-reify-many)
10441 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10442 (native-inputs
10443 `(("ghc-hspec" ,ghc-hspec)))
10444 (home-page "https://hackage.haskell.org/package/th-orphans")
10445 (synopsis "Orphan instances for TH datatypes")
10446 (description
10447 "This package provides orphan instances for Template Haskell datatypes. In particular,
10448instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10449and @code{Eq} instances. These instances used to live in the haskell-src-meta
10450package, and that's where the version number started.")
10451 (license license:bsd-3)))
10452
10453(define-public ghc-threads
10454 (package
10455 (name "ghc-threads")
10456 (version "0.5.1.6")
10457 (source
10458 (origin
10459 (method url-fetch)
10460 (uri (string-append "https://hackage.haskell.org/package/"
10461 "threads/threads-" version ".tar.gz"))
10462 (sha256
10463 (base32
10464 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10465 (build-system haskell-build-system)
10466 (native-inputs
10467 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10468 ("ghc-hunit" ,ghc-hunit)
10469 ("ghc-test-framework" ,ghc-test-framework)
10470 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10471 (home-page "https://github.com/basvandijk/threads")
10472 (synopsis "Fork threads and wait for their result")
10473 (description "This package provides functions to fork threads and
10474wait for their result, whether it's an exception or a normal value.
10475Besides waiting for the termination of a single thread this package also
10476provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10477package is similar to the @code{threadmanager}, @code{async} and
10478@code{spawn} packages. The advantages of this package are:
10479
dddbc90c
RV
10480@itemize
10481@item Simpler API.
10482@item More efficient in both space and time.
10483@item No space-leak when forking a large number of threads.
10484@item Correct handling of asynchronous exceptions.
10485@item GHC specific functionality like @code{forkOn} and
10486@code{forkIOWithUnmask}.
10487@end itemize")
10488 (license license:bsd-3)))
10489
10490(define-public ghc-th-reify-many
10491 (package
10492 (name "ghc-th-reify-many")
32d4a6ae 10493 (version "0.1.9")
dddbc90c
RV
10494 (source (origin
10495 (method url-fetch)
10496 (uri (string-append "https://hackage.haskell.org/package/"
10497 "th-reify-many/th-reify-many-"
10498 version ".tar.gz"))
10499 (sha256
10500 (base32
32d4a6ae 10501 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
10502 (build-system haskell-build-system)
10503 (inputs
10504 `(("ghc-safe" ,ghc-safe)
10505 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10506 (home-page "https://github.com/mgsloan/th-reify-many")
10507 (synopsis "Recurseively reify template haskell datatype info")
10508 (description
10509 "th-reify-many provides functions for recursively reifying top level
10510declarations. The main intended use case is for enumerating the names of
10511datatypes reachable from an initial datatype, and passing these names to some
10512function which generates instances.")
10513 (license license:bsd-3)))
10514
75cfc9a2
TS
10515(define-public ghc-time-compat
10516 (package
10517 (name "ghc-time-compat")
10518 (version "1.9.2.2")
10519 (source
10520 (origin
10521 (method url-fetch)
10522 (uri (string-append "https://hackage.haskell.org/package/"
10523 "time-compat/time-compat-" version ".tar.gz"))
10524 (sha256
10525 (base32
10526 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
10527 (build-system haskell-build-system)
10528 (inputs
10529 `(("ghc-base-orphans" ,ghc-base-orphans)))
10530 (native-inputs
10531 `(("ghc-hunit" ,ghc-hunit)
10532 ("ghc-base-compat" ,ghc-base-compat)
10533 ("ghc-quickcheck" ,ghc-quickcheck)
10534 ("ghc-tagged" ,ghc-tagged)
10535 ("ghc-tasty" ,ghc-tasty)
10536 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10537 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10538 (arguments
10539 `(#:cabal-revision
10540 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
10541 (home-page "https://github.com/phadej/time-compat")
10542 (synopsis "Compatibility package for time")
10543 (description "This packages tries to compat as many @code{time}
10544features as possible.")
10545 (license license:bsd-3)))
10546
dddbc90c
RV
10547(define-public ghc-time-locale-compat
10548 (package
10549 (name "ghc-time-locale-compat")
10550 (version "0.1.1.5")
10551 (source
10552 (origin
10553 (method url-fetch)
10554 (uri (string-append "https://hackage.haskell.org/package/"
10555 "time-locale-compat/time-locale-compat-"
10556 version ".tar.gz"))
10557 (sha256
10558 (base32
10559 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10560 (build-system haskell-build-system)
10561 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10562 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10563 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10564 (description "This package contains a wrapped name module for
10565@code{TimeLocale}.")
10566 (license license:bsd-3)))
10567
7bbfa392
JS
10568(define-public ghc-timeit
10569 (package
10570 (name "ghc-timeit")
10571 (version "2.0")
10572 (source
10573 (origin
10574 (method url-fetch)
10575 (uri
10576 (string-append
10577 "https://hackage.haskell.org/package/timeit/timeit-"
10578 version ".tar.gz"))
10579 (sha256
10580 (base32
10581 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
10582 (build-system haskell-build-system)
10583 (home-page "https://github.com/merijn/timeit")
10584 (synopsis "Time monadic computations with an IO base")
10585 (description "This package provides a simple wrapper to show the
10586used CPU time of monadic computation with an IO base.")
10587 (license license:bsd-3)))
10588
dddbc90c
RV
10589(define-public ghc-tldr
10590 (package
10591 (name "ghc-tldr")
871ceb31 10592 (version "0.4.0.2")
dddbc90c
RV
10593 (source
10594 (origin
10595 (method url-fetch)
10596 (uri (string-append
10597 "https://hackage.haskell.org/package/tldr/tldr-"
10598 version
10599 ".tar.gz"))
10600 (sha256
10601 (base32
871ceb31 10602 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
10603 (build-system haskell-build-system)
10604 (inputs
10605 `(("ghc-cmark" ,ghc-cmark)
10606 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10607 ("ghc-typed-process" ,ghc-typed-process)
10608 ("ghc-semigroups" ,ghc-semigroups)))
10609 (native-inputs
10610 `(("ghc-tasty" ,ghc-tasty)
10611 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10612 (home-page "https://github.com/psibi/tldr-hs#readme")
10613 (synopsis "Haskell tldr client")
10614 (description "This package provides the @command{tldr} command and a
10615Haskell client library allowing users to update and view @code{tldr} pages
10616from a shell. The @code{tldr} pages are a community effort to simplify the
10617man pages with practical examples.")
10618 (license license:bsd-3)))
10619
10620(define-public ghc-transformers-base
10621 (package
10622 (name "ghc-transformers-base")
10623 (version "0.4.5.2")
10624 (source
10625 (origin
10626 (method url-fetch)
10627 (uri (string-append
10628 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10629 version
10630 ".tar.gz"))
10631 (sha256
10632 (base32
10633 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10634 (build-system haskell-build-system)
10635 (inputs
10636 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10637 (home-page
10638 "https://hackage.haskell.org/package/transformers-compat")
10639 (synopsis
10640 "Backported transformer library")
10641 (description
10642 "Backported versions of types that were added to transformers in
10643transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10644compatibility to run on old versions of the platform.")
10645 (license license:bsd-3)))
10646
10647(define-public ghc-transformers-compat
10648 (package
10649 (name "ghc-transformers-compat")
1c9c4d58 10650 (version "0.6.5")
dddbc90c
RV
10651 (source
10652 (origin
10653 (method url-fetch)
10654 (uri (string-append
10655 "https://hackage.haskell.org/package/transformers-compat"
10656 "/transformers-compat-" version ".tar.gz"))
10657 (sha256
10658 (base32
1c9c4d58 10659 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
10660 (build-system haskell-build-system)
10661 (home-page "https://github.com/ekmett/transformers-compat/")
10662 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10663 (description "This package includes backported versions of types that were
10664added to transformers in transformers 0.3 and 0.4 for users who need strict
10665transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10666but also need those types.")
10667 (license license:bsd-3)))
10668
10669(define-public ghc-tree-diff
10670 (package
10671 (name "ghc-tree-diff")
10672 (version "0.0.1")
10673 (source
10674 (origin
10675 (method url-fetch)
10676 (uri (string-append
10677 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10678 version
10679 ".tar.gz"))
10680 (sha256
10681 (base32
10682 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10683 (build-system haskell-build-system)
10684 (arguments
10685 `(#:cabal-revision
10686 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10687 #:phases
10688 (modify-phases %standard-phases
10689 (add-before 'configure 'update-constraints
10690 (lambda _
10691 (substitute* "tree-diff.cabal"
10692 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10693 "trifecta >=1.7.1.1 && <=2")))))))
10694 (inputs
10695 `(("ghc-aeson" ,ghc-aeson)
10696 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10697 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10698 ("ghc-base-compat" ,ghc-base-compat)
10699 ("ghc-generics-sop" ,ghc-generics-sop)
10700 ("ghc-hashable" ,ghc-hashable)
10701 ("ghc-memotrie" ,ghc-memotrie)
10702 ("ghc-parsers" ,ghc-parsers)
10703 ("ghc-quickcheck" ,ghc-quickcheck)
10704 ("ghc-scientific" ,ghc-scientific)
10705 ("ghc-tagged" ,ghc-tagged)
10706 ("ghc-unordered-containers" ,ghc-unordered-containers)
10707 ("ghc-uuid-types" ,ghc-uuid-types)
10708 ("ghc-vector" ,ghc-vector)))
10709 (native-inputs
10710 `(("ghc-base-compat" ,ghc-base-compat)
10711 ("ghc-quickcheck" ,ghc-quickcheck)
10712 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10713 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10714 ("ghc-trifecta" ,ghc-trifecta)
10715 ("ghc-tasty" ,ghc-tasty)
10716 ("ghc-tasty-golden" ,ghc-tasty-golden)
10717 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10718 (home-page "https://github.com/phadej/tree-diff")
10719 (synopsis "Compute difference between (expression) trees")
10720 (description "This Haskell library provides a function for computing
10721the difference between (expression) trees. It also provides a way to
10722compute the difference between arbitrary abstract datatypes (ADTs) using
10723@code{Generics}-derivable helpers.")
10724 (license license:bsd-3)))
10725
10726(define-public ghc-trifecta
10727 (package
10728 (name "ghc-trifecta")
10729 (version "2")
10730 (source (origin
10731 (method url-fetch)
10732 (uri (string-append
10733 "https://hackage.haskell.org/package/trifecta/"
10734 "trifecta-" version ".tar.gz"))
10735 (sha256
10736 (base32
10737 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10738 (build-system haskell-build-system)
10739 (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
10740 (inputs
10741 `(("ghc-reducers" ,ghc-reducers)
10742 ("ghc-semigroups" ,ghc-semigroups)
10743 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10744 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10745 ("ghc-blaze-builder" ,ghc-blaze-builder)
10746 ("ghc-blaze-html" ,ghc-blaze-html)
10747 ("ghc-blaze-markup" ,ghc-blaze-markup)
10748 ("ghc-charset" ,ghc-charset)
10749 ("ghc-comonad" ,ghc-comonad)
10750 ("ghc-fingertree" ,ghc-fingertree)
10751 ("ghc-hashable" ,ghc-hashable)
10752 ("ghc-lens" ,ghc-lens)
10753 ("ghc-parsers" ,ghc-parsers)
10754 ("ghc-profunctors" ,ghc-profunctors)
10755 ("ghc-unordered-containers" ,ghc-unordered-containers)
10756 ("ghc-utf8-string" ,ghc-utf8-string)))
10757 (native-inputs
10758 `(("cabal-doctest" ,cabal-doctest)
10759 ("ghc-doctest" ,ghc-doctest)
10760 ("ghc-quickcheck" ,ghc-quickcheck)))
10761 (home-page "https://github.com/ekmett/trifecta/")
10762 (synopsis "Parser combinator library with convenient diagnostics")
10763 (description "Trifecta is a modern parser combinator library for Haskell,
10764with slicing and Clang-style colored diagnostics.")
10765 (license license:bsd-3)))
10766
10767(define-public ghc-tuple-th
10768 (package
10769 (name "ghc-tuple-th")
10770 (version "0.2.5")
10771 (source
10772 (origin
10773 (method url-fetch)
10774 (uri (string-append "https://hackage.haskell.org/package/"
10775 "tuple-th-" version "/"
10776 "tuple-th-" version ".tar.gz"))
10777 (sha256
10778 (base32
10779 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10780 (build-system haskell-build-system)
10781 (home-page "https://github.com/DanielSchuessler/tuple-th")
10782 (synopsis "Generate utility functions for tuples of statically known size
10783for Haskell")
10784 (description "This Haskell package contains Template Haskell functions for
10785generating functions similar to those in @code{Data.List} for tuples of
10786statically known size.")
10787 (license license:bsd-3)))
10788
10789(define-public ghc-typed-process
10790 (package
10791 (name "ghc-typed-process")
72fb84a5 10792 (version "0.2.6.0")
dddbc90c
RV
10793 (source
10794 (origin
10795 (method url-fetch)
10796 (uri (string-append "https://hackage.haskell.org/package/"
10797 "typed-process/typed-process-"
10798 version ".tar.gz"))
10799 (sha256
10800 (base32
72fb84a5 10801 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
10802 (build-system haskell-build-system)
10803 (inputs
72fb84a5
TS
10804 `(("ghc-async" ,ghc-async)
10805 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
10806 (native-inputs
10807 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10808 ("ghc-hspec" ,ghc-hspec)
10809 ("hspec-discover" ,hspec-discover)
10810 ("ghc-temporary" ,ghc-temporary)))
10811 (home-page "https://haskell-lang.org/library/typed-process")
10812 (synopsis "Run external processes with strong typing of streams")
10813 (description
10814 "This library provides the ability to launch and interact with external
10815processes. It wraps around the @code{process} library, and intends to improve
10816upon it.")
10817 (license license:expat)))
10818
d392f803
AG
10819(define-public ghc-unagi-chan
10820 (package
10821 (name "ghc-unagi-chan")
10822 (version "0.4.1.2")
10823 (source
10824 (origin
10825 (method url-fetch)
10826 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
10827 "/unagi-chan-" version ".tar.gz"))
10828 (sha256
10829 (base32
10830 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
10831 (build-system haskell-build-system)
10832 (inputs
10833 `(("ghc-atomic-primops" ,ghc-atomic-primops)
10834 ("ghc-primitive" ,ghc-primitive)))
10835 (arguments
10836 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
10837 #:cabal-revision
10838 ("1"
10839 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
10840 (home-page "http://hackage.haskell.org/package/unagi-chan")
10841 (synopsis "Fast concurrent queues with a Chan-like API, and more")
10842 (description
10843 "This library provides implementations of concurrent FIFO queues (for
10844both general boxed and primitive unboxed values) that are fast, perform well
10845under contention, and offer a Chan-like interface. The library may be of
10846limited usefulness outside of x86 architectures where the fetch-and-add
10847instruction is not available.")
10848 (license license:bsd-3)))
10849
dddbc90c
RV
10850(define-public ghc-unbounded-delays
10851 (package
10852 (name "ghc-unbounded-delays")
10853 (version "0.1.1.0")
10854 (source
10855 (origin
10856 (method url-fetch)
10857 (uri (string-append
10858 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
10859 version
10860 ".tar.gz"))
10861 (sha256
10862 (base32
10863 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
10864 (build-system haskell-build-system)
10865 (home-page "https://github.com/basvandijk/unbounded-delays")
10866 (synopsis "Unbounded thread delays and timeouts")
10867 (description "The @code{threadDelay} and @code{timeout} functions from the
10868Haskell base library use the bounded @code{Int} type for specifying the delay
10869or timeout period. This package provides alternative functions which use the
10870unbounded @code{Integer} type.")
10871 (license license:bsd-3)))
10872
10873(define-public ghc-unexceptionalio
10874 (package
10875 (name "ghc-unexceptionalio")
10876 (version "0.4.0")
10877 (source
10878 (origin
10879 (method url-fetch)
10880 (uri (string-append "https://hackage.haskell.org/package/"
10881 "unexceptionalio-" version "/" "unexceptionalio-"
10882 version ".tar.gz"))
10883 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
10884 (build-system haskell-build-system)
10885 (home-page "https://github.com/singpolyma/unexceptionalio")
10886 (synopsis "IO without any non-error, synchronous exceptions")
10887 (description "When you've caught all the exceptions that can be
10888handled safely, this is what you're left with.")
10889 (license license:isc)))
10890
10891(define-public ghc-union-find
10892 (package
10893 (name "ghc-union-find")
10894 (version "0.2")
10895 (source (origin
10896 (method url-fetch)
10897 (uri (string-append
10898 "https://hackage.haskell.org/package/union-find/union-find-"
10899 version ".tar.gz"))
10900 (sha256
10901 (base32
10902 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
10903 (build-system haskell-build-system)
10904 (home-page "https://github.com/nominolo/union-find")
10905 (synopsis "Efficient union and equivalence testing of sets")
10906 (description
10907 "The Union/Find algorithm implements these operations in (effectively)
10908constant-time:
10909@enumerate
10910@item Check whether two elements are in the same equivalence class.
10911@item Create a union of two equivalence classes.
10912@item Look up the descriptor of the equivalence class.
10913@end enumerate\n")
10914 (license license:bsd-3)))
10915
10916(define-public ghc-uniplate
10917 (package
10918 (name "ghc-uniplate")
10919 (version "1.6.12")
10920 (source
10921 (origin
10922 (method url-fetch)
10923 (uri (string-append
10924 "https://hackage.haskell.org/package/uniplate/uniplate-"
10925 version
10926 ".tar.gz"))
10927 (sha256
10928 (base32
10929 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
10930 (build-system haskell-build-system)
10931 (inputs
10932 `(("ghc-syb" ,ghc-syb)
10933 ("ghc-hashable" ,ghc-hashable)
10934 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10935 (home-page "http://community.haskell.org/~ndm/uniplate/")
10936 (synopsis "Simple, concise and fast generic operations")
10937 (description "Uniplate is a library for writing simple and concise generic
10938operations. Uniplate has similar goals to the original Scrap Your Boilerplate
10939work, but is substantially simpler and faster.")
10940 (license license:bsd-3)))
10941
10942(define-public ghc-unix-compat
10943 (package
10944 (name "ghc-unix-compat")
bc82e9f5 10945 (version "0.5.2")
dddbc90c
RV
10946 (source
10947 (origin
10948 (method url-fetch)
10949 (uri (string-append
10950 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
10951 version
10952 ".tar.gz"))
10953 (sha256
10954 (base32
bc82e9f5 10955 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
10956 (build-system haskell-build-system)
10957 (home-page
10958 "https://github.com/jystic/unix-compat")
10959 (synopsis "Portable POSIX-compatibility layer")
10960 (description
10961 "This package provides portable implementations of parts of the unix
10962package. This package re-exports the unix package when available. When it
10963isn't available, portable implementations are used.")
10964 (license license:bsd-3)))
10965
10966(define-public ghc-unix-time
10967 (package
10968 (name "ghc-unix-time")
fad9cff2 10969 (version "0.4.7")
dddbc90c
RV
10970 (source
10971 (origin
10972 (method url-fetch)
10973 (uri (string-append
10974 "https://hackage.haskell.org/package/unix-time/unix-time-"
10975 version
10976 ".tar.gz"))
10977 (sha256
10978 (base32
fad9cff2 10979 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
10980 (build-system haskell-build-system)
10981 (arguments
10982 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
10983 ; is weird, that should be provided by GHC 7.10.2.
10984 (inputs
10985 `(("ghc-old-time" ,ghc-old-time)
10986 ("ghc-old-locale" ,ghc-old-locale)))
10987 (home-page "https://hackage.haskell.org/package/unix-time")
10988 (synopsis "Unix time parser/formatter and utilities")
10989 (description "This library provides fast parsing and formatting utilities
10990for Unix time in Haskell.")
10991 (license license:bsd-3)))
10992
10993(define-public ghc-unliftio
10994 (package
10995 (name "ghc-unliftio")
a4084db1 10996 (version "0.2.12")
dddbc90c
RV
10997 (source
10998 (origin
10999 (method url-fetch)
11000 (uri (string-append
11001 "https://hackage.haskell.org/package/unliftio/unliftio-"
11002 version
11003 ".tar.gz"))
11004 (sha256
11005 (base32
a4084db1 11006 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
11007 (build-system haskell-build-system)
11008 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
11009 (inputs
11010 `(("ghc-async" ,ghc-async)
11011 ("ghc-unliftio-core" ,ghc-unliftio-core)))
11012 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
11013 (home-page "https://github.com/fpco/unliftio")
11014 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
11015IO (batteries included)")
11016 (description "This Haskell package provides the core @code{MonadUnliftIO}
11017typeclass, a number of common instances, and a collection of common functions
11018working with it.")
11019 (license license:expat)))
11020
11021(define-public ghc-unliftio-core
11022 (package
11023 (name "ghc-unliftio-core")
2ae42618 11024 (version "0.1.2.0")
dddbc90c
RV
11025 (source
11026 (origin
11027 (method url-fetch)
11028 (uri (string-append "https://hackage.haskell.org/package/"
11029 "unliftio-core-" version "/"
11030 "unliftio-core-" version ".tar.gz"))
11031 (sha256
11032 (base32
2ae42618 11033 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
11034 (build-system haskell-build-system)
11035 (arguments
11036 `(#:cabal-revision
2ae42618 11037 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
11038 (home-page
11039 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
11040 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
11041 (description "This Haskell package provides the core @code{MonadUnliftIO}
11042typeclass, instances for base and transformers, and basic utility
11043functions.")
11044 (license license:expat)))
11045
11046(define-public ghc-unordered-containers
11047 (package
11048 (name "ghc-unordered-containers")
ca01f8d3 11049 (version "0.2.10.0")
dddbc90c
RV
11050 (outputs '("out" "doc"))
11051 (source
11052 (origin
11053 (method url-fetch)
11054 (uri (string-append
11055 "https://hackage.haskell.org/package/unordered-containers"
11056 "/unordered-containers-" version ".tar.gz"))
11057 (sha256
11058 (base32
ca01f8d3 11059 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
11060 (build-system haskell-build-system)
11061 (inputs
11062 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
11063 ("ghc-hunit" ,ghc-hunit)
11064 ("ghc-quickcheck" ,ghc-quickcheck)
11065 ("ghc-test-framework" ,ghc-test-framework)
11066 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11067 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11068 ("ghc-hashable" ,ghc-hashable)))
11069 (home-page
11070 "https://github.com/tibbe/unordered-containers")
11071 (synopsis
11072 "Efficient hashing-based container types")
11073 (description
11074 "Efficient hashing-based container types. The containers have been
11075optimized for performance critical use, both in terms of large data quantities
11076and high speed.")
11077 (license license:bsd-3)))
11078
11079(define-public ghc-unordered-containers-bootstrap
11080 (package
11081 (inherit ghc-unordered-containers)
11082 (name "ghc-unordered-containers-bootstrap")
11083 (arguments `(#:tests? #f))
11084 (inputs
11085 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11086 (properties '((hidden? #t)))))
dddbc90c 11087
a52f4c57
JS
11088(define-public ghc-unsafe
11089 (package
11090 (name "ghc-unsafe")
11091 (version "0.0")
11092 (source
11093 (origin
11094 (method url-fetch)
11095 (uri
11096 (string-append
11097 "https://hackage.haskell.org/package/unsafe/unsafe-"
11098 version ".tar.gz"))
11099 (sha256
11100 (base32
11101 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
11102 (build-system haskell-build-system)
11103 (home-page "https://hackage.haskell.org/package/unsafe")
11104 (synopsis "Unified interface to unsafe functions")
11105 (description "Safe Haskell introduced the notion of safe and unsafe
11106modules. In order to make as many as possible modules ``safe'', the
11107well-known unsafe functions were moved to distinguished modules. This
11108makes it hard to write packages that work with both old and new versions
11109of GHC. This package provides a single module System.Unsafe that
11110exports the unsafe functions from the base package. It provides them in
11111a style ready for qualification, that is, you should import them by
11112@code{import qualified System.Unsafe as Unsafe}.")
11113 (license license:bsd-3)))
11114
dddbc90c
RV
11115(define-public ghc-uri-bytestring
11116 (package
11117 (name "ghc-uri-bytestring")
11118 (version "0.3.2.0")
11119 (source
11120 (origin
11121 (method url-fetch)
11122 (uri (string-append "https://hackage.haskell.org/package/"
11123 "uri-bytestring-" version "/"
11124 "uri-bytestring-" version ".tar.gz"))
11125 (sha256
11126 (base32
11127 "1q04j5ybvk37zk2m0bkjwyhblz0ymdj0cn4rvsvdca1ikn5xdv5c"))))
11128 (build-system haskell-build-system)
11129 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11130 ("ghc-fail" ,ghc-fail)
11131 ("ghc-blaze-builder" ,ghc-blaze-builder)
11132 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
11133 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11134 ("ghc-hunit" ,ghc-hunit)
11135 ("ghc-quickcheck" ,ghc-quickcheck)
11136 ("ghc-tasty" ,ghc-tasty)
11137 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11138 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11139 ("ghc-base-compat" ,ghc-base-compat)
11140 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11141 ("ghc-semigroups" ,ghc-semigroups)
11142 ("ghc-generics-sop" ,ghc-generics-sop)))
11143 (home-page "https://github.com/Soostone/uri-bytestring")
11144 (synopsis "Haskell URI parsing as ByteStrings")
11145 (description "This Haskell package aims to be an RFC3986 compliant URI
11146parser that uses ByteStrings for parsing and representing the URI data.")
11147 (license license:bsd-3)))
11148
11149(define-public ghc-utf8-string
11150 (package
11151 (name "ghc-utf8-string")
11152 (version "1.0.1.1")
11153 (source
11154 (origin
11155 (method url-fetch)
11156 (uri (string-append
11157 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
11158 version
11159 ".tar.gz"))
11160 (sha256
11161 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
11162 (build-system haskell-build-system)
11163 (arguments
11164 `(#:cabal-revision
11165 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
11166 (home-page "https://github.com/glguy/utf8-string/")
11167 (synopsis "Support for reading and writing UTF8 Strings")
11168 (description
11169 "A UTF8 layer for Strings. The utf8-string package provides operations
11170for encoding UTF8 strings to Word8 lists and back, and for reading and writing
11171UTF8 without truncation.")
11172 (license license:bsd-3)))
11173
11174(define-public ghc-utility-ht
11175 (package
11176 (name "ghc-utility-ht")
11177 (version "0.0.14")
11178 (home-page "https://hackage.haskell.org/package/utility-ht")
11179 (source
11180 (origin
11181 (method url-fetch)
11182 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
11183 (sha256
11184 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
11185 (build-system haskell-build-system)
11186 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
11187 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
11188 (description "This package includes Hakell modules providing various
11189helper functions for Lists, Maybes, Tuples, Functions.")
11190 (license license:bsd-3)))
11191
11192(define-public ghc-uuid
11193 (package
11194 (name "ghc-uuid")
11195 (version "1.3.13")
11196 (source
11197 (origin
11198 (method url-fetch)
11199 (uri (string-append "https://hackage.haskell.org/package/"
11200 "uuid-" version "/"
11201 "uuid-" version ".tar.gz"))
11202 (sha256
11203 (base32
11204 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
11205 (build-system haskell-build-system)
11206 (arguments
11207 `(#:cabal-revision
11208 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
11209 #:phases
11210 (modify-phases %standard-phases
11211 (add-before 'configure 'strip-test-framework-constraints
11212 (lambda _
11213 (substitute* "uuid.cabal"
11214 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
11215 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
11216 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11217 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11218 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11219 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
11220 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
11221 ("ghc-entropy" ,ghc-entropy)
11222 ("ghc-network-info" ,ghc-network-info)
11223 ("ghc-random" ,ghc-random)
11224 ("ghc-uuid-types" ,ghc-uuid-types)))
11225 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11226 ("ghc-quickcheck" ,ghc-quickcheck)
11227 ("ghc-tasty" ,ghc-tasty)
11228 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11229 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11230 (home-page "https://github.com/hvr/uuid")
11231 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
11232 (description "This Haskell library provides utilities creating, comparing,
11233parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
11234 (license license:bsd-3)))
11235
11236(define-public ghc-uuid-types
11237 (package
11238 (name "ghc-uuid-types")
11239 (version "1.0.3")
11240 (source
11241 (origin
11242 (method url-fetch)
11243 (uri (string-append "https://hackage.haskell.org/package/"
11244 "uuid-types-" version "/"
11245 "uuid-types-" version ".tar.gz"))
11246 (sha256
11247 (base32
11248 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
11249 (build-system haskell-build-system)
11250 (arguments
11251 `(#:phases
11252 (modify-phases %standard-phases
11253 (add-before 'configure 'strip-test-framework-constraints
11254 (lambda _
11255 (substitute* "uuid-types.cabal"
11256 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
11257 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
11258 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11259 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11260 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11261 (inputs `(("ghc-hashable" ,ghc-hashable)
11262 ("ghc-random" ,ghc-random)))
11263 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11264 ("ghc-quickcheck" ,ghc-quickcheck)
11265 ("ghc-tasty" ,ghc-tasty)
11266 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11267 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11268 (home-page "https://github.com/hvr/uuid")
11269 (synopsis "Haskell type definitions for UUIDs")
11270 (description "This Haskell library contains type definitions for
11271@dfn{Universally Unique Identifiers} or
11272@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
11273functions.")
11274 (license license:bsd-3)))
11275
11276(define-public ghc-validation
11277 (package
11278 (name "ghc-validation")
11279 (version "1")
11280 (source
11281 (origin
11282 (method url-fetch)
11283 (uri (string-append
11284 "mirror://hackage/package/validation/validation-"
11285 version
11286 ".tar.gz"))
11287 (sha256
11288 (base32
11289 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
11290 (build-system haskell-build-system)
11291 (arguments
11292 `(#:cabal-revision
11293 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
11294 (inputs
11295 `(("ghc-semigroups" ,ghc-semigroups)
11296 ("ghc-semigroupoids" ,ghc-semigroupoids)
11297 ("ghc-bifunctors" ,ghc-bifunctors)
11298 ("ghc-lens" ,ghc-lens)))
11299 (native-inputs
11300 `(("ghc-hedgehog" ,ghc-hedgehog)
11301 ("ghc-hunit" ,ghc-hunit)))
11302 (home-page "https://github.com/qfpl/validation")
11303 (synopsis
11304 "Data-type like Either but with an accumulating Applicative")
11305 (description
11306 "A data-type like Either but with differing properties and type-class
11307instances.
11308
11309Library support is provided for this different representation, including
11310@code{lens}-related functions for converting between each and abstracting over
11311their similarities.
11312
11313The @code{Validation} data type is isomorphic to @code{Either}, but has an
11314instance of @code{Applicative} that accumulates on the error side. That is to
11315say, if two (or more) errors are encountered, they are appended using a
11316@{Semigroup} operation.
11317
11318As a consequence of this @code{Applicative} instance, there is no
11319corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11320example of, \"An applicative functor that is not a monad.\"")
11321 (license license:bsd-3)))
11322
11323(define-public ghc-validity
11324 (package
11325 (name "ghc-validity")
3f1ba75d 11326 (version "0.9.0.2")
dddbc90c
RV
11327 (source
11328 (origin
11329 (method url-fetch)
11330 (uri (string-append
11331 "https://hackage.haskell.org/package/validity/validity-"
11332 version
11333 ".tar.gz"))
11334 (sha256
11335 (base32
3f1ba75d 11336 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
11337 (build-system haskell-build-system)
11338 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11339 ("hspec-discover" ,hspec-discover)))
11340 (home-page
11341 "https://github.com/NorfairKing/validity")
11342 (synopsis "Validity typeclass")
11343 (description
11344 "Values of custom types usually have invariants imposed upon them. This
11345package provides the @code{Validity} type class, which makes these invariants
11346explicit by providing a function to check whether the invariants hold.")
11347 (license license:expat)))
11348
11349(define-public ghc-vault
11350 (package
11351 (name "ghc-vault")
11352 (version "0.3.1.2")
11353 (source
11354 (origin
11355 (method url-fetch)
11356 (uri (string-append
11357 "https://hackage.haskell.org/package/vault/vault-"
11358 version
11359 ".tar.gz"))
11360 (sha256
11361 (base32
11362 "072mbrihsdsb8c6xvg6lvk0rqjgvxvi8qkg4n6wwym5hq0pfa04y"))))
11363 (build-system haskell-build-system)
11364 (inputs
11365 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11366 ("ghc-hashable" ,ghc-hashable)
11367 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11368 (home-page
11369 "https://github.com/HeinrichApfelmus/vault")
11370 (synopsis "Persistent store for arbitrary values")
11371 (description "This package provides vaults for Haskell. A vault is a
11372persistent store for values of arbitrary types. It's like having first-class
11373access to the storage space behind @code{IORefs}. The data structure is
11374analogous to a bank vault, where you can access different bank boxes with
11375different keys; hence the name. Also provided is a @code{locker} type,
11376representing a store for a single element.")
11377 (license license:bsd-3)))
11378
11379(define-public ghc-vector
11380 (package
11381 (name "ghc-vector")
3ad67f6b 11382 (version "0.12.0.3")
dddbc90c
RV
11383 (outputs '("out" "doc"))
11384 (source
11385 (origin
11386 (method url-fetch)
11387 (uri (string-append
11388 "https://hackage.haskell.org/package/vector/vector-"
11389 version
11390 ".tar.gz"))
11391 (sha256
11392 (base32
3ad67f6b 11393 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
11394 (build-system haskell-build-system)
11395 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11396 ;; disabled for now.
11397 (arguments
3ad67f6b 11398 `(#:tests? #f))
dddbc90c
RV
11399 (inputs
11400 `(("ghc-primitive" ,ghc-primitive)
11401 ("ghc-random" ,ghc-random)
11402 ("ghc-quickcheck" ,ghc-quickcheck)
11403 ;; ("ghc-hunit" ,ghc-hunit)
11404 ;; ("ghc-test-framework" ,ghc-test-framework)
11405 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11406 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11407 ))
11408 (home-page "https://github.com/haskell/vector")
11409 (synopsis "Efficient Arrays")
11410 (description "This library provides an efficient implementation of
11411Int-indexed arrays (both mutable and immutable), with a powerful loop
11412optimisation framework.")
11413 (license license:bsd-3)))
11414
11415(define-public ghc-vector-algorithms
11416 (package
11417 (name "ghc-vector-algorithms")
e71f316f 11418 (version "0.8.0.1")
dddbc90c
RV
11419 (source
11420 (origin
11421 (method url-fetch)
11422 (uri (string-append "https://hackage.haskell.org/package/"
11423 "vector-algorithms-" version "/"
11424 "vector-algorithms-" version ".tar.gz"))
11425 (sha256
11426 (base32
e71f316f 11427 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
11428 (build-system haskell-build-system)
11429 (inputs
11430 `(("ghc-vector" ,ghc-vector)))
11431 (native-inputs
11432 `(("ghc-quickcheck" ,ghc-quickcheck)))
11433 (home-page "https://github.com/bos/math-functions")
11434 (synopsis "Algorithms for vector arrays in Haskell")
11435 (description "This Haskell library algorithms for vector arrays.")
11436 (license license:bsd-3)))
11437
11438(define-public ghc-vector-binary-instances
11439 (package
11440 (name "ghc-vector-binary-instances")
ca0701ef 11441 (version "0.2.5.1")
dddbc90c
RV
11442 (source
11443 (origin
11444 (method url-fetch)
11445 (uri (string-append
11446 "https://hackage.haskell.org/package/"
11447 "vector-binary-instances/vector-binary-instances-"
11448 version ".tar.gz"))
11449 (sha256
11450 (base32
ca0701ef 11451 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 11452 (build-system haskell-build-system)
dddbc90c
RV
11453 (inputs
11454 `(("ghc-vector" ,ghc-vector)))
11455 (native-inputs
11456 `(("ghc-tasty" ,ghc-tasty)
11457 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11458 (home-page "https://github.com/bos/vector-binary-instances")
11459 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11460 (description "This library provides instances of @code{Binary} for the
11461types defined in the @code{vector} package, making it easy to serialize
11462vectors to and from disk. We use the generic interface to vectors, so all
11463vector types are supported. Specific instances are provided for unboxed,
11464boxed and storable vectors.")
11465 (license license:bsd-3)))
11466
11467(define-public ghc-vector-builder
11468 (package
11469 (name "ghc-vector-builder")
11470 (version "0.3.6")
11471 (source
11472 (origin
11473 (method url-fetch)
11474 (uri (string-append "https://hackage.haskell.org/package/"
11475 "vector-builder-" version "/"
11476 "vector-builder-" version ".tar.gz"))
11477 (sha256
11478 (base32
11479 "06d2pa1fb3ydrl7l6rjazqyxv5i73v65x2f5fp0ypjxfbm6jsmn8"))))
11480 (build-system haskell-build-system)
11481 (inputs `(("ghc-vector" ,ghc-vector)
11482 ("ghc-semigroups" ,ghc-semigroups)
11483 ("ghc-base-prelude" ,ghc-base-prelude)))
11484 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11485 ("ghc-tasty" ,ghc-tasty)
11486 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11487 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11488 ("ghc-hunit" ,ghc-hunit)
11489 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11490 ("ghc-rerebase" ,ghc-rerebase)))
11491 (home-page "https://github.com/nikita-volkov/vector-builder")
11492 (synopsis "Vector builder for Haskell")
11493 (description "This Haskell package provides an API for constructing vectors.
11494It provides the composable @code{Builder} abstraction, which has instances of the
11495@code{Monoid} and @code{Semigroup} classes.
11496
11497You would first use the @code{Builder} abstraction to specify the structure of
11498the vector; then you can execute the builder to actually produce the
11499vector. ")
11500 (license license:expat)))
11501
11502(define-public ghc-vector-th-unbox
11503 (package
11504 (name "ghc-vector-th-unbox")
63056e61 11505 (version "0.2.1.7")
dddbc90c
RV
11506 (source
11507 (origin
11508 (method url-fetch)
11509 (uri (string-append "https://hackage.haskell.org/package/"
11510 "vector-th-unbox-" version "/"
11511 "vector-th-unbox-" version ".tar.gz"))
11512 (sha256
11513 (base32
63056e61 11514 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
11515 (build-system haskell-build-system)
11516 (inputs
11517 `(("ghc-vector" ,ghc-vector)
11518 ("ghc-data-default" ,ghc-data-default)))
11519 (home-page "https://github.com/liyang/vector-th-unbox")
11520 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
11521 (description "This Haskell library provides a Template Haskell
11522deriver for unboxed vectors, given a pair of coercion functions to
11523and from some existing type with an Unbox instance.")
11524 (license license:bsd-3)))
11525
11526(define-public ghc-void
11527 (package
11528 (name "ghc-void")
51889121 11529 (version "0.7.3")
dddbc90c
RV
11530 (source
11531 (origin
11532 (method url-fetch)
11533 (uri (string-append
11534 "https://hackage.haskell.org/package/void/void-"
11535 version
11536 ".tar.gz"))
11537 (sha256
11538 (base32
51889121 11539 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
11540 (build-system haskell-build-system)
11541 (inputs
11542 `(("ghc-semigroups" ,ghc-semigroups)
11543 ("ghc-hashable" ,ghc-hashable)))
11544 (home-page "https://github.com/ekmett/void")
11545 (synopsis
11546 "Logically uninhabited data type")
11547 (description
11548 "A Haskell 98 logically uninhabited data type, used to indicate that a
11549given term should not exist.")
11550 (license license:bsd-3)))
11551
11552(define-public ghc-wave
11553 (package
11554 (name "ghc-wave")
1631a0f7 11555 (version "0.2.0")
dddbc90c
RV
11556 (source (origin
11557 (method url-fetch)
11558 (uri (string-append
11559 "https://hackage.haskell.org/package/wave/wave-"
11560 version
11561 ".tar.gz"))
11562 (sha256
11563 (base32
1631a0f7 11564 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
11565 (build-system haskell-build-system)
11566 (arguments
11567 '(#:phases
11568 (modify-phases %standard-phases
11569 (add-before 'configure 'update-constraints
11570 (lambda _
11571 (substitute* "wave.cabal"
11572 (("temporary.* < 1\\.3")
11573 "temporary >= 1.1 && < 1.4")))))))
11574 (inputs
11575 `(("ghc-cereal" ,ghc-cereal)
11576 ("ghc-data-default-class"
11577 ,ghc-data-default-class)
11578 ("ghc-quickcheck" ,ghc-quickcheck)
11579 ("ghc-temporary" ,ghc-temporary)))
11580 (native-inputs
11581 `(("hspec-discover" ,hspec-discover)
11582 ("ghc-hspec" ,ghc-hspec)))
11583 (home-page "https://github.com/mrkkrp/wave")
11584 (synopsis "Work with WAVE and RF64 files in Haskell")
11585 (description "This package allows you to work with WAVE and RF64
11586files in Haskell.")
11587 (license license:bsd-3)))
11588
11589(define-public ghc-wcwidth
11590 (package
11591 (name "ghc-wcwidth")
11592 (version "0.0.2")
11593 (source
11594 (origin
11595 (method url-fetch)
11596 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11597 version ".tar.gz"))
11598 (sha256
11599 (base32
11600 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11601 (build-system haskell-build-system)
11602 (inputs
11603 `(("ghc-setlocale" ,ghc-setlocale)
11604 ("ghc-utf8-string" ,ghc-utf8-string)
11605 ("ghc-attoparsec" ,ghc-attoparsec)))
11606 (home-page "https://github.com/solidsnack/wcwidth/")
11607 (synopsis "Haskell bindings to wcwidth")
11608 (description "This package provides Haskell bindings to your system's
11609native wcwidth and a command line tool to examine the widths assigned by it.
11610The command line tool can compile a width table to Haskell code that assigns
11611widths to the Char type.")
11612 (license license:bsd-3)))
11613
11614(define-public ghc-wcwidth-bootstrap
11615 (package
11616 (inherit ghc-wcwidth)
11617 (name "ghc-wcwidth-bootstrap")
11618 (inputs
11619 `(("ghc-setlocale" ,ghc-setlocale)
11620 ("ghc-utf8-string" ,ghc-utf8-string)
11621 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 11622 (properties '((hidden? #t)))))
dddbc90c
RV
11623
11624(define-public ghc-weigh
11625 (package
11626 (name "ghc-weigh")
b6d9777f 11627 (version "0.0.14")
dddbc90c
RV
11628 (source
11629 (origin
11630 (method url-fetch)
11631 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11632 "weigh-" version ".tar.gz"))
11633 (sha256
11634 (base32
b6d9777f 11635 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
11636 (build-system haskell-build-system)
11637 (inputs
11638 `(("ghc-split" ,ghc-split)
11639 ("ghc-temporary" ,ghc-temporary)))
11640 (home-page "https://github.com/fpco/weigh#readme")
11641 (synopsis "Measure allocations of a Haskell functions/values")
11642 (description "This package provides tools to measure the memory usage of a
11643Haskell value or function.")
11644 (license license:bsd-3)))
11645
11646(define-public ghc-wl-pprint
11647 (package
11648 (name "ghc-wl-pprint")
11649 (version "1.2.1")
11650 (source (origin
11651 (method url-fetch)
11652 (uri (string-append
11653 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11654 version ".tar.gz"))
11655 (sha256
11656 (base32
11657 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11658 (build-system haskell-build-system)
11659 (home-page "https://hackage.haskell.org/package/wl-pprint")
11660 (synopsis "Wadler/Leijen pretty printer")
11661 (description
11662 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11663Printer}. This version allows the library user to declare overlapping
11664instances of the @code{Pretty} class.")
11665 (license license:bsd-3)))
11666
11667(define-public ghc-wl-pprint-annotated
11668 (package
11669 (name "ghc-wl-pprint-annotated")
11670 (version "0.1.0.1")
11671 (source
11672 (origin
11673 (method url-fetch)
11674 (uri (string-append
11675 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11676 version
11677 ".tar.gz"))
11678 (sha256
11679 (base32
11680 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11681 (build-system haskell-build-system)
11682 (native-inputs
11683 `(("ghc-tasty" ,ghc-tasty)
11684 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11685 (home-page
11686 "https://github.com/minad/wl-pprint-annotated#readme")
11687 (synopsis
11688 "Wadler/Leijen pretty printer with annotation support")
11689 (description
11690 "Annotations are useful for coloring. This is a limited version of
11691@code{wl-pprint-extras} without support for point effects and without the free
11692monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11693Compared to @code{annotated-wl-pprint} this library provides a slightly
11694modernized interface.")
11695 (license license:bsd-3)))
11696
11697(define-public ghc-wl-pprint-text
11698 (package
11699 (name "ghc-wl-pprint-text")
11700 (version "1.2.0.0")
11701 (source
11702 (origin
11703 (method url-fetch)
11704 (uri (string-append
11705 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11706 version ".tar.gz"))
11707 (sha256
11708 (base32
11709 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11710 (build-system haskell-build-system)
11711 (inputs
11712 `(("ghc-base-compat" ,ghc-base-compat)))
11713 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11714 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11715 (description
11716 "A clone of wl-pprint for use with the text library.")
11717 (license license:bsd-3)))
11718
11719(define-public ghc-word8
11720 (package
11721 (name "ghc-word8")
11722 (version "0.1.3")
11723 (source
11724 (origin
11725 (method url-fetch)
11726 (uri (string-append
11727 "https://hackage.haskell.org/package/word8/word8-"
11728 version
11729 ".tar.gz"))
11730 (sha256
11731 (base32
11732 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11733 (build-system haskell-build-system)
11734 (native-inputs
11735 `(("ghc-hspec" ,ghc-hspec)
11736 ("hspec-discover" ,hspec-discover)))
11737 (home-page "https://hackage.haskell.org/package/word8")
11738 (synopsis "Word8 library for Haskell")
11739 (description "Word8 library to be used with @code{Data.ByteString}.")
11740 (license license:bsd-3)))
11741
11742(define-public ghc-x11
11743 (package
11744 (name "ghc-x11")
6c4581a3 11745 (version "1.9.1")
dddbc90c
RV
11746 (source
11747 (origin
11748 (method url-fetch)
11749 (uri (string-append "https://hackage.haskell.org/package/X11/"
11750 "X11-" version ".tar.gz"))
11751 (sha256
6c4581a3 11752 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
11753 (build-system haskell-build-system)
11754 (inputs
11755 `(("libx11" ,libx11)
11756 ("libxrandr" ,libxrandr)
11757 ("libxinerama" ,libxinerama)
11758 ("libxscrnsaver" ,libxscrnsaver)
11759 ("ghc-data-default" ,ghc-data-default)))
11760 (home-page "https://github.com/haskell-pkg-janitors/X11")
11761 (synopsis "Bindings to the X11 graphics library")
11762 (description
11763 "This package provides Haskell bindings to the X11 graphics library. The
11764bindings are a direct translation of the C bindings.")
11765 (license license:bsd-3)))
11766
11767(define-public ghc-x11-xft
11768 (package
11769 (name "ghc-x11-xft")
11770 (version "0.3.1")
11771 (source
11772 (origin
11773 (method url-fetch)
11774 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11775 "X11-xft-" version ".tar.gz"))
11776 (sha256
11777 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11778 (inputs
11779 `(("ghc-x11" ,ghc-x11)
11780 ("ghc-utf8-string" ,ghc-utf8-string)
11781 ("libx11" ,libx11)
11782 ("libxft" ,libxft)
11783 ("xorgproto" ,xorgproto)))
11784 (native-inputs
11785 `(("pkg-config" ,pkg-config)))
11786 (build-system haskell-build-system)
11787 (home-page "https://hackage.haskell.org/package/X11-xft")
11788 (synopsis "Bindings to Xft")
11789 (description
11790 "Bindings to the Xft, X Free Type interface library, and some Xrender
11791parts.")
11792 (license license:lgpl2.1)))
11793
11794(define-public ghc-xdg-basedir
11795 (package
11796 (name "ghc-xdg-basedir")
11797 (version "0.2.2")
11798 (source
11799 (origin
11800 (method url-fetch)
11801 (uri (string-append
11802 "https://hackage.haskell.org/package/xdg-basedir/"
11803 "xdg-basedir-" version ".tar.gz"))
11804 (sha256
11805 (base32
11806 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
11807 (build-system haskell-build-system)
11808 (home-page "http://github.com/willdonnelly/xdg-basedir")
11809 (synopsis "XDG Base Directory library for Haskell")
11810 (description "This package provides a library implementing the XDG Base Directory spec.")
11811 (license license:bsd-3)))
11812
11813(define-public ghc-xml
11814 (package
11815 (name "ghc-xml")
11816 (version "1.3.14")
11817 (source
11818 (origin
11819 (method url-fetch)
11820 (uri (string-append
11821 "https://hackage.haskell.org/package/xml/xml-"
11822 version
11823 ".tar.gz"))
11824 (sha256
11825 (base32
11826 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
11827 (build-system haskell-build-system)
11828 (home-page "http://code.galois.com")
11829 (synopsis "Simple XML library for Haskell")
11830 (description "This package provides a simple XML library for Haskell.")
11831 (license license:bsd-3)))
11832
11833(define-public ghc-xml-conduit
11834 (package
11835 (name "ghc-xml-conduit")
11836 (version "1.8.0.1")
11837 (source
11838 (origin
11839 (method url-fetch)
11840 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
11841 "xml-conduit-" version ".tar.gz"))
11842 (sha256
11843 (base32
11844 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
11845 (build-system haskell-build-system)
11846 (inputs
11847 `(("ghc-conduit" ,ghc-conduit)
11848 ("ghc-conduit-extra" ,ghc-conduit-extra)
11849 ("ghc-doctest" ,ghc-doctest)
11850 ("ghc-resourcet" ,ghc-resourcet)
11851 ("ghc-xml-types" ,ghc-xml-types)
11852 ("ghc-attoparsec" ,ghc-attoparsec)
11853 ("ghc-data-default-class" ,ghc-data-default-class)
11854 ("ghc-blaze-markup" ,ghc-blaze-markup)
11855 ("ghc-blaze-html" ,ghc-blaze-html)
11856 ("ghc-monad-control" ,ghc-monad-control)
11857 ("ghc-hspec" ,ghc-hspec)
11858 ("ghc-hunit" ,ghc-hunit)))
11859 (home-page "https://github.com/snoyberg/xml")
11860 (synopsis "Utilities for dealing with XML with the conduit package")
11861 (description
11862 "This package provides pure-Haskell utilities for dealing with XML with
11863the @code{conduit} package.")
11864 (license license:expat)))
11865
11866(define-public ghc-xml-types
11867 (package
11868 (name "ghc-xml-types")
11869 (version "0.3.6")
11870 (source
11871 (origin
11872 (method url-fetch)
11873 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
11874 "xml-types-" version ".tar.gz"))
11875 (sha256
11876 (base32
11877 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
11878 (build-system haskell-build-system)
11879 (home-page "https://john-millikin.com/software/haskell-xml/")
11880 (synopsis "Basic types for representing XML")
11881 (description "This package provides basic types for representing XML
11882documents.")
11883 (license license:expat)))
11884
11885(define-public ghc-yaml
11886 (package
11887 (name "ghc-yaml")
11888 (version "0.8.32")
11889 (source (origin
11890 (method url-fetch)
11891 (uri (string-append "https://hackage.haskell.org/package/"
11892 "yaml/yaml-" version ".tar.gz"))
11893 (sha256
11894 (base32
11895 "0cbsyh4ilvjzq1q7pxls43k6pdqxg1l85xzibcwpbvmlvrizh86w"))))
11896 (build-system haskell-build-system)
11897 ;; The tests are broken on i686. They are fixed in 0.10.3.0.
11898 ;; See https://github.com/snoyberg/yaml/issues/158
11899 (arguments `(#:tests? #f))
11900 (inputs
11901 `(("ghc-conduit" ,ghc-conduit)
11902 ("ghc-resourcet" ,ghc-resourcet)
11903 ("ghc-aeson" ,ghc-aeson)
11904 ("ghc-unordered-containers" ,ghc-unordered-containers)
11905 ("ghc-vector" ,ghc-vector)
11906 ("ghc-attoparsec" ,ghc-attoparsec)
11907 ("ghc-scientific" ,ghc-scientific)
11908 ("ghc-semigroups" ,ghc-semigroups)
11909 ("ghc-temporary" ,ghc-temporary)
11910 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11911 ("ghc-base-compat" ,ghc-base-compat)))
11912 (native-inputs
11913 `(("ghc-hspec" ,ghc-hspec)
11914 ("ghc-hunit" ,ghc-hunit)
11915 ("hspec-discover" ,hspec-discover)
11916 ("ghc-mockery" ,ghc-mockery)))
11917 (home-page "https://github.com/snoyberg/yaml/")
11918 (synopsis "Parsing and rendering YAML documents")
11919 (description
11920 "This package provides a library to parse and render YAML documents.")
11921 (license license:bsd-3)))
11922
11923(define-public ghc-zip-archive
11924 (package
11925 (name "ghc-zip-archive")
93c1fdd3 11926 (version "0.4.1")
dddbc90c
RV
11927 (source
11928 (origin
11929 (method url-fetch)
11930 (uri (string-append
11931 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
11932 version
11933 ".tar.gz"))
11934 (sha256
11935 (base32
93c1fdd3 11936 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 11937 (build-system haskell-build-system)
93c1fdd3
TS
11938 (arguments
11939 `(#:phases
11940 (modify-phases %standard-phases
11941 (add-before 'check 'set-PATH-for-tests
11942 (lambda* (#:key inputs #:allow-other-keys)
11943 (let ((unzip (assoc-ref inputs "unzip"))
11944 (which (assoc-ref inputs "which"))
11945 (path (getenv "PATH")))
11946 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
11947 #t))))))
dddbc90c
RV
11948 (inputs
11949 `(("ghc-digest" ,ghc-digest)
11950 ("ghc-temporary" ,ghc-temporary)
11951 ("ghc-zlib" ,ghc-zlib)))
11952 (native-inputs
11953 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
11954 ("unzip" ,unzip)
11955 ("which" ,which)))
dddbc90c
RV
11956 (home-page "https://hackage.haskell.org/package/zip-archive")
11957 (synopsis "Zip archive library for Haskell")
11958 (description "The zip-archive library provides functions for creating,
11959modifying, and extracting files from zip archives in Haskell.")
11960 (license license:bsd-3)))
11961
11962(define-public ghc-zlib
11963 (package
11964 (name "ghc-zlib")
bf12089a 11965 (version "0.6.2.1")
dddbc90c
RV
11966 (outputs '("out" "doc"))
11967 (source
11968 (origin
11969 (method url-fetch)
11970 (uri (string-append
11971 "https://hackage.haskell.org/package/zlib/zlib-"
11972 version
11973 ".tar.gz"))
11974 (sha256
11975 (base32
bf12089a 11976 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
11977 (build-system haskell-build-system)
11978 (arguments
11979 `(#:phases
11980 (modify-phases %standard-phases
11981 (add-before 'configure 'strip-test-framework-constraints
11982 (lambda _
11983 (substitute* "zlib.cabal"
11984 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
11985 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
11986 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11987 (inputs `(("zlib" ,zlib)))
11988 (native-inputs
11989 `(("ghc-quickcheck" ,ghc-quickcheck)
11990 ("ghc-tasty" ,ghc-tasty)
11991 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11992 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11993 (home-page "https://hackage.haskell.org/package/zlib")
11994 (synopsis
11995 "Compression and decompression in the gzip and zlib formats")
11996 (description
11997 "This package provides a pure interface for compressing and decompressing
11998streams of data represented as lazy @code{ByteString}s. It uses the zlib C
11999library so it has high performance. It supports the @code{zlib}, @code{gzip}
12000and @code{raw} compression formats. It provides a convenient high level API
12001suitable for most tasks and for the few cases where more control is needed it
12002provides access to the full zlib feature set.")
bbf8bf31 12003 (license license:bsd-3)))
14e41996
RV
12004
12005(define-public ghc-zlib-bindings
12006 (package
12007 (name "ghc-zlib-bindings")
12008 (version "0.1.1.5")
12009 (source
12010 (origin
12011 (method url-fetch)
12012 (uri (string-append "https://hackage.haskell.org/package/"
12013 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
12014 (sha256
12015 (base32
12016 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
12017 (build-system haskell-build-system)
12018 (inputs
12019 `(("ghc-zlib" ,ghc-zlib)))
12020 (native-inputs
12021 `(("ghc-hspec" ,ghc-hspec)
12022 ("ghc-quickcheck" ,ghc-quickcheck)))
12023 (arguments
12024 `(#:cabal-revision
12025 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
12026 (home-page "https://github.com/snapframework/zlib-bindings")
12027 (synopsis "Low-level bindings to the @code{zlib} package")
12028 (description "This package provides low-level bindings to the
12029@code{zlib} package.")
12030 (license license:bsd-3)))