gnu: ghc-skylighting: Update to 0.8.2.1.
[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")
0bafb755 170 (version "0.3.9")
dddbc90c
RV
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
0bafb755 179 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
dddbc90c
RV
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")
97f267c8 497 (version "1.0.1.0")
6b34d01c
RV
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
97f267c8 506 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
6b34d01c 507 (build-system haskell-build-system)
dddbc90c
RV
508 (arguments
509 `(#:cabal-revision
97f267c8 510 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
dddbc90c
RV
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")
b6b2c218 1401 (version "3001.4.0.0")
dddbc90c
RV
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
b6b2c218 1411 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
dddbc90c 1412 (build-system haskell-build-system)
dddbc90c
RV
1413 (inputs
1414 `(("ghc-exceptions" ,ghc-exceptions)
1415 ("ghc-multipart" ,ghc-multipart)
1416 ("ghc-network-uri" ,ghc-network-uri)
1417 ("ghc-network" ,ghc-network)))
1418 (native-inputs
1419 `(("ghc-doctest" ,ghc-doctest)
1420 ("ghc-quickcheck" ,ghc-quickcheck)))
1421 (home-page
1422 "https://github.com/cheecheeo/haskell-cgi")
1423 (synopsis "Library for writing CGI programs")
1424 (description
1425 "This is a Haskell library for writing CGI programs.")
1426 (license license:bsd-3)))
1427
1428(define-public ghc-charset
1429 (package
1430 (name "ghc-charset")
1431 (version "0.3.7.1")
1432 (source
1433 (origin
1434 (method url-fetch)
1435 (uri (string-append
1436 "https://hackage.haskell.org/package/charset/charset-"
1437 version
1438 ".tar.gz"))
1439 (sha256
1440 (base32
1441 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1442 (build-system haskell-build-system)
35ee173c
TS
1443 (arguments
1444 `(#:cabal-revision
1445 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1446 (inputs
1447 `(("ghc-semigroups" ,ghc-semigroups)
1448 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1449 (home-page "https://github.com/ekmett/charset")
1450 (synopsis "Fast unicode character sets for Haskell")
1451 (description "This package provides fast unicode character sets for
1452Haskell, based on complemented PATRICIA tries.")
1453 (license license:bsd-3)))
1454
1455(define-public ghc-chart
1456 (package
1457 (name "ghc-chart")
1458 (version "1.9")
1459 (source
1460 (origin
1461 (method url-fetch)
1462 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1463 "Chart-" version ".tar.gz"))
1464 (sha256
1465 (base32
1466 "1f5azj17y8xsb3gjhf7gg1gnnlq12rxkmfjmgcly314d7vghs05z"))))
1467 (build-system haskell-build-system)
1468 (inputs
1469 `(("ghc-old-locale" ,ghc-old-locale)
1470 ("ghc-lens" ,ghc-lens)
1471 ("ghc-colour" ,ghc-colour)
1472 ("ghc-data-default-class" ,ghc-data-default-class)
1473 ("ghc-operational" ,ghc-operational)
1474 ("ghc-vector" ,ghc-vector)))
1475 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1476 (synopsis "Library for generating 2D charts and plots")
1477 (description
1478 "This package provides a library for generating 2D charts and plots, with
1479backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1480 (license license:bsd-3)))
1481
1482(define-public ghc-chart-cairo
1483 (package
1484 (name "ghc-chart-cairo")
1485 (version "1.9")
1486 (source
1487 (origin
1488 (method url-fetch)
1489 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1490 "Chart-cairo-" version ".tar.gz"))
1491 (sha256
1492 (base32
1493 "0iany6lfyfb1cw0pxfs5aw5k0a6x41m6ql9ad9w59biwdckbsyqr"))))
1494 (build-system haskell-build-system)
1495 (inputs
1496 `(("ghc-old-locale" ,ghc-old-locale)
1497 ("ghc-cairo" ,ghc-cairo)
1498 ("ghc-colour" ,ghc-colour)
1499 ("ghc-data-default-class" ,ghc-data-default-class)
1500 ("ghc-operational" ,ghc-operational)
1501 ("ghc-lens" ,ghc-lens)
1502 ("ghc-chart" ,ghc-chart)))
1503 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1504 (synopsis "Cairo backend for Charts")
1505 (description "This package provides a Cairo vector graphics rendering
1506backend for the Charts library.")
1507 (license license:bsd-3)))
1508
1509(define-public ghc-chasingbottoms
1510 (package
1511 (name "ghc-chasingbottoms")
1f67853e 1512 (version "1.3.1.7")
dddbc90c
RV
1513 (source
1514 (origin
1515 (method url-fetch)
1516 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1517 "ChasingBottoms-" version ".tar.gz"))
1518 (sha256
1519 (base32
1f67853e 1520 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1521 (build-system haskell-build-system)
1522 (inputs
1523 `(("ghc-quickcheck" ,ghc-quickcheck)
1524 ("ghc-random" ,ghc-random)
1525 ("ghc-syb" ,ghc-syb)))
1526 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1527 (synopsis "Testing of partial and infinite values in Haskell")
1528 (description
1529 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1530 ;; rendered properly.
1531 "This is a library for testing code involving bottoms or infinite values.
1532For the underlying theory and a larger example involving use of QuickCheck,
1533see the article
1534@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1535\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1536Partial and Infinite Values\"}.")
1537 (license license:expat)))
1538
1539(define-public ghc-cheapskate
1540 (package
1541 (name "ghc-cheapskate")
1542 (version "0.1.1")
1543 (source
1544 (origin
1545 (method url-fetch)
1546 (uri (string-append
1547 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1548 version
1549 ".tar.gz"))
1550 (sha256
1551 (base32
1552 "1hiqi7h76shjzs2zj0j8g6wnq2hbiq1hmfafdazr97fba2zl2432"))))
1553 (build-system haskell-build-system)
1554 (inputs
1555 `(("ghc-blaze-html" ,ghc-blaze-html)
1556 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1557 ("ghc-data-default" ,ghc-data-default)
1558 ("ghc-syb" ,ghc-syb)
1559 ("ghc-uniplate" ,ghc-uniplate)))
1560 (home-page "https://github.com/jgm/cheapskate")
1561 (synopsis "Experimental markdown processor")
1562 (description "Cheapskate is an experimental Markdown processor in pure
1563Haskell. It aims to process Markdown efficiently and in the most forgiving
1564possible way. It is designed to deal with any input, including garbage, with
1565linear performance. Output is sanitized by default for protection against
1566cross-site scripting (@dfn{XSS}) attacks.")
1567 (license license:bsd-3)))
1568
1569(define-public ghc-chell
1570 (package
1571 (name "ghc-chell")
acdd03be 1572 (version "0.5")
dddbc90c
RV
1573 (source
1574 (origin
1575 (method url-fetch)
1576 (uri (string-append
1577 "https://hackage.haskell.org/package/chell/chell-"
1578 version ".tar.gz"))
1579 (sha256
1580 (base32
acdd03be 1581 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1582 (build-system haskell-build-system)
acdd03be
TS
1583 (arguments
1584 `(#:cabal-revision
1585 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1586 (inputs
1587 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1588 ("ghc-patience" ,ghc-patience)
1589 ("ghc-random" ,ghc-random)
1590 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1591 (home-page "https://john-millikin.com/software/chell/")
1592 (synopsis "Simple and intuitive library for automated testing")
1593 (description
1594 "Chell is a simple and intuitive library for automated testing.
1595It natively supports assertion-based testing, and can use companion
1596libraries such as @code{chell-quickcheck} to support more complex
1597testing strategies.")
1598 (license license:expat)))
1599
1600(define-public ghc-chell-quickcheck
1601 (package
1602 (name "ghc-chell-quickcheck")
e0e21831 1603 (version "0.2.5.2")
dddbc90c
RV
1604 (source
1605 (origin
1606 (method url-fetch)
1607 (uri (string-append
1608 "https://hackage.haskell.org/package/chell-quickcheck/"
1609 "chell-quickcheck-" version ".tar.gz"))
1610 (sha256
1611 (base32
e0e21831 1612 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1613 (build-system haskell-build-system)
1614 (arguments
1615 `(#:phases
1616 (modify-phases %standard-phases
1617 (add-before 'configure 'update-constraints
1618 (lambda _
1619 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1620 (("QuickCheck >= 2\\.3 && < 2\\.13")
1621 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1622 (inputs
1623 `(("ghc-chell" ,ghc-chell)
1624 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1625 ("ghc-random" ,ghc-random)
1626 ("ghc-quickcheck" ,ghc-quickcheck)))
1627 (home-page "https://john-millikin.com/software/chell/")
1628 (synopsis "QuickCheck support for the Chell testing library")
1629 (description "More complex tests for @code{chell}.")
1630 (license license:expat)))
1631
1632(define ghc-chell-quickcheck-bootstrap
1633 (package
1634 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1635 (version "0.2.5.2")
dddbc90c
RV
1636 (source
1637 (origin
1638 (method url-fetch)
1639 (uri (string-append
1640 "https://hackage.haskell.org/package/chell-quickcheck/"
1641 "chell-quickcheck-" version ".tar.gz"))
1642 (sha256
1643 (base32
e0e21831 1644 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1645 (build-system haskell-build-system)
1646 (inputs
1647 `(("ghc-chell" ,ghc-chell)
1648 ("ghc-random" ,ghc-random)
1649 ("ghc-quickcheck" ,ghc-quickcheck)))
1650 (arguments
1651 `(#:tests? #f
1652 #:phases
1653 (modify-phases %standard-phases
1654 (add-before 'configure 'update-constraints
1655 (lambda _
1656 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1657 (("QuickCheck >= 2\\.3 && < 2\\.13")
1658 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1659 (home-page "https://john-millikin.com/software/chell/")
1660 (synopsis "QuickCheck support for the Chell testing library")
1661 (description "More complex tests for @code{chell}.")
1662 (license license:expat)))
1663
1664(define-public ghc-chunked-data
1665 (package
1666 (name "ghc-chunked-data")
1667 (version "0.3.1")
1668 (source
1669 (origin
1670 (method url-fetch)
1671 (uri (string-append "https://hackage.haskell.org/package/"
1672 "chunked-data-" version "/"
1673 "chunked-data-" version ".tar.gz"))
1674 (sha256
1675 (base32
1676 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1677 (build-system haskell-build-system)
1678 (inputs `(("ghc-vector" ,ghc-vector)
1679 ("ghc-semigroups" ,ghc-semigroups)))
1680 (home-page "https://github.com/snoyberg/mono-traversable")
1681 (synopsis "Typeclasses for dealing with various chunked data
1682representations for Haskell")
1683 (description "This Haskell package was originally present in
1684classy-prelude.")
1685 (license license:expat)))
1686
1687(define-public ghc-clock
1688 (package
1689 (name "ghc-clock")
0841b6f2 1690 (version "0.8")
dddbc90c
RV
1691 (source
1692 (origin
1693 (method url-fetch)
1694 (uri (string-append
1695 "https://hackage.haskell.org/package/"
1696 "clock/"
1697 "clock-" version ".tar.gz"))
1698 (sha256
0841b6f2 1699 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1700 (build-system haskell-build-system)
1701 (inputs
1702 `(("ghc-tasty" ,ghc-tasty)
1703 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1704 (home-page "https://hackage.haskell.org/package/clock")
1705 (synopsis "High-resolution clock for Haskell")
1706 (description "A package for convenient access to high-resolution clock and
1707timer functions of different operating systems via a unified API.")
1708 (license license:bsd-3)))
1709
1710;; This package builds `clock` without tests, since the tests rely on tasty
1711;; and tasty-quickcheck, which in turn require clock to build.
1712(define-public ghc-clock-bootstrap
1713 (package
1714 (inherit ghc-clock)
1715 (name "ghc-clock-bootstrap")
1716 (arguments '(#:tests? #f))
1717 (inputs '())
1718 (properties '((hidden? #t)))))
1719
1720(define-public ghc-cmark
1721 (package
1722 (name "ghc-cmark")
6bdd36c0 1723 (version "0.6")
dddbc90c
RV
1724 (source (origin
1725 (method url-fetch)
6bdd36c0 1726 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1727 ;; See cbits/cmark_version.h.
1728 (uri (string-append "https://hackage.haskell.org/package/"
1729 "cmark/cmark-" version ".tar.gz"))
1730 (sha256
1731 (base32
6bdd36c0 1732 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
1733 (build-system haskell-build-system)
1734 (native-inputs
1735 `(("ghc-hunit" ,ghc-hunit)))
1736 (home-page "https://github.com/jgm/commonmark-hs")
1737 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1738 (description
1739 "This package provides Haskell bindings for
1740@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1741CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1742sources, and does not require prior installation of the C library.")
1743 (license license:bsd-3)))
1744
1745(define-public ghc-cmark-gfm
1746 (package
1747 (name "ghc-cmark-gfm")
24fc8dae 1748 (version "0.2.0")
dddbc90c
RV
1749 (source
1750 (origin
1751 (method url-fetch)
1752 (uri (string-append "https://hackage.haskell.org/package/"
1753 "cmark-gfm/cmark-gfm-"
1754 version ".tar.gz"))
1755 (sha256
1756 (base32
24fc8dae 1757 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
1758 (build-system haskell-build-system)
1759 (native-inputs
1760 `(("ghc-hunit" ,ghc-hunit)))
1761 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1762 (synopsis
1763 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1764 (description
1765 "This package provides Haskell bindings for libcmark-gfm, the reference
1766parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1767It includes sources for libcmark-gfm and does not require prior installation
1768of the C library.")
1769 (license license:bsd-3)))
1770
1771(define-public ghc-cmdargs
1772 (package
1773 (name "ghc-cmdargs")
1774 (version "0.10.20")
1775 (source
1776 (origin
1777 (method url-fetch)
1778 (uri (string-append
1779 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1780 version ".tar.gz"))
1781 (sha256
1782 (base32
1783 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1784 (build-system haskell-build-system)
1785 (home-page
1786 "http://community.haskell.org/~ndm/cmdargs/")
1787 (synopsis "Command line argument processing")
1788 (description
1789 "This library provides an easy way to define command line parsers.")
1790 (license license:bsd-3)))
1791
1792(define-public ghc-code-page
1793 (package
1794 (name "ghc-code-page")
f6bb6519 1795 (version "0.2")
dddbc90c
RV
1796 (source
1797 (origin
1798 (method url-fetch)
1799 (uri (string-append
1800 "https://hackage.haskell.org/package/code-page/code-page-"
1801 version ".tar.gz"))
1802 (sha256
1803 (base32
f6bb6519 1804 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1805 (build-system haskell-build-system)
1806 (home-page "https://github.com/RyanGlScott/code-page")
1807 (synopsis "Windows code page library for Haskell")
1808 (description "A cross-platform library with functions for adjusting
1809code pages on Windows. On all other operating systems, the library does
1810nothing.")
1811 (license license:bsd-3)))
1812
1813(define-public ghc-colour
1814(package
1815 (name "ghc-colour")
bc9d1af9 1816 (version "2.3.5")
dddbc90c
RV
1817 (source
1818 (origin
1819 (method url-fetch)
1820 (uri (string-append
1821 "https://hackage.haskell.org/package/colour/colour-"
1822 version ".tar.gz"))
1823 (sha256
1824 (base32
bc9d1af9 1825 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1826 (arguments
1827 ;; The tests for this package have the following dependency cycle:
1828 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1829 `(#:tests? #f))
1830 (build-system haskell-build-system)
1831 (home-page "https://www.haskell.org/haskellwiki/Colour")
1832 (synopsis "Model for human colour perception")
1833 (description
1834 "This package provides a data type for colours and transparency.
1835Colours can be blended and composed. Various colour spaces are
1836supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1837 (license license:expat)))
1838
1839(define-public ghc-comonad
1840 (package
1841 (name "ghc-comonad")
1a825512 1842 (version "5.0.5")
dddbc90c
RV
1843 (source
1844 (origin
1845 (method url-fetch)
1846 (uri (string-append
1847 "https://hackage.haskell.org/package/comonad/comonad-"
1848 version
1849 ".tar.gz"))
1850 (sha256
1851 (base32
1a825512 1852 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
1853 (build-system haskell-build-system)
1854 (native-inputs
1855 `(("cabal-doctest" ,cabal-doctest)
1856 ("ghc-doctest" ,ghc-doctest)))
1857 (inputs
1858 `(("ghc-contravariant" ,ghc-contravariant)
1859 ("ghc-distributive" ,ghc-distributive)
1860 ("ghc-semigroups" ,ghc-semigroups)
1861 ("ghc-tagged" ,ghc-tagged)
1862 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1863 (home-page "https://github.com/ekmett/comonad/")
1864 (synopsis "Comonads for Haskell")
1865 (description "This library provides @code{Comonad}s for Haskell.")
1866 (license license:bsd-3)))
1867
1868(define-public ghc-concatenative
1869 (package
1870 (name "ghc-concatenative")
1871 (version "1.0.1")
1872 (source (origin
1873 (method url-fetch)
1874 (uri (string-append
1875 "https://hackage.haskell.org/package/concatenative/concatenative-"
1876 version ".tar.gz"))
1877 (sha256
1878 (base32
1879 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1880 (build-system haskell-build-system)
1881 (home-page
1882 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1883 (synopsis "Library for postfix control flow")
1884 (description
1885 "Concatenative gives Haskell Factor-style combinators and arrows for
1886postfix notation. For more information on stack based languages, see
1887@uref{https://concatenative.org}.")
1888 (license license:bsd-3)))
1889
1890(define-public ghc-concurrent-extra
1891 (package
1892 (name "ghc-concurrent-extra")
1893 (version "0.7.0.12")
1894 (source
1895 (origin
1896 (method url-fetch)
1897 (uri (string-append "https://hackage.haskell.org/package/"
1898 "concurrent-extra/concurrent-extra-"
1899 version ".tar.gz"))
1900 (sha256
1901 (base32
1902 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
1903 (build-system haskell-build-system)
1904 (arguments
1905 ;; XXX: The ReadWriteLock 'stressTest' fails.
1906 `(#:tests? #f))
1907 (inputs
1908 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
1909 (native-inputs
1910 `(("ghc-async" ,ghc-async)
1911 ("ghc-hunit" ,ghc-hunit)
1912 ("ghc-random" ,ghc-random)
1913 ("ghc-test-framework" ,ghc-test-framework)
1914 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
1915 (home-page "https://github.com/basvandijk/concurrent-extra")
1916 (synopsis "Extra concurrency primitives")
1917 (description "This Haskell library offers (among other things) the
1918following selection of synchronisation primitives:
1919
1920@itemize
1921@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
1922@item @code{Event}: Wake multiple threads by signalling an event.
1923@item @code{Lock}: Enforce exclusive access to a resource. Also known
1924as a binary semaphore or mutex. The package additionally provides an
1925alternative that works in the STM monad.
1926@item @code{RLock}: A lock which can be acquired multiple times by the
1927same thread. Also known as a reentrant mutex.
1928@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
1929to protect shared resources which may be concurrently read, but only
1930sequentially written.
1931@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
1932@end itemize
1933
1934Please consult the API documentation of the individual modules for more
1935detailed information.
1936
1937This package was inspired by the concurrency libraries of Java and
1938Python.")
1939 (license license:bsd-3)))
1940
1941(define-public ghc-concurrent-output
1942 (package
1943 (name "ghc-concurrent-output")
4fce0a4a 1944 (version "1.10.11")
dddbc90c
RV
1945 (source
1946 (origin
1947 (method url-fetch)
1948 (uri (string-append
1949 "mirror://hackage/package/concurrent-output/concurrent-output-"
1950 version
1951 ".tar.gz"))
1952 (sha256
1953 (base32
4fce0a4a 1954 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
1955 (build-system haskell-build-system)
1956 (inputs
1957 `(("ghc-async" ,ghc-async)
1958 ("ghc-exceptions" ,ghc-exceptions)
1959 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1960 ("ghc-terminal-size" ,ghc-terminal-size)))
1961 (home-page
1962 "https://hackage.haskell.org/package/concurrent-output")
1963 (synopsis
1964 "Ungarble output from several threads or commands")
1965 (description
1966 "Lets multiple threads and external processes concurrently output to the
1967console, without it getting all garbled up.
1968
1969Built on top of that is a way of defining multiple output regions, which are
1970automatically laid out on the screen and can be individually updated by
1971concurrent threads. Can be used for progress displays etc.")
1972 (license license:bsd-2)))
1973
1974(define-public ghc-conduit
1975 (package
1976 (name "ghc-conduit")
1977 (version "1.3.0.3")
1978 (source (origin
1979 (method url-fetch)
1980 (uri (string-append "https://hackage.haskell.org/package/"
1981 "conduit/conduit-" version ".tar.gz"))
1982 (sha256
1983 (base32
1984 "1sangm0qqi9dzlq95746a3kl14k8b09592a423shxjf2a0b1yx5v"))))
1985 (build-system haskell-build-system)
1986 (inputs
1987 `(("ghc-exceptions" ,ghc-exceptions)
1988 ("ghc-lifted-base" ,ghc-lifted-base)
1989 ("ghc-mono-traversable" ,ghc-mono-traversable)
1990 ("ghc-mmorph" ,ghc-mmorph)
1991 ("ghc-resourcet" ,ghc-resourcet)
1992 ("ghc-silently" ,ghc-silently)
1993 ("ghc-transformers-base" ,ghc-transformers-base)
1994 ("ghc-unliftio" ,ghc-unliftio)
1995 ("ghc-unliftio-core" ,ghc-unliftio-core)
1996 ("ghc-vector" ,ghc-vector)
1997 ("ghc-void" ,ghc-void)))
1998 (native-inputs
1999 `(("ghc-quickcheck" ,ghc-quickcheck)
2000 ("ghc-hspec" ,ghc-hspec)
2001 ("ghc-safe" ,ghc-safe)
2002 ("ghc-split" ,ghc-split)))
2003 (home-page "https://github.com/snoyberg/conduit")
2004 (synopsis "Streaming data library ")
2005 (description
2006 "The conduit package is a solution to the streaming data problem,
2007allowing for production, transformation, and consumption of streams of data
2008in constant memory. It is an alternative to lazy I/O which guarantees
2009deterministic resource handling, and fits in the same general solution
2010space as enumerator/iteratee and pipes.")
2011 (license license:expat)))
2012
2013(define-public ghc-conduit-algorithms
2014 (package
2015 (name "ghc-conduit-algorithms")
2016 (version "0.0.8.1")
2017 (source
2018 (origin
2019 (method url-fetch)
2020 (uri (string-append "https://hackage.haskell.org/package/"
2021 "conduit-algorithms/conduit-algorithms-"
2022 version ".tar.gz"))
2023 (sha256
2024 (base32
2025 "07gx2q3d1bbfw14q41rmqg0i4m018pci10lswc0k1ij6lw7sb9fd"))))
2026 (build-system haskell-build-system)
2027 (inputs
2028 `(("ghc-async" ,ghc-async)
2029 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2030 ("ghc-conduit" ,ghc-conduit)
2031 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2032 ("ghc-conduit-extra" ,ghc-conduit-extra)
2033 ("ghc-exceptions" ,ghc-exceptions)
2034 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2035 ("ghc-monad-control" ,ghc-monad-control)
2036 ("ghc-pqueue" ,ghc-pqueue)
2037 ("ghc-resourcet" ,ghc-resourcet)
2038 ("ghc-stm-conduit" ,ghc-stm-conduit)
2039 ("ghc-streaming-commons" ,ghc-streaming-commons)
2040 ("ghc-unliftio-core" ,ghc-unliftio-core)
2041 ("ghc-vector" ,ghc-vector)))
2042 (native-inputs
2043 `(("ghc-hunit" ,ghc-hunit)
2044 ("ghc-test-framework" ,ghc-test-framework)
2045 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2046 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2047 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2048 (synopsis "Conduit-based algorithms")
2049 (description
2050 "This package provides algorithms on @code{Conduits}, including higher
2051level asynchronous processing and some other utilities.")
2052 (license license:expat)))
2053
2054(define-public ghc-conduit-combinators
2055 (package
2056 (name "ghc-conduit-combinators")
2057 (version "1.3.0")
2058 (source
2059 (origin
2060 (method url-fetch)
2061 (uri (string-append "https://hackage.haskell.org/package/"
2062 "conduit-combinators-" version "/"
2063 "conduit-combinators-" version ".tar.gz"))
2064 (sha256
2065 (base32
2066 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2067 (build-system haskell-build-system)
2068 (inputs `(("ghc-conduit" ,ghc-conduit)
2069 ("ghc-conduit-extra" ,ghc-conduit-extra)
2070 ("ghc-transformers-base" ,ghc-transformers-base)
2071 ("ghc-primitive" ,ghc-primitive)
2072 ("ghc-vector" ,ghc-vector)
2073 ("ghc-void" ,ghc-void)
2074 ("ghc-mwc-random" ,ghc-mwc-random)
2075 ("ghc-unix-compat" ,ghc-unix-compat)
2076 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2077 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2078 ("ghc-resourcet" ,ghc-resourcet)
2079 ("ghc-monad-control" ,ghc-monad-control)
2080 ("ghc-chunked-data" ,ghc-chunked-data)
2081 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2082 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2083 ("ghc-silently" ,ghc-silently)
2084 ("ghc-safe" ,ghc-safe)
2085 ("ghc-quickcheck" ,ghc-quickcheck)))
2086 (home-page "https://github.com/snoyberg/mono-traversable")
2087 (synopsis "Commonly used conduit functions, for both chunked and
2088unchunked data")
2089 (description "This Haskell package provides a replacement for Data.Conduit.List,
2090as well as a convenient Conduit module.")
2091 (license license:expat)))
2092
2093(define-public ghc-conduit-extra
2094 (package
2095 (name "ghc-conduit-extra")
2096 (version "1.3.1.1")
2097 (source
2098 (origin
2099 (method url-fetch)
2100 (uri (string-append "https://hackage.haskell.org/package/"
2101 "conduit-extra/conduit-extra-"
2102 version ".tar.gz"))
2103 (sha256
2104 (base32
2105 "0jaj350vv6mbb26gdwcqz4gwzfzrjydv5pis2da49wz1npbakcfw"))))
2106 (build-system haskell-build-system)
2107 (inputs
2108 `(("ghc-conduit" ,ghc-conduit)
2109 ("ghc-exceptions" ,ghc-exceptions)
2110 ("ghc-monad-control" ,ghc-monad-control)
2111 ("ghc-transformers-base" ,ghc-transformers-base)
2112 ("ghc-typed-process" ,ghc-typed-process)
2113 ("ghc-async" ,ghc-async)
2114 ("ghc-attoparsec" ,ghc-attoparsec)
2115 ("ghc-blaze-builder" ,ghc-blaze-builder)
2116 ("ghc-network" ,ghc-network)
2117 ("ghc-primitive" ,ghc-primitive)
2118 ("ghc-resourcet" ,ghc-resourcet)
2119 ("ghc-streaming-commons" ,ghc-streaming-commons)
2120 ("ghc-hspec" ,ghc-hspec)
2121 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2122 ("ghc-quickcheck" ,ghc-quickcheck)))
2123 (native-inputs
2124 `(("hspec-discover" ,hspec-discover)))
2125 (home-page "https://github.com/snoyberg/conduit")
2126 (synopsis "Conduit adapters for common libraries")
2127 (description
2128 "The @code{conduit} package itself maintains relative small dependencies.
2129The purpose of this package is to collect commonly used utility functions
2130wrapping other library dependencies, without depending on heavier-weight
2131dependencies. The basic idea is that this package should only depend on
2132@code{haskell-platform} packages and @code{conduit}.")
2133 (license license:expat)))
2134
2135(define-public ghc-configurator
2136 (package
2137 (name "ghc-configurator")
2138 (version "0.3.0.0")
2139 (source
2140 (origin
2141 (method url-fetch)
2142 (uri (string-append "https://hackage.haskell.org/package/"
2143 "configurator/configurator-"
2144 version ".tar.gz"))
2145 (sha256
2146 (base32
2147 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2148 (build-system haskell-build-system)
2149 (inputs
2150 `(("ghc-attoparsec" ,ghc-attoparsec)
2151 ("ghc-hashable" ,ghc-hashable)
2152 ("ghc-unix-compat" ,ghc-unix-compat)
2153 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2154 (native-inputs
2155 `(("ghc-hunit" ,ghc-hunit)
2156 ("ghc-test-framework" ,ghc-test-framework)
2157 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2158 (home-page "http://github.com/bos/configurator")
2159 (synopsis "Configuration management")
2160 (description
2161 "This package provides a configuration management library for programs
2162and daemons. The features include:
2163
2164@enumerate
2165@item Automatic, dynamic reloading in response to modifications to
2166 configuration files.
2167@item A simple, but flexible, configuration language, supporting several of
2168 the most commonly needed types of data, along with interpolation of strings
2169 from the configuration or the system environment (e.g. @code{$(HOME)}).
2170@item Subscription-based notification of changes to configuration properties.
2171@item An @code{import} directive allows the configuration of a complex
2172 application to be split across several smaller files, or common configuration
2173 data to be shared across several applications.
2174@end enumerate\n")
2175 (license license:bsd-3)))
2176
2177(define-public ghc-connection
2178 (package
2179 (name "ghc-connection")
6ee0d258 2180 (version "0.3.1")
dddbc90c
RV
2181 (source (origin
2182 (method url-fetch)
2183 (uri (string-append "https://hackage.haskell.org/package/"
2184 "connection/connection-"
2185 version ".tar.gz"))
2186 (sha256
2187 (base32
6ee0d258 2188 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2189 (build-system haskell-build-system)
2190 (inputs
2191 `(("ghc-byteable" ,ghc-byteable)
2192 ("ghc-data-default-class" ,ghc-data-default-class)
2193 ("ghc-network" ,ghc-network)
2194 ("ghc-tls" ,ghc-tls)
2195 ("ghc-socks" ,ghc-socks)
2196 ("ghc-x509" ,ghc-x509)
2197 ("ghc-x509-store" ,ghc-x509-store)
2198 ("ghc-x509-system" ,ghc-x509-system)
2199 ("ghc-x509-validation" ,ghc-x509-validation)))
2200 (home-page "https://github.com/vincenthz/hs-connection")
2201 (synopsis "Simple and easy network connections API")
2202 (description
2203 "This package provides a simple network library for all your connection
2204needs. It provides a very simple API to create sockets to a destination with
2205the choice of SSL/TLS, and SOCKS.")
2206 (license license:bsd-3)))
2207
2208(define-public ghc-constraints
2209 (package
2210 (name "ghc-constraints")
2211 (version "0.10.1")
2212 (source
2213 (origin
2214 (method url-fetch)
2215 (uri (string-append
2216 "https://hackage.haskell.org/package/constraints/constraints-"
2217 version ".tar.gz"))
2218 (sha256
2219 (base32
2220 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2221 (build-system haskell-build-system)
2222 (inputs
2223 `(("ghc-hashable" ,ghc-hashable)
2224 ("ghc-semigroups" ,ghc-semigroups)
2225 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2226 (native-inputs
2227 `(("ghc-hspec" ,ghc-hspec)
2228 ("hspec-discover" ,hspec-discover)))
2229 (home-page "https://github.com/ekmett/constraints/")
2230 (synopsis "Constraint manipulation")
2231 (description
2232 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2233They stopped crashing the compiler in GHC 7.6. This package provides
2234a vocabulary for working with them.")
2235 (license license:bsd-3)))
2236
2237(define-public ghc-contravariant
2238 (package
2239 (name "ghc-contravariant")
e7b35ff0 2240 (version "1.5.2")
dddbc90c
RV
2241 (source
2242 (origin
2243 (method url-fetch)
2244 (uri (string-append
2245 "https://hackage.haskell.org/package/contravariant/contravariant-"
2246 version
2247 ".tar.gz"))
2248 (sha256
2249 (base32
e7b35ff0 2250 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2251 (build-system haskell-build-system)
2252 (inputs
2253 `(("ghc-void" ,ghc-void)
2254 ("ghc-transformers-compat" ,ghc-transformers-compat)
2255 ("ghc-statevar" ,ghc-statevar)
2256 ("ghc-semigroups" ,ghc-semigroups)))
2257 (home-page
2258 "https://github.com/ekmett/contravariant/")
2259 (synopsis "Contravariant functors")
2260 (description "Contravariant functors for Haskell.")
2261 (license license:bsd-3)))
2262
2263(define-public ghc-contravariant-extras
2264 (package
2265 (name "ghc-contravariant-extras")
2266 (version "0.3.4")
2267 (source
2268 (origin
2269 (method url-fetch)
2270 (uri (string-append "https://hackage.haskell.org/package/"
2271 "contravariant-extras-" version "/"
2272 "contravariant-extras-" version ".tar.gz"))
2273 (sha256
2274 (base32
2275 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2276 (build-system haskell-build-system)
2277 (inputs
2278 `(("ghc-tuple-th" ,ghc-tuple-th)
2279 ("ghc-contravariant" ,ghc-contravariant)
2280 ("ghc-base-prelude" ,ghc-base-prelude)
2281 ("ghc-semigroups" ,ghc-semigroups)))
2282 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2283 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2284 (description "This Haskell package provides extras for the
2285@code{ghc-contravariant} package.")
2286 (license license:expat)))
2287
2288(define-public ghc-convertible
2289 (package
2290 (name "ghc-convertible")
2291 (version "1.1.1.0")
2292 (source
2293 (origin
2294 (method url-fetch)
2295 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2296 "convertible-" version ".tar.gz"))
2297 (sha256
2298 (base32
2299 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2300 (build-system haskell-build-system)
2301 (inputs
2302 `(("ghc-old-time" ,ghc-old-time)
2303 ("ghc-old-locale" ,ghc-old-locale)))
2304 (home-page "https://hackage.haskell.org/package/convertible")
2305 (synopsis "Typeclasses and instances for converting between types")
2306 (description
2307 "This package provides a typeclass with a single function that is
2308designed to help convert between different types: numeric values, dates and
2309times, and the like. The conversions perform bounds checking and return a
2310pure @code{Either} value. This means that you need not remember which specific
2311function performs the conversion you desire.")
2312 (license license:bsd-3)))
2313
2314(define-public ghc-data-accessor
2315 (package
2316 (name "ghc-data-accessor")
6dcca515 2317 (version "0.2.2.8")
dddbc90c
RV
2318 (source
2319 (origin
2320 (method url-fetch)
2321 (uri (string-append
2322 "mirror://hackage/package/data-accessor/data-accessor-"
2323 version ".tar.gz"))
2324 (sha256
6dcca515 2325 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2326 (build-system haskell-build-system)
2327 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2328 (synopsis
2329 "Haskell utilities for accessing and manipulating fields of records")
2330 (description "This package provides Haskell modules for accessing and
2331manipulating fields of records.")
2332 (license license:bsd-3)))
2333
2334(define-public ghc-data-accessor-transformers
2335 (package
2336 (name "ghc-data-accessor-transformers")
2337 (version "0.2.1.7")
2338 (source
2339 (origin
2340 (method url-fetch)
2341 (uri (string-append
2342 "mirror://hackage/package/data-accessor-transformers/"
2343 "data-accessor-transformers-" version ".tar.gz"))
2344 (sha256
2345 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2346 (build-system haskell-build-system)
2347 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2348 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2349 (synopsis "Use Accessor to access state in transformers State monad")
2350 (description "This package provides Haskell modules to allow use of
2351Accessor to access state in transformers State monad.")
2352 (license license:bsd-3)))
2353
2354(define-public ghc-data-default
2355 (package
2356 (name "ghc-data-default")
2357 (version "0.7.1.1")
2358 (source
2359 (origin
2360 (method url-fetch)
2361 (uri (string-append
2362 "https://hackage.haskell.org/package/data-default/data-default-"
2363 version
2364 ".tar.gz"))
2365 (sha256
2366 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2367 (build-system haskell-build-system)
2368 (inputs
2369 `(("ghc-data-default-class"
2370 ,ghc-data-default-class)
2371 ("ghc-data-default-instances-base"
2372 ,ghc-data-default-instances-base)
2373 ("ghc-data-default-instances-containers"
2374 ,ghc-data-default-instances-containers)
2375 ("ghc-data-default-instances-dlist"
2376 ,ghc-data-default-instances-dlist)
2377 ("ghc-data-default-instances-old-locale"
2378 ,ghc-data-default-instances-old-locale)))
2379 (home-page "https://hackage.haskell.org/package/data-default")
2380 (synopsis "Types with default values")
2381 (description
2382 "This package defines a class for types with a default value, and
2383provides instances for types from the base, containers, dlist and old-locale
2384packages.")
2385 (license license:bsd-3)))
2386
2387(define-public ghc-data-default-class
2388 (package
2389 (name "ghc-data-default-class")
2390 (version "0.1.2.0")
2391 (source
2392 (origin
2393 (method url-fetch)
2394 (uri (string-append
2395 "https://hackage.haskell.org/package/data-default-class/"
2396 "data-default-class-" version ".tar.gz"))
2397 (sha256
2398 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2399 (build-system haskell-build-system)
2400 (home-page "https://hackage.haskell.org/package/data-default-class")
2401 (synopsis "Types with default values")
2402 (description
2403 "This package defines a class for types with default values.")
2404 (license license:bsd-3)))
2405
2406(define-public ghc-data-default-instances-base
2407 (package
2408 (name "ghc-data-default-instances-base")
2409 (version "0.1.0.1")
2410 (source
2411 (origin
2412 (method url-fetch)
2413 (uri (string-append
2414 "https://hackage.haskell.org/package/"
2415 "data-default-instances-base/"
2416 "data-default-instances-base-" version ".tar.gz"))
2417 (sha256
2418 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2419 (build-system haskell-build-system)
2420 (inputs
2421 `(("ghc-data-default-class" ,ghc-data-default-class)))
2422 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2423 (synopsis "Default instances for types in base")
2424 (description
2425 "This package provides default instances for types from the base
2426package.")
2427 (license license:bsd-3)))
2428
2429(define-public ghc-data-default-instances-containers
2430 (package
2431 (name "ghc-data-default-instances-containers")
2432 (version "0.0.1")
2433 (source
2434 (origin
2435 (method url-fetch)
2436 (uri (string-append
2437 "https://hackage.haskell.org/package/"
2438 "data-default-instances-containers/"
2439 "data-default-instances-containers-" version ".tar.gz"))
2440 (sha256
2441 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2442 (build-system haskell-build-system)
2443 (inputs
2444 `(("ghc-data-default-class" ,ghc-data-default-class)))
2445 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2446 (synopsis "Default instances for types in containers")
2447 (description "Provides default instances for types from the containers
2448package.")
2449 (license license:bsd-3)))
2450
2451(define-public ghc-data-default-instances-dlist
2452 (package
2453 (name "ghc-data-default-instances-dlist")
2454 (version "0.0.1")
2455 (source
2456 (origin
2457 (method url-fetch)
2458 (uri (string-append
2459 "https://hackage.haskell.org/package/"
2460 "data-default-instances-dlist/"
2461 "data-default-instances-dlist-" version ".tar.gz"))
2462 (sha256
2463 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2464 (build-system haskell-build-system)
2465 (inputs
2466 `(("ghc-data-default-class" ,ghc-data-default-class)
2467 ("ghc-dlist" ,ghc-dlist)))
2468 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2469 (synopsis "Default instances for types in dlist")
2470 (description "Provides default instances for types from the dlist
2471package.")
2472 (license license:bsd-3)))
2473
2474(define-public ghc-data-default-instances-old-locale
2475 (package
2476 (name "ghc-data-default-instances-old-locale")
2477 (version "0.0.1")
2478 (source
2479 (origin
2480 (method url-fetch)
2481 (uri (string-append
2482 "https://hackage.haskell.org/package/"
2483 "data-default-instances-old-locale/"
2484 "data-default-instances-old-locale-" version ".tar.gz"))
2485 (sha256
2486 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2487 (build-system haskell-build-system)
2488 (inputs
2489 `(("ghc-data-default-class" ,ghc-data-default-class)
2490 ("ghc-old-locale" ,ghc-old-locale)))
2491 (home-page
2492 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2493 (synopsis "Default instances for types in old-locale")
2494 (description "Provides Default instances for types from the old-locale
2495 package.")
2496 (license license:bsd-3)))
2497
2498(define-public ghc-data-hash
2499 (package
2500 (name "ghc-data-hash")
2501 (version "0.2.0.1")
2502 (source
2503 (origin
2504 (method url-fetch)
2505 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2506 "/data-hash-" version ".tar.gz"))
2507 (sha256
2508 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2509 (build-system haskell-build-system)
2510 (inputs
2511 `(("ghc-quickcheck" ,ghc-quickcheck)
2512 ("ghc-test-framework" ,ghc-test-framework)
2513 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2514 (home-page "https://hackage.haskell.org/package/data-hash")
2515 (synopsis "Combinators for building fast hashing functions")
2516 (description
2517 "This package provides combinators for building fast hashing functions.
2518It includes hashing functions for all basic Haskell98 types.")
2519 (license license:bsd-3)))
2520
2521(define-public ghc-data-ordlist
2522 (package
2523 (name "ghc-data-ordlist")
2524 (version "0.4.7.0")
2525 (source
2526 (origin
2527 (method url-fetch)
2528 (uri (string-append
2529 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2530 version ".tar.gz"))
2531 (sha256
2532 (base32
2533 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2534 (build-system haskell-build-system)
2535 (home-page "https://hackage.haskell.org/package/data-ordlist")
2536 (synopsis "Set and bag operations on ordered lists")
2537 (description
2538 "This module provides set and multiset operations on ordered lists.")
2539 (license license:bsd-3)))
2540
2541(define-public ghc-deepseq-generics
2542 (package
2543 (name "ghc-deepseq-generics")
2544 (version "0.2.0.0")
2545 (source (origin
2546 (method url-fetch)
2547 (uri (string-append "https://hackage.haskell.org/package/"
2548 "deepseq-generics/deepseq-generics-"
2549 version ".tar.gz"))
2550 (sha256
2551 (base32
2552 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2553 (build-system haskell-build-system)
2554 (arguments
2555 `(#:cabal-revision
2556 ("2" "1pnidf8w8x0w5fsqgv8hhrw07slmhxwy5x4fikgk0bd6k76aqicb")))
2557 (native-inputs
2558 `(("ghc-hunit" ,ghc-hunit)
2559 ("ghc-test-framework" ,ghc-test-framework)
2560 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2561 (home-page "https://github.com/hvr/deepseq-generics")
2562 (synopsis "Generic RNF implementation")
2563 (description
2564 "This package provides a @code{GHC.Generics}-based
2565@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2566providing an @code{rnf} implementation.")
2567 (license license:bsd-3)))
2568
2569(define-public ghc-descriptive
2570 (package
2571 (name "ghc-descriptive")
2572 (version "0.9.5")
2573 (source
2574 (origin
2575 (method url-fetch)
2576 (uri (string-append
2577 "https://hackage.haskell.org/package/descriptive/descriptive-"
2578 version
2579 ".tar.gz"))
2580 (sha256
2581 (base32
2582 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2583 (build-system haskell-build-system)
2584 (inputs
2585 `(("ghc-aeson" ,ghc-aeson)
2586 ("ghc-bifunctors" ,ghc-bifunctors)
2587 ("ghc-scientific" ,ghc-scientific)
2588 ("ghc-vector" ,ghc-vector)))
2589 (native-inputs
2590 `(("ghc-hunit" ,ghc-hunit)
2591 ("ghc-hspec" ,ghc-hspec)))
2592 (home-page
2593 "https://github.com/chrisdone/descriptive")
2594 (synopsis
2595 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2596 (description
2597 "This package provides datatypes and functions for creating consumers
2598and parsers with useful semantics.")
2599 (license license:bsd-3)))
2600
2601(define-public ghc-diff
2602 (package
2603 (name "ghc-diff")
2604 (version "0.3.4")
2605 (source (origin
2606 (method url-fetch)
2607 (uri (string-append "https://hackage.haskell.org/package/"
2608 "Diff/Diff-" version ".tar.gz"))
a531ff94 2609 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
2610 (sha256
2611 (base32
2612 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
2613 (build-system haskell-build-system)
2614 (native-inputs
2615 `(("ghc-quickcheck" ,ghc-quickcheck)
2616 ("ghc-test-framework" ,ghc-test-framework)
2617 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2618 (home-page "https://hub.darcs.net/sterlingclover/Diff")
2619 (synopsis "O(ND) diff algorithm in Haskell")
2620 (description
2621 "This package provides an implementation of the standard diff algorithm,
2622and utilities for pretty printing.")
2623 (license license:bsd-3)))
2624
2625(define-public ghc-disk-free-space
2626 (package
2627 (name "ghc-disk-free-space")
2628 (version "0.1.0.1")
2629 (source
2630 (origin
2631 (method url-fetch)
2632 (uri (string-append "https://hackage.haskell.org/package/"
2633 "disk-free-space/disk-free-space-"
2634 version ".tar.gz"))
2635 (sha256
2636 (base32
2637 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
2638 (build-system haskell-build-system)
2639 (home-page "https://github.com/redneb/disk-free-space")
2640 (synopsis "Retrieve information about disk space usage")
2641 (description "A cross-platform library for retrieving information about
2642disk space usage.")
2643 (license license:bsd-3)))
2644
2645(define-public ghc-distributive
2646 (package
2647 (name "ghc-distributive")
e4c92f28 2648 (version "0.6.1")
dddbc90c
RV
2649 (source
2650 (origin
2651 (method url-fetch)
2652 (uri (string-append
2653 "https://hackage.haskell.org/package/distributive/distributive-"
2654 version
2655 ".tar.gz"))
2656 (sha256
2657 (base32
e4c92f28 2658 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 2659 (build-system haskell-build-system)
dddbc90c
RV
2660 (inputs
2661 `(("ghc-tagged" ,ghc-tagged)
2662 ("ghc-base-orphans" ,ghc-base-orphans)
2663 ("ghc-transformers-compat" ,ghc-transformers-compat)
2664 ("ghc-semigroups" ,ghc-semigroups)
2665 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2666 (native-inputs
2667 `(("cabal-doctest" ,cabal-doctest)
2668 ("ghc-doctest" ,ghc-doctest)
2669 ("ghc-hspec" ,ghc-hspec)
2670 ("hspec-discover" ,hspec-discover)))
2671 (home-page "https://github.com/ekmett/distributive/")
2672 (synopsis "Distributive functors for Haskell")
2673 (description "This package provides distributive functors for Haskell.
2674Dual to @code{Traversable}.")
2675 (license license:bsd-3)))
2676
2677(define-public ghc-dlist
2678 (package
2679 (name "ghc-dlist")
197ddf33 2680 (version "0.8.0.7")
dddbc90c
RV
2681 (source
2682 (origin
2683 (method url-fetch)
2684 (uri (string-append
2685 "https://hackage.haskell.org/package/dlist/dlist-"
2686 version
2687 ".tar.gz"))
2688 (sha256
197ddf33 2689 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
2690 (build-system haskell-build-system)
2691 (inputs
2692 `(("ghc-quickcheck" ,ghc-quickcheck)))
2693 (home-page "https://github.com/spl/dlist")
2694 (synopsis "Difference lists")
2695 (description
2696 "Difference lists are a list-like type supporting O(1) append. This is
2697particularly useful for efficient logging and pretty printing (e.g. with the
2698Writer monad), where list append quickly becomes too expensive.")
2699 (license license:bsd-3)))
2700
2701(define-public ghc-doctemplates
2702 (package
2703 (name "ghc-doctemplates")
2704 (version "0.2.2.1")
2705 (source
2706 (origin
2707 (method url-fetch)
2708 (uri (string-append "https://hackage.haskell.org/package/"
2709 "doctemplates/doctemplates-"
2710 version ".tar.gz"))
2711 (sha256
2712 (base32
2713 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
2714 (build-system haskell-build-system)
2715 (inputs
2716 `(("ghc-aeson" ,ghc-aeson)
2717 ("ghc-blaze-markup" ,ghc-blaze-markup)
2718 ("ghc-blaze-html" ,ghc-blaze-html)
2719 ("ghc-vector" ,ghc-vector)
2720 ("ghc-unordered-containers" ,ghc-unordered-containers)
2721 ("ghc-scientific" ,ghc-scientific)))
2722 (native-inputs
2723 `(("ghc-hspec" ,ghc-hspec)))
2724 (home-page "https://github.com/jgm/doctemplates#readme")
2725 (synopsis "Pandoc-style document templates")
2726 (description
2727 "This package provides a simple text templating system used by pandoc.")
2728 (license license:bsd-3)))
2729
2730(define-public ghc-doctest
2731 (package
2732 (name "ghc-doctest")
19c14a0f 2733 (version "0.16.2")
dddbc90c
RV
2734 (source
2735 (origin
2736 (method url-fetch)
2737 (uri (string-append
2738 "https://hackage.haskell.org/package/doctest/doctest-"
2739 version
2740 ".tar.gz"))
2741 (sha256
2742 (base32
19c14a0f 2743 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
2744 (build-system haskell-build-system)
2745 (arguments `(#:tests? #f)) ; FIXME: missing test framework
2746 (inputs
2747 `(("ghc-syb" ,ghc-syb)
2748 ("ghc-paths" ,ghc-paths)
2749 ("ghc-base-compat" ,ghc-base-compat)
2750 ("ghc-code-page" ,ghc-code-page)
2751 ("ghc-hunit" ,ghc-hunit)
2752 ("ghc-hspec" ,ghc-hspec)
2753 ("ghc-quickcheck" ,ghc-quickcheck)
2754 ("ghc-stringbuilder" ,ghc-stringbuilder)
2755 ("ghc-silently" ,ghc-silently)
2756 ("ghc-setenv" ,ghc-setenv)))
2757 (home-page
2758 "https://github.com/sol/doctest#readme")
2759 (synopsis "Test interactive Haskell examples")
2760 (description "The doctest program checks examples in source code comments.
2761It is modeled after doctest for Python, see
2762@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
2763 (license license:expat)))
2764
2765(define-public ghc-double-conversion
2766 (package
2767 (name "ghc-double-conversion")
2768 (version "2.0.2.0")
2769 (source
2770 (origin
2771 (method url-fetch)
2772 (uri (string-append "https://hackage.haskell.org/package/"
2773 "double-conversion/double-conversion-"
2774 version ".tar.gz"))
2775 (sha256
2776 (base32
2777 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
2778 (build-system haskell-build-system)
2779 (native-inputs
2780 `(("ghc-hunit" ,ghc-hunit)
2781 ("ghc-test-framework" ,ghc-test-framework)
2782 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2783 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2784 (home-page "https://github.com/bos/double-conversion")
2785 (synopsis "Fast conversion between double precision floating point and text")
2786 (description
2787 "This package provides a library that performs fast, accurate conversion
2788between double precision floating point and text.")
2789 (license license:bsd-3)))
2790
2791(define-public ghc-easy-file
2792 (package
2793 (name "ghc-easy-file")
2794 (version "0.2.2")
2795 (source
2796 (origin
2797 (method url-fetch)
2798 (uri (string-append
2799 "https://hackage.haskell.org/package/easy-file/easy-file-"
2800 version
2801 ".tar.gz"))
2802 (sha256
2803 (base32
2804 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
2805 (build-system haskell-build-system)
2806 (home-page
2807 "https://github.com/kazu-yamamoto/easy-file")
2808 (synopsis "File handling library for Haskell")
2809 (description "This library provides file handling utilities for Haskell.")
2810 (license license:bsd-3)))
2811
2812(define-public ghc-easyplot
2813 (package
2814 (name "ghc-easyplot")
2815 (version "1.0")
2816 (source
2817 (origin
2818 (method url-fetch)
2819 (uri (string-append
2820 "https://hackage.haskell.org/package/easyplot/easyplot-"
2821 version ".tar.gz"))
2822 (sha256
2823 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
2824 (build-system haskell-build-system)
2825 (propagated-inputs `(("gnuplot" ,gnuplot)))
2826 (arguments
2827 `(#:phases (modify-phases %standard-phases
2828 (add-after 'unpack 'fix-setup-suffix
2829 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
2830 (home-page "https://hub.darcs.net/scravy/easyplot")
2831 (synopsis "Haskell plotting library based on gnuplot")
2832 (description "This package provides a plotting library for
2833Haskell, using gnuplot for rendering.")
2834 (license license:expat)))
2835
2836(define-public ghc-echo
2837 (package
2838 (name "ghc-echo")
2839 (version "0.1.3")
2840 (source
2841 (origin
2842 (method url-fetch)
2843 (uri (string-append
2844 "https://hackage.haskell.org/package/echo/echo-"
2845 version ".tar.gz"))
2846 (sha256
2847 (base32
2848 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
2849 (build-system haskell-build-system)
2850 (arguments
2851 `(#:cabal-revision
2852 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
2853 (home-page "https://github.com/RyanGlScott/echo")
2854 (synopsis "Echo terminal input portably")
2855 (description "The @code{base} library exposes the @code{hGetEcho} and
2856@code{hSetEcho} functions for querying and setting echo status, but
2857unfortunately, neither function works with MinTTY consoles on Windows.
2858This library provides an alternative interface which works with both
2859MinTTY and other consoles.")
2860 (license license:bsd-3)))
2861
2862(define-public ghc-edisonapi
2863 (package
2864 (name "ghc-edisonapi")
2865 (version "1.3.1")
2866 (source
2867 (origin
2868 (method url-fetch)
2869 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
2870 "/EdisonAPI-" version ".tar.gz"))
2871 (sha256
2872 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
2873 (build-system haskell-build-system)
2874 (home-page "http://rwd.rdockins.name/edison/home/")
2875 (synopsis "Library of efficient, purely-functional data structures (API)")
2876 (description
2877 "Edison is a library of purely functional data structures written by
2878Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
2879value EDiSon (Efficient Data Structures). Edison provides several families of
2880abstractions, each with multiple implementations. The main abstractions
2881provided by Edison are: Sequences such as stacks, queues, and dequeues;
2882Collections such as sets, bags and heaps; and Associative Collections such as
2883finite maps and priority queues where the priority and element are distinct.")
2884 (license license:expat)))
2885
2886(define-public ghc-edisoncore
2887 (package
2888 (name "ghc-edisoncore")
2889 (version "1.3.2.1")
2890 (source
2891 (origin
2892 (method url-fetch)
2893 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
2894 "/EdisonCore-" version ".tar.gz"))
2895 (sha256
2896 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
2897 (build-system haskell-build-system)
2898 (inputs
2899 `(("ghc-quickcheck" ,ghc-quickcheck)
2900 ("ghc-edisonapi" ,ghc-edisonapi)))
2901 (home-page "http://rwd.rdockins.name/edison/home/")
2902 (synopsis "Library of efficient, purely-functional data structures")
2903 (description
2904 "This package provides the core Edison data structure implementations,
2905including multiple sequence, set, bag, and finite map concrete implementations
2906with various performance characteristics.")
2907 (license license:expat)))
2908
2909(define-public ghc-edit-distance
2910 (package
2911 (name "ghc-edit-distance")
2912 (version "0.2.2.1")
2913 (source
2914 (origin
2915 (method url-fetch)
2916 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
2917 "/edit-distance-" version ".tar.gz"))
2918 (sha256
2919 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
2920 (build-system haskell-build-system)
2921 (arguments
2922 `(#:phases
2923 (modify-phases %standard-phases
2924 (add-before 'configure 'update-constraints
2925 (lambda _
2926 (substitute* "edit-distance.cabal"
2927 (("QuickCheck >= 2\\.4 && <2\\.9")
2928 "QuickCheck >= 2.4 && < 2.12")))))))
2929 (inputs
2930 `(("ghc-random" ,ghc-random)
2931 ("ghc-test-framework" ,ghc-test-framework)
2932 ("ghc-quickcheck" ,ghc-quickcheck)
2933 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2934 (home-page "https://github.com/phadej/edit-distance")
2935 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
2936 (description
2937 "This package provides optimized functions to determine the edit
2938distances for fuzzy matching, including Levenshtein and restricted
2939Damerau-Levenshtein algorithms.")
2940 (license license:bsd-3)))
2941
2942(define-public ghc-either
2943 (package
2944 (name "ghc-either")
2945 (version "5.0.1")
2946 (source
2947 (origin
2948 (method url-fetch)
2949 (uri (string-append "https://hackage.haskell.org/package/"
2950 "either-" version "/"
2951 "either-" version ".tar.gz"))
2952 (sha256
2953 (base32
2954 "064hjfld7dkzs78sy30k5qkiva3hx24rax6dvzz5ygr2c0zypdkc"))))
2955 (build-system haskell-build-system)
2956 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
2957 ("ghc-exceptions" ,ghc-exceptions)
2958 ("ghc-free" ,ghc-free)
2959 ("ghc-monad-control" ,ghc-monad-control)
2960 ("ghc-manodrandom" ,ghc-monadrandom)
2961 ("ghc-mmorph" ,ghc-mmorph)
2962 ("ghc-profunctors" ,ghc-profunctors)
2963 ("ghc-semigroups" ,ghc-semigroups)
2964 ("ghc-semigroupoids" ,ghc-semigroupoids)
2965 ("ghc-transformers-base" ,ghc-transformers-base)))
2966 (native-inputs
2967 `(("ghc-quickcheck" ,ghc-quickcheck)
2968 ("ghc-test-framework" ,ghc-test-framework)
2969 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2970 (home-page "https://github.com/ekmett/either")
2971 (synopsis "Provides an either monad transformer for Haskell")
2972 (description "This Haskell package provides an either monad transformer.")
2973 (license license:bsd-3)))
2974
2975(define-public ghc-email-validate
2976 (package
2977 (name "ghc-email-validate")
a4fe1c64 2978 (version "2.3.2.12")
dddbc90c
RV
2979 (source
2980 (origin
2981 (method url-fetch)
2982 (uri (string-append
2983 "https://hackage.haskell.org/package/"
2984 "email-validate/email-validate-"
2985 version
2986 ".tar.gz"))
2987 (sha256
2988 (base32
a4fe1c64 2989 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
2990 (build-system haskell-build-system)
2991 (inputs
2992 `(("ghc-attoparsec" ,ghc-attoparsec)
2993 ("ghc-hspec" ,ghc-hspec)
2994 ("ghc-quickcheck" ,ghc-quickcheck)
2995 ("ghc-doctest" ,ghc-doctest)))
2996 (home-page
2997 "https://github.com/Porges/email-validate-hs")
2998 (synopsis "Email address validator for Haskell")
2999 (description
3000 "This Haskell package provides a validator that can validate an email
3001address string against RFC 5322.")
3002 (license license:bsd-3)))
3003
3004(define-public ghc-enclosed-exceptions
3005 (package
3006 (name "ghc-enclosed-exceptions")
3007 (version "1.0.3")
3008 (source (origin
3009 (method url-fetch)
3010 (uri (string-append "https://hackage.haskell.org/package/"
3011 "enclosed-exceptions/enclosed-exceptions-"
3012 version ".tar.gz"))
3013 (sha256
3014 (base32
3015 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3016 (build-system haskell-build-system)
3017 ;; FIXME: one of the tests blocks forever:
3018 ;; "thread blocked indefinitely in an MVar operation"
3019 (arguments '(#:tests? #f))
3020 (inputs
3021 `(("ghc-lifted-base" ,ghc-lifted-base)
3022 ("ghc-monad-control" ,ghc-monad-control)
3023 ("ghc-async" ,ghc-async)
3024 ("ghc-transformers-base" ,ghc-transformers-base)))
3025 (native-inputs
3026 `(("ghc-hspec" ,ghc-hspec)
3027 ("ghc-quickcheck" ,ghc-quickcheck)))
3028 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3029 (synopsis "Catch all exceptions from within an enclosed computation")
3030 (description
3031 "This library implements a technique to catch all exceptions raised
3032within an enclosed computation, while remaining responsive to (external)
3033asynchronous exceptions.")
3034 (license license:expat)))
3035
3036(define-public ghc-equivalence
3037 (package
3038 (name "ghc-equivalence")
3039 (version "0.3.2")
3040 (source
3041 (origin
3042 (method url-fetch)
3043 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3044 "/equivalence-" version ".tar.gz"))
3045 (sha256
3046 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
3047 (build-system haskell-build-system)
3048 (inputs
3049 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3050 ("ghc-transformers-compat" ,ghc-transformers-compat)
3051 ("ghc-quickcheck" ,ghc-quickcheck)
3052 ("ghc-test-framework" ,ghc-test-framework)
3053 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3054 (home-page "https://github.com/pa-ba/equivalence")
3055 (synopsis "Maintaining an equivalence relation implemented as union-find")
3056 (description
3057 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3058Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
305922(2), 1975) in order to maintain an equivalence relation. This
3060implementation is a port of the @code{union-find} package using the @code{ST}
3061monad transformer (instead of the IO monad).")
3062 (license license:bsd-3)))
3063
3064(define-public ghc-erf
3065 (package
3066 (name "ghc-erf")
3067 (version "2.0.0.0")
3068 (source
3069 (origin
3070 (method url-fetch)
3071 (uri (string-append "https://hackage.haskell.org/package/"
3072 "erf-" version "/"
3073 "erf-" version ".tar.gz"))
3074 (sha256
3075 (base32
3076 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3077 (build-system haskell-build-system)
3078 (home-page "https://hackage.haskell.org/package/erf")
3079 (synopsis "The error function, erf, and related functions for Haskell")
3080 (description "This Haskell library provides a type class for the
3081error function, erf, and related functions. Instances for Float and
3082Double.")
3083 (license license:bsd-3)))
3084
3085(define-public ghc-errorcall-eq-instance
3086 (package
3087 (name "ghc-errorcall-eq-instance")
3088 (version "0.3.0")
3089 (source
3090 (origin
3091 (method url-fetch)
3092 (uri (string-append "https://hackage.haskell.org/package/"
3093 "errorcall-eq-instance/errorcall-eq-instance-"
3094 version ".tar.gz"))
3095 (sha256
3096 (base32
3097 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3098 (build-system haskell-build-system)
3099 (inputs
3100 `(("ghc-base-orphans" ,ghc-base-orphans)))
3101 (native-inputs
3102 `(("ghc-quickcheck" ,ghc-quickcheck)
3103 ("ghc-hspec" ,ghc-hspec)
3104 ("hspec-discover" ,hspec-discover)))
3105 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3106 (synopsis "Orphan Eq instance for ErrorCall")
3107 (description
3108 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3109This package provides an orphan instance.")
3110 (license license:expat)))
3111
3112(define-public ghc-errors
3113 (package
3114 (name "ghc-errors")
3115 (version "2.3.0")
3116 (source
3117 (origin
3118 (method url-fetch)
3119 (uri (string-append "https://hackage.haskell.org/package/"
3120 "errors-" version "/"
3121 "errors-" version ".tar.gz"))
3122 (sha256
3123 (base32
3124 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3125 (build-system haskell-build-system)
3126 (inputs
3127 `(("ghc-exceptions" ,ghc-exceptions)
3128 ("ghc-transformers-compat" ,ghc-transformers-compat)
3129 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3130 ("ghc-safe" ,ghc-safe)))
3131 (home-page "https://github.com/gabriel439/haskell-errors-library")
3132 (synopsis "Error handling library for Haskell")
3133 (description "This library encourages an error-handling style that
3134directly uses the type system, rather than out-of-band exceptions.")
3135 (license license:bsd-3)))
3136
3137(define-public ghc-esqueleto
3138 (let ((version "2.5.3")
3139 (revision "1")
3140 (commit "b81e0d951e510ebffca03c5a58658ad884cc6fbd"))
3141 (package
3142 (name "ghc-esqueleto")
3143 (version (git-version version revision commit))
3144 (source
3145 (origin
3146 (method git-fetch)
3147 (uri (git-reference
3148 (url "https://github.com/bitemyapp/esqueleto")
3149 (commit commit)))
3150 (file-name (git-file-name name version))
3151 (sha256
3152 (base32
3153 "0lz1qxms7cfg5p3j37inlych0r2fwhm8xbarcys3df9m7jy9nixa"))))
3154 (build-system haskell-build-system)
3155 (arguments
3156 `(#:haddock? #f ; Haddock reports an internal error.
3157 #:phases
3158 (modify-phases %standard-phases
3159 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3160 ;; SQLite backends. Since we only have Haskell packages for
3161 ;; SQLite, we remove the other two test suites. FIXME: Add the
3162 ;; other backends and run all three test suites.
3163 (add-before 'configure 'remove-non-sqlite-test-suites
3164 (lambda _
3165 (use-modules (ice-9 rdelim))
3166 (with-atomic-file-replacement "esqueleto.cabal"
3167 (lambda (in out)
3168 (let loop ((line (read-line in 'concat)) (deleting? #f))
3169 (cond
3170 ((eof-object? line) #t)
3171 ((string-every char-set:whitespace line)
3172 (unless deleting? (display line out))
3173 (loop (read-line in 'concat) #f))
3174 ((member line '("test-suite mysql\n"
3175 "test-suite postgresql\n"))
3176 (loop (read-line in 'concat) #t))
3177 (else
3178 (unless deleting? (display line out))
3179 (loop (read-line in 'concat) deleting?)))))))))))
3180 (inputs
3181 `(("ghc-blaze-html" ,ghc-blaze-html)
3182 ("ghc-conduit" ,ghc-conduit)
3183 ("ghc-monad-logger" ,ghc-monad-logger)
3184 ("ghc-persistent" ,ghc-persistent)
3185 ("ghc-resourcet" ,ghc-resourcet)
3186 ("ghc-tagged" ,ghc-tagged)
3187 ("ghc-unliftio" ,ghc-unliftio)
3188 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3189 (native-inputs
3190 `(("ghc-hspec" ,ghc-hspec)
3191 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3192 ("ghc-persistent-template" ,ghc-persistent-template)))
3193 (home-page "https://github.com/bitemyapp/esqueleto")
3194 (synopsis "Type-safe embedded domain specific language for SQL queries")
3195 (description "This library provides a type-safe embedded domain specific
3196language (EDSL) for SQL queries that works with SQL backends as provided by
3197@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3198to learn new concepts, just new syntax, and it's fairly easy to predict the
3199generated SQL and optimize it for your backend.")
3200 (license license:bsd-3))))
3201
3202(define-public ghc-exactprint
3203 (package
3204 (name "ghc-exactprint")
3205 (version "0.5.6.1")
3206 (source
3207 (origin
3208 (method url-fetch)
3209 (uri (string-append
3210 "https://hackage.haskell.org/package/"
3211 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3212 (sha256
3213 (base32
3214 "141k6qiys0m0r4br7ikp4i546vs3xcil9cwglzcdfcbnb5nj1z87"))))
3215 (build-system haskell-build-system)
3216 (inputs
3217 `(("ghc-paths" ,ghc-paths)
3218 ("ghc-syb" ,ghc-syb)
3219 ("ghc-free" ,ghc-free)))
3220 (native-inputs
3221 `(("ghc-hunit" ,ghc-hunit)
3222 ("ghc-diff" ,ghc-diff)
3223 ("ghc-silently" ,ghc-silently)
3224 ("ghc-filemanip" ,ghc-filemanip)))
3225 (home-page
3226 "http://hackage.haskell.org/package/ghc-exactprint")
3227 (synopsis "ExactPrint for GHC")
3228 (description
3229 "Using the API Annotations available from GHC 7.10.2, this library
3230provides a means to round-trip any code that can be compiled by GHC, currently
3231excluding @file{.lhs} files.")
3232 (license license:bsd-3)))
3233
3234(define-public ghc-exceptions
3235 (package
3236 (name "ghc-exceptions")
46d3e65b 3237 (version "0.10.3")
dddbc90c
RV
3238 (source
3239 (origin
3240 (method url-fetch)
3241 (uri (string-append
3242 "https://hackage.haskell.org/package/exceptions/exceptions-"
3243 version
3244 ".tar.gz"))
3245 (sha256
3246 (base32
46d3e65b 3247 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3248 (build-system haskell-build-system)
3249 (native-inputs
3250 `(("ghc-quickcheck" ,ghc-quickcheck)
3251 ("ghc-test-framework" ,ghc-test-framework)
3252 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3253 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3254 (inputs
3255 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3256 (home-page "https://github.com/ekmett/exceptions/")
3257 (synopsis "Extensible optionally-pure exceptions")
3258 (description "This library provides extensible optionally-pure exceptions
3259for Haskell.")
3260 (license license:bsd-3)))
3261
3262(define-public ghc-executable-path
3263 (package
3264 (name "ghc-executable-path")
3265 (version "0.0.3.1")
3266 (source (origin
3267 (method url-fetch)
3268 (uri (string-append "https://hackage.haskell.org/package/"
3269 "executable-path/executable-path-"
3270 version ".tar.gz"))
3271 (sha256
3272 (base32
3273 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3274 (build-system haskell-build-system)
3275 (home-page "https://hackage.haskell.org/package/executable-path")
3276 (synopsis "Find out the full path of the executable")
3277 (description
3278 "The documentation of @code{System.Environment.getProgName} says that
3279\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3280instead, for maximum portability, we just return the leafname of the program
3281as invoked.\" This library tries to provide the missing path.")
3282 (license license:public-domain)))
3283
3284(define-public ghc-extensible-exceptions
3285 (package
3286 (name "ghc-extensible-exceptions")
3287 (version "0.1.1.4")
3288 (source
3289 (origin
3290 (method url-fetch)
3291 (uri (string-append "https://hackage.haskell.org/package/"
3292 "extensible-exceptions/extensible-exceptions-"
3293 version ".tar.gz"))
3294 (sha256
3295 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3296 (build-system haskell-build-system)
3297 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3298 (synopsis "Extensible exceptions for Haskell")
3299 (description
3300 "This package provides extensible exceptions for both new and old
3301versions of GHC (i.e., < 6.10).")
3302 (license license:bsd-3)))
3303
3304(define-public ghc-extra
3305 (package
3306 (name "ghc-extra")
10650c44 3307 (version "1.6.18")
dddbc90c
RV
3308 (source
3309 (origin
3310 (method url-fetch)
3311 (uri (string-append
3312 "https://hackage.haskell.org/package/extra/extra-"
3313 version
3314 ".tar.gz"))
3315 (sha256
3316 (base32
10650c44 3317 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
dddbc90c
RV
3318 (build-system haskell-build-system)
3319 (inputs
3320 `(("ghc-clock" ,ghc-clock)
10650c44 3321 ("ghc-semigroups" ,ghc-semigroups)
dddbc90c
RV
3322 ("ghc-quickcheck" ,ghc-quickcheck)))
3323 (home-page "https://github.com/ndmitchell/extra")
3324 (synopsis "Extra Haskell functions")
3325 (description "This library provides extra functions for the standard
3326Haskell libraries. Most functions are simple additions, filling out missing
3327functionality. A few functions are available in later versions of GHC, but
3328this package makes them available back to GHC 7.2.")
3329 (license license:bsd-3)))
3330
3331(define-public ghc-fail
3332 (package
3333 (name "ghc-fail")
3334 (version "4.9.0.0")
3335 (source
3336 (origin
3337 (method url-fetch)
3338 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3339 version ".tar.gz"))
3340 (sha256
3341 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3342 (build-system haskell-build-system)
3343 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3344 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3345 (synopsis "Forward-compatible MonadFail class")
3346 (description
3347 "This package contains the @code{Control.Monad.Fail} module providing the
3348@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3349class that became available in
3350@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3351older @code{base} package versions. This package turns into an empty package
3352when used with GHC versions which already provide the
3353@code{Control.Monad.Fail} module.")
3354 (license license:bsd-3)))
3355
3356(define-public ghc-fast-logger
3357 (package
3358 (name "ghc-fast-logger")
d443a52a 3359 (version "2.4.17")
dddbc90c
RV
3360 (source
3361 (origin
3362 (method url-fetch)
3363 (uri (string-append
3364 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3365 version
3366 ".tar.gz"))
3367 (sha256
3368 (base32
d443a52a 3369 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
3370 (build-system haskell-build-system)
3371 (inputs
3372 `(("ghc-auto-update" ,ghc-auto-update)
3373 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
3374 ("ghc-unix-time" ,ghc-unix-time)
3375 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
3376 (native-inputs
3377 `(("hspec-discover" ,hspec-discover)
3378 ("ghc-hspec" ,ghc-hspec)))
3379 (home-page "https://hackage.haskell.org/package/fast-logger")
3380 (synopsis "Fast logging system")
3381 (description "This library provides a fast logging system for Haskell.")
3382 (license license:bsd-3)))
3383
3384(define-public ghc-feed
3385 (package
3386 (name "ghc-feed")
3387 (version "1.0.0.0")
3388 (source
3389 (origin
3390 (method url-fetch)
3391 (uri (string-append "https://hackage.haskell.org/package/"
3392 "feed/feed-" version ".tar.gz"))
3393 (sha256
3394 (base32
3395 "05rgg7x1984mgfhkmz792xj8lhwjgznixhygzr8blf517lns2nck"))))
3396 (build-system haskell-build-system)
3397 (arguments
3398 `(#:cabal-revision
3399 ("4" "0baavcavm3ywykcr9cm07aqr7sna98jba2n68lyn3kany8ri214d")))
3400 (inputs
3401 `(("ghc-base-compat" ,ghc-base-compat)
3402 ("ghc-old-locale" ,ghc-old-locale)
3403 ("ghc-old-time" ,ghc-old-time)
3404 ("ghc-safe" ,ghc-safe)
3405 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3406 ("ghc-utf8-string" ,ghc-utf8-string)
3407 ("ghc-xml-conduit" ,ghc-xml-conduit)
3408 ("ghc-xml-types" ,ghc-xml-types)))
3409 (native-inputs
3410 `(("ghc-hunit" ,ghc-hunit)
3411 ("ghc-test-framework" ,ghc-test-framework)
3412 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3413 (home-page "https://github.com/bergmark/feed")
3414 (synopsis "Haskell package for handling various syndication formats")
3415 (description "This Haskell package includes tools for generating and
3416consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3417 (license license:bsd-3)))
3418
3419(define-public ghc-fgl
3420 (package
3421 (name "ghc-fgl")
17482b26 3422 (version "5.7.0.1")
dddbc90c
RV
3423 (outputs '("out" "doc"))
3424 (source
3425 (origin
3426 (method url-fetch)
3427 (uri (string-append
3428 "https://hackage.haskell.org/package/fgl/fgl-"
3429 version
3430 ".tar.gz"))
3431 (sha256
3432 (base32
17482b26 3433 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
3434 (build-system haskell-build-system)
3435 (arguments
3436 `(#:phases
3437 (modify-phases %standard-phases
3438 (add-before 'configure 'update-constraints
3439 (lambda _
3440 (substitute* "fgl.cabal"
17482b26
TS
3441 (("QuickCheck >= 2\\.8 && < 2\\.13")
3442 "QuickCheck >= 2.8 && < 2.14")
3443 (("hspec >= 2\\.1 && < 2\\.7")
3444 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3445 (inputs
3446 `(("ghc-hspec" ,ghc-hspec)
3447 ("ghc-quickcheck" ,ghc-quickcheck)))
3448 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3449 (synopsis
3450 "Martin Erwig's Functional Graph Library")
3451 (description "The functional graph library, FGL, is a collection of type
3452and function definitions to address graph problems. The basis of the library
3453is an inductive definition of graphs in the style of algebraic data types that
3454encourages inductive, recursive definitions of graph algorithms.")
3455 (license license:bsd-3)))
3456
3457(define-public ghc-fgl-arbitrary
3458 (package
3459 (name "ghc-fgl-arbitrary")
3460 (version "0.2.0.3")
3461 (source
3462 (origin
3463 (method url-fetch)
3464 (uri (string-append
3465 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3466 version ".tar.gz"))
3467 (sha256
3468 (base32
3469 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3470 (build-system haskell-build-system)
3471 (arguments
3472 `(#:phases
3473 (modify-phases %standard-phases
3474 (add-before 'configure 'update-constraints
3475 (lambda _
3476 (substitute* "fgl-arbitrary.cabal"
3477 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 3478 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 3479 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 3480 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3481 (inputs
3482 `(("ghc-fgl" ,ghc-fgl)
3483 ("ghc-quickcheck" ,ghc-quickcheck)
3484 ("ghc-hspec" ,ghc-hspec)))
3485 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3486 (synopsis "QuickCheck support for fgl")
3487 (description
3488 "Provides Arbitrary instances for fgl graphs to avoid adding a
3489QuickCheck dependency for fgl whilst still making the instances
3490available to others. Also available are non-fgl-specific functions
3491for generating graph-like data structures.")
3492 (license license:bsd-3)))
3493
3494(define-public ghc-file-embed
3495 (package
3496 (name "ghc-file-embed")
b5920d50 3497 (version "0.0.11")
dddbc90c
RV
3498 (source
3499 (origin
3500 (method url-fetch)
3501 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3502 "file-embed-" version ".tar.gz"))
3503 (sha256
3504 (base32
b5920d50 3505 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
3506 (build-system haskell-build-system)
3507 (home-page "https://github.com/snoyberg/file-embed")
3508 (synopsis "Use Template Haskell to embed file contents directly")
3509 (description
3510 "This package allows you to use Template Haskell to read a file or all
3511the files in a directory, and turn them into @code{(path, bytestring)} pairs
3512embedded in your Haskell code.")
3513 (license license:bsd-3)))
3514
3515(define-public ghc-filemanip
3516 (package
3517 (name "ghc-filemanip")
3518 (version "0.3.6.3")
3519 (source (origin
3520 (method url-fetch)
3521 (uri (string-append "https://hackage.haskell.org/package/"
3522 "filemanip/filemanip-" version ".tar.gz"))
3523 (sha256
3524 (base32
3525 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3526 (build-system haskell-build-system)
3527 (inputs
3528 `(("ghc-unix-compat" ,ghc-unix-compat)))
3529 (home-page "https://github.com/bos/filemanip")
3530 (synopsis "File and directory manipulation for Haskell")
3531 (description
3532 "This package provides a Haskell library for working with files and
3533directories. It includes code for pattern matching, finding files, modifying
3534file contents, and more.")
3535 (license license:bsd-3)))
3536
3537(define-public ghc-findbin
3538 (package
3539 (name "ghc-findbin")
3540 (version "0.0.5")
3541 (source
3542 (origin
3543 (method url-fetch)
3544 (uri (string-append
3545 "https://hackage.haskell.org/package/FindBin/FindBin-"
3546 version ".tar.gz"))
3547 (sha256
3548 (base32
3549 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3550 (build-system haskell-build-system)
3551 (home-page "https://github.com/audreyt/findbin")
3552 (synopsis "Get the absolute path of the running program")
3553 (description
3554 "This module locates the full directory of the running program, to allow
3555the use of paths relative to it. FindBin supports invocation of Haskell
3556programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3557an executable.")
3558 (license license:bsd-3)))
3559
3560(define-public ghc-fingertree
3561 (package
3562 (name "ghc-fingertree")
aac14fdc 3563 (version "0.1.4.2")
dddbc90c
RV
3564 (source
3565 (origin
3566 (method url-fetch)
3567 (uri (string-append
3568 "https://hackage.haskell.org/package/fingertree/fingertree-"
3569 version ".tar.gz"))
3570 (sha256
3571 (base32
aac14fdc 3572 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
3573 (build-system haskell-build-system)
3574 (native-inputs
3575 `(("ghc-hunit" ,ghc-hunit)
3576 ("ghc-quickcheck" ,ghc-quickcheck)
3577 ("ghc-test-framework" ,ghc-test-framework)
3578 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3579 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3580 (home-page "https://hackage.haskell.org/package/fingertree")
3581 (synopsis "Generic finger-tree structure")
3582 (description "This library provides finger trees, a general sequence
3583representation with arbitrary annotations, for use as a base for
3584implementations of various collection types. It includes examples, as
3585described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3586simple general-purpose data structure\".")
3587 (license license:bsd-3)))
3588
3589(define-public ghc-fixed
3590 (package
3591 (name "ghc-fixed")
099dda5b 3592 (version "0.3")
dddbc90c
RV
3593 (source
3594 (origin
3595 (method url-fetch)
3596 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
3597 version ".tar.gz"))
3598 (sha256
3599 (base32
099dda5b 3600 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
3601 (build-system haskell-build-system)
3602 (home-page "https://github.com/ekmett/fixed")
3603 (synopsis "Signed 15.16 precision fixed point arithmetic")
3604 (description
3605 "This package provides functions for signed 15.16 precision fixed point
3606arithmetic.")
3607 (license license:bsd-3)))
3608
f169f713
JS
3609(define-public ghc-fmlist
3610 (package
3611 (name "ghc-fmlist")
fe9b83a6 3612 (version "0.9.3")
f169f713
JS
3613 (source
3614 (origin
3615 (method url-fetch)
3616 (uri
3617 (string-append
3618 "https://hackage.haskell.org/package/fmlist/fmlist-"
3619 version ".tar.gz"))
3620 (sha256
3621 (base32
fe9b83a6 3622 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
3623 (build-system haskell-build-system)
3624 (home-page "https://github.com/sjoerdvisscher/fmlist")
3625 (synopsis "FoldMap lists")
3626 (description "FoldMap lists are lists represented by their
3627@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
3628append, just like DLists, but other operations might have favorable
3629performance characteristics as well. These wild claims are still
3630completely unverified though.")
3631 (license license:bsd-3)))
3632
dddbc90c
RV
3633(define-public ghc-foldl
3634 (package
3635 (name "ghc-foldl")
3636 (version "1.4.3")
3637 (source
3638 (origin
3639 (method url-fetch)
3640 (uri (string-append "https://hackage.haskell.org/package/"
3641 "foldl-" version "/"
3642 "foldl-" version ".tar.gz"))
3643 (sha256
3644 (base32
3645 "13n0ca3hw5jzqf6rxsdbhbwkn61a9zlm13f0f205s60j3sc72jzk"))))
3646 (build-system haskell-build-system)
3647 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3648 ("ghc-primitive" ,ghc-primitive)
3649 ("ghc-vector" ,ghc-vector)
3650 ("ghc-unordered-containers" ,ghc-unordered-containers)
3651 ("ghc-hashable" ,ghc-hashable)
3652 ("ghc-contravariant" ,ghc-contravariant)
3653 ("ghc-semigroups" ,ghc-semigroups)
3654 ("ghc-profunctors" ,ghc-profunctors)
3655 ("ghc-semigroupoids" ,ghc-semigroupoids)
3656 ("ghc-comonad" ,ghc-comonad)
3657 ("ghc-vector-builder" ,ghc-vector-builder)))
3658 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
3659 (synopsis "Composable, streaming, and efficient left folds for Haskell")
3660 (description "This Haskell library provides strict left folds that stream
3661in constant memory, and you can combine folds using @code{Applicative} style
3662to derive new folds. Derived folds still traverse the container just once
3663and are often as efficient as hand-written folds.")
3664 (license license:bsd-3)))
3665
3666(define-public ghc-foundation
3667 (package
3668 (name "ghc-foundation")
0a702df9 3669 (version "0.0.25")
dddbc90c
RV
3670 (source
3671 (origin
3672 (method url-fetch)
3673 (uri (string-append "https://hackage.haskell.org/package/"
3674 "foundation/foundation-" version ".tar.gz"))
3675 (sha256
3676 (base32
0a702df9 3677 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c
RV
3678 (build-system haskell-build-system)
3679 (inputs `(("ghc-basement" ,ghc-basement)))
3680 (home-page "https://github.com/haskell-foundation/foundation")
3681 (synopsis "Alternative prelude with batteries and no dependencies")
3682 (description
3683 "This package provides a custom prelude with no dependencies apart from
3684the base package.
3685
3686Foundation has the following goals:
3687
3688@enumerate
3689@item provide a base like sets of modules that provide a consistent set of
3690 features and bugfixes across multiple versions of GHC (unlike base).
3691@item provide a better and more efficient prelude than base's prelude.
3692@item be self-sufficient: no external dependencies apart from base;
3693@item provide better data-types: packed unicode string by default, arrays;
3694@item Numerical classes that better represent mathematical things (no more
3695 all-in-one @code{Num});
3696@item I/O system with less lazy IO.
3697@end enumerate\n")
3698 (license license:bsd-3)))
3699
3700(define-public ghc-free
3701 (package
3702 (name "ghc-free")
3703 (version "5.0.2")
3704 (source
3705 (origin
3706 (method url-fetch)
3707 (uri (string-append
3708 "https://hackage.haskell.org/package/free/free-"
3709 version
3710 ".tar.gz"))
3711 (sha256
3712 (base32
3713 "15m3n9vhz7z3kzv1w3wlfa3x8jp4cbrkwmrcjr7jlx39iqffn1gg"))))
3714 (build-system haskell-build-system)
3715 (inputs
3716 `(("ghc-prelude-extras" ,ghc-prelude-extras)
3717 ("ghc-profunctors" ,ghc-profunctors)
3718 ("ghc-exceptions" ,ghc-exceptions)
3719 ("ghc-bifunctors" ,ghc-bifunctors)
3720 ("ghc-comonad" ,ghc-comonad)
3721 ("ghc-distributive" ,ghc-distributive)
3722 ("ghc-semigroupoids" ,ghc-semigroupoids)
3723 ("ghc-semigroups" ,ghc-semigroups)
3724 ("ghc-transformers-base" ,ghc-transformers-base)
3725 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3726 (home-page "https://github.com/ekmett/free/")
3727 (synopsis "Unrestricted monads for Haskell")
3728 (description "This library provides free monads, which are useful for many
3729tree-like structures and domain specific languages. If @code{f} is a
3730@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
3731whose nodes are labeled with the constructors of @code{f}. The word \"free\"
3732is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
3733f} makes no constraining assumptions beyond those given by @code{f} and the
3734definition of @code{Monad}.")
3735 (license license:bsd-3)))
3736
3737(define-public ghc-fsnotify
3738 (package
3739 (name "ghc-fsnotify")
3740 (version "0.3.0.1")
3741 (source (origin
3742 (method url-fetch)
3743 (uri (string-append
3744 "https://hackage.haskell.org/package/fsnotify/"
3745 "fsnotify-" version ".tar.gz"))
3746 (sha256
3747 (base32
3748 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
3749 (build-system haskell-build-system)
3750 (inputs
3751 `(("ghc-async" ,ghc-async)
3752 ("ghc-unix-compat" ,ghc-unix-compat)
3753 ("ghc-hinotify" ,ghc-hinotify)
3754 ("ghc-tasty" ,ghc-tasty)
3755 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3756 ("ghc-random" ,ghc-random)
3757 ("ghc-shelly" ,ghc-shelly)
3758 ("ghc-temporary" ,ghc-temporary)))
3759 (home-page "https://github.com/haskell-fswatch/hfsnotify")
3760 (synopsis "Cross platform library for file change notification.")
3761 (description "Cross platform library for file creation, modification, and
3762deletion notification. This library builds upon existing libraries for platform
3763specific Windows, Mac, and Linux file system event notification.")
3764 (license license:bsd-3)))
3765
3766(define-public ghc-generic-deriving
3767 (package
3768 (name "ghc-generic-deriving")
55c1e6be 3769 (version "1.12.4")
dddbc90c
RV
3770 (source
3771 (origin
3772 (method url-fetch)
3773 (uri (string-append
3774 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
3775 version
3776 ".tar.gz"))
3777 (sha256
3778 (base32
55c1e6be 3779 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
3780 (build-system haskell-build-system)
3781 (inputs
3782 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
3783 (native-inputs
3784 `(("ghc-hspec" ,ghc-hspec)
3785 ("hspec-discover" ,hspec-discover)))
3786 (home-page "https://hackage.haskell.org/package/generic-deriving")
3787 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3788 (description "This package provides functionality for generalising the
3789deriving mechanism in Haskell to arbitrary classes.")
3790 (license license:bsd-3)))
3791
3792(define-public ghc-generics-sop
3793 (package
3794 (name "ghc-generics-sop")
3ed40e10 3795 (version "0.4.0.1")
dddbc90c
RV
3796 (source
3797 (origin
3798 (method url-fetch)
3799 (uri (string-append "https://hackage.haskell.org/package/"
3800 "generics-sop-" version "/"
3801 "generics-sop-" version ".tar.gz"))
3802 (sha256
3803 (base32
3ed40e10 3804 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 3805 (build-system haskell-build-system)
3ed40e10
TS
3806 (inputs
3807 `(("ghc-sop-core" ,ghc-sop-core)
3808 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
3809 (home-page "https://github.com/well-typed/generics-sop")
3810 (synopsis "Generic Programming using True Sums of Products for Haskell")
3811 (description "This Haskell package supports the definition of generic
3812functions. Datatypes are viewed in a uniform, structured way: the choice
3813between constructors is represented using an n-ary sum, and the arguments of
3814each constructor are represented using an n-ary product.")
3815 (license license:bsd-3)))
3816
3817(define-public ghc-geniplate-mirror
3818 (package
3819 (name "ghc-geniplate-mirror")
3820 (version "0.7.6")
3821 (source
3822 (origin
3823 (method url-fetch)
3824 (uri (string-append "https://hackage.haskell.org/package"
3825 "/geniplate-mirror"
3826 "/geniplate-mirror-" version ".tar.gz"))
3827 (sha256
3828 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
3829 (build-system haskell-build-system)
3830 (home-page "https://github.com/danr/geniplate")
3831 (synopsis "Use Template Haskell to generate Uniplate-like functions")
3832 (description
3833 "Use Template Haskell to generate Uniplate-like functions. This is a
3834maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
3835geniplate} package, written by Lennart Augustsson.")
3836 (license license:bsd-3)))
3837
3838(define-public ghc-genvalidity
3839 (package
3840 (name "ghc-genvalidity")
920f44a1 3841 (version "0.8.0.0")
dddbc90c
RV
3842 (source
3843 (origin
3844 (method url-fetch)
3845 (uri (string-append
3846 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
3847 version
3848 ".tar.gz"))
3849 (sha256
3850 (base32
920f44a1 3851 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
3852 (build-system haskell-build-system)
3853 (inputs
3854 `(("ghc-quickcheck" ,ghc-quickcheck)
3855 ("ghc-validity" ,ghc-validity)))
3856 (native-inputs
3857 `(("ghc-hspec" ,ghc-hspec)
3858 ("hspec-discover" ,hspec-discover)
3859 ("ghc-hspec-core" ,ghc-hspec-core)))
3860 (home-page
3861 "https://github.com/NorfairKing/validity")
3862 (synopsis
3863 "Testing utilities for the @code{validity} library")
3864 (description
3865 "This package provides testing utilities that are useful in conjunction
3866with the @code{Validity} typeclass.")
3867 (license license:expat)))
3868
3869(define-public ghc-genvalidity-property
3870 (package
3871 (name "ghc-genvalidity-property")
e4ede35b 3872 (version "0.4.0.0")
dddbc90c
RV
3873 (source
3874 (origin
3875 (method url-fetch)
3876 (uri (string-append
3877 "https://hackage.haskell.org/package/"
3878 "genvalidity-property/genvalidity-property-"
3879 version
3880 ".tar.gz"))
3881 (sha256
3882 (base32
e4ede35b 3883 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
3884 (build-system haskell-build-system)
3885 (inputs
3886 `(("ghc-quickcheck" ,ghc-quickcheck)
3887 ("ghc-genvalidity" ,ghc-genvalidity)
3888 ("ghc-hspec" ,ghc-hspec)
3889 ("hspec-discover" ,hspec-discover)
3890 ("ghc-validity" ,ghc-validity)))
3891 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
3892 (home-page
3893 "https://github.com/NorfairKing/validity")
3894 (synopsis
3895 "Standard properties for functions on @code{Validity} types")
3896 (description
3897 "This package supplements the @code{Validity} typeclass with standard
3898properties for functions operating on them.")
3899 (license license:expat)))
3900
3901(define-public ghc-gitrev
3902 (package
3903 (name "ghc-gitrev")
3904 (version "1.3.1")
3905 (source
3906 (origin
3907 (method url-fetch)
3908 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
3909 version ".tar.gz"))
3910 (sha256
3911 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
3912 (build-system haskell-build-system)
3913 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
3914 (home-page "https://github.com/acfoltzer/gitrev")
3915 (synopsis "Compile git revision info into Haskell projects")
3916 (description
3917 "This package provides some handy Template Haskell splices for including
3918the current git hash and branch in the code of your project. This is useful
3919for including in panic messages, @command{--version} output, or diagnostic
3920info for more informative bug reports.")
3921 (license license:bsd-3)))
3922
3923(define-public ghc-glob
3924 (package
3925 (name "ghc-glob")
b900f486 3926 (version "0.10.0")
dddbc90c
RV
3927 (source
3928 (origin
3929 (method url-fetch)
3930 (uri (string-append "https://hackage.haskell.org/package/"
3931 "Glob-" version "/"
3932 "Glob-" version ".tar.gz"))
3933 (sha256
3934 (base32
b900f486 3935 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
3936 (build-system haskell-build-system)
3937 (inputs
3938 `(("ghc-dlist" ,ghc-dlist)
3939 ("ghc-semigroups" ,ghc-semigroups)
3940 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3941 (native-inputs
3942 `(("ghc-hunit" ,ghc-hunit)
3943 ("ghc-quickcheck" ,ghc-quickcheck)
3944 ("ghc-test-framework" ,ghc-test-framework)
3945 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3946 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3947 (home-page "http://iki.fi/matti.niemenmaa/glob/")
3948 (synopsis "Haskell library matching glob patterns against file paths")
3949 (description "This package provides a Haskell library for @dfn{globbing}:
3950matching patterns against file paths.")
3951 (license license:bsd-3)))
3952
3953(define-public ghc-gluraw
3954 (package
3955 (name "ghc-gluraw")
3956 (version "2.0.0.4")
3957 (source
3958 (origin
3959 (method url-fetch)
3960 (uri (string-append
3961 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
3962 version
3963 ".tar.gz"))
3964 (sha256
3965 (base32
3966 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
3967 (build-system haskell-build-system)
3968 (inputs
3969 `(("ghc-openglraw" ,ghc-openglraw)))
3970 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3971 (synopsis "Raw Haskell bindings GLU")
3972 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
3973utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
3974basis for a nicer interface.")
3975 (license license:bsd-3)))
3976
3977(define-public ghc-glut
3978 (package
3979 (name "ghc-glut")
8284bd09 3980 (version "2.7.0.15")
dddbc90c
RV
3981 (source
3982 (origin
3983 (method url-fetch)
3984 (uri (string-append
3985 "https://hackage.haskell.org/package/GLUT/GLUT-"
3986 version
3987 ".tar.gz"))
3988 (sha256
3989 (base32
8284bd09 3990 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
3991 (build-system haskell-build-system)
3992 (inputs
3993 `(("ghc-statevar" ,ghc-statevar)
3994 ("ghc-opengl" ,ghc-opengl)
3995 ("ghc-openglraw" ,ghc-openglraw)
3996 ("freeglut" ,freeglut)))
3997 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3998 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
3999 (description "This library provides Haskell bindings for the OpenGL
4000Utility Toolkit, a window system-independent toolkit for writing OpenGL
4001programs.")
4002 (license license:bsd-3)))
4003
4004(define-public ghc-gnuplot
4005 (package
4006 (name "ghc-gnuplot")
d34860c7 4007 (version "0.5.6")
dddbc90c
RV
4008 (source
4009 (origin
4010 (method url-fetch)
4011 (uri (string-append
4012 "mirror://hackage/package/gnuplot/gnuplot-"
4013 version ".tar.gz"))
4014 (sha256
d34860c7 4015 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4016 (build-system haskell-build-system)
4017 (inputs
4018 `(("ghc-temporary" ,ghc-temporary)
4019 ("ghc-utility-ht" ,ghc-utility-ht)
4020 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4021 ("ghc-data-accessor" ,ghc-data-accessor)
4022 ("ghc-semigroups" ,ghc-semigroups)
4023 ("gnuplot" ,gnuplot)))
4024 (arguments
4025 `(#:phases
4026 (modify-phases %standard-phases
4027 (add-before 'configure 'fix-path-to-gnuplot
4028 (lambda* (#:key inputs #:allow-other-keys)
4029 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4030 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4031 (("(gnuplotName = ).*$" all cmd)
4032 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4033 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4034 (synopsis "2D and 3D plots using gnuplot")
4035 (description "This package provides a Haskell module for creating 2D and
40363D plots using gnuplot.")
4037 (license license:bsd-3)))
4038
4039(define-public ghc-graphviz
4040 (package
4041 (name "ghc-graphviz")
c264bd42 4042 (version "2999.20.0.3")
dddbc90c
RV
4043 (source (origin
4044 (method url-fetch)
4045 (uri (string-append "https://hackage.haskell.org/package/"
4046 "graphviz/graphviz-" version ".tar.gz"))
4047 (sha256
4048 (base32
c264bd42 4049 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4050 (build-system haskell-build-system)
c264bd42
TS
4051 (arguments
4052 `(#:phases
4053 (modify-phases %standard-phases
4054 (add-before 'configure 'update-constraints
4055 (lambda _
4056 (substitute* "graphviz.cabal"
4057 (("QuickCheck >= 2\\.3 && < 2\\.13")
4058 "QuickCheck >= 2.3 && < 2.14")
4059 (("hspec >= 2\\.1 && < 2\\.7")
4060 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4061 (inputs
4062 `(("ghc-quickcheck" ,ghc-quickcheck)
4063 ("ghc-colour" ,ghc-colour)
4064 ("ghc-dlist" ,ghc-dlist)
4065 ("ghc-fgl" ,ghc-fgl)
4066 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4067 ("ghc-polyparse" ,ghc-polyparse)
4068 ("ghc-temporary" ,ghc-temporary)
4069 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4070 (native-inputs
4071 `(("ghc-hspec" ,ghc-hspec)
4072 ("graphviz" ,graphviz)
4073 ("hspec-discover" ,hspec-discover)))
4074 (home-page "https://hackage.haskell.org/package/graphviz")
4075 (synopsis "Bindings to Graphviz for graph visualisation")
4076 (description
4077 "This library provides bindings for the Dot language used by
4078the @uref{https://graphviz.org/, Graphviz} suite of programs for
4079visualising graphs, as well as functions to call those programs.
4080Main features of the graphviz library include:
4081
4082@enumerate
4083@item Almost complete coverage of all Graphviz attributes and syntax
4084@item Support for specifying clusters
4085@item The ability to use a custom node type
4086@item Functions for running a Graphviz layout tool with all specified output types
4087@item Generate and parse Dot code with two options: strict and liberal
4088@item Functions to convert FGL graphs and other graph-like data structures
4089@item Round-trip support for passing an FGL graph through Graphviz to augment node
4090and edge labels with positional information, etc.
4091@end enumerate\n")
4092 (license license:bsd-3)))
4093
4094(define-public ghc-gtk2hs-buildtools
4095 (package
4096 (name "ghc-gtk2hs-buildtools")
4097 (version "0.13.4.0")
4098 (source
4099 (origin
4100 (method url-fetch)
4101 (uri (string-append "https://hackage.haskell.org/package/"
4102 "gtk2hs-buildtools/gtk2hs-buildtools-"
4103 version ".tar.gz"))
4104 (sha256
4105 (base32
4106 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
4107 (build-system haskell-build-system)
4108 (inputs
4109 `(("ghc-random" ,ghc-random)
4110 ("ghc-hashtables" ,ghc-hashtables)))
4111 (native-inputs
4112 `(("ghc-alex" ,ghc-alex)
4113 ("ghc-happy" ,ghc-happy)))
4114 (home-page "http://projects.haskell.org/gtk2hs/")
4115 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4116 (description
4117 "This package provides a set of helper programs necessary to build the
4118Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4119that is used to generate FFI declarations, a tool to build a type hierarchy
4120that mirrors the C type hierarchy of GObjects found in glib, and a generator
4121for signal declarations that are used to call back from C to Haskell. These
4122tools are not needed to actually run Gtk2Hs programs.")
4123 (license license:gpl2)))
4124
4125(define-public ghc-hackage-security
4126 (package
4127 (name "ghc-hackage-security")
4128 (version "0.5.3.0")
4129 (source
4130 (origin
4131 (method url-fetch)
4132 (uri (string-append "https://hackage.haskell.org/package/"
4133 "hackage-security/hackage-security-"
4134 version ".tar.gz"))
4135 (sha256
4136 (base32
4137 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4138 (build-system haskell-build-system)
4139 (arguments
4140 `(#:tests? #f)) ; Tests fail because of framework updates.
4141 (inputs
4142 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4143 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4144 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4145 ("ghc-ed25519" ,ghc-ed25519)
4146 ("ghc-network" ,ghc-network)
4147 ("ghc-network-uri" ,ghc-network-uri)
4148 ("ghc-tar" ,ghc-tar)
4149 ("ghc-zlib" ,ghc-zlib)))
4150 (native-inputs
4151 `(("ghc-network-uri" ,ghc-network-uri)
4152 ("ghc-quickcheck" ,ghc-quickcheck)
4153 ("ghc-tar" ,ghc-tar)
4154 ("ghc-tasty" ,ghc-tasty)
4155 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4156 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4157 ("ghc-temporary" ,ghc-temporary)
4158 ("ghc-zlib" ,ghc-zlib)))
4159 (home-page "https://github.com/haskell/hackage-security")
4160 (synopsis "Hackage security library")
4161 (description "This Hackage security library provides both server and
4162client utilities for securing @uref{http://hackage.haskell.org/, the
4163Hackage package server}. It is based on
4164@uref{http://theupdateframework.com/, The Update Framework}, a set of
4165recommendations developed by security researchers at various universities
4166in the US as well as developers on the @uref{https://www.torproject.org/,
4167Tor project}.")
4168 (license license:bsd-3)))
4169
4170(define-public ghc-haddock
4171 (package
4172 (name "ghc-haddock")
4173 (version "2.19.0.1")
4174 (source
4175 (origin
4176 (method url-fetch)
4177 (uri (string-append
4178 "https://hackage.haskell.org/package/haddock/haddock-"
4179 version
4180 ".tar.gz"))
4181 (sha256
4182 (base32
4183 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4184 (build-system haskell-build-system)
4185 (arguments
4186 `(#:phases
4187 (modify-phases %standard-phases
4188 ;; There are four test suites that require the ghc-haddock-test
4189 ;; package, which no longer builds with GHC 8.4.3. This phase
4190 ;; removes these four test suites from the Cabal file, so that we
4191 ;; do not need ghc-haddock-test as an input.
4192 (add-before 'configure 'remove-haddock-test-test-suites
4193 (lambda _
4194 (use-modules (ice-9 rdelim))
4195 (with-atomic-file-replacement "haddock.cabal"
4196 (lambda (in out)
4197 (let loop ((line (read-line in 'concat)) (deleting? #f))
4198 (cond
4199 ((eof-object? line) #t)
4200 ((string-every char-set:whitespace line)
4201 (unless deleting? (display line out))
4202 (loop (read-line in 'concat) #f))
4203 ((member line '("test-suite html-test\n"
4204 "test-suite hypsrc-test\n"
4205 "test-suite latex-test\n"
4206 "test-suite hoogle-test\n"))
4207 (loop (read-line in 'concat) #t))
4208 (else
4209 (unless deleting? (display line out))
4210 (loop (read-line in 'concat) deleting?)))))))))))
4211 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4212 (native-inputs
4213 `(("ghc-hspec" ,ghc-hspec)))
4214 (home-page "https://www.haskell.org/haddock/")
4215 (synopsis
4216 "Documentation-generation tool for Haskell libraries")
4217 (description
4218 "Haddock is a documentation-generation tool for Haskell libraries.")
4219 (license license:bsd-3)))
4220
4221(define-public ghc-haddock-api
4222 (package
4223 (name "ghc-haddock-api")
4224 (version "2.19.0.1")
4225 (source
4226 (origin
4227 (method url-fetch)
4228 (uri (string-append
4229 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4230 version
4231 ".tar.gz"))
4232 (sha256
4233 (base32
4234 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4235 (build-system haskell-build-system)
4236 (arguments
4237 `(#:phases
4238 (modify-phases %standard-phases
4239 (add-before 'configure 'update-constraints
4240 (lambda _
4241 (substitute* "haddock-api.cabal"
4242 (("Cabal \\^>= 2\\.0\\.0")
4243 "Cabal ^>= 2.2.0")
4244 (("hspec \\^>= 2\\.4\\.4")
4245 "hspec >= 2.4.4 && < 2.6")))))))
4246 (inputs
4247 `(("ghc-paths" ,ghc-paths)
4248 ("ghc-haddock-library" ,ghc-haddock-library)))
4249 (native-inputs
4250 `(("ghc-quickcheck" ,ghc-quickcheck)
4251 ("ghc-hspec" ,ghc-hspec)
4252 ("hspec-discover" ,hspec-discover)))
4253 (home-page "https://www.haskell.org/haddock/")
4254 (synopsis "API for documentation-generation tool Haddock")
4255 (description "This package provides an API to Haddock, the
4256documentation-generation tool for Haskell libraries.")
4257 (license license:bsd-3)))
4258
4259(define-public ghc-haddock-library
4260 (package
4261 (name "ghc-haddock-library")
4262 (version "1.5.0.1")
4263 (source
4264 (origin
4265 (method url-fetch)
4266 (uri (string-append
4267 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4268 version
4269 ".tar.gz"))
4270 (sha256
4271 (base32
4272 "1cmbg8l5xrwpliclwy3l057raypjqy0hsg1h1743ahaj8gq10b7z"))
4273 (patches (search-patches
4274 "ghc-haddock-library-unbundle.patch"))
4275 (modules '((guix build utils)))
4276 (snippet '(begin
4277 (delete-file-recursively "vendor")
4278 #t))))
4279 (build-system haskell-build-system)
4280 (arguments
4281 `(#:phases
4282 (modify-phases %standard-phases
4283 (add-before 'configure 'relax-test-suite-dependencies
4284 (lambda _
4285 (substitute* "haddock-library.cabal"
4286 (("base-compat\\s*\\^>= 0\\.9\\.3") "base-compat")
4287 (("hspec\\s*\\^>= 2\\.4\\.4") "hspec"))))
4288 ;; The release tarball does not contain the "fixtures/examples"
4289 ;; directory, which is required for testing. In the upstream
4290 ;; repository, the directory exists and is populated. Here, we
4291 ;; create an empty directory to placate the tests.
4292 (add-before 'check 'add-examples-directory
4293 (lambda _
4294 (mkdir "fixtures/examples")
4295 #t)))))
4296 (native-inputs
4297 `(("ghc-base-compat" ,ghc-base-compat)
4298 ("ghc-hspec" ,ghc-hspec)
4299 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4300 ("ghc-quickcheck" ,ghc-quickcheck)
4301 ("ghc-tree-diff" ,ghc-tree-diff)
4302 ("hspec-discover" ,hspec-discover)))
4303 (home-page "https://www.haskell.org/haddock/")
4304 (synopsis "Library exposing some functionality of Haddock")
4305 (description
4306 "Haddock is a documentation-generation tool for Haskell libraries. These
4307modules expose some functionality of it without pulling in the GHC dependency.
4308Please note that the API is likely to change so specify upper bounds in your
4309project if you can't release often. For interacting with Haddock itself, see
4310the ‘haddock’ package.")
4311 (license license:bsd-3)))
4312
4313(define-public ghc-half
4314 (package
4315 (name "ghc-half")
4316 (version "0.3")
4317 (source
4318 (origin
4319 (method url-fetch)
4320 (uri (string-append
4321 "https://hackage.haskell.org/package/half/half-"
4322 version ".tar.gz"))
4323 (sha256
4324 (base32
4325 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4326 (build-system haskell-build-system)
4327 (native-inputs
4328 `(("ghc-hspec" ,ghc-hspec)
4329 ("ghc-quickcheck" ,ghc-quickcheck)))
4330 (home-page "https://github.com/ekmett/half")
4331 (synopsis "Half-precision floating-point computations")
4332 (description "This library provides a half-precision floating-point
4333computation library for Haskell.")
4334 (license license:bsd-3)))
4335
4336(define-public ghc-happy
4337 (package
4338 (name "ghc-happy")
90e7b0e4 4339 (version "1.19.12")
dddbc90c
RV
4340 (source
4341 (origin
4342 (method url-fetch)
4343 (uri (string-append
4344 "https://hackage.haskell.org/package/happy/happy-"
4345 version
4346 ".tar.gz"))
4347 (sha256
4348 (base32
90e7b0e4 4349 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4350 (build-system haskell-build-system)
4351 (arguments
4352 `(#:phases
4353 (modify-phases %standard-phases
4354 (add-after 'unpack 'skip-test-issue93
4355 (lambda _
4356 ;; Tests run out of memory on a system with 2GB of available RAM,
4357 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4358 (substitute* "tests/Makefile"
4359 ((" issue93.y ") " "))
4360 #t)))))
4361 (home-page "https://hackage.haskell.org/package/happy")
4362 (synopsis "Parser generator for Haskell")
4363 (description "Happy is a parser generator for Haskell. Given a grammar
4364specification in BNF, Happy generates Haskell code to parse the grammar.
4365Happy works in a similar way to the yacc tool for C.")
4366 (license license:bsd-3)))
4367
4368(define-public ghc-hashable
4369 (package
4370 (name "ghc-hashable")
4371 (version "1.2.7.0")
4372 (outputs '("out" "doc"))
4373 (source
4374 (origin
4375 (method url-fetch)
4376 (uri (string-append
4377 "https://hackage.haskell.org/package/hashable/hashable-"
4378 version
4379 ".tar.gz"))
4380 (sha256
4381 (base32
4382 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4383 (build-system haskell-build-system)
65a16a45
TS
4384 (arguments
4385 `(#:cabal-revision
4386 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
4387 (inputs
4388 `(("ghc-random" ,ghc-random)))
4389 (native-inputs
4390 `(("ghc-test-framework" ,ghc-test-framework)
4391 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4392 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4393 ("ghc-hunit" ,ghc-hunit)
4394 ("ghc-quickcheck" ,ghc-quickcheck)))
4395 (home-page "https://github.com/tibbe/hashable")
4396 (synopsis "Class for types that can be converted to a hash value")
4397 (description
4398 "This package defines a class, @code{Hashable}, for types that can be
4399converted to a hash value. This class exists for the benefit of hashing-based
4400data structures. The package provides instances for basic types and a way to
4401combine hash values.")
4402 (license license:bsd-3)))
4403
4404(define-public ghc-hashable-bootstrap
4405 (package
4406 (inherit ghc-hashable)
4407 (name "ghc-hashable-bootstrap")
65a16a45
TS
4408 (arguments
4409 `(#:tests? #f
4410 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
4411 (native-inputs '())
4412 (properties '((hidden? #t)))))
4413
4414(define-public ghc-hashable-time
4415 (package
4416 (name "ghc-hashable-time")
f5051e31 4417 (version "0.2.0.2")
dddbc90c
RV
4418 (source
4419 (origin
4420 (method url-fetch)
4421 (uri (string-append
4422 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4423 version
4424 ".tar.gz"))
4425 (sha256
4426 (base32
f5051e31 4427 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
4428 (build-system haskell-build-system)
4429 (arguments
4430 `(#:cabal-revision
f5051e31 4431 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c
RV
4432 (inputs `(("ghc-hashable" ,ghc-hashable)))
4433 (home-page "http://hackage.haskell.org/package/hashable-time")
4434 (synopsis "Hashable instances for Data.Time")
4435 (description
4436 "This package provides @code{Hashable} instances for types in
4437@code{Data.Time}.")
4438 (license license:bsd-3)))
4439
4440(define-public ghc-hashtables
4441 (package
4442 (name "ghc-hashtables")
19edf0d0 4443 (version "1.2.3.4")
dddbc90c
RV
4444 (source
4445 (origin
4446 (method url-fetch)
4447 (uri (string-append
4448 "https://hackage.haskell.org/package/hashtables/hashtables-"
4449 version ".tar.gz"))
4450 (sha256
19edf0d0 4451 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
4452 (build-system haskell-build-system)
4453 (inputs
4454 `(("ghc-hashable" ,ghc-hashable)
4455 ("ghc-primitive" ,ghc-primitive)
4456 ("ghc-vector" ,ghc-vector)))
4457 (home-page "https://github.com/gregorycollins/hashtables")
4458 (synopsis "Haskell Mutable hash tables in the ST monad")
4459 (description "This package provides a Haskell library including a
4460couple of different implementations of mutable hash tables in the ST
4461monad, as well as a typeclass abstracting their common operations, and
4462a set of wrappers to use the hash tables in the IO monad.")
4463 (license license:bsd-3)))
4464
4465(define-public ghc-haskell-lexer
4466 (package
4467 (name "ghc-haskell-lexer")
4468 (version "1.0.2")
4469 (source
4470 (origin
4471 (method url-fetch)
4472 (uri (string-append
4473 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4474 version ".tar.gz"))
4475 (sha256
4476 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4477 (build-system haskell-build-system)
4478 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4479 (synopsis "Fully compliant Haskell 98 lexer")
4480 (description
4481 "This package provides a fully compliant Haskell 98 lexer.")
4482 (license license:bsd-3)))
4483
4484(define-public ghc-haskell-src
4485 (package
4486 (name "ghc-haskell-src")
4487 (version "1.0.3.0")
4488 (source
4489 (origin
4490 (method url-fetch)
4491 (uri (string-append
4492 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4493 version
4494 ".tar.gz"))
4495 (sha256
4496 (base32
4497 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4498 (build-system haskell-build-system)
4499 (inputs
4500 `(("ghc-happy" ,ghc-happy)
4501 ("ghc-syb" ,ghc-syb)))
4502 (home-page
4503 "https://hackage.haskell.org/package/haskell-src")
4504 (synopsis
4505 "Support for manipulating Haskell source code")
4506 (description
4507 "The @code{haskell-src} package provides support for manipulating Haskell
4508source code. The package provides a lexer, parser and pretty-printer, and a
4509definition of a Haskell abstract syntax tree (AST). Common uses of this
4510package are to parse or generate Haskell 98 code.")
4511 (license license:bsd-3)))
4512
4513(define-public ghc-haskell-src-exts
4514 (package
4515 (name "ghc-haskell-src-exts")
37a05591 4516 (version "1.21.1")
dddbc90c
RV
4517 (source
4518 (origin
4519 (method url-fetch)
4520 (uri (string-append
4521 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4522 version
4523 ".tar.gz"))
4524 (sha256
4525 (base32
37a05591 4526 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
4527 (build-system haskell-build-system)
4528 (inputs
4529 `(("cpphs" ,cpphs)
4530 ("ghc-happy" ,ghc-happy)
4531 ("ghc-pretty-show" ,ghc-pretty-show)))
4532 (native-inputs
4533 `(("ghc-smallcheck" ,ghc-smallcheck)
4534 ("ghc-tasty" ,ghc-tasty)
4535 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4536 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4537 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4538 (synopsis "Library for manipulating Haskell source")
4539 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4540extension of the standard @code{haskell-src} package, and handles most
4541registered syntactic extensions to Haskell. All extensions implemented in GHC
4542are supported. Apart from these standard extensions, it also handles regular
4543patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4544 (license license:bsd-3)))
4545
4546(define-public ghc-haskell-src-exts-util
4547 (package
4548 (name "ghc-haskell-src-exts-util")
77355bdf 4549 (version "0.2.5")
dddbc90c
RV
4550 (source
4551 (origin
4552 (method url-fetch)
4553 (uri (string-append "https://hackage.haskell.org/package/"
4554 "haskell-src-exts-util/haskell-src-exts-util-"
4555 version ".tar.gz"))
4556 (sha256
4557 (base32
77355bdf 4558 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
4559 (build-system haskell-build-system)
4560 (inputs
4561 `(("ghc-data-default" ,ghc-data-default)
4562 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4563 ("ghc-semigroups" ,ghc-semigroups)
4564 ("ghc-uniplate" ,ghc-uniplate)))
4565 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4566 (synopsis "Helper functions for working with haskell-src-exts trees")
4567 (description
4568 "This package provides helper functions for working with
4569@code{haskell-src-exts} trees.")
4570 (license license:bsd-3)))
4571
4572(define-public ghc-haskell-src-meta
4573 (package
4574 (name "ghc-haskell-src-meta")
e94b3c72 4575 (version "0.8.3")
dddbc90c
RV
4576 (source (origin
4577 (method url-fetch)
4578 (uri (string-append "https://hackage.haskell.org/package/"
4579 "haskell-src-meta/haskell-src-meta-"
4580 version ".tar.gz"))
4581 (sha256
4582 (base32
e94b3c72 4583 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
4584 (build-system haskell-build-system)
4585 (inputs
4586 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4587 ("ghc-syb" ,ghc-syb)
4588 ("ghc-th-orphans" ,ghc-th-orphans)))
4589 (native-inputs
4590 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
4591 ("ghc-tasty" ,ghc-tasty)
4592 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
4593 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4594 (synopsis "Parse source to template-haskell abstract syntax")
4595 (description
4596 "This package provides tools to parse Haskell sources to the
4597template-haskell abstract syntax.")
4598 (license license:bsd-3)))
4599
4600(define-public ghc-hasktags
4601 (package
4602 (name "ghc-hasktags")
4603 (version "0.71.2")
4604 (source
4605 (origin
4606 (method url-fetch)
4607 (uri (string-append
4608 "https://hackage.haskell.org/package/hasktags/hasktags-"
4609 version
4610 ".tar.gz"))
4611 (sha256
4612 (base32
4613 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4614 (build-system haskell-build-system)
4615 (inputs
4616 `(("ghc-system-filepath" ,ghc-system-filepath)
4617 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4618 (native-inputs
4619 `(("ghc-json" ,ghc-json)
4620 ("ghc-utf8-string" ,ghc-utf8-string)
4621 ("ghc-microlens-platform" ,ghc-microlens-platform)
4622 ("ghc-hunit" ,ghc-hunit)))
4623 (home-page "http://github.com/MarcWeber/hasktags")
4624 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4625 (description
4626 "This package provides a means of generating tag files for Emacs and
4627Vim.")
4628 (license license:bsd-3)))
4629
4630(define-public ghc-hex
4631 (package
4632 (name "ghc-hex")
4633 (version "0.1.2")
4634 (source
4635 (origin
4636 (method url-fetch)
4637 (uri (string-append "https://hackage.haskell.org/package/"
4638 "hex-" version "/"
4639 "hex-" version ".tar.gz"))
4640 (sha256
4641 (base32
4642 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4643 (build-system haskell-build-system)
4644 (home-page "https://hackage.haskell.org/package/hex")
4645 (synopsis "Convert strings into hexadecimal and back")
4646 (description "This package provides conversion functions between
4647bytestrings and their hexademical representation.")
4648 (license license:bsd-3)))
4649
4650(define-public ghc-highlighting-kate
4651 (package
4652 (name "ghc-highlighting-kate")
4653 (version "0.6.4")
4654 (source (origin
4655 (method url-fetch)
4656 (uri (string-append "https://hackage.haskell.org/package/"
4657 "highlighting-kate/highlighting-kate-"
4658 version ".tar.gz"))
4659 (sha256
4660 (base32
4661 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4662 (build-system haskell-build-system)
4663 (inputs
4664 `(("ghc-diff" ,ghc-diff)
4665 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4666 (native-inputs
4667 `(("ghc-blaze-html" ,ghc-blaze-html)
4668 ("ghc-utf8-string" ,ghc-utf8-string)))
4669 (home-page "https://github.com/jgm/highlighting-kate")
4670 (synopsis "Syntax highlighting library")
4671 (description
4672 "Highlighting-kate is a syntax highlighting library with support for
4673nearly one hundred languages. The syntax parsers are automatically generated
4674from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4675supported by Kate can be added. An (optional) command-line program is
4676provided, along with a utility for generating new parsers from Kate XML syntax
4677descriptions.")
4678 (license license:gpl2+)))
4679
4680(define-public ghc-hindent
4681 (package
4682 (name "ghc-hindent")
4683 (version "5.3.0")
4684 (source
4685 (origin
4686 (method url-fetch)
4687 (uri (string-append
4688 "https://hackage.haskell.org/package/hindent/hindent-"
4689 version
4690 ".tar.gz"))
4691 (sha256
4692 (base32
4693 "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg"))))
4694 (build-system haskell-build-system)
4695 (arguments
4696 `(#:modules ((guix build haskell-build-system)
4697 (guix build utils)
4698 (guix build emacs-utils))
4699 #:imported-modules (,@%haskell-build-system-modules
4700 (guix build emacs-utils))
4701 #:phases
4702 (modify-phases %standard-phases
4703 (add-after 'install 'emacs-install
4704 (lambda* (#:key inputs outputs #:allow-other-keys)
4705 (let* ((out (assoc-ref outputs "out"))
4706 (elisp-file "elisp/hindent.el")
4707 (dest (string-append out "/share/emacs/site-lisp"
4708 "/guix.d/hindent-" ,version))
4709 (emacs (string-append (assoc-ref inputs "emacs")
4710 "/bin/emacs")))
4711 (make-file-writable elisp-file)
4712 (emacs-substitute-variables elisp-file
4713 ("hindent-process-path"
4714 (string-append out "/bin/hindent")))
4715 (install-file elisp-file dest)
4716 (emacs-generate-autoloads "hindent" dest)))))))
4717 (inputs
4718 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4719 ("ghc-monad-loops" ,ghc-monad-loops)
4720 ("ghc-utf8-string" ,ghc-utf8-string)
4721 ("ghc-exceptions" ,ghc-exceptions)
4722 ("ghc-yaml" ,ghc-yaml)
4723 ("ghc-unix-compat" ,ghc-unix-compat)
4724 ("ghc-path" ,ghc-path)
4725 ("ghc-path-io" ,ghc-path-io)
4726 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4727 (native-inputs
4728 `(("ghc-hspec" ,ghc-hspec)
4729 ("ghc-diff" ,ghc-diff)
4730 ("emacs" ,emacs-minimal)))
4731 (home-page
4732 "https://github.com/commercialhaskell/hindent")
4733 (synopsis "Extensible Haskell pretty printer")
4734 (description
4735 "This package provides automatic formatting for Haskell files. Both a
4736library and an executable.")
4737 (license license:bsd-3)))
4738
4739(define-public ghc-hinotify
4740 (package
4741 (name "ghc-hinotify")
c2342abb 4742 (version "0.4")
dddbc90c
RV
4743 (source (origin
4744 (method url-fetch)
4745 (uri (string-append
4746 "https://hackage.haskell.org/package/hinotify/"
4747 "hinotify-" version ".tar.gz"))
4748 (sha256
4749 (base32
c2342abb 4750 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
4751 (build-system haskell-build-system)
4752 (inputs
4753 `(("ghc-async" ,ghc-async)))
4754 (home-page "https://github.com/kolmodin/hinotify.git")
4755 (synopsis "Haskell binding to inotify")
4756 (description "This library provides a wrapper to the Linux kernel's inotify
4757feature, allowing applications to subscribe to notifications when a file is
4758accessed or modified.")
4759 (license license:bsd-3)))
4760
4761(define-public ghc-hmatrix
4762 (package
4763 (name "ghc-hmatrix")
65e29ed1 4764 (version "0.20.0.0")
dddbc90c
RV
4765 (source
4766 (origin
4767 (method url-fetch)
4768 (uri (string-append
4769 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
4770 version ".tar.gz"))
4771 (sha256
65e29ed1 4772 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
4773 (build-system haskell-build-system)
4774 (inputs
4775 `(("ghc-random" ,ghc-random)
4776 ("ghc-split" ,ghc-split)
4777 ("ghc-storable-complex" ,ghc-storable-complex)
4778 ("ghc-semigroups" ,ghc-semigroups)
4779 ("ghc-vector" ,ghc-vector)
4780 ;;("openblas" ,openblas)
4781 ("lapack" ,lapack)))
4782 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
4783 ;; disables inclusion of the LAPACK functions.
4784 ;; (arguments `(#:configure-flags '("--flags=openblas")))
4785 (home-page "https://github.com/albertoruiz/hmatrix")
4786 (synopsis "Haskell numeric linear algebra library")
4787 (description "The HMatrix package provices a Haskell library for
4788dealing with linear systems, matrix decompositions, and other
4789numerical computations based on BLAS and LAPACK.")
4790 (license license:bsd-3)))
4791
4792(define-public ghc-hmatrix-gsl
4793 (package
4794 (name "ghc-hmatrix-gsl")
4795 (version "0.19.0.1")
4796 (source
4797 (origin
4798 (method url-fetch)
4799 (uri (string-append
4800 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
4801 version ".tar.gz"))
4802 (sha256
4803 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
4804 (build-system haskell-build-system)
4805 (inputs
4806 `(("ghc-hmatrix" ,ghc-hmatrix)
4807 ("ghc-vector" ,ghc-vector)
4808 ("ghc-random" ,ghc-random)
4809 ("gsl" ,gsl)))
4810 (native-inputs `(("pkg-config" ,pkg-config)))
4811 (home-page "https://github.com/albertoruiz/hmatrix")
4812 (synopsis "Haskell GSL binding")
4813 (description "This Haskell library provides a purely functional
4814interface to selected numerical computations, internally implemented
4815using GSL.")
4816 (license license:gpl3+)))
4817
4818(define-public ghc-hmatrix-gsl-stats
4819 (package
4820 (name "ghc-hmatrix-gsl-stats")
e9b359f5 4821 (version "0.4.1.8")
dddbc90c
RV
4822 (source
4823 (origin
4824 (method url-fetch)
4825 (uri
4826 (string-append
4827 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4828 version ".tar.gz"))
4829 (sha256
e9b359f5 4830 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
4831 (build-system haskell-build-system)
4832 (inputs
4833 `(("ghc-vector" ,ghc-vector)
4834 ("ghc-storable-complex" ,ghc-storable-complex)
4835 ("ghc-hmatrix" ,ghc-hmatrix)
4836 ("gsl" ,gsl)))
4837 (native-inputs `(("pkg-config" ,pkg-config)))
4838 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
4839 (synopsis "GSL Statistics interface for Haskell")
4840 (description "This Haskell library provides a purely functional
4841interface for statistics based on hmatrix and GSL.")
4842 (license license:bsd-3)))
4843
4844(define-public ghc-hmatrix-special
4845 (package
4846 (name "ghc-hmatrix-special")
4847 (version "0.19.0.0")
4848 (source
4849 (origin
4850 (method url-fetch)
4851 (uri
4852 (string-append
4853 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
4854 version ".tar.gz"))
4855 (sha256
4856 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
4857 (build-system haskell-build-system)
4858 (inputs
4859 `(("ghc-hmatrix" ,ghc-hmatrix)
4860 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
4861 (home-page "https://github.com/albertoruiz/hmatrix")
4862 (synopsis "Haskell interface to GSL special functions")
4863 (description "This library provides an interface to GSL special
4864functions for Haskell.")
4865 (license license:gpl3+)))
4866
4867(define-public ghc-hostname
4868 (package
4869 (name "ghc-hostname")
4870 (version "1.0")
4871 (source
4872 (origin
4873 (method url-fetch)
4874 (uri (string-append "https://hackage.haskell.org/package/hostname/"
4875 "hostname-" version ".tar.gz"))
4876 (sha256
4877 (base32
4878 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
4879 (build-system haskell-build-system)
4880 (home-page "https://hackage.haskell.org/package/hostname")
4881 (synopsis "Hostname in Haskell")
4882 (description "Network.HostName is a simple package providing a means to
4883determine the hostname.")
4884 (license license:bsd-3)))
4885
4886(define-public ghc-hourglass
4887 (package
4888 (name "ghc-hourglass")
4889 (version "0.2.12")
4890 (source (origin
4891 (method url-fetch)
4892 (uri (string-append "https://hackage.haskell.org/package/"
4893 "hourglass/hourglass-" version ".tar.gz"))
4894 (sha256
4895 (base32
4896 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
4897 (build-system haskell-build-system)
4898 (inputs
4899 `(("ghc-old-locale" ,ghc-old-locale)))
4900 (native-inputs
4901 `(("ghc-tasty" ,ghc-tasty)
4902 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4903 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4904 (home-page "https://github.com/vincenthz/hs-hourglass")
4905 (synopsis "Simple time-related library for Haskell")
4906 (description
4907 "This is a simple time library providing a simple but powerful and
4908performant API. The backbone of the library are the @code{Timeable} and
4909@code{Time} type classes. Each @code{Timeable} instances can be converted to
4910a type that has a @code{Time} instances, and thus are different
4911representations of current time.")
4912 (license license:bsd-3)))
4913
4914(define-public ghc-hpack
4915 (package
4916 (name "ghc-hpack")
4917 (version "0.28.2")
4918 (source
4919 (origin
4920 (method url-fetch)
4921 (uri (string-append "https://hackage.haskell.org/package/hpack/"
4922 "hpack-" version ".tar.gz"))
4923 (sha256
4924 (base32
4925 "18w0h76jdp3mk9vin8da9iz3cwhcxmw787xy8wlh8bxcpcr16q5r"))))
4926 (build-system haskell-build-system)
4927 (inputs
4928 `(("ghc-aeson" ,ghc-aeson)
4929 ("ghc-bifunctors" ,ghc-bifunctors)
4930 ("ghc-cryptonite" ,ghc-cryptonite)
4931 ("ghc-glob" ,ghc-glob)
4932 ("ghc-http-client" ,ghc-http-client)
4933 ("ghc-http-client-tls" ,ghc-http-client-tls)
4934 ("ghc-http-types" ,ghc-http-types)
4935 ("ghc-scientific" ,ghc-scientific)
4936 ("ghc-unordered-containers" ,ghc-unordered-containers)
4937 ("ghc-vector" ,ghc-vector)
4938 ("ghc-yaml" ,ghc-yaml)))
4939 (native-inputs
4940 `(("ghc-hspec" ,ghc-hspec)
4941 ("ghc-hunit" ,ghc-hunit)
4942 ("ghc-interpolate" ,ghc-interpolate)
4943 ("ghc-mockery" ,ghc-mockery)
4944 ("ghc-quickcheck" ,ghc-quickcheck)
4945 ("ghc-temporary" ,ghc-temporary)
4946 ("hspec-discover" ,hspec-discover)))
4947 (home-page "https://github.com/sol/hpack")
4948 (synopsis "Tools for an alternative Haskell package format")
4949 (description
4950 "Hpack is a format for Haskell packages. It is an alternative to the
4951Cabal package format and follows different design principles. Hpack packages
4952are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
4953@code{stack} support @code{package.yaml} natively. For other build tools the
4954@code{hpack} executable can be used to generate a @code{.cabal} file from
4955@code{package.yaml}.")
4956 (license license:expat)))
4957
4958(define-public ghc-hs-bibutils
4959 (package
4960 (name "ghc-hs-bibutils")
ebcb4f23 4961 (version "6.7.0.0")
dddbc90c
RV
4962 (source
4963 (origin
4964 (method url-fetch)
4965 (uri (string-append
4966 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
4967 version ".tar.gz"))
4968 (sha256
4969 (base32
ebcb4f23 4970 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
4971 (build-system haskell-build-system)
4972 (inputs `(("ghc-syb" ,ghc-syb)))
4973 (home-page "https://hackage.haskell.org/package/hs-bibutils")
4974 (synopsis "Haskell bindings to bibutils")
4975 (description
4976 "This package provides Haskell bindings to @code{bibutils}, a library
4977that interconverts between various bibliography formats using a common
4978MODS-format XML intermediate.")
4979 (license license:gpl2+)))
4980
4981(define-public ghc-hslogger
4982 (package
4983 (name "ghc-hslogger")
e5ccc5f7 4984 (version "1.2.12")
dddbc90c
RV
4985 (source
4986 (origin
4987 (method url-fetch)
4988 (uri (string-append "https://hackage.haskell.org/package/"
4989 "hslogger-" version "/" "hslogger-"
4990 version ".tar.gz"))
4991 (sha256 (base32
e5ccc5f7 4992 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
4993 (build-system haskell-build-system)
4994 (inputs
4995 `(("ghc-network" ,ghc-network)
4996 ("ghc-old-locale" ,ghc-old-locale)))
4997 (native-inputs
4998 `(("ghc-hunit" ,ghc-hunit)))
4999 (home-page "https://software.complete.org/hslogger")
5000 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5001 (description "Hslogger lets each log message have a priority and source be
5002associated with it. The programmer can then define global handlers that route
5003or filter messages based on the priority and source. It also has a syslog
5004handler built in.")
5005 (license license:bsd-3)))
5006
5007(define-public ghc-hslua
5008 (package
5009 (name "ghc-hslua")
cc784d7b 5010 (version "1.0.3.2")
dddbc90c
RV
5011 (source (origin
5012 (method url-fetch)
5013 (uri (string-append "https://hackage.haskell.org/package/"
5014 "hslua/hslua-" version ".tar.gz"))
5015 (sha256
5016 (base32
cc784d7b 5017 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5018 (build-system haskell-build-system)
5019 (arguments
5020 `(#:configure-flags '("-fsystem-lua")))
5021 (inputs
5022 `(("lua" ,lua)
5023 ("ghc-exceptions" ,ghc-exceptions)
5024 ("ghc-fail" ,ghc-fail)))
5025 (native-inputs
5026 `(("ghc-tasty" ,ghc-tasty)
5027 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5028 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5029 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5030 ("ghc-quickcheck" ,ghc-quickcheck)
5031 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5032 (home-page "https://hackage.haskell.org/package/hslua")
5033 (synopsis "Lua language interpreter embedding in Haskell")
5034 (description
5035 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5036described in @url{https://www.lua.org/}.")
5037 (license license:expat)))
5038
5039(define-public ghc-hslua-module-text
5040 (package
5041 (name "ghc-hslua-module-text")
ecaf0b0c 5042 (version "0.2.1")
dddbc90c
RV
5043 (source
5044 (origin
5045 (method url-fetch)
5046 (uri (string-append "https://hackage.haskell.org/package/"
5047 "hslua-module-text/hslua-module-text-"
5048 version ".tar.gz"))
5049 (sha256
5050 (base32
ecaf0b0c 5051 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5052 (build-system haskell-build-system)
dddbc90c
RV
5053 (inputs
5054 `(("ghc-hslua" ,ghc-hslua)))
5055 (native-inputs
5056 `(("ghc-tasty" ,ghc-tasty)
5057 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5058 (home-page "https://github.com/hslua/hslua-module-text")
5059 (synopsis "Lua module for text")
5060 (description
5061 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5062for Haskell. The functions provided by this module are @code{upper},
5063@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5064 (license license:expat)))
5065
5066(define-public ghc-http-api-data
5067 (package
5068 (name "ghc-http-api-data")
a57236eb 5069 (version "0.4.1")
dddbc90c
RV
5070 (source
5071 (origin
5072 (method url-fetch)
5073 (uri (string-append "https://hackage.haskell.org/package/"
5074 "http-api-data-" version "/"
5075 "http-api-data-" version ".tar.gz"))
5076 (sha256
5077 (base32
a57236eb 5078 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 5079 (build-system haskell-build-system)
dddbc90c
RV
5080 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5081 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 5082 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
5083 ("ghc-hashable" ,ghc-hashable)
5084 ("ghc-http-types" ,ghc-http-types)
a57236eb 5085 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 5086 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 5087 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
5088 (native-inputs
5089 `(("cabal-doctest" ,cabal-doctest)
5090 ("ghc-nats" ,ghc-nats)
5091 ("ghc-hunit" ,ghc-hunit)
5092 ("ghc-hspec" ,ghc-hspec)
5093 ("ghc-quickcheck" ,ghc-quickcheck)
5094 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5095 ("ghc-doctest" ,ghc-doctest)
5096 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
5097 (home-page "https://github.com/fizruk/http-api-data")
5098 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5099query parameters")
5100 (description "This Haskell package defines typeclasses used for converting
5101Haskell data types to and from HTTP API data.")
5102 (license license:bsd-3)))
5103
5104(define-public ghc-ieee754
5105 (package
5106 (name "ghc-ieee754")
5107 (version "0.8.0")
5108 (source (origin
5109 (method url-fetch)
5110 (uri (string-append
5111 "https://hackage.haskell.org/package/ieee754/"
5112 "ieee754-" version ".tar.gz"))
5113 (sha256
5114 (base32
5115 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5116 (build-system haskell-build-system)
5117 (home-page "https://github.com/patperry/hs-ieee754")
5118 (synopsis "Utilities for dealing with IEEE floating point numbers")
5119 (description "Utilities for dealing with IEEE floating point numbers,
5120ported from the Tango math library; approximate and exact equality comparisons
5121for general types.")
5122 (license license:bsd-3)))
5123
5124(define-public ghc-ifelse
5125 (package
5126 (name "ghc-ifelse")
5127 (version "0.85")
5128 (source
5129 (origin
5130 (method url-fetch)
5131 (uri (string-append "https://hackage.haskell.org/package/"
5132 "IfElse/IfElse-" version ".tar.gz"))
5133 (sha256
5134 (base32
5135 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5136 (build-system haskell-build-system)
5137 (home-page "http://hackage.haskell.org/package/IfElse")
5138 (synopsis "Monadic control flow with anaphoric variants")
5139 (description "This library provides functions for control flow inside of
5140monads with anaphoric variants on @code{if} and @code{when} and a C-like
5141@code{switch} function.")
5142 (license license:bsd-3)))
5143
5144(define-public ghc-indents
5145 (package
5146 (name "ghc-indents")
d66473fb 5147 (version "0.5.0.1")
dddbc90c
RV
5148 (source (origin
5149 (method url-fetch)
5150 (uri (string-append
5151 "https://hackage.haskell.org/package/indents/indents-"
5152 version ".tar.gz"))
5153 (sha256
5154 (base32
d66473fb 5155 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5156 (build-system haskell-build-system)
5157 ;; This package needs an older version of tasty.
5158 (arguments '(#:tests? #f))
5159 (inputs
5160 `(("ghc-concatenative" ,ghc-concatenative)))
5161 (native-inputs
5162 `(("ghc-tasty" ,ghc-tasty)
5163 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5164 (home-page "http://patch-tag.com/r/salazar/indents")
5165 (synopsis "Indentation sensitive parser-combinators for parsec")
5166 (description
5167 "This library provides functions for use in parsing indentation sensitive
5168contexts. It parses blocks of lines all indented to the same level as well as
5169lines continued at an indented level below.")
5170 (license license:bsd-3)))
5171
5172(define-public ghc-inline-c
5173 (package
5174 (name "ghc-inline-c")
55ec98f2 5175 (version "0.7.0.1")
dddbc90c
RV
5176 (source
5177 (origin
5178 (method url-fetch)
5179 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5180 "inline-c-" version ".tar.gz"))
5181 (sha256
5182 (base32
55ec98f2 5183 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
5184 (build-system haskell-build-system)
5185 (inputs
5186 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5187 ("ghc-cryptohash" ,ghc-cryptohash)
5188 ("ghc-hashable" ,ghc-hashable)
5189 ("ghc-parsers" ,ghc-parsers)
5190 ("ghc-unordered-containers" ,ghc-unordered-containers)
5191 ("ghc-vector" ,ghc-vector)))
5192 (native-inputs
5193 `(("ghc-quickcheck" ,ghc-quickcheck)
5194 ("ghc-hspec" ,ghc-hspec)
5195 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5196 ("ghc-regex-posix" ,ghc-regex-posix)))
5197 (home-page "http://hackage.haskell.org/package/inline-c")
5198 (synopsis "Write Haskell source files including C code inline")
5199 (description
5200 "inline-c lets you seamlessly call C libraries and embed high-performance
5201inline C code in Haskell modules. Haskell and C can be freely intermixed in
5202the same source file, and data passed to and from code in either language with
5203minimal overhead. No FFI required.")
5204 (license license:expat)))
5205
5206(define-public ghc-inline-c-cpp
5207 (package
5208 (name "ghc-inline-c-cpp")
5209 (version "0.2.2.1")
5210 (source
5211 (origin
5212 (method url-fetch)
5213 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5214 "inline-c-cpp-" version ".tar.gz"))
5215 (sha256
5216 (base32
5217 "1rk7fmpkmxw9hhwr8df29kadnf0ybnwj64ggdbnsdrpfyhnkisci"))))
5218 (build-system haskell-build-system)
5219 (inputs
5220 `(("ghc-inline-c" ,ghc-inline-c)
5221 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5222 (native-inputs
5223 `(("ghc-hspec" ,ghc-hspec)))
5224 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5225 (synopsis "Lets you embed C++ code into Haskell")
5226 (description
5227 "This package provides utilities to inline C++ code into Haskell using
5228@code{inline-c}.")
5229 (license license:expat)))
5230
5231(define-public ghc-integer-logarithms
5232 (package
5233 (name "ghc-integer-logarithms")
86a704db 5234 (version "1.0.3")
dddbc90c
RV
5235 (source
5236 (origin
5237 (method url-fetch)
5238 (uri (string-append "https://hackage.haskell.org/package/"
5239 "integer-logarithms/integer-logarithms-"
5240 version ".tar.gz"))
5241 (sha256
5242 (base32
86a704db 5243 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5244 (build-system haskell-build-system)
5245 (arguments
5246 `(#:phases
5247 (modify-phases %standard-phases
5248 (add-before 'configure 'update-constraints
5249 (lambda _
5250 (substitute* "integer-logarithms.cabal"
5251 (("tasty >= 0\\.10 && < 1\\.1")
5252 "tasty >= 0.10 && < 1.2")))))))
5253 (native-inputs
5254 `(("ghc-quickcheck" ,ghc-quickcheck)
5255 ("ghc-smallcheck" ,ghc-smallcheck)
5256 ("ghc-tasty" ,ghc-tasty)
5257 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5258 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5259 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5260 (home-page "https://github.com/Bodigrim/integer-logarithms")
5261 (synopsis "Integer logarithms")
5262 (description
5263 "This package provides the following modules:
5264@code{Math.NumberTheory.Logarithms} and
5265@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5266@code{GHC.Integer.Logarithms.Compat} and
5267@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5268in migrated modules.")
5269 (license license:expat)))
5270
5271(define-public ghc-integer-logarithms-bootstrap
5272 (package
5273 (inherit ghc-integer-logarithms)
5274 (name "ghc-integer-logarithms-bootstrap")
5275 (arguments `(#:tests? #f))
5276 (native-inputs '())
799d8d3c 5277 (properties '((hidden? #t)))))
dddbc90c
RV
5278
5279(define-public ghc-interpolate
5280 (package
5281 (name "ghc-interpolate")
5282 (version "0.2.0")
5283 (source
5284 (origin
5285 (method url-fetch)
5286 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5287 "interpolate-" version ".tar.gz"))
5288 (sha256
5289 (base32
5290 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5291 (build-system haskell-build-system)
5292 (inputs
5293 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5294 (native-inputs
5295 `(("ghc-base-compat" ,ghc-base-compat)
5296 ("ghc-hspec" ,ghc-hspec)
5297 ("ghc-quickcheck" ,ghc-quickcheck)
5298 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5299 ("hspec-discover" ,hspec-discover)))
5300 (home-page "https://github.com/sol/interpolate")
5301 (synopsis "String interpolation library")
5302 (description "This package provides a string interpolation library for
5303Haskell.")
5304 (license license:expat)))
5305
5306(define-public ghc-intervalmap
5307 (package
5308 (name "ghc-intervalmap")
e4946e32 5309 (version "0.6.1.1")
dddbc90c
RV
5310 (source
5311 (origin
5312 (method url-fetch)
5313 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5314 "IntervalMap-" version ".tar.gz"))
5315 (sha256
5316 (base32
e4946e32 5317 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
5318 (build-system haskell-build-system)
5319 (native-inputs
5320 `(("ghc-quickcheck" ,ghc-quickcheck)))
5321 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5322 (synopsis "Containers for intervals, with efficient search")
5323 (description
5324 "This package provides ordered containers of intervals, with efficient
5325search for all keys containing a point or overlapping an interval. See the
5326example code on the home page for a quick introduction.")
5327 (license license:bsd-3)))
5328
5329(define-public ghc-invariant
5330 (package
5331 (name "ghc-invariant")
5332 (version "0.5.1")
5333 (source
5334 (origin
5335 (method url-fetch)
5336 (uri (string-append
5337 "https://hackage.haskell.org/package/invariant/invariant-"
5338 version ".tar.gz"))
5339 (sha256
5340 (base32
5341 "0aqj7z55632qdg45074kgn9qfdxzb0a2f8lgjzr0l0i4mm2rr37b"))))
5342 (build-system haskell-build-system)
5343 (inputs
5344 `(("ghc-bifunctors" ,ghc-bifunctors)
5345 ("ghc-comonad" ,ghc-comonad)
5346 ("ghc-contravariant" ,ghc-contravariant)
5347 ("ghc-profunctors" ,ghc-profunctors)
5348 ("ghc-semigroups" ,ghc-semigroups)
5349 ("ghc-statevar" ,ghc-statevar)
5350 ("ghc-tagged" ,ghc-tagged)
5351 ("ghc-th-abstraction" ,ghc-th-abstraction)
5352 ("ghc-transformers-compat" ,ghc-transformers-compat)
5353 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5354 (native-inputs
5355 `(("ghc-hspec" ,ghc-hspec)
5356 ("ghc-quickcheck" ,ghc-quickcheck)
5357 ("hspec-discover" ,hspec-discover)))
5358 (home-page "https://github.com/nfrisby/invariant-functors")
5359 (synopsis "Haskell98 invariant functors")
5360 (description "Haskell98 invariant functors (also known as exponential
5361functors). For more information, see Edward Kmett's article
5362@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5363 (license license:bsd-2)))
5364
5365(define-public ghc-io-streams
5366 (package
5367 (name "ghc-io-streams")
59e98d75 5368 (version "1.5.1.0")
dddbc90c
RV
5369 (source
5370 (origin
5371 (method url-fetch)
5372 (uri (string-append "https://hackage.haskell.org/package/"
5373 "io-streams/io-streams-" version ".tar.gz"))
5374 (sha256
5375 (base32
59e98d75 5376 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
5377 (build-system haskell-build-system)
5378 (inputs
5379 `(("ghc-attoparsec" ,ghc-attoparsec)
5380 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5381 ("ghc-network" ,ghc-network)
5382 ("ghc-primitive" ,ghc-primitive)
5383 ("ghc-vector" ,ghc-vector)
5384 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5385 (native-inputs
5386 `(("ghc-hunit" ,ghc-hunit)
5387 ("ghc-quickcheck" ,ghc-quickcheck)
5388 ("ghc-test-framework" ,ghc-test-framework)
5389 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5390 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5391 ("ghc-zlib" ,ghc-zlib)))
dddbc90c
RV
5392 (home-page "http://hackage.haskell.org/package/io-streams")
5393 (synopsis "Simple and composable stream I/O")
5394 (description "This library contains simple and easy-to-use
5395primitives for I/O using streams.")
5396 (license license:bsd-3)))
5397
5398(define-public ghc-io-streams-haproxy
5399 (package
5400 (name "ghc-io-streams-haproxy")
1a4fbc36 5401 (version "1.0.1.0")
dddbc90c
RV
5402 (source
5403 (origin
5404 (method url-fetch)
5405 (uri (string-append "https://hackage.haskell.org/package/"
5406 "io-streams-haproxy/io-streams-haproxy-"
5407 version ".tar.gz"))
5408 (sha256
5409 (base32
1a4fbc36 5410 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
5411 (build-system haskell-build-system)
5412 (inputs
5413 `(("ghc-attoparsec" ,ghc-attoparsec)
5414 ("ghc-io-streams" ,ghc-io-streams)
5415 ("ghc-network" ,ghc-network)))
5416 (native-inputs
5417 `(("ghc-hunit" ,ghc-hunit)
5418 ("ghc-test-framework" ,ghc-test-framework)
5419 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
5420 (home-page "http://snapframework.com/")
5421 (synopsis "HAProxy protocol 1.5 support for io-streams")
5422 (description "HAProxy protocol version 1.5 support
5423(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5424for applications using io-streams. The proxy protocol allows information
5425about a networked peer (like remote address and port) to be propagated
5426through a forwarding proxy that is configured to speak this protocol.")
5427 (license license:bsd-3)))
5428
5429(define-public ghc-iproute
5430 (package
5431 (name "ghc-iproute")
ec25d536 5432 (version "1.7.7")
dddbc90c
RV
5433 (source
5434 (origin
5435 (method url-fetch)
5436 (uri (string-append
5437 "https://hackage.haskell.org/package/iproute/iproute-"
5438 version
5439 ".tar.gz"))
5440 (sha256
5441 (base32
ec25d536 5442 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
5443 (build-system haskell-build-system)
5444 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5445 ; exported by ghc-byteorder. Doctest issue.
5446 (inputs
5447 `(("ghc-appar" ,ghc-appar)
5448 ("ghc-byteorder" ,ghc-byteorder)
5449 ("ghc-network" ,ghc-network)
5450 ("ghc-safe" ,ghc-safe)))
5451 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5452 (synopsis "IP routing table")
5453 (description "IP Routing Table is a tree of IP ranges to search one of
5454them on the longest match base. It is a kind of TRIE with one way branching
5455removed. Both IPv4 and IPv6 are supported.")
5456 (license license:bsd-3)))
5457
5458(define-public ghc-iwlib
5459 (package
5460 (name "ghc-iwlib")
5461 (version "0.1.0")
5462 (source
5463 (origin
5464 (method url-fetch)
5465 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5466 version ".tar.gz"))
5467 (sha256
5468 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5469 (build-system haskell-build-system)
5470 (inputs
5471 `(("wireless-tools" ,wireless-tools)))
5472 (home-page "https://github.com/jaor/iwlib")
5473 (synopsis "Haskell binding to the iw wireless networking library")
5474 (description
5475 "IWlib is a thin Haskell binding to the iw C library. It provides
5476information about the current wireless network connections, and adapters on
5477supported systems.")
5478 (license license:bsd-3)))
5479
5480(define-public ghc-json
5481 (package
5482 (name "ghc-json")
0ad3d574 5483 (version "0.9.3")
dddbc90c
RV
5484 (source
5485 (origin
5486 (method url-fetch)
5487 (uri (string-append "https://hackage.haskell.org/package/json/"
5488 "json-" version ".tar.gz"))
5489 (sha256
5490 (base32
0ad3d574 5491 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
5492 (build-system haskell-build-system)
5493 (inputs
5494 `(("ghc-syb" ,ghc-syb)))
5495 (home-page "https://hackage.haskell.org/package/json")
5496 (synopsis "Serializes Haskell data to and from JSON")
5497 (description "This package provides a parser and pretty printer for
5498converting between Haskell values and JSON.
5499JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5500 (license license:bsd-3)))
5501
5502(define-public ghc-juicypixels
5503 (package
5504 (name "ghc-juicypixels")
b50b6004 5505 (version "3.3.4")
dddbc90c
RV
5506 (source (origin
5507 (method url-fetch)
5508 (uri (string-append "https://hackage.haskell.org/package/"
5509 "JuicyPixels/JuicyPixels-"
5510 version ".tar.gz"))
5511 (sha256
5512 (base32
b50b6004 5513 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
5514 (build-system haskell-build-system)
5515 (inputs
5516 `(("ghc-zlib" ,ghc-zlib)
5517 ("ghc-vector" ,ghc-vector)
5518 ("ghc-primitive" ,ghc-primitive)
5519 ("ghc-mmap" ,ghc-mmap)))
5520 (home-page "https://github.com/Twinside/Juicy.Pixels")
5521 (synopsis "Picture loading and serialization library")
5522 (description
5523 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5524TIFF and GIF formats.")
5525 (license license:bsd-3)))
5526
5527(define-public ghc-kan-extensions
5528 (package
5529 (name "ghc-kan-extensions")
5530 (version "5.2")
5531 (source
5532 (origin
5533 (method url-fetch)
5534 (uri (string-append
5535 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5536 version
5537 ".tar.gz"))
5538 (sha256
5539 (base32
5540 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5541 (build-system haskell-build-system)
5542 (inputs
5543 `(("ghc-adjunctions" ,ghc-adjunctions)
5544 ("ghc-comonad" ,ghc-comonad)
5545 ("ghc-contravariant" ,ghc-contravariant)
5546 ("ghc-distributive" ,ghc-distributive)
5547 ("ghc-free" ,ghc-free)
5548 ("ghc-invariant" ,ghc-invariant)
5549 ("ghc-semigroupoids" ,ghc-semigroupoids)
5550 ("ghc-tagged" ,ghc-tagged)
5551 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5552 (home-page "https://github.com/ekmett/kan-extensions/")
5553 (synopsis "Kan extensions library")
5554 (description "This library provides Kan extensions, Kan lifts, various
5555forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5556 (license license:bsd-3)))
5557
5558(define-public ghc-language-c
5559 (package
5560 (name "ghc-language-c")
4e1cf651 5561 (version "0.8.3")
dddbc90c
RV
5562 (source
5563 (origin
5564 (method url-fetch)
5565 (uri (string-append "https://hackage.haskell.org/package/"
5566 "language-c/language-c-" version ".tar.gz"))
5567 (sha256
5568 (base32
4e1cf651 5569 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
5570 (build-system haskell-build-system)
5571 (inputs `(("ghc-syb" ,ghc-syb)))
5572 (native-inputs
5573 `(("ghc-happy" ,ghc-happy)
5574 ("ghc-alex" ,ghc-alex)))
5575 (home-page "https://visq.github.io/language-c/")
5576 (synopsis "Analysis and generation of C code")
5577 (description
5578 "Language C is a Haskell library for the analysis and generation of C code.
5579It features a complete, well-tested parser and pretty printer for all of C99
5580and a large set of GNU extensions.")
5581 (license license:bsd-3)))
5582
5583(define-public ghc-language-glsl
5584 (package
5585 (name "ghc-language-glsl")
5586 (version "0.3.0")
5587 (source
5588 (origin
5589 (method url-fetch)
5590 (uri (string-append "https://hackage.haskell.org/package/"
5591 "language-glsl/language-glsl-" version ".tar.gz"))
5592 (sha256
5593 (base32
5594 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
5595 (build-system haskell-build-system)
5596 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
5597 (arguments
5598 `(#:tests? #f
5599 #:cabal-revision
5600 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
5601 (home-page "http://hackage.haskell.org/package/language-glsl")
5602 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
5603 (description "This package is a Haskell library for the
5604representation, parsing, and pretty-printing of GLSL 1.50 code.")
5605 (license license:bsd-3)))
5606
5607(define-public ghc-language-haskell-extract
5608 (package
5609 (name "ghc-language-haskell-extract")
5610 (version "0.2.4")
5611 (source
5612 (origin
5613 (method url-fetch)
5614 (uri (string-append "https://hackage.haskell.org/package/"
5615 "language-haskell-extract-" version "/"
5616 "language-haskell-extract-" version ".tar.gz"))
5617 (sha256
5618 (base32
5619 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
5620 (build-system haskell-build-system)
5621 (inputs
5622 `(("ghc-regex-posix" ,ghc-regex-posix)))
5623 (home-page "https://github.com/finnsson/template-helper")
5624 (synopsis "Haskell module to automatically extract functions from
5625the local code")
5626 (description "This package contains helper functions on top of
5627Template Haskell.
5628
5629For example, @code{functionExtractor} extracts all functions after a
5630regexp-pattern, which can be useful if you wish to extract all functions
5631beginning with @code{test} (for a test framework) or all functions beginning
5632with @code{wc} (for a web service).")
5633 (license license:bsd-3)))
5634
5635(define-public ghc-lens
5636 (package
5637 (name "ghc-lens")
5638 (version "4.16.1")
5639 (source
5640 (origin
5641 (method url-fetch)
5642 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5643 version ".tar.gz"))
5644 (sha256
5645 (base32
5646 "1im4drhbydbawd6i0jsrzpqihnmx4ywpkg7yg94ddwsw3mxwkgpm"))))
5647 (build-system haskell-build-system)
5648 (arguments
5649 `(#:cabal-revision
5650 ("2" "11h83lj5mba4grhz1qx3irz10ysm9c3k7k6i6xv2cr60q8xin3ri")))
5651 (inputs
5652 `(("ghc-base-orphans" ,ghc-base-orphans)
5653 ("ghc-bifunctors" ,ghc-bifunctors)
5654 ("ghc-distributive" ,ghc-distributive)
5655 ("ghc-exceptions" ,ghc-exceptions)
5656 ("ghc-free" ,ghc-free)
5657 ("ghc-kan-extensions" ,ghc-kan-extensions)
5658 ("ghc-parallel" ,ghc-parallel)
5659 ("ghc-reflection" ,ghc-reflection)
5660 ("ghc-semigroupoids" ,ghc-semigroupoids)
5661 ("ghc-vector" ,ghc-vector)
5662 ("ghc-call-stack" ,ghc-call-stack)
5663 ("ghc-comonad" ,ghc-comonad)
5664 ("ghc-contravariant" ,ghc-contravariant)
5665 ("ghc-hashable" ,ghc-hashable)
5666 ("ghc-profunctors" ,ghc-profunctors)
5667 ("ghc-semigroups" ,ghc-semigroups)
5668 ("ghc-tagged" ,ghc-tagged)
5669 ("ghc-transformers-compat" ,ghc-transformers-compat)
5670 ("ghc-unordered-containers" ,ghc-unordered-containers)
5671 ("ghc-void" ,ghc-void)
5672 ("ghc-generic-deriving" ,ghc-generic-deriving)
5673 ("ghc-nats" ,ghc-nats)
5674 ("ghc-simple-reflect" ,ghc-simple-reflect)
5675 ("hlint" ,hlint)))
5676 (native-inputs
5677 `(("cabal-doctest" ,cabal-doctest)
5678 ("ghc-doctest" ,ghc-doctest)
5679 ("ghc-hunit" ,ghc-hunit)
5680 ("ghc-test-framework" ,ghc-test-framework)
5681 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5682 ("ghc-test-framework-th" ,ghc-test-framework-th)
5683 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5684 ("ghc-quickcheck" ,ghc-quickcheck)))
5685 (home-page "https://github.com/ekmett/lens/")
5686 (synopsis "Lenses, Folds and Traversals")
5687 (description "This library provides @code{Control.Lens}. The combinators
5688in @code{Control.Lens} provide a highly generic toolbox for composing families
5689of getters, folds, isomorphisms, traversals, setters and lenses and their
5690indexed variants.")
5691 (license license:bsd-3)))
5692
5693(define-public ghc-libffi
5694 (package
5695 (name "ghc-libffi")
5696 (version "0.1")
5697 (source
5698 (origin
5699 (method url-fetch)
5700 (uri (string-append "https://hackage.haskell.org/package/"
5701 "libffi/libffi-" version ".tar.gz"))
5702 (sha256
5703 (base32
5704 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
5705 (build-system haskell-build-system)
5706 (native-inputs `(("pkg-config" ,pkg-config)))
5707 (inputs `(("libffi" ,libffi)))
5708 (home-page "http://hackage.haskell.org/package/libffi")
5709 (synopsis "Haskell binding to libffi")
5710 (description
5711 "A binding to libffi, allowing C functions of types only known at runtime
5712to be called from Haskell.")
5713 (license license:bsd-3)))
5714
5715(define-public ghc-libmpd
5716 (package
5717 (name "ghc-libmpd")
bbf9845f 5718 (version "0.9.0.10")
dddbc90c
RV
5719 (source
5720 (origin
5721 (method url-fetch)
5722 (uri (string-append
5723 "mirror://hackage/package/libmpd/libmpd-"
5724 version
5725 ".tar.gz"))
5726 (sha256
5727 (base32
bbf9845f 5728 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
5729 (build-system haskell-build-system)
5730 ;; Tests fail on i686.
5731 ;; See https://github.com/vimus/libmpd-haskell/issues/112
5732 (arguments `(#:tests? #f))
5733 (inputs
5734 `(("ghc-attoparsec" ,ghc-attoparsec)
5735 ("ghc-old-locale" ,ghc-old-locale)
5736 ("ghc-data-default-class" ,ghc-data-default-class)
5737 ("ghc-network" ,ghc-network)
bbf9845f 5738 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
5739 ("ghc-utf8-string" ,ghc-utf8-string)))
5740 (native-inputs
5741 `(("ghc-quickcheck" ,ghc-quickcheck)
5742 ("ghc-hspec" ,ghc-hspec)
5743 ("hspec-discover" ,hspec-discover)))
5744 (home-page "https://github.com/vimus/libmpd-haskell")
5745 (synopsis "Haskell client library for the Music Player Daemon")
5746 (description "This package provides a pure Haskell client library for the
5747Music Player Daemon.")
5748 (license license:expat)))
5749
5750(define-public ghc-libxml
5751 (package
5752 (name "ghc-libxml")
5753 (version "0.1.1")
5754 (source
5755 (origin
5756 (method url-fetch)
5757 (uri (string-append "https://hackage.haskell.org/package/libxml/"
5758 "libxml-" version ".tar.gz"))
5759 (sha256
5760 (base32
5761 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
5762 (build-system haskell-build-system)
5763 (inputs
5764 `(("libxml2" ,libxml2)))
5765 (arguments
5766 `(#:configure-flags
5767 `(,(string-append "--extra-include-dirs="
5768 (assoc-ref %build-inputs "libxml2")
5769 "/include/libxml2"))))
5770 (home-page "https://hackage.haskell.org/package/libxml")
5771 (synopsis "Haskell bindings to libxml2")
5772 (description
5773 "This library provides minimal Haskell binding to libxml2.")
5774 (license license:bsd-3)))
5775
5776(define-public ghc-lifted-async
5777 (package
5778 (name "ghc-lifted-async")
b5b6d7ea 5779 (version "0.10.0.4")
dddbc90c
RV
5780 (source
5781 (origin
5782 (method url-fetch)
5783 (uri (string-append
5784 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
5785 version ".tar.gz"))
5786 (sha256
5787 (base32
b5b6d7ea 5788 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
5789 (build-system haskell-build-system)
5790 (inputs
5791 `(("ghc-async" ,ghc-async)
5792 ("ghc-lifted-base" ,ghc-lifted-base)
5793 ("ghc-transformers-base" ,ghc-transformers-base)
5794 ("ghc-monad-control" ,ghc-monad-control)
5795 ("ghc-constraints" ,ghc-constraints)
5796 ("ghc-hunit" ,ghc-hunit)
5797 ("ghc-tasty" ,ghc-tasty)
5798 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5799 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5800 ("ghc-tasty-th" ,ghc-tasty-th)))
5801 (home-page "https://github.com/maoe/lifted-async")
5802 (synopsis "Run lifted IO operations asynchronously and wait for their results")
5803 (description
5804 "This package provides IO operations from @code{async} package lifted to any
5805instance of @code{MonadBase} or @code{MonadBaseControl}.")
5806 (license license:bsd-3)))
5807
5808(define-public ghc-lifted-base
5809 (package
5810 (name "ghc-lifted-base")
5811 (version "0.2.3.12")
5812 (source
5813 (origin
5814 (method url-fetch)
5815 (uri (string-append
5816 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
5817 version
5818 ".tar.gz"))
5819 (sha256
5820 (base32
5821 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
5822 (build-system haskell-build-system)
5823 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
5824 (inputs
5825 `(("ghc-transformers-base" ,ghc-transformers-base)
5826 ("ghc-monad-control" ,ghc-monad-control)
5827 ("ghc-transformers-compat" ,ghc-transformers-compat)
5828 ("ghc-hunit" ,ghc-hunit)))
5829 (home-page "https://github.com/basvandijk/lifted-base")
5830 (synopsis "Lifted IO operations from the base library")
5831 (description "Lifted-base exports IO operations from the @code{base}
5832library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5833Note that not all modules from @code{base} are converted yet. The package
5834includes a copy of the @code{monad-peel} test suite written by Anders
5835Kaseorg.")
5836 (license license:bsd-3)))
5837
5838(define-public ghc-linear
5839 (package
5840 (name "ghc-linear")
5841 (version "1.20.8")
5842 (source
5843 (origin
5844 (method url-fetch)
5845 (uri (string-append "https://hackage.haskell.org/package/linear/"
5846 "linear-" version ".tar.gz"))
5847 (sha256
5848 (base32
5849 "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"))))
5850 (build-system haskell-build-system)
5851 (inputs
5852 `(("ghc-adjunctions" ,ghc-adjunctions)
5853 ("ghc-base-orphans" ,ghc-base-orphans)
5854 ("ghc-bytes" ,ghc-bytes)
5855 ("ghc-cereal" ,ghc-cereal)
5856 ("ghc-distributive" ,ghc-distributive)
5857 ("ghc-hashable" ,ghc-hashable)
5858 ("ghc-lens" ,ghc-lens)
5859 ("ghc-reflection" ,ghc-reflection)
5860 ("ghc-semigroups" ,ghc-semigroups)
5861 ("ghc-semigroupoids" ,ghc-semigroupoids)
5862 ("ghc-tagged" ,ghc-tagged)
5863 ("ghc-transformers-compat" ,ghc-transformers-compat)
5864 ("ghc-unordered-containers" ,ghc-unordered-containers)
5865 ("ghc-vector" ,ghc-vector)
5866 ("ghc-void" ,ghc-void)))
5867 (native-inputs
5868 `(("cabal-doctest" ,cabal-doctest)
5869 ("ghc-doctest" ,ghc-doctest)
5870 ("ghc-simple-reflect" ,ghc-simple-reflect)
5871 ("ghc-test-framework" ,ghc-test-framework)
5872 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5873 ("ghc-hunit" ,ghc-hunit)))
5874 (home-page "http://github.com/ekmett/linear/")
5875 (synopsis "Linear algebra library for Haskell")
5876 (description
5877 "This package provides types and combinators for linear algebra on free
5878vector spaces.")
5879 (license license:bsd-3)))
1307e4c7
JS
5880
5881(define-public ghc-listlike
5882 (package
5883 (name "ghc-listlike")
5884 (version "4.6.2")
5885 (source
5886 (origin
5887 (method url-fetch)
5888 (uri
5889 (string-append
5890 "https://hackage.haskell.org/package/ListLike/ListLike-"
5891 version ".tar.gz"))
5892 (sha256
5893 (base32
5894 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
5895 (build-system haskell-build-system)
5896 (inputs
5897 `(("ghc-vector" ,ghc-vector)
5898 ("ghc-dlist" ,ghc-dlist)
5899 ("ghc-fmlist" ,ghc-fmlist)
5900 ("ghc-hunit" ,ghc-hunit)
5901 ("ghc-quickcheck" ,ghc-quickcheck)
5902 ("ghc-random" ,ghc-random)
5903 ("ghc-utf8-string" ,ghc-utf8-string)))
5904 (home-page "https://github.com/JohnLato/listlike")
5905 (synopsis "Generic support for list-like structures")
5906 (description "The ListLike module provides a common interface to the
5907various Haskell types that are list-like. Predefined interfaces include
5908standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
5909Custom types can easily be made ListLike instances as well.
5910
5911ListLike also provides for String-like types, such as String and
5912ByteString, for types that support input and output, and for types that
5913can handle infinite lists.")
5914 (license license:bsd-3)))
dddbc90c
RV
5915
5916(define-public ghc-logging-facade
5917 (package
5918 (name "ghc-logging-facade")
5919 (version "0.3.0")
5920 (source (origin
5921 (method url-fetch)
5922 (uri (string-append "https://hackage.haskell.org/package/"
5923 "logging-facade/logging-facade-"
5924 version ".tar.gz"))
5925 (sha256
5926 (base32
5927 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
5928 (build-system haskell-build-system)
5929 (native-inputs
5930 `(("ghc-hspec" ,ghc-hspec)
5931 ("hspec-discover" ,hspec-discover)))
5932 (home-page "https://hackage.haskell.org/package/logging-facade")
5933 (synopsis "Simple logging abstraction that allows multiple back-ends")
5934 (description
5935 "This package provides a simple logging abstraction that allows multiple
5936back-ends.")
5937 (license license:expat)))
5938
5939(define-public ghc-logict
5940 (package
5941 (name "ghc-logict")
79d9326f 5942 (version "0.7.0.2")
dddbc90c
RV
5943 (source
5944 (origin
5945 (method url-fetch)
5946 (uri (string-append
5947 "https://hackage.haskell.org/package/logict/logict-"
5948 version
5949 ".tar.gz"))
5950 (sha256
5951 (base32
79d9326f 5952 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 5953 (build-system haskell-build-system)
79d9326f
TS
5954 (native-inputs
5955 `(("ghc-tasty" ,ghc-tasty)
5956 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5957 (home-page "http://code.haskell.org/~dolio/")
5958 (synopsis "Backtracking logic-programming monad")
5959 (description "This library provides a continuation-based, backtracking,
5960logic programming monad. An adaptation of the two-continuation implementation
5961found in the paper \"Backtracking, Interleaving, and Terminating Monad
5962Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
5963online}.")
5964 (license license:bsd-3)))
5965
5966(define-public ghc-lzma
5967 (package
5968 (name "ghc-lzma")
5969 (version "0.0.0.3")
5970 (source
5971 (origin
5972 (method url-fetch)
5973 (uri (string-append "https://hackage.haskell.org/package/lzma/"
5974 "lzma-" version ".tar.gz"))
5975 (sha256
5976 (base32
5977 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
5978 (build-system haskell-build-system)
5979 (arguments
5980 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
5981 #:cabal-revision
5982 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
5983 (native-inputs
5984 `(("ghc-hunit" ,ghc-hunit)
5985 ("ghc-quickcheck" ,ghc-quickcheck)
5986 ("ghc-tasty" ,ghc-tasty)
5987 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5988 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
5989 (home-page "https://github.com/hvr/lzma")
5990 (synopsis "LZMA/XZ compression and decompression")
5991 (description
5992 "This package provides a pure interface for compressing and
5993decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
5994monadic incremental interface is provided as well.")
5995 (license license:bsd-3)))
5996
5997(define-public ghc-lzma-conduit
5998 (package
5999 (name "ghc-lzma-conduit")
6000 (version "1.2.1")
6001 (source
6002 (origin
6003 (method url-fetch)
6004 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6005 "lzma-conduit-" version ".tar.gz"))
6006 (sha256
6007 (base32
6008 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6009 (build-system haskell-build-system)
6010 (inputs
6011 `(("ghc-conduit" ,ghc-conduit)
6012 ("ghc-lzma" ,ghc-lzma)
6013 ("ghc-resourcet" ,ghc-resourcet)))
6014 (native-inputs
6015 `(("ghc-base-compat" ,ghc-base-compat)
6016 ("ghc-test-framework" ,ghc-test-framework)
6017 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6018 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6019 ("ghc-hunit" ,ghc-hunit)
6020 ("ghc-quickcheck" ,ghc-quickcheck)))
6021 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6022 (synopsis "Conduit interface for lzma/xz compression")
6023 (description
6024 "This package provides a @code{Conduit} interface for the LZMA
6025compression algorithm used in the @code{.xz} file format.")
6026 (license license:bsd-3)))
6027
e405912c
KM
6028(define-public ghc-magic
6029 (package
6030 (name "ghc-magic")
6031 (version "1.1")
6032 (source
6033 (origin
6034 (method url-fetch)
6035 (uri (string-append
6036 "https://hackage.haskell.org/package/magic/magic-"
6037 version ".tar.gz"))
6038 (sha256
6039 (base32
6040 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6041 (build-system haskell-build-system)
6042 (home-page "http://hackage.haskell.org/package/magic")
6043 (synopsis "Interface to C file/magic library")
6044 (description
6045 "This package provides a full-featured binding to the C libmagic library.
6046With it, you can determine the type of a file by examining its contents rather
6047than its name.")
6048 (license license:bsd-3)))
6049
dddbc90c
RV
6050(define-public ghc-markdown-unlit
6051 (package
6052 (name "ghc-markdown-unlit")
6053 (version "0.5.0")
6054 (source (origin
6055 (method url-fetch)
6056 (uri (string-append
6057 "mirror://hackage/package/markdown-unlit/"
6058 "markdown-unlit-" version ".tar.gz"))
6059 (sha256
6060 (base32
6061 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6062 (build-system haskell-build-system)
6063 (inputs
6064 `(("ghc-base-compat" ,ghc-base-compat)
6065 ("ghc-hspec" ,ghc-hspec)
6066 ("ghc-quickcheck" ,ghc-quickcheck)
6067 ("ghc-silently" ,ghc-silently)
6068 ("ghc-stringbuilder" ,ghc-stringbuilder)
6069 ("ghc-temporary" ,ghc-temporary)
6070 ("hspec-discover" ,hspec-discover)))
6071 (home-page "https://github.com/sol/markdown-unlit#readme")
6072 (synopsis "Literate Haskell support for Markdown")
6073 (description "This package allows you to have a README.md that at the
6074same time is a literate Haskell program.")
6075 (license license:expat)))
6076
6077(define-public ghc-math-functions
6078 (package
6079 (name "ghc-math-functions")
b45de2bf 6080 (version "0.3.3.0")
dddbc90c
RV
6081 (source
6082 (origin
6083 (method url-fetch)
6084 (uri (string-append "https://hackage.haskell.org/package/"
6085 "math-functions-" version "/"
6086 "math-functions-" version ".tar.gz"))
6087 (sha256
6088 (base32
b45de2bf 6089 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6090 (build-system haskell-build-system)
6091 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6092 (inputs
b45de2bf
TS
6093 `(("ghc-data-default-class" ,ghc-data-default-class)
6094 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6095 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6096 (native-inputs
6097 `(("ghc-hunit" ,ghc-hunit)
6098 ("ghc-quickcheck" ,ghc-quickcheck)
6099 ("ghc-erf" ,ghc-erf)
6100 ("ghc-test-framework" ,ghc-test-framework)
6101 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6102 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6103 (home-page "https://github.com/bos/math-functions")
6104 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6105 (description "This Haskell library provides implementations of
6106special mathematical functions and Chebyshev polynomials. These
6107functions are often useful in statistical and numerical computing.")
6108 (license license:bsd-3)))
6109
6110(define-public ghc-megaparsec
6111 (package
6112 (name "ghc-megaparsec")
03b0c92e 6113 (version "7.0.5")
dddbc90c
RV
6114 (source
6115 (origin
6116 (method url-fetch)
6117 (uri (string-append "https://hackage.haskell.org/package/"
6118 "megaparsec/megaparsec-"
6119 version ".tar.gz"))
6120 (sha256
6121 (base32
03b0c92e 6122 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 6123 (build-system haskell-build-system)
dddbc90c
RV
6124 (inputs
6125 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6126 ("ghc-parser-combinators" ,ghc-parser-combinators)
6127 ("ghc-scientific" ,ghc-scientific)))
6128 (native-inputs
6129 `(("ghc-quickcheck" ,ghc-quickcheck)
6130 ("ghc-hspec" ,ghc-hspec)
6131 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6132 ("hspec-discover" ,hspec-discover)))
6133 (home-page "https://github.com/mrkkrp/megaparsec")
6134 (synopsis "Monadic parser combinators")
6135 (description
6136 "This is an industrial-strength monadic parser combinator library.
6137Megaparsec is a feature-rich package that strikes a nice balance between
6138speed, flexibility, and quality of parse errors.")
6139 (license license:bsd-2)))
6140
6141(define-public ghc-memory
6142 (package
6143 (name "ghc-memory")
d2c7d336 6144 (version "0.14.18")
dddbc90c
RV
6145 (source (origin
6146 (method url-fetch)
6147 (uri (string-append "https://hackage.haskell.org/package/"
6148 "memory/memory-" version ".tar.gz"))
6149 (sha256
6150 (base32
d2c7d336 6151 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
6152 (build-system haskell-build-system)
6153 (inputs
6154 `(("ghc-basement" ,ghc-basement)
6155 ("ghc-foundation" ,ghc-foundation)))
6156 (native-inputs
6157 `(("ghc-tasty" ,ghc-tasty)
6158 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6159 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6160 (home-page "https://github.com/vincenthz/hs-memory")
6161 (synopsis "Memory abstractions for Haskell")
6162 (description
6163 "This package provides memory abstractions, such as chunk of memory,
6164polymorphic byte array management and manipulation functions. It contains a
6165polymorphic byte array abstraction and functions similar to strict ByteString,
6166different type of byte array abstraction, raw memory IO operations (memory
6167set, memory copy, ..) and more")
6168 (license license:bsd-3)))
6169
6170(define-public ghc-memotrie
6171 (package
6172 (name "ghc-memotrie")
6173 (version "0.6.9")
6174 (source
6175 (origin
6176 (method url-fetch)
6177 (uri (string-append
6178 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6179 version
6180 ".tar.gz"))
6181 (sha256
6182 (base32
6183 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6184 (build-system haskell-build-system)
6185 (inputs
6186 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6187 (home-page "https://github.com/conal/MemoTrie")
6188 (synopsis "Trie-based memo functions")
6189 (description "This package provides a functional library for creating
6190efficient memo functions using tries.")
6191 (license license:bsd-3)))
6192
6193(define-public ghc-microlens
6194 (package
6195 (name "ghc-microlens")
82478c58 6196 (version "0.4.10")
dddbc90c
RV
6197 (source
6198 (origin
6199 (method url-fetch)
6200 (uri (string-append "https://hackage.haskell.org/package/"
6201 "microlens-" version "/"
6202 "microlens-" version ".tar.gz"))
6203 (sha256
6204 (base32
82478c58 6205 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
6206 (build-system haskell-build-system)
6207 (home-page
6208 "https://github.com/aelve/microlens")
6209 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6210 (description "This Haskell package provides a lens library, just like
6211@code{ghc-lens}, but smaller. It provides essential lenses and
6212traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6213nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6214combinators (like @code{failing} and @code{singular}), but everything else is
6215stripped. As the result, this package has no dependencies.")
6216 (license license:bsd-3)))
6217
6218(define-public ghc-microlens-ghc
6219 (package
6220 (name "ghc-microlens-ghc")
027beb55 6221 (version "0.4.10")
dddbc90c
RV
6222 (source
6223 (origin
6224 (method url-fetch)
6225 (uri (string-append
6226 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6227 version
6228 ".tar.gz"))
6229 (sha256
6230 (base32
027beb55 6231 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
6232 (build-system haskell-build-system)
6233 (inputs `(("ghc-microlens" ,ghc-microlens)))
6234 (home-page "https://github.com/monadfix/microlens")
6235 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6236 (description "This library provides everything that @code{microlens}
6237provides plus instances to make @code{each}, @code{at}, and @code{ix}
6238usable with arrays, @code{ByteString}, and containers. This package is
6239a part of the @uref{http://hackage.haskell.org/package/microlens,
6240microlens} family; see the readme
6241@uref{https://github.com/aelve/microlens#readme, on Github}.")
6242 (license license:bsd-3)))
6243
6244(define-public ghc-microlens-mtl
6245 (package
6246 (name "ghc-microlens-mtl")
6247 (version "0.1.11.1")
6248 (source
6249 (origin
6250 (method url-fetch)
6251 (uri (string-append
6252 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6253 version
6254 ".tar.gz"))
6255 (sha256
6256 (base32
6257 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6258 (build-system haskell-build-system)
6259 (inputs
6260 `(("ghc-microlens" ,ghc-microlens)
6261 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6262 (home-page "https://github.com/monadfix/microlens")
6263 (synopsis
6264 "@code{microlens} support for Reader/Writer/State from mtl")
6265 (description
6266 "This package contains functions (like @code{view} or @code{+=}) which
6267work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6268mtl package. This package is a part of the
6269@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6270readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6271 (license license:bsd-3)))
6272
6273(define-public ghc-microlens-platform
6274 (package
6275 (name "ghc-microlens-platform")
85decc1f 6276 (version "0.3.11")
dddbc90c
RV
6277 (source
6278 (origin
6279 (method url-fetch)
6280 (uri (string-append
6281 "https://hackage.haskell.org/package/"
6282 "microlens-platform/microlens-platform-" version ".tar.gz"))
6283 (sha256
6284 (base32
85decc1f 6285 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
6286 (build-system haskell-build-system)
6287 (inputs
6288 `(("ghc-hashable" ,ghc-hashable)
6289 ("ghc-microlens" ,ghc-microlens)
6290 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6291 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6292 ("ghc-microlens-th" ,ghc-microlens-th)
6293 ("ghc-unordered-containers" ,ghc-unordered-containers)
6294 ("ghc-vector" ,ghc-vector)))
6295 (home-page "https://github.com/monadfix/microlens")
6296 (synopsis "Feature-complete microlens")
6297 (description
6298 "This package exports a module which is the recommended starting point
6299for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6300you aren't trying to keep your dependencies minimal. By importing
6301@code{Lens.Micro.Platform} you get all functions and instances from
6302@uref{http://hackage.haskell.org/package/microlens, microlens},
6303@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6304@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6305@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6306well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6307minor and major versions of @code{microlens-platform} are incremented whenever
6308the minor and major versions of any other @code{microlens} package are
6309incremented, so you can depend on the exact version of
6310@code{microlens-platform} without specifying the version of @code{microlens}
6311you need. This package is a part of the
6312@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6313readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6314 (license license:bsd-3)))
6315
6316(define-public ghc-microlens-th
6317 (package
6318 (name "ghc-microlens-th")
7ae52867 6319 (version "0.4.2.3")
dddbc90c
RV
6320 (source
6321 (origin
6322 (method url-fetch)
6323 (uri (string-append "https://hackage.haskell.org/package/"
6324 "microlens-th-" version "/"
6325 "microlens-th-" version ".tar.gz"))
6326 (sha256
6327 (base32
7ae52867 6328 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 6329 (build-system haskell-build-system)
7ae52867
TS
6330 (arguments
6331 `(#:cabal-revision
6332 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
6333 (inputs `(("ghc-microlens" ,ghc-microlens)
6334 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6335 (home-page
6336 "https://github.com/aelve/microlens")
6337 (synopsis "Automatic generation of record lenses for
6338@code{ghc-microlens}")
6339 (description "This Haskell package lets you automatically generate lenses
6340for data types; code was extracted from the lens package, and therefore
6341generated lenses are fully compatible with ones generated by lens (and can be
6342used both from lens and microlens).")
6343 (license license:bsd-3)))
6344
6345(define-public ghc-missingh
6346 (package
6347 (name "ghc-missingh")
641207cb 6348 (version "1.4.1.0")
dddbc90c
RV
6349 (source
6350 (origin
6351 (method url-fetch)
6352 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6353 "MissingH-" version ".tar.gz"))
6354 (sha256
6355 (base32
641207cb 6356 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
6357 (build-system haskell-build-system)
6358 ;; Tests require the unmaintained testpack package, which depends on the
6359 ;; outdated QuickCheck version 2.7, which can no longer be built with
6360 ;; recent versions of GHC and Haskell libraries.
6361 (arguments '(#:tests? #f))
6362 (inputs
6363 `(("ghc-network" ,ghc-network)
6364 ("ghc-hunit" ,ghc-hunit)
6365 ("ghc-regex-compat" ,ghc-regex-compat)
6366 ("ghc-hslogger" ,ghc-hslogger)
6367 ("ghc-random" ,ghc-random)
6368 ("ghc-old-time" ,ghc-old-time)
6369 ("ghc-old-locale" ,ghc-old-locale)))
6370 (native-inputs
6371 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6372 ("ghc-quickcheck" ,ghc-quickcheck)
6373 ("ghc-hunit" ,ghc-hunit)))
6374 (home-page "http://software.complete.org/missingh")
6375 (synopsis "Large utility library")
6376 (description
6377 "MissingH is a library of all sorts of utility functions for Haskell
6378programmers. It is written in pure Haskell and thus should be extremely
6379portable and easy to use.")
6380 (license license:bsd-3)))
6381
6382(define-public ghc-mmap
6383 (package
6384 (name "ghc-mmap")
6385 (version "0.5.9")
6386 (source (origin
6387 (method url-fetch)
6388 (uri (string-append "https://hackage.haskell.org/package/"
6389 "mmap/mmap-" version ".tar.gz"))
6390 (sha256
6391 (base32
6392 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6393 (build-system haskell-build-system)
6394 (home-page "https://hackage.haskell.org/package/mmap")
6395 (synopsis "Memory mapped files for Haskell")
6396 (description
6397 "This library provides a wrapper to @code{mmap}, allowing files or
6398devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6399@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6400do on-demand loading.")
6401 (license license:bsd-3)))
6402
6403(define-public ghc-mmorph
6404 (package
6405 (name "ghc-mmorph")
e0389704 6406 (version "1.1.3")
dddbc90c
RV
6407 (source
6408 (origin
6409 (method url-fetch)
6410 (uri (string-append
6411 "https://hackage.haskell.org/package/mmorph/mmorph-"
6412 version
6413 ".tar.gz"))
6414 (sha256
6415 (base32
e0389704 6416 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
6417 (build-system haskell-build-system)
6418 (inputs
6419 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6420 (home-page "https://hackage.haskell.org/package/mmorph")
6421 (synopsis "Monad morphisms")
6422 (description
6423 "This library provides monad morphism utilities, most commonly used for
6424manipulating monad transformer stacks.")
6425 (license license:bsd-3)))
6426
6427(define-public ghc-mockery
6428 (package
6429 (name "ghc-mockery")
6430 (version "0.3.5")
6431 (source (origin
6432 (method url-fetch)
6433 (uri (string-append "https://hackage.haskell.org/package/"
6434 "mockery/mockery-" version ".tar.gz"))
6435 (sha256
6436 (base32
6437 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6438 (build-system haskell-build-system)
6439 (inputs
6440 `(("ghc-temporary" ,ghc-temporary)
6441 ("ghc-logging-facade" ,ghc-logging-facade)
6442 ("ghc-base-compat" ,ghc-base-compat)))
6443 (native-inputs
6444 `(("ghc-hspec" ,ghc-hspec)
6445 ("hspec-discover" ,hspec-discover)))
6446 (home-page "https://hackage.haskell.org/package/mockery")
6447 (synopsis "Support functions for automated testing")
6448 (description
6449 "The mockery package provides support functions for automated testing.")
6450 (license license:expat)))
6451
6452(define-public ghc-monad-control
6453 (package
6454 (name "ghc-monad-control")
6455 (version "1.0.2.3")
6456 (source
6457 (origin
6458 (method url-fetch)
6459 (uri (string-append
6460 "https://hackage.haskell.org/package/monad-control"
6461 "/monad-control-" version ".tar.gz"))
6462 (sha256
6463 (base32
6464 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6465 (build-system haskell-build-system)
6466 (inputs
6467 `(("ghc-transformers-base" ,ghc-transformers-base)
6468 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6469 (home-page "https://github.com/basvandijk/monad-control")
6470 (synopsis "Monad transformers to lift control operations like exception
6471catching")
6472 (description "This package defines the type class @code{MonadBaseControl},
6473a subset of @code{MonadBase} into which generic control operations such as
6474@code{catch} can be lifted from @code{IO} or any other base monad.")
6475 (license license:bsd-3)))
6476
6477(define-public ghc-monad-logger
6478 (package
6479 (name "ghc-monad-logger")
6480 (version "0.3.29")
6481 (source
6482 (origin
6483 (method url-fetch)
6484 (uri (string-append "https://hackage.haskell.org/package/"
6485 "monad-logger-" version "/"
6486 "monad-logger-" version ".tar.gz"))
6487 (sha256
6488 (base32
6489 "1z516s4pa9n94zf0l45mylssg07xr1d1m6zrz900p0iv3vfd07mv"))))
6490 (build-system haskell-build-system)
6491 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6492 ("ghc-stm-chans" ,ghc-stm-chans)
6493 ("ghc-lifted-base" ,ghc-lifted-base)
6494 ("ghc-resourcet" ,ghc-resourcet)
6495 ("ghc-conduit" ,ghc-conduit)
6496 ("ghc-conduit-extra" ,ghc-conduit-extra)
6497 ("ghc-fast-logger" ,ghc-fast-logger)
6498 ("ghc-transformers-base" ,ghc-transformers-base)
6499 ("ghc-monad-control" ,ghc-monad-control)
6500 ("ghc-monad-loops" ,ghc-monad-loops)
6501 ("ghc-blaze-builder" ,ghc-blaze-builder)
6502 ("ghc-exceptions" ,ghc-exceptions)))
6503 (home-page "https://github.com/kazu-yamamoto/logger")
6504 (synopsis "Provides a class of monads which can log messages for Haskell")
6505 (description "This Haskell package uses a monad transformer approach
6506for logging.
6507
6508This package provides Template Haskell functions for determining source
6509code locations of messages.")
6510 (license license:expat)))
6511
6512(define-public ghc-monad-loops
6513 (package
6514 (name "ghc-monad-loops")
6515 (version "0.4.3")
6516 (source
6517 (origin
6518 (method url-fetch)
6519 (uri (string-append "https://hackage.haskell.org/package/"
6520 "monad-loops-" version "/"
6521 "monad-loops-" version ".tar.gz"))
6522 (sha256
6523 (base32
6524 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6525 (build-system haskell-build-system)
6526 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6527 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6528 (home-page "https://github.com/mokus0/monad-loops")
6529 (synopsis "Monadic loops for Haskell")
6530 (description "This Haskell package provides some useful control
6531operators for looping.")
6532 (license license:public-domain)))
6533
6534(define-public ghc-monad-par
6535 (package
6536 (name "ghc-monad-par")
6537 (version "0.3.4.8")
6538 (source
6539 (origin
6540 (method url-fetch)
6541 (uri (string-append "https://hackage.haskell.org/package/"
6542 "monad-par-" version "/"
6543 "monad-par-" version ".tar.gz"))
6544 (sha256
6545 (base32
6546 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6547 (build-system haskell-build-system)
6548 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6549 ("ghc-abstract-deque" ,ghc-abstract-deque)
6550 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6551 ("ghc-mwc-random" ,ghc-mwc-random)
6552 ("ghc-parallel" ,ghc-parallel)))
6553 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6554 ("ghc-hunit" ,ghc-hunit)
6555 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6556 ("ghc-test-framework-quickcheck2"
6557 ,ghc-test-framework-quickcheck2)
6558 ("ghc-test-framework" ,ghc-test-framework)
6559 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6560 (home-page "https://github.com/simonmar/monad-par")
6561 (synopsis "Haskell library for parallel programming based on a monad")
6562 (description "The @code{Par} monad offers an API for parallel
6563programming. The library works for parallelising both pure and @code{IO}
6564computations, although only the pure version is deterministic. The default
6565implementation provides a work-stealing scheduler and supports forking tasks
6566that are much lighter weight than IO-threads.")
6567 (license license:bsd-3)))
6568
6569(define-public ghc-monad-par-extras
6570 (package
6571 (name "ghc-monad-par-extras")
6572 (version "0.3.3")
6573 (source
6574 (origin
6575 (method url-fetch)
6576 (uri (string-append "https://hackage.haskell.org/package/"
6577 "monad-par-extras-" version "/"
6578 "monad-par-extras-" version ".tar.gz"))
6579 (sha256
6580 (base32
6581 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6582 (build-system haskell-build-system)
6583 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6584 ("ghc-cereal" ,ghc-cereal)
6585 ("ghc-random" ,ghc-random)))
6586 (home-page "https://github.com/simonmar/monad-par")
6587 (synopsis "Combinators and extra features for Par monads for Haskell")
6588 (description "This Haskell package provides additional data structures,
6589and other added capabilities layered on top of the @code{Par} monad.")
6590 (license license:bsd-3)))
6591
6592(define-public ghc-monadplus
6593 (package
6594 (name "ghc-monadplus")
6595 (version "1.4.2")
6596 (source
6597 (origin
6598 (method url-fetch)
6599 (uri (string-append "https://hackage.haskell.org/package/monadplus"
6600 "/monadplus-" version ".tar.gz"))
6601 (sha256
6602 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
6603 (build-system haskell-build-system)
6604 (home-page "https://hackage.haskell.org/package/monadplus")
6605 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
6606 (description
6607 "This package generalizes many common stream operations such as
6608@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
6609arbitrary @code{MonadPlus} instances.")
6610 (license license:bsd-3)))
6611
6612(define-public ghc-monadrandom
6613 (package
6614 (name "ghc-monadrandom")
6615 (version "0.5.1.1")
6616 (source
6617 (origin
6618 (method url-fetch)
6619 (uri (string-append "https://hackage.haskell.org/package/"
6620 "MonadRandom-" version "/"
6621 "MonadRandom-" version ".tar.gz"))
6622 (sha256
6623 (base32
6624 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
6625 (build-system haskell-build-system)
6626 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6627 ("ghc-primitive" ,ghc-primitive)
6628 ("ghc-fail" ,ghc-fail)
6629 ("ghc-random" ,ghc-random)))
6630 (home-page "https://github.com/byorgey/MonadRandom")
6631 (synopsis "Random-number generation monad for Haskell")
6632 (description "This Haskell package provides support for computations
6633which consume random values.")
6634 (license license:bsd-3)))
6635
6636(define-public ghc-monads-tf
6637 (package
6638 (name "ghc-monads-tf")
6639 (version "0.1.0.3")
6640 (source
6641 (origin
6642 (method url-fetch)
6643 (uri (string-append
6644 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
6645 version ".tar.gz"))
6646 (sha256
6647 (base32
6648 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
6649 (build-system haskell-build-system)
6650 (home-page "https://hackage.haskell.org/package/monads-tf")
6651 (synopsis "Monad classes, using type families")
6652 (description
6653 "Monad classes using type families, with instances for various monad transformers,
6654inspired by the paper 'Functional Programming with Overloading and Higher-Order
6655Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
6656the @code{mtl-tf} package.")
6657 (license license:bsd-3)))
6658
6659(define-public ghc-mono-traversable
6660 (package
6661 (name "ghc-mono-traversable")
6662 (version "1.0.9.0")
6663 (source
6664 (origin
6665 (method url-fetch)
6666 (uri (string-append "https://hackage.haskell.org/package/"
6667 "mono-traversable-" version "/"
6668 "mono-traversable-" version ".tar.gz"))
6669 (sha256
6670 (base32
6671 "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
6672 (build-system haskell-build-system)
6673 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
6674 ("ghc-hashable" ,ghc-hashable)
6675 ("ghc-vector" ,ghc-vector)
6676 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
6677 ("ghc-split" ,ghc-split)))
6678 (native-inputs `(("ghc-hspec" ,ghc-hspec)
6679 ("ghc-hunit" ,ghc-hunit)
6680 ("ghc-quickcheck" ,ghc-quickcheck)
6681 ("ghc-semigroups" ,ghc-semigroups)
6682 ("ghc-foldl" ,ghc-foldl)))
6683 (home-page "https://github.com/snoyberg/mono-traversable")
6684 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
6685containers")
6686 (description "This Haskell package provides Monomorphic variants of the
6687Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
6688basic typeclasses, you understand mono-traversable. In addition to what
6689you are used to, it adds on an IsSequence typeclass and has code for marking
6690data structures as non-empty.")
6691 (license license:expat)))
6692
6693(define-public ghc-murmur-hash
6694 (package
6695 (name "ghc-murmur-hash")
6696 (version "0.1.0.9")
6697 (source
6698 (origin
6699 (method url-fetch)
6700 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
6701 "/murmur-hash-" version ".tar.gz"))
6702 (sha256
6703 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
6704 (build-system haskell-build-system)
6705 (home-page "https://github.com/nominolo/murmur-hash")
6706 (synopsis "MurmurHash2 implementation for Haskell")
6707 (description
6708 "This package provides an implementation of MurmurHash2, a good, fast,
6709general-purpose, non-cryptographic hashing function. See
6710@url{https://sites.google.com/site/murmurhash/} for details. This
6711implementation is pure Haskell, so it might be a bit slower than a C FFI
6712binding.")
6713 (license license:bsd-3)))
6714
6715(define-public ghc-mwc-random
6716 (package
6717 (name "ghc-mwc-random")
33268e2c 6718 (version "0.14.0.0")
dddbc90c
RV
6719 (source
6720 (origin
6721 (method url-fetch)
6722 (uri (string-append "https://hackage.haskell.org/package/"
6723 "mwc-random-" version "/"
6724 "mwc-random-" version ".tar.gz"))
6725 (sha256
6726 (base32
33268e2c 6727 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
6728 (build-system haskell-build-system)
6729 (inputs
6730 `(("ghc-primitive" ,ghc-primitive)
6731 ("ghc-vector" ,ghc-vector)
6732 ("ghc-math-functions" ,ghc-math-functions)))
6733 (arguments
6734 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
6735 (native-inputs
6736 `(("ghc-hunit" ,ghc-hunit)
6737 ("ghc-quickcheck" ,ghc-quickcheck)
6738 ("ghc-test-framework" ,ghc-test-framework)
6739 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6740 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6741 (home-page "https://github.com/bos/mwc-random")
6742 (synopsis "Random number generation library for Haskell")
6743 (description "This Haskell package contains code for generating
6744high quality random numbers that follow either a uniform or normal
6745distribution. The generated numbers are suitable for use in
6746statistical applications.
6747
6748The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
6749multiply-with-carry generator, which has a period of 2^{8222} and
6750fares well in tests of randomness. It is also extremely fast,
6751between 2 and 3 times faster than the Mersenne Twister.")
6752 (license license:bsd-3)))
6753
6754(define-public ghc-nats
6755 (package
6756 (name "ghc-nats")
6757 (version "1.1.2")
6758 (source
6759 (origin
6760 (method url-fetch)
6761 (uri (string-append
6762 "https://hackage.haskell.org/package/nats/nats-"
6763 version
6764 ".tar.gz"))
6765 (sha256
6766 (base32
6767 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
6768 (build-system haskell-build-system)
6769 (arguments `(#:haddock? #f))
6770 (inputs
6771 `(("ghc-hashable" ,ghc-hashable)))
6772 (home-page "https://hackage.haskell.org/package/nats")
6773 (synopsis "Natural numbers")
6774 (description "This library provides the natural numbers for Haskell.")
6775 (license license:bsd-3)))
6776
6777(define-public ghc-nats-bootstrap
6778 (package
6779 (inherit ghc-nats)
6780 (name "ghc-nats-bootstrap")
6781 (inputs
6782 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
6783 (properties '((hidden? #t)))))
6784
52915062
EF
6785(define-public ghc-ncurses
6786 (package
6787 (name "ghc-ncurses")
6788 (version "0.2.16")
6789 (source
6790 (origin
6791 (method url-fetch)
6792 (uri (string-append
6793 "https://hackage.haskell.org/package/ncurses/ncurses-"
6794 version ".tar.gz"))
6795 (sha256
6796 (base32
6797 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
6798 (build-system haskell-build-system)
6799 (arguments
6800 '(#:phases
6801 (modify-phases %standard-phases
6802 (add-before 'build 'fix-includes
6803 (lambda _
6804 (substitute* '("cbits/hsncurses-shim.h"
6805 "lib/UI/NCurses.chs"
6806 "lib/UI/NCurses/Enums.chs"
6807 "lib/UI/NCurses/Panel.chs")
6808 (("<ncursesw/") "<"))
6809 #t)))
6810 #:cabal-revision
6811 ("1"
6812 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
6813 (inputs `(("ncurses" ,ncurses)))
6814 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
6815 (home-page "https://john-millikin.com/software/haskell-ncurses/")
6816 (synopsis "Modernised bindings to GNU ncurses")
6817 (description "GNU ncurses is a library for creating command-line application
6818with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
6819ncurses.")
6820 (license license:gpl3)))
6821
dddbc90c
RV
6822(define-public ghc-network
6823 (package
6824 (name "ghc-network")
d4473202 6825 (version "2.8.0.1")
dddbc90c
RV
6826 (outputs '("out" "doc"))
6827 (source
6828 (origin
6829 (method url-fetch)
6830 (uri (string-append
6831 "https://hackage.haskell.org/package/network/network-"
6832 version
6833 ".tar.gz"))
6834 (sha256
6835 (base32
d4473202 6836 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
6837 (build-system haskell-build-system)
6838 ;; The regression tests depend on an unpublished module.
6839 (arguments `(#:tests? #f))
6840 (native-inputs
6841 `(("ghc-hunit" ,ghc-hunit)
6842 ("ghc-doctest" ,ghc-doctest)
6843 ("ghc-test-framework" ,ghc-test-framework)
6844 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6845 (home-page "https://github.com/haskell/network")
6846 (synopsis "Low-level networking interface")
6847 (description
6848 "This package provides a low-level networking interface.")
6849 (license license:bsd-3)))
4780db2c 6850
30eebbe6
TS
6851(define-public ghc-network-bsd
6852 (package
6853 (name "ghc-network-bsd")
6854 (version "2.8.0.0")
6855 (source
6856 (origin
6857 (method url-fetch)
6858 (uri (string-append "https://hackage.haskell.org/package/"
6859 "network-bsd/network-bsd-" version ".tar.gz"))
6860 (sha256
6861 (base32
6862 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
6863 (build-system haskell-build-system)
6864 (inputs
6865 `(("ghc-network" ,ghc-network)))
6866 (home-page "https://github.com/haskell/network-bsd")
6867 (synopsis "POSIX network database (<netdb.h>) API")
6868 (description "This package provides Haskell bindings to the the POSIX
6869network database (<netdb.h>) API.")
6870 (license license:bsd-3)))
6871
dddbc90c
RV
6872(define-public ghc-network-info
6873 (package
6874 (name "ghc-network-info")
6875 (version "0.2.0.10")
6876 (source
6877 (origin
6878 (method url-fetch)
6879 (uri (string-append "https://hackage.haskell.org/package/"
6880 "network-info-" version "/"
6881 "network-info-" version ".tar.gz"))
6882 (sha256
6883 (base32
6884 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
6885 (build-system haskell-build-system)
6886 (home-page "https://github.com/jystic/network-info")
6887 (synopsis "Access the local computer's basic network configuration")
6888 (description "This Haskell library provides simple read-only access to the
6889local computer's networking configuration. It is currently capable of
6890getting a list of all the network interfaces and their respective
6891IPv4, IPv6 and MAC addresses.")
6892 (license license:bsd-3)))
6893
6894(define-public ghc-network-uri
6895 (package
6896 (name "ghc-network-uri")
6897 (version "2.6.1.0")
6898 (outputs '("out" "doc"))
6899 (source
6900 (origin
6901 (method url-fetch)
6902 (uri (string-append
6903 "https://hackage.haskell.org/package/network-uri/network-uri-"
6904 version
6905 ".tar.gz"))
6906 (sha256
6907 (base32
6908 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
6909 (build-system haskell-build-system)
6910 (arguments
6911 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
6912 (inputs
6913 `(("ghc-network" ,ghc-network)))
6914 (native-inputs
6915 `(("ghc-hunit" ,ghc-hunit)))
6916 (home-page
6917 "https://github.com/haskell/network-uri")
6918 (synopsis "Library for URI manipulation")
6919 (description "This package provides an URI manipulation interface. In
6920@code{network-2.6} the @code{Network.URI} module was split off from the
6921@code{network} package into this package.")
6922 (license license:bsd-3)))
6923
6924(define-public ghc-newtype-generics
6925 (package
6926 (name "ghc-newtype-generics")
c07e16dd 6927 (version "0.5.4")
dddbc90c
RV
6928 (source
6929 (origin
6930 (method url-fetch)
6931 (uri (string-append "https://hackage.haskell.org/package/"
6932 "newtype-generics/newtype-generics-"
6933 version ".tar.gz"))
6934 (sha256
6935 (base32
c07e16dd 6936 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
6937 (build-system haskell-build-system)
6938 (native-inputs
6939 `(("ghc-hspec" ,ghc-hspec)
6940 ("hspec-discover" ,hspec-discover)))
6941 (home-page "http://github.com/sjakobi/newtype-generics")
6942 (synopsis "Typeclass and set of functions for working with newtypes")
6943 (description "The @code{Newtype} typeclass represents the packing and
6944unpacking of a newtype, and allows you to operate under that newtype with
6945functions such as @code{ala}. Generics support was added in version 0.4,
6946making this package a full replacement for the original newtype package,
6947and an alternative to newtype-th.")
6948 (license license:bsd-3)))
6949
6b652f5a
JS
6950(define-public ghc-non-negative
6951 (package
6952 (name "ghc-non-negative")
6953 (version "0.1.2")
6954 (source
6955 (origin
6956 (method url-fetch)
6957 (uri
6958 (string-append
6959 "https://hackage.haskell.org/package/non-negative/non-negative-"
6960 version ".tar.gz"))
6961 (sha256
6962 (base32
6963 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
6964 (build-system haskell-build-system)
6965 (inputs
6966 `(("ghc-semigroups" ,ghc-semigroups)
6967 ("ghc-utility-ht" ,ghc-utility-ht)
6968 ("ghc-quickcheck" ,ghc-quickcheck)))
6969 (home-page "https://hackage.haskell.org/package/non-negative")
6970 (synopsis "Non-negative numbers class")
6971 (description "This library provides a class for non-negative numbers,
6972a wrapper which can turn any ordered numeric type into a member of that
6973class, and a lazy number type for non-negative numbers (a generalization
6974of Peano numbers).")
6975 (license license:gpl3+)))
6976
dddbc90c
RV
6977(define-public ghc-objectname
6978 (package
6979 (name "ghc-objectname")
6980 (version "1.1.0.1")
6981 (source
6982 (origin
6983 (method url-fetch)
6984 (uri (string-append
6985 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
6986 version
6987 ".tar.gz"))
6988 (sha256
6989 (base32
6990 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
6991 (build-system haskell-build-system)
6992 (home-page "https://hackage.haskell.org/package/ObjectName")
6993 (synopsis "Helper library for Haskell OpenGL")
6994 (description "This tiny package contains the class ObjectName, which
6995corresponds to the general notion of explicitly handled identifiers for API
6996objects, e.g. a texture object name in OpenGL or a buffer object name in
6997OpenAL.")
6998 (license license:bsd-3)))
6999
7000(define-public ghc-old-locale
7001 (package
7002 (name "ghc-old-locale")
7003 (version "1.0.0.7")
7004 (source
7005 (origin
7006 (method url-fetch)
7007 (uri (string-append
7008 "https://hackage.haskell.org/package/old-locale/old-locale-"
7009 version
7010 ".tar.gz"))
7011 (sha256
7012 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7013 (build-system haskell-build-system)
7014 (arguments
7015 `(#:cabal-revision
7016 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7017 (home-page "https://hackage.haskell.org/package/old-locale")
7018 (synopsis "Adapt to locale conventions")
7019 (description
7020 "This package provides the ability to adapt to locale conventions such as
7021date and time formats.")
7022 (license license:bsd-3)))
7023
7024(define-public ghc-old-time
7025 (package
7026 (name "ghc-old-time")
7027 (version "1.1.0.3")
7028 (source
7029 (origin
7030 (method url-fetch)
7031 (uri (string-append
7032 "https://hackage.haskell.org/package/old-time/old-time-"
7033 version
7034 ".tar.gz"))
7035 (sha256
7036 (base32
7037 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7038 (build-system haskell-build-system)
7039 (arguments
7040 `(#:cabal-revision
7041 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7042 (inputs
7043 `(("ghc-old-locale" ,ghc-old-locale)))
7044 (home-page "https://hackage.haskell.org/package/old-time")
7045 (synopsis "Time compatibility library for Haskell")
7046 (description "Old-time is a package for backwards compatibility with the
7047old @code{time} library. For new projects, the newer
7048@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7049 (license license:bsd-3)))
7050
7051(define-public ghc-opengl
7052 (package
7053 (name "ghc-opengl")
79a06910 7054 (version "3.0.3.0")
dddbc90c
RV
7055 (source
7056 (origin
7057 (method url-fetch)
7058 (uri (string-append
7059 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7060 version
7061 ".tar.gz"))
7062 (sha256
7063 (base32
79a06910 7064 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 7065 (build-system haskell-build-system)
79a06910
TS
7066 (arguments
7067 `(#:cabal-revision
7068 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
7069 (inputs
7070 `(("ghc-objectname" ,ghc-objectname)
7071 ("ghc-gluraw" ,ghc-gluraw)
7072 ("ghc-statevar" ,ghc-statevar)
7073 ("ghc-openglraw" ,ghc-openglraw)))
7074 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7075 (synopsis "Haskell bindings for the OpenGL graphics system")
7076 (description "This package provides Haskell bindings for the OpenGL
7077graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7078version 1.3).")
7079 (license license:bsd-3)))
7080
7081(define-public ghc-openglraw
7082 (package
7083 (name "ghc-openglraw")
15ebc815 7084 (version "3.3.3.0")
dddbc90c
RV
7085 (source
7086 (origin
7087 (method url-fetch)
7088 (uri (string-append
7089 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7090 version
7091 ".tar.gz"))
7092 (sha256
7093 (base32
15ebc815 7094 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
7095 (build-system haskell-build-system)
7096 (inputs
7097 `(("ghc-half" ,ghc-half)
7098 ("ghc-fixed" ,ghc-fixed)
7099 ("glu" ,glu)))
7100 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7101 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7102 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7103graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7104of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7105offers access to all necessary functions, tokens and types plus a general
7106facility for loading extension entries. The module hierarchy closely mirrors
7107the naming structure of the OpenGL extensions, making it easy to find the
7108right module to import. All API entries are loaded dynamically, so no special
7109C header files are needed for building this package. If an API entry is not
7110found at runtime, a userError is thrown.")
7111 (license license:bsd-3)))
7112
7113(define-public ghc-operational
7114 (package
7115 (name "ghc-operational")
7116 (version "0.2.3.5")
7117 (source
7118 (origin
7119 (method url-fetch)
7120 (uri (string-append "https://hackage.haskell.org/package/operational/"
7121 "operational-" version ".tar.gz"))
7122 (sha256
7123 (base32
7124 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7125 (build-system haskell-build-system)
7126 (inputs
7127 `(("ghc-random" ,ghc-random)))
7128 (home-page "http://wiki.haskell.org/Operational")
7129 (synopsis "Implementation of difficult monads made easy with operational semantics")
7130 (description
7131 "This library makes it easy to implement monads with tricky control
7132flow. This is useful for: writing web applications in a sequential style,
7133programming games with a uniform interface for human and AI players and easy
7134replay capababilities, implementing fast parser monads, designing monadic
7135DSLs, etc.")
7136 (license license:bsd-3)))
7137
7138(define-public ghc-options
7139 (package
7140 (name "ghc-options")
7141 (version "1.2.1.1")
7142 (source
7143 (origin
7144 (method url-fetch)
7145 (uri (string-append
7146 "https://hackage.haskell.org/package/options/options-"
7147 version ".tar.gz"))
7148 (sha256
7149 (base32
7150 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7151 (build-system haskell-build-system)
7152 (inputs
7153 `(("ghc-monads-tf" ,ghc-monads-tf)
7154 ("ghc-chell" ,ghc-chell)
7155 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7156 (home-page "https://john-millikin.com/software/haskell-options/")
7157 (synopsis "Powerful and easy-to-use command-line option parser")
7158 (description
7159 "The @code{options} package lets library and application developers
7160easily work with command-line options.")
7161 (license license:expat)))
7162
7163;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7164(define ghc-options-bootstrap
7165 (package
7166 (name "ghc-options-bootstrap")
7167 (version "1.2.1.1")
7168 (source
7169 (origin
7170 (method url-fetch)
7171 (uri (string-append
7172 "https://hackage.haskell.org/package/options/options-"
7173 version ".tar.gz"))
7174 (sha256
7175 (base32
7176 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7177 (build-system haskell-build-system)
7178 (arguments
7179 `(#:tests? #f))
7180 (inputs
7181 `(("ghc-monads-tf" ,ghc-monads-tf)))
7182 (home-page "https://john-millikin.com/software/haskell-options/")
7183 (synopsis "Powerful and easy-to-use command-line option parser")
7184 (description
7185 "The @code{options} package lets library and application developers
7186easily work with command-line options.")
7187 (license license:expat)))
7188
7189
7190(define-public ghc-optparse-applicative
7191 (package
7192 (name "ghc-optparse-applicative")
74bf6965 7193 (version "0.14.3.0")
dddbc90c
RV
7194 (source
7195 (origin
7196 (method url-fetch)
7197 (uri (string-append
7198 "https://hackage.haskell.org/package/optparse-applicative"
7199 "/optparse-applicative-" version ".tar.gz"))
7200 (sha256
7201 (base32
74bf6965 7202 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 7203 (build-system haskell-build-system)
74bf6965
TS
7204 (arguments
7205 `(#:cabal-revision
7206 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
7207 (inputs
7208 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7209 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7210 (native-inputs
7211 `(("ghc-quickcheck" ,ghc-quickcheck)))
7212 (home-page "https://github.com/pcapriotti/optparse-applicative")
7213 (synopsis "Utilities and combinators for parsing command line options")
7214 (description "This package provides utilities and combinators for parsing
7215command line options in Haskell.")
7216 (license license:bsd-3)))
7217
7218(define-public ghc-pandoc
7219 (package
7220 (name "ghc-pandoc")
7221 (version "2.2.1")
7222 (source
7223 (origin
7224 (method url-fetch)
7225 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7226 version ".tar.gz"))
7227 (sha256
7228 (base32
7229 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
7230 (build-system haskell-build-system)
7231 (arguments
7232 `(#:phases
7233 (modify-phases %standard-phases
7234 (add-before 'configure 'update-constraints
7235 (lambda _
7236 (substitute* "pandoc.cabal"
7237 (("tasty >= 0\\.11 && < 1\\.1")
7238 "tasty >= 0.11 && < 1.1.1"))))
7239 (add-before 'configure 'patch-tests
7240 (lambda _
7241 ;; These tests fail benignly and have been adjusted upstream:
7242 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
7243 (substitute* "test/Tests/Old.hs"
7244 (("lhsWriterTests \"html\"") "[]")))))))
7245 (inputs
7246 `(("ghc-aeson" ,ghc-aeson)
7247 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7248 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7249 ("ghc-blaze-html" ,ghc-blaze-html)
7250 ("ghc-blaze-markup" ,ghc-blaze-markup)
7251 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7252 ("ghc-data-default" ,ghc-data-default)
7253 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7254 ("ghc-diff" ,ghc-diff)
7255 ("ghc-doctemplates" ,ghc-doctemplates)
7256 ("ghc-executable-path" ,ghc-executable-path)
7257 ("ghc-glob" ,ghc-glob)
7258 ("ghc-haddock-library" ,ghc-haddock-library)
7259 ("ghc-hslua" ,ghc-hslua)
7260 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7261 ("ghc-http" ,ghc-http)
7262 ("ghc-http-client" ,ghc-http-client)
7263 ("ghc-http-client-tls" ,ghc-http-client-tls)
7264 ("ghc-http-types" ,ghc-http-types)
7265 ("ghc-juicypixels" ,ghc-juicypixels)
7266 ("ghc-network" ,ghc-network)
7267 ("ghc-network-uri" ,ghc-network-uri)
7268 ("ghc-old-locale" ,ghc-old-locale)
7269 ("ghc-pandoc-types" ,ghc-pandoc-types)
7270 ("ghc-random" ,ghc-random)
7271 ("ghc-scientific" ,ghc-scientific)
7272 ("ghc-sha" ,ghc-sha)
7273 ("ghc-skylighting" ,ghc-skylighting)
7274 ("ghc-split" ,ghc-split)
7275 ("ghc-syb" ,ghc-syb)
7276 ("ghc-tagsoup" ,ghc-tagsoup)
7277 ("ghc-temporary" ,ghc-temporary)
7278 ("ghc-texmath" ,ghc-texmath)
7279 ("ghc-unordered-containers" ,ghc-unordered-containers)
7280 ("ghc-vector" ,ghc-vector)
7281 ("ghc-xml" ,ghc-xml)
7282 ("ghc-yaml" ,ghc-yaml)
7283 ("ghc-zip-archive" ,ghc-zip-archive)
7284 ("ghc-zlib" ,ghc-zlib)))
7285 (native-inputs
7286 `(("ghc-tasty" ,ghc-tasty)
7287 ("ghc-tasty-golden" ,ghc-tasty-golden)
7288 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7289 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7290 ("ghc-quickcheck" ,ghc-quickcheck)
7291 ("ghc-hunit" ,ghc-hunit)))
7292 (home-page "https://pandoc.org")
7293 (synopsis "Conversion between markup formats")
7294 (description
7295 "Pandoc is a Haskell library for converting from one markup format to
7296another, and a command-line tool that uses this library. It can read and
7297write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7298LaTeX, DocBook, and many more.
7299
7300Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7301definition lists, tables, and other features. A compatibility mode is
7302provided for those who need a drop-in replacement for Markdown.pl.")
7303 (license license:gpl2+)))
7304
7305(define-public ghc-pandoc-citeproc
7306 (package
7307 (name "ghc-pandoc-citeproc")
7308 (version "0.14.3.1")
7309 (source
7310 (origin
7311 (method url-fetch)
7312 (uri (string-append "https://hackage.haskell.org/package/"
7313 "pandoc-citeproc/pandoc-citeproc-"
7314 version ".tar.gz"))
7315 (sha256
7316 (base32
7317 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7318 (build-system haskell-build-system)
7319 (arguments
7320 `(#:phases
7321 (modify-phases %standard-phases
7322 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7323 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7324 (add-before 'configure 'patch-tests
7325 (lambda _
7326 (substitute* "tests/test-pandoc-citeproc.hs"
7327 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7328 "let allTests = citeprocTests"))))
7329 ;; Tests need to be run after installation.
7330 (delete 'check)
7331 (add-after 'install 'post-install-check
7332 (assoc-ref %standard-phases 'check)))))
7333 (inputs
7334 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7335 ("ghc-pandoc" ,ghc-pandoc)
7336 ("ghc-tagsoup" ,ghc-tagsoup)
7337 ("ghc-aeson" ,ghc-aeson)
7338 ("ghc-vector" ,ghc-vector)
7339 ("ghc-xml-conduit" ,ghc-xml-conduit)
7340 ("ghc-unordered-containers" ,ghc-unordered-containers)
7341 ("ghc-data-default" ,ghc-data-default)
7342 ("ghc-setenv" ,ghc-setenv)
7343 ("ghc-split" ,ghc-split)
7344 ("ghc-yaml" ,ghc-yaml)
7345 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7346 ("ghc-rfc5051" ,ghc-rfc5051)
7347 ("ghc-syb" ,ghc-syb)
7348 ("ghc-old-locale" ,ghc-old-locale)
7349 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7350 ("ghc-attoparsec" ,ghc-attoparsec)
7351 ("ghc-temporary" ,ghc-temporary)))
7352 (home-page "https://github.com/jgm/pandoc-citeproc")
7353 (synopsis "Library for using pandoc with citeproc")
7354 (description
7355 "The @code{pandoc-citeproc} library exports functions for using the
7356citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7357rendering bibliographic reference citations into a variety of styles using a
7358macro language called @dfn{Citation Style Language} (CSL). This package also
7359contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7360and also has a mode for converting bibliographic databases a YAML format
7361suitable for inclusion in pandoc YAML metadata.")
7362 (license license:bsd-3)))
7363
7364(define-public ghc-pandoc-types
7365 (package
7366 (name "ghc-pandoc-types")
0eaa88c8 7367 (version "1.17.6.1")
dddbc90c
RV
7368 (source (origin
7369 (method url-fetch)
7370 (uri (string-append "https://hackage.haskell.org/package/"
7371 "pandoc-types/pandoc-types-"
7372 version ".tar.gz"))
7373 (sha256
7374 (base32
0eaa88c8 7375 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
7376 (build-system haskell-build-system)
7377 (inputs
7378 `(("ghc-syb" ,ghc-syb)
7379 ("ghc-aeson" ,ghc-aeson)
7380 ("ghc-string-qq" ,ghc-string-qq)))
7381 (native-inputs
7382 `(("ghc-quickcheck" ,ghc-quickcheck)
7383 ("ghc-test-framework" ,ghc-test-framework)
7384 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7385 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7386 ("ghc-hunit" ,ghc-hunit)))
7387 (home-page "http://johnmacfarlane.net/pandoc")
7388 (synopsis "Types for representing a structured document")
7389 (description
7390 "This module defines the @code{Pandoc} data structure, which is used by
7391pandoc to represent structured documents. It also provides functions for
7392building up, manipulating and serialising @code{Pandoc} structures.")
7393 (license license:bsd-3)))
7394
7395(define-public ghc-parallel
7396 (package
7397 (name "ghc-parallel")
7398 (version "3.2.2.0")
7399 (outputs '("out" "doc"))
7400 (source
7401 (origin
7402 (method url-fetch)
7403 (uri (string-append
7404 "https://hackage.haskell.org/package/parallel/parallel-"
7405 version
7406 ".tar.gz"))
7407 (sha256
7408 (base32
7409 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7410 (build-system haskell-build-system)
7411 (home-page "https://hackage.haskell.org/package/parallel")
7412 (synopsis "Parallel programming library")
7413 (description
7414 "This package provides a library for parallel programming.")
7415 (license license:bsd-3)))
7416
7417(define-public ghc-parsec-numbers
7418 (package
7419 (name "ghc-parsec-numbers")
7420 (version "0.1.0")
7421 (source
7422 (origin
7423 (method url-fetch)
7424 (uri (string-append "https://hackage.haskell.org/package/"
7425 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7426 (sha256
7427 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7428 (build-system haskell-build-system)
7429 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7430 (synopsis "Utilities for parsing numbers from strings")
7431 (description
7432 "This package provides the number parsers without the need to use a large
7433(and unportable) token parser.")
7434 (license license:bsd-3)))
7435
7436(define-public ghc-parser-combinators
7437 (package
7438 (name "ghc-parser-combinators")
2f173160 7439 (version "1.1.0")
dddbc90c
RV
7440 (source
7441 (origin
7442 (method url-fetch)
7443 (uri (string-append "https://hackage.haskell.org/package/"
7444 "parser-combinators/parser-combinators-"
7445 version ".tar.gz"))
7446 (sha256
7447 (base32
2f173160 7448 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
7449 (build-system haskell-build-system)
7450 (home-page "https://github.com/mrkkrp/parser-combinators")
7451 (synopsis "Commonly useful parser combinators")
7452 (description
7453 "This is a lightweight package providing commonly useful parser
7454combinators.")
7455 (license license:bsd-3)))
7456
7457(define-public ghc-parsers
7458 (package
7459 (name "ghc-parsers")
6818f970 7460 (version "0.12.10")
dddbc90c
RV
7461 (source
7462 (origin
7463 (method url-fetch)
7464 (uri (string-append
7465 "https://hackage.haskell.org/package/parsers/parsers-"
7466 version
7467 ".tar.gz"))
7468 (sha256
7469 (base32
6818f970 7470 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
7471 (build-system haskell-build-system)
7472 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7473 ; -package attoparsec-0.13.0.1"
7474 (inputs
7475 `(("ghc-base-orphans" ,ghc-base-orphans)
7476 ("ghc-attoparsec" ,ghc-attoparsec)
7477 ("ghc-scientific" ,ghc-scientific)
7478 ("ghc-charset" ,ghc-charset)
7479 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7480 (home-page "https://github.com/ekmett/parsers/")
7481 (synopsis "Parsing combinators")
7482 (description "This library provides convenient combinators for working
7483with and building parsing combinator libraries. Given a few simple instances,
7484you get access to a large number of canned definitions. Instances exist for
7485the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7486@code{Text.Read}.")
7487 (license license:bsd-3)))
7488
7489(define-public ghc-path
7490 (package
7491 (name "ghc-path")
7492 (version "0.6.1")
7493 (source
7494 (origin
7495 (method url-fetch)
7496 (uri (string-append
7497 "https://hackage.haskell.org/package/path/path-"
7498 version
7499 ".tar.gz"))
7500 (sha256
7501 (base32
7502 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7503 (build-system haskell-build-system)
7504 (arguments
7505 ;; TODO: There are some Windows-related tests and modules that need to be
7506 ;; danced around.
7507 `(#:tests? #f
7508 #:cabal-revision
7509 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7510 (inputs
7511 `(("ghc-aeson" ,ghc-aeson)
7512 ("ghc-exceptions" ,ghc-exceptions)
7513 ("ghc-hashable" ,ghc-hashable)))
7514 (native-inputs
7515 `(("ghc-hspec" ,ghc-hspec)
7516 ("ghc-quickcheck" ,ghc-quickcheck)
7517 ("ghc-genvalidity" ,ghc-genvalidity)
7518 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7519 ("ghc-hspec" ,ghc-hspec)
7520 ("ghc-validity" ,ghc-validity)))
7521 (home-page
7522 "http://hackage.haskell.org/package/path")
7523 (synopsis "Support for well-typed paths")
7524 (description "This package introduces a type for paths upholding useful
7525invariants.")
7526 (license license:bsd-3)))
7527
7528(define-public ghc-path-io
7529 (package
7530 (name "ghc-path-io")
7531 (version "1.3.3")
7532 (source
7533 (origin
7534 (method url-fetch)
7535 (uri (string-append
7536 "https://hackage.haskell.org/package/path-io/path-io-"
7537 version
7538 ".tar.gz"))
7539 (sha256
7540 (base32
7541 "1g9m3qliqjk1img894wsb89diym5zrq51qkkrwhz4sbm9a8hbv1a"))))
7542 (build-system haskell-build-system)
7543 (inputs
7544 `(("ghc-dlist" ,ghc-dlist)
7545 ("ghc-exceptions" ,ghc-exceptions)
7546 ("ghc-path" ,ghc-path)
7547 ("ghc-transformers-base" ,ghc-transformers-base)
7548 ("ghc-unix-compat" ,ghc-unix-compat)
7549 ("ghc-temporary" ,ghc-temporary)))
7550 (native-inputs
7551 `(("ghc-hspec" ,ghc-hspec)))
7552 (arguments
7553 `(#:cabal-revision
7554 ("3" "1h9hsibbflkxpjl2fqamqiv3x3gasf51apnmklrs9l9x8r32hzcc")))
7555 (home-page
7556 "https://github.com/mrkkrp/path-io")
7557 (synopsis "Functions for manipulating well-typed paths")
7558 (description "This package provides an interface to the @code{directory}
7559package for users of @code{path}. It also implements some missing stuff like
7560recursive scanning and copying of directories, working with temporary
7561files/directories, and more.")
7562 (license license:bsd-3)))
7563
7564(define-public ghc-paths
7565 (package
7566 (name "ghc-paths")
9a8adeb1 7567 (version "0.1.0.12")
dddbc90c
RV
7568 (outputs '("out" "doc"))
7569 (source
7570 (origin
7571 (method url-fetch)
7572 (uri (string-append
7573 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7574 version
7575 ".tar.gz"))
7576 (sha256
7577 (base32
9a8adeb1 7578 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
7579 (build-system haskell-build-system)
7580 (home-page "https://github.com/simonmar/ghc-paths")
7581 (synopsis
7582 "Knowledge of GHC's installation directories")
7583 (description
7584 "Knowledge of GHC's installation directories.")
7585 (license license:bsd-3)))
7586
7587(define-public ghc-patience
7588 (package
7589 (name "ghc-patience")
484476f3 7590 (version "0.3")
dddbc90c
RV
7591 (source
7592 (origin
7593 (method url-fetch)
7594 (uri (string-append
7595 "https://hackage.haskell.org/package/patience/patience-"
7596 version ".tar.gz"))
7597 (sha256
7598 (base32
484476f3 7599 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
7600 (build-system haskell-build-system)
7601 (home-page "https://hackage.haskell.org/package/patience")
7602 (synopsis "Patience diff and longest increasing subsequence")
7603 (description
7604 "This library implements the 'patience diff' algorithm, as well as the
7605patience algorithm for the longest increasing subsequence problem.
7606Patience diff computes the difference between two lists, for example the lines
7607of two versions of a source file. It provides a good balance between
7608performance, nice output for humans, and simplicity of implementation.")
7609 (license license:bsd-3)))
7610
7611(define-public ghc-pcre-light
7612 (package
7613 (name "ghc-pcre-light")
7614 (version "0.4.0.4")
7615 (source
7616 (origin
7617 (method url-fetch)
7618 (uri (string-append
7619 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7620 version
7621 ".tar.gz"))
7622 (sha256
7623 (base32
7624 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7625 (build-system haskell-build-system)
7626 (inputs
7627 `(("pcre" ,pcre)))
7628 (native-inputs
7629 `(("pkg-config" ,pkg-config)))
7630 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7631 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7632 (description "This package provides a small, efficient, and portable regex
7633library for Perl 5 compatible regular expressions. The PCRE library is a set
7634of functions that implement regular expression pattern matching using the same
7635syntax and semantics as Perl 5.")
7636 (license license:bsd-3)))
7637
7638(define-public ghc-persistent
7639 (package
7640 (name "ghc-persistent")
7641 (version "2.8.2")
7642 (source
7643 (origin
7644 (method url-fetch)
7645 (uri (string-append "https://hackage.haskell.org/package/"
7646 "persistent-" version "/"
7647 "persistent-" version ".tar.gz"))
7648 (sha256
7649 (base32
7650 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
7651 (build-system haskell-build-system)
7652 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7653 ("ghc-conduit" ,ghc-conduit)
7654 ("ghc-resourcet" ,ghc-resourcet)
7655 ("ghc-exceptions" ,ghc-exceptions)
7656 ("ghc-monad-control" ,ghc-monad-control)
7657 ("ghc-lifted-base" ,ghc-lifted-base)
7658 ("ghc-resource-pool" ,ghc-resource-pool)
7659 ("ghc-path-pieces" ,ghc-path-pieces)
7660 ("ghc-http-api-data" ,ghc-http-api-data)
7661 ("ghc-aeson" ,ghc-aeson)
7662 ("ghc-monad-logger" ,ghc-monad-logger)
7663 ("ghc-transformers-base" ,ghc-transformers-base)
7664 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7665 ("ghc-unordered-containers" ,ghc-unordered-containers)
7666 ("ghc-vector" ,ghc-vector)
7667 ("ghc-attoparsec" ,ghc-attoparsec)
7668 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7669 ("ghc-blaze-html" ,ghc-blaze-html)
7670 ("ghc-blaze-markup" ,ghc-blaze-markup)
7671 ("ghc-silently" ,ghc-silently)
7672 ("ghc-fast-logger" ,ghc-fast-logger)
7673 ("ghc-scientific" ,ghc-scientific)
7674 ("ghc-tagged" ,ghc-tagged)
7675 ("ghc-void" ,ghc-void)))
7676 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7677 (home-page "https://www.yesodweb.com/book/persistent")
7678 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7679 (description "This Haskell package allows Haskell programs to access data
7680storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7681way.")
7682 (license license:expat)))
7683
7684(define-public ghc-persistent-sqlite
7685 (package
7686 (name "ghc-persistent-sqlite")
7687 (version "2.8.2")
7688 (source
7689 (origin
7690 (method url-fetch)
7691 (uri (string-append "https://hackage.haskell.org/package/"
7692 "persistent-sqlite-" version "/"
7693 "persistent-sqlite-" version ".tar.gz"))
7694 (sha256
7695 (base32
7696 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7697 (build-system haskell-build-system)
7698 (inputs `(("ghc-persistent" ,ghc-persistent)
7699 ("ghc-unliftio-core" ,ghc-unliftio-core)
7700 ("ghc-aeson" ,ghc-aeson)
7701 ("ghc-conduit" ,ghc-conduit)
7702 ("ghc-monad-logger" ,ghc-monad-logger)
7703 ("ghc-microlens-th" ,ghc-microlens-th)
7704 ("ghc-resourcet" ,ghc-resourcet)
7705 ("ghc-old-locale" ,ghc-old-locale)
7706 ("ghc-resource-pool" ,ghc-resource-pool)
7707 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7708 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7709 ("ghc-persistent-template" ,ghc-persistent-template)
7710 ("ghc-temporary" ,ghc-temporary)))
7711 (home-page
7712 "https://www.yesodweb.com/book/persistent")
7713 (synopsis "Backend for the persistent library using sqlite3")
7714 (description "This Haskell package includes a thin sqlite3 wrapper based
7715on the direct-sqlite package, as well as the entire C library, so there are no
7716system dependencies.")
7717 (license license:expat)))
7718
7719(define-public ghc-persistent-template
7720 (package
7721 (name "ghc-persistent-template")
7722 (version "2.5.4")
7723 (source
7724 (origin
7725 (method url-fetch)
7726 (uri (string-append "https://hackage.haskell.org/package/"
7727 "persistent-template-" version "/"
7728 "persistent-template-" version ".tar.gz"))
7729 (sha256
7730 (base32
7731 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7732 (build-system haskell-build-system)
7733 (arguments
7734 `(#:cabal-revision
7735 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7736 (inputs `(("ghc-persistent" ,ghc-persistent)
7737 ("ghc-monad-control" ,ghc-monad-control)
7738 ("ghc-aeson" ,ghc-aeson)
7739 ("ghc-aeson-compat" ,ghc-aeson-compat)
7740 ("ghc-monad-logger" ,ghc-monad-logger)
7741 ("ghc-unordered-containers" ,ghc-unordered-containers)
7742 ("ghc-tagged" ,ghc-tagged)
7743 ("ghc-path-pieces" ,ghc-path-pieces)
7744 ("ghc-http-api-data" ,ghc-http-api-data)))
7745 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7746 ("ghc-quickcheck" ,ghc-quickcheck)))
7747 (home-page "https://www.yesodweb.com/book/persistent")
7748 (synopsis "Type-safe, non-relational, multi-backend persistence")
7749 (description "This Haskell package provides interfaces and helper
7750functions for the ghc-persistent package.")
7751 (license license:expat)))
7752
7753(define-public ghc-polyparse
7754 (package
7755 (name "ghc-polyparse")
9822b9ca 7756 (version "1.12.1")
dddbc90c
RV
7757 (source
7758 (origin
7759 (method url-fetch)
7760 (uri (string-append
7761 "https://hackage.haskell.org/package/polyparse/polyparse-"
7762 version
7763 ".tar.gz"))
7764 (sha256
7765 (base32
9822b9ca 7766 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
7767 (build-system haskell-build-system)
7768 (home-page
7769 "http://code.haskell.org/~malcolm/polyparse/")
7770 (synopsis
7771 "Alternative parser combinator libraries")
7772 (description
7773 "This package provides a variety of alternative parser combinator
7774libraries, including the original HuttonMeijer set. The Poly sets have
7775features like good error reporting, arbitrary token type, running state, lazy
7776parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7777standard Read class, for better deserialisation of Haskell values from
7778Strings.")
7779 (license license:lgpl2.1)))
7780
7781(define-public ghc-pqueue
7782 (package
7783 (name "ghc-pqueue")
142415b0 7784 (version "1.4.1.2")
dddbc90c
RV
7785 (source
7786 (origin
7787 (method url-fetch)
7788 (uri (string-append "https://hackage.haskell.org/package/"
7789 "pqueue/pqueue-" version ".tar.gz"))
7790 (sha256
7791 (base32
142415b0 7792 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
7793 (build-system haskell-build-system)
7794 (native-inputs
7795 `(("ghc-quickcheck" ,ghc-quickcheck)))
7796 (home-page "https://hackage.haskell.org/package/pqueue")
7797 (synopsis "Reliable, persistent, fast priority queues")
7798 (description
7799 "This package provides a fast, reliable priority queue implementation
7800based on a binomial heap.")
7801 (license license:bsd-3)))
7802
7803(define-public ghc-prelude-extras
7804 (package
7805 (name "ghc-prelude-extras")
7806 (version "0.4.0.3")
7807 (source
7808 (origin
7809 (method url-fetch)
7810 (uri (string-append
7811 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7812 version
7813 ".tar.gz"))
7814 (sha256
7815 (base32
7816 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7817 (build-system haskell-build-system)
7818 (home-page "https://github.com/ekmett/prelude-extras")
7819 (synopsis "Higher order versions of Prelude classes")
7820 (description "This library provides higher order versions of
7821@code{Prelude} classes to ease programming with polymorphic recursion and
7822reduce @code{UndecidableInstances}.")
7823 (license license:bsd-3)))
7824
7825(define-public ghc-prettyclass
7826 (package
7827 (name "ghc-prettyclass")
7828 (version "1.0.0.0")
7829 (source
7830 (origin
7831 (method url-fetch)
7832 (uri (string-append "https://hackage.haskell.org/package/"
7833 "prettyclass/prettyclass-" version ".tar.gz"))
7834 (sha256
7835 (base32
7836 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7837 (build-system haskell-build-system)
7838 (home-page "http://hackage.haskell.org/package/prettyclass")
7839 (synopsis "Pretty printing class similar to Show")
7840 (description "This package provides a pretty printing class similar
7841to @code{Show}, based on the HughesPJ pretty printing library. It
7842provides the pretty printing class and instances for the Prelude
7843types.")
7844 (license license:bsd-3)))
7845
7846(define-public ghc-pretty-hex
7847 (package
7848 (name "ghc-pretty-hex")
7849 (version "1.0")
7850 (source
7851 (origin
7852 (method url-fetch)
7853 (uri (string-append "https://hackage.haskell.org/package/"
7854 "pretty-hex-" version "/"
7855 "pretty-hex-" version ".tar.gz"))
7856 (sha256
7857 (base32
7858 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7859 (build-system haskell-build-system)
7860 (home-page "https://github.com/GaloisInc/hexdump")
7861 (synopsis "Haskell library for hex dumps of ByteStrings")
7862 (description "This Haskell library generates pretty hex dumps of
7863ByteStrings in the style of other common *nix hex dump tools.")
7864 (license license:bsd-3)))
7865
7866(define-public ghc-pretty-show
7867 (package
7868 (name "ghc-pretty-show")
7683a084 7869 (version "1.9.5")
dddbc90c
RV
7870 (source
7871 (origin
7872 (method url-fetch)
7873 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
7874 "pretty-show-" version ".tar.gz"))
7875 (sha256
7876 (base32
7683a084 7877 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
7878 (build-system haskell-build-system)
7879 (inputs
7880 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
7881 ("ghc-happy" ,ghc-happy)))
7882 (home-page "http://wiki.github.com/yav/pretty-show")
7883 (synopsis "Tools for working with derived `Show` instances")
7884 (description
7885 "This package provides a library and an executable for working with
7886derived @code{Show} instances. By using the library, derived @code{Show}
7887instances can be parsed into a generic data structure. The @code{ppsh} tool
7888uses the library to produce human-readable versions of @code{Show} instances,
7889which can be quite handy for debugging Haskell programs. We can also render
7890complex generic values into an interactive Html page, for easier
7891examination.")
7892 (license license:expat)))
7893
7894(define-public ghc-primitive
7895 (package
7896 (name "ghc-primitive")
7897 (version "0.6.4.0")
7898 (outputs '("out" "doc"))
7899 (source
7900 (origin
7901 (method url-fetch)
7902 (uri (string-append
7903 "https://hackage.haskell.org/package/primitive/primitive-"
7904 version
7905 ".tar.gz"))
7906 (sha256
7907 (base32
7908 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
7909 (build-system haskell-build-system)
6cf0daa4
TS
7910 (arguments
7911 `(#:cabal-revision
7912 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
7913 (home-page
7914 "https://github.com/haskell/primitive")
7915 (synopsis "Primitive memory-related operations")
7916 (description
7917 "This package provides various primitive memory-related operations.")
7918 (license license:bsd-3)))
7919
21f5b9a9
JS
7920(define-public ghc-process-extras
7921 (package
7922 (name "ghc-process-extras")
7923 (version "0.7.4")
7924 (source
7925 (origin
7926 (method url-fetch)
7927 (uri
7928 (string-append
7929 "https://hackage.haskell.org/package/process-extras/"
7930 "process-extras-" version ".tar.gz"))
7931 (sha256
7932 (base32
7933 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
7934 (build-system haskell-build-system)
7935 (inputs
7936 `(("ghc-data-default" ,ghc-data-default)
7937 ("ghc-generic-deriving" ,ghc-generic-deriving)
7938 ("ghc-hunit" ,ghc-hunit)
7939 ("ghc-listlike" ,ghc-listlike)))
7940 (home-page "https://github.com/seereason/process-extras")
7941 (synopsis "Extra tools for managing processes")
f74b6983 7942 (description "This package extends
21f5b9a9
JS
7943@url{http://hackage.haskell.org/package/process}. It allows you to read
7944process input and output as ByteStrings or Text, or write your own
7945ProcessOutput instance. It also provides lazy process input and output,
7946and a ProcessMaker class for more flexibility in the process creation
7947API.")
7948 (license license:expat)))
7949
dddbc90c
RV
7950(define-public ghc-profunctors
7951 (package
7952 (name "ghc-profunctors")
899b5297 7953 (version "5.3")
dddbc90c
RV
7954 (source
7955 (origin
7956 (method url-fetch)
7957 (uri (string-append
7958 "https://hackage.haskell.org/package/profunctors/profunctors-"
7959 version
7960 ".tar.gz"))
7961 (sha256
7962 (base32
899b5297 7963 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 7964 (build-system haskell-build-system)
dddbc90c
RV
7965 (inputs
7966 `(("ghc-base-orphans" ,ghc-base-orphans)
7967 ("ghc-bifunctors" ,ghc-bifunctors)
7968 ("ghc-comonad" ,ghc-comonad)
7969 ("ghc-contravariant" ,ghc-contravariant)
7970 ("ghc-distributive" ,ghc-distributive)
7971 ("ghc-semigroups" ,ghc-semigroups)
7972 ("ghc-tagged" ,ghc-tagged)))
7973 (home-page "https://github.com/ekmett/profunctors/")
7974 (synopsis "Profunctors for Haskell")
7975 (description "This library provides profunctors for Haskell.")
7976 (license license:bsd-3)))
7977
7978(define-public ghc-psqueues
7979 (package
7980 (name "ghc-psqueues")
5d133942 7981 (version "0.2.7.2")
dddbc90c
RV
7982 (source
7983 (origin
7984 (method url-fetch)
7985 (uri (string-append "https://hackage.haskell.org/package/"
7986 "psqueues-" version "/"
7987 "psqueues-" version ".tar.gz"))
7988 (sha256
7989 (base32
5d133942 7990 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
7991 (build-system haskell-build-system)
7992 (inputs
7993 `(("ghc-hashable" ,ghc-hashable)))
7994 (native-inputs
7995 `(("ghc-hunit" ,ghc-hunit)
7996 ("ghc-quickcheck" ,ghc-quickcheck)
7997 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
7998 ("ghc-tasty" ,ghc-tasty)
7999 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8000 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
8001 (home-page "https://github.com/jaspervdj/psqueues")
8002 (synopsis "Pure priority search queues")
8003 (description "The psqueues package provides
8004@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
8005three different flavors:
8006
8007@itemize
8008@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8009fast insertion, deletion and lookup. This implementation is based on Ralf
8010Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8011Implementation Technique for Priority Search Queues}.
8012
8013Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
8014PSQueue} library, although it is considerably faster and provides a slightly
8015different API.
8016
8017@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8018key type to @code{Int} and uses a
8019@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8020with an additional min-heap property.
8021
8022@item @code{HashPSQ k p v} is a fairly straightforward extension
8023of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8024@code{IntPSQ}. If there are any hash collisions, it uses an
8025@code{OrdPSQ} to resolve those. The performance of this implementation
8026is comparable to that of @code{IntPSQ}, but it is more widely
8027applicable since the keys are not restricted to @code{Int},
8028but rather to any @code{Hashable} datatype.
8029@end itemize
8030
8031Each of the three implementations provides the same API, so they can
8032be used interchangeably.
8033
8034Typical applications of Priority Search Queues include:
8035
8036@itemize
8037@item Caches, and more specifically LRU Caches;
8038@item Schedulers;
8039@item Pathfinding algorithms, such as Dijkstra's and A*.
8040@end itemize")
8041 (license license:bsd-3)))
8042
8043(define-public ghc-random
8044 (package
8045 (name "ghc-random")
8046 (version "1.1")
8047 (outputs '("out" "doc"))
8048 (source
8049 (origin
8050 (method url-fetch)
8051 (uri (string-append
8052 "https://hackage.haskell.org/package/random/random-"
8053 version
8054 ".tar.gz"))
8055 (sha256
8056 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8057 (build-system haskell-build-system)
8058 (home-page "https://hackage.haskell.org/package/random")
8059 (synopsis "Random number library")
8060 (description "This package provides a basic random number generation
8061library, including the ability to split random number generators.")
8062 (license license:bsd-3)))
8063
8064(define-public ghc-raw-strings-qq
8065 (package
8066 (name "ghc-raw-strings-qq")
8067 (version "1.1")
8068 (source
8069 (origin
8070 (method url-fetch)
8071 (uri (string-append "https://hackage.haskell.org/package/"
8072 "raw-strings-qq/raw-strings-qq-"
8073 version ".tar.gz"))
8074 (sha256
8075 (base32
8076 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8077 (build-system haskell-build-system)
8078 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8079 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8080 (synopsis "Raw string literals for Haskell")
8081 (description
8082 "This package provides a quasiquoter for raw string literals, i.e. string
8083literals that don't recognise the standard escape sequences. Basically, they
8084make your code more readable by freeing you from the responsibility to escape
8085backslashes. They are useful when working with regular expressions,
8086DOS/Windows paths and markup languages (such as XML).")
8087 (license license:bsd-3)))
8088
8089(define-public ghc-readable
8090 (package
8091 (name "ghc-readable")
8092 (version "0.3.1")
8093 (source
8094 (origin
8095 (method url-fetch)
8096 (uri (string-append "https://hackage.haskell.org/package/"
8097 "readable/readable-" version ".tar.gz"))
8098 (sha256
8099 (base32
8100 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8101 (build-system haskell-build-system)
8102 (home-page "https://github.com/mightybyte/readable")
8103 (synopsis "Type class for reading from Text and ByteString")
8104 (description "This package provides a @code{Readable} type class for
8105reading data types from @code{ByteString} and @code{Text}. It also
8106includes efficient implementations for common data types.")
8107 (license license:bsd-3)))
8108
8109(define-public ghc-rebase
8110 (package
8111 (name "ghc-rebase")
8112 (version "1.2.4")
8113 (source
8114 (origin
8115 (method url-fetch)
8116 (uri (string-append "https://hackage.haskell.org/package/"
8117 "rebase-" version "/"
8118 "rebase-" version ".tar.gz"))
8119 (sha256
8120 (base32
8121 "1gah2qwfpzwamnikbc5h4nv6dgvv9h16di9ka7946za3nibyasya"))))
8122 (build-system haskell-build-system)
8123 (inputs `(("ghc-hashable" ,ghc-hashable)
8124 ("ghc-vector" ,ghc-vector)
8125 ("ghc-unordered-containers" ,ghc-unordered-containers)
8126 ("ghc-scientific" ,ghc-scientific)
8127 ("ghc-uuid" ,ghc-uuid)
8128 ("ghc-dlist" ,ghc-dlist)
8129 ("ghc-void" ,ghc-void)
8130 ("ghc-bifunctors" ,ghc-bifunctors)
8131 ("ghc-profunctors" ,ghc-profunctors)
8132 ("ghc-contravariant" ,ghc-contravariant)
8133 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8134 ("ghc-semigroups" ,ghc-semigroups)
8135 ("ghc-either" ,ghc-either)
8136 ("ghc-fail" ,ghc-fail)
8137 ("ghc-base-prelude" ,ghc-base-prelude)))
8138 (home-page "https://github.com/nikita-volkov/rebase")
8139 (synopsis "Progressive alternative to the base package
8140for Haskell")
8141 (description "This Haskell package is intended for those who are
8142tired of keeping long lists of dependencies to the same essential libraries
8143in each package as well as the endless imports of the same APIs all over again.
8144
8145It also supports the modern tendencies in the language.
8146
8147To solve those problems this package does the following:
8148
8149@itemize
8150@item Reexport the original APIs under the @code{Rebase} namespace.
8151
8152@item Export all the possible non-conflicting symbols from the
8153@code{Rebase.Prelude} module.
8154
8155@item Give priority to the modern practices in the conflicting cases.
8156@end itemize
8157
8158The policy behind the package is only to reexport the non-ambiguous and
8159non-controversial APIs, which the community has obviously settled on.
8160The package is intended to rapidly evolve with the contribution from
8161the community, with the missing features being added with pull-requests.")
8162 (license license:expat)))
8163
8164(define-public ghc-reducers
8165 (package
8166 (name "ghc-reducers")
8167 (version "3.12.3")
8168 (source
8169 (origin
8170 (method url-fetch)
8171 (uri (string-append
8172 "https://hackage.haskell.org/package/reducers/reducers-"
8173 version
8174 ".tar.gz"))
8175 (sha256
8176 (base32
8177 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8178 (build-system haskell-build-system)
8179 (inputs
8180 `(("ghc-fingertree" ,ghc-fingertree)
8181 ("ghc-hashable" ,ghc-hashable)
8182 ("ghc-unordered-containers" ,ghc-unordered-containers)
8183 ("ghc-semigroupoids" ,ghc-semigroupoids)
8184 ("ghc-semigroups" ,ghc-semigroups)))
8185 (home-page "https://github.com/ekmett/reducers/")
8186 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8187 (description "This library provides various semigroups, specialized
8188containers and a general map/reduce framework for Haskell.")
8189 (license license:bsd-3)))
8190
8191(define-public ghc-refact
8192 (package
8193 (name "ghc-refact")
8194 (version "0.3.0.2")
8195 (source
8196 (origin
8197 (method url-fetch)
8198 (uri (string-append "https://hackage.haskell.org/package/"
8199 "refact/refact-"
8200 version ".tar.gz"))
8201 (sha256
8202 (base32
8203 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8204 (build-system haskell-build-system)
8205 (home-page "http://hackage.haskell.org/package/refact")
8206 (synopsis "Specify refactorings to perform with apply-refact")
8207 (description
8208 "This library provides a datatype which can be interpreted by
8209@code{apply-refact}. It exists as a separate library so that applications can
8210specify refactorings without depending on GHC.")
8211 (license license:bsd-3)))
8212
8213(define-public ghc-reflection
8214 (package
8215 (name "ghc-reflection")
d215f1cc 8216 (version "2.1.5")
dddbc90c
RV
8217 (source
8218 (origin
8219 (method url-fetch)
8220 (uri (string-append
8221 "https://hackage.haskell.org/package/reflection/reflection-"
8222 version
8223 ".tar.gz"))
8224 (sha256
8225 (base32
d215f1cc 8226 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
8227 (build-system haskell-build-system)
8228 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
8229 (native-inputs
8230 `(("ghc-hspec" ,ghc-hspec)
8231 ("ghc-quickcheck" ,ghc-quickcheck)
8232 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
8233 (home-page "https://github.com/ekmett/reflection")
8234 (synopsis "Reify arbitrary terms into types that can be reflected back
8235into terms")
8236 (description "This package addresses the 'configuration problem' which is
8237propagating configurations that are available at run-time, allowing multiple
8238configurations to coexist without resorting to mutable global variables or
8239@code{System.IO.Unsafe.unsafePerformIO}.")
8240 (license license:bsd-3)))
8241
8242(define-public ghc-regex
8243 (package
8244 (name "ghc-regex")
b9a5e634 8245 (version "1.0.2.0")
dddbc90c
RV
8246 (source
8247 (origin
8248 (method url-fetch)
8249 (uri (string-append "https://hackage.haskell.org/package/regex/"
8250 "regex-" version ".tar.gz"))
8251 (sha256
8252 (base32
b9a5e634 8253 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
8254 (build-system haskell-build-system)
8255 (arguments
8256 `(#:phases
8257 (modify-phases %standard-phases
8258 (add-after 'unpack 'relax-dependencies
8259 (lambda _
8260 (substitute* "regex.cabal"
8261 (("base-compat.*>=.*0.6.*")
8262 "base-compat >= 0.6\n")
8263 (("template-haskell.*>=.*2.7.*")
8264 "template-haskell >= 2.7\n"))
8265 #t)))))
8266 (inputs
8267 `(("ghc-base-compat" ,ghc-base-compat)
8268 ("ghc-hashable" ,ghc-hashable)
8269 ("ghc-regex-base" ,ghc-regex-base)
8270 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8271 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8272 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8273 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8274 ("ghc-unordered-containers" ,ghc-unordered-containers)
8275 ("ghc-utf8-string" ,ghc-utf8-string)))
8276 (home-page "http://regex.uk")
8277 (synopsis "Toolkit for regex-base")
8278 (description
8279 "This package provides a regular expression toolkit for @code{regex-base}
8280with compile-time checking of regular expression syntax, data types for
8281matches and captures, a text replacement toolkit, portable options, high-level
8282AWK-like tools for building text processing apps, regular expression macros
8283with parsers and test bench, comprehensive documentation, tutorials and
8284copious examples.")
8285 (license license:bsd-3)))
8286
8287(define-public ghc-regex-applicative
8288 (package
8289 (name "ghc-regex-applicative")
30f60e42 8290 (version "0.3.3.1")
dddbc90c
RV
8291 (source
8292 (origin
8293 (method url-fetch)
8294 (uri (string-append
8295 "https://hackage.haskell.org/package/regex-applicative/"
8296 "regex-applicative-" version ".tar.gz"))
8297 (sha256
8298 (base32
30f60e42 8299 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
8300 (build-system haskell-build-system)
8301 (inputs
8302 `(("ghc-smallcheck" ,ghc-smallcheck)
8303 ("ghc-tasty" ,ghc-tasty)
8304 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8305 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8306 (home-page "https://github.com/feuerbach/regex-applicative")
8307 (synopsis "Regex-based parsing with applicative interface")
8308 (description
8309 "@code{regex-applicative} is a Haskell library for parsing using
8310regular expressions. Parsers can be built using Applicative interface.")
8311 (license license:expat)))
8312
8313(define-public ghc-regex-base
8314 (package
8315 (name "ghc-regex-base")
8316 (version "0.93.2")
8317 (source
8318 (origin
8319 (method url-fetch)
8320 (uri (string-append
8321 "https://hackage.haskell.org/package/regex-base/regex-base-"
8322 version
8323 ".tar.gz"))
8324 (sha256
8325 (base32
8326 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8327 (build-system haskell-build-system)
8328 (home-page
8329 "https://sourceforge.net/projects/lazy-regex")
8330 (synopsis "Replaces/Enhances Text.Regex")
8331 (description "@code{Text.Regex.Base} provides the interface API for
8332regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8333 (license license:bsd-3)))
8334
8335(define-public ghc-regex-compat
8336 (package
8337 (name "ghc-regex-compat")
8338 (version "0.95.1")
8339 (source
8340 (origin
8341 (method url-fetch)
8342 (uri (string-append
8343 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8344 version
8345 ".tar.gz"))
8346 (sha256
8347 (base32
8348 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8349 (build-system haskell-build-system)
8350 (inputs
8351 `(("ghc-regex-base" ,ghc-regex-base)
8352 ("ghc-regex-posix" ,ghc-regex-posix)))
8353 (home-page "https://sourceforge.net/projects/lazy-regex")
8354 (synopsis "Replaces/Enhances Text.Regex")
8355 (description "This library provides one module layer over
8356@code{regex-posix} to replace @code{Text.Regex}.")
8357 (license license:bsd-3)))
8358
8359(define-public ghc-regex-compat-tdfa
8360 (package
8361 (name "ghc-regex-compat-tdfa")
8362 (version "0.95.1.4")
8363 (source
8364 (origin
8365 (method url-fetch)
8366 (uri (string-append
8367 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8368 version ".tar.gz"))
8369 (sha256
8370 (base32
8371 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8372 (build-system haskell-build-system)
8373 (inputs
8374 `(("ghc-regex-base" ,ghc-regex-base)
8375 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8376 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8377 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8378 (description
8379 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8380@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8381This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8382this problem.")
8383 (license license:bsd-3)))
8384
8385(define-public ghc-regex-pcre-builtin
8386 (package
8387 (name "ghc-regex-pcre-builtin")
ee946143 8388 (version "0.94.5.8.8.35")
dddbc90c
RV
8389 (source (origin
8390 (method url-fetch)
8391 (uri (string-append "https://hackage.haskell.org/package/"
8392 "regex-pcre-builtin/regex-pcre-builtin-"
8393 version ".tar.gz"))
8394 (sha256
8395 (base32
ee946143 8396 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
8397 (build-system haskell-build-system)
8398 (inputs
8399 `(("ghc-regex-base" ,ghc-regex-base)))
8400 (home-page "https://hackage.haskell.org/package/regex-pcre")
8401 (synopsis "Enhancement of the builtin Text.Regex library")
8402 (description
8403 "This package is an enhancement of the @code{Text.Regex} library,
8404providing the PCRE backend to accompany regex-base, with bundled code from
8405@url{https://www.pcre.org}.")
8406 (license license:bsd-3)))
8407
8408(define-public ghc-regex-posix
8409 (package
8410 (name "ghc-regex-posix")
8411 (version "0.95.2")
8412 (source
8413 (origin
8414 (method url-fetch)
8415 (uri (string-append
8416 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8417 version
8418 ".tar.gz"))
8419 (sha256
8420 (base32
8421 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8422 (build-system haskell-build-system)
8423 (inputs
8424 `(("ghc-regex-base" ,ghc-regex-base)))
8425 (home-page "https://sourceforge.net/projects/lazy-regex")
8426 (synopsis "POSIX regular expressions for Haskell")
8427 (description "This library provides the POSIX regex backend used by the
8428Haskell library @code{regex-base}.")
8429 (license license:bsd-3)))
8430
8431(define-public ghc-regex-tdfa
8432 (package
8433 (name "ghc-regex-tdfa")
ce684db0 8434 (version "1.2.3.2")
dddbc90c
RV
8435 (source
8436 (origin
8437 (method url-fetch)
8438 (uri (string-append
8439 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8440 version ".tar.gz"))
8441 (sha256
8442 (base32
ce684db0 8443 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
8444 (build-system haskell-build-system)
8445 (inputs
8446 `(("ghc-regex-base" ,ghc-regex-base)))
8447 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8448 (synopsis "POSIX extended regular expressions in Haskell.")
8449 (description
8450 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8451extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8452inspired by libtre.")
8453 (license license:bsd-3)))
8454
8455(define-public ghc-regex-tdfa-text
8456 (package
8457 (name "ghc-regex-tdfa-text")
8458 (version "1.0.0.3")
8459 (source
8460 (origin
8461 (method url-fetch)
8462 (uri (string-append
8463 "https://hackage.haskell.org/package/regex-tdfa-text/"
8464 "regex-tdfa-text-" version ".tar.gz"))
8465 (sha256
8466 (base32
8467 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8468 (build-system haskell-build-system)
8469 (inputs
8470 `(("ghc-regex-base" ,ghc-regex-base)
8471 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8472 (home-page
8473 "http://hackage.haskell.org/package/regex-tdfa-text")
8474 (synopsis "Text interface for regex-tdfa")
8475 (description
8476 "This provides an extra text interface for regex-tdfa.")
8477 (license license:bsd-3)))
8478
8479(define-public ghc-rerebase
8480 (package
8481 (name "ghc-rerebase")
8482 (version "1.2.2")
8483 (source
8484 (origin
8485 (method url-fetch)
8486 (uri (string-append
8487 "https://hackage.haskell.org/package/rerebase/rerebase-"
8488 version ".tar.gz"))
8489 (sha256
8490 (base32
8491 "11v6rmz7ql2rdx6mhb3lsal952lwihclfhh0m7fcnii5br0906ks"))))
8492 (build-system haskell-build-system)
8493 (inputs
8494 `(("ghc-rebase" ,ghc-rebase)))
8495 (home-page "https://github.com/nikita-volkov/rerebase")
8496 (synopsis "Reexports from ``base'' with many other standard libraries")
8497 (description "A rich drop-in replacement for @code{base}. For details and
8498documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8499the project's home page}.")
8500 (license license:expat)))
8501
8502(define-public ghc-resolv
8503 (package
8504 (name "ghc-resolv")
8505 (version "0.1.1.1")
8506 (source
8507 (origin
8508 (method url-fetch)
8509 (uri (string-append
8510 "https://hackage.haskell.org/package/resolv/resolv-"
8511 version ".tar.gz"))
8512 (sha256
8513 (base32
8514 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
8515 (build-system haskell-build-system)
8516 (arguments
8517 `(#:cabal-revision
8518 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
8519 #:tests? #f)) ; The required test frameworks are too old.
8520 (inputs
8521 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8522 (home-page "https://github.com/haskell/hackage-security")
8523 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8524 (description "This package implements an API for accessing the
8525@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8526resolver service via the standard @code{libresolv} system library (whose
8527API is often available directly via the standard @code{libc} C library) on
8528Unix systems.")
8529 (license license:gpl3)))
8530
8531(define-public ghc-resource-pool
8532 (package
8533 (name "ghc-resource-pool")
8534 (version "0.2.3.2")
8535 (source
8536 (origin
8537 (method url-fetch)
8538 (uri (string-append "https://hackage.haskell.org/package/"
8539 "resource-pool-" version "/"
8540 "resource-pool-" version ".tar.gz"))
8541 (sha256
8542 (base32
8543 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8544 (build-system haskell-build-system)
8545 (inputs `(("ghc-hashable" ,ghc-hashable)
8546 ("ghc-monad-control" ,ghc-monad-control)
8547 ("ghc-transformers-base" ,ghc-transformers-base)
8548 ("ghc-vector" ,ghc-vector)))
8549 (home-page "https://github.com/bos/pool")
8550 (synopsis "Striped resource pooling implementation in Haskell")
8551 (description "This Haskell package provides striped pooling abstraction
8552for managing flexibly-sized collections of resources such as database
8553connections.")
8554 (license license:bsd-3)))
8555
8556(define-public ghc-resourcet
8557 (package
8558 (name "ghc-resourcet")
9ac341ac 8559 (version "1.2.2")
dddbc90c
RV
8560 (source
8561 (origin
8562 (method url-fetch)
8563 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8564 "resourcet-" version ".tar.gz"))
8565 (sha256
8566 (base32
9ac341ac 8567 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
8568 (build-system haskell-build-system)
8569 (inputs
8570 `(("ghc-transformers-base" ,ghc-transformers-base)
8571 ("ghc-monad-control" ,ghc-monad-control)
8572 ("ghc-transformers-compat" ,ghc-transformers-compat)
8573 ("ghc-mmorph" ,ghc-mmorph)
8574 ("ghc-exceptions" ,ghc-exceptions)
8575 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8576 (native-inputs
8577 `(("ghc-lifted-base" ,ghc-lifted-base)
8578 ("ghc-hspec" ,ghc-hspec)))
8579 (home-page "https://github.com/snoyberg/conduit")
8580 (synopsis "Deterministic allocation and freeing of scarce resources")
8581 (description "ResourceT is a monad transformer which creates a region of
8582code where you can safely allocate resources.")
8583 (license license:bsd-3)))
8584
8585(define-public ghc-rfc5051
8586 (package
8587 (name "ghc-rfc5051")
ec42ab7c 8588 (version "0.1.0.4")
dddbc90c
RV
8589 (source
8590 (origin
8591 (method url-fetch)
8592 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8593 "rfc5051-" version ".tar.gz"))
8594 (sha256
8595 (base32
ec42ab7c 8596 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
8597 (build-system haskell-build-system)
8598 (home-page "https://hackage.haskell.org/package/rfc5051")
8599 (synopsis "Simple unicode collation as per RFC5051")
8600 (description
8601 "This library implements @code{unicode-casemap}, the simple, non
8602locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8603unicode collation can be done using @code{text-icu}, but that is a big
8604dependency that depends on a large C library, and @code{rfc5051} might be
8605better for some purposes.")
8606 (license license:bsd-3)))
8607
8608(define-public ghc-rio
8609 (package
8610 (name "ghc-rio")
8bda2fa7 8611 (version "0.1.12.0")
dddbc90c
RV
8612 (source
8613 (origin
8614 (method url-fetch)
8615 (uri (string-append
8616 "https://hackage.haskell.org/package/rio/rio-"
8617 version ".tar.gz"))
8618 (sha256
8619 (base32
8bda2fa7 8620 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
8621 (build-system haskell-build-system)
8622 (inputs
8623 `(("ghc-exceptions" ,ghc-exceptions)
8624 ("ghc-hashable" ,ghc-hashable)
8625 ("ghc-microlens" ,ghc-microlens)
8626 ("ghc-primitive" ,ghc-primitive)
8627 ("ghc-typed-process" ,ghc-typed-process)
8628 ("ghc-unliftio" ,ghc-unliftio)
8629 ("ghc-unordered-containers" ,ghc-unordered-containers)
8630 ("ghc-vector" ,ghc-vector)))
8631 (native-inputs
8632 `(("ghc-hspec" ,ghc-hspec)
8633 ("hspec-discover" ,hspec-discover)))
8634 (home-page "https://github.com/commercialhaskell/rio#readme")
8635 (synopsis "A standard library for Haskell")
8636 (description "This package works as a prelude replacement for Haskell,
8637providing more functionality and types out of the box than the standard
8638prelude (such as common data types like @code{ByteString} and
8639@code{Text}), as well as removing common ``gotchas'', like partial
8640functions and lazy I/O. The guiding principle here is:
8641@itemize
8642@item If something is safe to use in general and has no expected naming
8643conflicts, expose it.
8644@item If something should not always be used, or has naming conflicts,
8645expose it from another module in the hierarchy.
8646@end itemize")
8647 (license license:expat)))
8648
8649(define-public ghc-safe
8650 (package
8651 (name "ghc-safe")
8652 (version "0.3.17")
8653 (source
8654 (origin
8655 (method url-fetch)
8656 (uri (string-append
8657 "https://hackage.haskell.org/package/safe/safe-"
8658 version
8659 ".tar.gz"))
8660 (sha256
8661 (base32
8662 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8663 (build-system haskell-build-system)
8664 (native-inputs
8665 `(("ghc-quickcheck" ,ghc-quickcheck)))
8666 (home-page "https://github.com/ndmitchell/safe#readme")
8667 (synopsis "Library of safe (exception free) functions")
8668 (description "This library provides wrappers around @code{Prelude} and
8669@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8670exceptions.")
8671 (license license:bsd-3)))
8672
8673(define-public ghc-safe-exceptions
8674 (package
8675 (name "ghc-safe-exceptions")
8676 (version "0.1.7.0")
8677 (source
8678 (origin
8679 (method url-fetch)
8680 (uri (string-append "https://hackage.haskell.org/package/"
8681 "safe-exceptions/safe-exceptions-"
8682 version ".tar.gz"))
8683 (sha256
8684 (base32
8685 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8686 (build-system haskell-build-system)
8687 (arguments
8688 '(#:cabal-revision
8689 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8690 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8691 (native-inputs
8692 `(("ghc-hspec" ,ghc-hspec)
8693 ("ghc-void" ,ghc-void)
8694 ("hspec-discover" ,hspec-discover)))
8695 (home-page "https://github.com/fpco/safe-exceptions")
8696 (synopsis "Safe, consistent, and easy exception handling")
8697 (description "Runtime exceptions - as exposed in @code{base} by the
8698@code{Control.Exception} module - have long been an intimidating part of the
8699Haskell ecosystem. This package is intended to overcome this. It provides a
8700safe and simple API on top of the existing exception handling machinery. The
8701API is equivalent to the underlying implementation in terms of power but
8702encourages best practices to minimize the chances of getting the exception
8703handling wrong.")
8704 (license license:expat)))
8705
8706(define-public ghc-safeio
8707 (package
8708 (name "ghc-safeio")
8709 (version "0.0.5.0")
8710 (source
8711 (origin
8712 (method url-fetch)
8713 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8714 "safeio-" version ".tar.gz"))
8715 (sha256
8716 (base32
8717 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8718 (build-system haskell-build-system)
8719 (inputs
8720 `(("ghc-conduit" ,ghc-conduit)
8721 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8722 ("ghc-exceptions" ,ghc-exceptions)
8723 ("ghc-resourcet" ,ghc-resourcet)))
8724 (native-inputs
8725 `(("ghc-hunit" ,ghc-hunit)
8726 ("ghc-test-framework" ,ghc-test-framework)
8727 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8728 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8729 (home-page "https://github.com/luispedro/safeio")
8730 (synopsis "Write output to disk atomically")
8731 (description
8732 "This package implements utilities to perform atomic output so as to
8733avoid the problem of partial intermediate files.")
8734 (license license:expat)))
8735
8736(define-public ghc-safesemaphore
8737 (package
8738 (name "ghc-safesemaphore")
8739 (version "0.10.1")
8740 (source
8741 (origin
8742 (method url-fetch)
8743 (uri (string-append "https://hackage.haskell.org/package/"
8744 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8745 (sha256
8746 (base32
8747 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8748 (build-system haskell-build-system)
8749 (native-inputs
8750 `(("ghc-hunit" ,ghc-hunit)))
8751 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8752 (synopsis "Exception safe semaphores")
8753 (description "This library provides exception safe semaphores that can be
8754used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8755are not exception safe and can be broken by @code{killThread}.")
8756 (license license:bsd-3)))
8757
8758(define-public ghc-sandi
8759 (package
8760 (name "ghc-sandi")
8761 (version "0.4.2")
8762 (source
8763 (origin
8764 (method url-fetch)
8765 (uri (string-append
8766 "https://hackage.haskell.org/package/sandi/sandi-"
8767 version ".tar.gz"))
8768 (sha256
8769 (base32
8770 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8771 (build-system haskell-build-system)
8772 (inputs
8773 `(("ghc-stringsearch" ,ghc-stringsearch)
8774 ("ghc-conduit" ,ghc-conduit)
8775 ("ghc-exceptions" ,ghc-exceptions)
8776 ("ghc-hunit" ,ghc-hunit)
8777 ("ghc-tasty" ,ghc-tasty)
8778 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8779 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8780 ("ghc-tasty-th" ,ghc-tasty-th)))
8781 (home-page "https://hackage.haskell.org/package/sandi")
8782 (synopsis "Data encoding library")
8783 (description "Reasonably fast data encoding library.")
8784 (license license:bsd-3)))
8785
8786(define-public ghc-scientific
8787 (package
8788 (name "ghc-scientific")
8789 (version "0.3.6.2")
8790 (source
8791 (origin
8792 (method url-fetch)
8793 (uri (string-append
8794 "https://hackage.haskell.org/package/scientific/scientific-"
8795 version
8796 ".tar.gz"))
8797 (sha256
8798 (base32
8799 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8800 (build-system haskell-build-system)
8801 (inputs
8802 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8803 ("ghc-hashable" ,ghc-hashable)
8804 ("ghc-primitive" ,ghc-primitive)))
8805 (native-inputs
8806 `(("ghc-tasty" ,ghc-tasty)
8807 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8808 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8809 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8810 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8811 ("ghc-smallcheck" ,ghc-smallcheck)
8812 ("ghc-quickcheck" ,ghc-quickcheck)))
8813 (home-page "https://github.com/basvandijk/scientific")
8814 (synopsis "Numbers represented using scientific notation")
8815 (description "This package provides @code{Data.Scientific}, which provides
8816the number type @code{Scientific}. Scientific numbers are arbitrary precision
8817and space efficient. They are represented using
8818@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
8819notation}.")
8820 (license license:bsd-3)))
8821
8822(define-public ghc-scientific-bootstrap
8823 (package
8824 (inherit ghc-scientific)
8825 (name "ghc-scientific-bootstrap")
8826 (arguments `(#:tests? #f))
8827 (inputs
8828 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
8829 ("ghc-hashable" ,ghc-hashable)
8830 ("ghc-primitive" ,ghc-primitive)))
8831 (native-inputs '())
799d8d3c 8832 (properties '((hidden? #t)))))
dddbc90c
RV
8833
8834(define-public ghc-sdl
8835 (package
8836 (name "ghc-sdl")
8837 (version "0.6.7.0")
8838 (source
8839 (origin
8840 (method url-fetch)
8841 (uri (string-append
8842 "https://hackage.haskell.org/package/SDL/SDL-"
8843 version
8844 ".tar.gz"))
8845 (sha256
8846 (base32
8847 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
8848 (build-system haskell-build-system)
8849 (inputs
8850 `(("sdl" ,sdl)))
8851 (home-page "https://hackage.haskell.org/package/SDL")
8852 (synopsis "LibSDL for Haskell")
8853 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
8854multimedia library designed to provide low level access to audio, keyboard,
8855mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
8856by MPEG playback software, emulators, and many popular games, including the
8857award winning Linux port of \"Civilization: Call To Power.\"")
8858 (license license:bsd-3)))
8859
1874cdc1
RV
8860(define-public ghc-sdl2
8861 (package
8862 (name "ghc-sdl2")
8863 (version "2.4.1.0")
8864 (source
8865 (origin
8866 (method url-fetch)
8867 (uri (string-append "https://hackage.haskell.org/package/"
8868 "sdl2/sdl2-" version ".tar.gz"))
8869 (sha256
8870 (base32
8871 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
8872 (build-system haskell-build-system)
8873 (arguments '(#:tests? #f)) ; tests require graphical environment
8874 (inputs
8875 `(("ghc-exceptions" ,ghc-exceptions)
8876 ("ghc-linear" ,ghc-linear)
8877 ("ghc-statevar" ,ghc-statevar)
8878 ("ghc-vector" ,ghc-vector)
8879 ("sdl2" ,sdl2)))
8880 (native-inputs
8881 `(("ghc-weigh" ,ghc-weigh)
8882 ("pkg-config" ,pkg-config)))
8883 (home-page "http://hackage.haskell.org/package/sdl2")
8884 (synopsis "High- and low-level bindings to the SDL library")
8885 (description
8886 "This package contains bindings to the SDL 2 library, in both high- and
8887low-level forms. The @code{SDL} namespace contains high-level bindings, where
8888enumerations are split into sum types, and we perform automatic
8889error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
8890translation of the C API into Haskell FFI calls. As such, this does not
8891contain sum types nor error checking. Thus this namespace is suitable for
8892building your own abstraction over SDL, but is not recommended for day-to-day
8893programming.")
8894 (license license:bsd-3)))
8895
8896(define-public ghc-sdl2-image
8897 (package
8898 (name "ghc-sdl2-image")
8899 (version "2.0.0")
8900 (source
8901 (origin
8902 (method url-fetch)
8903 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
8904 "sdl2-image-" version ".tar.gz"))
8905 (sha256
8906 (base32
8907 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
8908 (build-system haskell-build-system)
8909 (inputs
8910 `(("ghc-sdl2" ,ghc-sdl2)
8911 ("sdl2-image" ,sdl2-image)))
8912 (native-inputs
8913 `(("pkg-config" ,pkg-config)))
8914 (home-page "http://hackage.haskell.org/package/sdl2-image")
8915 (synopsis "Bindings to SDL2_image")
8916 (description "This package provides Haskell bindings to
8917@code{SDL2_image}.")
8918 (license license:expat)))
8919
8920(define-public ghc-sdl2-mixer
8921 (package
8922 (name "ghc-sdl2-mixer")
8923 (version "1.1.0")
8924 (source
8925 (origin
8926 (method url-fetch)
8927 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
8928 "sdl2-mixer-" version ".tar.gz"))
8929 (sha256
8930 (base32
8931 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
8932 (build-system haskell-build-system)
8933 (inputs
8934 `(("ghc-data-default-class" ,ghc-data-default-class)
8935 ("ghc-lifted-base" ,ghc-lifted-base)
8936 ("ghc-monad-control" ,ghc-monad-control)
8937 ("ghc-sdl2" ,ghc-sdl2)
8938 ("ghc-vector" ,ghc-vector)
8939 ("sdl2-mixer" ,sdl2-mixer)))
8940 (native-inputs
8941 `(("pkg-config" ,pkg-config)))
8942 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
8943 (synopsis "Bindings to SDL2 mixer")
8944 (description "This package provides Haskell bindings to
8945@code{SDL2_mixer}.")
8946 (license license:bsd-3)))
8947
dddbc90c
RV
8948(define-public ghc-sdl-image
8949 (package
8950 (name "ghc-sdl-image")
8951 (version "0.6.2.0")
8952 (source
8953 (origin
8954 (method url-fetch)
8955 (uri (string-append
8956 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
8957 version
8958 ".tar.gz"))
8959 (sha256
8960 (base32
8961 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
8962 (build-system haskell-build-system)
8963 (arguments
8964 `(#:configure-flags
8965 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
8966 (sdl-image-include (string-append sdl-image "/include/SDL")))
8967 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
8968 (inputs
8969 `(("ghc-sdl" ,ghc-sdl)
8970 ("sdl-image" ,sdl-image)))
8971 (home-page "https://hackage.haskell.org/package/SDL-image")
8972 (synopsis "Haskell bindings to libSDL_image")
8973 (description "SDL_image is an image file loading library. It loads images
8974as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
8975PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
8976 (license license:bsd-3)))
8977
8978(define-public ghc-sdl-mixer
8979 (package
8980 (name "ghc-sdl-mixer")
8981 (version "0.6.3.0")
8982 (source
8983 (origin
8984 (method url-fetch)
8985 (uri (string-append
8986 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
8987 version
8988 ".tar.gz"))
8989 (sha256
8990 (base32
8991 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
8992 (build-system haskell-build-system)
8993 (arguments
8994 `(#:configure-flags
8995 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
8996 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
8997 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
8998 (inputs
8999 `(("ghc-sdl" ,ghc-sdl)
9000 ("sdl-mixer" ,sdl-mixer)))
9001 (home-page "https://hackage.haskell.org/package/SDL-mixer")
9002 (synopsis "Haskell bindings to libSDL_mixer")
9003 (description "SDL_mixer is a sample multi-channel audio mixer library. It
9004supports any number of simultaneously playing channels of 16 bit stereo audio,
9005plus a single channel of music, mixed by the popular MikMod MOD, Timidity
9006MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
9007 (license license:bsd-3)))
9008
9009(define-public ghc-securemem
9010 (package
9011 (name "ghc-securemem")
9012 (version "0.1.10")
9013 (source
9014 (origin
9015 (method url-fetch)
9016 (uri (string-append "https://hackage.haskell.org/package/"
9017 "securemem-" version "/"
9018 "securemem-" version ".tar.gz"))
9019 (sha256
9020 (base32
9021 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
9022 (build-system haskell-build-system)
9023 (inputs `(("ghc-byteable" ,ghc-byteable)
9024 ("ghc-memory" ,ghc-memory)))
9025 (home-page "https://github.com/vincenthz/hs-securemem")
9026 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9027Haskell")
9028 (description "SecureMem is similar to ByteString, except that it provides
9029a memory chunk that will be auto-scrubbed after it run out of scope.")
9030 (license license:bsd-3)))
9031
9032(define-public ghc-semigroupoids
9033 (package
9034 (name "ghc-semigroupoids")
a8aaadf2 9035 (version "5.3.3")
dddbc90c
RV
9036 (source
9037 (origin
9038 (method url-fetch)
9039 (uri (string-append
9040 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9041 version
9042 ".tar.gz"))
9043 (sha256
9044 (base32
a8aaadf2 9045 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 9046 (build-system haskell-build-system)
dddbc90c
RV
9047 (inputs
9048 `(("ghc-base-orphans" ,ghc-base-orphans)
9049 ("ghc-transformers-compat" ,ghc-transformers-compat)
9050 ("ghc-bifunctors" ,ghc-bifunctors)
9051 ("ghc-comonad" ,ghc-comonad)
9052 ("ghc-contravariant" ,ghc-contravariant)
9053 ("ghc-distributive" ,ghc-distributive)
9054 ("ghc-hashable" ,ghc-hashable)
9055 ("ghc-semigroups" ,ghc-semigroups)
9056 ("ghc-tagged" ,ghc-tagged)
9057 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9058 (native-inputs
9059 `(("cabal-doctest" ,cabal-doctest)
9060 ("ghc-doctest" ,ghc-doctest)))
9061 (home-page "https://github.com/ekmett/semigroupoids")
9062 (synopsis "Semigroupoids operations for Haskell")
9063 (description "This library provides a wide array of (semi)groupoids and
9064operations for working with them. A @code{Semigroupoid} is a @code{Category}
9065without the requirement of identity arrows for every object in the category.
9066A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9067Finally, to work with these weaker structures it is beneficial to have
9068containers that can provide stronger guarantees about their contents, so
9069versions of @code{Traversable} and @code{Foldable} that can be folded with
9070just a @code{Semigroup} are added.")
9071 (license license:bsd-3)))
9072
9073(define-public ghc-semigroups
9074 (package
9075 (name "ghc-semigroups")
9076 (version "0.18.5")
9077 (source
9078 (origin
9079 (method url-fetch)
9080 (uri (string-append
9081 "https://hackage.haskell.org/package/semigroups/semigroups-"
9082 version
9083 ".tar.gz"))
9084 (sha256
9085 (base32
9086 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9087 (build-system haskell-build-system)
9088 (inputs
9089 `(("ghc-nats" ,ghc-nats)
9090 ("ghc-tagged" ,ghc-tagged)
9091 ("ghc-unordered-containers" ,ghc-unordered-containers)
9092 ("ghc-hashable" ,ghc-hashable)))
9093 (home-page "https://github.com/ekmett/semigroups/")
9094 (synopsis "Semigroup operations for Haskell")
9095 (description "This package provides semigroups for Haskell. In
9096mathematics, a semigroup is an algebraic structure consisting of a set
9097together with an associative binary operation. A semigroup generalizes a
9098monoid in that there might not exist an identity element. It
9099also (originally) generalized a group (a monoid with all inverses) to a type
9100where every element did not have to have an inverse, thus the name
9101semigroup.")
9102 (license license:bsd-3)))
9103
9104(define-public ghc-semigroups-bootstrap
9105 (package
9106 (inherit ghc-semigroups)
9107 (name "ghc-semigroups-bootstrap")
9108 (inputs
9109 `(("ghc-nats" ,ghc-nats-bootstrap)
9110 ("ghc-tagged" ,ghc-tagged)
9111 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9112 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9113 (properties '((hidden? #t)))))
dddbc90c
RV
9114
9115(define-public ghc-setenv
9116 (package
9117 (name "ghc-setenv")
9118 (version "0.1.1.3")
9119 (source
9120 (origin
9121 (method url-fetch)
9122 (uri (string-append
9123 "https://hackage.haskell.org/package/setenv/setenv-"
9124 version
9125 ".tar.gz"))
9126 (sha256
9127 (base32
9128 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9129 (build-system haskell-build-system)
9130 (home-page "https://hackage.haskell.org/package/setenv")
9131 (synopsis "Library for setting environment variables")
9132 (description "This package provides a Haskell library for setting
9133environment variables.")
9134 (license license:expat)))
9135
9136(define-public ghc-setlocale
9137 (package
9138 (name "ghc-setlocale")
9d7cfc9b 9139 (version "1.0.0.9")
dddbc90c
RV
9140 (source (origin
9141 (method url-fetch)
9142 (uri (string-append
9143 "https://hackage.haskell.org/package/setlocale-"
9144 version "/setlocale-" version ".tar.gz"))
9145 (sha256
9146 (base32
9d7cfc9b 9147 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
9148 (build-system haskell-build-system)
9149 (home-page "https://hackage.haskell.org/package/setlocale")
9150 (synopsis "Haskell bindings to setlocale")
9151 (description "This package provides Haskell bindings to the
9152@code{setlocale} C function.")
9153 (license license:bsd-3)))
9154
9155(define-public ghc-shakespeare
9156 (package
9157 (name "ghc-shakespeare")
f680955f 9158 (version "2.0.22")
dddbc90c
RV
9159 (source
9160 (origin
9161 (method url-fetch)
9162 (uri (string-append "https://hackage.haskell.org/package/"
9163 "shakespeare-" version "/"
9164 "shakespeare-" version ".tar.gz"))
9165 (sha256
9166 (base32
f680955f 9167 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
9168 (build-system haskell-build-system)
9169 (inputs `(("ghc-aeson" ,ghc-aeson)
9170 ("ghc-blaze-markup" ,ghc-blaze-markup)
9171 ("ghc-blaze-html" ,ghc-blaze-html)
9172 ("ghc-exceptions" ,ghc-exceptions)
9173 ("ghc-vector" ,ghc-vector)
9174 ("ghc-unordered-containers" ,ghc-unordered-containers)
9175 ("ghc-scientific" ,ghc-scientific)))
9176 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9177 ("ghc-hunit" ,ghc-hunit)
9178 ("hspec-discover" ,hspec-discover)))
9179 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9180 (synopsis "Family of type-safe template languages for Haskell")
9181 (description "This Haskell package provides a family of type-safe
9182templates with simple variable interpolation. Shakespeare templates can
9183be used inline with a quasi-quoter or in an external file and it
9184interpolates variables according to the type being inserted.")
9185 (license license:expat)))
9186
9187(define-public ghc-shelly
9188 (package
9189 (name "ghc-shelly")
9190 (version "1.8.1")
9191 (source
9192 (origin
9193 (method url-fetch)
9194 (uri (string-append
9195 "https://hackage.haskell.org/package/shelly/shelly-"
9196 version ".tar.gz"))
9197 (sha256
9198 (base32
9199 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9200 (build-system haskell-build-system)
9201 (inputs
9202 `(("ghc-unix-compat" ,ghc-unix-compat)
9203 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9204 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9205 ("ghc-monad-control" ,ghc-monad-control)
9206 ("ghc-lifted-base" ,ghc-lifted-base)
9207 ("ghc-lifted-async" ,ghc-lifted-async)
9208 ("ghc-exceptions" ,ghc-exceptions)
9209 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9210 ("ghc-async" ,ghc-async)
9211 ("ghc-transformers-base" ,ghc-transformers-base)
9212 ("ghc-hunit" ,ghc-hunit)
9213 ("ghc-hspec" ,ghc-hspec)
9214 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9215 (home-page "https://github.com/yesodweb/Shelly.hs")
9216 (synopsis "Shell-like (systems) programming in Haskell")
9217 (description
9218 "Shelly provides convenient systems programming in Haskell, similar in
9219spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9220 (license license:bsd-3)))
9221
9222(define-public ghc-silently
9223 (package
9224 (name "ghc-silently")
544bb369 9225 (version "1.2.5.1")
dddbc90c
RV
9226 (source
9227 (origin
9228 (method url-fetch)
9229 (uri (string-append
9230 "https://hackage.haskell.org/package/silently/silently-"
9231 version
9232 ".tar.gz"))
9233 (sha256
9234 (base32
544bb369 9235 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
9236 (build-system haskell-build-system)
9237 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9238 ;; (inputs
9239 ;; `(("ghc-temporary" ,ghc-temporary)))
9240 (home-page "https://github.com/hspec/silently")
9241 (synopsis "Prevent writing to stdout")
9242 (description "This package provides functions to prevent or capture
9243writing to stdout and other handles.")
9244 (license license:bsd-3)))
9245
9246(define-public ghc-simple-reflect
9247 (package
9248 (name "ghc-simple-reflect")
9249 (version "0.3.3")
9250 (source
9251 (origin
9252 (method url-fetch)
9253 (uri (string-append
9254 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9255 version
9256 ".tar.gz"))
9257 (sha256
9258 (base32
9259 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9260 (build-system haskell-build-system)
9261 (home-page
9262 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9263 (synopsis
9264 "Simple reflection of expressions containing variables")
9265 (description
9266 "This package allows simple reflection of expressions containing
9267variables. Reflection here means that a Haskell expression is turned into a
9268string. The primary aim of this package is teaching and understanding; there
9269are no options for manipulating the reflected expressions beyond showing
9270them.")
9271 (license license:bsd-3)))
9272
9273(define-public ghc-simple-sendfile
9274 (package
9275 (name "ghc-simple-sendfile")
9276 (version "0.2.27")
9277 (source
9278 (origin
9279 (method url-fetch)
9280 (uri (string-append "https://hackage.haskell.org/package/"
9281 "simple-sendfile-" version "/"
9282 "simple-sendfile-" version ".tar.gz"))
9283 (sha256
9284 (base32
9285 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
9286 (build-system haskell-build-system)
9287 (inputs
9288 `(("ghc-conduit" ,ghc-conduit)
9289 ("ghc-conduit-extra" ,ghc-conduit-extra)
9290 ("ghc-network" ,ghc-network)
9291 ("ghc-resourcet" ,ghc-resourcet)))
9292 (native-inputs
9293 `(("ghc-hspec" ,ghc-hspec)
9294 ("hspec-discover" ,hspec-discover)))
9295 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9296 (synopsis "Cross platform library for the sendfile system call")
9297 (description "This library tries to call minimum system calls which
9298are the bottleneck of web servers.")
9299 (license license:bsd-3)))
9300
9301(define-public ghc-skylighting-core
9302 (package
9303 (name "ghc-skylighting-core")
1826c2a8 9304 (version "0.8.2.1")
dddbc90c
RV
9305 (source (origin
9306 (method url-fetch)
9307 (uri (string-append "https://hackage.haskell.org/package/"
9308 "skylighting-core/skylighting-core-"
9309 version ".tar.gz"))
9310 (sha256
9311 (base32
1826c2a8 9312 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
9313 (build-system haskell-build-system)
9314 (inputs
9315 `(("ghc-aeson" ,ghc-aeson)
9316 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9317 ("ghc-attoparsec" ,ghc-attoparsec)
9318 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9319 ("ghc-blaze-html" ,ghc-blaze-html)
9320 ("ghc-case-insensitive" ,ghc-case-insensitive)
9321 ("ghc-colour" ,ghc-colour)
9322 ("ghc-hxt" ,ghc-hxt)
9323 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9324 ("ghc-safe" ,ghc-safe)
9325 ("ghc-utf8-string" ,ghc-utf8-string)))
9326 (native-inputs
9327 `(("ghc-diff" ,ghc-diff)
9328 ("ghc-hunit" ,ghc-hunit)
9329 ("ghc-pretty-show" ,ghc-pretty-show)
9330 ("ghc-quickcheck" ,ghc-quickcheck)
9331 ("ghc-tasty" ,ghc-tasty)
9332 ("ghc-tasty-golden" ,ghc-tasty-golden)
9333 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9334 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9335 (home-page "https://github.com/jgm/skylighting")
9336 (synopsis "Syntax highlighting library")
9337 (description "Skylighting is a syntax highlighting library with support
9338for over one hundred languages. It derives its tokenizers from XML syntax
9339definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9340supported by that framework can be added. An optional command-line program is
9341provided. Skylighting is intended to be the successor to highlighting-kate.")
9342 (license license:gpl2)))
9343
9344(define-public ghc-skylighting
9345 (package
9346 (inherit ghc-skylighting-core)
9347 (name "ghc-skylighting")
36c940cf 9348 (version "0.8.2.1")
dddbc90c
RV
9349 (source (origin
9350 (method url-fetch)
9351 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9352 version "/skylighting-" version ".tar.gz"))
9353 (sha256
9354 (base32
36c940cf 9355 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
9356 (inputs
9357 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9358 ,@(package-inputs ghc-skylighting-core)))))
9359
9360(define-public ghc-smallcheck
9361 (package
9362 (name "ghc-smallcheck")
9363 (version "1.1.5")
9364 (source
9365 (origin
9366 (method url-fetch)
9367 (uri (string-append
9368 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9369 version
9370 ".tar.gz"))
9371 (sha256
9372 (base32
9373 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9374 (build-system haskell-build-system)
9375 (inputs
9376 `(("ghc-logict" ,ghc-logict)))
9377 (home-page
9378 "https://github.com/feuerbach/smallcheck")
9379 (synopsis "Property-based testing library")
9380 (description "SmallCheck is a testing library that allows to verify
9381properties for all test cases up to some depth. The test cases are generated
9382automatically by SmallCheck.")
9383 (license license:bsd-3)))
9384
9385(define-public ghc-socks
9386 (package
9387 (name "ghc-socks")
ab761e9d 9388 (version "0.6.1")
dddbc90c
RV
9389 (source (origin
9390 (method url-fetch)
9391 (uri (string-append "https://hackage.haskell.org/package/"
9392 "socks/socks-" version ".tar.gz"))
9393 (sha256
9394 (base32
ab761e9d 9395 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
9396 (build-system haskell-build-system)
9397 (inputs
9398 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 9399 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
9400 ("ghc-network" ,ghc-network)))
9401 (home-page "https://github.com/vincenthz/hs-socks")
9402 (synopsis "SOCKS proxy (version 5) implementation")
9403 (description
9404 "This library provides a SOCKS proxy (version 5) implementation.")
9405 (license license:bsd-3)))
9406
081d85d6
TS
9407(define-public ghc-sop-core
9408 (package
9409 (name "ghc-sop-core")
9410 (version "0.4.0.0")
9411 (source
9412 (origin
9413 (method url-fetch)
9414 (uri (string-append "https://hackage.haskell.org/package/"
9415 "sop-core/sop-core-" version ".tar.gz"))
9416 (sha256
9417 (base32
9418 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
9419 (build-system haskell-build-system)
9420 (home-page "http://hackage.haskell.org/package/sop-core")
9421 (synopsis "True Sums of Products")
9422 (description "This package provides an implementation of
9423@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
9424is the main module of this library and contains more detailed
9425documentation. The main use case of this package is to serve as the
9426core of @url{https://hackage.haskell.org/package/generics-sop,
9427generics-sop}.")
9428 (license license:bsd-3)))
9429
dddbc90c
RV
9430(define-public ghc-split
9431 (package
9432 (name "ghc-split")
9433 (version "0.2.3.3")
9434 (outputs '("out" "doc"))
9435 (source
9436 (origin
9437 (method url-fetch)
9438 (uri (string-append
9439 "https://hackage.haskell.org/package/split/split-"
9440 version
9441 ".tar.gz"))
9442 (sha256
9443 (base32
9444 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9445 (build-system haskell-build-system)
9bbc21a7
TS
9446 (arguments
9447 `(#:cabal-revision
9448 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
9449 (native-inputs
9450 `(("ghc-quickcheck" ,ghc-quickcheck)))
9451 (home-page "https://hackage.haskell.org/package/split")
9452 (synopsis "Combinator library for splitting lists")
9453 (description "This package provides a collection of Haskell functions for
9454splitting lists into parts, akin to the @code{split} function found in several
9455mainstream languages.")
9456 (license license:bsd-3)))
9457
7799d17f 9458(define-public ghc-splitmix
49367c92 9459 (package
7799d17f 9460 (name "ghc-splitmix")
49367c92
TS
9461 (version "0.0.3")
9462 (source
9463 (origin
9464 (method url-fetch)
9465 (uri (string-append "https://hackage.haskell.org/package/"
9466 "splitmix/splitmix-" version ".tar.gz"))
9467 (sha256
9468 (base32
9469 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 9470 (build-system haskell-build-system)
49367c92
TS
9471 (inputs
9472 `(("ghc-random" ,ghc-random)))
7799d17f
TS
9473 (native-inputs
9474 `(("ghc-hunit" ,ghc-hunit)
9475 ("ghc-async" ,ghc-async)
9476 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
9477 ("ghc-tf-random" ,ghc-tf-random)
9478 ("ghc-vector" ,ghc-vector)))
49367c92
TS
9479 (home-page "http://hackage.haskell.org/package/splitmix")
9480 (synopsis "Fast and splittable pseudorandom number generator")
9481 (description "This package provides a Pure Haskell implementation of the
9482SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
9483pseudorandom number generator that is quite fast: 9 64-bit
9484arithmetic/logical operations per 64 bits generated. SplitMix is tested
9485with two standard statistical test suites (DieHarder and TestU01, this
9486implementation only using the former) and it appears to be adequate for
9487\"everyday\" use, such as Monte Carlo algorithms and randomized data
9488structures where speed is important. In particular, it @strong{should not
9489be used for cryptographic or security applications}, because generated
9490sequences of pseudorandom values are too predictable (the mixing functions
9491are easily inverted, and two successive outputs suffice to reconstruct the
9492internal state).")
9493 (license license:bsd-3)))
9494
7799d17f
TS
9495(define-public ghc-splitmix-bootstrap
9496 (package
9497 (inherit ghc-splitmix)
9498 (name "ghc-splitmix-bootstrap")
9499 (arguments `(#:tests? #f))
9500 (native-inputs '())
9501 (properties '((hidden? #t)))))
9502
dddbc90c
RV
9503(define-public ghc-statevar
9504 (package
9505 (name "ghc-statevar")
19419709 9506 (version "1.2")
dddbc90c
RV
9507 (source
9508 (origin
9509 (method url-fetch)
9510 (uri (string-append
9511 "https://hackage.haskell.org/package/StateVar/StateVar-"
9512 version
9513 ".tar.gz"))
9514 (sha256
9515 (base32
19419709 9516 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
9517 (build-system haskell-build-system)
9518 (home-page "https://hackage.haskell.org/package/StateVar")
9519 (synopsis "State variables for Haskell")
9520 (description "This package provides state variables, which are references
9521in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9522 (license license:bsd-3)))
9523
9524(define-public ghc-statistics
9525 (package
9526 (name "ghc-statistics")
9527 (version "0.14.0.2")
9528 (source
9529 (origin
9530 (method url-fetch)
9531 (uri (string-append "https://hackage.haskell.org/package/"
9532 "statistics-" version "/"
9533 "statistics-" version ".tar.gz"))
9534 (sha256
9535 (base32
9536 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
9537 (build-system haskell-build-system)
9538 (arguments
9539 '(#:cabal-revision
9540 ("2" "1bx70yqkn62ii17fjv3pig4hklrzkqd09zj67zzjiyjzmn04fir3")
9541 ;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
9542 #:tests? #f))
9543 (inputs
9544 `(("ghc-aeson" ,ghc-aeson)
9545 ("ghc-base-orphans" ,ghc-base-orphans)
9546 ("ghc-erf" ,ghc-erf)
9547 ("ghc-math-functions" ,ghc-math-functions)
9548 ("ghc-monad-par" ,ghc-monad-par)
9549 ("ghc-mwc-random" ,ghc-mwc-random)
9550 ("ghc-primitive" ,ghc-primitive)
9551 ("ghc-vector" ,ghc-vector)
9552 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9553 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9554 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9555 (native-inputs
9556 `(("ghc-hunit" ,ghc-hunit)
9557 ("ghc-quickcheck" ,ghc-quickcheck)
9558 ("ghc-ieee754" ,ghc-ieee754)
9559 ("ghc-test-framework" ,ghc-test-framework)
9560 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9561 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9562 (home-page "https://github.com/bos/mwc-random")
9563 (synopsis "Haskell library of statistical types, data, and functions")
9564 (description "This library provides a number of common functions
9565and types useful in statistics. We focus on high performance, numerical
9566robustness, and use of good algorithms. Where possible, we provide references
9567to the statistical literature.
9568
9569The library's facilities can be divided into four broad categories:
9570
9571@itemize
9572@item Working with widely used discrete and continuous probability
9573distributions. (There are dozens of exotic distributions in use; we focus
9574on the most common.)
9575
9576@item Computing with sample data: quantile estimation, kernel density
9577estimation, histograms, bootstrap methods, significance testing,
9578and regression and autocorrelation analysis.
9579
9580@item Random variate generation under several different distributions.
9581
9582@item Common statistical tests for significant differences between samples.
9583@end itemize")
9584 (license license:bsd-2)))
9585
9586(define-public ghc-stm-chans
9587 (package
9588 (name "ghc-stm-chans")
9589 (version "3.0.0.4")
9590 (source
9591 (origin
9592 (method url-fetch)
9593 (uri (string-append "https://hackage.haskell.org/package/"
9594 "stm-chans-" version "/"
9595 "stm-chans-" version ".tar.gz"))
9596 (sha256
9597 (base32
9598 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9599 (build-system haskell-build-system)
9600 (home-page "https://hackage.haskell.org/package/stm-chans")
9601 (synopsis "Additional types of channels for ghc-stm")
9602 (description "This Haskell package offers a collection of channel types,
9603similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9604features.")
9605 (license license:bsd-3)))
9606
9607(define-public ghc-stm-conduit
9608 (package
9609 (name "ghc-stm-conduit")
9610 (version "4.0.0")
9611 (source
9612 (origin
9613 (method url-fetch)
9614 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9615 "stm-conduit-" version ".tar.gz"))
9616 (sha256
9617 (base32
9618 "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
9619 (build-system haskell-build-system)
9620 (inputs
9621 `(("ghc-stm-chans" ,ghc-stm-chans)
9622 ("ghc-cereal" ,ghc-cereal)
9623 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9624 ("ghc-conduit" ,ghc-conduit)
9625 ("ghc-conduit-extra" ,ghc-conduit-extra)
9626 ("ghc-exceptions" ,ghc-exceptions)
9627 ("ghc-resourcet" ,ghc-resourcet)
9628 ("ghc-async" ,ghc-async)
9629 ("ghc-monad-loops" ,ghc-monad-loops)
9630 ("ghc-unliftio" ,ghc-unliftio)))
9631 (native-inputs
9632 `(("ghc-doctest" ,ghc-doctest)
9633 ("ghc-quickcheck" ,ghc-quickcheck)
9634 ("ghc-hunit" ,ghc-hunit)
9635 ("ghc-test-framework" ,ghc-test-framework)
9636 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9637 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9638 (home-page "https://github.com/cgaebel/stm-conduit")
9639 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9640 (description
9641 "This package provides two simple conduit wrappers around STM channels: a
9642source and a sink.")
9643 (license license:bsd-3)))
9644
9645(define-public ghc-stmonadtrans
9646 (package
9647 (name "ghc-stmonadtrans")
9648 (version "0.4.3")
9649 (source
9650 (origin
9651 (method url-fetch)
9652 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9653 "/STMonadTrans-" version ".tar.gz"))
9654 (sha256
9655 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9656 (build-system haskell-build-system)
9657 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9658 (synopsis "Monad transformer version of the ST monad")
9659 (description
9660 "This package provides a monad transformer version of the @code{ST} monad
9661for strict state threads.")
9662 (license license:bsd-3)))
9663
9664(define-public ghc-storable-complex
9665 (package
9666 (name "ghc-storable-complex")
4a35e3c3 9667 (version "0.2.3.0")
dddbc90c
RV
9668 (source
9669 (origin
9670 (method url-fetch)
9671 (uri (string-append
9672 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9673 version ".tar.gz"))
9674 (sha256
4a35e3c3 9675 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 9676 (build-system haskell-build-system)
4a35e3c3
TS
9677 (inputs
9678 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
9679 (home-page "https://github.com/cartazio/storable-complex")
9680 (synopsis "Haskell Storable instance for Complex")
9681 (description "This package provides a Haskell library including a
9682Storable instance for Complex which is binary compatible with C99, C++
9683and Fortran complex data types.")
9684 (license license:bsd-3)))
9685
ad80074a
JS
9686(define-public ghc-storable-record
9687 (package
9688 (name "ghc-storable-record")
9689 (version "0.0.4")
9690 (source
9691 (origin
9692 (method url-fetch)
9693 (uri
9694 (string-append
9695 "https://hackage.haskell.org/package/storable-record/"
9696 "storable-record-" version ".tar.gz"))
9697 (sha256
9698 (base32
9699 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
9700 (build-system haskell-build-system)
9701 (inputs
9702 `(("ghc-semigroups" ,ghc-semigroups)
9703 ("ghc-utility-ht" ,ghc-utility-ht)
9704 ("ghc-storablevector" ,ghc-storablevector)
9705 ("ghc-timeit" ,ghc-timeit)))
9706 (home-page "https://hackage.haskell.org/package/storable-record")
9707 (synopsis "Elegant definition of Storable instances for records")
9708 (description "With this package you can build a Storable instance of
9709a record type from Storable instances of its elements in an elegant way.
9710It does not do any magic, just a bit arithmetic to compute the right
9711offsets, that would be otherwise done manually or by a preprocessor like
9712C2HS. There is no guarantee that the generated memory layout is
9713compatible with that of a corresponding C struct. However, the module
9714generates the smallest layout that is possible with respect to the
9715alignment of the record elements.")
9716 (license license:bsd-3)))
9717
55f4c653
JS
9718(define-public ghc-storable-tuple
9719 (package
9720 (name "ghc-storable-tuple")
9721 (version "0.0.3.3")
9722 (source
9723 (origin
9724 (method url-fetch)
9725 (uri
9726 (string-append
9727 "https://hackage.haskell.org/package/storable-tuple/"
9728 "storable-tuple-" version ".tar.gz"))
9729 (sha256
9730 (base32
9731 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
9732 (build-system haskell-build-system)
9733 (inputs
9734 `(("ghc-storable-record" ,ghc-storable-record)
9735 ("ghc-utility-ht" ,ghc-utility-ht)
9736 ("ghc-base-orphans" ,ghc-base-orphans)))
9737 (home-page "https://hackage.haskell.org/package/storable-tuple")
9738 (synopsis "Storable instance for pairs and triples")
9739 (description "This package provides a Storable instance for pairs
9740and triples which should be binary compatible with C99 and C++. The
9741only purpose of this package is to provide a standard location for this
9742instance so that other packages needing this instance can play nicely
9743together.")
9744 (license license:bsd-3)))
9745
bc06ca45
JS
9746(define-public ghc-storablevector
9747 (package
9748 (name "ghc-storablevector")
9749 (version "0.2.13")
9750 (source
9751 (origin
9752 (method url-fetch)
9753 (uri
9754 (string-append
9755 "https://hackage.haskell.org/package/storablevector/storablevector-"
9756 version ".tar.gz"))
9757 (sha256
9758 (base32
9759 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
9760 (build-system haskell-build-system)
9761 (inputs
9762 `(("ghc-non-negative" ,ghc-non-negative)
9763 ("ghc-utility-ht" ,ghc-utility-ht)
9764 ("ghc-semigroups" ,ghc-semigroups)
9765 ("ghc-unsafe" ,ghc-unsafe)
9766 ("ghc-quickcheck" ,ghc-quickcheck)
9767 ("ghc-syb" ,ghc-syb)))
9768 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
9769 (synopsis "Fast, packed, strict storable arrays with a list interface")
9770 (description "This library provides fast, packed, strict storable
9771arrays with a list interface, a chunky lazy list interface with variable
9772chunk size and an interface for write access via the ST monad. This is
9773much like bytestring and binary but can be used for every
9774@code{Foreign.Storable.Storable} type. See also
9775@url{http://hackage.haskell.org/package/vector}, a library with a
9776similar intention.
9777
9778This library does not do advanced fusion optimization, since especially
9779for lazy vectors this would either be incorrect or not applicable. See
9780@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
9781a library that provides fusion with lazy lists.")
9782 (license license:bsd-3)))
9783
dddbc90c
RV
9784(define-public ghc-streaming-commons
9785 (package
9786 (name "ghc-streaming-commons")
9787 (version "0.2.1.1")
9788 (source
9789 (origin
9790 (method url-fetch)
9791 (uri (string-append "https://hackage.haskell.org/package/"
9792 "streaming-commons/streaming-commons-"
9793 version ".tar.gz"))
9794 (sha256
9795 (base32
9796 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9797 (build-system haskell-build-system)
9798 (inputs
9799 `(("ghc-async" ,ghc-async)
9800 ("ghc-blaze-builder" ,ghc-blaze-builder)
9801 ("ghc-network" ,ghc-network)
9802 ("ghc-random" ,ghc-random)
9803 ("ghc-zlib" ,ghc-zlib)))
9804 (native-inputs
9805 `(("ghc-quickcheck" ,ghc-quickcheck)
9806 ("ghc-hspec" ,ghc-hspec)
9807 ("hspec-discover" ,hspec-discover)))
9808 (home-page "https://hackage.haskell.org/package/streaming-commons")
9809 (synopsis "Conduit and pipes needed by some streaming data libraries")
9810 (description "This package provides low-dependency functionality commonly
9811needed by various Haskell streaming data libraries, such as @code{conduit} and
9812@code{pipe}s.")
9813 (license license:expat)))
9814
9815(define-public ghc-strict
9816 (package
9817 (name "ghc-strict")
9818 (version "0.3.2")
9819 (source
9820 (origin
9821 (method url-fetch)
9822 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
9823 version ".tar.gz"))
9824 (sha256
9825 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
9826 (build-system haskell-build-system)
9827 (home-page "https://hackage.haskell.org/package/strict")
9828 (synopsis "Strict data types and String IO")
9829 (description
9830 "This package provides strict versions of some standard Haskell data
9831types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
9832IO operations.")
9833 (license license:bsd-3)))
9834
9835(define-public ghc-stringbuilder
9836 (package
9837 (name "ghc-stringbuilder")
9838 (version "0.5.1")
9839 (source
9840 (origin
9841 (method url-fetch)
9842 (uri (string-append
9843 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
9844 version
9845 ".tar.gz"))
9846 (sha256
9847 (base32
9848 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
9849 (build-system haskell-build-system)
9850 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
9851 ; enabled
9852 (home-page "https://hackage.haskell.org/package/stringbuilder")
9853 (synopsis "Writer monad for multi-line string literals")
9854 (description "This package provides a writer monad for multi-line string
9855literals.")
9856 (license license:expat)))
9857
9858(define-public ghc-string-qq
9859 (package
9860 (name "ghc-string-qq")
4d6fddc3 9861 (version "0.0.4")
dddbc90c
RV
9862 (source
9863 (origin
9864 (method url-fetch)
9865 (uri (string-append
9866 "https://hackage.haskell.org/package/string-qq/string-qq-"
9867 version
9868 ".tar.gz"))
9869 (sha256
9870 (base32
4d6fddc3 9871 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 9872 (build-system haskell-build-system)
4d6fddc3
TS
9873 (native-inputs
9874 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
9875 (home-page "http://hackage.haskell.org/package/string-qq")
9876 (synopsis
9877 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
9878 (description
9879 "This package provides a quasiquoter for non-interpolated strings, texts
9880and bytestrings.")
9881 (license license:public-domain)))
9882
9883(define-public ghc-stringsearch
9884 (package
9885 (name "ghc-stringsearch")
9886 (version "0.3.6.6")
9887 (source
9888 (origin
9889 (method url-fetch)
9890 (uri (string-append
9891 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
9892 version
9893 ".tar.gz"))
9894 (sha256
9895 (base32
9896 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
9897 (build-system haskell-build-system)
e2303abb
TS
9898 (arguments
9899 `(#:cabal-revision
9900 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
9901 (home-page "https://bitbucket.org/dafis/stringsearch")
9902 (synopsis "Fast searching, splitting and replacing of ByteStrings")
9903 (description "This package provides several functions to quickly search
9904for substrings in strict or lazy @code{ByteStrings}. It also provides
9905functions for breaking or splitting on substrings and replacing all
9906occurrences of a substring (the first in case of overlaps) with another.")
9907 (license license:bsd-3)))
9908
9909(define-public ghc-stylish-haskell
9910 (package
9911 (name "ghc-stylish-haskell")
9912 (version "0.9.2.1")
9913 (source
9914 (origin
9915 (method url-fetch)
9916 (uri (string-append
9917 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
9918 version
9919 ".tar.gz"))
9920 (sha256
9921 (base32
9922 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
9923 (build-system haskell-build-system)
9924 (inputs
9925 `(("ghc-aeson" ,ghc-aeson)
9926 ("ghc-file-embed" ,ghc-file-embed)
9927 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
9928 ("ghc-semigroups" ,ghc-semigroups)
9929 ("ghc-syb" ,ghc-syb)
9930 ("ghc-yaml" ,ghc-yaml)
9931 ("ghc-strict" ,ghc-strict)
9932 ("ghc-optparse-applicative"
9933 ,ghc-optparse-applicative)))
9934 (native-inputs
9935 `(("ghc-hunit" ,ghc-hunit)
9936 ("ghc-test-framework" ,ghc-test-framework)
9937 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
9938 (home-page "https://github.com/jaspervdj/stylish-haskell")
9939 (synopsis "Haskell code prettifier")
9940 (description "Stylish-haskell is a Haskell code prettifier. The goal is
9941not to format all of the code in a file, to avoid \"getting in the way\".
9942However, this tool can e.g. clean up import statements and help doing various
9943tasks that get tedious very quickly. It can
9944@itemize
9945@item
9946Align and sort @code{import} statements
9947@item
9948Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
9949pragmas
9950@item
9951Remove trailing whitespaces
9952@item
9953Align branches in @code{case} and fields in records
9954@item
9955Convert line endings (customisable)
9956@item
9957Replace tabs by four spaces (turned off by default)
9958@item
9959Replace some ASCII sequences by their Unicode equivalent (turned off by
9960default)
9961@end itemize")
9962 (license license:bsd-3)))
9963
9964(define-public ghc-syb
9965 (package
9966 (name "ghc-syb")
07d65eef 9967 (version "0.7.1")
dddbc90c
RV
9968 (outputs '("out" "doc"))
9969 (source
9970 (origin
9971 (method url-fetch)
9972 (uri (string-append
9973 "https://hackage.haskell.org/package/syb/syb-"
9974 version
9975 ".tar.gz"))
9976 (sha256
9977 (base32
07d65eef 9978 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
9979 (build-system haskell-build-system)
9980 (inputs
9981 `(("ghc-hunit" ,ghc-hunit)))
9982 (home-page
9983 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
9984 (synopsis "Scrap Your Boilerplate")
9985 (description "This package contains the generics system described in the
9986/Scrap Your Boilerplate/ papers (see
9987@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
9988defines the @code{Data} class of types permitting folding and unfolding of
9989constructor applications, instances of this class for primitive types, and a
9990variety of traversals.")
9991 (license license:bsd-3)))
9992
9993(define-public ghc-system-fileio
9994 (package
9995 (name "ghc-system-fileio")
dcfb99d4 9996 (version "0.3.16.4")
dddbc90c
RV
9997 (source
9998 (origin
9999 (method url-fetch)
10000 (uri (string-append
10001 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10002 version ".tar.gz"))
10003 (sha256
10004 (base32
dcfb99d4 10005 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 10006 (build-system haskell-build-system)
dcfb99d4
TS
10007 (arguments
10008 `(#:phases
10009 (modify-phases %standard-phases
10010 (add-before 'configure 'update-constraints
10011 (lambda _
10012 (substitute* "system-fileio.cabal"
10013 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
10014 #t)))))
dddbc90c
RV
10015 (inputs
10016 `(("ghc-system-filepath" ,ghc-system-filepath)
10017 ("ghc-chell" ,ghc-chell)
10018 ("ghc-temporary" ,ghc-temporary)))
10019 (home-page "https://github.com/fpco/haskell-filesystem")
10020 (synopsis "Consistent file system interaction across GHC versions")
10021 (description
10022 "This is a small wrapper around the directory, unix, and Win32 packages,
10023for use with system-filepath. It provides a consistent API to the various
10024versions of these packages distributed with different versions of GHC.
10025In particular, this library supports working with POSIX files that have paths
10026which can't be decoded in the current locale encoding.")
10027 (license license:expat)))
10028
10029;; See ghc-system-filepath-bootstrap. In addition this package depends on
10030;; ghc-system-filepath.
10031(define ghc-system-fileio-bootstrap
10032 (package
10033 (name "ghc-system-fileio-bootstrap")
10034 (version "0.3.16.3")
10035 (source
10036 (origin
10037 (method url-fetch)
10038 (uri (string-append
10039 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10040 version ".tar.gz"))
10041 (sha256
10042 (base32
10043 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10044 (build-system haskell-build-system)
10045 (arguments
10046 `(#:tests? #f))
10047 (inputs
10048 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10049 ("ghc-temporary" ,ghc-temporary)))
10050 (home-page "https://github.com/fpco/haskell-filesystem")
10051 (synopsis "Consistent file system interaction across GHC versions")
10052 (description
10053 "This is a small wrapper around the directory, unix, and Win32 packages,
10054for use with system-filepath. It provides a consistent API to the various
10055versions of these packages distributed with different versions of GHC.
10056In particular, this library supports working with POSIX files that have paths
10057which can't be decoded in the current locale encoding.")
10058 (license license:expat)))
10059
10060
10061(define-public ghc-system-filepath
10062 (package
10063 (name "ghc-system-filepath")
10064 (version "0.4.14")
10065 (source
10066 (origin
10067 (method url-fetch)
10068 (uri (string-append
10069 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10070 version ".tar.gz"))
10071 (sha256
10072 (base32
10073 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10074 (build-system haskell-build-system)
10075 ;; FIXME: One of the tests fails:
10076 ;; [ FAIL ] tests.validity.posix
10077 ;; note: seed=7310214548328823169
10078 ;; *** Failed! Falsifiable (after 24 tests):
10079 ;; 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"
10080 (arguments `(#:tests? #f))
10081 (inputs
10082 `(("ghc-chell" ,ghc-chell)
10083 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
10084 ("ghc-quickcheck" ,ghc-quickcheck)))
10085 (home-page "https://github.com/fpco/haskell-filesystem")
10086 (synopsis "High-level, byte-based file and directory path manipulations")
10087 (description
10088 "Provides a FilePath datatype and utility functions for operating on it.
10089Unlike the filepath package, this package does not simply reuse String,
10090increasing type safety.")
10091 (license license:expat)))
10092
10093;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
10094;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
10095;; which depends on ghc-chell and ghc-chell-quickcheck.
10096;; Therefore we bootstrap it with tests disabled.
10097(define ghc-system-filepath-bootstrap
10098 (package
10099 (name "ghc-system-filepath-bootstrap")
10100 (version "0.4.14")
10101 (source
10102 (origin
10103 (method url-fetch)
10104 (uri (string-append
10105 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10106 version ".tar.gz"))
10107 (sha256
10108 (base32
10109 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10110 (build-system haskell-build-system)
10111 (arguments
10112 `(#:tests? #f))
10113 (inputs
10114 `(("ghc-quickcheck" ,ghc-quickcheck)))
10115 (home-page "https://github.com/fpco/haskell-filesystem")
10116 (synopsis "High-level, byte-based file and directory path manipulations")
10117 (description
10118 "Provides a FilePath datatype and utility functions for operating on it.
10119Unlike the filepath package, this package does not simply reuse String,
10120increasing type safety.")
10121 (license license:expat)))
10122
10123
10124(define-public ghc-tagged
10125 (package
10126 (name "ghc-tagged")
f0f3756a 10127 (version "0.8.6")
dddbc90c
RV
10128 (source
10129 (origin
10130 (method url-fetch)
10131 (uri (string-append
10132 "https://hackage.haskell.org/package/tagged/tagged-"
10133 version
10134 ".tar.gz"))
10135 (sha256
10136 (base32
f0f3756a 10137 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
10138 (build-system haskell-build-system)
10139 (arguments
10140 `(#:cabal-revision
f0f3756a 10141 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
10142 (inputs
10143 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10144 (home-page "https://hackage.haskell.org/package/tagged")
10145 (synopsis "Haskell phantom types to avoid passing dummy arguments")
10146 (description "This library provides phantom types for Haskell 98, to avoid
10147having to unsafely pass dummy arguments.")
10148 (license license:bsd-3)))
10149
10150(define-public ghc-tar
10151 (package
10152 (name "ghc-tar")
ec83929f 10153 (version "0.5.1.1")
dddbc90c
RV
10154 (source
10155 (origin
10156 (method url-fetch)
10157 (uri (string-append
10158 "https://hackage.haskell.org/package/tar/tar-"
10159 version ".tar.gz"))
10160 (sha256
10161 (base32
ec83929f 10162 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
10163 (build-system haskell-build-system)
10164 ;; FIXME: 2/24 tests fail.
10165 (arguments `(#:tests? #f))
10166 (inputs
10167 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10168 ("ghc-quickcheck" ,ghc-quickcheck)
10169 ("ghc-tasty" ,ghc-tasty)
10170 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10171 (home-page "https://hackage.haskell.org/package/tar")
10172 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10173 (description
10174 "This library is for working with \\\"@.tar@\\\" archive files.
10175It can read and write a range of common variations of the tar archive format
10176including V7, POSIX USTAR and GNU formats. It provides support for packing and
10177unpacking portable archives. This makes it suitable for distribution but not
10178backup because details like file ownership and exact permissions are not
10179preserved. It also provides features for random access to archive content using
10180an index.")
10181 (license license:bsd-3)))
10182
10183(define-public ghc-temporary
10184 (package
10185 (name "ghc-temporary")
10186 (version "1.3")
10187 (source
10188 (origin
10189 (method url-fetch)
10190 (uri (string-append
10191 "https://hackage.haskell.org/package/temporary/temporary-"
10192 version
10193 ".tar.gz"))
10194 (sha256
10195 (base32
10196 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10197 (build-system haskell-build-system)
10198 (inputs
10199 `(("ghc-exceptions" ,ghc-exceptions)
10200 ("ghc-random" ,ghc-random)))
10201 (native-inputs
10202 `(("ghc-base-compat" ,ghc-base-compat)
10203 ("ghc-tasty" ,ghc-tasty)
10204 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10205 (home-page "https://www.github.com/batterseapower/temporary")
10206 (synopsis "Temporary file and directory support")
10207 (description "The functions for creating temporary files and directories
10208in the Haskelll base library are quite limited. This library just repackages
10209the Cabal implementations of its own temporary file and folder functions so
10210that you can use them without linking against Cabal or depending on it being
10211installed.")
10212 (license license:bsd-3)))
10213
10214(define-public ghc-temporary-rc
10215 (package
10216 (name "ghc-temporary-rc")
10217 (version "1.2.0.3")
10218 (source
10219 (origin
10220 (method url-fetch)
10221 (uri (string-append
10222 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10223 version
10224 ".tar.gz"))
10225 (sha256
10226 (base32
10227 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10228 (build-system haskell-build-system)
10229 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10230 (home-page
10231 "https://www.github.com/feuerbach/temporary")
10232 (synopsis
10233 "Portable temporary file and directory support")
10234 (description
10235 "The functions for creating temporary files and directories in the base
10236library are quite limited. The unixutils package contains some good ones, but
10237they aren't portable to Windows. This library just repackages the Cabal
10238implementations of its own temporary file and folder functions so that you can
10239use them without linking against Cabal or depending on it being installed.
10240This is a better maintained fork of the \"temporary\" package.")
10241 (license license:bsd-3)))
10242
10243(define-public ghc-terminal-size
10244 (package
10245 (name "ghc-terminal-size")
10246 (version "0.3.2.1")
10247 (source (origin
10248 (method url-fetch)
10249 (uri (string-append
10250 "https://hackage.haskell.org/package/terminal-size/"
10251 "terminal-size-" version ".tar.gz"))
10252 (sha256
10253 (base32
10254 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10255 (build-system haskell-build-system)
10256 (home-page "https://hackage.haskell.org/package/terminal-size")
10257 (synopsis "Get terminal window height and width")
10258 (description "Get terminal window height and width without ncurses
10259dependency.")
10260 (license license:bsd-3)))
10261
10262(define-public ghc-texmath
10263 (package
10264 (name "ghc-texmath")
10265 (version "0.11.0.1")
10266 (source (origin
10267 (method url-fetch)
10268 (uri (string-append "https://hackage.haskell.org/package/"
10269 "texmath/texmath-" version ".tar.gz"))
10270 (sha256
10271 (base32
10272 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
10273 (build-system haskell-build-system)
10274 (inputs
10275 `(("ghc-syb" ,ghc-syb)
10276 ("ghc-network-uri" ,ghc-network-uri)
10277 ("ghc-split" ,ghc-split)
10278 ("ghc-temporary" ,ghc-temporary)
10279 ("ghc-utf8-string" ,ghc-utf8-string)
10280 ("ghc-xml" ,ghc-xml)
10281 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10282 (home-page "https://github.com/jgm/texmath")
10283 (synopsis "Conversion between formats used to represent mathematics")
10284 (description
10285 "The texmath library provides functions to read and write TeX math,
10286presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10287Office). Support is also included for converting math formats to pandoc's
10288native format (allowing conversion, via pandoc, to a variety of different
10289markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10290it can parse and apply LaTeX macros.")
10291 (license license:gpl2+)))
10292
10293(define-public ghc-text-binary
10294 (package
10295 (name "ghc-text-binary")
10296 (version "0.2.1.1")
10297 (source
10298 (origin
10299 (method url-fetch)
10300 (uri (string-append "https://hackage.haskell.org/package/"
10301 "text-binary/text-binary-"
10302 version ".tar.gz"))
10303 (sha256
10304 (base32
10305 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10306 (build-system haskell-build-system)
10307 (home-page "https://github.com/kawu/text-binary")
10308 (synopsis "Binary instances for text types")
10309 (description
10310 "This package provides a compatibility layer providing @code{Binary}
10311instances for strict and lazy text types for versions older than 1.2.1 of the
10312text package.")
10313 (license license:bsd-2)))
10314
10315(define-public ghc-tf-random
10316 (package
10317 (name "ghc-tf-random")
10318 (version "0.5")
10319 (outputs '("out" "doc"))
10320 (source
10321 (origin
10322 (method url-fetch)
10323 (uri (string-append
10324 "https://hackage.haskell.org/package/tf-random/tf-random-"
10325 version
10326 ".tar.gz"))
10327 (sha256
10328 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10329 (build-system haskell-build-system)
10330 (inputs
10331 `(("ghc-primitive" ,ghc-primitive)
10332 ("ghc-random" ,ghc-random)))
10333 (home-page "https://hackage.haskell.org/package/tf-random")
10334 (synopsis "High-quality splittable pseudorandom number generator")
10335 (description "This package contains an implementation of a high-quality
10336splittable pseudorandom number generator. The generator is based on a
10337cryptographic hash function built on top of the ThreeFish block cipher. See
10338the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10339Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10340 (license license:bsd-3)))
10341
10342(define-public ghc-th-abstraction
10343 (package
10344 (name "ghc-th-abstraction")
1188eabb 10345 (version "0.3.1.0")
dddbc90c
RV
10346 (source
10347 (origin
10348 (method url-fetch)
10349 (uri (string-append "https://hackage.haskell.org/package/"
10350 "th-abstraction/th-abstraction-"
10351 version ".tar.gz"))
10352 (sha256
10353 (base32
1188eabb 10354 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
10355 (build-system haskell-build-system)
10356 (home-page "https://github.com/glguy/th-abstraction")
10357 (synopsis "Nicer interface for reified information about data types")
10358 (description
10359 "This package normalizes variations in the interface for inspecting
10360datatype information via Template Haskell so that packages and support a
10361single, easier to use informational datatype while supporting many versions of
10362Template Haskell.")
10363 (license license:isc)))
10364
10365(define-public ghc-th-expand-syns
10366 (package
10367 (name "ghc-th-expand-syns")
8c766600 10368 (version "0.4.5.0")
dddbc90c
RV
10369 (source (origin
10370 (method url-fetch)
10371 (uri (string-append "https://hackage.haskell.org/package/"
10372 "th-expand-syns/th-expand-syns-"
10373 version ".tar.gz"))
10374 (sha256
10375 (base32
8c766600 10376 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
10377 (build-system haskell-build-system)
10378 (inputs
10379 `(("ghc-syb" ,ghc-syb)))
10380 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10381 (synopsis "Expands type synonyms in Template Haskell ASTs")
10382 (description
10383 "This package enables users to expand type synonyms in Template Haskell
10384@dfn{abstract syntax trees} (ASTs).")
10385 (license license:bsd-3)))
10386
10387(define-public ghc-th-lift
10388 (package
10389 (name "ghc-th-lift")
bd76b20a 10390 (version "0.8.0.1")
dddbc90c
RV
10391 (source (origin
10392 (method url-fetch)
10393 (uri (string-append "https://hackage.haskell.org/package/"
10394 "th-lift/th-lift-" version ".tar.gz"))
10395 (sha256
10396 (base32
bd76b20a 10397 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
10398 (build-system haskell-build-system)
10399 (inputs
10400 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10401 (home-page "https://github.com/mboes/th-lift")
10402 (synopsis "Derive Template Haskell's Lift class for datatypes")
10403 (description
10404 "This is a Haskell library to derive Template Haskell's Lift class for
10405datatypes.")
10406 (license license:bsd-3)))
10407
10408(define-public ghc-th-lift-instances
10409 (package
10410 (name "ghc-th-lift-instances")
d3db399e 10411 (version "0.1.14")
dddbc90c
RV
10412 (source
10413 (origin
10414 (method url-fetch)
10415 (uri (string-append "https://hackage.haskell.org/package/"
10416 "th-lift-instances/th-lift-instances-"
10417 version ".tar.gz"))
10418 (sha256
10419 (base32
d3db399e 10420 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
10421 (build-system haskell-build-system)
10422 (inputs
10423 `(("ghc-th-lift" ,ghc-th-lift)
10424 ("ghc-vector" ,ghc-vector)
10425 ("ghc-quickcheck" ,ghc-quickcheck)))
10426 (home-page "https://github.com/bennofs/th-lift-instances/")
10427 (synopsis "Lift instances for template-haskell for common data types.")
10428 (description "Most data types in the Haskell platform do not have Lift
10429instances. This package provides orphan instances for @code{containers},
10430@code{text}, @code{bytestring} and @code{vector}.")
10431 (license license:bsd-3)))
10432
10433(define-public ghc-th-orphans
10434 (package
10435 (name "ghc-th-orphans")
882b23e2 10436 (version "0.13.9")
dddbc90c
RV
10437 (source (origin
10438 (method url-fetch)
10439 (uri (string-append "https://hackage.haskell.org/package/"
10440 "th-orphans/th-orphans-" version ".tar.gz"))
10441 (sha256
10442 (base32
882b23e2 10443 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
10444 (build-system haskell-build-system)
10445 (inputs
10446 `(("ghc-th-lift" ,ghc-th-lift)
10447 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10448 ("ghc-th-reify-many" ,ghc-th-reify-many)
10449 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10450 (native-inputs
10451 `(("ghc-hspec" ,ghc-hspec)))
10452 (home-page "https://hackage.haskell.org/package/th-orphans")
10453 (synopsis "Orphan instances for TH datatypes")
10454 (description
10455 "This package provides orphan instances for Template Haskell datatypes. In particular,
10456instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10457and @code{Eq} instances. These instances used to live in the haskell-src-meta
10458package, and that's where the version number started.")
10459 (license license:bsd-3)))
10460
10461(define-public ghc-threads
10462 (package
10463 (name "ghc-threads")
10464 (version "0.5.1.6")
10465 (source
10466 (origin
10467 (method url-fetch)
10468 (uri (string-append "https://hackage.haskell.org/package/"
10469 "threads/threads-" version ".tar.gz"))
10470 (sha256
10471 (base32
10472 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10473 (build-system haskell-build-system)
10474 (native-inputs
10475 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10476 ("ghc-hunit" ,ghc-hunit)
10477 ("ghc-test-framework" ,ghc-test-framework)
10478 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10479 (home-page "https://github.com/basvandijk/threads")
10480 (synopsis "Fork threads and wait for their result")
10481 (description "This package provides functions to fork threads and
10482wait for their result, whether it's an exception or a normal value.
10483Besides waiting for the termination of a single thread this package also
10484provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10485package is similar to the @code{threadmanager}, @code{async} and
10486@code{spawn} packages. The advantages of this package are:
10487
dddbc90c
RV
10488@itemize
10489@item Simpler API.
10490@item More efficient in both space and time.
10491@item No space-leak when forking a large number of threads.
10492@item Correct handling of asynchronous exceptions.
10493@item GHC specific functionality like @code{forkOn} and
10494@code{forkIOWithUnmask}.
10495@end itemize")
10496 (license license:bsd-3)))
10497
10498(define-public ghc-th-reify-many
10499 (package
10500 (name "ghc-th-reify-many")
32d4a6ae 10501 (version "0.1.9")
dddbc90c
RV
10502 (source (origin
10503 (method url-fetch)
10504 (uri (string-append "https://hackage.haskell.org/package/"
10505 "th-reify-many/th-reify-many-"
10506 version ".tar.gz"))
10507 (sha256
10508 (base32
32d4a6ae 10509 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
10510 (build-system haskell-build-system)
10511 (inputs
10512 `(("ghc-safe" ,ghc-safe)
10513 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10514 (home-page "https://github.com/mgsloan/th-reify-many")
10515 (synopsis "Recurseively reify template haskell datatype info")
10516 (description
10517 "th-reify-many provides functions for recursively reifying top level
10518declarations. The main intended use case is for enumerating the names of
10519datatypes reachable from an initial datatype, and passing these names to some
10520function which generates instances.")
10521 (license license:bsd-3)))
10522
75cfc9a2
TS
10523(define-public ghc-time-compat
10524 (package
10525 (name "ghc-time-compat")
10526 (version "1.9.2.2")
10527 (source
10528 (origin
10529 (method url-fetch)
10530 (uri (string-append "https://hackage.haskell.org/package/"
10531 "time-compat/time-compat-" version ".tar.gz"))
10532 (sha256
10533 (base32
10534 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
10535 (build-system haskell-build-system)
10536 (inputs
10537 `(("ghc-base-orphans" ,ghc-base-orphans)))
10538 (native-inputs
10539 `(("ghc-hunit" ,ghc-hunit)
10540 ("ghc-base-compat" ,ghc-base-compat)
10541 ("ghc-quickcheck" ,ghc-quickcheck)
10542 ("ghc-tagged" ,ghc-tagged)
10543 ("ghc-tasty" ,ghc-tasty)
10544 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10545 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10546 (arguments
10547 `(#:cabal-revision
10548 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
10549 (home-page "https://github.com/phadej/time-compat")
10550 (synopsis "Compatibility package for time")
10551 (description "This packages tries to compat as many @code{time}
10552features as possible.")
10553 (license license:bsd-3)))
10554
dddbc90c
RV
10555(define-public ghc-time-locale-compat
10556 (package
10557 (name "ghc-time-locale-compat")
10558 (version "0.1.1.5")
10559 (source
10560 (origin
10561 (method url-fetch)
10562 (uri (string-append "https://hackage.haskell.org/package/"
10563 "time-locale-compat/time-locale-compat-"
10564 version ".tar.gz"))
10565 (sha256
10566 (base32
10567 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10568 (build-system haskell-build-system)
10569 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10570 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10571 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10572 (description "This package contains a wrapped name module for
10573@code{TimeLocale}.")
10574 (license license:bsd-3)))
10575
7bbfa392
JS
10576(define-public ghc-timeit
10577 (package
10578 (name "ghc-timeit")
10579 (version "2.0")
10580 (source
10581 (origin
10582 (method url-fetch)
10583 (uri
10584 (string-append
10585 "https://hackage.haskell.org/package/timeit/timeit-"
10586 version ".tar.gz"))
10587 (sha256
10588 (base32
10589 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
10590 (build-system haskell-build-system)
10591 (home-page "https://github.com/merijn/timeit")
10592 (synopsis "Time monadic computations with an IO base")
10593 (description "This package provides a simple wrapper to show the
10594used CPU time of monadic computation with an IO base.")
10595 (license license:bsd-3)))
10596
dddbc90c
RV
10597(define-public ghc-tldr
10598 (package
10599 (name "ghc-tldr")
871ceb31 10600 (version "0.4.0.2")
dddbc90c
RV
10601 (source
10602 (origin
10603 (method url-fetch)
10604 (uri (string-append
10605 "https://hackage.haskell.org/package/tldr/tldr-"
10606 version
10607 ".tar.gz"))
10608 (sha256
10609 (base32
871ceb31 10610 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
10611 (build-system haskell-build-system)
10612 (inputs
10613 `(("ghc-cmark" ,ghc-cmark)
10614 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10615 ("ghc-typed-process" ,ghc-typed-process)
10616 ("ghc-semigroups" ,ghc-semigroups)))
10617 (native-inputs
10618 `(("ghc-tasty" ,ghc-tasty)
10619 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10620 (home-page "https://github.com/psibi/tldr-hs#readme")
10621 (synopsis "Haskell tldr client")
10622 (description "This package provides the @command{tldr} command and a
10623Haskell client library allowing users to update and view @code{tldr} pages
10624from a shell. The @code{tldr} pages are a community effort to simplify the
10625man pages with practical examples.")
10626 (license license:bsd-3)))
10627
10628(define-public ghc-transformers-base
10629 (package
10630 (name "ghc-transformers-base")
10631 (version "0.4.5.2")
10632 (source
10633 (origin
10634 (method url-fetch)
10635 (uri (string-append
10636 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10637 version
10638 ".tar.gz"))
10639 (sha256
10640 (base32
10641 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10642 (build-system haskell-build-system)
10643 (inputs
10644 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10645 (home-page
10646 "https://hackage.haskell.org/package/transformers-compat")
10647 (synopsis
10648 "Backported transformer library")
10649 (description
10650 "Backported versions of types that were added to transformers in
10651transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10652compatibility to run on old versions of the platform.")
10653 (license license:bsd-3)))
10654
10655(define-public ghc-transformers-compat
10656 (package
10657 (name "ghc-transformers-compat")
1c9c4d58 10658 (version "0.6.5")
dddbc90c
RV
10659 (source
10660 (origin
10661 (method url-fetch)
10662 (uri (string-append
10663 "https://hackage.haskell.org/package/transformers-compat"
10664 "/transformers-compat-" version ".tar.gz"))
10665 (sha256
10666 (base32
1c9c4d58 10667 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
10668 (build-system haskell-build-system)
10669 (home-page "https://github.com/ekmett/transformers-compat/")
10670 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10671 (description "This package includes backported versions of types that were
10672added to transformers in transformers 0.3 and 0.4 for users who need strict
10673transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10674but also need those types.")
10675 (license license:bsd-3)))
10676
10677(define-public ghc-tree-diff
10678 (package
10679 (name "ghc-tree-diff")
10680 (version "0.0.1")
10681 (source
10682 (origin
10683 (method url-fetch)
10684 (uri (string-append
10685 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10686 version
10687 ".tar.gz"))
10688 (sha256
10689 (base32
10690 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10691 (build-system haskell-build-system)
10692 (arguments
10693 `(#:cabal-revision
10694 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10695 #:phases
10696 (modify-phases %standard-phases
10697 (add-before 'configure 'update-constraints
10698 (lambda _
10699 (substitute* "tree-diff.cabal"
10700 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10701 "trifecta >=1.7.1.1 && <=2")))))))
10702 (inputs
10703 `(("ghc-aeson" ,ghc-aeson)
10704 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10705 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10706 ("ghc-base-compat" ,ghc-base-compat)
10707 ("ghc-generics-sop" ,ghc-generics-sop)
10708 ("ghc-hashable" ,ghc-hashable)
10709 ("ghc-memotrie" ,ghc-memotrie)
10710 ("ghc-parsers" ,ghc-parsers)
10711 ("ghc-quickcheck" ,ghc-quickcheck)
10712 ("ghc-scientific" ,ghc-scientific)
10713 ("ghc-tagged" ,ghc-tagged)
10714 ("ghc-unordered-containers" ,ghc-unordered-containers)
10715 ("ghc-uuid-types" ,ghc-uuid-types)
10716 ("ghc-vector" ,ghc-vector)))
10717 (native-inputs
10718 `(("ghc-base-compat" ,ghc-base-compat)
10719 ("ghc-quickcheck" ,ghc-quickcheck)
10720 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10721 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10722 ("ghc-trifecta" ,ghc-trifecta)
10723 ("ghc-tasty" ,ghc-tasty)
10724 ("ghc-tasty-golden" ,ghc-tasty-golden)
10725 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10726 (home-page "https://github.com/phadej/tree-diff")
10727 (synopsis "Compute difference between (expression) trees")
10728 (description "This Haskell library provides a function for computing
10729the difference between (expression) trees. It also provides a way to
10730compute the difference between arbitrary abstract datatypes (ADTs) using
10731@code{Generics}-derivable helpers.")
10732 (license license:bsd-3)))
10733
10734(define-public ghc-trifecta
10735 (package
10736 (name "ghc-trifecta")
10737 (version "2")
10738 (source (origin
10739 (method url-fetch)
10740 (uri (string-append
10741 "https://hackage.haskell.org/package/trifecta/"
10742 "trifecta-" version ".tar.gz"))
10743 (sha256
10744 (base32
10745 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10746 (build-system haskell-build-system)
10747 (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
10748 (inputs
10749 `(("ghc-reducers" ,ghc-reducers)
10750 ("ghc-semigroups" ,ghc-semigroups)
10751 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10752 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10753 ("ghc-blaze-builder" ,ghc-blaze-builder)
10754 ("ghc-blaze-html" ,ghc-blaze-html)
10755 ("ghc-blaze-markup" ,ghc-blaze-markup)
10756 ("ghc-charset" ,ghc-charset)
10757 ("ghc-comonad" ,ghc-comonad)
10758 ("ghc-fingertree" ,ghc-fingertree)
10759 ("ghc-hashable" ,ghc-hashable)
10760 ("ghc-lens" ,ghc-lens)
10761 ("ghc-parsers" ,ghc-parsers)
10762 ("ghc-profunctors" ,ghc-profunctors)
10763 ("ghc-unordered-containers" ,ghc-unordered-containers)
10764 ("ghc-utf8-string" ,ghc-utf8-string)))
10765 (native-inputs
10766 `(("cabal-doctest" ,cabal-doctest)
10767 ("ghc-doctest" ,ghc-doctest)
10768 ("ghc-quickcheck" ,ghc-quickcheck)))
10769 (home-page "https://github.com/ekmett/trifecta/")
10770 (synopsis "Parser combinator library with convenient diagnostics")
10771 (description "Trifecta is a modern parser combinator library for Haskell,
10772with slicing and Clang-style colored diagnostics.")
10773 (license license:bsd-3)))
10774
10775(define-public ghc-tuple-th
10776 (package
10777 (name "ghc-tuple-th")
10778 (version "0.2.5")
10779 (source
10780 (origin
10781 (method url-fetch)
10782 (uri (string-append "https://hackage.haskell.org/package/"
10783 "tuple-th-" version "/"
10784 "tuple-th-" version ".tar.gz"))
10785 (sha256
10786 (base32
10787 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10788 (build-system haskell-build-system)
10789 (home-page "https://github.com/DanielSchuessler/tuple-th")
10790 (synopsis "Generate utility functions for tuples of statically known size
10791for Haskell")
10792 (description "This Haskell package contains Template Haskell functions for
10793generating functions similar to those in @code{Data.List} for tuples of
10794statically known size.")
10795 (license license:bsd-3)))
10796
10797(define-public ghc-typed-process
10798 (package
10799 (name "ghc-typed-process")
72fb84a5 10800 (version "0.2.6.0")
dddbc90c
RV
10801 (source
10802 (origin
10803 (method url-fetch)
10804 (uri (string-append "https://hackage.haskell.org/package/"
10805 "typed-process/typed-process-"
10806 version ".tar.gz"))
10807 (sha256
10808 (base32
72fb84a5 10809 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
10810 (build-system haskell-build-system)
10811 (inputs
72fb84a5
TS
10812 `(("ghc-async" ,ghc-async)
10813 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
10814 (native-inputs
10815 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10816 ("ghc-hspec" ,ghc-hspec)
10817 ("hspec-discover" ,hspec-discover)
10818 ("ghc-temporary" ,ghc-temporary)))
10819 (home-page "https://haskell-lang.org/library/typed-process")
10820 (synopsis "Run external processes with strong typing of streams")
10821 (description
10822 "This library provides the ability to launch and interact with external
10823processes. It wraps around the @code{process} library, and intends to improve
10824upon it.")
10825 (license license:expat)))
10826
d392f803
AG
10827(define-public ghc-unagi-chan
10828 (package
10829 (name "ghc-unagi-chan")
10830 (version "0.4.1.2")
10831 (source
10832 (origin
10833 (method url-fetch)
10834 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
10835 "/unagi-chan-" version ".tar.gz"))
10836 (sha256
10837 (base32
10838 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
10839 (build-system haskell-build-system)
10840 (inputs
10841 `(("ghc-atomic-primops" ,ghc-atomic-primops)
10842 ("ghc-primitive" ,ghc-primitive)))
10843 (arguments
10844 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
10845 #:cabal-revision
10846 ("1"
10847 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
10848 (home-page "http://hackage.haskell.org/package/unagi-chan")
10849 (synopsis "Fast concurrent queues with a Chan-like API, and more")
10850 (description
10851 "This library provides implementations of concurrent FIFO queues (for
10852both general boxed and primitive unboxed values) that are fast, perform well
10853under contention, and offer a Chan-like interface. The library may be of
10854limited usefulness outside of x86 architectures where the fetch-and-add
10855instruction is not available.")
10856 (license license:bsd-3)))
10857
dddbc90c
RV
10858(define-public ghc-unbounded-delays
10859 (package
10860 (name "ghc-unbounded-delays")
10861 (version "0.1.1.0")
10862 (source
10863 (origin
10864 (method url-fetch)
10865 (uri (string-append
10866 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
10867 version
10868 ".tar.gz"))
10869 (sha256
10870 (base32
10871 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
10872 (build-system haskell-build-system)
10873 (home-page "https://github.com/basvandijk/unbounded-delays")
10874 (synopsis "Unbounded thread delays and timeouts")
10875 (description "The @code{threadDelay} and @code{timeout} functions from the
10876Haskell base library use the bounded @code{Int} type for specifying the delay
10877or timeout period. This package provides alternative functions which use the
10878unbounded @code{Integer} type.")
10879 (license license:bsd-3)))
10880
10881(define-public ghc-unexceptionalio
10882 (package
10883 (name "ghc-unexceptionalio")
10884 (version "0.4.0")
10885 (source
10886 (origin
10887 (method url-fetch)
10888 (uri (string-append "https://hackage.haskell.org/package/"
10889 "unexceptionalio-" version "/" "unexceptionalio-"
10890 version ".tar.gz"))
10891 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
10892 (build-system haskell-build-system)
10893 (home-page "https://github.com/singpolyma/unexceptionalio")
10894 (synopsis "IO without any non-error, synchronous exceptions")
10895 (description "When you've caught all the exceptions that can be
10896handled safely, this is what you're left with.")
10897 (license license:isc)))
10898
10899(define-public ghc-union-find
10900 (package
10901 (name "ghc-union-find")
10902 (version "0.2")
10903 (source (origin
10904 (method url-fetch)
10905 (uri (string-append
10906 "https://hackage.haskell.org/package/union-find/union-find-"
10907 version ".tar.gz"))
10908 (sha256
10909 (base32
10910 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
10911 (build-system haskell-build-system)
10912 (home-page "https://github.com/nominolo/union-find")
10913 (synopsis "Efficient union and equivalence testing of sets")
10914 (description
10915 "The Union/Find algorithm implements these operations in (effectively)
10916constant-time:
10917@enumerate
10918@item Check whether two elements are in the same equivalence class.
10919@item Create a union of two equivalence classes.
10920@item Look up the descriptor of the equivalence class.
10921@end enumerate\n")
10922 (license license:bsd-3)))
10923
10924(define-public ghc-uniplate
10925 (package
10926 (name "ghc-uniplate")
10927 (version "1.6.12")
10928 (source
10929 (origin
10930 (method url-fetch)
10931 (uri (string-append
10932 "https://hackage.haskell.org/package/uniplate/uniplate-"
10933 version
10934 ".tar.gz"))
10935 (sha256
10936 (base32
10937 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
10938 (build-system haskell-build-system)
10939 (inputs
10940 `(("ghc-syb" ,ghc-syb)
10941 ("ghc-hashable" ,ghc-hashable)
10942 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10943 (home-page "http://community.haskell.org/~ndm/uniplate/")
10944 (synopsis "Simple, concise and fast generic operations")
10945 (description "Uniplate is a library for writing simple and concise generic
10946operations. Uniplate has similar goals to the original Scrap Your Boilerplate
10947work, but is substantially simpler and faster.")
10948 (license license:bsd-3)))
10949
10950(define-public ghc-unix-compat
10951 (package
10952 (name "ghc-unix-compat")
bc82e9f5 10953 (version "0.5.2")
dddbc90c
RV
10954 (source
10955 (origin
10956 (method url-fetch)
10957 (uri (string-append
10958 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
10959 version
10960 ".tar.gz"))
10961 (sha256
10962 (base32
bc82e9f5 10963 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
10964 (build-system haskell-build-system)
10965 (home-page
10966 "https://github.com/jystic/unix-compat")
10967 (synopsis "Portable POSIX-compatibility layer")
10968 (description
10969 "This package provides portable implementations of parts of the unix
10970package. This package re-exports the unix package when available. When it
10971isn't available, portable implementations are used.")
10972 (license license:bsd-3)))
10973
10974(define-public ghc-unix-time
10975 (package
10976 (name "ghc-unix-time")
fad9cff2 10977 (version "0.4.7")
dddbc90c
RV
10978 (source
10979 (origin
10980 (method url-fetch)
10981 (uri (string-append
10982 "https://hackage.haskell.org/package/unix-time/unix-time-"
10983 version
10984 ".tar.gz"))
10985 (sha256
10986 (base32
fad9cff2 10987 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
10988 (build-system haskell-build-system)
10989 (arguments
10990 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
10991 ; is weird, that should be provided by GHC 7.10.2.
10992 (inputs
10993 `(("ghc-old-time" ,ghc-old-time)
10994 ("ghc-old-locale" ,ghc-old-locale)))
10995 (home-page "https://hackage.haskell.org/package/unix-time")
10996 (synopsis "Unix time parser/formatter and utilities")
10997 (description "This library provides fast parsing and formatting utilities
10998for Unix time in Haskell.")
10999 (license license:bsd-3)))
11000
11001(define-public ghc-unliftio
11002 (package
11003 (name "ghc-unliftio")
a4084db1 11004 (version "0.2.12")
dddbc90c
RV
11005 (source
11006 (origin
11007 (method url-fetch)
11008 (uri (string-append
11009 "https://hackage.haskell.org/package/unliftio/unliftio-"
11010 version
11011 ".tar.gz"))
11012 (sha256
11013 (base32
a4084db1 11014 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
11015 (build-system haskell-build-system)
11016 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
11017 (inputs
11018 `(("ghc-async" ,ghc-async)
11019 ("ghc-unliftio-core" ,ghc-unliftio-core)))
11020 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
11021 (home-page "https://github.com/fpco/unliftio")
11022 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
11023IO (batteries included)")
11024 (description "This Haskell package provides the core @code{MonadUnliftIO}
11025typeclass, a number of common instances, and a collection of common functions
11026working with it.")
11027 (license license:expat)))
11028
11029(define-public ghc-unliftio-core
11030 (package
11031 (name "ghc-unliftio-core")
2ae42618 11032 (version "0.1.2.0")
dddbc90c
RV
11033 (source
11034 (origin
11035 (method url-fetch)
11036 (uri (string-append "https://hackage.haskell.org/package/"
11037 "unliftio-core-" version "/"
11038 "unliftio-core-" version ".tar.gz"))
11039 (sha256
11040 (base32
2ae42618 11041 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
11042 (build-system haskell-build-system)
11043 (arguments
11044 `(#:cabal-revision
2ae42618 11045 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
11046 (home-page
11047 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
11048 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
11049 (description "This Haskell package provides the core @code{MonadUnliftIO}
11050typeclass, instances for base and transformers, and basic utility
11051functions.")
11052 (license license:expat)))
11053
11054(define-public ghc-unordered-containers
11055 (package
11056 (name "ghc-unordered-containers")
ca01f8d3 11057 (version "0.2.10.0")
dddbc90c
RV
11058 (outputs '("out" "doc"))
11059 (source
11060 (origin
11061 (method url-fetch)
11062 (uri (string-append
11063 "https://hackage.haskell.org/package/unordered-containers"
11064 "/unordered-containers-" version ".tar.gz"))
11065 (sha256
11066 (base32
ca01f8d3 11067 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
11068 (build-system haskell-build-system)
11069 (inputs
11070 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
11071 ("ghc-hunit" ,ghc-hunit)
11072 ("ghc-quickcheck" ,ghc-quickcheck)
11073 ("ghc-test-framework" ,ghc-test-framework)
11074 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11075 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11076 ("ghc-hashable" ,ghc-hashable)))
11077 (home-page
11078 "https://github.com/tibbe/unordered-containers")
11079 (synopsis
11080 "Efficient hashing-based container types")
11081 (description
11082 "Efficient hashing-based container types. The containers have been
11083optimized for performance critical use, both in terms of large data quantities
11084and high speed.")
11085 (license license:bsd-3)))
11086
11087(define-public ghc-unordered-containers-bootstrap
11088 (package
11089 (inherit ghc-unordered-containers)
11090 (name "ghc-unordered-containers-bootstrap")
11091 (arguments `(#:tests? #f))
11092 (inputs
11093 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11094 (properties '((hidden? #t)))))
dddbc90c 11095
a52f4c57
JS
11096(define-public ghc-unsafe
11097 (package
11098 (name "ghc-unsafe")
11099 (version "0.0")
11100 (source
11101 (origin
11102 (method url-fetch)
11103 (uri
11104 (string-append
11105 "https://hackage.haskell.org/package/unsafe/unsafe-"
11106 version ".tar.gz"))
11107 (sha256
11108 (base32
11109 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
11110 (build-system haskell-build-system)
11111 (home-page "https://hackage.haskell.org/package/unsafe")
11112 (synopsis "Unified interface to unsafe functions")
11113 (description "Safe Haskell introduced the notion of safe and unsafe
11114modules. In order to make as many as possible modules ``safe'', the
11115well-known unsafe functions were moved to distinguished modules. This
11116makes it hard to write packages that work with both old and new versions
11117of GHC. This package provides a single module System.Unsafe that
11118exports the unsafe functions from the base package. It provides them in
11119a style ready for qualification, that is, you should import them by
11120@code{import qualified System.Unsafe as Unsafe}.")
11121 (license license:bsd-3)))
11122
dddbc90c
RV
11123(define-public ghc-uri-bytestring
11124 (package
11125 (name "ghc-uri-bytestring")
11126 (version "0.3.2.0")
11127 (source
11128 (origin
11129 (method url-fetch)
11130 (uri (string-append "https://hackage.haskell.org/package/"
11131 "uri-bytestring-" version "/"
11132 "uri-bytestring-" version ".tar.gz"))
11133 (sha256
11134 (base32
11135 "1q04j5ybvk37zk2m0bkjwyhblz0ymdj0cn4rvsvdca1ikn5xdv5c"))))
11136 (build-system haskell-build-system)
11137 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11138 ("ghc-fail" ,ghc-fail)
11139 ("ghc-blaze-builder" ,ghc-blaze-builder)
11140 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
11141 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11142 ("ghc-hunit" ,ghc-hunit)
11143 ("ghc-quickcheck" ,ghc-quickcheck)
11144 ("ghc-tasty" ,ghc-tasty)
11145 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11146 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11147 ("ghc-base-compat" ,ghc-base-compat)
11148 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11149 ("ghc-semigroups" ,ghc-semigroups)
11150 ("ghc-generics-sop" ,ghc-generics-sop)))
11151 (home-page "https://github.com/Soostone/uri-bytestring")
11152 (synopsis "Haskell URI parsing as ByteStrings")
11153 (description "This Haskell package aims to be an RFC3986 compliant URI
11154parser that uses ByteStrings for parsing and representing the URI data.")
11155 (license license:bsd-3)))
11156
11157(define-public ghc-utf8-string
11158 (package
11159 (name "ghc-utf8-string")
11160 (version "1.0.1.1")
11161 (source
11162 (origin
11163 (method url-fetch)
11164 (uri (string-append
11165 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
11166 version
11167 ".tar.gz"))
11168 (sha256
11169 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
11170 (build-system haskell-build-system)
11171 (arguments
11172 `(#:cabal-revision
11173 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
11174 (home-page "https://github.com/glguy/utf8-string/")
11175 (synopsis "Support for reading and writing UTF8 Strings")
11176 (description
11177 "A UTF8 layer for Strings. The utf8-string package provides operations
11178for encoding UTF8 strings to Word8 lists and back, and for reading and writing
11179UTF8 without truncation.")
11180 (license license:bsd-3)))
11181
11182(define-public ghc-utility-ht
11183 (package
11184 (name "ghc-utility-ht")
11185 (version "0.0.14")
11186 (home-page "https://hackage.haskell.org/package/utility-ht")
11187 (source
11188 (origin
11189 (method url-fetch)
11190 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
11191 (sha256
11192 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
11193 (build-system haskell-build-system)
11194 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
11195 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
11196 (description "This package includes Hakell modules providing various
11197helper functions for Lists, Maybes, Tuples, Functions.")
11198 (license license:bsd-3)))
11199
11200(define-public ghc-uuid
11201 (package
11202 (name "ghc-uuid")
11203 (version "1.3.13")
11204 (source
11205 (origin
11206 (method url-fetch)
11207 (uri (string-append "https://hackage.haskell.org/package/"
11208 "uuid-" version "/"
11209 "uuid-" version ".tar.gz"))
11210 (sha256
11211 (base32
11212 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
11213 (build-system haskell-build-system)
11214 (arguments
11215 `(#:cabal-revision
11216 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
11217 #:phases
11218 (modify-phases %standard-phases
11219 (add-before 'configure 'strip-test-framework-constraints
11220 (lambda _
11221 (substitute* "uuid.cabal"
11222 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
11223 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
11224 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11225 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11226 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11227 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
11228 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
11229 ("ghc-entropy" ,ghc-entropy)
11230 ("ghc-network-info" ,ghc-network-info)
11231 ("ghc-random" ,ghc-random)
11232 ("ghc-uuid-types" ,ghc-uuid-types)))
11233 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11234 ("ghc-quickcheck" ,ghc-quickcheck)
11235 ("ghc-tasty" ,ghc-tasty)
11236 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11237 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11238 (home-page "https://github.com/hvr/uuid")
11239 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
11240 (description "This Haskell library provides utilities creating, comparing,
11241parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
11242 (license license:bsd-3)))
11243
11244(define-public ghc-uuid-types
11245 (package
11246 (name "ghc-uuid-types")
11247 (version "1.0.3")
11248 (source
11249 (origin
11250 (method url-fetch)
11251 (uri (string-append "https://hackage.haskell.org/package/"
11252 "uuid-types-" version "/"
11253 "uuid-types-" version ".tar.gz"))
11254 (sha256
11255 (base32
11256 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
11257 (build-system haskell-build-system)
11258 (arguments
11259 `(#:phases
11260 (modify-phases %standard-phases
11261 (add-before 'configure 'strip-test-framework-constraints
11262 (lambda _
11263 (substitute* "uuid-types.cabal"
11264 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
11265 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
11266 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11267 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11268 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11269 (inputs `(("ghc-hashable" ,ghc-hashable)
11270 ("ghc-random" ,ghc-random)))
11271 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11272 ("ghc-quickcheck" ,ghc-quickcheck)
11273 ("ghc-tasty" ,ghc-tasty)
11274 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11275 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11276 (home-page "https://github.com/hvr/uuid")
11277 (synopsis "Haskell type definitions for UUIDs")
11278 (description "This Haskell library contains type definitions for
11279@dfn{Universally Unique Identifiers} or
11280@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
11281functions.")
11282 (license license:bsd-3)))
11283
11284(define-public ghc-validation
11285 (package
11286 (name "ghc-validation")
11287 (version "1")
11288 (source
11289 (origin
11290 (method url-fetch)
11291 (uri (string-append
11292 "mirror://hackage/package/validation/validation-"
11293 version
11294 ".tar.gz"))
11295 (sha256
11296 (base32
11297 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
11298 (build-system haskell-build-system)
11299 (arguments
11300 `(#:cabal-revision
11301 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
11302 (inputs
11303 `(("ghc-semigroups" ,ghc-semigroups)
11304 ("ghc-semigroupoids" ,ghc-semigroupoids)
11305 ("ghc-bifunctors" ,ghc-bifunctors)
11306 ("ghc-lens" ,ghc-lens)))
11307 (native-inputs
11308 `(("ghc-hedgehog" ,ghc-hedgehog)
11309 ("ghc-hunit" ,ghc-hunit)))
11310 (home-page "https://github.com/qfpl/validation")
11311 (synopsis
11312 "Data-type like Either but with an accumulating Applicative")
11313 (description
11314 "A data-type like Either but with differing properties and type-class
11315instances.
11316
11317Library support is provided for this different representation, including
11318@code{lens}-related functions for converting between each and abstracting over
11319their similarities.
11320
11321The @code{Validation} data type is isomorphic to @code{Either}, but has an
11322instance of @code{Applicative} that accumulates on the error side. That is to
11323say, if two (or more) errors are encountered, they are appended using a
11324@{Semigroup} operation.
11325
11326As a consequence of this @code{Applicative} instance, there is no
11327corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11328example of, \"An applicative functor that is not a monad.\"")
11329 (license license:bsd-3)))
11330
11331(define-public ghc-validity
11332 (package
11333 (name "ghc-validity")
3f1ba75d 11334 (version "0.9.0.2")
dddbc90c
RV
11335 (source
11336 (origin
11337 (method url-fetch)
11338 (uri (string-append
11339 "https://hackage.haskell.org/package/validity/validity-"
11340 version
11341 ".tar.gz"))
11342 (sha256
11343 (base32
3f1ba75d 11344 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
11345 (build-system haskell-build-system)
11346 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11347 ("hspec-discover" ,hspec-discover)))
11348 (home-page
11349 "https://github.com/NorfairKing/validity")
11350 (synopsis "Validity typeclass")
11351 (description
11352 "Values of custom types usually have invariants imposed upon them. This
11353package provides the @code{Validity} type class, which makes these invariants
11354explicit by providing a function to check whether the invariants hold.")
11355 (license license:expat)))
11356
11357(define-public ghc-vault
11358 (package
11359 (name "ghc-vault")
11360 (version "0.3.1.2")
11361 (source
11362 (origin
11363 (method url-fetch)
11364 (uri (string-append
11365 "https://hackage.haskell.org/package/vault/vault-"
11366 version
11367 ".tar.gz"))
11368 (sha256
11369 (base32
11370 "072mbrihsdsb8c6xvg6lvk0rqjgvxvi8qkg4n6wwym5hq0pfa04y"))))
11371 (build-system haskell-build-system)
11372 (inputs
11373 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11374 ("ghc-hashable" ,ghc-hashable)
11375 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11376 (home-page
11377 "https://github.com/HeinrichApfelmus/vault")
11378 (synopsis "Persistent store for arbitrary values")
11379 (description "This package provides vaults for Haskell. A vault is a
11380persistent store for values of arbitrary types. It's like having first-class
11381access to the storage space behind @code{IORefs}. The data structure is
11382analogous to a bank vault, where you can access different bank boxes with
11383different keys; hence the name. Also provided is a @code{locker} type,
11384representing a store for a single element.")
11385 (license license:bsd-3)))
11386
11387(define-public ghc-vector
11388 (package
11389 (name "ghc-vector")
3ad67f6b 11390 (version "0.12.0.3")
dddbc90c
RV
11391 (outputs '("out" "doc"))
11392 (source
11393 (origin
11394 (method url-fetch)
11395 (uri (string-append
11396 "https://hackage.haskell.org/package/vector/vector-"
11397 version
11398 ".tar.gz"))
11399 (sha256
11400 (base32
3ad67f6b 11401 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
11402 (build-system haskell-build-system)
11403 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11404 ;; disabled for now.
11405 (arguments
3ad67f6b 11406 `(#:tests? #f))
dddbc90c
RV
11407 (inputs
11408 `(("ghc-primitive" ,ghc-primitive)
11409 ("ghc-random" ,ghc-random)
11410 ("ghc-quickcheck" ,ghc-quickcheck)
11411 ;; ("ghc-hunit" ,ghc-hunit)
11412 ;; ("ghc-test-framework" ,ghc-test-framework)
11413 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11414 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11415 ))
11416 (home-page "https://github.com/haskell/vector")
11417 (synopsis "Efficient Arrays")
11418 (description "This library provides an efficient implementation of
11419Int-indexed arrays (both mutable and immutable), with a powerful loop
11420optimisation framework.")
11421 (license license:bsd-3)))
11422
11423(define-public ghc-vector-algorithms
11424 (package
11425 (name "ghc-vector-algorithms")
e71f316f 11426 (version "0.8.0.1")
dddbc90c
RV
11427 (source
11428 (origin
11429 (method url-fetch)
11430 (uri (string-append "https://hackage.haskell.org/package/"
11431 "vector-algorithms-" version "/"
11432 "vector-algorithms-" version ".tar.gz"))
11433 (sha256
11434 (base32
e71f316f 11435 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
11436 (build-system haskell-build-system)
11437 (inputs
11438 `(("ghc-vector" ,ghc-vector)))
11439 (native-inputs
11440 `(("ghc-quickcheck" ,ghc-quickcheck)))
11441 (home-page "https://github.com/bos/math-functions")
11442 (synopsis "Algorithms for vector arrays in Haskell")
11443 (description "This Haskell library algorithms for vector arrays.")
11444 (license license:bsd-3)))
11445
11446(define-public ghc-vector-binary-instances
11447 (package
11448 (name "ghc-vector-binary-instances")
ca0701ef 11449 (version "0.2.5.1")
dddbc90c
RV
11450 (source
11451 (origin
11452 (method url-fetch)
11453 (uri (string-append
11454 "https://hackage.haskell.org/package/"
11455 "vector-binary-instances/vector-binary-instances-"
11456 version ".tar.gz"))
11457 (sha256
11458 (base32
ca0701ef 11459 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 11460 (build-system haskell-build-system)
dddbc90c
RV
11461 (inputs
11462 `(("ghc-vector" ,ghc-vector)))
11463 (native-inputs
11464 `(("ghc-tasty" ,ghc-tasty)
11465 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11466 (home-page "https://github.com/bos/vector-binary-instances")
11467 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11468 (description "This library provides instances of @code{Binary} for the
11469types defined in the @code{vector} package, making it easy to serialize
11470vectors to and from disk. We use the generic interface to vectors, so all
11471vector types are supported. Specific instances are provided for unboxed,
11472boxed and storable vectors.")
11473 (license license:bsd-3)))
11474
11475(define-public ghc-vector-builder
11476 (package
11477 (name "ghc-vector-builder")
11478 (version "0.3.6")
11479 (source
11480 (origin
11481 (method url-fetch)
11482 (uri (string-append "https://hackage.haskell.org/package/"
11483 "vector-builder-" version "/"
11484 "vector-builder-" version ".tar.gz"))
11485 (sha256
11486 (base32
11487 "06d2pa1fb3ydrl7l6rjazqyxv5i73v65x2f5fp0ypjxfbm6jsmn8"))))
11488 (build-system haskell-build-system)
11489 (inputs `(("ghc-vector" ,ghc-vector)
11490 ("ghc-semigroups" ,ghc-semigroups)
11491 ("ghc-base-prelude" ,ghc-base-prelude)))
11492 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11493 ("ghc-tasty" ,ghc-tasty)
11494 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11495 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11496 ("ghc-hunit" ,ghc-hunit)
11497 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11498 ("ghc-rerebase" ,ghc-rerebase)))
11499 (home-page "https://github.com/nikita-volkov/vector-builder")
11500 (synopsis "Vector builder for Haskell")
11501 (description "This Haskell package provides an API for constructing vectors.
11502It provides the composable @code{Builder} abstraction, which has instances of the
11503@code{Monoid} and @code{Semigroup} classes.
11504
11505You would first use the @code{Builder} abstraction to specify the structure of
11506the vector; then you can execute the builder to actually produce the
11507vector. ")
11508 (license license:expat)))
11509
11510(define-public ghc-vector-th-unbox
11511 (package
11512 (name "ghc-vector-th-unbox")
63056e61 11513 (version "0.2.1.7")
dddbc90c
RV
11514 (source
11515 (origin
11516 (method url-fetch)
11517 (uri (string-append "https://hackage.haskell.org/package/"
11518 "vector-th-unbox-" version "/"
11519 "vector-th-unbox-" version ".tar.gz"))
11520 (sha256
11521 (base32
63056e61 11522 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
11523 (build-system haskell-build-system)
11524 (inputs
11525 `(("ghc-vector" ,ghc-vector)
11526 ("ghc-data-default" ,ghc-data-default)))
11527 (home-page "https://github.com/liyang/vector-th-unbox")
11528 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
11529 (description "This Haskell library provides a Template Haskell
11530deriver for unboxed vectors, given a pair of coercion functions to
11531and from some existing type with an Unbox instance.")
11532 (license license:bsd-3)))
11533
11534(define-public ghc-void
11535 (package
11536 (name "ghc-void")
51889121 11537 (version "0.7.3")
dddbc90c
RV
11538 (source
11539 (origin
11540 (method url-fetch)
11541 (uri (string-append
11542 "https://hackage.haskell.org/package/void/void-"
11543 version
11544 ".tar.gz"))
11545 (sha256
11546 (base32
51889121 11547 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
11548 (build-system haskell-build-system)
11549 (inputs
11550 `(("ghc-semigroups" ,ghc-semigroups)
11551 ("ghc-hashable" ,ghc-hashable)))
11552 (home-page "https://github.com/ekmett/void")
11553 (synopsis
11554 "Logically uninhabited data type")
11555 (description
11556 "A Haskell 98 logically uninhabited data type, used to indicate that a
11557given term should not exist.")
11558 (license license:bsd-3)))
11559
11560(define-public ghc-wave
11561 (package
11562 (name "ghc-wave")
1631a0f7 11563 (version "0.2.0")
dddbc90c
RV
11564 (source (origin
11565 (method url-fetch)
11566 (uri (string-append
11567 "https://hackage.haskell.org/package/wave/wave-"
11568 version
11569 ".tar.gz"))
11570 (sha256
11571 (base32
1631a0f7 11572 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
11573 (build-system haskell-build-system)
11574 (arguments
11575 '(#:phases
11576 (modify-phases %standard-phases
11577 (add-before 'configure 'update-constraints
11578 (lambda _
11579 (substitute* "wave.cabal"
11580 (("temporary.* < 1\\.3")
11581 "temporary >= 1.1 && < 1.4")))))))
11582 (inputs
11583 `(("ghc-cereal" ,ghc-cereal)
11584 ("ghc-data-default-class"
11585 ,ghc-data-default-class)
11586 ("ghc-quickcheck" ,ghc-quickcheck)
11587 ("ghc-temporary" ,ghc-temporary)))
11588 (native-inputs
11589 `(("hspec-discover" ,hspec-discover)
11590 ("ghc-hspec" ,ghc-hspec)))
11591 (home-page "https://github.com/mrkkrp/wave")
11592 (synopsis "Work with WAVE and RF64 files in Haskell")
11593 (description "This package allows you to work with WAVE and RF64
11594files in Haskell.")
11595 (license license:bsd-3)))
11596
11597(define-public ghc-wcwidth
11598 (package
11599 (name "ghc-wcwidth")
11600 (version "0.0.2")
11601 (source
11602 (origin
11603 (method url-fetch)
11604 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11605 version ".tar.gz"))
11606 (sha256
11607 (base32
11608 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11609 (build-system haskell-build-system)
11610 (inputs
11611 `(("ghc-setlocale" ,ghc-setlocale)
11612 ("ghc-utf8-string" ,ghc-utf8-string)
11613 ("ghc-attoparsec" ,ghc-attoparsec)))
11614 (home-page "https://github.com/solidsnack/wcwidth/")
11615 (synopsis "Haskell bindings to wcwidth")
11616 (description "This package provides Haskell bindings to your system's
11617native wcwidth and a command line tool to examine the widths assigned by it.
11618The command line tool can compile a width table to Haskell code that assigns
11619widths to the Char type.")
11620 (license license:bsd-3)))
11621
11622(define-public ghc-wcwidth-bootstrap
11623 (package
11624 (inherit ghc-wcwidth)
11625 (name "ghc-wcwidth-bootstrap")
11626 (inputs
11627 `(("ghc-setlocale" ,ghc-setlocale)
11628 ("ghc-utf8-string" ,ghc-utf8-string)
11629 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 11630 (properties '((hidden? #t)))))
dddbc90c
RV
11631
11632(define-public ghc-weigh
11633 (package
11634 (name "ghc-weigh")
b6d9777f 11635 (version "0.0.14")
dddbc90c
RV
11636 (source
11637 (origin
11638 (method url-fetch)
11639 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11640 "weigh-" version ".tar.gz"))
11641 (sha256
11642 (base32
b6d9777f 11643 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
11644 (build-system haskell-build-system)
11645 (inputs
11646 `(("ghc-split" ,ghc-split)
11647 ("ghc-temporary" ,ghc-temporary)))
11648 (home-page "https://github.com/fpco/weigh#readme")
11649 (synopsis "Measure allocations of a Haskell functions/values")
11650 (description "This package provides tools to measure the memory usage of a
11651Haskell value or function.")
11652 (license license:bsd-3)))
11653
11654(define-public ghc-wl-pprint
11655 (package
11656 (name "ghc-wl-pprint")
11657 (version "1.2.1")
11658 (source (origin
11659 (method url-fetch)
11660 (uri (string-append
11661 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11662 version ".tar.gz"))
11663 (sha256
11664 (base32
11665 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11666 (build-system haskell-build-system)
11667 (home-page "https://hackage.haskell.org/package/wl-pprint")
11668 (synopsis "Wadler/Leijen pretty printer")
11669 (description
11670 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11671Printer}. This version allows the library user to declare overlapping
11672instances of the @code{Pretty} class.")
11673 (license license:bsd-3)))
11674
11675(define-public ghc-wl-pprint-annotated
11676 (package
11677 (name "ghc-wl-pprint-annotated")
11678 (version "0.1.0.1")
11679 (source
11680 (origin
11681 (method url-fetch)
11682 (uri (string-append
11683 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11684 version
11685 ".tar.gz"))
11686 (sha256
11687 (base32
11688 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11689 (build-system haskell-build-system)
11690 (native-inputs
11691 `(("ghc-tasty" ,ghc-tasty)
11692 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11693 (home-page
11694 "https://github.com/minad/wl-pprint-annotated#readme")
11695 (synopsis
11696 "Wadler/Leijen pretty printer with annotation support")
11697 (description
11698 "Annotations are useful for coloring. This is a limited version of
11699@code{wl-pprint-extras} without support for point effects and without the free
11700monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11701Compared to @code{annotated-wl-pprint} this library provides a slightly
11702modernized interface.")
11703 (license license:bsd-3)))
11704
11705(define-public ghc-wl-pprint-text
11706 (package
11707 (name "ghc-wl-pprint-text")
11708 (version "1.2.0.0")
11709 (source
11710 (origin
11711 (method url-fetch)
11712 (uri (string-append
11713 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11714 version ".tar.gz"))
11715 (sha256
11716 (base32
11717 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11718 (build-system haskell-build-system)
11719 (inputs
11720 `(("ghc-base-compat" ,ghc-base-compat)))
11721 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11722 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11723 (description
11724 "A clone of wl-pprint for use with the text library.")
11725 (license license:bsd-3)))
11726
11727(define-public ghc-word8
11728 (package
11729 (name "ghc-word8")
11730 (version "0.1.3")
11731 (source
11732 (origin
11733 (method url-fetch)
11734 (uri (string-append
11735 "https://hackage.haskell.org/package/word8/word8-"
11736 version
11737 ".tar.gz"))
11738 (sha256
11739 (base32
11740 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11741 (build-system haskell-build-system)
11742 (native-inputs
11743 `(("ghc-hspec" ,ghc-hspec)
11744 ("hspec-discover" ,hspec-discover)))
11745 (home-page "https://hackage.haskell.org/package/word8")
11746 (synopsis "Word8 library for Haskell")
11747 (description "Word8 library to be used with @code{Data.ByteString}.")
11748 (license license:bsd-3)))
11749
11750(define-public ghc-x11
11751 (package
11752 (name "ghc-x11")
6c4581a3 11753 (version "1.9.1")
dddbc90c
RV
11754 (source
11755 (origin
11756 (method url-fetch)
11757 (uri (string-append "https://hackage.haskell.org/package/X11/"
11758 "X11-" version ".tar.gz"))
11759 (sha256
6c4581a3 11760 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
11761 (build-system haskell-build-system)
11762 (inputs
11763 `(("libx11" ,libx11)
11764 ("libxrandr" ,libxrandr)
11765 ("libxinerama" ,libxinerama)
11766 ("libxscrnsaver" ,libxscrnsaver)
11767 ("ghc-data-default" ,ghc-data-default)))
11768 (home-page "https://github.com/haskell-pkg-janitors/X11")
11769 (synopsis "Bindings to the X11 graphics library")
11770 (description
11771 "This package provides Haskell bindings to the X11 graphics library. The
11772bindings are a direct translation of the C bindings.")
11773 (license license:bsd-3)))
11774
11775(define-public ghc-x11-xft
11776 (package
11777 (name "ghc-x11-xft")
11778 (version "0.3.1")
11779 (source
11780 (origin
11781 (method url-fetch)
11782 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11783 "X11-xft-" version ".tar.gz"))
11784 (sha256
11785 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11786 (inputs
11787 `(("ghc-x11" ,ghc-x11)
11788 ("ghc-utf8-string" ,ghc-utf8-string)
11789 ("libx11" ,libx11)
11790 ("libxft" ,libxft)
11791 ("xorgproto" ,xorgproto)))
11792 (native-inputs
11793 `(("pkg-config" ,pkg-config)))
11794 (build-system haskell-build-system)
11795 (home-page "https://hackage.haskell.org/package/X11-xft")
11796 (synopsis "Bindings to Xft")
11797 (description
11798 "Bindings to the Xft, X Free Type interface library, and some Xrender
11799parts.")
11800 (license license:lgpl2.1)))
11801
11802(define-public ghc-xdg-basedir
11803 (package
11804 (name "ghc-xdg-basedir")
11805 (version "0.2.2")
11806 (source
11807 (origin
11808 (method url-fetch)
11809 (uri (string-append
11810 "https://hackage.haskell.org/package/xdg-basedir/"
11811 "xdg-basedir-" version ".tar.gz"))
11812 (sha256
11813 (base32
11814 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
11815 (build-system haskell-build-system)
11816 (home-page "http://github.com/willdonnelly/xdg-basedir")
11817 (synopsis "XDG Base Directory library for Haskell")
11818 (description "This package provides a library implementing the XDG Base Directory spec.")
11819 (license license:bsd-3)))
11820
11821(define-public ghc-xml
11822 (package
11823 (name "ghc-xml")
11824 (version "1.3.14")
11825 (source
11826 (origin
11827 (method url-fetch)
11828 (uri (string-append
11829 "https://hackage.haskell.org/package/xml/xml-"
11830 version
11831 ".tar.gz"))
11832 (sha256
11833 (base32
11834 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
11835 (build-system haskell-build-system)
11836 (home-page "http://code.galois.com")
11837 (synopsis "Simple XML library for Haskell")
11838 (description "This package provides a simple XML library for Haskell.")
11839 (license license:bsd-3)))
11840
11841(define-public ghc-xml-conduit
11842 (package
11843 (name "ghc-xml-conduit")
11844 (version "1.8.0.1")
11845 (source
11846 (origin
11847 (method url-fetch)
11848 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
11849 "xml-conduit-" version ".tar.gz"))
11850 (sha256
11851 (base32
11852 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
11853 (build-system haskell-build-system)
11854 (inputs
11855 `(("ghc-conduit" ,ghc-conduit)
11856 ("ghc-conduit-extra" ,ghc-conduit-extra)
11857 ("ghc-doctest" ,ghc-doctest)
11858 ("ghc-resourcet" ,ghc-resourcet)
11859 ("ghc-xml-types" ,ghc-xml-types)
11860 ("ghc-attoparsec" ,ghc-attoparsec)
11861 ("ghc-data-default-class" ,ghc-data-default-class)
11862 ("ghc-blaze-markup" ,ghc-blaze-markup)
11863 ("ghc-blaze-html" ,ghc-blaze-html)
11864 ("ghc-monad-control" ,ghc-monad-control)
11865 ("ghc-hspec" ,ghc-hspec)
11866 ("ghc-hunit" ,ghc-hunit)))
11867 (home-page "https://github.com/snoyberg/xml")
11868 (synopsis "Utilities for dealing with XML with the conduit package")
11869 (description
11870 "This package provides pure-Haskell utilities for dealing with XML with
11871the @code{conduit} package.")
11872 (license license:expat)))
11873
11874(define-public ghc-xml-types
11875 (package
11876 (name "ghc-xml-types")
11877 (version "0.3.6")
11878 (source
11879 (origin
11880 (method url-fetch)
11881 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
11882 "xml-types-" version ".tar.gz"))
11883 (sha256
11884 (base32
11885 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
11886 (build-system haskell-build-system)
11887 (home-page "https://john-millikin.com/software/haskell-xml/")
11888 (synopsis "Basic types for representing XML")
11889 (description "This package provides basic types for representing XML
11890documents.")
11891 (license license:expat)))
11892
11893(define-public ghc-yaml
11894 (package
11895 (name "ghc-yaml")
11896 (version "0.8.32")
11897 (source (origin
11898 (method url-fetch)
11899 (uri (string-append "https://hackage.haskell.org/package/"
11900 "yaml/yaml-" version ".tar.gz"))
11901 (sha256
11902 (base32
11903 "0cbsyh4ilvjzq1q7pxls43k6pdqxg1l85xzibcwpbvmlvrizh86w"))))
11904 (build-system haskell-build-system)
11905 ;; The tests are broken on i686. They are fixed in 0.10.3.0.
11906 ;; See https://github.com/snoyberg/yaml/issues/158
11907 (arguments `(#:tests? #f))
11908 (inputs
11909 `(("ghc-conduit" ,ghc-conduit)
11910 ("ghc-resourcet" ,ghc-resourcet)
11911 ("ghc-aeson" ,ghc-aeson)
11912 ("ghc-unordered-containers" ,ghc-unordered-containers)
11913 ("ghc-vector" ,ghc-vector)
11914 ("ghc-attoparsec" ,ghc-attoparsec)
11915 ("ghc-scientific" ,ghc-scientific)
11916 ("ghc-semigroups" ,ghc-semigroups)
11917 ("ghc-temporary" ,ghc-temporary)
11918 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11919 ("ghc-base-compat" ,ghc-base-compat)))
11920 (native-inputs
11921 `(("ghc-hspec" ,ghc-hspec)
11922 ("ghc-hunit" ,ghc-hunit)
11923 ("hspec-discover" ,hspec-discover)
11924 ("ghc-mockery" ,ghc-mockery)))
11925 (home-page "https://github.com/snoyberg/yaml/")
11926 (synopsis "Parsing and rendering YAML documents")
11927 (description
11928 "This package provides a library to parse and render YAML documents.")
11929 (license license:bsd-3)))
11930
11931(define-public ghc-zip-archive
11932 (package
11933 (name "ghc-zip-archive")
93c1fdd3 11934 (version "0.4.1")
dddbc90c
RV
11935 (source
11936 (origin
11937 (method url-fetch)
11938 (uri (string-append
11939 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
11940 version
11941 ".tar.gz"))
11942 (sha256
11943 (base32
93c1fdd3 11944 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 11945 (build-system haskell-build-system)
93c1fdd3
TS
11946 (arguments
11947 `(#:phases
11948 (modify-phases %standard-phases
11949 (add-before 'check 'set-PATH-for-tests
11950 (lambda* (#:key inputs #:allow-other-keys)
11951 (let ((unzip (assoc-ref inputs "unzip"))
11952 (which (assoc-ref inputs "which"))
11953 (path (getenv "PATH")))
11954 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
11955 #t))))))
dddbc90c
RV
11956 (inputs
11957 `(("ghc-digest" ,ghc-digest)
11958 ("ghc-temporary" ,ghc-temporary)
11959 ("ghc-zlib" ,ghc-zlib)))
11960 (native-inputs
11961 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
11962 ("unzip" ,unzip)
11963 ("which" ,which)))
dddbc90c
RV
11964 (home-page "https://hackage.haskell.org/package/zip-archive")
11965 (synopsis "Zip archive library for Haskell")
11966 (description "The zip-archive library provides functions for creating,
11967modifying, and extracting files from zip archives in Haskell.")
11968 (license license:bsd-3)))
11969
11970(define-public ghc-zlib
11971 (package
11972 (name "ghc-zlib")
bf12089a 11973 (version "0.6.2.1")
dddbc90c
RV
11974 (outputs '("out" "doc"))
11975 (source
11976 (origin
11977 (method url-fetch)
11978 (uri (string-append
11979 "https://hackage.haskell.org/package/zlib/zlib-"
11980 version
11981 ".tar.gz"))
11982 (sha256
11983 (base32
bf12089a 11984 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
11985 (build-system haskell-build-system)
11986 (arguments
11987 `(#:phases
11988 (modify-phases %standard-phases
11989 (add-before 'configure 'strip-test-framework-constraints
11990 (lambda _
11991 (substitute* "zlib.cabal"
11992 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
11993 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
11994 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11995 (inputs `(("zlib" ,zlib)))
11996 (native-inputs
11997 `(("ghc-quickcheck" ,ghc-quickcheck)
11998 ("ghc-tasty" ,ghc-tasty)
11999 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12000 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12001 (home-page "https://hackage.haskell.org/package/zlib")
12002 (synopsis
12003 "Compression and decompression in the gzip and zlib formats")
12004 (description
12005 "This package provides a pure interface for compressing and decompressing
12006streams of data represented as lazy @code{ByteString}s. It uses the zlib C
12007library so it has high performance. It supports the @code{zlib}, @code{gzip}
12008and @code{raw} compression formats. It provides a convenient high level API
12009suitable for most tasks and for the few cases where more control is needed it
12010provides access to the full zlib feature set.")
bbf8bf31 12011 (license license:bsd-3)))
14e41996
RV
12012
12013(define-public ghc-zlib-bindings
12014 (package
12015 (name "ghc-zlib-bindings")
12016 (version "0.1.1.5")
12017 (source
12018 (origin
12019 (method url-fetch)
12020 (uri (string-append "https://hackage.haskell.org/package/"
12021 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
12022 (sha256
12023 (base32
12024 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
12025 (build-system haskell-build-system)
12026 (inputs
12027 `(("ghc-zlib" ,ghc-zlib)))
12028 (native-inputs
12029 `(("ghc-hspec" ,ghc-hspec)
12030 ("ghc-quickcheck" ,ghc-quickcheck)))
12031 (arguments
12032 `(#:cabal-revision
12033 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
12034 (home-page "https://github.com/snapframework/zlib-bindings")
12035 (synopsis "Low-level bindings to the @code{zlib} package")
12036 (description "This package provides low-level bindings to the
12037@code{zlib} package.")
12038 (license license:bsd-3)))