gnu: ghc-th-lift: Update to 0.8.0.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")
170 (version "0.3.8")
171 (source
172 (origin
173 (method url-fetch)
174 (uri (string-append "https://hackage.haskell.org/package/"
175 "aeson-compat-" version "/"
176 "aeson-compat-" version ".tar.gz"))
177 (sha256
178 (base32
179 "0j4v13pgk21zy8hqkbx8hw0n05jdl17qphxz9rj4h333pr547r3i"))))
180 (build-system haskell-build-system)
181 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
182 (inputs `(("ghc-base-compat" ,ghc-base-compat)
183 ("ghc-aeson" ,ghc-aeson)
184 ("ghc-attoparsec" ,ghc-attoparsec)
185 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
186 ("ghc-exceptions" ,ghc-exceptions)
187 ("ghc-hashable" ,ghc-hashable)
188 ("ghc-scientific" ,ghc-scientific)
189 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
190 ("ghc-unordered-containers" ,ghc-unordered-containers)
191 ("ghc-vector" ,ghc-vector)
192 ("ghc-tagged" ,ghc-tagged)
193 ("ghc-semigroups" ,ghc-semigroups)
194 ("ghc-nats" ,ghc-nats)))
195 (home-page "https://github.com/phadej/aeson-compat")
196 (synopsis "Compatibility layer for ghc-aeson")
197 (description "This Haskell package provides compatibility layer for
198ghc-aeson.")
199 (license license:bsd-3)))
200
201(define-public ghc-alex
202 (package
203 (name "ghc-alex")
204 (version "3.2.4")
205 (source
206 (origin
207 (method url-fetch)
208 (uri (string-append
209 "https://hackage.haskell.org/package/alex/alex-"
210 version
211 ".tar.gz"))
212 (sha256
213 (base32
214 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
215 (build-system haskell-build-system)
658dbc7f 216 (arguments
dddbc90c
RV
217 `(#:phases
218 (modify-phases %standard-phases
219 (add-before 'check 'set-check-variables
220 (lambda _
221 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
222 (getenv "PATH")))
223 (setenv "alex_datadir" (string-append (getcwd) "/data"))
224 #t)))))
225 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
226 (native-inputs
227 `(("which" ,which)))
228 (home-page "https://www.haskell.org/alex/")
229 (synopsis
230 "Tool for generating lexical analysers in Haskell")
231 (description
232 "Alex is a tool for generating lexical analysers in Haskell. It takes a
233description of tokens based on regular expressions and generates a Haskell
234module containing code for scanning text efficiently. It is similar to the
235tool lex or flex for C/C++.")
658dbc7f
RV
236 (license license:bsd-3)))
237
dddbc90c 238(define-public ghc-alsa-core
7b01a977 239 (package
dddbc90c
RV
240 (name "ghc-alsa-core")
241 (version "0.5.0.1")
242 (source
243 (origin
244 (method url-fetch)
245 (uri (string-append
246 "mirror://hackage/package/alsa-core/alsa-core-"
247 version
248 ".tar.gz"))
249 (sha256
250 (base32
251 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
252 (build-system haskell-build-system)
253 (inputs
254 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
255 ("alsa-lib" ,alsa-lib)))
256 (native-inputs
257 `(("pkg-config" ,pkg-config)))
258 (home-page "http://www.haskell.org/haskellwiki/ALSA")
259 (synopsis "Binding to the ALSA Library API (Exceptions)")
260 (description "This package provides access to ALSA infrastructure, that is
261needed by both alsa-seq and alsa-pcm.")
262 (license license:bsd-3)))
263
264(define-public ghc-annotated-wl-pprint
265 (package
266 (name "ghc-annotated-wl-pprint")
267 (version "0.7.0")
268 (source
269 (origin
270 (method url-fetch)
271 (uri (string-append
272 "https://hackage.haskell.org/package/annotated-wl-pprint"
273 "/annotated-wl-pprint-" version
274 ".tar.gz"))
275 (sha256
276 (base32
277 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
278 (build-system haskell-build-system)
279 (home-page
280 "https://github.com/david-christiansen/annotated-wl-pprint")
281 (synopsis
282 "The Wadler/Leijen Pretty Printer, with annotation support")
283 (description "This is a modified version of wl-pprint, which was based on
284Wadler's paper \"A Prettier Printer\". This version allows the library user
285to annotate the text with semantic information, which can later be rendered in
286a variety of ways.")
287 (license license:bsd-3)))
288
289(define-public ghc-ansi-terminal
290 (package
291 (name "ghc-ansi-terminal")
292 (version "0.8.0.4")
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
302 "0428gq8m3fdnb7ldcsyk97qcch76hcxbgh2666p6f76fs2qbhg7b"))))
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")
316 (version "0.6.8.2")
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
dddbc90c 325 "0gnb4mkqryv08vncxnj0bzwcnd749613yw3cxfzw6y3nsldp4c56"))))
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")
361 (version "2.2.1")
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
371 "09whscli1q5z7lzyq9rfk0bq1ydplh6pjmc6qv0x668k5818c2wg"))))
372 (build-system haskell-build-system)
373 (inputs
374 `(("ghc-hashable" ,ghc-hashable)
375 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
376 ("ghc-test-framework" ,ghc-test-framework)
377 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
378 (home-page "https://github.com/simonmar/async")
379 (synopsis "Library to run IO operations asynchronously")
380 (description "Async provides a library to run IO operations
381asynchronously, and wait for their results. It is a higher-level interface
382over threads in Haskell, in which @code{Async a} is a concurrent thread that
383will eventually deliver a value of type @code{a}.")
7b01a977
RV
384 (license license:bsd-3)))
385
9ad9ec2e
AG
386(define-public ghc-atomic-primops
387 (package
388 (name "ghc-atomic-primops")
389 (version "0.8.2")
390 (source
391 (origin
392 (method url-fetch)
393 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
394 "/atomic-primops-" version ".tar.gz"))
395 (sha256
396 (base32
397 "0cyr2x6xqz6s233znrz9rnrfj56m9bmnawwnka0lsqqy1hp8gy37"))))
398 (build-system haskell-build-system)
399 (inputs `(("ghc-primitive" ,ghc-primitive)))
400 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
401 (synopsis "Safe approach to CAS and other atomic ops")
402 (description
403 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
404use safely, because pointer equality is a highly unstable property in Haskell.
405This library provides a safer method based on the concept of @code{Ticket}s.")
406 (license license:bsd-3)))
407
dddbc90c 408(define-public ghc-atomic-write
79fcc5e5 409 (package
dddbc90c
RV
410 (name "ghc-atomic-write")
411 (version "0.2.0.5")
79fcc5e5
RV
412 (source
413 (origin
414 (method url-fetch)
dddbc90c
RV
415 (uri (string-append
416 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
417 version
418 ".tar.gz"))
79fcc5e5
RV
419 (sha256
420 (base32
dddbc90c
RV
421 "1iaq0hprxcv0sl1sgwcgmm87zraf738va1bciwnx2jkk3k1v9iyv"))))
422 (build-system haskell-build-system)
423 (inputs
424 `(("ghc-temporary" ,ghc-temporary)
425 ("ghc-unix-compat" ,ghc-unix-compat)))
426 (native-inputs
427 `(("ghc-temporary" ,ghc-temporary)
428 ("ghc-unix-compat" ,ghc-unix-compat)
429 ("ghc-hspec" ,ghc-hspec)
430 ("hspec-discover" ,hspec-discover)))
431 (home-page "https://github.com/stackbuilders/atomic-write")
432 (synopsis "Atomically write to a file")
433 (description
434 "Atomically write to a file on POSIX-compliant systems while preserving
435permissions. @code{mv} is an atomic operation. This makes it simple to write
436to a file atomically just by using the @code{mv} operation. However, this
437will destroy the permissions on the original file. This library preserves
438permissions while atomically writing to a file.")
439 (license license:expat)))
440
441(define-public ghc-attoparsec
442 (package
443 (name "ghc-attoparsec")
444 (version "0.13.2.2")
445 (source
446 (origin
447 (method url-fetch)
448 (uri (string-append
449 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
450 version
451 ".tar.gz"))
452 (sha256
453 (base32
454 "0j6qcwd146yzlkc9mcvzvnixsyl65n2a68l28322q5v9p4g4g4yx"))))
79fcc5e5 455 (build-system haskell-build-system)
79fcc5e5 456 (arguments
dddbc90c
RV
457 `(#:phases
458 (modify-phases %standard-phases
459 (add-after 'unpack 'patch-for-newer-quickcheck
460 (lambda _
461 (substitute* "attoparsec.cabal"
462 (("QuickCheck >= 2\\.7 && < 2\\.10")
463 "QuickCheck >= 2.7 && < 2.12"))
464 ;; This test fails because of the newer QuickCheck:
465 ;; <https://github.com/bos/attoparsec/issues/134>.
466 (substitute* "tests/QC/ByteString.hs"
467 ((", testProperty \"satisfyWith\" satisfyWith")
468 "")))))))
469 (inputs
470 `(("ghc-scientific" ,ghc-scientific)))
471 (native-inputs
472 `(("ghc-tasty" ,ghc-tasty)
473 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
474 ("ghc-quickcheck" ,ghc-quickcheck)
475 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
476 ("ghc-vector" ,ghc-vector)))
477 (home-page "https://github.com/bos/attoparsec")
478 (synopsis "Fast combinator parsing for bytestrings and text")
479 (description "This library provides a fast parser combinator library,
480aimed particularly at dealing efficiently with network protocols and
481complicated text/binary file formats.")
79fcc5e5
RV
482 (license license:bsd-3)))
483
dddbc90c 484(define-public ghc-attoparsec-bootstrap
6b34d01c 485 (package
dddbc90c
RV
486 (inherit ghc-attoparsec)
487 (name "ghc-attoparsec-bootstrap")
488 (arguments `(#:tests? #f))
489 (inputs
490 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
491 (native-inputs '())
799d8d3c 492 (properties '((hidden? #t)))))
dddbc90c
RV
493
494(define-public ghc-attoparsec-iso8601
495 (package
496 (name "ghc-attoparsec-iso8601")
6b34d01c
RV
497 (version "1.0.0.0")
498 (source
499 (origin
500 (method url-fetch)
501 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
502 "attoparsec-iso8601-" version "/"
503 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
504 (sha256
505 (base32
dddbc90c 506 "12l55b76bhya9q89mfmqmy6sl5v39b6gzrw5rf3f70vkb23nsv5a"))))
6b34d01c 507 (build-system haskell-build-system)
dddbc90c
RV
508 (arguments
509 `(#:cabal-revision
510 ("1" "06f7pgmmc8456p3hc1y23kz1y127gfczy7s00wz1rls9g2sm2vi4")))
511 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
512 ("ghc-base-compat" ,ghc-base-compat)))
513 (home-page "https://github.com/bos/aeson")
514 (synopsis "Parse ISO 8601 dates")
515 (description "Haskell library for parsing of ISO 8601 dates, originally
516from aeson.")
6b34d01c 517 (license license:bsd-3)))
b57e99f5 518
dddbc90c 519(define-public ghc-auto-update
b57e99f5 520 (package
dddbc90c
RV
521 (name "ghc-auto-update")
522 (version "0.1.4")
523 (source
524 (origin
525 (method url-fetch)
526 (uri (string-append
527 "https://hackage.haskell.org/package/auto-update/auto-update-"
528 version
529 ".tar.gz"))
530 (sha256
531 (base32
532 "09dlh2alsx2mw5kvj931yhbj0aw7jmly2cm9xbscm2sf098w35jy"))))
533 (build-system haskell-build-system)
534 (home-page "https://github.com/yesodweb/wai")
535 (synopsis "Efficiently run periodic, on-demand actions")
536 (description "This library provides mechanisms to efficiently run
537periodic, on-demand actions in Haskell.")
538 (license license:expat)))
539
540(define-public ghc-aws
541 (package
542 (name "ghc-aws")
543 (version "0.20")
b57e99f5
RV
544 (source
545 (origin
546 (method url-fetch)
547 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
548 "aws-" version "/aws-" version ".tar.gz"))
549 (sha256 (base32
550 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
551 (build-system haskell-build-system)
552 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
553 (inputs
554 `(("ghc-aeson" ,ghc-aeson)
555 ("ghc-attoparsec" ,ghc-attoparsec)
556 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
557 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
558 ("ghc-blaze-builder" ,ghc-blaze-builder)
559 ("ghc-byteable" ,ghc-byteable)
560 ("ghc-case-insensitive" ,ghc-case-insensitive)
561 ("ghc-cereal" ,ghc-cereal)
562 ("ghc-conduit" ,ghc-conduit)
563 ("ghc-conduit-extra" ,ghc-conduit-extra)
564 ("ghc-cryptonite" ,ghc-cryptonite)
565 ("ghc-data-default" ,ghc-data-default)
566 ("ghc-http-conduit" ,ghc-http-conduit)
567 ("ghc-http-types" ,ghc-http-types)
568 ("ghc-lifted-base" ,ghc-lifted-base)
569 ("ghc-monad-control" ,ghc-monad-control)
570 ("ghc-network" ,ghc-network)
571 ("ghc-old-locale" ,ghc-old-locale)
572 ("ghc-safe" ,ghc-safe)
573 ("ghc-scientific" ,ghc-scientific)
574 ("ghc-tagged" ,ghc-tagged)
575 ("ghc-unordered-containers" ,ghc-unordered-containers)
576 ("ghc-utf8-string" ,ghc-utf8-string)
577 ("ghc-vector" ,ghc-vector)
578 ("ghc-xml-conduit" ,ghc-xml-conduit)))
579 (native-inputs
580 `(("ghc-quickcheck" ,ghc-quickcheck)
581 ("ghc-errors" ,ghc-errors)
582 ("ghc-http-client" ,ghc-http-client)
583 ("ghc-http-client-tls" ,ghc-http-client-tls)
584 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
585 ("ghc-tasty" ,ghc-tasty)
586 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
587 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
588 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
589 (home-page "https://github.com/aristidb/aws")
590 (synopsis "Amazon Web Services for Haskell")
591 (description "This package attempts to provide support for using
592Amazon Web Services like S3 (storage), SQS (queuing) and others to
593Haskell programmers. The ultimate goal is to support all Amazon
594Web Services.")
595 (license license:bsd-3)))
596
597(define-public ghc-base16-bytestring
598 (package
599 (name "ghc-base16-bytestring")
600 (version "0.1.1.6")
601 (source
602 (origin
603 (method url-fetch)
604 (uri (string-append
605 "https://hackage.haskell.org/package/base16-bytestring/"
606 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
607 (sha256
608 (base32
dddbc90c 609 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 610 (build-system haskell-build-system)
dddbc90c
RV
611 (home-page "https://github.com/bos/base16-bytestring")
612 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
613 (description
614 "This package provides a Haskell library for working with base16-encoded
615data quickly and efficiently, using the ByteString type.")
b57e99f5 616 (license license:bsd-3)))
bbf8bf31 617
dddbc90c 618(define-public ghc-base64-bytestring
bbf8bf31 619 (package
dddbc90c
RV
620 (name "ghc-base64-bytestring")
621 (version "1.0.0.2")
bbf8bf31
RV
622 (source
623 (origin
624 (method url-fetch)
dddbc90c
RV
625 (uri (string-append
626 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
627 version
628 ".tar.gz"))
629 (sha256
630 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
631 (build-system haskell-build-system)
632 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
633 (home-page "https://github.com/bos/base64-bytestring")
634 (synopsis "Base64 encoding and decoding for ByteStrings")
635 (description "This library provides fast base64 encoding and decoding for
636Haskell @code{ByteString}s.")
637 (license license:bsd-3)))
638
639(define-public ghc-base-compat
640 (package
641 (name "ghc-base-compat")
642 (version "0.10.4")
643 (source
644 (origin
645 (method url-fetch)
646 (uri (string-append
647 "https://hackage.haskell.org/package/base-compat/base-compat-"
648 version
649 ".tar.gz"))
bbf8bf31
RV
650 (sha256
651 (base32
dddbc90c 652 "0ksp990gxs731mq19rzbxrbs43nazfljjc8krlx5bjqblw3kfs8d"))))
bbf8bf31
RV
653 (build-system haskell-build-system)
654 (native-inputs
dddbc90c
RV
655 `(("ghc-quickcheck" ,ghc-quickcheck)
656 ("ghc-hspec" ,ghc-hspec)
657 ("hspec-discover" ,hspec-discover)))
658 (home-page "https://hackage.haskell.org/package/base-compat")
659 (synopsis "Haskell compiler compatibility library")
660 (description "This library provides functions available in later versions
661of base to a wider range of compilers, without requiring the use of CPP
662pragmas in your code.")
663 (license license:bsd-3)))
664
665(define-public ghc-basement
666 (package
667 (name "ghc-basement")
8b56c1fd 668 (version "0.0.11")
dddbc90c
RV
669 (source
670 (origin
671 (method url-fetch)
672 (uri (string-append "https://hackage.haskell.org/package/"
673 "basement/basement-" version ".tar.gz"))
674 (sha256
675 (base32
8b56c1fd 676 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
677 (build-system haskell-build-system)
678 (home-page "https://github.com/haskell-foundation/foundation")
679 (synopsis "Basic primitives for Foundation starter pack")
680 (description
681 "This package contains basic primitives for the Foundation set of
682packages.")
683 (license license:bsd-3)))
684
685(define-public ghc-base-orphans
686 (package
687 (name "ghc-base-orphans")
688 (version "0.7")
689 (source
690 (origin
691 (method url-fetch)
692 (uri (string-append
693 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
694 version
695 ".tar.gz"))
696 (sha256
697 (base32
698 "057f9npnqk71ccfh95djfkpd54dzazphj06grwxa3fyhwcwxrb8a"))))
699 (build-system haskell-build-system)
700 (native-inputs
701 `(("ghc-quickcheck" ,ghc-quickcheck)
702 ("ghc-hspec" ,ghc-hspec)
703 ("hspec-discover" ,hspec-discover)))
704 (home-page "https://hackage.haskell.org/package/base-orphans")
705 (synopsis "Orphan instances for backwards compatibility")
706 (description "This package defines orphan instances that mimic instances
707available in later versions of base to a wider (older) range of compilers.")
708 (license license:bsd-3)))
709
710(define-public ghc-base-prelude
711 (package
712 (name "ghc-base-prelude")
713 (version "1.3")
714 (source
715 (origin
716 (method url-fetch)
717 (uri (string-append "https://hackage.haskell.org/package/"
718 "base-prelude-" version "/"
719 "base-prelude-" version ".tar.gz"))
720 (sha256
721 (base32
722 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
723 (build-system haskell-build-system)
724 (home-page "https://github.com/nikita-volkov/base-prelude")
725 (synopsis "The most complete prelude formed solely from the Haskell's base
726package")
727 (description "This Haskell package aims to reexport all the non-conflicting
728and most general definitions from the \"base\" package.
729
730This includes APIs for applicatives, arrows, monoids, foldables, traversables,
731exceptions, generics, ST, MVars and STM.
732
733This package will never have any dependencies other than \"base\".
734
735Versioning policy:
736
737The versioning policy of this package deviates from PVP in the sense
738that its exports in part are transitively determined by the version of \"base\".
739Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
740the bounds of \"base\" as well.")
741 (license license:expat)))
742
743(define-public ghc-base-unicode-symbols
744 (package
745 (name "ghc-base-unicode-symbols")
746 (version "0.2.3")
747 (source
748 (origin
749 (method url-fetch)
750 (uri (string-append
751 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
752 version
753 ".tar.gz"))
754 (sha256
755 (base32
756 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
757 (build-system haskell-build-system)
758 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
759 (synopsis "Unicode alternatives for common functions and operators")
760 (description "This package defines new symbols for a number of functions,
761operators and types in the base package. All symbols are documented with
762their actual definition and information regarding their Unicode code point.
763They should be completely interchangeable with their definitions. For
764further Unicode goodness you can enable the @code{UnicodeSyntax}
765@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
766language extension}. This extension enables Unicode characters to be used to
767stand for certain ASCII character sequences, i.e. → instead of @code{->},
768∀ instead of @code{forall} and many others.")
769 (license license:bsd-3)))
770
771(define-public ghc-bifunctors
772 (package
773 (name "ghc-bifunctors")
774 (version "5.5.3")
775 (source
776 (origin
777 (method url-fetch)
778 (uri (string-append
779 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
780 version
781 ".tar.gz"))
782 (sha256
783 (base32
784 "1jn9rxg643xnlhrknmjz88nblcpsr45xwjkwwnn5nxpasa7m4d6l"))))
785 (build-system haskell-build-system)
786 (inputs
787 `(("ghc-base-orphans" ,ghc-base-orphans)
788 ("ghc-comonad" ,ghc-comonad)
789 ("ghc-th-abstraction" ,ghc-th-abstraction)
790 ("ghc-transformers-compat" ,ghc-transformers-compat)
791 ("ghc-tagged" ,ghc-tagged)
792 ("ghc-semigroups" ,ghc-semigroups)))
793 (native-inputs
794 `(("ghc-hspec" ,ghc-hspec)
795 ("hspec-discover" ,hspec-discover)
796 ("ghc-quickcheck" ,ghc-quickcheck)))
797 (home-page "https://github.com/ekmett/bifunctors/")
798 (synopsis "Bifunctors for Haskell")
799 (description "This package provides bifunctors for Haskell.")
800 (license license:bsd-3)))
801
802(define-public ghc-bindings-dsl
803 (package
804 (name "ghc-bindings-dsl")
805 (version "1.0.25")
806 (source
807 (origin
808 (method url-fetch)
809 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
810 "bindings-DSL-" version ".tar.gz"))
811 (sha256
812 (base32
813 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
814 (build-system haskell-build-system)
815 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
816 (synopsis "FFI domain specific language, on top of hsc2hs")
817 (description
818 "This is a set of macros to be used when writing Haskell FFI. They were
819designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
820extract from them all Haskell code needed to mimic such interfaces. All
821Haskell names used are automatically derived from C names, structures are
822mapped to Haskell instances of @code{Storable}, and there are also macros you
823can use with C code to help write bindings to inline functions or macro
824functions.")
825 (license license:bsd-3)))
826
827(define-public ghc-blaze-builder
828 (package
829 (name "ghc-blaze-builder")
830 (version "0.4.1.0")
831 (source
832 (origin
833 (method url-fetch)
834 (uri (string-append
835 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
836 version
837 ".tar.gz"))
838 (sha256
839 (base32
840 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
841 (build-system haskell-build-system)
842 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
843 (inputs
844 `(("ghc-utf8-string" ,ghc-utf8-string)))
845 (home-page "https://github.com/lpsmith/blaze-builder")
846 (synopsis "Efficient buffered output")
847 (description "This library provides an implementation of the older
848@code{blaze-builder} interface in terms of the new builder that shipped with
849@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
850bridge to the new builder, so that code that uses the old interface can
851interoperate with code that uses the new implementation.")
852 (license license:bsd-3)))
853
854(define-public ghc-blaze-markup
855 (package
856 (name "ghc-blaze-markup")
857 (version "0.8.2.1")
858 (source
859 (origin
860 (method url-fetch)
861 (uri (string-append "https://hackage.haskell.org/package/"
862 "blaze-markup/blaze-markup-"
863 version ".tar.gz"))
864 (sha256
865 (base32
866 "0ih1c3qahkdgzbqihdhny5s313l2m66fbb88w8jbx7yz56y7rawh"))))
867 (build-system haskell-build-system)
868 (arguments
869 `(#:phases
870 (modify-phases %standard-phases
871 (add-before 'configure 'update-constraints
872 (lambda _
873 (substitute* "blaze-markup.cabal"
874 (("tasty >= 1\\.0 && < 1\\.1")
875 "tasty >= 1.0 && < 1.2")))))))
876 (inputs
877 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
878 (native-inputs
879 `(("ghc-hunit" ,ghc-hunit)
880 ("ghc-quickcheck" ,ghc-quickcheck)
881 ("ghc-tasty" ,ghc-tasty)
882 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
883 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
884 (home-page "https://jaspervdj.be/blaze")
885 (synopsis "Fast markup combinator library for Haskell")
886 (description "This library provides core modules of a markup combinator
887library for Haskell.")
888 (license license:bsd-3)))
889
890(define-public ghc-bloomfilter
891 (package
892 (name "ghc-bloomfilter")
893 (version "2.0.1.0")
894 (source
895 (origin
896 (method url-fetch)
897 (uri (string-append "https://hackage.haskell.org/package/"
898 "bloomfilter/bloomfilter-" version ".tar.gz"))
899 (sha256
900 (base32
901 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
902 (build-system haskell-build-system)
903 (native-inputs
904 `(("ghc-quickcheck" ,ghc-quickcheck)
905 ("ghc-random" ,ghc-random)
906 ("ghc-test-framework" ,ghc-test-framework)
907 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
908 (home-page "https://github.com/bos/bloomfilter")
909 (synopsis "Pure and impure Bloom filter implementations")
910 (description "This package provides both mutable and immutable Bloom
911filter data types, along with a family of hash functions and an easy-to-use
912interface.")
913 (license license:bsd-3)))
914
915(define-public ghc-boxes
916 (package
917 (name "ghc-boxes")
918 (version "0.1.5")
919 (source
920 (origin
921 (method url-fetch)
922 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
923 version ".tar.gz"))
924 (sha256
925 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
926 (build-system haskell-build-system)
927 (inputs
928 `(("ghc-split" ,ghc-split)
929 ("ghc-quickcheck" ,ghc-quickcheck)))
930 (home-page "https://hackage.haskell.org/package/boxes")
931 (synopsis "2D text pretty-printing library")
932 (description
933 "Boxes is a pretty-printing library for laying out text in two dimensions,
934using a simple box model.")
935 (license license:bsd-3)))
936
937(define-public ghc-byteable
938 (package
939 (name "ghc-byteable")
940 (version "0.1.1")
941 (source (origin
942 (method url-fetch)
943 (uri (string-append "https://hackage.haskell.org/package/"
944 "byteable/byteable-" version ".tar.gz"))
945 (sha256
946 (base32
947 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
948 (build-system haskell-build-system)
949 (home-page "https://github.com/vincenthz/hs-byteable")
950 (synopsis "Type class for sequence of bytes")
951 (description
952 "This package provides an abstract class to manipulate sequence of bytes.
953The use case of this class is abstracting manipulation of types that are just
954wrapping a bytestring with stronger and more meaniful name.")
955 (license license:bsd-3)))
956
957(define-public ghc-byteorder
958 (package
959 (name "ghc-byteorder")
960 (version "1.0.4")
961 (source
962 (origin
963 (method url-fetch)
964 (uri (string-append
965 "https://hackage.haskell.org/package/byteorder/byteorder-"
966 version
967 ".tar.gz"))
968 (sha256
969 (base32
970 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
971 (build-system haskell-build-system)
972 (home-page
973 "http://community.haskell.org/~aslatter/code/byteorder")
974 (synopsis
975 "Exposes the native endianness of the system")
976 (description
977 "This package is for working with the native byte-ordering of the
978system.")
979 (license license:bsd-3)))
980
981(define-public ghc-bytes
982 (package
983 (name "ghc-bytes")
984 (version "0.15.5")
985 (source
986 (origin
987 (method url-fetch)
988 (uri
989 (string-append "https://hackage.haskell.org/package/bytes-"
990 version "/bytes-"
991 version ".tar.gz"))
992 (file-name (string-append name "-" version ".tar.gz"))
993 (sha256
994 (base32
995 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
996 (build-system haskell-build-system)
997 (inputs `(("ghc-cereal" ,ghc-cereal)
998 ("cabal-doctest" ,cabal-doctest)
999 ("ghc-doctest" ,ghc-doctest)
1000 ("ghc-scientific" ,ghc-scientific)
1001 ("ghc-transformers-compat" ,ghc-transformers-compat)
1002 ("ghc-unordered-containers" ,ghc-unordered-containers)
1003 ("ghc-void" ,ghc-void)
1004 ("ghc-vector" ,ghc-vector)))
1005 (synopsis "Serialization between @code{binary} and @code{cereal}")
1006 (description "This package provides a simple compatibility shim that lets
1007you work with both @code{binary} and @code{cereal} with one chunk of
1008serialization code.")
1009 (home-page "https://hackage.haskell.org/package/bytes")
1010 (license license:bsd-3)))
1011
1012(define-public ghc-bytestring-builder
1013 (package
1014 (name "ghc-bytestring-builder")
13ac8a7f 1015 (version "0.10.8.2.0")
dddbc90c
RV
1016 (source
1017 (origin
1018 (method url-fetch)
1019 (uri (string-append
1020 "https://hackage.haskell.org/package/bytestring-builder"
1021 "/bytestring-builder-" version ".tar.gz"))
1022 (sha256
1023 (base32
13ac8a7f 1024 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1025 (build-system haskell-build-system)
1026 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1027 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1028 (synopsis "The new bytestring builder, packaged outside of GHC")
1029 (description "This package provides the bytestring builder that is
1030debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1031Compatibility package for older packages.")
1032 (license license:bsd-3)))
1033
1034(define-public ghc-bytestring-handle
1035 (package
1036 (name "ghc-bytestring-handle")
1037 (version "0.1.0.6")
1038 (source
1039 (origin
1040 (method url-fetch)
1041 (uri (string-append
1042 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1043 version ".tar.gz"))
1044 (sha256
1045 (base32
1046 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1047 (build-system haskell-build-system)
1048 (arguments
1049 `(#:phases
1050 (modify-phases %standard-phases
1051 (add-before 'configure 'update-constraints
1052 (lambda _
1053 (substitute* "bytestring-handle.cabal"
1054 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
1055 "QuickCheck >= 2.1.2 && < 2.12")
1056 (("base >= 4\\.2 && < 4\\.11")
1057 "base >= 4.2 && < 4.12")))))))
1058 (inputs
1059 `(("ghc-hunit" ,ghc-hunit)
1060 ("ghc-quickcheck" ,ghc-quickcheck)
1061 ("ghc-test-framework" ,ghc-test-framework)
1062 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1063 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1064 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1065 (synopsis "ByteString-backed Handles")
1066 (description "ByteString-backed Handles") ; There is no description
1067 (license license:bsd-3)))
1068
1069(define-public ghc-bytestring-lexing
1070 (package
1071 (name "ghc-bytestring-lexing")
1072 (version "0.5.0.2")
1073 (source
1074 (origin
1075 (method url-fetch)
1076 (uri (string-append "https://hackage.haskell.org/package/"
1077 "bytestring-lexing/bytestring-lexing-"
1078 version ".tar.gz"))
1079 (sha256
1080 (base32
1081 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1082 (build-system haskell-build-system)
1083 (home-page "http://code.haskell.org/~wren/")
1084 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1085 (description
1086 "This package provides tools to parse and produce literals efficiently
1087from strict or lazy bytestrings.")
1088 (license license:bsd-2)))
1089
1090(define-public ghc-bzlib-conduit
1091 (package
1092 (name "ghc-bzlib-conduit")
1093 (version "0.3.0.1")
1094 (source
1095 (origin
1096 (method url-fetch)
1097 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1098 "bzlib-conduit-" version ".tar.gz"))
1099 (sha256
1100 (base32
1101 "0fd2hnr782s7qgipazg2yxwia9qqhkvm9bcm90773c3zkxa13n23"))))
1102 (build-system haskell-build-system)
1103 (inputs
1104 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1105 ("ghc-conduit" ,ghc-conduit)
1106 ("ghc-data-default-class" ,ghc-data-default-class)
1107 ("ghc-resourcet" ,ghc-resourcet)))
1108 (native-inputs
1109 `(("ghc-hspec" ,ghc-hspec)
1110 ("ghc-random" ,ghc-random)))
1111 (home-page "https://github.com/snoyberg/bzlib-conduit")
1112 (synopsis "Streaming compression/decompression via conduits")
1113 (description
1114 "This package provides Haskell bindings to bzlib and Conduit support for
1115streaming compression and decompression.")
1116 (license license:bsd-3)))
1117
1118(define-public ghc-c2hs
1119 (package
1120 (name "ghc-c2hs")
1121 (version "0.28.6")
1122 (source
1123 (origin
1124 (method url-fetch)
1125 (uri (string-append
1126 "https://hackage.haskell.org/package/c2hs/c2hs-"
1127 version
1128 ".tar.gz"))
1129 (sha256
1130 (base32
1131 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1132 (build-system haskell-build-system)
1133 (inputs
1134 `(("ghc-language-c" ,ghc-language-c)
1135 ("ghc-dlist" ,ghc-dlist)))
1136 (native-inputs
1137 `(("ghc-test-framework" ,ghc-test-framework)
1138 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1139 ("ghc-hunit" ,ghc-hunit)
1140 ("ghc-shelly" ,ghc-shelly)
1141 ("gcc" ,gcc)))
1142 (arguments
1143 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1144 ;; of glibc 2.28.
1145 #:tests? #f
1146
1147 #:phases
1148 (modify-phases %standard-phases
1149 (add-before 'check 'set-cc
1150 ;; add a cc executable in the path, needed for some tests to pass
1151 (lambda* (#:key inputs #:allow-other-keys)
1152 (let ((gcc (assoc-ref inputs "gcc"))
1153 (tmpbin (tmpnam))
1154 (curpath (getenv "PATH")))
1155 (mkdir-p tmpbin)
1156 (symlink (which "gcc") (string-append tmpbin "/cc"))
1157 (setenv "PATH" (string-append tmpbin ":" curpath)))
1158 #t))
1159 (add-after 'check 'remove-cc
1160 ;; clean the tmp dir made in 'set-cc
1161 (lambda _
1162 (let* ((cc-path (which "cc"))
1163 (cc-dir (dirname cc-path)))
1164 (delete-file-recursively cc-dir)
1165 #t))))))
1166 (home-page "https://github.com/haskell/c2hs")
1167 (synopsis "Create Haskell bindings to C libraries")
1168 (description "C->Haskell assists in the development of Haskell bindings to
1169C libraries. It extracts interface information from C header files and
1170generates Haskell code with foreign imports and marshaling. Unlike writing
1171foreign imports by hand (or using hsc2hs), this ensures that C functions are
1172imported with the correct Haskell types.")
1173 (license license:gpl2)))
1174
1175(define-public ghc-cairo
1176 (package
1177 (name "ghc-cairo")
1178 (version "0.13.5.0")
1179 (source
1180 (origin
1181 (method url-fetch)
1182 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1183 "cairo-" version ".tar.gz"))
1184 (sha256
1185 (base32
1186 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1187 (build-system haskell-build-system)
1188 (arguments
1189 `(#:modules ((guix build haskell-build-system)
1190 (guix build utils)
1191 (ice-9 match)
1192 (srfi srfi-26))
1193 #:phases
1194 (modify-phases %standard-phases
1195 ;; FIXME: This is a copy of the standard configure phase with a tiny
1196 ;; difference: this package needs the -package-db flag to be passed
1197 ;; to "runhaskell" in addition to the "configure" action, because it
1198 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1199 ;; this option the Setup.hs file cannot be evaluated. The
1200 ;; haskell-build-system should be changed to pass "-package-db" to
1201 ;; "runhaskell" in any case.
1202 (replace 'configure
1203 (lambda* (#:key outputs inputs tests? (configure-flags '())
1204 #:allow-other-keys)
1205 (let* ((out (assoc-ref outputs "out"))
1206 (name-version (strip-store-file-name out))
1207 (input-dirs (match inputs
1208 (((_ . dir) ...)
1209 dir)
1210 (_ '())))
1211 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1212 (params (append `(,(string-append "--prefix=" out))
1213 `(,(string-append "--libdir=" out "/lib"))
1214 `(,(string-append "--bindir=" out "/bin"))
1215 `(,(string-append
1216 "--docdir=" out
1217 "/share/doc/" name-version))
1218 '("--libsubdir=$compiler/$pkg-$version")
1219 '("--package-db=../package.conf.d")
1220 '("--global")
1221 `(,@(map
1222 (cut string-append "--extra-include-dirs=" <>)
1223 (search-path-as-list '("include") input-dirs)))
1224 `(,@(map
1225 (cut string-append "--extra-lib-dirs=" <>)
1226 (search-path-as-list '("lib") input-dirs)))
1227 (if tests?
1228 '("--enable-tests")
1229 '())
1230 configure-flags)))
1231 (unsetenv "GHC_PACKAGE_PATH")
1232 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1233 "Setup.hs" "configure" params)
1234 (setenv "GHC_PACKAGE_PATH" ghc-path)
1235 #t))))))
1236 (inputs
1237 `(("ghc-utf8-string" ,ghc-utf8-string)
1238 ("cairo" ,cairo)))
1239 (native-inputs
1240 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1241 ("pkg-config" ,pkg-config)))
1242 (home-page "http://projects.haskell.org/gtk2hs/")
1243 (synopsis "Haskell bindings to the Cairo vector graphics library")
1244 (description
1245 "Cairo is a library to render high quality vector graphics. There exist
1246various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1247documents, amongst others.")
1248 (license license:bsd-3)))
1249
1250(define-public ghc-call-stack
1251 (package
1252 (name "ghc-call-stack")
1253 (version "0.1.0")
1254 (source
1255 (origin
1256 (method url-fetch)
1257 (uri (string-append "https://hackage.haskell.org/package/"
1258 "call-stack/call-stack-"
1259 version ".tar.gz"))
1260 (sha256
1261 (base32
1262 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1263 (build-system haskell-build-system)
1264 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1265 (home-page "https://github.com/sol/call-stack#readme")
1266 (synopsis "Use GHC call-stacks in a backward compatible way")
1267 (description "This package provides a compatibility layer for using GHC
1268call stacks with different versions of the compiler.")
1269 (license license:expat)))
1270
1271;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1272;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1273(define-public ghc-call-stack-boot
1274 (hidden-package
1275 (package
1276 (inherit ghc-call-stack)
1277 (arguments '(#:tests? #f))
1278 (inputs '()))))
1279
1280(define-public ghc-case-insensitive
1281 (package
1282 (name "ghc-case-insensitive")
1283 (version "1.2.0.11")
1284 (outputs '("out" "doc"))
1285 (source
1286 (origin
1287 (method url-fetch)
1288 (uri (string-append
1289 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1290 version
1291 ".tar.gz"))
1292 (sha256
1293 (base32
1294 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1295 (build-system haskell-build-system)
1296 ;; these inputs are necessary to use this library
1297 (inputs
1298 `(("ghc-hashable" ,ghc-hashable)))
1299 (arguments
1300 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1301 (home-page
1302 "https://github.com/basvandijk/case-insensitive")
1303 (synopsis "Case insensitive string comparison")
1304 (description
1305 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1306constructor which can be parameterised by a string-like type like:
1307@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1308the resulting type will be insensitive to cases.")
1309 (license license:bsd-3)))
1310
1311(define-public ghc-cereal
1312 (package
1313 (name "ghc-cereal")
1314 (version "0.5.7.0")
1315 (source
1316 (origin
1317 (method url-fetch)
1318 (uri (string-append
1319 "https://hackage.haskell.org/package/cereal/cereal-"
1320 version
1321 ".tar.gz"))
1322 (sha256
1323 (base32
1324 "1j7imh2mzqcljld7sx0av69699955rpy3hzivi5723i6a9nszgbs"))))
1325 (build-system haskell-build-system)
1326 (native-inputs
1327 `(("ghc-quickcheck" ,ghc-quickcheck)
1328 ("ghc-fail" ,ghc-fail)
1329 ("ghc-test-framework" ,ghc-test-framework)
1330 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1331 (home-page "https://hackage.haskell.org/package/cereal")
1332 (synopsis "Binary serialization library")
1333 (description "This package provides a binary serialization library,
1334similar to @code{binary}, that introduces an @code{isolate} primitive for
1335parser isolation, and labeled blocks for better error messages.")
1336 (license license:bsd-3)))
1337
1338(define-public ghc-cereal-conduit
1339 (package
1340 (name "ghc-cereal-conduit")
1341 (version "0.8.0")
1342 (source
1343 (origin
1344 (method url-fetch)
1345 (uri (string-append "https://hackage.haskell.org/package/"
1346 "cereal-conduit/cereal-conduit-"
1347 version ".tar.gz"))
1348 (sha256
1349 (base32
1350 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1351 (build-system haskell-build-system)
1352 (inputs
1353 `(("ghc-conduit" ,ghc-conduit)
1354 ("ghc-resourcet" ,ghc-resourcet)
1355 ("ghc-cereal" ,ghc-cereal)))
1356 (native-inputs
1357 `(("ghc-hunit" ,ghc-hunit)))
1358 (home-page "https://github.com/snoyberg/conduit")
1359 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1360 (description
1361 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1362@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1363 (license license:bsd-3)))
1364
1365(define-public ghc-cgi
1366 (package
1367 (name "ghc-cgi")
1368 (version "3001.3.0.2")
1369 (source
1370 (origin
1371 (method url-fetch)
1372 (uri (string-append
1373 "https://hackage.haskell.org/package/cgi/cgi-"
1374 version
1375 ".tar.gz"))
1376 (sha256
1377 (base32
1378 "1hbpplss1m4rdpm4ibip6fpimlhssqa14fl338kl2jbc463i64cj"))))
1379 (build-system haskell-build-system)
1380 (arguments
1381 `(#:phases
1382 (modify-phases %standard-phases
1383 (add-before 'configure 'update-constraints
1384 (lambda _
1385 (substitute* "cgi.cabal"
1386 (("exceptions < 0\\.9")
1387 "exceptions < 0.11")
1388 (("time >= 1\\.5 && < 1\\.7")
1389 "time >= 1.5 && < 1.9")
1390 (("doctest >= 0\\.8 && < 0\\.12")
1391 "doctest >= 0.8 && < 0.17")
1392 (("QuickCheck >= 2\\.8\\.1 && < 2\\.10")
1393 "QuickCheck >= 2.8.1 && < 2.12")))))))
1394 (inputs
1395 `(("ghc-exceptions" ,ghc-exceptions)
1396 ("ghc-multipart" ,ghc-multipart)
1397 ("ghc-network-uri" ,ghc-network-uri)
1398 ("ghc-network" ,ghc-network)))
1399 (native-inputs
1400 `(("ghc-doctest" ,ghc-doctest)
1401 ("ghc-quickcheck" ,ghc-quickcheck)))
1402 (home-page
1403 "https://github.com/cheecheeo/haskell-cgi")
1404 (synopsis "Library for writing CGI programs")
1405 (description
1406 "This is a Haskell library for writing CGI programs.")
1407 (license license:bsd-3)))
1408
1409(define-public ghc-charset
1410 (package
1411 (name "ghc-charset")
1412 (version "0.3.7.1")
1413 (source
1414 (origin
1415 (method url-fetch)
1416 (uri (string-append
1417 "https://hackage.haskell.org/package/charset/charset-"
1418 version
1419 ".tar.gz"))
1420 (sha256
1421 (base32
1422 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1423 (build-system haskell-build-system)
1424 (inputs
1425 `(("ghc-semigroups" ,ghc-semigroups)
1426 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1427 (home-page "https://github.com/ekmett/charset")
1428 (synopsis "Fast unicode character sets for Haskell")
1429 (description "This package provides fast unicode character sets for
1430Haskell, based on complemented PATRICIA tries.")
1431 (license license:bsd-3)))
1432
1433(define-public ghc-chart
1434 (package
1435 (name "ghc-chart")
1436 (version "1.9")
1437 (source
1438 (origin
1439 (method url-fetch)
1440 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1441 "Chart-" version ".tar.gz"))
1442 (sha256
1443 (base32
1444 "1f5azj17y8xsb3gjhf7gg1gnnlq12rxkmfjmgcly314d7vghs05z"))))
1445 (build-system haskell-build-system)
1446 (inputs
1447 `(("ghc-old-locale" ,ghc-old-locale)
1448 ("ghc-lens" ,ghc-lens)
1449 ("ghc-colour" ,ghc-colour)
1450 ("ghc-data-default-class" ,ghc-data-default-class)
1451 ("ghc-operational" ,ghc-operational)
1452 ("ghc-vector" ,ghc-vector)))
1453 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1454 (synopsis "Library for generating 2D charts and plots")
1455 (description
1456 "This package provides a library for generating 2D charts and plots, with
1457backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1458 (license license:bsd-3)))
1459
1460(define-public ghc-chart-cairo
1461 (package
1462 (name "ghc-chart-cairo")
1463 (version "1.9")
1464 (source
1465 (origin
1466 (method url-fetch)
1467 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1468 "Chart-cairo-" version ".tar.gz"))
1469 (sha256
1470 (base32
1471 "0iany6lfyfb1cw0pxfs5aw5k0a6x41m6ql9ad9w59biwdckbsyqr"))))
1472 (build-system haskell-build-system)
1473 (inputs
1474 `(("ghc-old-locale" ,ghc-old-locale)
1475 ("ghc-cairo" ,ghc-cairo)
1476 ("ghc-colour" ,ghc-colour)
1477 ("ghc-data-default-class" ,ghc-data-default-class)
1478 ("ghc-operational" ,ghc-operational)
1479 ("ghc-lens" ,ghc-lens)
1480 ("ghc-chart" ,ghc-chart)))
1481 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1482 (synopsis "Cairo backend for Charts")
1483 (description "This package provides a Cairo vector graphics rendering
1484backend for the Charts library.")
1485 (license license:bsd-3)))
1486
1487(define-public ghc-chasingbottoms
1488 (package
1489 (name "ghc-chasingbottoms")
1490 (version "1.3.1.4")
1491 (source
1492 (origin
1493 (method url-fetch)
1494 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1495 "ChasingBottoms-" version ".tar.gz"))
1496 (sha256
1497 (base32
1498 "06cynx6hcbfpky7qq3b3mjjgwbnaxkwin3znbwq4b9ikiw0ng633"))))
1499 (build-system haskell-build-system)
1500 (inputs
1501 `(("ghc-quickcheck" ,ghc-quickcheck)
1502 ("ghc-random" ,ghc-random)
1503 ("ghc-syb" ,ghc-syb)))
1504 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1505 (synopsis "Testing of partial and infinite values in Haskell")
1506 (description
1507 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1508 ;; rendered properly.
1509 "This is a library for testing code involving bottoms or infinite values.
1510For the underlying theory and a larger example involving use of QuickCheck,
1511see the article
1512@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1513\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1514Partial and Infinite Values\"}.")
1515 (license license:expat)))
1516
1517(define-public ghc-cheapskate
1518 (package
1519 (name "ghc-cheapskate")
1520 (version "0.1.1")
1521 (source
1522 (origin
1523 (method url-fetch)
1524 (uri (string-append
1525 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1526 version
1527 ".tar.gz"))
1528 (sha256
1529 (base32
1530 "1hiqi7h76shjzs2zj0j8g6wnq2hbiq1hmfafdazr97fba2zl2432"))))
1531 (build-system haskell-build-system)
1532 (inputs
1533 `(("ghc-blaze-html" ,ghc-blaze-html)
1534 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1535 ("ghc-data-default" ,ghc-data-default)
1536 ("ghc-syb" ,ghc-syb)
1537 ("ghc-uniplate" ,ghc-uniplate)))
1538 (home-page "https://github.com/jgm/cheapskate")
1539 (synopsis "Experimental markdown processor")
1540 (description "Cheapskate is an experimental Markdown processor in pure
1541Haskell. It aims to process Markdown efficiently and in the most forgiving
1542possible way. It is designed to deal with any input, including garbage, with
1543linear performance. Output is sanitized by default for protection against
1544cross-site scripting (@dfn{XSS}) attacks.")
1545 (license license:bsd-3)))
1546
1547(define-public ghc-chell
1548 (package
1549 (name "ghc-chell")
1550 (version "0.4.0.2")
1551 (source
1552 (origin
1553 (method url-fetch)
1554 (uri (string-append
1555 "https://hackage.haskell.org/package/chell/chell-"
1556 version ".tar.gz"))
1557 (sha256
1558 (base32
1559 "10ingy9qnbmc8cqh4i9pskcw43l0mzk8f3d76b3qz3fig5ary3j9"))))
1560 (build-system haskell-build-system)
1561 (inputs
1562 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1563 ("ghc-patience" ,ghc-patience)
1564 ("ghc-random" ,ghc-random)
1565 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1566 (home-page "https://john-millikin.com/software/chell/")
1567 (synopsis "Simple and intuitive library for automated testing")
1568 (description
1569 "Chell is a simple and intuitive library for automated testing.
1570It natively supports assertion-based testing, and can use companion
1571libraries such as @code{chell-quickcheck} to support more complex
1572testing strategies.")
1573 (license license:expat)))
1574
1575(define-public ghc-chell-quickcheck
1576 (package
1577 (name "ghc-chell-quickcheck")
1578 (version "0.2.5.1")
1579 (source
1580 (origin
1581 (method url-fetch)
1582 (uri (string-append
1583 "https://hackage.haskell.org/package/chell-quickcheck/"
1584 "chell-quickcheck-" version ".tar.gz"))
1585 (sha256
1586 (base32
1587 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
1588 (build-system haskell-build-system)
1589 (arguments
1590 `(#:phases
1591 (modify-phases %standard-phases
1592 (add-before 'configure 'update-constraints
1593 (lambda _
1594 (substitute* "chell-quickcheck.cabal"
1595 (("QuickCheck >= 2\\.3 && < 2\\.11")
1596 "QuickCheck >= 2.3 && < 2.12")))))))
1597 (inputs
1598 `(("ghc-chell" ,ghc-chell)
1599 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1600 ("ghc-random" ,ghc-random)
1601 ("ghc-quickcheck" ,ghc-quickcheck)))
1602 (home-page "https://john-millikin.com/software/chell/")
1603 (synopsis "QuickCheck support for the Chell testing library")
1604 (description "More complex tests for @code{chell}.")
1605 (license license:expat)))
1606
1607(define ghc-chell-quickcheck-bootstrap
1608 (package
1609 (name "ghc-chell-quickcheck-bootstrap")
1610 (version "0.2.5.1")
1611 (source
1612 (origin
1613 (method url-fetch)
1614 (uri (string-append
1615 "https://hackage.haskell.org/package/chell-quickcheck/"
1616 "chell-quickcheck-" version ".tar.gz"))
1617 (sha256
1618 (base32
1619 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
1620 (build-system haskell-build-system)
1621 (inputs
1622 `(("ghc-chell" ,ghc-chell)
1623 ("ghc-random" ,ghc-random)
1624 ("ghc-quickcheck" ,ghc-quickcheck)))
1625 (arguments
1626 `(#:tests? #f
1627 #:phases
1628 (modify-phases %standard-phases
1629 (add-before 'configure 'update-constraints
1630 (lambda _
1631 (substitute* "chell-quickcheck.cabal"
1632 (("QuickCheck >= 2\\.3 && < 2\\.11")
1633 "QuickCheck >= 2.3 && < 2.12")))))))
1634 (home-page "https://john-millikin.com/software/chell/")
1635 (synopsis "QuickCheck support for the Chell testing library")
1636 (description "More complex tests for @code{chell}.")
1637 (license license:expat)))
1638
1639(define-public ghc-chunked-data
1640 (package
1641 (name "ghc-chunked-data")
1642 (version "0.3.1")
1643 (source
1644 (origin
1645 (method url-fetch)
1646 (uri (string-append "https://hackage.haskell.org/package/"
1647 "chunked-data-" version "/"
1648 "chunked-data-" version ".tar.gz"))
1649 (sha256
1650 (base32
1651 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1652 (build-system haskell-build-system)
1653 (inputs `(("ghc-vector" ,ghc-vector)
1654 ("ghc-semigroups" ,ghc-semigroups)))
1655 (home-page "https://github.com/snoyberg/mono-traversable")
1656 (synopsis "Typeclasses for dealing with various chunked data
1657representations for Haskell")
1658 (description "This Haskell package was originally present in
1659classy-prelude.")
1660 (license license:expat)))
1661
1662(define-public ghc-clock
1663 (package
1664 (name "ghc-clock")
1665 (version "0.7.2")
1666 (source
1667 (origin
1668 (method url-fetch)
1669 (uri (string-append
1670 "https://hackage.haskell.org/package/"
1671 "clock/"
1672 "clock-" version ".tar.gz"))
1673 (sha256
1674 (base32 "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8"))))
1675 (build-system haskell-build-system)
1676 (inputs
1677 `(("ghc-tasty" ,ghc-tasty)
1678 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1679 (home-page "https://hackage.haskell.org/package/clock")
1680 (synopsis "High-resolution clock for Haskell")
1681 (description "A package for convenient access to high-resolution clock and
1682timer functions of different operating systems via a unified API.")
1683 (license license:bsd-3)))
1684
1685;; This package builds `clock` without tests, since the tests rely on tasty
1686;; and tasty-quickcheck, which in turn require clock to build.
1687(define-public ghc-clock-bootstrap
1688 (package
1689 (inherit ghc-clock)
1690 (name "ghc-clock-bootstrap")
1691 (arguments '(#:tests? #f))
1692 (inputs '())
1693 (properties '((hidden? #t)))))
1694
1695(define-public ghc-cmark
1696 (package
1697 (name "ghc-cmark")
1698 (version "0.5.6")
1699 (source (origin
1700 (method url-fetch)
1701 ;; XXX As of version 0.5.6, this package bundles libcmark 0.28.0.
1702 ;; See cbits/cmark_version.h.
1703 (uri (string-append "https://hackage.haskell.org/package/"
1704 "cmark/cmark-" version ".tar.gz"))
1705 (sha256
1706 (base32
1707 "1c1j3a8b9qx5zk9myqm3gap8ymz7fipwrdmyfsq9wkkdr9x4np45"))))
1708 (build-system haskell-build-system)
1709 (native-inputs
1710 `(("ghc-hunit" ,ghc-hunit)))
1711 (home-page "https://github.com/jgm/commonmark-hs")
1712 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1713 (description
1714 "This package provides Haskell bindings for
1715@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1716CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1717sources, and does not require prior installation of the C library.")
1718 (license license:bsd-3)))
1719
1720(define-public ghc-cmark-gfm
1721 (package
1722 (name "ghc-cmark-gfm")
1723 (version "0.1.5")
1724 (source
1725 (origin
1726 (method url-fetch)
1727 (uri (string-append "https://hackage.haskell.org/package/"
1728 "cmark-gfm/cmark-gfm-"
1729 version ".tar.gz"))
1730 (sha256
1731 (base32
1732 "13b0mqks5c1q989slgsa3ixr5vvkfyic4ynzgv00kgl5qrs7hqk7"))))
1733 (build-system haskell-build-system)
1734 (native-inputs
1735 `(("ghc-hunit" ,ghc-hunit)))
1736 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1737 (synopsis
1738 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1739 (description
1740 "This package provides Haskell bindings for libcmark-gfm, the reference
1741parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1742It includes sources for libcmark-gfm and does not require prior installation
1743of the C library.")
1744 (license license:bsd-3)))
1745
1746(define-public ghc-cmdargs
1747 (package
1748 (name "ghc-cmdargs")
1749 (version "0.10.20")
1750 (source
1751 (origin
1752 (method url-fetch)
1753 (uri (string-append
1754 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1755 version ".tar.gz"))
1756 (sha256
1757 (base32
1758 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1759 (build-system haskell-build-system)
1760 (home-page
1761 "http://community.haskell.org/~ndm/cmdargs/")
1762 (synopsis "Command line argument processing")
1763 (description
1764 "This library provides an easy way to define command line parsers.")
1765 (license license:bsd-3)))
1766
1767(define-public ghc-code-page
1768 (package
1769 (name "ghc-code-page")
f6bb6519 1770 (version "0.2")
dddbc90c
RV
1771 (source
1772 (origin
1773 (method url-fetch)
1774 (uri (string-append
1775 "https://hackage.haskell.org/package/code-page/code-page-"
1776 version ".tar.gz"))
1777 (sha256
1778 (base32
f6bb6519 1779 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1780 (build-system haskell-build-system)
1781 (home-page "https://github.com/RyanGlScott/code-page")
1782 (synopsis "Windows code page library for Haskell")
1783 (description "A cross-platform library with functions for adjusting
1784code pages on Windows. On all other operating systems, the library does
1785nothing.")
1786 (license license:bsd-3)))
1787
1788(define-public ghc-colour
1789(package
1790 (name "ghc-colour")
bc9d1af9 1791 (version "2.3.5")
dddbc90c
RV
1792 (source
1793 (origin
1794 (method url-fetch)
1795 (uri (string-append
1796 "https://hackage.haskell.org/package/colour/colour-"
1797 version ".tar.gz"))
1798 (sha256
1799 (base32
bc9d1af9 1800 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1801 (arguments
1802 ;; The tests for this package have the following dependency cycle:
1803 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1804 `(#:tests? #f))
1805 (build-system haskell-build-system)
1806 (home-page "https://www.haskell.org/haskellwiki/Colour")
1807 (synopsis "Model for human colour perception")
1808 (description
1809 "This package provides a data type for colours and transparency.
1810Colours can be blended and composed. Various colour spaces are
1811supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1812 (license license:expat)))
1813
1814(define-public ghc-comonad
1815 (package
1816 (name "ghc-comonad")
1817 (version "5.0.4")
1818 (source
1819 (origin
1820 (method url-fetch)
1821 (uri (string-append
1822 "https://hackage.haskell.org/package/comonad/comonad-"
1823 version
1824 ".tar.gz"))
1825 (sha256
1826 (base32
1827 "09g870c4flp4k3fgbibsd0mmfjani1qcpbcl685v8x89kxzrva3q"))))
1828 (build-system haskell-build-system)
1829 (native-inputs
1830 `(("cabal-doctest" ,cabal-doctest)
1831 ("ghc-doctest" ,ghc-doctest)))
1832 (inputs
1833 `(("ghc-contravariant" ,ghc-contravariant)
1834 ("ghc-distributive" ,ghc-distributive)
1835 ("ghc-semigroups" ,ghc-semigroups)
1836 ("ghc-tagged" ,ghc-tagged)
1837 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1838 (home-page "https://github.com/ekmett/comonad/")
1839 (synopsis "Comonads for Haskell")
1840 (description "This library provides @code{Comonad}s for Haskell.")
1841 (license license:bsd-3)))
1842
1843(define-public ghc-concatenative
1844 (package
1845 (name "ghc-concatenative")
1846 (version "1.0.1")
1847 (source (origin
1848 (method url-fetch)
1849 (uri (string-append
1850 "https://hackage.haskell.org/package/concatenative/concatenative-"
1851 version ".tar.gz"))
1852 (sha256
1853 (base32
1854 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1855 (build-system haskell-build-system)
1856 (home-page
1857 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1858 (synopsis "Library for postfix control flow")
1859 (description
1860 "Concatenative gives Haskell Factor-style combinators and arrows for
1861postfix notation. For more information on stack based languages, see
1862@uref{https://concatenative.org}.")
1863 (license license:bsd-3)))
1864
1865(define-public ghc-concurrent-extra
1866 (package
1867 (name "ghc-concurrent-extra")
1868 (version "0.7.0.12")
1869 (source
1870 (origin
1871 (method url-fetch)
1872 (uri (string-append "https://hackage.haskell.org/package/"
1873 "concurrent-extra/concurrent-extra-"
1874 version ".tar.gz"))
1875 (sha256
1876 (base32
1877 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
1878 (build-system haskell-build-system)
1879 (arguments
1880 ;; XXX: The ReadWriteLock 'stressTest' fails.
1881 `(#:tests? #f))
1882 (inputs
1883 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
1884 (native-inputs
1885 `(("ghc-async" ,ghc-async)
1886 ("ghc-hunit" ,ghc-hunit)
1887 ("ghc-random" ,ghc-random)
1888 ("ghc-test-framework" ,ghc-test-framework)
1889 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
1890 (home-page "https://github.com/basvandijk/concurrent-extra")
1891 (synopsis "Extra concurrency primitives")
1892 (description "This Haskell library offers (among other things) the
1893following selection of synchronisation primitives:
1894
1895@itemize
1896@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
1897@item @code{Event}: Wake multiple threads by signalling an event.
1898@item @code{Lock}: Enforce exclusive access to a resource. Also known
1899as a binary semaphore or mutex. The package additionally provides an
1900alternative that works in the STM monad.
1901@item @code{RLock}: A lock which can be acquired multiple times by the
1902same thread. Also known as a reentrant mutex.
1903@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
1904to protect shared resources which may be concurrently read, but only
1905sequentially written.
1906@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
1907@end itemize
1908
1909Please consult the API documentation of the individual modules for more
1910detailed information.
1911
1912This package was inspired by the concurrency libraries of Java and
1913Python.")
1914 (license license:bsd-3)))
1915
1916(define-public ghc-concurrent-output
1917 (package
1918 (name "ghc-concurrent-output")
1919 (version "1.10.9")
1920 (source
1921 (origin
1922 (method url-fetch)
1923 (uri (string-append
1924 "mirror://hackage/package/concurrent-output/concurrent-output-"
1925 version
1926 ".tar.gz"))
1927 (sha256
1928 (base32
1929 "0mwf155w89nbbkjln7hhbn8k3f8p0ylcvgrg31cm7ijpx4499i4c"))))
1930 (build-system haskell-build-system)
1931 (inputs
1932 `(("ghc-async" ,ghc-async)
1933 ("ghc-exceptions" ,ghc-exceptions)
1934 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1935 ("ghc-terminal-size" ,ghc-terminal-size)))
1936 (home-page
1937 "https://hackage.haskell.org/package/concurrent-output")
1938 (synopsis
1939 "Ungarble output from several threads or commands")
1940 (description
1941 "Lets multiple threads and external processes concurrently output to the
1942console, without it getting all garbled up.
1943
1944Built on top of that is a way of defining multiple output regions, which are
1945automatically laid out on the screen and can be individually updated by
1946concurrent threads. Can be used for progress displays etc.")
1947 (license license:bsd-2)))
1948
1949(define-public ghc-conduit
1950 (package
1951 (name "ghc-conduit")
1952 (version "1.3.0.3")
1953 (source (origin
1954 (method url-fetch)
1955 (uri (string-append "https://hackage.haskell.org/package/"
1956 "conduit/conduit-" version ".tar.gz"))
1957 (sha256
1958 (base32
1959 "1sangm0qqi9dzlq95746a3kl14k8b09592a423shxjf2a0b1yx5v"))))
1960 (build-system haskell-build-system)
1961 (inputs
1962 `(("ghc-exceptions" ,ghc-exceptions)
1963 ("ghc-lifted-base" ,ghc-lifted-base)
1964 ("ghc-mono-traversable" ,ghc-mono-traversable)
1965 ("ghc-mmorph" ,ghc-mmorph)
1966 ("ghc-resourcet" ,ghc-resourcet)
1967 ("ghc-silently" ,ghc-silently)
1968 ("ghc-transformers-base" ,ghc-transformers-base)
1969 ("ghc-unliftio" ,ghc-unliftio)
1970 ("ghc-unliftio-core" ,ghc-unliftio-core)
1971 ("ghc-vector" ,ghc-vector)
1972 ("ghc-void" ,ghc-void)))
1973 (native-inputs
1974 `(("ghc-quickcheck" ,ghc-quickcheck)
1975 ("ghc-hspec" ,ghc-hspec)
1976 ("ghc-safe" ,ghc-safe)
1977 ("ghc-split" ,ghc-split)))
1978 (home-page "https://github.com/snoyberg/conduit")
1979 (synopsis "Streaming data library ")
1980 (description
1981 "The conduit package is a solution to the streaming data problem,
1982allowing for production, transformation, and consumption of streams of data
1983in constant memory. It is an alternative to lazy I/O which guarantees
1984deterministic resource handling, and fits in the same general solution
1985space as enumerator/iteratee and pipes.")
1986 (license license:expat)))
1987
1988(define-public ghc-conduit-algorithms
1989 (package
1990 (name "ghc-conduit-algorithms")
1991 (version "0.0.8.1")
1992 (source
1993 (origin
1994 (method url-fetch)
1995 (uri (string-append "https://hackage.haskell.org/package/"
1996 "conduit-algorithms/conduit-algorithms-"
1997 version ".tar.gz"))
1998 (sha256
1999 (base32
2000 "07gx2q3d1bbfw14q41rmqg0i4m018pci10lswc0k1ij6lw7sb9fd"))))
2001 (build-system haskell-build-system)
2002 (inputs
2003 `(("ghc-async" ,ghc-async)
2004 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2005 ("ghc-conduit" ,ghc-conduit)
2006 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2007 ("ghc-conduit-extra" ,ghc-conduit-extra)
2008 ("ghc-exceptions" ,ghc-exceptions)
2009 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2010 ("ghc-monad-control" ,ghc-monad-control)
2011 ("ghc-pqueue" ,ghc-pqueue)
2012 ("ghc-resourcet" ,ghc-resourcet)
2013 ("ghc-stm-conduit" ,ghc-stm-conduit)
2014 ("ghc-streaming-commons" ,ghc-streaming-commons)
2015 ("ghc-unliftio-core" ,ghc-unliftio-core)
2016 ("ghc-vector" ,ghc-vector)))
2017 (native-inputs
2018 `(("ghc-hunit" ,ghc-hunit)
2019 ("ghc-test-framework" ,ghc-test-framework)
2020 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2021 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2022 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2023 (synopsis "Conduit-based algorithms")
2024 (description
2025 "This package provides algorithms on @code{Conduits}, including higher
2026level asynchronous processing and some other utilities.")
2027 (license license:expat)))
2028
2029(define-public ghc-conduit-combinators
2030 (package
2031 (name "ghc-conduit-combinators")
2032 (version "1.3.0")
2033 (source
2034 (origin
2035 (method url-fetch)
2036 (uri (string-append "https://hackage.haskell.org/package/"
2037 "conduit-combinators-" version "/"
2038 "conduit-combinators-" version ".tar.gz"))
2039 (sha256
2040 (base32
2041 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2042 (build-system haskell-build-system)
2043 (inputs `(("ghc-conduit" ,ghc-conduit)
2044 ("ghc-conduit-extra" ,ghc-conduit-extra)
2045 ("ghc-transformers-base" ,ghc-transformers-base)
2046 ("ghc-primitive" ,ghc-primitive)
2047 ("ghc-vector" ,ghc-vector)
2048 ("ghc-void" ,ghc-void)
2049 ("ghc-mwc-random" ,ghc-mwc-random)
2050 ("ghc-unix-compat" ,ghc-unix-compat)
2051 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2052 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2053 ("ghc-resourcet" ,ghc-resourcet)
2054 ("ghc-monad-control" ,ghc-monad-control)
2055 ("ghc-chunked-data" ,ghc-chunked-data)
2056 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2057 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2058 ("ghc-silently" ,ghc-silently)
2059 ("ghc-safe" ,ghc-safe)
2060 ("ghc-quickcheck" ,ghc-quickcheck)))
2061 (home-page "https://github.com/snoyberg/mono-traversable")
2062 (synopsis "Commonly used conduit functions, for both chunked and
2063unchunked data")
2064 (description "This Haskell package provides a replacement for Data.Conduit.List,
2065as well as a convenient Conduit module.")
2066 (license license:expat)))
2067
2068(define-public ghc-conduit-extra
2069 (package
2070 (name "ghc-conduit-extra")
2071 (version "1.3.1.1")
2072 (source
2073 (origin
2074 (method url-fetch)
2075 (uri (string-append "https://hackage.haskell.org/package/"
2076 "conduit-extra/conduit-extra-"
2077 version ".tar.gz"))
2078 (sha256
2079 (base32
2080 "0jaj350vv6mbb26gdwcqz4gwzfzrjydv5pis2da49wz1npbakcfw"))))
2081 (build-system haskell-build-system)
2082 (inputs
2083 `(("ghc-conduit" ,ghc-conduit)
2084 ("ghc-exceptions" ,ghc-exceptions)
2085 ("ghc-monad-control" ,ghc-monad-control)
2086 ("ghc-transformers-base" ,ghc-transformers-base)
2087 ("ghc-typed-process" ,ghc-typed-process)
2088 ("ghc-async" ,ghc-async)
2089 ("ghc-attoparsec" ,ghc-attoparsec)
2090 ("ghc-blaze-builder" ,ghc-blaze-builder)
2091 ("ghc-network" ,ghc-network)
2092 ("ghc-primitive" ,ghc-primitive)
2093 ("ghc-resourcet" ,ghc-resourcet)
2094 ("ghc-streaming-commons" ,ghc-streaming-commons)
2095 ("ghc-hspec" ,ghc-hspec)
2096 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2097 ("ghc-quickcheck" ,ghc-quickcheck)))
2098 (native-inputs
2099 `(("hspec-discover" ,hspec-discover)))
2100 (home-page "https://github.com/snoyberg/conduit")
2101 (synopsis "Conduit adapters for common libraries")
2102 (description
2103 "The @code{conduit} package itself maintains relative small dependencies.
2104The purpose of this package is to collect commonly used utility functions
2105wrapping other library dependencies, without depending on heavier-weight
2106dependencies. The basic idea is that this package should only depend on
2107@code{haskell-platform} packages and @code{conduit}.")
2108 (license license:expat)))
2109
2110(define-public ghc-configurator
2111 (package
2112 (name "ghc-configurator")
2113 (version "0.3.0.0")
2114 (source
2115 (origin
2116 (method url-fetch)
2117 (uri (string-append "https://hackage.haskell.org/package/"
2118 "configurator/configurator-"
2119 version ".tar.gz"))
2120 (sha256
2121 (base32
2122 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2123 (build-system haskell-build-system)
2124 (inputs
2125 `(("ghc-attoparsec" ,ghc-attoparsec)
2126 ("ghc-hashable" ,ghc-hashable)
2127 ("ghc-unix-compat" ,ghc-unix-compat)
2128 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2129 (native-inputs
2130 `(("ghc-hunit" ,ghc-hunit)
2131 ("ghc-test-framework" ,ghc-test-framework)
2132 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2133 (home-page "http://github.com/bos/configurator")
2134 (synopsis "Configuration management")
2135 (description
2136 "This package provides a configuration management library for programs
2137and daemons. The features include:
2138
2139@enumerate
2140@item Automatic, dynamic reloading in response to modifications to
2141 configuration files.
2142@item A simple, but flexible, configuration language, supporting several of
2143 the most commonly needed types of data, along with interpolation of strings
2144 from the configuration or the system environment (e.g. @code{$(HOME)}).
2145@item Subscription-based notification of changes to configuration properties.
2146@item An @code{import} directive allows the configuration of a complex
2147 application to be split across several smaller files, or common configuration
2148 data to be shared across several applications.
2149@end enumerate\n")
2150 (license license:bsd-3)))
2151
2152(define-public ghc-connection
2153 (package
2154 (name "ghc-connection")
2155 (version "0.2.8")
2156 (source (origin
2157 (method url-fetch)
2158 (uri (string-append "https://hackage.haskell.org/package/"
2159 "connection/connection-"
2160 version ".tar.gz"))
2161 (sha256
2162 (base32
2163 "1swkb9w5vx9ph7x55y51dc0srj2z27nd9ibgn8c0qcl6hx7g9cbh"))))
2164 (build-system haskell-build-system)
2165 (inputs
2166 `(("ghc-byteable" ,ghc-byteable)
2167 ("ghc-data-default-class" ,ghc-data-default-class)
2168 ("ghc-network" ,ghc-network)
2169 ("ghc-tls" ,ghc-tls)
2170 ("ghc-socks" ,ghc-socks)
2171 ("ghc-x509" ,ghc-x509)
2172 ("ghc-x509-store" ,ghc-x509-store)
2173 ("ghc-x509-system" ,ghc-x509-system)
2174 ("ghc-x509-validation" ,ghc-x509-validation)))
2175 (home-page "https://github.com/vincenthz/hs-connection")
2176 (synopsis "Simple and easy network connections API")
2177 (description
2178 "This package provides a simple network library for all your connection
2179needs. It provides a very simple API to create sockets to a destination with
2180the choice of SSL/TLS, and SOCKS.")
2181 (license license:bsd-3)))
2182
2183(define-public ghc-constraints
2184 (package
2185 (name "ghc-constraints")
2186 (version "0.10.1")
2187 (source
2188 (origin
2189 (method url-fetch)
2190 (uri (string-append
2191 "https://hackage.haskell.org/package/constraints/constraints-"
2192 version ".tar.gz"))
2193 (sha256
2194 (base32
2195 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2196 (build-system haskell-build-system)
2197 (inputs
2198 `(("ghc-hashable" ,ghc-hashable)
2199 ("ghc-semigroups" ,ghc-semigroups)
2200 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2201 (native-inputs
2202 `(("ghc-hspec" ,ghc-hspec)
2203 ("hspec-discover" ,hspec-discover)))
2204 (home-page "https://github.com/ekmett/constraints/")
2205 (synopsis "Constraint manipulation")
2206 (description
2207 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2208They stopped crashing the compiler in GHC 7.6. This package provides
2209a vocabulary for working with them.")
2210 (license license:bsd-3)))
2211
2212(define-public ghc-contravariant
2213 (package
2214 (name "ghc-contravariant")
2215 (version "1.4.1")
2216 (source
2217 (origin
2218 (method url-fetch)
2219 (uri (string-append
2220 "https://hackage.haskell.org/package/contravariant/contravariant-"
2221 version
2222 ".tar.gz"))
2223 (sha256
2224 (base32
2225 "1vfhk8c5cxmmakx7rflap1ipkx5q0j5vnlrcz7yz6y53kxhksgf9"))))
2226 (build-system haskell-build-system)
2227 (inputs
2228 `(("ghc-void" ,ghc-void)
2229 ("ghc-transformers-compat" ,ghc-transformers-compat)
2230 ("ghc-statevar" ,ghc-statevar)
2231 ("ghc-semigroups" ,ghc-semigroups)))
2232 (home-page
2233 "https://github.com/ekmett/contravariant/")
2234 (synopsis "Contravariant functors")
2235 (description "Contravariant functors for Haskell.")
2236 (license license:bsd-3)))
2237
2238(define-public ghc-contravariant-extras
2239 (package
2240 (name "ghc-contravariant-extras")
2241 (version "0.3.4")
2242 (source
2243 (origin
2244 (method url-fetch)
2245 (uri (string-append "https://hackage.haskell.org/package/"
2246 "contravariant-extras-" version "/"
2247 "contravariant-extras-" version ".tar.gz"))
2248 (sha256
2249 (base32
2250 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2251 (build-system haskell-build-system)
2252 (inputs
2253 `(("ghc-tuple-th" ,ghc-tuple-th)
2254 ("ghc-contravariant" ,ghc-contravariant)
2255 ("ghc-base-prelude" ,ghc-base-prelude)
2256 ("ghc-semigroups" ,ghc-semigroups)))
2257 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2258 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2259 (description "This Haskell package provides extras for the
2260@code{ghc-contravariant} package.")
2261 (license license:expat)))
2262
2263(define-public ghc-convertible
2264 (package
2265 (name "ghc-convertible")
2266 (version "1.1.1.0")
2267 (source
2268 (origin
2269 (method url-fetch)
2270 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2271 "convertible-" version ".tar.gz"))
2272 (sha256
2273 (base32
2274 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2275 (build-system haskell-build-system)
2276 (inputs
2277 `(("ghc-old-time" ,ghc-old-time)
2278 ("ghc-old-locale" ,ghc-old-locale)))
2279 (home-page "https://hackage.haskell.org/package/convertible")
2280 (synopsis "Typeclasses and instances for converting between types")
2281 (description
2282 "This package provides a typeclass with a single function that is
2283designed to help convert between different types: numeric values, dates and
2284times, and the like. The conversions perform bounds checking and return a
2285pure @code{Either} value. This means that you need not remember which specific
2286function performs the conversion you desire.")
2287 (license license:bsd-3)))
2288
2289(define-public ghc-data-accessor
2290 (package
2291 (name "ghc-data-accessor")
6dcca515 2292 (version "0.2.2.8")
dddbc90c
RV
2293 (source
2294 (origin
2295 (method url-fetch)
2296 (uri (string-append
2297 "mirror://hackage/package/data-accessor/data-accessor-"
2298 version ".tar.gz"))
2299 (sha256
6dcca515 2300 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2301 (build-system haskell-build-system)
2302 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2303 (synopsis
2304 "Haskell utilities for accessing and manipulating fields of records")
2305 (description "This package provides Haskell modules for accessing and
2306manipulating fields of records.")
2307 (license license:bsd-3)))
2308
2309(define-public ghc-data-accessor-transformers
2310 (package
2311 (name "ghc-data-accessor-transformers")
2312 (version "0.2.1.7")
2313 (source
2314 (origin
2315 (method url-fetch)
2316 (uri (string-append
2317 "mirror://hackage/package/data-accessor-transformers/"
2318 "data-accessor-transformers-" version ".tar.gz"))
2319 (sha256
2320 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2321 (build-system haskell-build-system)
2322 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2323 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2324 (synopsis "Use Accessor to access state in transformers State monad")
2325 (description "This package provides Haskell modules to allow use of
2326Accessor to access state in transformers State monad.")
2327 (license license:bsd-3)))
2328
2329(define-public ghc-data-default
2330 (package
2331 (name "ghc-data-default")
2332 (version "0.7.1.1")
2333 (source
2334 (origin
2335 (method url-fetch)
2336 (uri (string-append
2337 "https://hackage.haskell.org/package/data-default/data-default-"
2338 version
2339 ".tar.gz"))
2340 (sha256
2341 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2342 (build-system haskell-build-system)
2343 (inputs
2344 `(("ghc-data-default-class"
2345 ,ghc-data-default-class)
2346 ("ghc-data-default-instances-base"
2347 ,ghc-data-default-instances-base)
2348 ("ghc-data-default-instances-containers"
2349 ,ghc-data-default-instances-containers)
2350 ("ghc-data-default-instances-dlist"
2351 ,ghc-data-default-instances-dlist)
2352 ("ghc-data-default-instances-old-locale"
2353 ,ghc-data-default-instances-old-locale)))
2354 (home-page "https://hackage.haskell.org/package/data-default")
2355 (synopsis "Types with default values")
2356 (description
2357 "This package defines a class for types with a default value, and
2358provides instances for types from the base, containers, dlist and old-locale
2359packages.")
2360 (license license:bsd-3)))
2361
2362(define-public ghc-data-default-class
2363 (package
2364 (name "ghc-data-default-class")
2365 (version "0.1.2.0")
2366 (source
2367 (origin
2368 (method url-fetch)
2369 (uri (string-append
2370 "https://hackage.haskell.org/package/data-default-class/"
2371 "data-default-class-" version ".tar.gz"))
2372 (sha256
2373 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2374 (build-system haskell-build-system)
2375 (home-page "https://hackage.haskell.org/package/data-default-class")
2376 (synopsis "Types with default values")
2377 (description
2378 "This package defines a class for types with default values.")
2379 (license license:bsd-3)))
2380
2381(define-public ghc-data-default-instances-base
2382 (package
2383 (name "ghc-data-default-instances-base")
2384 (version "0.1.0.1")
2385 (source
2386 (origin
2387 (method url-fetch)
2388 (uri (string-append
2389 "https://hackage.haskell.org/package/"
2390 "data-default-instances-base/"
2391 "data-default-instances-base-" version ".tar.gz"))
2392 (sha256
2393 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2394 (build-system haskell-build-system)
2395 (inputs
2396 `(("ghc-data-default-class" ,ghc-data-default-class)))
2397 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2398 (synopsis "Default instances for types in base")
2399 (description
2400 "This package provides default instances for types from the base
2401package.")
2402 (license license:bsd-3)))
2403
2404(define-public ghc-data-default-instances-containers
2405 (package
2406 (name "ghc-data-default-instances-containers")
2407 (version "0.0.1")
2408 (source
2409 (origin
2410 (method url-fetch)
2411 (uri (string-append
2412 "https://hackage.haskell.org/package/"
2413 "data-default-instances-containers/"
2414 "data-default-instances-containers-" version ".tar.gz"))
2415 (sha256
2416 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2417 (build-system haskell-build-system)
2418 (inputs
2419 `(("ghc-data-default-class" ,ghc-data-default-class)))
2420 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2421 (synopsis "Default instances for types in containers")
2422 (description "Provides default instances for types from the containers
2423package.")
2424 (license license:bsd-3)))
2425
2426(define-public ghc-data-default-instances-dlist
2427 (package
2428 (name "ghc-data-default-instances-dlist")
2429 (version "0.0.1")
2430 (source
2431 (origin
2432 (method url-fetch)
2433 (uri (string-append
2434 "https://hackage.haskell.org/package/"
2435 "data-default-instances-dlist/"
2436 "data-default-instances-dlist-" version ".tar.gz"))
2437 (sha256
2438 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2439 (build-system haskell-build-system)
2440 (inputs
2441 `(("ghc-data-default-class" ,ghc-data-default-class)
2442 ("ghc-dlist" ,ghc-dlist)))
2443 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2444 (synopsis "Default instances for types in dlist")
2445 (description "Provides default instances for types from the dlist
2446package.")
2447 (license license:bsd-3)))
2448
2449(define-public ghc-data-default-instances-old-locale
2450 (package
2451 (name "ghc-data-default-instances-old-locale")
2452 (version "0.0.1")
2453 (source
2454 (origin
2455 (method url-fetch)
2456 (uri (string-append
2457 "https://hackage.haskell.org/package/"
2458 "data-default-instances-old-locale/"
2459 "data-default-instances-old-locale-" version ".tar.gz"))
2460 (sha256
2461 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2462 (build-system haskell-build-system)
2463 (inputs
2464 `(("ghc-data-default-class" ,ghc-data-default-class)
2465 ("ghc-old-locale" ,ghc-old-locale)))
2466 (home-page
2467 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2468 (synopsis "Default instances for types in old-locale")
2469 (description "Provides Default instances for types from the old-locale
2470 package.")
2471 (license license:bsd-3)))
2472
2473(define-public ghc-data-hash
2474 (package
2475 (name "ghc-data-hash")
2476 (version "0.2.0.1")
2477 (source
2478 (origin
2479 (method url-fetch)
2480 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2481 "/data-hash-" version ".tar.gz"))
2482 (sha256
2483 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2484 (build-system haskell-build-system)
2485 (inputs
2486 `(("ghc-quickcheck" ,ghc-quickcheck)
2487 ("ghc-test-framework" ,ghc-test-framework)
2488 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2489 (home-page "https://hackage.haskell.org/package/data-hash")
2490 (synopsis "Combinators for building fast hashing functions")
2491 (description
2492 "This package provides combinators for building fast hashing functions.
2493It includes hashing functions for all basic Haskell98 types.")
2494 (license license:bsd-3)))
2495
2496(define-public ghc-data-ordlist
2497 (package
2498 (name "ghc-data-ordlist")
2499 (version "0.4.7.0")
2500 (source
2501 (origin
2502 (method url-fetch)
2503 (uri (string-append
2504 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2505 version ".tar.gz"))
2506 (sha256
2507 (base32
2508 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2509 (build-system haskell-build-system)
2510 (home-page "https://hackage.haskell.org/package/data-ordlist")
2511 (synopsis "Set and bag operations on ordered lists")
2512 (description
2513 "This module provides set and multiset operations on ordered lists.")
2514 (license license:bsd-3)))
2515
2516(define-public ghc-deepseq-generics
2517 (package
2518 (name "ghc-deepseq-generics")
2519 (version "0.2.0.0")
2520 (source (origin
2521 (method url-fetch)
2522 (uri (string-append "https://hackage.haskell.org/package/"
2523 "deepseq-generics/deepseq-generics-"
2524 version ".tar.gz"))
2525 (sha256
2526 (base32
2527 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2528 (build-system haskell-build-system)
2529 (arguments
2530 `(#:cabal-revision
2531 ("2" "1pnidf8w8x0w5fsqgv8hhrw07slmhxwy5x4fikgk0bd6k76aqicb")))
2532 (native-inputs
2533 `(("ghc-hunit" ,ghc-hunit)
2534 ("ghc-test-framework" ,ghc-test-framework)
2535 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2536 (home-page "https://github.com/hvr/deepseq-generics")
2537 (synopsis "Generic RNF implementation")
2538 (description
2539 "This package provides a @code{GHC.Generics}-based
2540@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2541providing an @code{rnf} implementation.")
2542 (license license:bsd-3)))
2543
2544(define-public ghc-descriptive
2545 (package
2546 (name "ghc-descriptive")
2547 (version "0.9.5")
2548 (source
2549 (origin
2550 (method url-fetch)
2551 (uri (string-append
2552 "https://hackage.haskell.org/package/descriptive/descriptive-"
2553 version
2554 ".tar.gz"))
2555 (sha256
2556 (base32
2557 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2558 (build-system haskell-build-system)
2559 (inputs
2560 `(("ghc-aeson" ,ghc-aeson)
2561 ("ghc-bifunctors" ,ghc-bifunctors)
2562 ("ghc-scientific" ,ghc-scientific)
2563 ("ghc-vector" ,ghc-vector)))
2564 (native-inputs
2565 `(("ghc-hunit" ,ghc-hunit)
2566 ("ghc-hspec" ,ghc-hspec)))
2567 (home-page
2568 "https://github.com/chrisdone/descriptive")
2569 (synopsis
2570 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2571 (description
2572 "This package provides datatypes and functions for creating consumers
2573and parsers with useful semantics.")
2574 (license license:bsd-3)))
2575
2576(define-public ghc-diff
2577 (package
2578 (name "ghc-diff")
2579 (version "0.3.4")
2580 (source (origin
2581 (method url-fetch)
2582 (uri (string-append "https://hackage.haskell.org/package/"
2583 "Diff/Diff-" version ".tar.gz"))
2584 (sha256
2585 (base32
2586 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
2587 (build-system haskell-build-system)
2588 (native-inputs
2589 `(("ghc-quickcheck" ,ghc-quickcheck)
2590 ("ghc-test-framework" ,ghc-test-framework)
2591 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2592 (home-page "https://hub.darcs.net/sterlingclover/Diff")
2593 (synopsis "O(ND) diff algorithm in Haskell")
2594 (description
2595 "This package provides an implementation of the standard diff algorithm,
2596and utilities for pretty printing.")
2597 (license license:bsd-3)))
2598
2599(define-public ghc-disk-free-space
2600 (package
2601 (name "ghc-disk-free-space")
2602 (version "0.1.0.1")
2603 (source
2604 (origin
2605 (method url-fetch)
2606 (uri (string-append "https://hackage.haskell.org/package/"
2607 "disk-free-space/disk-free-space-"
2608 version ".tar.gz"))
2609 (sha256
2610 (base32
2611 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
2612 (build-system haskell-build-system)
2613 (home-page "https://github.com/redneb/disk-free-space")
2614 (synopsis "Retrieve information about disk space usage")
2615 (description "A cross-platform library for retrieving information about
2616disk space usage.")
2617 (license license:bsd-3)))
2618
2619(define-public ghc-distributive
2620 (package
2621 (name "ghc-distributive")
2622 (version "0.5.3")
2623 (source
2624 (origin
2625 (method url-fetch)
2626 (uri (string-append
2627 "https://hackage.haskell.org/package/distributive/distributive-"
2628 version
2629 ".tar.gz"))
2630 (sha256
2631 (base32
2632 "0y566r97sfyvhsmd4yxiz4ns2mqgwf5bdbp56wgxl6wlkidq0wwi"))))
2633 (build-system haskell-build-system)
2634 (arguments
2635 `(#:cabal-revision
2636 ("6" "06bd38rf31yrvvy989r44pm0id3dsxwcp6nxg7wk6ccj3n2b8rzk")))
2637 (inputs
2638 `(("ghc-tagged" ,ghc-tagged)
2639 ("ghc-base-orphans" ,ghc-base-orphans)
2640 ("ghc-transformers-compat" ,ghc-transformers-compat)
2641 ("ghc-semigroups" ,ghc-semigroups)
2642 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2643 (native-inputs
2644 `(("cabal-doctest" ,cabal-doctest)
2645 ("ghc-doctest" ,ghc-doctest)
2646 ("ghc-hspec" ,ghc-hspec)
2647 ("hspec-discover" ,hspec-discover)))
2648 (home-page "https://github.com/ekmett/distributive/")
2649 (synopsis "Distributive functors for Haskell")
2650 (description "This package provides distributive functors for Haskell.
2651Dual to @code{Traversable}.")
2652 (license license:bsd-3)))
2653
2654(define-public ghc-dlist
2655 (package
2656 (name "ghc-dlist")
2657 (version "0.8.0.4")
2658 (source
2659 (origin
2660 (method url-fetch)
2661 (uri (string-append
2662 "https://hackage.haskell.org/package/dlist/dlist-"
2663 version
2664 ".tar.gz"))
2665 (sha256
2666 (base32 "0yirrh0s6acjy9hhvf5fqg2d6q5y6gm9xs04v6w1imndh1xqdwdc"))))
2667 (build-system haskell-build-system)
2668 (inputs
2669 `(("ghc-quickcheck" ,ghc-quickcheck)))
2670 (home-page "https://github.com/spl/dlist")
2671 (synopsis "Difference lists")
2672 (description
2673 "Difference lists are a list-like type supporting O(1) append. This is
2674particularly useful for efficient logging and pretty printing (e.g. with the
2675Writer monad), where list append quickly becomes too expensive.")
2676 (license license:bsd-3)))
2677
2678(define-public ghc-doctemplates
2679 (package
2680 (name "ghc-doctemplates")
2681 (version "0.2.2.1")
2682 (source
2683 (origin
2684 (method url-fetch)
2685 (uri (string-append "https://hackage.haskell.org/package/"
2686 "doctemplates/doctemplates-"
2687 version ".tar.gz"))
2688 (sha256
2689 (base32
2690 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
2691 (build-system haskell-build-system)
2692 (inputs
2693 `(("ghc-aeson" ,ghc-aeson)
2694 ("ghc-blaze-markup" ,ghc-blaze-markup)
2695 ("ghc-blaze-html" ,ghc-blaze-html)
2696 ("ghc-vector" ,ghc-vector)
2697 ("ghc-unordered-containers" ,ghc-unordered-containers)
2698 ("ghc-scientific" ,ghc-scientific)))
2699 (native-inputs
2700 `(("ghc-hspec" ,ghc-hspec)))
2701 (home-page "https://github.com/jgm/doctemplates#readme")
2702 (synopsis "Pandoc-style document templates")
2703 (description
2704 "This package provides a simple text templating system used by pandoc.")
2705 (license license:bsd-3)))
2706
2707(define-public ghc-doctest
2708 (package
2709 (name "ghc-doctest")
2710 (version "0.16.0")
2711 (source
2712 (origin
2713 (method url-fetch)
2714 (uri (string-append
2715 "https://hackage.haskell.org/package/doctest/doctest-"
2716 version
2717 ".tar.gz"))
2718 (sha256
2719 (base32
2720 "0hkccch65s3kp0b36h7bqhilnpi4bx8kngncm7ma9vbd3dwacjdv"))))
2721 (build-system haskell-build-system)
2722 (arguments `(#:tests? #f)) ; FIXME: missing test framework
2723 (inputs
2724 `(("ghc-syb" ,ghc-syb)
2725 ("ghc-paths" ,ghc-paths)
2726 ("ghc-base-compat" ,ghc-base-compat)
2727 ("ghc-code-page" ,ghc-code-page)
2728 ("ghc-hunit" ,ghc-hunit)
2729 ("ghc-hspec" ,ghc-hspec)
2730 ("ghc-quickcheck" ,ghc-quickcheck)
2731 ("ghc-stringbuilder" ,ghc-stringbuilder)
2732 ("ghc-silently" ,ghc-silently)
2733 ("ghc-setenv" ,ghc-setenv)))
2734 (home-page
2735 "https://github.com/sol/doctest#readme")
2736 (synopsis "Test interactive Haskell examples")
2737 (description "The doctest program checks examples in source code comments.
2738It is modeled after doctest for Python, see
2739@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
2740 (license license:expat)))
2741
2742(define-public ghc-double-conversion
2743 (package
2744 (name "ghc-double-conversion")
2745 (version "2.0.2.0")
2746 (source
2747 (origin
2748 (method url-fetch)
2749 (uri (string-append "https://hackage.haskell.org/package/"
2750 "double-conversion/double-conversion-"
2751 version ".tar.gz"))
2752 (sha256
2753 (base32
2754 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
2755 (build-system haskell-build-system)
2756 (native-inputs
2757 `(("ghc-hunit" ,ghc-hunit)
2758 ("ghc-test-framework" ,ghc-test-framework)
2759 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2760 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2761 (home-page "https://github.com/bos/double-conversion")
2762 (synopsis "Fast conversion between double precision floating point and text")
2763 (description
2764 "This package provides a library that performs fast, accurate conversion
2765between double precision floating point and text.")
2766 (license license:bsd-3)))
2767
2768(define-public ghc-easy-file
2769 (package
2770 (name "ghc-easy-file")
2771 (version "0.2.2")
2772 (source
2773 (origin
2774 (method url-fetch)
2775 (uri (string-append
2776 "https://hackage.haskell.org/package/easy-file/easy-file-"
2777 version
2778 ".tar.gz"))
2779 (sha256
2780 (base32
2781 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
2782 (build-system haskell-build-system)
2783 (home-page
2784 "https://github.com/kazu-yamamoto/easy-file")
2785 (synopsis "File handling library for Haskell")
2786 (description "This library provides file handling utilities for Haskell.")
2787 (license license:bsd-3)))
2788
2789(define-public ghc-easyplot
2790 (package
2791 (name "ghc-easyplot")
2792 (version "1.0")
2793 (source
2794 (origin
2795 (method url-fetch)
2796 (uri (string-append
2797 "https://hackage.haskell.org/package/easyplot/easyplot-"
2798 version ".tar.gz"))
2799 (sha256
2800 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
2801 (build-system haskell-build-system)
2802 (propagated-inputs `(("gnuplot" ,gnuplot)))
2803 (arguments
2804 `(#:phases (modify-phases %standard-phases
2805 (add-after 'unpack 'fix-setup-suffix
2806 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
2807 (home-page "https://hub.darcs.net/scravy/easyplot")
2808 (synopsis "Haskell plotting library based on gnuplot")
2809 (description "This package provides a plotting library for
2810Haskell, using gnuplot for rendering.")
2811 (license license:expat)))
2812
2813(define-public ghc-echo
2814 (package
2815 (name "ghc-echo")
2816 (version "0.1.3")
2817 (source
2818 (origin
2819 (method url-fetch)
2820 (uri (string-append
2821 "https://hackage.haskell.org/package/echo/echo-"
2822 version ".tar.gz"))
2823 (sha256
2824 (base32
2825 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
2826 (build-system haskell-build-system)
2827 (arguments
2828 `(#:cabal-revision
2829 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
2830 (home-page "https://github.com/RyanGlScott/echo")
2831 (synopsis "Echo terminal input portably")
2832 (description "The @code{base} library exposes the @code{hGetEcho} and
2833@code{hSetEcho} functions for querying and setting echo status, but
2834unfortunately, neither function works with MinTTY consoles on Windows.
2835This library provides an alternative interface which works with both
2836MinTTY and other consoles.")
2837 (license license:bsd-3)))
2838
2839(define-public ghc-edisonapi
2840 (package
2841 (name "ghc-edisonapi")
2842 (version "1.3.1")
2843 (source
2844 (origin
2845 (method url-fetch)
2846 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
2847 "/EdisonAPI-" version ".tar.gz"))
2848 (sha256
2849 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
2850 (build-system haskell-build-system)
2851 (home-page "http://rwd.rdockins.name/edison/home/")
2852 (synopsis "Library of efficient, purely-functional data structures (API)")
2853 (description
2854 "Edison is a library of purely functional data structures written by
2855Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
2856value EDiSon (Efficient Data Structures). Edison provides several families of
2857abstractions, each with multiple implementations. The main abstractions
2858provided by Edison are: Sequences such as stacks, queues, and dequeues;
2859Collections such as sets, bags and heaps; and Associative Collections such as
2860finite maps and priority queues where the priority and element are distinct.")
2861 (license license:expat)))
2862
2863(define-public ghc-edisoncore
2864 (package
2865 (name "ghc-edisoncore")
2866 (version "1.3.2.1")
2867 (source
2868 (origin
2869 (method url-fetch)
2870 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
2871 "/EdisonCore-" version ".tar.gz"))
2872 (sha256
2873 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
2874 (build-system haskell-build-system)
2875 (inputs
2876 `(("ghc-quickcheck" ,ghc-quickcheck)
2877 ("ghc-edisonapi" ,ghc-edisonapi)))
2878 (home-page "http://rwd.rdockins.name/edison/home/")
2879 (synopsis "Library of efficient, purely-functional data structures")
2880 (description
2881 "This package provides the core Edison data structure implementations,
2882including multiple sequence, set, bag, and finite map concrete implementations
2883with various performance characteristics.")
2884 (license license:expat)))
2885
2886(define-public ghc-edit-distance
2887 (package
2888 (name "ghc-edit-distance")
2889 (version "0.2.2.1")
2890 (source
2891 (origin
2892 (method url-fetch)
2893 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
2894 "/edit-distance-" version ".tar.gz"))
2895 (sha256
2896 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
2897 (build-system haskell-build-system)
2898 (arguments
2899 `(#:phases
2900 (modify-phases %standard-phases
2901 (add-before 'configure 'update-constraints
2902 (lambda _
2903 (substitute* "edit-distance.cabal"
2904 (("QuickCheck >= 2\\.4 && <2\\.9")
2905 "QuickCheck >= 2.4 && < 2.12")))))))
2906 (inputs
2907 `(("ghc-random" ,ghc-random)
2908 ("ghc-test-framework" ,ghc-test-framework)
2909 ("ghc-quickcheck" ,ghc-quickcheck)
2910 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2911 (home-page "https://github.com/phadej/edit-distance")
2912 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
2913 (description
2914 "This package provides optimized functions to determine the edit
2915distances for fuzzy matching, including Levenshtein and restricted
2916Damerau-Levenshtein algorithms.")
2917 (license license:bsd-3)))
2918
2919(define-public ghc-either
2920 (package
2921 (name "ghc-either")
2922 (version "5.0.1")
2923 (source
2924 (origin
2925 (method url-fetch)
2926 (uri (string-append "https://hackage.haskell.org/package/"
2927 "either-" version "/"
2928 "either-" version ".tar.gz"))
2929 (sha256
2930 (base32
2931 "064hjfld7dkzs78sy30k5qkiva3hx24rax6dvzz5ygr2c0zypdkc"))))
2932 (build-system haskell-build-system)
2933 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
2934 ("ghc-exceptions" ,ghc-exceptions)
2935 ("ghc-free" ,ghc-free)
2936 ("ghc-monad-control" ,ghc-monad-control)
2937 ("ghc-manodrandom" ,ghc-monadrandom)
2938 ("ghc-mmorph" ,ghc-mmorph)
2939 ("ghc-profunctors" ,ghc-profunctors)
2940 ("ghc-semigroups" ,ghc-semigroups)
2941 ("ghc-semigroupoids" ,ghc-semigroupoids)
2942 ("ghc-transformers-base" ,ghc-transformers-base)))
2943 (native-inputs
2944 `(("ghc-quickcheck" ,ghc-quickcheck)
2945 ("ghc-test-framework" ,ghc-test-framework)
2946 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2947 (home-page "https://github.com/ekmett/either")
2948 (synopsis "Provides an either monad transformer for Haskell")
2949 (description "This Haskell package provides an either monad transformer.")
2950 (license license:bsd-3)))
2951
2952(define-public ghc-email-validate
2953 (package
2954 (name "ghc-email-validate")
2955 (version "2.3.2.6")
2956 (source
2957 (origin
2958 (method url-fetch)
2959 (uri (string-append
2960 "https://hackage.haskell.org/package/"
2961 "email-validate/email-validate-"
2962 version
2963 ".tar.gz"))
2964 (sha256
2965 (base32
2966 "0chgylvc8xmhp933rdbmpg5sv4y7yg2h6kbf0ip1dzmbd5p55pa5"))))
2967 (build-system haskell-build-system)
2968 (inputs
2969 `(("ghc-attoparsec" ,ghc-attoparsec)
2970 ("ghc-hspec" ,ghc-hspec)
2971 ("ghc-quickcheck" ,ghc-quickcheck)
2972 ("ghc-doctest" ,ghc-doctest)))
2973 (home-page
2974 "https://github.com/Porges/email-validate-hs")
2975 (synopsis "Email address validator for Haskell")
2976 (description
2977 "This Haskell package provides a validator that can validate an email
2978address string against RFC 5322.")
2979 (license license:bsd-3)))
2980
2981(define-public ghc-enclosed-exceptions
2982 (package
2983 (name "ghc-enclosed-exceptions")
2984 (version "1.0.3")
2985 (source (origin
2986 (method url-fetch)
2987 (uri (string-append "https://hackage.haskell.org/package/"
2988 "enclosed-exceptions/enclosed-exceptions-"
2989 version ".tar.gz"))
2990 (sha256
2991 (base32
2992 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
2993 (build-system haskell-build-system)
2994 ;; FIXME: one of the tests blocks forever:
2995 ;; "thread blocked indefinitely in an MVar operation"
2996 (arguments '(#:tests? #f))
2997 (inputs
2998 `(("ghc-lifted-base" ,ghc-lifted-base)
2999 ("ghc-monad-control" ,ghc-monad-control)
3000 ("ghc-async" ,ghc-async)
3001 ("ghc-transformers-base" ,ghc-transformers-base)))
3002 (native-inputs
3003 `(("ghc-hspec" ,ghc-hspec)
3004 ("ghc-quickcheck" ,ghc-quickcheck)))
3005 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3006 (synopsis "Catch all exceptions from within an enclosed computation")
3007 (description
3008 "This library implements a technique to catch all exceptions raised
3009within an enclosed computation, while remaining responsive to (external)
3010asynchronous exceptions.")
3011 (license license:expat)))
3012
3013(define-public ghc-equivalence
3014 (package
3015 (name "ghc-equivalence")
3016 (version "0.3.2")
3017 (source
3018 (origin
3019 (method url-fetch)
3020 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3021 "/equivalence-" version ".tar.gz"))
3022 (sha256
3023 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
3024 (build-system haskell-build-system)
3025 (inputs
3026 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3027 ("ghc-transformers-compat" ,ghc-transformers-compat)
3028 ("ghc-quickcheck" ,ghc-quickcheck)
3029 ("ghc-test-framework" ,ghc-test-framework)
3030 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3031 (home-page "https://github.com/pa-ba/equivalence")
3032 (synopsis "Maintaining an equivalence relation implemented as union-find")
3033 (description
3034 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3035Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
303622(2), 1975) in order to maintain an equivalence relation. This
3037implementation is a port of the @code{union-find} package using the @code{ST}
3038monad transformer (instead of the IO monad).")
3039 (license license:bsd-3)))
3040
3041(define-public ghc-erf
3042 (package
3043 (name "ghc-erf")
3044 (version "2.0.0.0")
3045 (source
3046 (origin
3047 (method url-fetch)
3048 (uri (string-append "https://hackage.haskell.org/package/"
3049 "erf-" version "/"
3050 "erf-" version ".tar.gz"))
3051 (sha256
3052 (base32
3053 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3054 (build-system haskell-build-system)
3055 (home-page "https://hackage.haskell.org/package/erf")
3056 (synopsis "The error function, erf, and related functions for Haskell")
3057 (description "This Haskell library provides a type class for the
3058error function, erf, and related functions. Instances for Float and
3059Double.")
3060 (license license:bsd-3)))
3061
3062(define-public ghc-errorcall-eq-instance
3063 (package
3064 (name "ghc-errorcall-eq-instance")
3065 (version "0.3.0")
3066 (source
3067 (origin
3068 (method url-fetch)
3069 (uri (string-append "https://hackage.haskell.org/package/"
3070 "errorcall-eq-instance/errorcall-eq-instance-"
3071 version ".tar.gz"))
3072 (sha256
3073 (base32
3074 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3075 (build-system haskell-build-system)
3076 (inputs
3077 `(("ghc-base-orphans" ,ghc-base-orphans)))
3078 (native-inputs
3079 `(("ghc-quickcheck" ,ghc-quickcheck)
3080 ("ghc-hspec" ,ghc-hspec)
3081 ("hspec-discover" ,hspec-discover)))
3082 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3083 (synopsis "Orphan Eq instance for ErrorCall")
3084 (description
3085 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3086This package provides an orphan instance.")
3087 (license license:expat)))
3088
3089(define-public ghc-errors
3090 (package
3091 (name "ghc-errors")
3092 (version "2.3.0")
3093 (source
3094 (origin
3095 (method url-fetch)
3096 (uri (string-append "https://hackage.haskell.org/package/"
3097 "errors-" version "/"
3098 "errors-" version ".tar.gz"))
3099 (sha256
3100 (base32
3101 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3102 (build-system haskell-build-system)
3103 (inputs
3104 `(("ghc-exceptions" ,ghc-exceptions)
3105 ("ghc-transformers-compat" ,ghc-transformers-compat)
3106 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3107 ("ghc-safe" ,ghc-safe)))
3108 (home-page "https://github.com/gabriel439/haskell-errors-library")
3109 (synopsis "Error handling library for Haskell")
3110 (description "This library encourages an error-handling style that
3111directly uses the type system, rather than out-of-band exceptions.")
3112 (license license:bsd-3)))
3113
3114(define-public ghc-esqueleto
3115 (let ((version "2.5.3")
3116 (revision "1")
3117 (commit "b81e0d951e510ebffca03c5a58658ad884cc6fbd"))
3118 (package
3119 (name "ghc-esqueleto")
3120 (version (git-version version revision commit))
3121 (source
3122 (origin
3123 (method git-fetch)
3124 (uri (git-reference
3125 (url "https://github.com/bitemyapp/esqueleto")
3126 (commit commit)))
3127 (file-name (git-file-name name version))
3128 (sha256
3129 (base32
3130 "0lz1qxms7cfg5p3j37inlych0r2fwhm8xbarcys3df9m7jy9nixa"))))
3131 (build-system haskell-build-system)
3132 (arguments
3133 `(#:haddock? #f ; Haddock reports an internal error.
3134 #:phases
3135 (modify-phases %standard-phases
3136 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3137 ;; SQLite backends. Since we only have Haskell packages for
3138 ;; SQLite, we remove the other two test suites. FIXME: Add the
3139 ;; other backends and run all three test suites.
3140 (add-before 'configure 'remove-non-sqlite-test-suites
3141 (lambda _
3142 (use-modules (ice-9 rdelim))
3143 (with-atomic-file-replacement "esqueleto.cabal"
3144 (lambda (in out)
3145 (let loop ((line (read-line in 'concat)) (deleting? #f))
3146 (cond
3147 ((eof-object? line) #t)
3148 ((string-every char-set:whitespace line)
3149 (unless deleting? (display line out))
3150 (loop (read-line in 'concat) #f))
3151 ((member line '("test-suite mysql\n"
3152 "test-suite postgresql\n"))
3153 (loop (read-line in 'concat) #t))
3154 (else
3155 (unless deleting? (display line out))
3156 (loop (read-line in 'concat) deleting?)))))))))))
3157 (inputs
3158 `(("ghc-blaze-html" ,ghc-blaze-html)
3159 ("ghc-conduit" ,ghc-conduit)
3160 ("ghc-monad-logger" ,ghc-monad-logger)
3161 ("ghc-persistent" ,ghc-persistent)
3162 ("ghc-resourcet" ,ghc-resourcet)
3163 ("ghc-tagged" ,ghc-tagged)
3164 ("ghc-unliftio" ,ghc-unliftio)
3165 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3166 (native-inputs
3167 `(("ghc-hspec" ,ghc-hspec)
3168 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3169 ("ghc-persistent-template" ,ghc-persistent-template)))
3170 (home-page "https://github.com/bitemyapp/esqueleto")
3171 (synopsis "Type-safe embedded domain specific language for SQL queries")
3172 (description "This library provides a type-safe embedded domain specific
3173language (EDSL) for SQL queries that works with SQL backends as provided by
3174@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3175to learn new concepts, just new syntax, and it's fairly easy to predict the
3176generated SQL and optimize it for your backend.")
3177 (license license:bsd-3))))
3178
3179(define-public ghc-exactprint
3180 (package
3181 (name "ghc-exactprint")
3182 (version "0.5.6.1")
3183 (source
3184 (origin
3185 (method url-fetch)
3186 (uri (string-append
3187 "https://hackage.haskell.org/package/"
3188 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3189 (sha256
3190 (base32
3191 "141k6qiys0m0r4br7ikp4i546vs3xcil9cwglzcdfcbnb5nj1z87"))))
3192 (build-system haskell-build-system)
3193 (inputs
3194 `(("ghc-paths" ,ghc-paths)
3195 ("ghc-syb" ,ghc-syb)
3196 ("ghc-free" ,ghc-free)))
3197 (native-inputs
3198 `(("ghc-hunit" ,ghc-hunit)
3199 ("ghc-diff" ,ghc-diff)
3200 ("ghc-silently" ,ghc-silently)
3201 ("ghc-filemanip" ,ghc-filemanip)))
3202 (home-page
3203 "http://hackage.haskell.org/package/ghc-exactprint")
3204 (synopsis "ExactPrint for GHC")
3205 (description
3206 "Using the API Annotations available from GHC 7.10.2, this library
3207provides a means to round-trip any code that can be compiled by GHC, currently
3208excluding @file{.lhs} files.")
3209 (license license:bsd-3)))
3210
3211(define-public ghc-exceptions
3212 (package
3213 (name "ghc-exceptions")
3214 (version "0.10.0")
3215 (source
3216 (origin
3217 (method url-fetch)
3218 (uri (string-append
3219 "https://hackage.haskell.org/package/exceptions/exceptions-"
3220 version
3221 ".tar.gz"))
3222 (sha256
3223 (base32
3224 "1ms9zansv0pwzwdjncvx4kf18lnkjy2p61hvjhvxmjx5bqp93p8y"))))
3225 (build-system haskell-build-system)
3226 (native-inputs
3227 `(("ghc-quickcheck" ,ghc-quickcheck)
3228 ("ghc-test-framework" ,ghc-test-framework)
3229 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3230 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3231 (inputs
3232 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3233 (home-page "https://github.com/ekmett/exceptions/")
3234 (synopsis "Extensible optionally-pure exceptions")
3235 (description "This library provides extensible optionally-pure exceptions
3236for Haskell.")
3237 (license license:bsd-3)))
3238
3239(define-public ghc-executable-path
3240 (package
3241 (name "ghc-executable-path")
3242 (version "0.0.3.1")
3243 (source (origin
3244 (method url-fetch)
3245 (uri (string-append "https://hackage.haskell.org/package/"
3246 "executable-path/executable-path-"
3247 version ".tar.gz"))
3248 (sha256
3249 (base32
3250 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3251 (build-system haskell-build-system)
3252 (home-page "https://hackage.haskell.org/package/executable-path")
3253 (synopsis "Find out the full path of the executable")
3254 (description
3255 "The documentation of @code{System.Environment.getProgName} says that
3256\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3257instead, for maximum portability, we just return the leafname of the program
3258as invoked.\" This library tries to provide the missing path.")
3259 (license license:public-domain)))
3260
3261(define-public ghc-extensible-exceptions
3262 (package
3263 (name "ghc-extensible-exceptions")
3264 (version "0.1.1.4")
3265 (source
3266 (origin
3267 (method url-fetch)
3268 (uri (string-append "https://hackage.haskell.org/package/"
3269 "extensible-exceptions/extensible-exceptions-"
3270 version ".tar.gz"))
3271 (sha256
3272 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3273 (build-system haskell-build-system)
3274 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3275 (synopsis "Extensible exceptions for Haskell")
3276 (description
3277 "This package provides extensible exceptions for both new and old
3278versions of GHC (i.e., < 6.10).")
3279 (license license:bsd-3)))
3280
3281(define-public ghc-extra
3282 (package
3283 (name "ghc-extra")
3284 (version "1.6.9")
3285 (source
3286 (origin
3287 (method url-fetch)
3288 (uri (string-append
3289 "https://hackage.haskell.org/package/extra/extra-"
3290 version
3291 ".tar.gz"))
3292 (sha256
3293 (base32
3294 "0xxcpb00pgwi9cmy6a7ghh6rblxry42p8pz5ssfgj20fs1xwzj1b"))))
3295 (build-system haskell-build-system)
3296 (inputs
3297 `(("ghc-clock" ,ghc-clock)
3298 ("ghc-quickcheck" ,ghc-quickcheck)))
3299 (home-page "https://github.com/ndmitchell/extra")
3300 (synopsis "Extra Haskell functions")
3301 (description "This library provides extra functions for the standard
3302Haskell libraries. Most functions are simple additions, filling out missing
3303functionality. A few functions are available in later versions of GHC, but
3304this package makes them available back to GHC 7.2.")
3305 (license license:bsd-3)))
3306
3307(define-public ghc-fail
3308 (package
3309 (name "ghc-fail")
3310 (version "4.9.0.0")
3311 (source
3312 (origin
3313 (method url-fetch)
3314 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3315 version ".tar.gz"))
3316 (sha256
3317 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3318 (build-system haskell-build-system)
3319 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3320 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3321 (synopsis "Forward-compatible MonadFail class")
3322 (description
3323 "This package contains the @code{Control.Monad.Fail} module providing the
3324@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3325class that became available in
3326@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3327older @code{base} package versions. This package turns into an empty package
3328when used with GHC versions which already provide the
3329@code{Control.Monad.Fail} module.")
3330 (license license:bsd-3)))
3331
3332(define-public ghc-fast-logger
3333 (package
3334 (name "ghc-fast-logger")
3335 (version "2.4.11")
3336 (source
3337 (origin
3338 (method url-fetch)
3339 (uri (string-append
3340 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3341 version
3342 ".tar.gz"))
3343 (sha256
3344 (base32
3345 "1ad2vq4nifdxshqk9yrmghqizhkgybfz134kpr6padglb2mxxrdv"))))
3346 (build-system haskell-build-system)
3347 (inputs
3348 `(("ghc-auto-update" ,ghc-auto-update)
3349 ("ghc-easy-file" ,ghc-easy-file)
3350 ("ghc-unix-time" ,ghc-unix-time)))
3351 (native-inputs
3352 `(("hspec-discover" ,hspec-discover)
3353 ("ghc-hspec" ,ghc-hspec)))
3354 (home-page "https://hackage.haskell.org/package/fast-logger")
3355 (synopsis "Fast logging system")
3356 (description "This library provides a fast logging system for Haskell.")
3357 (license license:bsd-3)))
3358
3359(define-public ghc-feed
3360 (package
3361 (name "ghc-feed")
3362 (version "1.0.0.0")
3363 (source
3364 (origin
3365 (method url-fetch)
3366 (uri (string-append "https://hackage.haskell.org/package/"
3367 "feed/feed-" version ".tar.gz"))
3368 (sha256
3369 (base32
3370 "05rgg7x1984mgfhkmz792xj8lhwjgznixhygzr8blf517lns2nck"))))
3371 (build-system haskell-build-system)
3372 (arguments
3373 `(#:cabal-revision
3374 ("4" "0baavcavm3ywykcr9cm07aqr7sna98jba2n68lyn3kany8ri214d")))
3375 (inputs
3376 `(("ghc-base-compat" ,ghc-base-compat)
3377 ("ghc-old-locale" ,ghc-old-locale)
3378 ("ghc-old-time" ,ghc-old-time)
3379 ("ghc-safe" ,ghc-safe)
3380 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3381 ("ghc-utf8-string" ,ghc-utf8-string)
3382 ("ghc-xml-conduit" ,ghc-xml-conduit)
3383 ("ghc-xml-types" ,ghc-xml-types)))
3384 (native-inputs
3385 `(("ghc-hunit" ,ghc-hunit)
3386 ("ghc-test-framework" ,ghc-test-framework)
3387 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3388 (home-page "https://github.com/bergmark/feed")
3389 (synopsis "Haskell package for handling various syndication formats")
3390 (description "This Haskell package includes tools for generating and
3391consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3392 (license license:bsd-3)))
3393
3394(define-public ghc-fgl
3395 (package
3396 (name "ghc-fgl")
3397 (version "5.6.0.0")
3398 (outputs '("out" "doc"))
3399 (source
3400 (origin
3401 (method url-fetch)
3402 (uri (string-append
3403 "https://hackage.haskell.org/package/fgl/fgl-"
3404 version
3405 ".tar.gz"))
3406 (sha256
3407 (base32
3408 "1i6cp4b3w7sjk7y1dq3fh6bci2sm5h3lnbbaw9ln19nwncg2wwll"))))
3409 (build-system haskell-build-system)
3410 (arguments
3411 `(#:phases
3412 (modify-phases %standard-phases
3413 (add-before 'configure 'update-constraints
3414 (lambda _
3415 (substitute* "fgl.cabal"
3416 (("QuickCheck >= 2\\.8 && < 2\\.10")
3417 "QuickCheck >= 2.8 && < 2.12")
3418 (("hspec >= 2\\.1 && < 2\\.5")
3419 "hspec >= 2.1 && < 2.6")))))))
3420 (inputs
3421 `(("ghc-hspec" ,ghc-hspec)
3422 ("ghc-quickcheck" ,ghc-quickcheck)))
3423 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3424 (synopsis
3425 "Martin Erwig's Functional Graph Library")
3426 (description "The functional graph library, FGL, is a collection of type
3427and function definitions to address graph problems. The basis of the library
3428is an inductive definition of graphs in the style of algebraic data types that
3429encourages inductive, recursive definitions of graph algorithms.")
3430 (license license:bsd-3)))
3431
3432(define-public ghc-fgl-arbitrary
3433 (package
3434 (name "ghc-fgl-arbitrary")
3435 (version "0.2.0.3")
3436 (source
3437 (origin
3438 (method url-fetch)
3439 (uri (string-append
3440 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3441 version ".tar.gz"))
3442 (sha256
3443 (base32
3444 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3445 (build-system haskell-build-system)
3446 (arguments
3447 `(#:phases
3448 (modify-phases %standard-phases
3449 (add-before 'configure 'update-constraints
3450 (lambda _
3451 (substitute* "fgl-arbitrary.cabal"
3452 (("QuickCheck >= 2\\.3 && < 2\\.10")
3453 "QuickCheck >= 2.3 && < 2.12")
3454 (("hspec >= 2\\.1 && < 2\\.5")
3455 "hspec >= 2.1 && < 2.6")))))))
3456 (inputs
3457 `(("ghc-fgl" ,ghc-fgl)
3458 ("ghc-quickcheck" ,ghc-quickcheck)
3459 ("ghc-hspec" ,ghc-hspec)))
3460 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3461 (synopsis "QuickCheck support for fgl")
3462 (description
3463 "Provides Arbitrary instances for fgl graphs to avoid adding a
3464QuickCheck dependency for fgl whilst still making the instances
3465available to others. Also available are non-fgl-specific functions
3466for generating graph-like data structures.")
3467 (license license:bsd-3)))
3468
3469(define-public ghc-file-embed
3470 (package
3471 (name "ghc-file-embed")
b5920d50 3472 (version "0.0.11")
dddbc90c
RV
3473 (source
3474 (origin
3475 (method url-fetch)
3476 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3477 "file-embed-" version ".tar.gz"))
3478 (sha256
3479 (base32
b5920d50 3480 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
3481 (build-system haskell-build-system)
3482 (home-page "https://github.com/snoyberg/file-embed")
3483 (synopsis "Use Template Haskell to embed file contents directly")
3484 (description
3485 "This package allows you to use Template Haskell to read a file or all
3486the files in a directory, and turn them into @code{(path, bytestring)} pairs
3487embedded in your Haskell code.")
3488 (license license:bsd-3)))
3489
3490(define-public ghc-filemanip
3491 (package
3492 (name "ghc-filemanip")
3493 (version "0.3.6.3")
3494 (source (origin
3495 (method url-fetch)
3496 (uri (string-append "https://hackage.haskell.org/package/"
3497 "filemanip/filemanip-" version ".tar.gz"))
3498 (sha256
3499 (base32
3500 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3501 (build-system haskell-build-system)
3502 (inputs
3503 `(("ghc-unix-compat" ,ghc-unix-compat)))
3504 (home-page "https://github.com/bos/filemanip")
3505 (synopsis "File and directory manipulation for Haskell")
3506 (description
3507 "This package provides a Haskell library for working with files and
3508directories. It includes code for pattern matching, finding files, modifying
3509file contents, and more.")
3510 (license license:bsd-3)))
3511
3512(define-public ghc-findbin
3513 (package
3514 (name "ghc-findbin")
3515 (version "0.0.5")
3516 (source
3517 (origin
3518 (method url-fetch)
3519 (uri (string-append
3520 "https://hackage.haskell.org/package/FindBin/FindBin-"
3521 version ".tar.gz"))
3522 (sha256
3523 (base32
3524 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3525 (build-system haskell-build-system)
3526 (home-page "https://github.com/audreyt/findbin")
3527 (synopsis "Get the absolute path of the running program")
3528 (description
3529 "This module locates the full directory of the running program, to allow
3530the use of paths relative to it. FindBin supports invocation of Haskell
3531programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3532an executable.")
3533 (license license:bsd-3)))
3534
3535(define-public ghc-fingertree
3536 (package
3537 (name "ghc-fingertree")
3538 (version "0.1.4.1")
3539 (source
3540 (origin
3541 (method url-fetch)
3542 (uri (string-append
3543 "https://hackage.haskell.org/package/fingertree/fingertree-"
3544 version ".tar.gz"))
3545 (sha256
3546 (base32
3547 "192fyzv0pn1437wdpqg1l80rswkk4rw3w61r4bq7dhv354bdqy4p"))))
3548 (build-system haskell-build-system)
3549 (native-inputs
3550 `(("ghc-hunit" ,ghc-hunit)
3551 ("ghc-quickcheck" ,ghc-quickcheck)
3552 ("ghc-test-framework" ,ghc-test-framework)
3553 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3554 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3555 (home-page "https://hackage.haskell.org/package/fingertree")
3556 (synopsis "Generic finger-tree structure")
3557 (description "This library provides finger trees, a general sequence
3558representation with arbitrary annotations, for use as a base for
3559implementations of various collection types. It includes examples, as
3560described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3561simple general-purpose data structure\".")
3562 (license license:bsd-3)))
3563
3564(define-public ghc-fixed
3565 (package
3566 (name "ghc-fixed")
099dda5b 3567 (version "0.3")
dddbc90c
RV
3568 (source
3569 (origin
3570 (method url-fetch)
3571 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
3572 version ".tar.gz"))
3573 (sha256
3574 (base32
099dda5b 3575 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
3576 (build-system haskell-build-system)
3577 (home-page "https://github.com/ekmett/fixed")
3578 (synopsis "Signed 15.16 precision fixed point arithmetic")
3579 (description
3580 "This package provides functions for signed 15.16 precision fixed point
3581arithmetic.")
3582 (license license:bsd-3)))
3583
f169f713
JS
3584(define-public ghc-fmlist
3585 (package
3586 (name "ghc-fmlist")
fe9b83a6 3587 (version "0.9.3")
f169f713
JS
3588 (source
3589 (origin
3590 (method url-fetch)
3591 (uri
3592 (string-append
3593 "https://hackage.haskell.org/package/fmlist/fmlist-"
3594 version ".tar.gz"))
3595 (sha256
3596 (base32
fe9b83a6 3597 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
3598 (build-system haskell-build-system)
3599 (home-page "https://github.com/sjoerdvisscher/fmlist")
3600 (synopsis "FoldMap lists")
3601 (description "FoldMap lists are lists represented by their
3602@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
3603append, just like DLists, but other operations might have favorable
3604performance characteristics as well. These wild claims are still
3605completely unverified though.")
3606 (license license:bsd-3)))
3607
dddbc90c
RV
3608(define-public ghc-foldl
3609 (package
3610 (name "ghc-foldl")
3611 (version "1.4.3")
3612 (source
3613 (origin
3614 (method url-fetch)
3615 (uri (string-append "https://hackage.haskell.org/package/"
3616 "foldl-" version "/"
3617 "foldl-" version ".tar.gz"))
3618 (sha256
3619 (base32
3620 "13n0ca3hw5jzqf6rxsdbhbwkn61a9zlm13f0f205s60j3sc72jzk"))))
3621 (build-system haskell-build-system)
3622 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3623 ("ghc-primitive" ,ghc-primitive)
3624 ("ghc-vector" ,ghc-vector)
3625 ("ghc-unordered-containers" ,ghc-unordered-containers)
3626 ("ghc-hashable" ,ghc-hashable)
3627 ("ghc-contravariant" ,ghc-contravariant)
3628 ("ghc-semigroups" ,ghc-semigroups)
3629 ("ghc-profunctors" ,ghc-profunctors)
3630 ("ghc-semigroupoids" ,ghc-semigroupoids)
3631 ("ghc-comonad" ,ghc-comonad)
3632 ("ghc-vector-builder" ,ghc-vector-builder)))
3633 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
3634 (synopsis "Composable, streaming, and efficient left folds for Haskell")
3635 (description "This Haskell library provides strict left folds that stream
3636in constant memory, and you can combine folds using @code{Applicative} style
3637to derive new folds. Derived folds still traverse the container just once
3638and are often as efficient as hand-written folds.")
3639 (license license:bsd-3)))
3640
3641(define-public ghc-foundation
3642 (package
3643 (name "ghc-foundation")
3644 (version "0.0.21")
3645 (source
3646 (origin
3647 (method url-fetch)
3648 (uri (string-append "https://hackage.haskell.org/package/"
3649 "foundation/foundation-" version ".tar.gz"))
3650 (sha256
3651 (base32
3652 "1q43y8wfj0wf9gdq2kzphwjwq6m5pvryy1lqgk954aq5z3ks1lsf"))))
3653 (build-system haskell-build-system)
3654 (inputs `(("ghc-basement" ,ghc-basement)))
3655 (home-page "https://github.com/haskell-foundation/foundation")
3656 (synopsis "Alternative prelude with batteries and no dependencies")
3657 (description
3658 "This package provides a custom prelude with no dependencies apart from
3659the base package.
3660
3661Foundation has the following goals:
3662
3663@enumerate
3664@item provide a base like sets of modules that provide a consistent set of
3665 features and bugfixes across multiple versions of GHC (unlike base).
3666@item provide a better and more efficient prelude than base's prelude.
3667@item be self-sufficient: no external dependencies apart from base;
3668@item provide better data-types: packed unicode string by default, arrays;
3669@item Numerical classes that better represent mathematical things (no more
3670 all-in-one @code{Num});
3671@item I/O system with less lazy IO.
3672@end enumerate\n")
3673 (license license:bsd-3)))
3674
3675(define-public ghc-free
3676 (package
3677 (name "ghc-free")
3678 (version "5.0.2")
3679 (source
3680 (origin
3681 (method url-fetch)
3682 (uri (string-append
3683 "https://hackage.haskell.org/package/free/free-"
3684 version
3685 ".tar.gz"))
3686 (sha256
3687 (base32
3688 "15m3n9vhz7z3kzv1w3wlfa3x8jp4cbrkwmrcjr7jlx39iqffn1gg"))))
3689 (build-system haskell-build-system)
3690 (inputs
3691 `(("ghc-prelude-extras" ,ghc-prelude-extras)
3692 ("ghc-profunctors" ,ghc-profunctors)
3693 ("ghc-exceptions" ,ghc-exceptions)
3694 ("ghc-bifunctors" ,ghc-bifunctors)
3695 ("ghc-comonad" ,ghc-comonad)
3696 ("ghc-distributive" ,ghc-distributive)
3697 ("ghc-semigroupoids" ,ghc-semigroupoids)
3698 ("ghc-semigroups" ,ghc-semigroups)
3699 ("ghc-transformers-base" ,ghc-transformers-base)
3700 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3701 (home-page "https://github.com/ekmett/free/")
3702 (synopsis "Unrestricted monads for Haskell")
3703 (description "This library provides free monads, which are useful for many
3704tree-like structures and domain specific languages. If @code{f} is a
3705@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
3706whose nodes are labeled with the constructors of @code{f}. The word \"free\"
3707is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
3708f} makes no constraining assumptions beyond those given by @code{f} and the
3709definition of @code{Monad}.")
3710 (license license:bsd-3)))
3711
3712(define-public ghc-fsnotify
3713 (package
3714 (name "ghc-fsnotify")
3715 (version "0.3.0.1")
3716 (source (origin
3717 (method url-fetch)
3718 (uri (string-append
3719 "https://hackage.haskell.org/package/fsnotify/"
3720 "fsnotify-" version ".tar.gz"))
3721 (sha256
3722 (base32
3723 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
3724 (build-system haskell-build-system)
3725 (inputs
3726 `(("ghc-async" ,ghc-async)
3727 ("ghc-unix-compat" ,ghc-unix-compat)
3728 ("ghc-hinotify" ,ghc-hinotify)
3729 ("ghc-tasty" ,ghc-tasty)
3730 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3731 ("ghc-random" ,ghc-random)
3732 ("ghc-shelly" ,ghc-shelly)
3733 ("ghc-temporary" ,ghc-temporary)))
3734 (home-page "https://github.com/haskell-fswatch/hfsnotify")
3735 (synopsis "Cross platform library for file change notification.")
3736 (description "Cross platform library for file creation, modification, and
3737deletion notification. This library builds upon existing libraries for platform
3738specific Windows, Mac, and Linux file system event notification.")
3739 (license license:bsd-3)))
3740
3741(define-public ghc-generic-deriving
3742 (package
3743 (name "ghc-generic-deriving")
3744 (version "1.12.2")
3745 (source
3746 (origin
3747 (method url-fetch)
3748 (uri (string-append
3749 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
3750 version
3751 ".tar.gz"))
3752 (sha256
3753 (base32
3754 "1i7d6cpj9yhaqb79zays3nqchhaacacjz9bkc0zlwj73y5gvi22n"))))
3755 (build-system haskell-build-system)
3756 (inputs
3757 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
3758 (native-inputs
3759 `(("ghc-hspec" ,ghc-hspec)
3760 ("hspec-discover" ,hspec-discover)))
3761 (home-page "https://hackage.haskell.org/package/generic-deriving")
3762 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3763 (description "This package provides functionality for generalising the
3764deriving mechanism in Haskell to arbitrary classes.")
3765 (license license:bsd-3)))
3766
3767(define-public ghc-generics-sop
3768 (package
3769 (name "ghc-generics-sop")
3770 (version "0.3.2.0")
3771 (source
3772 (origin
3773 (method url-fetch)
3774 (uri (string-append "https://hackage.haskell.org/package/"
3775 "generics-sop-" version "/"
3776 "generics-sop-" version ".tar.gz"))
3777 (sha256
3778 (base32
3779 "168v62i845jh9jbfaz3ldz8svz4wmzq9mf2vhb7pxlnbkk8fqq1h"))))
3780 (build-system haskell-build-system)
3781 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3782 (home-page "https://github.com/well-typed/generics-sop")
3783 (synopsis "Generic Programming using True Sums of Products for Haskell")
3784 (description "This Haskell package supports the definition of generic
3785functions. Datatypes are viewed in a uniform, structured way: the choice
3786between constructors is represented using an n-ary sum, and the arguments of
3787each constructor are represented using an n-ary product.")
3788 (license license:bsd-3)))
3789
3790(define-public ghc-geniplate-mirror
3791 (package
3792 (name "ghc-geniplate-mirror")
3793 (version "0.7.6")
3794 (source
3795 (origin
3796 (method url-fetch)
3797 (uri (string-append "https://hackage.haskell.org/package"
3798 "/geniplate-mirror"
3799 "/geniplate-mirror-" version ".tar.gz"))
3800 (sha256
3801 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
3802 (build-system haskell-build-system)
3803 (home-page "https://github.com/danr/geniplate")
3804 (synopsis "Use Template Haskell to generate Uniplate-like functions")
3805 (description
3806 "Use Template Haskell to generate Uniplate-like functions. This is a
3807maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
3808geniplate} package, written by Lennart Augustsson.")
3809 (license license:bsd-3)))
3810
3811(define-public ghc-genvalidity
3812 (package
3813 (name "ghc-genvalidity")
3814 (version "0.5.1.0")
3815 (source
3816 (origin
3817 (method url-fetch)
3818 (uri (string-append
3819 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
3820 version
3821 ".tar.gz"))
3822 (sha256
3823 (base32
3824 "17ykq38j9a2lzir6dqz5jgy6ndaafrpkhqhcg96c5ppg7wcxaaj0"))))
3825 (build-system haskell-build-system)
3826 (inputs
3827 `(("ghc-quickcheck" ,ghc-quickcheck)
3828 ("ghc-validity" ,ghc-validity)))
3829 (native-inputs
3830 `(("ghc-hspec" ,ghc-hspec)
3831 ("hspec-discover" ,hspec-discover)
3832 ("ghc-hspec-core" ,ghc-hspec-core)))
3833 (home-page
3834 "https://github.com/NorfairKing/validity")
3835 (synopsis
3836 "Testing utilities for the @code{validity} library")
3837 (description
3838 "This package provides testing utilities that are useful in conjunction
3839with the @code{Validity} typeclass.")
3840 (license license:expat)))
3841
3842(define-public ghc-genvalidity-property
3843 (package
3844 (name "ghc-genvalidity-property")
3845 (version "0.2.1.1")
3846 (source
3847 (origin
3848 (method url-fetch)
3849 (uri (string-append
3850 "https://hackage.haskell.org/package/"
3851 "genvalidity-property/genvalidity-property-"
3852 version
3853 ".tar.gz"))
3854 (sha256
3855 (base32
3856 "0cjw5i2pydidda9bnp6x37ylhxdk9g874x5sadr6sscg5kq85a1b"))))
3857 (build-system haskell-build-system)
3858 (inputs
3859 `(("ghc-quickcheck" ,ghc-quickcheck)
3860 ("ghc-genvalidity" ,ghc-genvalidity)
3861 ("ghc-hspec" ,ghc-hspec)
3862 ("hspec-discover" ,hspec-discover)
3863 ("ghc-validity" ,ghc-validity)))
3864 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
3865 (home-page
3866 "https://github.com/NorfairKing/validity")
3867 (synopsis
3868 "Standard properties for functions on @code{Validity} types")
3869 (description
3870 "This package supplements the @code{Validity} typeclass with standard
3871properties for functions operating on them.")
3872 (license license:expat)))
3873
3874(define-public ghc-gitrev
3875 (package
3876 (name "ghc-gitrev")
3877 (version "1.3.1")
3878 (source
3879 (origin
3880 (method url-fetch)
3881 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
3882 version ".tar.gz"))
3883 (sha256
3884 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
3885 (build-system haskell-build-system)
3886 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
3887 (home-page "https://github.com/acfoltzer/gitrev")
3888 (synopsis "Compile git revision info into Haskell projects")
3889 (description
3890 "This package provides some handy Template Haskell splices for including
3891the current git hash and branch in the code of your project. This is useful
3892for including in panic messages, @command{--version} output, or diagnostic
3893info for more informative bug reports.")
3894 (license license:bsd-3)))
3895
3896(define-public ghc-glob
3897 (package
3898 (name "ghc-glob")
3899 (version "0.9.2")
3900 (source
3901 (origin
3902 (method url-fetch)
3903 (uri (string-append "https://hackage.haskell.org/package/"
3904 "Glob-" version "/"
3905 "Glob-" version ".tar.gz"))
3906 (sha256
3907 (base32
3908 "1rbwcq9w9951qsnp13vqcm9r01yax2yh1wk8s4zxa3ckk9717iwg"))))
3909 (build-system haskell-build-system)
3910 (inputs
3911 `(("ghc-dlist" ,ghc-dlist)
3912 ("ghc-semigroups" ,ghc-semigroups)
3913 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3914 (native-inputs
3915 `(("ghc-hunit" ,ghc-hunit)
3916 ("ghc-quickcheck" ,ghc-quickcheck)
3917 ("ghc-test-framework" ,ghc-test-framework)
3918 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3919 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3920 (home-page "http://iki.fi/matti.niemenmaa/glob/")
3921 (synopsis "Haskell library matching glob patterns against file paths")
3922 (description "This package provides a Haskell library for @dfn{globbing}:
3923matching patterns against file paths.")
3924 (license license:bsd-3)))
3925
3926(define-public ghc-gluraw
3927 (package
3928 (name "ghc-gluraw")
3929 (version "2.0.0.4")
3930 (source
3931 (origin
3932 (method url-fetch)
3933 (uri (string-append
3934 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
3935 version
3936 ".tar.gz"))
3937 (sha256
3938 (base32
3939 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
3940 (build-system haskell-build-system)
3941 (inputs
3942 `(("ghc-openglraw" ,ghc-openglraw)))
3943 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3944 (synopsis "Raw Haskell bindings GLU")
3945 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
3946utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
3947basis for a nicer interface.")
3948 (license license:bsd-3)))
3949
3950(define-public ghc-glut
3951 (package
3952 (name "ghc-glut")
3953 (version "2.7.0.14")
3954 (source
3955 (origin
3956 (method url-fetch)
3957 (uri (string-append
3958 "https://hackage.haskell.org/package/GLUT/GLUT-"
3959 version
3960 ".tar.gz"))
3961 (sha256
3962 (base32
3963 "01i162fly4q1751fp60lgkzlb8kr0qqbvmxj74zc6skb19qggy2w"))))
3964 (build-system haskell-build-system)
3965 (inputs
3966 `(("ghc-statevar" ,ghc-statevar)
3967 ("ghc-opengl" ,ghc-opengl)
3968 ("ghc-openglraw" ,ghc-openglraw)
3969 ("freeglut" ,freeglut)))
3970 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3971 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
3972 (description "This library provides Haskell bindings for the OpenGL
3973Utility Toolkit, a window system-independent toolkit for writing OpenGL
3974programs.")
3975 (license license:bsd-3)))
3976
3977(define-public ghc-gnuplot
3978 (package
3979 (name "ghc-gnuplot")
3980 (version "0.5.5.2")
3981 (source
3982 (origin
3983 (method url-fetch)
3984 (uri (string-append
3985 "mirror://hackage/package/gnuplot/gnuplot-"
3986 version ".tar.gz"))
3987 (sha256
3988 (base32 "1mlppnc13ygjzmf6ldydys4wvy35yb3xjwwfgf9rbi7nfcqjr6mn"))))
3989 (build-system haskell-build-system)
3990 (inputs
3991 `(("ghc-temporary" ,ghc-temporary)
3992 ("ghc-utility-ht" ,ghc-utility-ht)
3993 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
3994 ("ghc-data-accessor" ,ghc-data-accessor)
3995 ("ghc-semigroups" ,ghc-semigroups)
3996 ("gnuplot" ,gnuplot)))
3997 (arguments
3998 `(#:phases
3999 (modify-phases %standard-phases
4000 (add-before 'configure 'fix-path-to-gnuplot
4001 (lambda* (#:key inputs #:allow-other-keys)
4002 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4003 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4004 (("(gnuplotName = ).*$" all cmd)
4005 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4006 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4007 (synopsis "2D and 3D plots using gnuplot")
4008 (description "This package provides a Haskell module for creating 2D and
40093D plots using gnuplot.")
4010 (license license:bsd-3)))
4011
4012(define-public ghc-graphviz
4013 (package
4014 (name "ghc-graphviz")
4015 (version "2999.20.0.2")
4016 (source (origin
4017 (method url-fetch)
4018 (uri (string-append "https://hackage.haskell.org/package/"
4019 "graphviz/graphviz-" version ".tar.gz"))
4020 (sha256
4021 (base32
4022 "0kj7ap0gnliviq2p8lscw1m06capnsa90vpvcys24nqy5nw2wrp7"))))
4023 (build-system haskell-build-system)
4024 (inputs
4025 `(("ghc-quickcheck" ,ghc-quickcheck)
4026 ("ghc-colour" ,ghc-colour)
4027 ("ghc-dlist" ,ghc-dlist)
4028 ("ghc-fgl" ,ghc-fgl)
4029 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4030 ("ghc-polyparse" ,ghc-polyparse)
4031 ("ghc-temporary" ,ghc-temporary)
4032 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4033 (native-inputs
4034 `(("ghc-hspec" ,ghc-hspec)
4035 ("graphviz" ,graphviz)
4036 ("hspec-discover" ,hspec-discover)))
4037 (home-page "https://hackage.haskell.org/package/graphviz")
4038 (synopsis "Bindings to Graphviz for graph visualisation")
4039 (description
4040 "This library provides bindings for the Dot language used by
4041the @uref{https://graphviz.org/, Graphviz} suite of programs for
4042visualising graphs, as well as functions to call those programs.
4043Main features of the graphviz library include:
4044
4045@enumerate
4046@item Almost complete coverage of all Graphviz attributes and syntax
4047@item Support for specifying clusters
4048@item The ability to use a custom node type
4049@item Functions for running a Graphviz layout tool with all specified output types
4050@item Generate and parse Dot code with two options: strict and liberal
4051@item Functions to convert FGL graphs and other graph-like data structures
4052@item Round-trip support for passing an FGL graph through Graphviz to augment node
4053and edge labels with positional information, etc.
4054@end enumerate\n")
4055 (license license:bsd-3)))
4056
4057(define-public ghc-gtk2hs-buildtools
4058 (package
4059 (name "ghc-gtk2hs-buildtools")
4060 (version "0.13.4.0")
4061 (source
4062 (origin
4063 (method url-fetch)
4064 (uri (string-append "https://hackage.haskell.org/package/"
4065 "gtk2hs-buildtools/gtk2hs-buildtools-"
4066 version ".tar.gz"))
4067 (sha256
4068 (base32
4069 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
4070 (build-system haskell-build-system)
4071 (inputs
4072 `(("ghc-random" ,ghc-random)
4073 ("ghc-hashtables" ,ghc-hashtables)))
4074 (native-inputs
4075 `(("ghc-alex" ,ghc-alex)
4076 ("ghc-happy" ,ghc-happy)))
4077 (home-page "http://projects.haskell.org/gtk2hs/")
4078 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4079 (description
4080 "This package provides a set of helper programs necessary to build the
4081Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4082that is used to generate FFI declarations, a tool to build a type hierarchy
4083that mirrors the C type hierarchy of GObjects found in glib, and a generator
4084for signal declarations that are used to call back from C to Haskell. These
4085tools are not needed to actually run Gtk2Hs programs.")
4086 (license license:gpl2)))
4087
4088(define-public ghc-hackage-security
4089 (package
4090 (name "ghc-hackage-security")
4091 (version "0.5.3.0")
4092 (source
4093 (origin
4094 (method url-fetch)
4095 (uri (string-append "https://hackage.haskell.org/package/"
4096 "hackage-security/hackage-security-"
4097 version ".tar.gz"))
4098 (sha256
4099 (base32
4100 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4101 (build-system haskell-build-system)
4102 (arguments
4103 `(#:tests? #f)) ; Tests fail because of framework updates.
4104 (inputs
4105 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4106 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4107 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4108 ("ghc-ed25519" ,ghc-ed25519)
4109 ("ghc-network" ,ghc-network)
4110 ("ghc-network-uri" ,ghc-network-uri)
4111 ("ghc-tar" ,ghc-tar)
4112 ("ghc-zlib" ,ghc-zlib)))
4113 (native-inputs
4114 `(("ghc-network-uri" ,ghc-network-uri)
4115 ("ghc-quickcheck" ,ghc-quickcheck)
4116 ("ghc-tar" ,ghc-tar)
4117 ("ghc-tasty" ,ghc-tasty)
4118 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4119 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4120 ("ghc-temporary" ,ghc-temporary)
4121 ("ghc-zlib" ,ghc-zlib)))
4122 (home-page "https://github.com/haskell/hackage-security")
4123 (synopsis "Hackage security library")
4124 (description "This Hackage security library provides both server and
4125client utilities for securing @uref{http://hackage.haskell.org/, the
4126Hackage package server}. It is based on
4127@uref{http://theupdateframework.com/, The Update Framework}, a set of
4128recommendations developed by security researchers at various universities
4129in the US as well as developers on the @uref{https://www.torproject.org/,
4130Tor project}.")
4131 (license license:bsd-3)))
4132
4133(define-public ghc-haddock
4134 (package
4135 (name "ghc-haddock")
4136 (version "2.19.0.1")
4137 (source
4138 (origin
4139 (method url-fetch)
4140 (uri (string-append
4141 "https://hackage.haskell.org/package/haddock/haddock-"
4142 version
4143 ".tar.gz"))
4144 (sha256
4145 (base32
4146 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4147 (build-system haskell-build-system)
4148 (arguments
4149 `(#:phases
4150 (modify-phases %standard-phases
4151 ;; There are four test suites that require the ghc-haddock-test
4152 ;; package, which no longer builds with GHC 8.4.3. This phase
4153 ;; removes these four test suites from the Cabal file, so that we
4154 ;; do not need ghc-haddock-test as an input.
4155 (add-before 'configure 'remove-haddock-test-test-suites
4156 (lambda _
4157 (use-modules (ice-9 rdelim))
4158 (with-atomic-file-replacement "haddock.cabal"
4159 (lambda (in out)
4160 (let loop ((line (read-line in 'concat)) (deleting? #f))
4161 (cond
4162 ((eof-object? line) #t)
4163 ((string-every char-set:whitespace line)
4164 (unless deleting? (display line out))
4165 (loop (read-line in 'concat) #f))
4166 ((member line '("test-suite html-test\n"
4167 "test-suite hypsrc-test\n"
4168 "test-suite latex-test\n"
4169 "test-suite hoogle-test\n"))
4170 (loop (read-line in 'concat) #t))
4171 (else
4172 (unless deleting? (display line out))
4173 (loop (read-line in 'concat) deleting?)))))))))))
4174 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4175 (native-inputs
4176 `(("ghc-hspec" ,ghc-hspec)))
4177 (home-page "https://www.haskell.org/haddock/")
4178 (synopsis
4179 "Documentation-generation tool for Haskell libraries")
4180 (description
4181 "Haddock is a documentation-generation tool for Haskell libraries.")
4182 (license license:bsd-3)))
4183
4184(define-public ghc-haddock-api
4185 (package
4186 (name "ghc-haddock-api")
4187 (version "2.19.0.1")
4188 (source
4189 (origin
4190 (method url-fetch)
4191 (uri (string-append
4192 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4193 version
4194 ".tar.gz"))
4195 (sha256
4196 (base32
4197 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4198 (build-system haskell-build-system)
4199 (arguments
4200 `(#:phases
4201 (modify-phases %standard-phases
4202 (add-before 'configure 'update-constraints
4203 (lambda _
4204 (substitute* "haddock-api.cabal"
4205 (("Cabal \\^>= 2\\.0\\.0")
4206 "Cabal ^>= 2.2.0")
4207 (("hspec \\^>= 2\\.4\\.4")
4208 "hspec >= 2.4.4 && < 2.6")))))))
4209 (inputs
4210 `(("ghc-paths" ,ghc-paths)
4211 ("ghc-haddock-library" ,ghc-haddock-library)))
4212 (native-inputs
4213 `(("ghc-quickcheck" ,ghc-quickcheck)
4214 ("ghc-hspec" ,ghc-hspec)
4215 ("hspec-discover" ,hspec-discover)))
4216 (home-page "https://www.haskell.org/haddock/")
4217 (synopsis "API for documentation-generation tool Haddock")
4218 (description "This package provides an API to Haddock, the
4219documentation-generation tool for Haskell libraries.")
4220 (license license:bsd-3)))
4221
4222(define-public ghc-haddock-library
4223 (package
4224 (name "ghc-haddock-library")
4225 (version "1.5.0.1")
4226 (source
4227 (origin
4228 (method url-fetch)
4229 (uri (string-append
4230 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4231 version
4232 ".tar.gz"))
4233 (sha256
4234 (base32
4235 "1cmbg8l5xrwpliclwy3l057raypjqy0hsg1h1743ahaj8gq10b7z"))
4236 (patches (search-patches
4237 "ghc-haddock-library-unbundle.patch"))
4238 (modules '((guix build utils)))
4239 (snippet '(begin
4240 (delete-file-recursively "vendor")
4241 #t))))
4242 (build-system haskell-build-system)
4243 (arguments
4244 `(#:phases
4245 (modify-phases %standard-phases
4246 (add-before 'configure 'relax-test-suite-dependencies
4247 (lambda _
4248 (substitute* "haddock-library.cabal"
4249 (("base-compat\\s*\\^>= 0\\.9\\.3") "base-compat")
4250 (("hspec\\s*\\^>= 2\\.4\\.4") "hspec"))))
4251 ;; The release tarball does not contain the "fixtures/examples"
4252 ;; directory, which is required for testing. In the upstream
4253 ;; repository, the directory exists and is populated. Here, we
4254 ;; create an empty directory to placate the tests.
4255 (add-before 'check 'add-examples-directory
4256 (lambda _
4257 (mkdir "fixtures/examples")
4258 #t)))))
4259 (native-inputs
4260 `(("ghc-base-compat" ,ghc-base-compat)
4261 ("ghc-hspec" ,ghc-hspec)
4262 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4263 ("ghc-quickcheck" ,ghc-quickcheck)
4264 ("ghc-tree-diff" ,ghc-tree-diff)
4265 ("hspec-discover" ,hspec-discover)))
4266 (home-page "https://www.haskell.org/haddock/")
4267 (synopsis "Library exposing some functionality of Haddock")
4268 (description
4269 "Haddock is a documentation-generation tool for Haskell libraries. These
4270modules expose some functionality of it without pulling in the GHC dependency.
4271Please note that the API is likely to change so specify upper bounds in your
4272project if you can't release often. For interacting with Haddock itself, see
4273the ‘haddock’ package.")
4274 (license license:bsd-3)))
4275
4276(define-public ghc-half
4277 (package
4278 (name "ghc-half")
4279 (version "0.3")
4280 (source
4281 (origin
4282 (method url-fetch)
4283 (uri (string-append
4284 "https://hackage.haskell.org/package/half/half-"
4285 version ".tar.gz"))
4286 (sha256
4287 (base32
4288 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4289 (build-system haskell-build-system)
4290 (native-inputs
4291 `(("ghc-hspec" ,ghc-hspec)
4292 ("ghc-quickcheck" ,ghc-quickcheck)))
4293 (home-page "https://github.com/ekmett/half")
4294 (synopsis "Half-precision floating-point computations")
4295 (description "This library provides a half-precision floating-point
4296computation library for Haskell.")
4297 (license license:bsd-3)))
4298
4299(define-public ghc-happy
4300 (package
4301 (name "ghc-happy")
90e7b0e4 4302 (version "1.19.12")
dddbc90c
RV
4303 (source
4304 (origin
4305 (method url-fetch)
4306 (uri (string-append
4307 "https://hackage.haskell.org/package/happy/happy-"
4308 version
4309 ".tar.gz"))
4310 (sha256
4311 (base32
90e7b0e4 4312 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4313 (build-system haskell-build-system)
4314 (arguments
4315 `(#:phases
4316 (modify-phases %standard-phases
4317 (add-after 'unpack 'skip-test-issue93
4318 (lambda _
4319 ;; Tests run out of memory on a system with 2GB of available RAM,
4320 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4321 (substitute* "tests/Makefile"
4322 ((" issue93.y ") " "))
4323 #t)))))
4324 (home-page "https://hackage.haskell.org/package/happy")
4325 (synopsis "Parser generator for Haskell")
4326 (description "Happy is a parser generator for Haskell. Given a grammar
4327specification in BNF, Happy generates Haskell code to parse the grammar.
4328Happy works in a similar way to the yacc tool for C.")
4329 (license license:bsd-3)))
4330
4331(define-public ghc-hashable
4332 (package
4333 (name "ghc-hashable")
4334 (version "1.2.7.0")
4335 (outputs '("out" "doc"))
4336 (source
4337 (origin
4338 (method url-fetch)
4339 (uri (string-append
4340 "https://hackage.haskell.org/package/hashable/hashable-"
4341 version
4342 ".tar.gz"))
4343 (sha256
4344 (base32
4345 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4346 (build-system haskell-build-system)
4347 (inputs
4348 `(("ghc-random" ,ghc-random)))
4349 (native-inputs
4350 `(("ghc-test-framework" ,ghc-test-framework)
4351 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4352 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4353 ("ghc-hunit" ,ghc-hunit)
4354 ("ghc-quickcheck" ,ghc-quickcheck)))
4355 (home-page "https://github.com/tibbe/hashable")
4356 (synopsis "Class for types that can be converted to a hash value")
4357 (description
4358 "This package defines a class, @code{Hashable}, for types that can be
4359converted to a hash value. This class exists for the benefit of hashing-based
4360data structures. The package provides instances for basic types and a way to
4361combine hash values.")
4362 (license license:bsd-3)))
4363
4364(define-public ghc-hashable-bootstrap
4365 (package
4366 (inherit ghc-hashable)
4367 (name "ghc-hashable-bootstrap")
4368 (arguments `(#:tests? #f))
4369 (native-inputs '())
4370 (properties '((hidden? #t)))))
4371
4372(define-public ghc-hashable-time
4373 (package
4374 (name "ghc-hashable-time")
4375 (version "0.2.0.1")
4376 (source
4377 (origin
4378 (method url-fetch)
4379 (uri (string-append
4380 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4381 version
4382 ".tar.gz"))
4383 (sha256
4384 (base32
4385 "0k932nyd08l3xxbh2g3n76py2f4kd9yw4s5a065vjz0xp6wjnxdm"))))
4386 (build-system haskell-build-system)
4387 (arguments
4388 `(#:cabal-revision
4389 ("1" "0rv40xkg3gj8jnqsry1gq3f5s5la6d5arg8fzkirnwdpcgha1as6")))
4390 (inputs `(("ghc-hashable" ,ghc-hashable)))
4391 (home-page "http://hackage.haskell.org/package/hashable-time")
4392 (synopsis "Hashable instances for Data.Time")
4393 (description
4394 "This package provides @code{Hashable} instances for types in
4395@code{Data.Time}.")
4396 (license license:bsd-3)))
4397
4398(define-public ghc-hashtables
4399 (package
4400 (name "ghc-hashtables")
4401 (version "1.2.3.1")
4402 (source
4403 (origin
4404 (method url-fetch)
4405 (uri (string-append
4406 "https://hackage.haskell.org/package/hashtables/hashtables-"
4407 version ".tar.gz"))
4408 (sha256
4409 (base32 "1giw9caajr07slf09j7zry9b0kvm4yj9q78zy1mawzi6gk3wglcg"))))
4410 (build-system haskell-build-system)
4411 (inputs
4412 `(("ghc-hashable" ,ghc-hashable)
4413 ("ghc-primitive" ,ghc-primitive)
4414 ("ghc-vector" ,ghc-vector)))
4415 (home-page "https://github.com/gregorycollins/hashtables")
4416 (synopsis "Haskell Mutable hash tables in the ST monad")
4417 (description "This package provides a Haskell library including a
4418couple of different implementations of mutable hash tables in the ST
4419monad, as well as a typeclass abstracting their common operations, and
4420a set of wrappers to use the hash tables in the IO monad.")
4421 (license license:bsd-3)))
4422
4423(define-public ghc-haskell-lexer
4424 (package
4425 (name "ghc-haskell-lexer")
4426 (version "1.0.2")
4427 (source
4428 (origin
4429 (method url-fetch)
4430 (uri (string-append
4431 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4432 version ".tar.gz"))
4433 (sha256
4434 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4435 (build-system haskell-build-system)
4436 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4437 (synopsis "Fully compliant Haskell 98 lexer")
4438 (description
4439 "This package provides a fully compliant Haskell 98 lexer.")
4440 (license license:bsd-3)))
4441
4442(define-public ghc-haskell-src
4443 (package
4444 (name "ghc-haskell-src")
4445 (version "1.0.3.0")
4446 (source
4447 (origin
4448 (method url-fetch)
4449 (uri (string-append
4450 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4451 version
4452 ".tar.gz"))
4453 (sha256
4454 (base32
4455 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4456 (build-system haskell-build-system)
4457 (inputs
4458 `(("ghc-happy" ,ghc-happy)
4459 ("ghc-syb" ,ghc-syb)))
4460 (home-page
4461 "https://hackage.haskell.org/package/haskell-src")
4462 (synopsis
4463 "Support for manipulating Haskell source code")
4464 (description
4465 "The @code{haskell-src} package provides support for manipulating Haskell
4466source code. The package provides a lexer, parser and pretty-printer, and a
4467definition of a Haskell abstract syntax tree (AST). Common uses of this
4468package are to parse or generate Haskell 98 code.")
4469 (license license:bsd-3)))
4470
4471(define-public ghc-haskell-src-exts
4472 (package
4473 (name "ghc-haskell-src-exts")
4474 (version "1.20.2")
4475 (source
4476 (origin
4477 (method url-fetch)
4478 (uri (string-append
4479 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4480 version
4481 ".tar.gz"))
4482 (sha256
4483 (base32
4484 "1sm3z4v1p5yffg01ldgavz71s3bvfhjfa13k428rk14bpkl8crlz"))))
4485 (build-system haskell-build-system)
4486 (inputs
4487 `(("cpphs" ,cpphs)
4488 ("ghc-happy" ,ghc-happy)
4489 ("ghc-pretty-show" ,ghc-pretty-show)))
4490 (native-inputs
4491 `(("ghc-smallcheck" ,ghc-smallcheck)
4492 ("ghc-tasty" ,ghc-tasty)
4493 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4494 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4495 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4496 (synopsis "Library for manipulating Haskell source")
4497 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4498extension of the standard @code{haskell-src} package, and handles most
4499registered syntactic extensions to Haskell. All extensions implemented in GHC
4500are supported. Apart from these standard extensions, it also handles regular
4501patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4502 (license license:bsd-3)))
4503
4504(define-public ghc-haskell-src-exts-util
4505 (package
4506 (name "ghc-haskell-src-exts-util")
4507 (version "0.2.3")
4508 (source
4509 (origin
4510 (method url-fetch)
4511 (uri (string-append "https://hackage.haskell.org/package/"
4512 "haskell-src-exts-util/haskell-src-exts-util-"
4513 version ".tar.gz"))
4514 (sha256
4515 (base32
4516 "1803718paq89f8pdck4mb88hv2k1ah9lxzq0lgjgwi9n88ryycz8"))))
4517 (build-system haskell-build-system)
4518 (inputs
4519 `(("ghc-data-default" ,ghc-data-default)
4520 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4521 ("ghc-semigroups" ,ghc-semigroups)
4522 ("ghc-uniplate" ,ghc-uniplate)))
4523 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4524 (synopsis "Helper functions for working with haskell-src-exts trees")
4525 (description
4526 "This package provides helper functions for working with
4527@code{haskell-src-exts} trees.")
4528 (license license:bsd-3)))
4529
4530(define-public ghc-haskell-src-meta
4531 (package
4532 (name "ghc-haskell-src-meta")
4533 (version "0.8.0.3")
4534 (source (origin
4535 (method url-fetch)
4536 (uri (string-append "https://hackage.haskell.org/package/"
4537 "haskell-src-meta/haskell-src-meta-"
4538 version ".tar.gz"))
4539 (sha256
4540 (base32
4541 "08jq156zv4m0fjq6712n99c1jwxnpa6kj6sq8ch0r1l0a1ay6ww4"))))
4542 (build-system haskell-build-system)
4543 (inputs
4544 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4545 ("ghc-syb" ,ghc-syb)
4546 ("ghc-th-orphans" ,ghc-th-orphans)))
4547 (native-inputs
4548 `(("ghc-hunit" ,ghc-hunit)
4549 ("ghc-test-framework" ,ghc-test-framework)
4550 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4551 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4552 (synopsis "Parse source to template-haskell abstract syntax")
4553 (description
4554 "This package provides tools to parse Haskell sources to the
4555template-haskell abstract syntax.")
4556 (license license:bsd-3)))
4557
4558(define-public ghc-hasktags
4559 (package
4560 (name "ghc-hasktags")
4561 (version "0.71.2")
4562 (source
4563 (origin
4564 (method url-fetch)
4565 (uri (string-append
4566 "https://hackage.haskell.org/package/hasktags/hasktags-"
4567 version
4568 ".tar.gz"))
4569 (sha256
4570 (base32
4571 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4572 (build-system haskell-build-system)
4573 (inputs
4574 `(("ghc-system-filepath" ,ghc-system-filepath)
4575 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4576 (native-inputs
4577 `(("ghc-json" ,ghc-json)
4578 ("ghc-utf8-string" ,ghc-utf8-string)
4579 ("ghc-microlens-platform" ,ghc-microlens-platform)
4580 ("ghc-hunit" ,ghc-hunit)))
4581 (home-page "http://github.com/MarcWeber/hasktags")
4582 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4583 (description
4584 "This package provides a means of generating tag files for Emacs and
4585Vim.")
4586 (license license:bsd-3)))
4587
4588(define-public ghc-hex
4589 (package
4590 (name "ghc-hex")
4591 (version "0.1.2")
4592 (source
4593 (origin
4594 (method url-fetch)
4595 (uri (string-append "https://hackage.haskell.org/package/"
4596 "hex-" version "/"
4597 "hex-" version ".tar.gz"))
4598 (sha256
4599 (base32
4600 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4601 (build-system haskell-build-system)
4602 (home-page "https://hackage.haskell.org/package/hex")
4603 (synopsis "Convert strings into hexadecimal and back")
4604 (description "This package provides conversion functions between
4605bytestrings and their hexademical representation.")
4606 (license license:bsd-3)))
4607
4608(define-public ghc-highlighting-kate
4609 (package
4610 (name "ghc-highlighting-kate")
4611 (version "0.6.4")
4612 (source (origin
4613 (method url-fetch)
4614 (uri (string-append "https://hackage.haskell.org/package/"
4615 "highlighting-kate/highlighting-kate-"
4616 version ".tar.gz"))
4617 (sha256
4618 (base32
4619 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4620 (build-system haskell-build-system)
4621 (inputs
4622 `(("ghc-diff" ,ghc-diff)
4623 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4624 (native-inputs
4625 `(("ghc-blaze-html" ,ghc-blaze-html)
4626 ("ghc-utf8-string" ,ghc-utf8-string)))
4627 (home-page "https://github.com/jgm/highlighting-kate")
4628 (synopsis "Syntax highlighting library")
4629 (description
4630 "Highlighting-kate is a syntax highlighting library with support for
4631nearly one hundred languages. The syntax parsers are automatically generated
4632from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4633supported by Kate can be added. An (optional) command-line program is
4634provided, along with a utility for generating new parsers from Kate XML syntax
4635descriptions.")
4636 (license license:gpl2+)))
4637
4638(define-public ghc-hindent
4639 (package
4640 (name "ghc-hindent")
4641 (version "5.3.0")
4642 (source
4643 (origin
4644 (method url-fetch)
4645 (uri (string-append
4646 "https://hackage.haskell.org/package/hindent/hindent-"
4647 version
4648 ".tar.gz"))
4649 (sha256
4650 (base32
4651 "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg"))))
4652 (build-system haskell-build-system)
4653 (arguments
4654 `(#:modules ((guix build haskell-build-system)
4655 (guix build utils)
4656 (guix build emacs-utils))
4657 #:imported-modules (,@%haskell-build-system-modules
4658 (guix build emacs-utils))
4659 #:phases
4660 (modify-phases %standard-phases
4661 (add-after 'install 'emacs-install
4662 (lambda* (#:key inputs outputs #:allow-other-keys)
4663 (let* ((out (assoc-ref outputs "out"))
4664 (elisp-file "elisp/hindent.el")
4665 (dest (string-append out "/share/emacs/site-lisp"
4666 "/guix.d/hindent-" ,version))
4667 (emacs (string-append (assoc-ref inputs "emacs")
4668 "/bin/emacs")))
4669 (make-file-writable elisp-file)
4670 (emacs-substitute-variables elisp-file
4671 ("hindent-process-path"
4672 (string-append out "/bin/hindent")))
4673 (install-file elisp-file dest)
4674 (emacs-generate-autoloads "hindent" dest)))))))
4675 (inputs
4676 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4677 ("ghc-monad-loops" ,ghc-monad-loops)
4678 ("ghc-utf8-string" ,ghc-utf8-string)
4679 ("ghc-exceptions" ,ghc-exceptions)
4680 ("ghc-yaml" ,ghc-yaml)
4681 ("ghc-unix-compat" ,ghc-unix-compat)
4682 ("ghc-path" ,ghc-path)
4683 ("ghc-path-io" ,ghc-path-io)
4684 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4685 (native-inputs
4686 `(("ghc-hspec" ,ghc-hspec)
4687 ("ghc-diff" ,ghc-diff)
4688 ("emacs" ,emacs-minimal)))
4689 (home-page
4690 "https://github.com/commercialhaskell/hindent")
4691 (synopsis "Extensible Haskell pretty printer")
4692 (description
4693 "This package provides automatic formatting for Haskell files. Both a
4694library and an executable.")
4695 (license license:bsd-3)))
4696
4697(define-public ghc-hinotify
4698 (package
4699 (name "ghc-hinotify")
4700 (version "0.3.10")
4701 (source (origin
4702 (method url-fetch)
4703 (uri (string-append
4704 "https://hackage.haskell.org/package/hinotify/"
4705 "hinotify-" version ".tar.gz"))
4706 (sha256
4707 (base32
4708 "17ax3n68a5c2ddazp86aciliskrh6znd3bnry0wcllmb6dbpsaxg"))))
4709 (build-system haskell-build-system)
4710 (inputs
4711 `(("ghc-async" ,ghc-async)))
4712 (home-page "https://github.com/kolmodin/hinotify.git")
4713 (synopsis "Haskell binding to inotify")
4714 (description "This library provides a wrapper to the Linux kernel's inotify
4715feature, allowing applications to subscribe to notifications when a file is
4716accessed or modified.")
4717 (license license:bsd-3)))
4718
4719(define-public ghc-hmatrix
4720 (package
4721 (name "ghc-hmatrix")
4722 (version "0.19.0.0")
4723 (source
4724 (origin
4725 (method url-fetch)
4726 (uri (string-append
4727 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
4728 version ".tar.gz"))
4729 (sha256
4730 (base32 "10jd69nby29dggghcyjk6ykyr5wrn97nrv1dkpyrp0y5xm12xssj"))))
4731 (build-system haskell-build-system)
4732 (inputs
4733 `(("ghc-random" ,ghc-random)
4734 ("ghc-split" ,ghc-split)
4735 ("ghc-storable-complex" ,ghc-storable-complex)
4736 ("ghc-semigroups" ,ghc-semigroups)
4737 ("ghc-vector" ,ghc-vector)
4738 ;;("openblas" ,openblas)
4739 ("lapack" ,lapack)))
4740 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
4741 ;; disables inclusion of the LAPACK functions.
4742 ;; (arguments `(#:configure-flags '("--flags=openblas")))
4743 (home-page "https://github.com/albertoruiz/hmatrix")
4744 (synopsis "Haskell numeric linear algebra library")
4745 (description "The HMatrix package provices a Haskell library for
4746dealing with linear systems, matrix decompositions, and other
4747numerical computations based on BLAS and LAPACK.")
4748 (license license:bsd-3)))
4749
4750(define-public ghc-hmatrix-gsl
4751 (package
4752 (name "ghc-hmatrix-gsl")
4753 (version "0.19.0.1")
4754 (source
4755 (origin
4756 (method url-fetch)
4757 (uri (string-append
4758 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
4759 version ".tar.gz"))
4760 (sha256
4761 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
4762 (build-system haskell-build-system)
4763 (inputs
4764 `(("ghc-hmatrix" ,ghc-hmatrix)
4765 ("ghc-vector" ,ghc-vector)
4766 ("ghc-random" ,ghc-random)
4767 ("gsl" ,gsl)))
4768 (native-inputs `(("pkg-config" ,pkg-config)))
4769 (home-page "https://github.com/albertoruiz/hmatrix")
4770 (synopsis "Haskell GSL binding")
4771 (description "This Haskell library provides a purely functional
4772interface to selected numerical computations, internally implemented
4773using GSL.")
4774 (license license:gpl3+)))
4775
4776(define-public ghc-hmatrix-gsl-stats
4777 (package
4778 (name "ghc-hmatrix-gsl-stats")
4779 (version "0.4.1.7")
4780 (source
4781 (origin
4782 (method url-fetch)
4783 (uri
4784 (string-append
4785 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4786 version ".tar.gz"))
4787 (sha256
4788 (base32 "1gslgk58lzin43cvbpivhw7nrn9qyaa6qwhy1z9ypvyal5p8n3sa"))))
4789 (build-system haskell-build-system)
4790 (inputs
4791 `(("ghc-vector" ,ghc-vector)
4792 ("ghc-storable-complex" ,ghc-storable-complex)
4793 ("ghc-hmatrix" ,ghc-hmatrix)
4794 ("gsl" ,gsl)))
4795 (native-inputs `(("pkg-config" ,pkg-config)))
4796 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
4797 (synopsis "GSL Statistics interface for Haskell")
4798 (description "This Haskell library provides a purely functional
4799interface for statistics based on hmatrix and GSL.")
4800 (license license:bsd-3)))
4801
4802(define-public ghc-hmatrix-special
4803 (package
4804 (name "ghc-hmatrix-special")
4805 (version "0.19.0.0")
4806 (source
4807 (origin
4808 (method url-fetch)
4809 (uri
4810 (string-append
4811 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
4812 version ".tar.gz"))
4813 (sha256
4814 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
4815 (build-system haskell-build-system)
4816 (inputs
4817 `(("ghc-hmatrix" ,ghc-hmatrix)
4818 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
4819 (home-page "https://github.com/albertoruiz/hmatrix")
4820 (synopsis "Haskell interface to GSL special functions")
4821 (description "This library provides an interface to GSL special
4822functions for Haskell.")
4823 (license license:gpl3+)))
4824
4825(define-public ghc-hostname
4826 (package
4827 (name "ghc-hostname")
4828 (version "1.0")
4829 (source
4830 (origin
4831 (method url-fetch)
4832 (uri (string-append "https://hackage.haskell.org/package/hostname/"
4833 "hostname-" version ".tar.gz"))
4834 (sha256
4835 (base32
4836 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
4837 (build-system haskell-build-system)
4838 (home-page "https://hackage.haskell.org/package/hostname")
4839 (synopsis "Hostname in Haskell")
4840 (description "Network.HostName is a simple package providing a means to
4841determine the hostname.")
4842 (license license:bsd-3)))
4843
4844(define-public ghc-hourglass
4845 (package
4846 (name "ghc-hourglass")
4847 (version "0.2.12")
4848 (source (origin
4849 (method url-fetch)
4850 (uri (string-append "https://hackage.haskell.org/package/"
4851 "hourglass/hourglass-" version ".tar.gz"))
4852 (sha256
4853 (base32
4854 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
4855 (build-system haskell-build-system)
4856 (inputs
4857 `(("ghc-old-locale" ,ghc-old-locale)))
4858 (native-inputs
4859 `(("ghc-tasty" ,ghc-tasty)
4860 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4861 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4862 (home-page "https://github.com/vincenthz/hs-hourglass")
4863 (synopsis "Simple time-related library for Haskell")
4864 (description
4865 "This is a simple time library providing a simple but powerful and
4866performant API. The backbone of the library are the @code{Timeable} and
4867@code{Time} type classes. Each @code{Timeable} instances can be converted to
4868a type that has a @code{Time} instances, and thus are different
4869representations of current time.")
4870 (license license:bsd-3)))
4871
4872(define-public ghc-hpack
4873 (package
4874 (name "ghc-hpack")
4875 (version "0.28.2")
4876 (source
4877 (origin
4878 (method url-fetch)
4879 (uri (string-append "https://hackage.haskell.org/package/hpack/"
4880 "hpack-" version ".tar.gz"))
4881 (sha256
4882 (base32
4883 "18w0h76jdp3mk9vin8da9iz3cwhcxmw787xy8wlh8bxcpcr16q5r"))))
4884 (build-system haskell-build-system)
4885 (inputs
4886 `(("ghc-aeson" ,ghc-aeson)
4887 ("ghc-bifunctors" ,ghc-bifunctors)
4888 ("ghc-cryptonite" ,ghc-cryptonite)
4889 ("ghc-glob" ,ghc-glob)
4890 ("ghc-http-client" ,ghc-http-client)
4891 ("ghc-http-client-tls" ,ghc-http-client-tls)
4892 ("ghc-http-types" ,ghc-http-types)
4893 ("ghc-scientific" ,ghc-scientific)
4894 ("ghc-unordered-containers" ,ghc-unordered-containers)
4895 ("ghc-vector" ,ghc-vector)
4896 ("ghc-yaml" ,ghc-yaml)))
4897 (native-inputs
4898 `(("ghc-hspec" ,ghc-hspec)
4899 ("ghc-hunit" ,ghc-hunit)
4900 ("ghc-interpolate" ,ghc-interpolate)
4901 ("ghc-mockery" ,ghc-mockery)
4902 ("ghc-quickcheck" ,ghc-quickcheck)
4903 ("ghc-temporary" ,ghc-temporary)
4904 ("hspec-discover" ,hspec-discover)))
4905 (home-page "https://github.com/sol/hpack")
4906 (synopsis "Tools for an alternative Haskell package format")
4907 (description
4908 "Hpack is a format for Haskell packages. It is an alternative to the
4909Cabal package format and follows different design principles. Hpack packages
4910are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
4911@code{stack} support @code{package.yaml} natively. For other build tools the
4912@code{hpack} executable can be used to generate a @code{.cabal} file from
4913@code{package.yaml}.")
4914 (license license:expat)))
4915
4916(define-public ghc-hs-bibutils
4917 (package
4918 (name "ghc-hs-bibutils")
4919 (version "6.6.0.0")
4920 (source
4921 (origin
4922 (method url-fetch)
4923 (uri (string-append
4924 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
4925 version ".tar.gz"))
4926 (sha256
4927 (base32
4928 "0n2sz2zl4naspryd49ii858qkjp2lapns5a2gr8zm6vvn5sh1f0l"))))
4929 (build-system haskell-build-system)
4930 (inputs `(("ghc-syb" ,ghc-syb)))
4931 (home-page "https://hackage.haskell.org/package/hs-bibutils")
4932 (synopsis "Haskell bindings to bibutils")
4933 (description
4934 "This package provides Haskell bindings to @code{bibutils}, a library
4935that interconverts between various bibliography formats using a common
4936MODS-format XML intermediate.")
4937 (license license:gpl2+)))
4938
4939(define-public ghc-hslogger
4940 (package
4941 (name "ghc-hslogger")
4942 (version "1.2.10")
4943 (source
4944 (origin
4945 (method url-fetch)
4946 (uri (string-append "https://hackage.haskell.org/package/"
4947 "hslogger-" version "/" "hslogger-"
4948 version ".tar.gz"))
4949 (sha256 (base32
4950 "0as5gvlh6pi2gflakp695qnlizyyp059dqrhvjl4gjxalja6xjnp"))))
4951 (build-system haskell-build-system)
4952 (inputs
4953 `(("ghc-network" ,ghc-network)
4954 ("ghc-old-locale" ,ghc-old-locale)))
4955 (native-inputs
4956 `(("ghc-hunit" ,ghc-hunit)))
4957 (home-page "https://software.complete.org/hslogger")
4958 (synopsis "Logging framework for Haskell, similar to Python's logging module")
4959 (description "Hslogger lets each log message have a priority and source be
4960associated with it. The programmer can then define global handlers that route
4961or filter messages based on the priority and source. It also has a syslog
4962handler built in.")
4963 (license license:bsd-3)))
4964
4965(define-public ghc-hslua
4966 (package
4967 (name "ghc-hslua")
4968 (version "0.9.5.2")
4969 (source (origin
4970 (method url-fetch)
4971 (uri (string-append "https://hackage.haskell.org/package/"
4972 "hslua/hslua-" version ".tar.gz"))
4973 (sha256
4974 (base32
4975 "1rdvv01p214zfjh6fcqjjgqwi8y42wad6cqzhlcv5gvclzw2ck8f"))))
4976 (build-system haskell-build-system)
4977 (arguments
4978 `(#:configure-flags '("-fsystem-lua")))
4979 (inputs
4980 `(("lua" ,lua)
4981 ("ghc-exceptions" ,ghc-exceptions)
4982 ("ghc-fail" ,ghc-fail)))
4983 (native-inputs
4984 `(("ghc-tasty" ,ghc-tasty)
4985 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
4986 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4987 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4988 ("ghc-quickcheck" ,ghc-quickcheck)
4989 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
4990 (home-page "https://hackage.haskell.org/package/hslua")
4991 (synopsis "Lua language interpreter embedding in Haskell")
4992 (description
4993 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
4994described in @url{https://www.lua.org/}.")
4995 (license license:expat)))
4996
4997(define-public ghc-hslua-module-text
4998 (package
4999 (name "ghc-hslua-module-text")
5000 (version "0.1.2.1")
5001 (source
5002 (origin
5003 (method url-fetch)
5004 (uri (string-append "https://hackage.haskell.org/package/"
5005 "hslua-module-text/hslua-module-text-"
5006 version ".tar.gz"))
5007 (sha256
5008 (base32
5009 "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf"))))
5010 (build-system haskell-build-system)
5011 (arguments
5012 `(#:cabal-revision
5013 ("1" "0vajlsd7y6pwa08635q0cx8z5c1c55bk7fvavw7g2vmyvxqjzx6n")))
5014 (inputs
5015 `(("ghc-hslua" ,ghc-hslua)))
5016 (native-inputs
5017 `(("ghc-tasty" ,ghc-tasty)
5018 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5019 (home-page "https://github.com/hslua/hslua-module-text")
5020 (synopsis "Lua module for text")
5021 (description
5022 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5023for Haskell. The functions provided by this module are @code{upper},
5024@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5025 (license license:expat)))
5026
5027(define-public ghc-http-api-data
5028 (package
5029 (name "ghc-http-api-data")
5030 (version "0.3.8.1")
5031 (source
5032 (origin
5033 (method url-fetch)
5034 (uri (string-append "https://hackage.haskell.org/package/"
5035 "http-api-data-" version "/"
5036 "http-api-data-" version ".tar.gz"))
5037 (sha256
5038 (base32
5039 "1cq6459b8wz6nvkvpi89dg189n5q2xdq4rdq435hf150555vmskf"))))
5040 (build-system haskell-build-system)
5041 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9
5042 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5043 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
5044 ("ghc-hashable" ,ghc-hashable)
5045 ("ghc-http-types" ,ghc-http-types)
5046 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
5047 ("ghc-unordered-containers" ,ghc-unordered-containers)
5048 ("ghc-uri-bytestring" ,ghc-uri-bytestring)
5049 ("ghc-uuid-types" ,ghc-uuid-types)))
5050 (home-page "https://github.com/fizruk/http-api-data")
5051 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5052query parameters")
5053 (description "This Haskell package defines typeclasses used for converting
5054Haskell data types to and from HTTP API data.")
5055 (license license:bsd-3)))
5056
5057(define-public ghc-ieee754
5058 (package
5059 (name "ghc-ieee754")
5060 (version "0.8.0")
5061 (source (origin
5062 (method url-fetch)
5063 (uri (string-append
5064 "https://hackage.haskell.org/package/ieee754/"
5065 "ieee754-" version ".tar.gz"))
5066 (sha256
5067 (base32
5068 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5069 (build-system haskell-build-system)
5070 (home-page "https://github.com/patperry/hs-ieee754")
5071 (synopsis "Utilities for dealing with IEEE floating point numbers")
5072 (description "Utilities for dealing with IEEE floating point numbers,
5073ported from the Tango math library; approximate and exact equality comparisons
5074for general types.")
5075 (license license:bsd-3)))
5076
5077(define-public ghc-ifelse
5078 (package
5079 (name "ghc-ifelse")
5080 (version "0.85")
5081 (source
5082 (origin
5083 (method url-fetch)
5084 (uri (string-append "https://hackage.haskell.org/package/"
5085 "IfElse/IfElse-" version ".tar.gz"))
5086 (sha256
5087 (base32
5088 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5089 (build-system haskell-build-system)
5090 (home-page "http://hackage.haskell.org/package/IfElse")
5091 (synopsis "Monadic control flow with anaphoric variants")
5092 (description "This library provides functions for control flow inside of
5093monads with anaphoric variants on @code{if} and @code{when} and a C-like
5094@code{switch} function.")
5095 (license license:bsd-3)))
5096
5097(define-public ghc-indents
5098 (package
5099 (name "ghc-indents")
5100 (version "0.5.0.0")
5101 (source (origin
5102 (method url-fetch)
5103 (uri (string-append
5104 "https://hackage.haskell.org/package/indents/indents-"
5105 version ".tar.gz"))
5106 (sha256
5107 (base32
5108 "1ly3v41jacc6lrsvg4j3m5a6zs90gr8dyif5m6bf34hj1k5cgg0n"))))
5109 (build-system haskell-build-system)
5110 ;; This package needs an older version of tasty.
5111 (arguments '(#:tests? #f))
5112 (inputs
5113 `(("ghc-concatenative" ,ghc-concatenative)))
5114 (native-inputs
5115 `(("ghc-tasty" ,ghc-tasty)
5116 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5117 (home-page "http://patch-tag.com/r/salazar/indents")
5118 (synopsis "Indentation sensitive parser-combinators for parsec")
5119 (description
5120 "This library provides functions for use in parsing indentation sensitive
5121contexts. It parses blocks of lines all indented to the same level as well as
5122lines continued at an indented level below.")
5123 (license license:bsd-3)))
5124
5125(define-public ghc-inline-c
5126 (package
5127 (name "ghc-inline-c")
5128 (version "0.6.1.0")
5129 (source
5130 (origin
5131 (method url-fetch)
5132 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5133 "inline-c-" version ".tar.gz"))
5134 (sha256
5135 (base32
5136 "0vbfrsqsi7mdziqsnj68bsqlwbqxxhvrmy9rv6w8z18d1m8w3n6h"))))
5137 (build-system haskell-build-system)
5138 (inputs
5139 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5140 ("ghc-cryptohash" ,ghc-cryptohash)
5141 ("ghc-hashable" ,ghc-hashable)
5142 ("ghc-parsers" ,ghc-parsers)
5143 ("ghc-unordered-containers" ,ghc-unordered-containers)
5144 ("ghc-vector" ,ghc-vector)))
5145 (native-inputs
5146 `(("ghc-quickcheck" ,ghc-quickcheck)
5147 ("ghc-hspec" ,ghc-hspec)
5148 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5149 ("ghc-regex-posix" ,ghc-regex-posix)))
5150 (home-page "http://hackage.haskell.org/package/inline-c")
5151 (synopsis "Write Haskell source files including C code inline")
5152 (description
5153 "inline-c lets you seamlessly call C libraries and embed high-performance
5154inline C code in Haskell modules. Haskell and C can be freely intermixed in
5155the same source file, and data passed to and from code in either language with
5156minimal overhead. No FFI required.")
5157 (license license:expat)))
5158
5159(define-public ghc-inline-c-cpp
5160 (package
5161 (name "ghc-inline-c-cpp")
5162 (version "0.2.2.1")
5163 (source
5164 (origin
5165 (method url-fetch)
5166 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5167 "inline-c-cpp-" version ".tar.gz"))
5168 (sha256
5169 (base32
5170 "1rk7fmpkmxw9hhwr8df29kadnf0ybnwj64ggdbnsdrpfyhnkisci"))))
5171 (build-system haskell-build-system)
5172 (inputs
5173 `(("ghc-inline-c" ,ghc-inline-c)
5174 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5175 (native-inputs
5176 `(("ghc-hspec" ,ghc-hspec)))
5177 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5178 (synopsis "Lets you embed C++ code into Haskell")
5179 (description
5180 "This package provides utilities to inline C++ code into Haskell using
5181@code{inline-c}.")
5182 (license license:expat)))
5183
5184(define-public ghc-integer-logarithms
5185 (package
5186 (name "ghc-integer-logarithms")
5187 (version "1.0.2.1")
5188 (source
5189 (origin
5190 (method url-fetch)
5191 (uri (string-append "https://hackage.haskell.org/package/"
5192 "integer-logarithms/integer-logarithms-"
5193 version ".tar.gz"))
5194 (sha256
5195 (base32
5196 "1wj8kgjg5bn2yrs4zh9qfjv85cx6w998j9pi39yrbv305944mb9j"))))
5197 (build-system haskell-build-system)
5198 (arguments
5199 `(#:phases
5200 (modify-phases %standard-phases
5201 (add-before 'configure 'update-constraints
5202 (lambda _
5203 (substitute* "integer-logarithms.cabal"
5204 (("tasty >= 0\\.10 && < 1\\.1")
5205 "tasty >= 0.10 && < 1.2")))))))
5206 (native-inputs
5207 `(("ghc-quickcheck" ,ghc-quickcheck)
5208 ("ghc-smallcheck" ,ghc-smallcheck)
5209 ("ghc-tasty" ,ghc-tasty)
5210 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5211 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5212 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5213 (home-page "https://github.com/Bodigrim/integer-logarithms")
5214 (synopsis "Integer logarithms")
5215 (description
5216 "This package provides the following modules:
5217@code{Math.NumberTheory.Logarithms} and
5218@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5219@code{GHC.Integer.Logarithms.Compat} and
5220@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5221in migrated modules.")
5222 (license license:expat)))
5223
5224(define-public ghc-integer-logarithms-bootstrap
5225 (package
5226 (inherit ghc-integer-logarithms)
5227 (name "ghc-integer-logarithms-bootstrap")
5228 (arguments `(#:tests? #f))
5229 (native-inputs '())
799d8d3c 5230 (properties '((hidden? #t)))))
dddbc90c
RV
5231
5232(define-public ghc-interpolate
5233 (package
5234 (name "ghc-interpolate")
5235 (version "0.2.0")
5236 (source
5237 (origin
5238 (method url-fetch)
5239 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5240 "interpolate-" version ".tar.gz"))
5241 (sha256
5242 (base32
5243 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5244 (build-system haskell-build-system)
5245 (inputs
5246 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5247 (native-inputs
5248 `(("ghc-base-compat" ,ghc-base-compat)
5249 ("ghc-hspec" ,ghc-hspec)
5250 ("ghc-quickcheck" ,ghc-quickcheck)
5251 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5252 ("hspec-discover" ,hspec-discover)))
5253 (home-page "https://github.com/sol/interpolate")
5254 (synopsis "String interpolation library")
5255 (description "This package provides a string interpolation library for
5256Haskell.")
5257 (license license:expat)))
5258
5259(define-public ghc-intervalmap
5260 (package
5261 (name "ghc-intervalmap")
5262 (version "0.6.0.0")
5263 (source
5264 (origin
5265 (method url-fetch)
5266 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5267 "IntervalMap-" version ".tar.gz"))
5268 (sha256
5269 (base32
5270 "06hin9wf1by8aqa7820fsi2339bh82184frkwz3jsb9sqa0hszcg"))))
5271 (build-system haskell-build-system)
5272 (native-inputs
5273 `(("ghc-quickcheck" ,ghc-quickcheck)))
5274 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5275 (synopsis "Containers for intervals, with efficient search")
5276 (description
5277 "This package provides ordered containers of intervals, with efficient
5278search for all keys containing a point or overlapping an interval. See the
5279example code on the home page for a quick introduction.")
5280 (license license:bsd-3)))
5281
5282(define-public ghc-invariant
5283 (package
5284 (name "ghc-invariant")
5285 (version "0.5.1")
5286 (source
5287 (origin
5288 (method url-fetch)
5289 (uri (string-append
5290 "https://hackage.haskell.org/package/invariant/invariant-"
5291 version ".tar.gz"))
5292 (sha256
5293 (base32
5294 "0aqj7z55632qdg45074kgn9qfdxzb0a2f8lgjzr0l0i4mm2rr37b"))))
5295 (build-system haskell-build-system)
5296 (inputs
5297 `(("ghc-bifunctors" ,ghc-bifunctors)
5298 ("ghc-comonad" ,ghc-comonad)
5299 ("ghc-contravariant" ,ghc-contravariant)
5300 ("ghc-profunctors" ,ghc-profunctors)
5301 ("ghc-semigroups" ,ghc-semigroups)
5302 ("ghc-statevar" ,ghc-statevar)
5303 ("ghc-tagged" ,ghc-tagged)
5304 ("ghc-th-abstraction" ,ghc-th-abstraction)
5305 ("ghc-transformers-compat" ,ghc-transformers-compat)
5306 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5307 (native-inputs
5308 `(("ghc-hspec" ,ghc-hspec)
5309 ("ghc-quickcheck" ,ghc-quickcheck)
5310 ("hspec-discover" ,hspec-discover)))
5311 (home-page "https://github.com/nfrisby/invariant-functors")
5312 (synopsis "Haskell98 invariant functors")
5313 (description "Haskell98 invariant functors (also known as exponential
5314functors). For more information, see Edward Kmett's article
5315@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5316 (license license:bsd-2)))
5317
5318(define-public ghc-io-streams
5319 (package
5320 (name "ghc-io-streams")
5321 (version "1.5.0.1")
5322 (source
5323 (origin
5324 (method url-fetch)
5325 (uri (string-append "https://hackage.haskell.org/package/"
5326 "io-streams/io-streams-" version ".tar.gz"))
5327 (sha256
5328 (base32
5329 "12rcdg2d70644bvn838fxcjkssqj8pssnx5y657si5rijcbkgjsx"))))
5330 (build-system haskell-build-system)
5331 (inputs
5332 `(("ghc-attoparsec" ,ghc-attoparsec)
5333 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5334 ("ghc-network" ,ghc-network)
5335 ("ghc-primitive" ,ghc-primitive)
5336 ("ghc-vector" ,ghc-vector)
5337 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5338 (native-inputs
5339 `(("ghc-hunit" ,ghc-hunit)
5340 ("ghc-quickcheck" ,ghc-quickcheck)
5341 ("ghc-test-framework" ,ghc-test-framework)
5342 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5343 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5344 ("ghc-zlib" ,ghc-zlib)))
5345 (arguments
5346 `(#:cabal-revision
5347 ("2" "1mcab95d6hm098myh9gp7sh10srigjphgvm8s9pfs7jg5hzghy14")))
5348 (home-page "http://hackage.haskell.org/package/io-streams")
5349 (synopsis "Simple and composable stream I/O")
5350 (description "This library contains simple and easy-to-use
5351primitives for I/O using streams.")
5352 (license license:bsd-3)))
5353
5354(define-public ghc-io-streams-haproxy
5355 (package
5356 (name "ghc-io-streams-haproxy")
5357 (version "1.0.0.2")
5358 (source
5359 (origin
5360 (method url-fetch)
5361 (uri (string-append "https://hackage.haskell.org/package/"
5362 "io-streams-haproxy/io-streams-haproxy-"
5363 version ".tar.gz"))
5364 (sha256
5365 (base32
5366 "11nh9q158mgnvvb23s5ffg87lkhl5smk039yl43jghxmb214z0bp"))))
5367 (build-system haskell-build-system)
5368 (inputs
5369 `(("ghc-attoparsec" ,ghc-attoparsec)
5370 ("ghc-io-streams" ,ghc-io-streams)
5371 ("ghc-network" ,ghc-network)))
5372 (native-inputs
5373 `(("ghc-hunit" ,ghc-hunit)
5374 ("ghc-test-framework" ,ghc-test-framework)
5375 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5376 (arguments
5377 `(#:cabal-revision
5378 ("4" "06c51a057n5bc9xfbp2m4jz5ds4z1xvmsx5mppch6qfwbz7x5i9l")))
5379 (home-page "http://snapframework.com/")
5380 (synopsis "HAProxy protocol 1.5 support for io-streams")
5381 (description "HAProxy protocol version 1.5 support
5382(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5383for applications using io-streams. The proxy protocol allows information
5384about a networked peer (like remote address and port) to be propagated
5385through a forwarding proxy that is configured to speak this protocol.")
5386 (license license:bsd-3)))
5387
5388(define-public ghc-iproute
5389 (package
5390 (name "ghc-iproute")
5391 (version "1.7.5")
5392 (source
5393 (origin
5394 (method url-fetch)
5395 (uri (string-append
5396 "https://hackage.haskell.org/package/iproute/iproute-"
5397 version
5398 ".tar.gz"))
5399 (sha256
5400 (base32
5401 "1vw1nm3s8vz1hqnjnqd3wh5rr4q3m2r4izn5ynhf93h9185qwqzd"))))
5402 (build-system haskell-build-system)
5403 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5404 ; exported by ghc-byteorder. Doctest issue.
5405 (inputs
5406 `(("ghc-appar" ,ghc-appar)
5407 ("ghc-byteorder" ,ghc-byteorder)
5408 ("ghc-network" ,ghc-network)
5409 ("ghc-safe" ,ghc-safe)))
5410 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5411 (synopsis "IP routing table")
5412 (description "IP Routing Table is a tree of IP ranges to search one of
5413them on the longest match base. It is a kind of TRIE with one way branching
5414removed. Both IPv4 and IPv6 are supported.")
5415 (license license:bsd-3)))
5416
5417(define-public ghc-iwlib
5418 (package
5419 (name "ghc-iwlib")
5420 (version "0.1.0")
5421 (source
5422 (origin
5423 (method url-fetch)
5424 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5425 version ".tar.gz"))
5426 (sha256
5427 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5428 (build-system haskell-build-system)
5429 (inputs
5430 `(("wireless-tools" ,wireless-tools)))
5431 (home-page "https://github.com/jaor/iwlib")
5432 (synopsis "Haskell binding to the iw wireless networking library")
5433 (description
5434 "IWlib is a thin Haskell binding to the iw C library. It provides
5435information about the current wireless network connections, and adapters on
5436supported systems.")
5437 (license license:bsd-3)))
5438
5439(define-public ghc-json
5440 (package
5441 (name "ghc-json")
5442 (version "0.9.2")
5443 (source
5444 (origin
5445 (method url-fetch)
5446 (uri (string-append "https://hackage.haskell.org/package/json/"
5447 "json-" version ".tar.gz"))
5448 (sha256
5449 (base32
5450 "13kkfgx58z18jphbg56jn08jn72wi3kvfndlwwx87hqwg7x1dfz6"))))
5451 (build-system haskell-build-system)
5452 (inputs
5453 `(("ghc-syb" ,ghc-syb)))
5454 (home-page "https://hackage.haskell.org/package/json")
5455 (synopsis "Serializes Haskell data to and from JSON")
5456 (description "This package provides a parser and pretty printer for
5457converting between Haskell values and JSON.
5458JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5459 (license license:bsd-3)))
5460
5461(define-public ghc-juicypixels
5462 (package
5463 (name "ghc-juicypixels")
5464 (version "3.2.9.5")
5465 (source (origin
5466 (method url-fetch)
5467 (uri (string-append "https://hackage.haskell.org/package/"
5468 "JuicyPixels/JuicyPixels-"
5469 version ".tar.gz"))
5470 (sha256
5471 (base32
5472 "0mf3ihr0xy2wc2wzb9a17g0n3p60x7pvm8akwpvhdy8klvs6r744"))))
5473 (build-system haskell-build-system)
5474 (inputs
5475 `(("ghc-zlib" ,ghc-zlib)
5476 ("ghc-vector" ,ghc-vector)
5477 ("ghc-primitive" ,ghc-primitive)
5478 ("ghc-mmap" ,ghc-mmap)))
5479 (home-page "https://github.com/Twinside/Juicy.Pixels")
5480 (synopsis "Picture loading and serialization library")
5481 (description
5482 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5483TIFF and GIF formats.")
5484 (license license:bsd-3)))
5485
5486(define-public ghc-kan-extensions
5487 (package
5488 (name "ghc-kan-extensions")
5489 (version "5.2")
5490 (source
5491 (origin
5492 (method url-fetch)
5493 (uri (string-append
5494 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5495 version
5496 ".tar.gz"))
5497 (sha256
5498 (base32
5499 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5500 (build-system haskell-build-system)
5501 (inputs
5502 `(("ghc-adjunctions" ,ghc-adjunctions)
5503 ("ghc-comonad" ,ghc-comonad)
5504 ("ghc-contravariant" ,ghc-contravariant)
5505 ("ghc-distributive" ,ghc-distributive)
5506 ("ghc-free" ,ghc-free)
5507 ("ghc-invariant" ,ghc-invariant)
5508 ("ghc-semigroupoids" ,ghc-semigroupoids)
5509 ("ghc-tagged" ,ghc-tagged)
5510 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5511 (home-page "https://github.com/ekmett/kan-extensions/")
5512 (synopsis "Kan extensions library")
5513 (description "This library provides Kan extensions, Kan lifts, various
5514forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5515 (license license:bsd-3)))
5516
5517(define-public ghc-language-c
5518 (package
5519 (name "ghc-language-c")
5520 (version "0.8.1")
5521 (source
5522 (origin
5523 (method url-fetch)
5524 (uri (string-append "https://hackage.haskell.org/package/"
5525 "language-c/language-c-" version ".tar.gz"))
5526 (sha256
5527 (base32
5528 "0sdkjj0hq8p69fcdm6ljbjkjvrsrb8a6rl5dq6dj6byj32ajrm3d"))))
5529 (build-system haskell-build-system)
5530 (inputs `(("ghc-syb" ,ghc-syb)))
5531 (native-inputs
5532 `(("ghc-happy" ,ghc-happy)
5533 ("ghc-alex" ,ghc-alex)))
5534 (home-page "https://visq.github.io/language-c/")
5535 (synopsis "Analysis and generation of C code")
5536 (description
5537 "Language C is a Haskell library for the analysis and generation of C code.
5538It features a complete, well-tested parser and pretty printer for all of C99
5539and a large set of GNU extensions.")
5540 (license license:bsd-3)))
5541
5542(define-public ghc-language-glsl
5543 (package
5544 (name "ghc-language-glsl")
5545 (version "0.3.0")
5546 (source
5547 (origin
5548 (method url-fetch)
5549 (uri (string-append "https://hackage.haskell.org/package/"
5550 "language-glsl/language-glsl-" version ".tar.gz"))
5551 (sha256
5552 (base32
5553 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
5554 (build-system haskell-build-system)
5555 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
5556 (arguments
5557 `(#:tests? #f
5558 #:cabal-revision
5559 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
5560 (home-page "http://hackage.haskell.org/package/language-glsl")
5561 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
5562 (description "This package is a Haskell library for the
5563representation, parsing, and pretty-printing of GLSL 1.50 code.")
5564 (license license:bsd-3)))
5565
5566(define-public ghc-language-haskell-extract
5567 (package
5568 (name "ghc-language-haskell-extract")
5569 (version "0.2.4")
5570 (source
5571 (origin
5572 (method url-fetch)
5573 (uri (string-append "https://hackage.haskell.org/package/"
5574 "language-haskell-extract-" version "/"
5575 "language-haskell-extract-" version ".tar.gz"))
5576 (sha256
5577 (base32
5578 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
5579 (build-system haskell-build-system)
5580 (inputs
5581 `(("ghc-regex-posix" ,ghc-regex-posix)))
5582 (home-page "https://github.com/finnsson/template-helper")
5583 (synopsis "Haskell module to automatically extract functions from
5584the local code")
5585 (description "This package contains helper functions on top of
5586Template Haskell.
5587
5588For example, @code{functionExtractor} extracts all functions after a
5589regexp-pattern, which can be useful if you wish to extract all functions
5590beginning with @code{test} (for a test framework) or all functions beginning
5591with @code{wc} (for a web service).")
5592 (license license:bsd-3)))
5593
5594(define-public ghc-lens
5595 (package
5596 (name "ghc-lens")
5597 (version "4.16.1")
5598 (source
5599 (origin
5600 (method url-fetch)
5601 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5602 version ".tar.gz"))
5603 (sha256
5604 (base32
5605 "1im4drhbydbawd6i0jsrzpqihnmx4ywpkg7yg94ddwsw3mxwkgpm"))))
5606 (build-system haskell-build-system)
5607 (arguments
5608 `(#:cabal-revision
5609 ("2" "11h83lj5mba4grhz1qx3irz10ysm9c3k7k6i6xv2cr60q8xin3ri")))
5610 (inputs
5611 `(("ghc-base-orphans" ,ghc-base-orphans)
5612 ("ghc-bifunctors" ,ghc-bifunctors)
5613 ("ghc-distributive" ,ghc-distributive)
5614 ("ghc-exceptions" ,ghc-exceptions)
5615 ("ghc-free" ,ghc-free)
5616 ("ghc-kan-extensions" ,ghc-kan-extensions)
5617 ("ghc-parallel" ,ghc-parallel)
5618 ("ghc-reflection" ,ghc-reflection)
5619 ("ghc-semigroupoids" ,ghc-semigroupoids)
5620 ("ghc-vector" ,ghc-vector)
5621 ("ghc-call-stack" ,ghc-call-stack)
5622 ("ghc-comonad" ,ghc-comonad)
5623 ("ghc-contravariant" ,ghc-contravariant)
5624 ("ghc-hashable" ,ghc-hashable)
5625 ("ghc-profunctors" ,ghc-profunctors)
5626 ("ghc-semigroups" ,ghc-semigroups)
5627 ("ghc-tagged" ,ghc-tagged)
5628 ("ghc-transformers-compat" ,ghc-transformers-compat)
5629 ("ghc-unordered-containers" ,ghc-unordered-containers)
5630 ("ghc-void" ,ghc-void)
5631 ("ghc-generic-deriving" ,ghc-generic-deriving)
5632 ("ghc-nats" ,ghc-nats)
5633 ("ghc-simple-reflect" ,ghc-simple-reflect)
5634 ("hlint" ,hlint)))
5635 (native-inputs
5636 `(("cabal-doctest" ,cabal-doctest)
5637 ("ghc-doctest" ,ghc-doctest)
5638 ("ghc-hunit" ,ghc-hunit)
5639 ("ghc-test-framework" ,ghc-test-framework)
5640 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5641 ("ghc-test-framework-th" ,ghc-test-framework-th)
5642 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5643 ("ghc-quickcheck" ,ghc-quickcheck)))
5644 (home-page "https://github.com/ekmett/lens/")
5645 (synopsis "Lenses, Folds and Traversals")
5646 (description "This library provides @code{Control.Lens}. The combinators
5647in @code{Control.Lens} provide a highly generic toolbox for composing families
5648of getters, folds, isomorphisms, traversals, setters and lenses and their
5649indexed variants.")
5650 (license license:bsd-3)))
5651
5652(define-public ghc-libffi
5653 (package
5654 (name "ghc-libffi")
5655 (version "0.1")
5656 (source
5657 (origin
5658 (method url-fetch)
5659 (uri (string-append "https://hackage.haskell.org/package/"
5660 "libffi/libffi-" version ".tar.gz"))
5661 (sha256
5662 (base32
5663 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
5664 (build-system haskell-build-system)
5665 (native-inputs `(("pkg-config" ,pkg-config)))
5666 (inputs `(("libffi" ,libffi)))
5667 (home-page "http://hackage.haskell.org/package/libffi")
5668 (synopsis "Haskell binding to libffi")
5669 (description
5670 "A binding to libffi, allowing C functions of types only known at runtime
5671to be called from Haskell.")
5672 (license license:bsd-3)))
5673
5674(define-public ghc-libmpd
5675 (package
5676 (name "ghc-libmpd")
5677 (version "0.9.0.9")
5678 (source
5679 (origin
5680 (method url-fetch)
5681 (uri (string-append
5682 "mirror://hackage/package/libmpd/libmpd-"
5683 version
5684 ".tar.gz"))
5685 (sha256
5686 (base32
5687 "1931m23iqb4wddpdidm4ph746zpaw41kkjzmb074j7yyfpk7x1jv"))))
5688 (build-system haskell-build-system)
5689 ;; Tests fail on i686.
5690 ;; See https://github.com/vimus/libmpd-haskell/issues/112
5691 (arguments `(#:tests? #f))
5692 (inputs
5693 `(("ghc-attoparsec" ,ghc-attoparsec)
5694 ("ghc-old-locale" ,ghc-old-locale)
5695 ("ghc-data-default-class" ,ghc-data-default-class)
5696 ("ghc-network" ,ghc-network)
5697 ("ghc-utf8-string" ,ghc-utf8-string)))
5698 (native-inputs
5699 `(("ghc-quickcheck" ,ghc-quickcheck)
5700 ("ghc-hspec" ,ghc-hspec)
5701 ("hspec-discover" ,hspec-discover)))
5702 (home-page "https://github.com/vimus/libmpd-haskell")
5703 (synopsis "Haskell client library for the Music Player Daemon")
5704 (description "This package provides a pure Haskell client library for the
5705Music Player Daemon.")
5706 (license license:expat)))
5707
5708(define-public ghc-libxml
5709 (package
5710 (name "ghc-libxml")
5711 (version "0.1.1")
5712 (source
5713 (origin
5714 (method url-fetch)
5715 (uri (string-append "https://hackage.haskell.org/package/libxml/"
5716 "libxml-" version ".tar.gz"))
5717 (sha256
5718 (base32
5719 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
5720 (build-system haskell-build-system)
5721 (inputs
5722 `(("libxml2" ,libxml2)))
5723 (arguments
5724 `(#:configure-flags
5725 `(,(string-append "--extra-include-dirs="
5726 (assoc-ref %build-inputs "libxml2")
5727 "/include/libxml2"))))
5728 (home-page "https://hackage.haskell.org/package/libxml")
5729 (synopsis "Haskell bindings to libxml2")
5730 (description
5731 "This library provides minimal Haskell binding to libxml2.")
5732 (license license:bsd-3)))
5733
5734(define-public ghc-lifted-async
5735 (package
5736 (name "ghc-lifted-async")
5737 (version "0.10.0.2")
5738 (source
5739 (origin
5740 (method url-fetch)
5741 (uri (string-append
5742 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
5743 version ".tar.gz"))
5744 (sha256
5745 (base32
5746 "1073r512c1x2m1v0jar9bwqg656slg7jd1jhsyj6m8awgx1l1mwf"))))
5747 (build-system haskell-build-system)
5748 (inputs
5749 `(("ghc-async" ,ghc-async)
5750 ("ghc-lifted-base" ,ghc-lifted-base)
5751 ("ghc-transformers-base" ,ghc-transformers-base)
5752 ("ghc-monad-control" ,ghc-monad-control)
5753 ("ghc-constraints" ,ghc-constraints)
5754 ("ghc-hunit" ,ghc-hunit)
5755 ("ghc-tasty" ,ghc-tasty)
5756 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5757 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5758 ("ghc-tasty-th" ,ghc-tasty-th)))
5759 (home-page "https://github.com/maoe/lifted-async")
5760 (synopsis "Run lifted IO operations asynchronously and wait for their results")
5761 (description
5762 "This package provides IO operations from @code{async} package lifted to any
5763instance of @code{MonadBase} or @code{MonadBaseControl}.")
5764 (license license:bsd-3)))
5765
5766(define-public ghc-lifted-base
5767 (package
5768 (name "ghc-lifted-base")
5769 (version "0.2.3.12")
5770 (source
5771 (origin
5772 (method url-fetch)
5773 (uri (string-append
5774 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
5775 version
5776 ".tar.gz"))
5777 (sha256
5778 (base32
5779 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
5780 (build-system haskell-build-system)
5781 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
5782 (inputs
5783 `(("ghc-transformers-base" ,ghc-transformers-base)
5784 ("ghc-monad-control" ,ghc-monad-control)
5785 ("ghc-transformers-compat" ,ghc-transformers-compat)
5786 ("ghc-hunit" ,ghc-hunit)))
5787 (home-page "https://github.com/basvandijk/lifted-base")
5788 (synopsis "Lifted IO operations from the base library")
5789 (description "Lifted-base exports IO operations from the @code{base}
5790library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5791Note that not all modules from @code{base} are converted yet. The package
5792includes a copy of the @code{monad-peel} test suite written by Anders
5793Kaseorg.")
5794 (license license:bsd-3)))
5795
5796(define-public ghc-linear
5797 (package
5798 (name "ghc-linear")
5799 (version "1.20.8")
5800 (source
5801 (origin
5802 (method url-fetch)
5803 (uri (string-append "https://hackage.haskell.org/package/linear/"
5804 "linear-" version ".tar.gz"))
5805 (sha256
5806 (base32
5807 "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"))))
5808 (build-system haskell-build-system)
5809 (inputs
5810 `(("ghc-adjunctions" ,ghc-adjunctions)
5811 ("ghc-base-orphans" ,ghc-base-orphans)
5812 ("ghc-bytes" ,ghc-bytes)
5813 ("ghc-cereal" ,ghc-cereal)
5814 ("ghc-distributive" ,ghc-distributive)
5815 ("ghc-hashable" ,ghc-hashable)
5816 ("ghc-lens" ,ghc-lens)
5817 ("ghc-reflection" ,ghc-reflection)
5818 ("ghc-semigroups" ,ghc-semigroups)
5819 ("ghc-semigroupoids" ,ghc-semigroupoids)
5820 ("ghc-tagged" ,ghc-tagged)
5821 ("ghc-transformers-compat" ,ghc-transformers-compat)
5822 ("ghc-unordered-containers" ,ghc-unordered-containers)
5823 ("ghc-vector" ,ghc-vector)
5824 ("ghc-void" ,ghc-void)))
5825 (native-inputs
5826 `(("cabal-doctest" ,cabal-doctest)
5827 ("ghc-doctest" ,ghc-doctest)
5828 ("ghc-simple-reflect" ,ghc-simple-reflect)
5829 ("ghc-test-framework" ,ghc-test-framework)
5830 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5831 ("ghc-hunit" ,ghc-hunit)))
5832 (home-page "http://github.com/ekmett/linear/")
5833 (synopsis "Linear algebra library for Haskell")
5834 (description
5835 "This package provides types and combinators for linear algebra on free
5836vector spaces.")
5837 (license license:bsd-3)))
1307e4c7
JS
5838
5839(define-public ghc-listlike
5840 (package
5841 (name "ghc-listlike")
5842 (version "4.6.2")
5843 (source
5844 (origin
5845 (method url-fetch)
5846 (uri
5847 (string-append
5848 "https://hackage.haskell.org/package/ListLike/ListLike-"
5849 version ".tar.gz"))
5850 (sha256
5851 (base32
5852 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
5853 (build-system haskell-build-system)
5854 (inputs
5855 `(("ghc-vector" ,ghc-vector)
5856 ("ghc-dlist" ,ghc-dlist)
5857 ("ghc-fmlist" ,ghc-fmlist)
5858 ("ghc-hunit" ,ghc-hunit)
5859 ("ghc-quickcheck" ,ghc-quickcheck)
5860 ("ghc-random" ,ghc-random)
5861 ("ghc-utf8-string" ,ghc-utf8-string)))
5862 (home-page "https://github.com/JohnLato/listlike")
5863 (synopsis "Generic support for list-like structures")
5864 (description "The ListLike module provides a common interface to the
5865various Haskell types that are list-like. Predefined interfaces include
5866standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
5867Custom types can easily be made ListLike instances as well.
5868
5869ListLike also provides for String-like types, such as String and
5870ByteString, for types that support input and output, and for types that
5871can handle infinite lists.")
5872 (license license:bsd-3)))
dddbc90c
RV
5873
5874(define-public ghc-logging-facade
5875 (package
5876 (name "ghc-logging-facade")
5877 (version "0.3.0")
5878 (source (origin
5879 (method url-fetch)
5880 (uri (string-append "https://hackage.haskell.org/package/"
5881 "logging-facade/logging-facade-"
5882 version ".tar.gz"))
5883 (sha256
5884 (base32
5885 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
5886 (build-system haskell-build-system)
5887 (native-inputs
5888 `(("ghc-hspec" ,ghc-hspec)
5889 ("hspec-discover" ,hspec-discover)))
5890 (home-page "https://hackage.haskell.org/package/logging-facade")
5891 (synopsis "Simple logging abstraction that allows multiple back-ends")
5892 (description
5893 "This package provides a simple logging abstraction that allows multiple
5894back-ends.")
5895 (license license:expat)))
5896
5897(define-public ghc-logict
5898 (package
5899 (name "ghc-logict")
5900 (version "0.6.0.2")
5901 (source
5902 (origin
5903 (method url-fetch)
5904 (uri (string-append
5905 "https://hackage.haskell.org/package/logict/logict-"
5906 version
5907 ".tar.gz"))
5908 (sha256
5909 (base32
5910 "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi"))))
5911 (build-system haskell-build-system)
5912 (home-page "http://code.haskell.org/~dolio/")
5913 (synopsis "Backtracking logic-programming monad")
5914 (description "This library provides a continuation-based, backtracking,
5915logic programming monad. An adaptation of the two-continuation implementation
5916found in the paper \"Backtracking, Interleaving, and Terminating Monad
5917Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
5918online}.")
5919 (license license:bsd-3)))
5920
5921(define-public ghc-lzma
5922 (package
5923 (name "ghc-lzma")
5924 (version "0.0.0.3")
5925 (source
5926 (origin
5927 (method url-fetch)
5928 (uri (string-append "https://hackage.haskell.org/package/lzma/"
5929 "lzma-" version ".tar.gz"))
5930 (sha256
5931 (base32
5932 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
5933 (build-system haskell-build-system)
5934 (arguments
5935 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
5936 #:cabal-revision
5937 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
5938 (native-inputs
5939 `(("ghc-hunit" ,ghc-hunit)
5940 ("ghc-quickcheck" ,ghc-quickcheck)
5941 ("ghc-tasty" ,ghc-tasty)
5942 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5943 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
5944 (home-page "https://github.com/hvr/lzma")
5945 (synopsis "LZMA/XZ compression and decompression")
5946 (description
5947 "This package provides a pure interface for compressing and
5948decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
5949monadic incremental interface is provided as well.")
5950 (license license:bsd-3)))
5951
5952(define-public ghc-lzma-conduit
5953 (package
5954 (name "ghc-lzma-conduit")
5955 (version "1.2.1")
5956 (source
5957 (origin
5958 (method url-fetch)
5959 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
5960 "lzma-conduit-" version ".tar.gz"))
5961 (sha256
5962 (base32
5963 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
5964 (build-system haskell-build-system)
5965 (inputs
5966 `(("ghc-conduit" ,ghc-conduit)
5967 ("ghc-lzma" ,ghc-lzma)
5968 ("ghc-resourcet" ,ghc-resourcet)))
5969 (native-inputs
5970 `(("ghc-base-compat" ,ghc-base-compat)
5971 ("ghc-test-framework" ,ghc-test-framework)
5972 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5973 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5974 ("ghc-hunit" ,ghc-hunit)
5975 ("ghc-quickcheck" ,ghc-quickcheck)))
5976 (home-page "https://github.com/alphaHeavy/lzma-conduit")
5977 (synopsis "Conduit interface for lzma/xz compression")
5978 (description
5979 "This package provides a @code{Conduit} interface for the LZMA
5980compression algorithm used in the @code{.xz} file format.")
5981 (license license:bsd-3)))
5982
e405912c
KM
5983(define-public ghc-magic
5984 (package
5985 (name "ghc-magic")
5986 (version "1.1")
5987 (source
5988 (origin
5989 (method url-fetch)
5990 (uri (string-append
5991 "https://hackage.haskell.org/package/magic/magic-"
5992 version ".tar.gz"))
5993 (sha256
5994 (base32
5995 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
5996 (build-system haskell-build-system)
5997 (home-page "http://hackage.haskell.org/package/magic")
5998 (synopsis "Interface to C file/magic library")
5999 (description
6000 "This package provides a full-featured binding to the C libmagic library.
6001With it, you can determine the type of a file by examining its contents rather
6002than its name.")
6003 (license license:bsd-3)))
6004
dddbc90c
RV
6005(define-public ghc-markdown-unlit
6006 (package
6007 (name "ghc-markdown-unlit")
6008 (version "0.5.0")
6009 (source (origin
6010 (method url-fetch)
6011 (uri (string-append
6012 "mirror://hackage/package/markdown-unlit/"
6013 "markdown-unlit-" version ".tar.gz"))
6014 (sha256
6015 (base32
6016 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6017 (build-system haskell-build-system)
6018 (inputs
6019 `(("ghc-base-compat" ,ghc-base-compat)
6020 ("ghc-hspec" ,ghc-hspec)
6021 ("ghc-quickcheck" ,ghc-quickcheck)
6022 ("ghc-silently" ,ghc-silently)
6023 ("ghc-stringbuilder" ,ghc-stringbuilder)
6024 ("ghc-temporary" ,ghc-temporary)
6025 ("hspec-discover" ,hspec-discover)))
6026 (home-page "https://github.com/sol/markdown-unlit#readme")
6027 (synopsis "Literate Haskell support for Markdown")
6028 (description "This package allows you to have a README.md that at the
6029same time is a literate Haskell program.")
6030 (license license:expat)))
6031
6032(define-public ghc-math-functions
6033 (package
6034 (name "ghc-math-functions")
6035 (version "0.2.1.0")
6036 (source
6037 (origin
6038 (method url-fetch)
6039 (uri (string-append "https://hackage.haskell.org/package/"
6040 "math-functions-" version "/"
6041 "math-functions-" version ".tar.gz"))
6042 (sha256
6043 (base32
6044 "1sv5vabsx332v1lpb6v3jv4zrzvpx1n7yprzd8wlcda5vsc5a6zp"))))
6045 (build-system haskell-build-system)
6046 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6047 (inputs
6048 `(("ghc-vector" ,ghc-vector)
6049 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6050 (native-inputs
6051 `(("ghc-hunit" ,ghc-hunit)
6052 ("ghc-quickcheck" ,ghc-quickcheck)
6053 ("ghc-erf" ,ghc-erf)
6054 ("ghc-test-framework" ,ghc-test-framework)
6055 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6056 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6057 (home-page "https://github.com/bos/math-functions")
6058 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6059 (description "This Haskell library provides implementations of
6060special mathematical functions and Chebyshev polynomials. These
6061functions are often useful in statistical and numerical computing.")
6062 (license license:bsd-3)))
6063
6064(define-public ghc-megaparsec
6065 (package
6066 (name "ghc-megaparsec")
6067 (version "6.5.0")
6068 (source
6069 (origin
6070 (method url-fetch)
6071 (uri (string-append "https://hackage.haskell.org/package/"
6072 "megaparsec/megaparsec-"
6073 version ".tar.gz"))
6074 (sha256
6075 (base32
6076 "12iggy7qpf8x93jm64zf0g215xwy779bqyfyjk2bhmxqqr1yzgdy"))))
6077 (build-system haskell-build-system)
6078 (arguments
6079 `(#:cabal-revision
6080 ("4" "0ij3asi5vwlhbgwsy6nhli9a0qb7926mg809fsgyl1rnhs9fvpx1")))
6081 (inputs
6082 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6083 ("ghc-parser-combinators" ,ghc-parser-combinators)
6084 ("ghc-scientific" ,ghc-scientific)))
6085 (native-inputs
6086 `(("ghc-quickcheck" ,ghc-quickcheck)
6087 ("ghc-hspec" ,ghc-hspec)
6088 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6089 ("hspec-discover" ,hspec-discover)))
6090 (home-page "https://github.com/mrkkrp/megaparsec")
6091 (synopsis "Monadic parser combinators")
6092 (description
6093 "This is an industrial-strength monadic parser combinator library.
6094Megaparsec is a feature-rich package that strikes a nice balance between
6095speed, flexibility, and quality of parse errors.")
6096 (license license:bsd-2)))
6097
4780db2c
EB
6098;;; Idris 1.3.2 requires 'megaparse>=7.0.4' but we'd like to keep the public
6099;;; package at the current Stackage LTS version:
6100(define-public ghc-megaparsec-7
6101 (hidden-package
6102 (package
6103 (inherit ghc-megaparsec)
6104 (version "7.0.5")
6105 (source
6106 (origin
6107 (method url-fetch)
6108 (uri (string-append "https://hackage.haskell.org/package/megaparsec/"
6109 "megaparsec-" version ".tar.gz"))
6110 (sha256
6111 (base32
6112 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
6113 (arguments (strip-keyword-arguments (list #:cabal-revision)
6114 (package-arguments ghc-megaparsec))))))
6115
dddbc90c
RV
6116(define-public ghc-memory
6117 (package
6118 (name "ghc-memory")
6119 (version "0.14.16")
6120 (source (origin
6121 (method url-fetch)
6122 (uri (string-append "https://hackage.haskell.org/package/"
6123 "memory/memory-" version ".tar.gz"))
6124 (sha256
6125 (base32
6126 "03rbszi5d4z9rlbfv8ydrl1xf84xsh8z57g07f7j9qccn9587c3v"))))
6127 (build-system haskell-build-system)
6128 (inputs
6129 `(("ghc-basement" ,ghc-basement)
6130 ("ghc-foundation" ,ghc-foundation)))
6131 (native-inputs
6132 `(("ghc-tasty" ,ghc-tasty)
6133 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6134 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6135 (home-page "https://github.com/vincenthz/hs-memory")
6136 (synopsis "Memory abstractions for Haskell")
6137 (description
6138 "This package provides memory abstractions, such as chunk of memory,
6139polymorphic byte array management and manipulation functions. It contains a
6140polymorphic byte array abstraction and functions similar to strict ByteString,
6141different type of byte array abstraction, raw memory IO operations (memory
6142set, memory copy, ..) and more")
6143 (license license:bsd-3)))
6144
6145(define-public ghc-memotrie
6146 (package
6147 (name "ghc-memotrie")
6148 (version "0.6.9")
6149 (source
6150 (origin
6151 (method url-fetch)
6152 (uri (string-append
6153 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6154 version
6155 ".tar.gz"))
6156 (sha256
6157 (base32
6158 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6159 (build-system haskell-build-system)
6160 (inputs
6161 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6162 (home-page "https://github.com/conal/MemoTrie")
6163 (synopsis "Trie-based memo functions")
6164 (description "This package provides a functional library for creating
6165efficient memo functions using tries.")
6166 (license license:bsd-3)))
6167
6168(define-public ghc-microlens
6169 (package
6170 (name "ghc-microlens")
82478c58 6171 (version "0.4.10")
dddbc90c
RV
6172 (source
6173 (origin
6174 (method url-fetch)
6175 (uri (string-append "https://hackage.haskell.org/package/"
6176 "microlens-" version "/"
6177 "microlens-" version ".tar.gz"))
6178 (sha256
6179 (base32
82478c58 6180 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
6181 (build-system haskell-build-system)
6182 (home-page
6183 "https://github.com/aelve/microlens")
6184 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6185 (description "This Haskell package provides a lens library, just like
6186@code{ghc-lens}, but smaller. It provides essential lenses and
6187traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6188nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6189combinators (like @code{failing} and @code{singular}), but everything else is
6190stripped. As the result, this package has no dependencies.")
6191 (license license:bsd-3)))
6192
6193(define-public ghc-microlens-ghc
6194 (package
6195 (name "ghc-microlens-ghc")
6196 (version "0.4.9.1")
6197 (source
6198 (origin
6199 (method url-fetch)
6200 (uri (string-append
6201 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6202 version
6203 ".tar.gz"))
6204 (sha256
6205 (base32
6206 "03iwgg8zww9irv59l70c8yy7vzxir1zf66y12210xk91k5hq6jrj"))))
6207 (build-system haskell-build-system)
6208 (inputs `(("ghc-microlens" ,ghc-microlens)))
6209 (home-page "https://github.com/monadfix/microlens")
6210 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6211 (description "This library provides everything that @code{microlens}
6212provides plus instances to make @code{each}, @code{at}, and @code{ix}
6213usable with arrays, @code{ByteString}, and containers. This package is
6214a part of the @uref{http://hackage.haskell.org/package/microlens,
6215microlens} family; see the readme
6216@uref{https://github.com/aelve/microlens#readme, on Github}.")
6217 (license license:bsd-3)))
6218
6219(define-public ghc-microlens-mtl
6220 (package
6221 (name "ghc-microlens-mtl")
6222 (version "0.1.11.1")
6223 (source
6224 (origin
6225 (method url-fetch)
6226 (uri (string-append
6227 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6228 version
6229 ".tar.gz"))
6230 (sha256
6231 (base32
6232 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6233 (build-system haskell-build-system)
6234 (inputs
6235 `(("ghc-microlens" ,ghc-microlens)
6236 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6237 (home-page "https://github.com/monadfix/microlens")
6238 (synopsis
6239 "@code{microlens} support for Reader/Writer/State from mtl")
6240 (description
6241 "This package contains functions (like @code{view} or @code{+=}) which
6242work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6243mtl package. This package is a part of the
6244@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6245readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6246 (license license:bsd-3)))
6247
6248(define-public ghc-microlens-platform
6249 (package
6250 (name "ghc-microlens-platform")
6251 (version "0.3.10")
6252 (source
6253 (origin
6254 (method url-fetch)
6255 (uri (string-append
6256 "https://hackage.haskell.org/package/"
6257 "microlens-platform/microlens-platform-" version ".tar.gz"))
6258 (sha256
6259 (base32
6260 "1d4nhmgf9jq0ixc7qhwm7aaw3xdr0nalw58d0ydsydgf02cyazwv"))))
6261 (build-system haskell-build-system)
6262 (inputs
6263 `(("ghc-hashable" ,ghc-hashable)
6264 ("ghc-microlens" ,ghc-microlens)
6265 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6266 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6267 ("ghc-microlens-th" ,ghc-microlens-th)
6268 ("ghc-unordered-containers" ,ghc-unordered-containers)
6269 ("ghc-vector" ,ghc-vector)))
6270 (home-page "https://github.com/monadfix/microlens")
6271 (synopsis "Feature-complete microlens")
6272 (description
6273 "This package exports a module which is the recommended starting point
6274for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6275you aren't trying to keep your dependencies minimal. By importing
6276@code{Lens.Micro.Platform} you get all functions and instances from
6277@uref{http://hackage.haskell.org/package/microlens, microlens},
6278@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6279@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6280@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6281well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6282minor and major versions of @code{microlens-platform} are incremented whenever
6283the minor and major versions of any other @code{microlens} package are
6284incremented, so you can depend on the exact version of
6285@code{microlens-platform} without specifying the version of @code{microlens}
6286you need. This package is a part of the
6287@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6288readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6289 (license license:bsd-3)))
6290
6291(define-public ghc-microlens-th
6292 (package
6293 (name "ghc-microlens-th")
6294 (version "0.4.2.2")
6295 (source
6296 (origin
6297 (method url-fetch)
6298 (uri (string-append "https://hackage.haskell.org/package/"
6299 "microlens-th-" version "/"
6300 "microlens-th-" version ".tar.gz"))
6301 (sha256
6302 (base32
6303 "02nj7lnl61yffi3c6wn341arxhld5r0vj6nzcb5zmqjhnqsv8c05"))))
6304 (build-system haskell-build-system)
6305 (inputs `(("ghc-microlens" ,ghc-microlens)
6306 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6307 (home-page
6308 "https://github.com/aelve/microlens")
6309 (synopsis "Automatic generation of record lenses for
6310@code{ghc-microlens}")
6311 (description "This Haskell package lets you automatically generate lenses
6312for data types; code was extracted from the lens package, and therefore
6313generated lenses are fully compatible with ones generated by lens (and can be
6314used both from lens and microlens).")
6315 (license license:bsd-3)))
6316
6317(define-public ghc-missingh
6318 (package
6319 (name "ghc-missingh")
6320 (version "1.4.0.1")
6321 (source
6322 (origin
6323 (method url-fetch)
6324 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6325 "MissingH-" version ".tar.gz"))
6326 (sha256
6327 (base32
6328 "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"))))
6329 (build-system haskell-build-system)
6330 ;; Tests require the unmaintained testpack package, which depends on the
6331 ;; outdated QuickCheck version 2.7, which can no longer be built with
6332 ;; recent versions of GHC and Haskell libraries.
6333 (arguments '(#:tests? #f))
6334 (inputs
6335 `(("ghc-network" ,ghc-network)
6336 ("ghc-hunit" ,ghc-hunit)
6337 ("ghc-regex-compat" ,ghc-regex-compat)
6338 ("ghc-hslogger" ,ghc-hslogger)
6339 ("ghc-random" ,ghc-random)
6340 ("ghc-old-time" ,ghc-old-time)
6341 ("ghc-old-locale" ,ghc-old-locale)))
6342 (native-inputs
6343 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6344 ("ghc-quickcheck" ,ghc-quickcheck)
6345 ("ghc-hunit" ,ghc-hunit)))
6346 (home-page "http://software.complete.org/missingh")
6347 (synopsis "Large utility library")
6348 (description
6349 "MissingH is a library of all sorts of utility functions for Haskell
6350programmers. It is written in pure Haskell and thus should be extremely
6351portable and easy to use.")
6352 (license license:bsd-3)))
6353
6354(define-public ghc-mmap
6355 (package
6356 (name "ghc-mmap")
6357 (version "0.5.9")
6358 (source (origin
6359 (method url-fetch)
6360 (uri (string-append "https://hackage.haskell.org/package/"
6361 "mmap/mmap-" version ".tar.gz"))
6362 (sha256
6363 (base32
6364 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6365 (build-system haskell-build-system)
6366 (home-page "https://hackage.haskell.org/package/mmap")
6367 (synopsis "Memory mapped files for Haskell")
6368 (description
6369 "This library provides a wrapper to @code{mmap}, allowing files or
6370devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6371@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6372do on-demand loading.")
6373 (license license:bsd-3)))
6374
6375(define-public ghc-mmorph
6376 (package
6377 (name "ghc-mmorph")
6378 (version "1.1.2")
6379 (source
6380 (origin
6381 (method url-fetch)
6382 (uri (string-append
6383 "https://hackage.haskell.org/package/mmorph/mmorph-"
6384 version
6385 ".tar.gz"))
6386 (sha256
6387 (base32
6388 "1gjz1ib968lqybma7my1n19qq6cdj6a7nskrlnwy4jy9jrwzs2n9"))))
6389 (build-system haskell-build-system)
6390 (inputs
6391 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6392 (home-page "https://hackage.haskell.org/package/mmorph")
6393 (synopsis "Monad morphisms")
6394 (description
6395 "This library provides monad morphism utilities, most commonly used for
6396manipulating monad transformer stacks.")
6397 (license license:bsd-3)))
6398
6399(define-public ghc-mockery
6400 (package
6401 (name "ghc-mockery")
6402 (version "0.3.5")
6403 (source (origin
6404 (method url-fetch)
6405 (uri (string-append "https://hackage.haskell.org/package/"
6406 "mockery/mockery-" version ".tar.gz"))
6407 (sha256
6408 (base32
6409 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6410 (build-system haskell-build-system)
6411 (inputs
6412 `(("ghc-temporary" ,ghc-temporary)
6413 ("ghc-logging-facade" ,ghc-logging-facade)
6414 ("ghc-base-compat" ,ghc-base-compat)))
6415 (native-inputs
6416 `(("ghc-hspec" ,ghc-hspec)
6417 ("hspec-discover" ,hspec-discover)))
6418 (home-page "https://hackage.haskell.org/package/mockery")
6419 (synopsis "Support functions for automated testing")
6420 (description
6421 "The mockery package provides support functions for automated testing.")
6422 (license license:expat)))
6423
6424(define-public ghc-monad-control
6425 (package
6426 (name "ghc-monad-control")
6427 (version "1.0.2.3")
6428 (source
6429 (origin
6430 (method url-fetch)
6431 (uri (string-append
6432 "https://hackage.haskell.org/package/monad-control"
6433 "/monad-control-" version ".tar.gz"))
6434 (sha256
6435 (base32
6436 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6437 (build-system haskell-build-system)
6438 (inputs
6439 `(("ghc-transformers-base" ,ghc-transformers-base)
6440 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6441 (home-page "https://github.com/basvandijk/monad-control")
6442 (synopsis "Monad transformers to lift control operations like exception
6443catching")
6444 (description "This package defines the type class @code{MonadBaseControl},
6445a subset of @code{MonadBase} into which generic control operations such as
6446@code{catch} can be lifted from @code{IO} or any other base monad.")
6447 (license license:bsd-3)))
6448
6449(define-public ghc-monad-logger
6450 (package
6451 (name "ghc-monad-logger")
6452 (version "0.3.29")
6453 (source
6454 (origin
6455 (method url-fetch)
6456 (uri (string-append "https://hackage.haskell.org/package/"
6457 "monad-logger-" version "/"
6458 "monad-logger-" version ".tar.gz"))
6459 (sha256
6460 (base32
6461 "1z516s4pa9n94zf0l45mylssg07xr1d1m6zrz900p0iv3vfd07mv"))))
6462 (build-system haskell-build-system)
6463 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6464 ("ghc-stm-chans" ,ghc-stm-chans)
6465 ("ghc-lifted-base" ,ghc-lifted-base)
6466 ("ghc-resourcet" ,ghc-resourcet)
6467 ("ghc-conduit" ,ghc-conduit)
6468 ("ghc-conduit-extra" ,ghc-conduit-extra)
6469 ("ghc-fast-logger" ,ghc-fast-logger)
6470 ("ghc-transformers-base" ,ghc-transformers-base)
6471 ("ghc-monad-control" ,ghc-monad-control)
6472 ("ghc-monad-loops" ,ghc-monad-loops)
6473 ("ghc-blaze-builder" ,ghc-blaze-builder)
6474 ("ghc-exceptions" ,ghc-exceptions)))
6475 (home-page "https://github.com/kazu-yamamoto/logger")
6476 (synopsis "Provides a class of monads which can log messages for Haskell")
6477 (description "This Haskell package uses a monad transformer approach
6478for logging.
6479
6480This package provides Template Haskell functions for determining source
6481code locations of messages.")
6482 (license license:expat)))
6483
6484(define-public ghc-monad-loops
6485 (package
6486 (name "ghc-monad-loops")
6487 (version "0.4.3")
6488 (source
6489 (origin
6490 (method url-fetch)
6491 (uri (string-append "https://hackage.haskell.org/package/"
6492 "monad-loops-" version "/"
6493 "monad-loops-" version ".tar.gz"))
6494 (sha256
6495 (base32
6496 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6497 (build-system haskell-build-system)
6498 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6499 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6500 (home-page "https://github.com/mokus0/monad-loops")
6501 (synopsis "Monadic loops for Haskell")
6502 (description "This Haskell package provides some useful control
6503operators for looping.")
6504 (license license:public-domain)))
6505
6506(define-public ghc-monad-par
6507 (package
6508 (name "ghc-monad-par")
6509 (version "0.3.4.8")
6510 (source
6511 (origin
6512 (method url-fetch)
6513 (uri (string-append "https://hackage.haskell.org/package/"
6514 "monad-par-" version "/"
6515 "monad-par-" version ".tar.gz"))
6516 (sha256
6517 (base32
6518 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6519 (build-system haskell-build-system)
6520 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6521 ("ghc-abstract-deque" ,ghc-abstract-deque)
6522 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6523 ("ghc-mwc-random" ,ghc-mwc-random)
6524 ("ghc-parallel" ,ghc-parallel)))
6525 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6526 ("ghc-hunit" ,ghc-hunit)
6527 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6528 ("ghc-test-framework-quickcheck2"
6529 ,ghc-test-framework-quickcheck2)
6530 ("ghc-test-framework" ,ghc-test-framework)
6531 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6532 (home-page "https://github.com/simonmar/monad-par")
6533 (synopsis "Haskell library for parallel programming based on a monad")
6534 (description "The @code{Par} monad offers an API for parallel
6535programming. The library works for parallelising both pure and @code{IO}
6536computations, although only the pure version is deterministic. The default
6537implementation provides a work-stealing scheduler and supports forking tasks
6538that are much lighter weight than IO-threads.")
6539 (license license:bsd-3)))
6540
6541(define-public ghc-monad-par-extras
6542 (package
6543 (name "ghc-monad-par-extras")
6544 (version "0.3.3")
6545 (source
6546 (origin
6547 (method url-fetch)
6548 (uri (string-append "https://hackage.haskell.org/package/"
6549 "monad-par-extras-" version "/"
6550 "monad-par-extras-" version ".tar.gz"))
6551 (sha256
6552 (base32
6553 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6554 (build-system haskell-build-system)
6555 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6556 ("ghc-cereal" ,ghc-cereal)
6557 ("ghc-random" ,ghc-random)))
6558 (home-page "https://github.com/simonmar/monad-par")
6559 (synopsis "Combinators and extra features for Par monads for Haskell")
6560 (description "This Haskell package provides additional data structures,
6561and other added capabilities layered on top of the @code{Par} monad.")
6562 (license license:bsd-3)))
6563
6564(define-public ghc-monadplus
6565 (package
6566 (name "ghc-monadplus")
6567 (version "1.4.2")
6568 (source
6569 (origin
6570 (method url-fetch)
6571 (uri (string-append "https://hackage.haskell.org/package/monadplus"
6572 "/monadplus-" version ".tar.gz"))
6573 (sha256
6574 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
6575 (build-system haskell-build-system)
6576 (home-page "https://hackage.haskell.org/package/monadplus")
6577 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
6578 (description
6579 "This package generalizes many common stream operations such as
6580@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
6581arbitrary @code{MonadPlus} instances.")
6582 (license license:bsd-3)))
6583
6584(define-public ghc-monadrandom
6585 (package
6586 (name "ghc-monadrandom")
6587 (version "0.5.1.1")
6588 (source
6589 (origin
6590 (method url-fetch)
6591 (uri (string-append "https://hackage.haskell.org/package/"
6592 "MonadRandom-" version "/"
6593 "MonadRandom-" version ".tar.gz"))
6594 (sha256
6595 (base32
6596 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
6597 (build-system haskell-build-system)
6598 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6599 ("ghc-primitive" ,ghc-primitive)
6600 ("ghc-fail" ,ghc-fail)
6601 ("ghc-random" ,ghc-random)))
6602 (home-page "https://github.com/byorgey/MonadRandom")
6603 (synopsis "Random-number generation monad for Haskell")
6604 (description "This Haskell package provides support for computations
6605which consume random values.")
6606 (license license:bsd-3)))
6607
6608(define-public ghc-monads-tf
6609 (package
6610 (name "ghc-monads-tf")
6611 (version "0.1.0.3")
6612 (source
6613 (origin
6614 (method url-fetch)
6615 (uri (string-append
6616 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
6617 version ".tar.gz"))
6618 (sha256
6619 (base32
6620 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
6621 (build-system haskell-build-system)
6622 (home-page "https://hackage.haskell.org/package/monads-tf")
6623 (synopsis "Monad classes, using type families")
6624 (description
6625 "Monad classes using type families, with instances for various monad transformers,
6626inspired by the paper 'Functional Programming with Overloading and Higher-Order
6627Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
6628the @code{mtl-tf} package.")
6629 (license license:bsd-3)))
6630
6631(define-public ghc-mono-traversable
6632 (package
6633 (name "ghc-mono-traversable")
6634 (version "1.0.9.0")
6635 (source
6636 (origin
6637 (method url-fetch)
6638 (uri (string-append "https://hackage.haskell.org/package/"
6639 "mono-traversable-" version "/"
6640 "mono-traversable-" version ".tar.gz"))
6641 (sha256
6642 (base32
6643 "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
6644 (build-system haskell-build-system)
6645 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
6646 ("ghc-hashable" ,ghc-hashable)
6647 ("ghc-vector" ,ghc-vector)
6648 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
6649 ("ghc-split" ,ghc-split)))
6650 (native-inputs `(("ghc-hspec" ,ghc-hspec)
6651 ("ghc-hunit" ,ghc-hunit)
6652 ("ghc-quickcheck" ,ghc-quickcheck)
6653 ("ghc-semigroups" ,ghc-semigroups)
6654 ("ghc-foldl" ,ghc-foldl)))
6655 (home-page "https://github.com/snoyberg/mono-traversable")
6656 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
6657containers")
6658 (description "This Haskell package provides Monomorphic variants of the
6659Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
6660basic typeclasses, you understand mono-traversable. In addition to what
6661you are used to, it adds on an IsSequence typeclass and has code for marking
6662data structures as non-empty.")
6663 (license license:expat)))
6664
6665(define-public ghc-murmur-hash
6666 (package
6667 (name "ghc-murmur-hash")
6668 (version "0.1.0.9")
6669 (source
6670 (origin
6671 (method url-fetch)
6672 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
6673 "/murmur-hash-" version ".tar.gz"))
6674 (sha256
6675 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
6676 (build-system haskell-build-system)
6677 (home-page "https://github.com/nominolo/murmur-hash")
6678 (synopsis "MurmurHash2 implementation for Haskell")
6679 (description
6680 "This package provides an implementation of MurmurHash2, a good, fast,
6681general-purpose, non-cryptographic hashing function. See
6682@url{https://sites.google.com/site/murmurhash/} for details. This
6683implementation is pure Haskell, so it might be a bit slower than a C FFI
6684binding.")
6685 (license license:bsd-3)))
6686
6687(define-public ghc-mwc-random
6688 (package
6689 (name "ghc-mwc-random")
6690 (version "0.13.6.0")
6691 (source
6692 (origin
6693 (method url-fetch)
6694 (uri (string-append "https://hackage.haskell.org/package/"
6695 "mwc-random-" version "/"
6696 "mwc-random-" version ".tar.gz"))
6697 (sha256
6698 (base32
6699 "05j7yh0hh9nxic3dijmzv44kc6gzclvamdph7sq7w19wq57k6pq6"))))
6700 (build-system haskell-build-system)
6701 (inputs
6702 `(("ghc-primitive" ,ghc-primitive)
6703 ("ghc-vector" ,ghc-vector)
6704 ("ghc-math-functions" ,ghc-math-functions)))
6705 (arguments
6706 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
6707 (native-inputs
6708 `(("ghc-hunit" ,ghc-hunit)
6709 ("ghc-quickcheck" ,ghc-quickcheck)
6710 ("ghc-test-framework" ,ghc-test-framework)
6711 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6712 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6713 (home-page "https://github.com/bos/mwc-random")
6714 (synopsis "Random number generation library for Haskell")
6715 (description "This Haskell package contains code for generating
6716high quality random numbers that follow either a uniform or normal
6717distribution. The generated numbers are suitable for use in
6718statistical applications.
6719
6720The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
6721multiply-with-carry generator, which has a period of 2^{8222} and
6722fares well in tests of randomness. It is also extremely fast,
6723between 2 and 3 times faster than the Mersenne Twister.")
6724 (license license:bsd-3)))
6725
6726(define-public ghc-nats
6727 (package
6728 (name "ghc-nats")
6729 (version "1.1.2")
6730 (source
6731 (origin
6732 (method url-fetch)
6733 (uri (string-append
6734 "https://hackage.haskell.org/package/nats/nats-"
6735 version
6736 ".tar.gz"))
6737 (sha256
6738 (base32
6739 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
6740 (build-system haskell-build-system)
6741 (arguments `(#:haddock? #f))
6742 (inputs
6743 `(("ghc-hashable" ,ghc-hashable)))
6744 (home-page "https://hackage.haskell.org/package/nats")
6745 (synopsis "Natural numbers")
6746 (description "This library provides the natural numbers for Haskell.")
6747 (license license:bsd-3)))
6748
6749(define-public ghc-nats-bootstrap
6750 (package
6751 (inherit ghc-nats)
6752 (name "ghc-nats-bootstrap")
6753 (inputs
6754 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
6755 (properties '((hidden? #t)))))
6756
52915062
EF
6757(define-public ghc-ncurses
6758 (package
6759 (name "ghc-ncurses")
6760 (version "0.2.16")
6761 (source
6762 (origin
6763 (method url-fetch)
6764 (uri (string-append
6765 "https://hackage.haskell.org/package/ncurses/ncurses-"
6766 version ".tar.gz"))
6767 (sha256
6768 (base32
6769 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
6770 (build-system haskell-build-system)
6771 (arguments
6772 '(#:phases
6773 (modify-phases %standard-phases
6774 (add-before 'build 'fix-includes
6775 (lambda _
6776 (substitute* '("cbits/hsncurses-shim.h"
6777 "lib/UI/NCurses.chs"
6778 "lib/UI/NCurses/Enums.chs"
6779 "lib/UI/NCurses/Panel.chs")
6780 (("<ncursesw/") "<"))
6781 #t)))
6782 #:cabal-revision
6783 ("1"
6784 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
6785 (inputs `(("ncurses" ,ncurses)))
6786 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
6787 (home-page "https://john-millikin.com/software/haskell-ncurses/")
6788 (synopsis "Modernised bindings to GNU ncurses")
6789 (description "GNU ncurses is a library for creating command-line application
6790with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
6791ncurses.")
6792 (license license:gpl3)))
6793
dddbc90c
RV
6794(define-public ghc-network
6795 (package
6796 (name "ghc-network")
6797 (version "2.6.3.6")
6798 (outputs '("out" "doc"))
6799 (source
6800 (origin
6801 (method url-fetch)
6802 (uri (string-append
6803 "https://hackage.haskell.org/package/network/network-"
6804 version
6805 ".tar.gz"))
6806 (sha256
6807 (base32
6808 "198mam7ahny48p9fajznbqq16a8ya2gw0xm3gnm1si1rmc4hdplv"))))
6809 (build-system haskell-build-system)
6810 ;; The regression tests depend on an unpublished module.
6811 (arguments `(#:tests? #f))
6812 (native-inputs
6813 `(("ghc-hunit" ,ghc-hunit)
6814 ("ghc-doctest" ,ghc-doctest)
6815 ("ghc-test-framework" ,ghc-test-framework)
6816 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6817 (home-page "https://github.com/haskell/network")
6818 (synopsis "Low-level networking interface")
6819 (description
6820 "This package provides a low-level networking interface.")
6821 (license license:bsd-3)))
4780db2c
EB
6822
6823;;; Until we update our default GHC to >=8.6 we cannot update our ghc-network
6824;;; package, since the 'cabal-install' package that supports the current
6825;;; 'Cabal' module requires 'network==2.6.*'. Here we provide an updated
6826;;; version to be used for our idris package.
6827(define-public ghc-network-2.8
6828 (hidden-package
6829 (package
6830 (inherit ghc-network)
6831 (version "2.8.0.1")
6832 (source
6833 (origin
6834 (method url-fetch)
6835 (uri (string-append "https://hackage.haskell.org/package/network/"
6836 "network-" version ".tar.gz"))
6837 (sha256
6838 (base32
6839 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1")))))))
dddbc90c
RV
6840
6841(define-public ghc-network-info
6842 (package
6843 (name "ghc-network-info")
6844 (version "0.2.0.10")
6845 (source
6846 (origin
6847 (method url-fetch)
6848 (uri (string-append "https://hackage.haskell.org/package/"
6849 "network-info-" version "/"
6850 "network-info-" version ".tar.gz"))
6851 (sha256
6852 (base32
6853 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
6854 (build-system haskell-build-system)
6855 (home-page "https://github.com/jystic/network-info")
6856 (synopsis "Access the local computer's basic network configuration")
6857 (description "This Haskell library provides simple read-only access to the
6858local computer's networking configuration. It is currently capable of
6859getting a list of all the network interfaces and their respective
6860IPv4, IPv6 and MAC addresses.")
6861 (license license:bsd-3)))
6862
6863(define-public ghc-network-uri
6864 (package
6865 (name "ghc-network-uri")
6866 (version "2.6.1.0")
6867 (outputs '("out" "doc"))
6868 (source
6869 (origin
6870 (method url-fetch)
6871 (uri (string-append
6872 "https://hackage.haskell.org/package/network-uri/network-uri-"
6873 version
6874 ".tar.gz"))
6875 (sha256
6876 (base32
6877 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
6878 (build-system haskell-build-system)
6879 (arguments
6880 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
6881 (inputs
6882 `(("ghc-network" ,ghc-network)))
6883 (native-inputs
6884 `(("ghc-hunit" ,ghc-hunit)))
6885 (home-page
6886 "https://github.com/haskell/network-uri")
6887 (synopsis "Library for URI manipulation")
6888 (description "This package provides an URI manipulation interface. In
6889@code{network-2.6} the @code{Network.URI} module was split off from the
6890@code{network} package into this package.")
6891 (license license:bsd-3)))
6892
6893(define-public ghc-newtype-generics
6894 (package
6895 (name "ghc-newtype-generics")
6896 (version "0.5.3")
6897 (source
6898 (origin
6899 (method url-fetch)
6900 (uri (string-append "https://hackage.haskell.org/package/"
6901 "newtype-generics/newtype-generics-"
6902 version ".tar.gz"))
6903 (sha256
6904 (base32
6905 "0igyisw2djg19v9vkna1rwf47k97mvkvk4bbkmswznvbm00z15gj"))))
6906 (build-system haskell-build-system)
6907 (native-inputs
6908 `(("ghc-hspec" ,ghc-hspec)
6909 ("hspec-discover" ,hspec-discover)))
6910 (home-page "http://github.com/sjakobi/newtype-generics")
6911 (synopsis "Typeclass and set of functions for working with newtypes")
6912 (description "The @code{Newtype} typeclass represents the packing and
6913unpacking of a newtype, and allows you to operate under that newtype with
6914functions such as @code{ala}. Generics support was added in version 0.4,
6915making this package a full replacement for the original newtype package,
6916and an alternative to newtype-th.")
6917 (license license:bsd-3)))
6918
6b652f5a
JS
6919(define-public ghc-non-negative
6920 (package
6921 (name "ghc-non-negative")
6922 (version "0.1.2")
6923 (source
6924 (origin
6925 (method url-fetch)
6926 (uri
6927 (string-append
6928 "https://hackage.haskell.org/package/non-negative/non-negative-"
6929 version ".tar.gz"))
6930 (sha256
6931 (base32
6932 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
6933 (build-system haskell-build-system)
6934 (inputs
6935 `(("ghc-semigroups" ,ghc-semigroups)
6936 ("ghc-utility-ht" ,ghc-utility-ht)
6937 ("ghc-quickcheck" ,ghc-quickcheck)))
6938 (home-page "https://hackage.haskell.org/package/non-negative")
6939 (synopsis "Non-negative numbers class")
6940 (description "This library provides a class for non-negative numbers,
6941a wrapper which can turn any ordered numeric type into a member of that
6942class, and a lazy number type for non-negative numbers (a generalization
6943of Peano numbers).")
6944 (license license:gpl3+)))
6945
dddbc90c
RV
6946(define-public ghc-objectname
6947 (package
6948 (name "ghc-objectname")
6949 (version "1.1.0.1")
6950 (source
6951 (origin
6952 (method url-fetch)
6953 (uri (string-append
6954 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
6955 version
6956 ".tar.gz"))
6957 (sha256
6958 (base32
6959 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
6960 (build-system haskell-build-system)
6961 (home-page "https://hackage.haskell.org/package/ObjectName")
6962 (synopsis "Helper library for Haskell OpenGL")
6963 (description "This tiny package contains the class ObjectName, which
6964corresponds to the general notion of explicitly handled identifiers for API
6965objects, e.g. a texture object name in OpenGL or a buffer object name in
6966OpenAL.")
6967 (license license:bsd-3)))
6968
6969(define-public ghc-old-locale
6970 (package
6971 (name "ghc-old-locale")
6972 (version "1.0.0.7")
6973 (source
6974 (origin
6975 (method url-fetch)
6976 (uri (string-append
6977 "https://hackage.haskell.org/package/old-locale/old-locale-"
6978 version
6979 ".tar.gz"))
6980 (sha256
6981 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
6982 (build-system haskell-build-system)
6983 (arguments
6984 `(#:cabal-revision
6985 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
6986 (home-page "https://hackage.haskell.org/package/old-locale")
6987 (synopsis "Adapt to locale conventions")
6988 (description
6989 "This package provides the ability to adapt to locale conventions such as
6990date and time formats.")
6991 (license license:bsd-3)))
6992
6993(define-public ghc-old-time
6994 (package
6995 (name "ghc-old-time")
6996 (version "1.1.0.3")
6997 (source
6998 (origin
6999 (method url-fetch)
7000 (uri (string-append
7001 "https://hackage.haskell.org/package/old-time/old-time-"
7002 version
7003 ".tar.gz"))
7004 (sha256
7005 (base32
7006 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7007 (build-system haskell-build-system)
7008 (arguments
7009 `(#:cabal-revision
7010 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7011 (inputs
7012 `(("ghc-old-locale" ,ghc-old-locale)))
7013 (home-page "https://hackage.haskell.org/package/old-time")
7014 (synopsis "Time compatibility library for Haskell")
7015 (description "Old-time is a package for backwards compatibility with the
7016old @code{time} library. For new projects, the newer
7017@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7018 (license license:bsd-3)))
7019
7020(define-public ghc-opengl
7021 (package
7022 (name "ghc-opengl")
7023 (version "3.0.2.2")
7024 (source
7025 (origin
7026 (method url-fetch)
7027 (uri (string-append
7028 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7029 version
7030 ".tar.gz"))
7031 (sha256
7032 (base32
7033 "19vxwvx2n8zq2klj176l25n2b64ybp0b8mhm4p46gvpcivz41fjc"))))
7034 (build-system haskell-build-system)
7035 (inputs
7036 `(("ghc-objectname" ,ghc-objectname)
7037 ("ghc-gluraw" ,ghc-gluraw)
7038 ("ghc-statevar" ,ghc-statevar)
7039 ("ghc-openglraw" ,ghc-openglraw)))
7040 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7041 (synopsis "Haskell bindings for the OpenGL graphics system")
7042 (description "This package provides Haskell bindings for the OpenGL
7043graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7044version 1.3).")
7045 (license license:bsd-3)))
7046
7047(define-public ghc-openglraw
7048 (package
7049 (name "ghc-openglraw")
7050 (version "3.3.1.0")
7051 (source
7052 (origin
7053 (method url-fetch)
7054 (uri (string-append
7055 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7056 version
7057 ".tar.gz"))
7058 (sha256
7059 (base32
7060 "1x8w3x308jldj2c1xqcq3a3sc2jc06pdpgqkgjsmixi1skv4a1vb"))))
7061 (build-system haskell-build-system)
7062 (inputs
7063 `(("ghc-half" ,ghc-half)
7064 ("ghc-fixed" ,ghc-fixed)
7065 ("glu" ,glu)))
7066 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7067 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7068 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7069graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7070of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7071offers access to all necessary functions, tokens and types plus a general
7072facility for loading extension entries. The module hierarchy closely mirrors
7073the naming structure of the OpenGL extensions, making it easy to find the
7074right module to import. All API entries are loaded dynamically, so no special
7075C header files are needed for building this package. If an API entry is not
7076found at runtime, a userError is thrown.")
7077 (license license:bsd-3)))
7078
7079(define-public ghc-operational
7080 (package
7081 (name "ghc-operational")
7082 (version "0.2.3.5")
7083 (source
7084 (origin
7085 (method url-fetch)
7086 (uri (string-append "https://hackage.haskell.org/package/operational/"
7087 "operational-" version ".tar.gz"))
7088 (sha256
7089 (base32
7090 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7091 (build-system haskell-build-system)
7092 (inputs
7093 `(("ghc-random" ,ghc-random)))
7094 (home-page "http://wiki.haskell.org/Operational")
7095 (synopsis "Implementation of difficult monads made easy with operational semantics")
7096 (description
7097 "This library makes it easy to implement monads with tricky control
7098flow. This is useful for: writing web applications in a sequential style,
7099programming games with a uniform interface for human and AI players and easy
7100replay capababilities, implementing fast parser monads, designing monadic
7101DSLs, etc.")
7102 (license license:bsd-3)))
7103
7104(define-public ghc-options
7105 (package
7106 (name "ghc-options")
7107 (version "1.2.1.1")
7108 (source
7109 (origin
7110 (method url-fetch)
7111 (uri (string-append
7112 "https://hackage.haskell.org/package/options/options-"
7113 version ".tar.gz"))
7114 (sha256
7115 (base32
7116 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7117 (build-system haskell-build-system)
7118 (inputs
7119 `(("ghc-monads-tf" ,ghc-monads-tf)
7120 ("ghc-chell" ,ghc-chell)
7121 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7122 (home-page "https://john-millikin.com/software/haskell-options/")
7123 (synopsis "Powerful and easy-to-use command-line option parser")
7124 (description
7125 "The @code{options} package lets library and application developers
7126easily work with command-line options.")
7127 (license license:expat)))
7128
7129;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7130(define ghc-options-bootstrap
7131 (package
7132 (name "ghc-options-bootstrap")
7133 (version "1.2.1.1")
7134 (source
7135 (origin
7136 (method url-fetch)
7137 (uri (string-append
7138 "https://hackage.haskell.org/package/options/options-"
7139 version ".tar.gz"))
7140 (sha256
7141 (base32
7142 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7143 (build-system haskell-build-system)
7144 (arguments
7145 `(#:tests? #f))
7146 (inputs
7147 `(("ghc-monads-tf" ,ghc-monads-tf)))
7148 (home-page "https://john-millikin.com/software/haskell-options/")
7149 (synopsis "Powerful and easy-to-use command-line option parser")
7150 (description
7151 "The @code{options} package lets library and application developers
7152easily work with command-line options.")
7153 (license license:expat)))
7154
7155
7156(define-public ghc-optparse-applicative
7157 (package
7158 (name "ghc-optparse-applicative")
7159 (version "0.14.2.0")
7160 (source
7161 (origin
7162 (method url-fetch)
7163 (uri (string-append
7164 "https://hackage.haskell.org/package/optparse-applicative"
7165 "/optparse-applicative-" version ".tar.gz"))
7166 (sha256
7167 (base32
7168 "0c3z1mvynlyv1garjbdmdd3npm40dabgm75js4r07cf766c1wd71"))))
7169 (build-system haskell-build-system)
7170 (inputs
7171 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7172 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7173 (native-inputs
7174 `(("ghc-quickcheck" ,ghc-quickcheck)))
7175 (home-page "https://github.com/pcapriotti/optparse-applicative")
7176 (synopsis "Utilities and combinators for parsing command line options")
7177 (description "This package provides utilities and combinators for parsing
7178command line options in Haskell.")
7179 (license license:bsd-3)))
7180
7181(define-public ghc-pandoc
7182 (package
7183 (name "ghc-pandoc")
7184 (version "2.2.1")
7185 (source
7186 (origin
7187 (method url-fetch)
7188 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7189 version ".tar.gz"))
7190 (sha256
7191 (base32
7192 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
7193 (build-system haskell-build-system)
7194 (arguments
7195 `(#:phases
7196 (modify-phases %standard-phases
7197 (add-before 'configure 'update-constraints
7198 (lambda _
7199 (substitute* "pandoc.cabal"
7200 (("tasty >= 0\\.11 && < 1\\.1")
7201 "tasty >= 0.11 && < 1.1.1"))))
7202 (add-before 'configure 'patch-tests
7203 (lambda _
7204 ;; These tests fail benignly and have been adjusted upstream:
7205 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
7206 (substitute* "test/Tests/Old.hs"
7207 (("lhsWriterTests \"html\"") "[]")))))))
7208 (inputs
7209 `(("ghc-aeson" ,ghc-aeson)
7210 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7211 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7212 ("ghc-blaze-html" ,ghc-blaze-html)
7213 ("ghc-blaze-markup" ,ghc-blaze-markup)
7214 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7215 ("ghc-data-default" ,ghc-data-default)
7216 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7217 ("ghc-diff" ,ghc-diff)
7218 ("ghc-doctemplates" ,ghc-doctemplates)
7219 ("ghc-executable-path" ,ghc-executable-path)
7220 ("ghc-glob" ,ghc-glob)
7221 ("ghc-haddock-library" ,ghc-haddock-library)
7222 ("ghc-hslua" ,ghc-hslua)
7223 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7224 ("ghc-http" ,ghc-http)
7225 ("ghc-http-client" ,ghc-http-client)
7226 ("ghc-http-client-tls" ,ghc-http-client-tls)
7227 ("ghc-http-types" ,ghc-http-types)
7228 ("ghc-juicypixels" ,ghc-juicypixels)
7229 ("ghc-network" ,ghc-network)
7230 ("ghc-network-uri" ,ghc-network-uri)
7231 ("ghc-old-locale" ,ghc-old-locale)
7232 ("ghc-pandoc-types" ,ghc-pandoc-types)
7233 ("ghc-random" ,ghc-random)
7234 ("ghc-scientific" ,ghc-scientific)
7235 ("ghc-sha" ,ghc-sha)
7236 ("ghc-skylighting" ,ghc-skylighting)
7237 ("ghc-split" ,ghc-split)
7238 ("ghc-syb" ,ghc-syb)
7239 ("ghc-tagsoup" ,ghc-tagsoup)
7240 ("ghc-temporary" ,ghc-temporary)
7241 ("ghc-texmath" ,ghc-texmath)
7242 ("ghc-unordered-containers" ,ghc-unordered-containers)
7243 ("ghc-vector" ,ghc-vector)
7244 ("ghc-xml" ,ghc-xml)
7245 ("ghc-yaml" ,ghc-yaml)
7246 ("ghc-zip-archive" ,ghc-zip-archive)
7247 ("ghc-zlib" ,ghc-zlib)))
7248 (native-inputs
7249 `(("ghc-tasty" ,ghc-tasty)
7250 ("ghc-tasty-golden" ,ghc-tasty-golden)
7251 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7252 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7253 ("ghc-quickcheck" ,ghc-quickcheck)
7254 ("ghc-hunit" ,ghc-hunit)))
7255 (home-page "https://pandoc.org")
7256 (synopsis "Conversion between markup formats")
7257 (description
7258 "Pandoc is a Haskell library for converting from one markup format to
7259another, and a command-line tool that uses this library. It can read and
7260write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7261LaTeX, DocBook, and many more.
7262
7263Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7264definition lists, tables, and other features. A compatibility mode is
7265provided for those who need a drop-in replacement for Markdown.pl.")
7266 (license license:gpl2+)))
7267
7268(define-public ghc-pandoc-citeproc
7269 (package
7270 (name "ghc-pandoc-citeproc")
7271 (version "0.14.3.1")
7272 (source
7273 (origin
7274 (method url-fetch)
7275 (uri (string-append "https://hackage.haskell.org/package/"
7276 "pandoc-citeproc/pandoc-citeproc-"
7277 version ".tar.gz"))
7278 (sha256
7279 (base32
7280 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7281 (build-system haskell-build-system)
7282 (arguments
7283 `(#:phases
7284 (modify-phases %standard-phases
7285 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7286 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7287 (add-before 'configure 'patch-tests
7288 (lambda _
7289 (substitute* "tests/test-pandoc-citeproc.hs"
7290 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7291 "let allTests = citeprocTests"))))
7292 ;; Tests need to be run after installation.
7293 (delete 'check)
7294 (add-after 'install 'post-install-check
7295 (assoc-ref %standard-phases 'check)))))
7296 (inputs
7297 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7298 ("ghc-pandoc" ,ghc-pandoc)
7299 ("ghc-tagsoup" ,ghc-tagsoup)
7300 ("ghc-aeson" ,ghc-aeson)
7301 ("ghc-vector" ,ghc-vector)
7302 ("ghc-xml-conduit" ,ghc-xml-conduit)
7303 ("ghc-unordered-containers" ,ghc-unordered-containers)
7304 ("ghc-data-default" ,ghc-data-default)
7305 ("ghc-setenv" ,ghc-setenv)
7306 ("ghc-split" ,ghc-split)
7307 ("ghc-yaml" ,ghc-yaml)
7308 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7309 ("ghc-rfc5051" ,ghc-rfc5051)
7310 ("ghc-syb" ,ghc-syb)
7311 ("ghc-old-locale" ,ghc-old-locale)
7312 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7313 ("ghc-attoparsec" ,ghc-attoparsec)
7314 ("ghc-temporary" ,ghc-temporary)))
7315 (home-page "https://github.com/jgm/pandoc-citeproc")
7316 (synopsis "Library for using pandoc with citeproc")
7317 (description
7318 "The @code{pandoc-citeproc} library exports functions for using the
7319citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7320rendering bibliographic reference citations into a variety of styles using a
7321macro language called @dfn{Citation Style Language} (CSL). This package also
7322contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7323and also has a mode for converting bibliographic databases a YAML format
7324suitable for inclusion in pandoc YAML metadata.")
7325 (license license:bsd-3)))
7326
7327(define-public ghc-pandoc-types
7328 (package
7329 (name "ghc-pandoc-types")
7330 (version "1.17.5.1")
7331 (source (origin
7332 (method url-fetch)
7333 (uri (string-append "https://hackage.haskell.org/package/"
7334 "pandoc-types/pandoc-types-"
7335 version ".tar.gz"))
7336 (sha256
7337 (base32
7338 "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
7339 (build-system haskell-build-system)
7340 (inputs
7341 `(("ghc-syb" ,ghc-syb)
7342 ("ghc-aeson" ,ghc-aeson)
7343 ("ghc-string-qq" ,ghc-string-qq)))
7344 (native-inputs
7345 `(("ghc-quickcheck" ,ghc-quickcheck)
7346 ("ghc-test-framework" ,ghc-test-framework)
7347 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7348 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7349 ("ghc-hunit" ,ghc-hunit)))
7350 (home-page "http://johnmacfarlane.net/pandoc")
7351 (synopsis "Types for representing a structured document")
7352 (description
7353 "This module defines the @code{Pandoc} data structure, which is used by
7354pandoc to represent structured documents. It also provides functions for
7355building up, manipulating and serialising @code{Pandoc} structures.")
7356 (license license:bsd-3)))
7357
7358(define-public ghc-parallel
7359 (package
7360 (name "ghc-parallel")
7361 (version "3.2.2.0")
7362 (outputs '("out" "doc"))
7363 (source
7364 (origin
7365 (method url-fetch)
7366 (uri (string-append
7367 "https://hackage.haskell.org/package/parallel/parallel-"
7368 version
7369 ".tar.gz"))
7370 (sha256
7371 (base32
7372 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7373 (build-system haskell-build-system)
7374 (home-page "https://hackage.haskell.org/package/parallel")
7375 (synopsis "Parallel programming library")
7376 (description
7377 "This package provides a library for parallel programming.")
7378 (license license:bsd-3)))
7379
7380(define-public ghc-parsec-numbers
7381 (package
7382 (name "ghc-parsec-numbers")
7383 (version "0.1.0")
7384 (source
7385 (origin
7386 (method url-fetch)
7387 (uri (string-append "https://hackage.haskell.org/package/"
7388 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7389 (sha256
7390 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7391 (build-system haskell-build-system)
7392 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7393 (synopsis "Utilities for parsing numbers from strings")
7394 (description
7395 "This package provides the number parsers without the need to use a large
7396(and unportable) token parser.")
7397 (license license:bsd-3)))
7398
7399(define-public ghc-parser-combinators
7400 (package
7401 (name "ghc-parser-combinators")
2f173160 7402 (version "1.1.0")
dddbc90c
RV
7403 (source
7404 (origin
7405 (method url-fetch)
7406 (uri (string-append "https://hackage.haskell.org/package/"
7407 "parser-combinators/parser-combinators-"
7408 version ".tar.gz"))
7409 (sha256
7410 (base32
2f173160 7411 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
7412 (build-system haskell-build-system)
7413 (home-page "https://github.com/mrkkrp/parser-combinators")
7414 (synopsis "Commonly useful parser combinators")
7415 (description
7416 "This is a lightweight package providing commonly useful parser
7417combinators.")
7418 (license license:bsd-3)))
7419
7420(define-public ghc-parsers
7421 (package
7422 (name "ghc-parsers")
7423 (version "0.12.9")
7424 (source
7425 (origin
7426 (method url-fetch)
7427 (uri (string-append
7428 "https://hackage.haskell.org/package/parsers/parsers-"
7429 version
7430 ".tar.gz"))
7431 (sha256
7432 (base32
7433 "1r05sc1mcglk8w596kq9a1brfn9c2vll8lq16j07ln0vsz4jzrc1"))))
7434 (build-system haskell-build-system)
7435 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7436 ; -package attoparsec-0.13.0.1"
7437 (inputs
7438 `(("ghc-base-orphans" ,ghc-base-orphans)
7439 ("ghc-attoparsec" ,ghc-attoparsec)
7440 ("ghc-scientific" ,ghc-scientific)
7441 ("ghc-charset" ,ghc-charset)
7442 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7443 (home-page "https://github.com/ekmett/parsers/")
7444 (synopsis "Parsing combinators")
7445 (description "This library provides convenient combinators for working
7446with and building parsing combinator libraries. Given a few simple instances,
7447you get access to a large number of canned definitions. Instances exist for
7448the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7449@code{Text.Read}.")
7450 (license license:bsd-3)))
7451
7452(define-public ghc-path
7453 (package
7454 (name "ghc-path")
7455 (version "0.6.1")
7456 (source
7457 (origin
7458 (method url-fetch)
7459 (uri (string-append
7460 "https://hackage.haskell.org/package/path/path-"
7461 version
7462 ".tar.gz"))
7463 (sha256
7464 (base32
7465 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7466 (build-system haskell-build-system)
7467 (arguments
7468 ;; TODO: There are some Windows-related tests and modules that need to be
7469 ;; danced around.
7470 `(#:tests? #f
7471 #:cabal-revision
7472 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7473 (inputs
7474 `(("ghc-aeson" ,ghc-aeson)
7475 ("ghc-exceptions" ,ghc-exceptions)
7476 ("ghc-hashable" ,ghc-hashable)))
7477 (native-inputs
7478 `(("ghc-hspec" ,ghc-hspec)
7479 ("ghc-quickcheck" ,ghc-quickcheck)
7480 ("ghc-genvalidity" ,ghc-genvalidity)
7481 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7482 ("ghc-hspec" ,ghc-hspec)
7483 ("ghc-validity" ,ghc-validity)))
7484 (home-page
7485 "http://hackage.haskell.org/package/path")
7486 (synopsis "Support for well-typed paths")
7487 (description "This package introduces a type for paths upholding useful
7488invariants.")
7489 (license license:bsd-3)))
7490
7491(define-public ghc-path-io
7492 (package
7493 (name "ghc-path-io")
7494 (version "1.3.3")
7495 (source
7496 (origin
7497 (method url-fetch)
7498 (uri (string-append
7499 "https://hackage.haskell.org/package/path-io/path-io-"
7500 version
7501 ".tar.gz"))
7502 (sha256
7503 (base32
7504 "1g9m3qliqjk1img894wsb89diym5zrq51qkkrwhz4sbm9a8hbv1a"))))
7505 (build-system haskell-build-system)
7506 (inputs
7507 `(("ghc-dlist" ,ghc-dlist)
7508 ("ghc-exceptions" ,ghc-exceptions)
7509 ("ghc-path" ,ghc-path)
7510 ("ghc-transformers-base" ,ghc-transformers-base)
7511 ("ghc-unix-compat" ,ghc-unix-compat)
7512 ("ghc-temporary" ,ghc-temporary)))
7513 (native-inputs
7514 `(("ghc-hspec" ,ghc-hspec)))
7515 (arguments
7516 `(#:cabal-revision
7517 ("3" "1h9hsibbflkxpjl2fqamqiv3x3gasf51apnmklrs9l9x8r32hzcc")))
7518 (home-page
7519 "https://github.com/mrkkrp/path-io")
7520 (synopsis "Functions for manipulating well-typed paths")
7521 (description "This package provides an interface to the @code{directory}
7522package for users of @code{path}. It also implements some missing stuff like
7523recursive scanning and copying of directories, working with temporary
7524files/directories, and more.")
7525 (license license:bsd-3)))
7526
7527(define-public ghc-paths
7528 (package
7529 (name "ghc-paths")
9a8adeb1 7530 (version "0.1.0.12")
dddbc90c
RV
7531 (outputs '("out" "doc"))
7532 (source
7533 (origin
7534 (method url-fetch)
7535 (uri (string-append
7536 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7537 version
7538 ".tar.gz"))
7539 (sha256
7540 (base32
9a8adeb1 7541 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
7542 (build-system haskell-build-system)
7543 (home-page "https://github.com/simonmar/ghc-paths")
7544 (synopsis
7545 "Knowledge of GHC's installation directories")
7546 (description
7547 "Knowledge of GHC's installation directories.")
7548 (license license:bsd-3)))
7549
7550(define-public ghc-patience
7551 (package
7552 (name "ghc-patience")
7553 (version "0.1.1")
7554 (source
7555 (origin
7556 (method url-fetch)
7557 (uri (string-append
7558 "https://hackage.haskell.org/package/patience/patience-"
7559 version ".tar.gz"))
7560 (sha256
7561 (base32
7562 "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"))))
7563 (build-system haskell-build-system)
7564 (home-page "https://hackage.haskell.org/package/patience")
7565 (synopsis "Patience diff and longest increasing subsequence")
7566 (description
7567 "This library implements the 'patience diff' algorithm, as well as the
7568patience algorithm for the longest increasing subsequence problem.
7569Patience diff computes the difference between two lists, for example the lines
7570of two versions of a source file. It provides a good balance between
7571performance, nice output for humans, and simplicity of implementation.")
7572 (license license:bsd-3)))
7573
7574(define-public ghc-pcre-light
7575 (package
7576 (name "ghc-pcre-light")
7577 (version "0.4.0.4")
7578 (source
7579 (origin
7580 (method url-fetch)
7581 (uri (string-append
7582 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7583 version
7584 ".tar.gz"))
7585 (sha256
7586 (base32
7587 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7588 (build-system haskell-build-system)
7589 (inputs
7590 `(("pcre" ,pcre)))
7591 (native-inputs
7592 `(("pkg-config" ,pkg-config)))
7593 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7594 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7595 (description "This package provides a small, efficient, and portable regex
7596library for Perl 5 compatible regular expressions. The PCRE library is a set
7597of functions that implement regular expression pattern matching using the same
7598syntax and semantics as Perl 5.")
7599 (license license:bsd-3)))
7600
7601(define-public ghc-persistent
7602 (package
7603 (name "ghc-persistent")
7604 (version "2.8.2")
7605 (source
7606 (origin
7607 (method url-fetch)
7608 (uri (string-append "https://hackage.haskell.org/package/"
7609 "persistent-" version "/"
7610 "persistent-" version ".tar.gz"))
7611 (sha256
7612 (base32
7613 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
7614 (build-system haskell-build-system)
7615 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7616 ("ghc-conduit" ,ghc-conduit)
7617 ("ghc-resourcet" ,ghc-resourcet)
7618 ("ghc-exceptions" ,ghc-exceptions)
7619 ("ghc-monad-control" ,ghc-monad-control)
7620 ("ghc-lifted-base" ,ghc-lifted-base)
7621 ("ghc-resource-pool" ,ghc-resource-pool)
7622 ("ghc-path-pieces" ,ghc-path-pieces)
7623 ("ghc-http-api-data" ,ghc-http-api-data)
7624 ("ghc-aeson" ,ghc-aeson)
7625 ("ghc-monad-logger" ,ghc-monad-logger)
7626 ("ghc-transformers-base" ,ghc-transformers-base)
7627 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7628 ("ghc-unordered-containers" ,ghc-unordered-containers)
7629 ("ghc-vector" ,ghc-vector)
7630 ("ghc-attoparsec" ,ghc-attoparsec)
7631 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7632 ("ghc-blaze-html" ,ghc-blaze-html)
7633 ("ghc-blaze-markup" ,ghc-blaze-markup)
7634 ("ghc-silently" ,ghc-silently)
7635 ("ghc-fast-logger" ,ghc-fast-logger)
7636 ("ghc-scientific" ,ghc-scientific)
7637 ("ghc-tagged" ,ghc-tagged)
7638 ("ghc-void" ,ghc-void)))
7639 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7640 (home-page "https://www.yesodweb.com/book/persistent")
7641 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7642 (description "This Haskell package allows Haskell programs to access data
7643storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7644way.")
7645 (license license:expat)))
7646
7647(define-public ghc-persistent-sqlite
7648 (package
7649 (name "ghc-persistent-sqlite")
7650 (version "2.8.2")
7651 (source
7652 (origin
7653 (method url-fetch)
7654 (uri (string-append "https://hackage.haskell.org/package/"
7655 "persistent-sqlite-" version "/"
7656 "persistent-sqlite-" version ".tar.gz"))
7657 (sha256
7658 (base32
7659 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7660 (build-system haskell-build-system)
7661 (inputs `(("ghc-persistent" ,ghc-persistent)
7662 ("ghc-unliftio-core" ,ghc-unliftio-core)
7663 ("ghc-aeson" ,ghc-aeson)
7664 ("ghc-conduit" ,ghc-conduit)
7665 ("ghc-monad-logger" ,ghc-monad-logger)
7666 ("ghc-microlens-th" ,ghc-microlens-th)
7667 ("ghc-resourcet" ,ghc-resourcet)
7668 ("ghc-old-locale" ,ghc-old-locale)
7669 ("ghc-resource-pool" ,ghc-resource-pool)
7670 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7671 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7672 ("ghc-persistent-template" ,ghc-persistent-template)
7673 ("ghc-temporary" ,ghc-temporary)))
7674 (home-page
7675 "https://www.yesodweb.com/book/persistent")
7676 (synopsis "Backend for the persistent library using sqlite3")
7677 (description "This Haskell package includes a thin sqlite3 wrapper based
7678on the direct-sqlite package, as well as the entire C library, so there are no
7679system dependencies.")
7680 (license license:expat)))
7681
7682(define-public ghc-persistent-template
7683 (package
7684 (name "ghc-persistent-template")
7685 (version "2.5.4")
7686 (source
7687 (origin
7688 (method url-fetch)
7689 (uri (string-append "https://hackage.haskell.org/package/"
7690 "persistent-template-" version "/"
7691 "persistent-template-" version ".tar.gz"))
7692 (sha256
7693 (base32
7694 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7695 (build-system haskell-build-system)
7696 (arguments
7697 `(#:cabal-revision
7698 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7699 (inputs `(("ghc-persistent" ,ghc-persistent)
7700 ("ghc-monad-control" ,ghc-monad-control)
7701 ("ghc-aeson" ,ghc-aeson)
7702 ("ghc-aeson-compat" ,ghc-aeson-compat)
7703 ("ghc-monad-logger" ,ghc-monad-logger)
7704 ("ghc-unordered-containers" ,ghc-unordered-containers)
7705 ("ghc-tagged" ,ghc-tagged)
7706 ("ghc-path-pieces" ,ghc-path-pieces)
7707 ("ghc-http-api-data" ,ghc-http-api-data)))
7708 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7709 ("ghc-quickcheck" ,ghc-quickcheck)))
7710 (home-page "https://www.yesodweb.com/book/persistent")
7711 (synopsis "Type-safe, non-relational, multi-backend persistence")
7712 (description "This Haskell package provides interfaces and helper
7713functions for the ghc-persistent package.")
7714 (license license:expat)))
7715
7716(define-public ghc-polyparse
7717 (package
7718 (name "ghc-polyparse")
9822b9ca 7719 (version "1.12.1")
dddbc90c
RV
7720 (source
7721 (origin
7722 (method url-fetch)
7723 (uri (string-append
7724 "https://hackage.haskell.org/package/polyparse/polyparse-"
7725 version
7726 ".tar.gz"))
7727 (sha256
7728 (base32
9822b9ca 7729 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
7730 (build-system haskell-build-system)
7731 (home-page
7732 "http://code.haskell.org/~malcolm/polyparse/")
7733 (synopsis
7734 "Alternative parser combinator libraries")
7735 (description
7736 "This package provides a variety of alternative parser combinator
7737libraries, including the original HuttonMeijer set. The Poly sets have
7738features like good error reporting, arbitrary token type, running state, lazy
7739parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7740standard Read class, for better deserialisation of Haskell values from
7741Strings.")
7742 (license license:lgpl2.1)))
7743
7744(define-public ghc-pqueue
7745 (package
7746 (name "ghc-pqueue")
7747 (version "1.4.1.1")
7748 (source
7749 (origin
7750 (method url-fetch)
7751 (uri (string-append "https://hackage.haskell.org/package/"
7752 "pqueue/pqueue-" version ".tar.gz"))
7753 (sha256
7754 (base32
7755 "1zvwm1zcqqq5n101s1brjhgbay8rf9fviq6gxbplf40i63m57p1x"))))
7756 (build-system haskell-build-system)
7757 (native-inputs
7758 `(("ghc-quickcheck" ,ghc-quickcheck)))
7759 (home-page "https://hackage.haskell.org/package/pqueue")
7760 (synopsis "Reliable, persistent, fast priority queues")
7761 (description
7762 "This package provides a fast, reliable priority queue implementation
7763based on a binomial heap.")
7764 (license license:bsd-3)))
7765
7766(define-public ghc-prelude-extras
7767 (package
7768 (name "ghc-prelude-extras")
7769 (version "0.4.0.3")
7770 (source
7771 (origin
7772 (method url-fetch)
7773 (uri (string-append
7774 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7775 version
7776 ".tar.gz"))
7777 (sha256
7778 (base32
7779 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7780 (build-system haskell-build-system)
7781 (home-page "https://github.com/ekmett/prelude-extras")
7782 (synopsis "Higher order versions of Prelude classes")
7783 (description "This library provides higher order versions of
7784@code{Prelude} classes to ease programming with polymorphic recursion and
7785reduce @code{UndecidableInstances}.")
7786 (license license:bsd-3)))
7787
7788(define-public ghc-prettyclass
7789 (package
7790 (name "ghc-prettyclass")
7791 (version "1.0.0.0")
7792 (source
7793 (origin
7794 (method url-fetch)
7795 (uri (string-append "https://hackage.haskell.org/package/"
7796 "prettyclass/prettyclass-" version ".tar.gz"))
7797 (sha256
7798 (base32
7799 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7800 (build-system haskell-build-system)
7801 (home-page "http://hackage.haskell.org/package/prettyclass")
7802 (synopsis "Pretty printing class similar to Show")
7803 (description "This package provides a pretty printing class similar
7804to @code{Show}, based on the HughesPJ pretty printing library. It
7805provides the pretty printing class and instances for the Prelude
7806types.")
7807 (license license:bsd-3)))
7808
7809(define-public ghc-pretty-hex
7810 (package
7811 (name "ghc-pretty-hex")
7812 (version "1.0")
7813 (source
7814 (origin
7815 (method url-fetch)
7816 (uri (string-append "https://hackage.haskell.org/package/"
7817 "pretty-hex-" version "/"
7818 "pretty-hex-" version ".tar.gz"))
7819 (sha256
7820 (base32
7821 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7822 (build-system haskell-build-system)
7823 (home-page "https://github.com/GaloisInc/hexdump")
7824 (synopsis "Haskell library for hex dumps of ByteStrings")
7825 (description "This Haskell library generates pretty hex dumps of
7826ByteStrings in the style of other common *nix hex dump tools.")
7827 (license license:bsd-3)))
7828
7829(define-public ghc-pretty-show
7830 (package
7831 (name "ghc-pretty-show")
7832 (version "1.7")
7833 (source
7834 (origin
7835 (method url-fetch)
7836 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
7837 "pretty-show-" version ".tar.gz"))
7838 (sha256
7839 (base32
7840 "0br7pkxqqqhby2j2v1g847lgqsrasx56g1jw3dhmjh4flzs6warq"))))
7841 (build-system haskell-build-system)
7842 (inputs
7843 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
7844 ("ghc-happy" ,ghc-happy)))
7845 (home-page "http://wiki.github.com/yav/pretty-show")
7846 (synopsis "Tools for working with derived `Show` instances")
7847 (description
7848 "This package provides a library and an executable for working with
7849derived @code{Show} instances. By using the library, derived @code{Show}
7850instances can be parsed into a generic data structure. The @code{ppsh} tool
7851uses the library to produce human-readable versions of @code{Show} instances,
7852which can be quite handy for debugging Haskell programs. We can also render
7853complex generic values into an interactive Html page, for easier
7854examination.")
7855 (license license:expat)))
7856
7857(define-public ghc-primitive
7858 (package
7859 (name "ghc-primitive")
7860 (version "0.6.4.0")
7861 (outputs '("out" "doc"))
7862 (source
7863 (origin
7864 (method url-fetch)
7865 (uri (string-append
7866 "https://hackage.haskell.org/package/primitive/primitive-"
7867 version
7868 ".tar.gz"))
7869 (sha256
7870 (base32
7871 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
7872 (build-system haskell-build-system)
7873 (home-page
7874 "https://github.com/haskell/primitive")
7875 (synopsis "Primitive memory-related operations")
7876 (description
7877 "This package provides various primitive memory-related operations.")
7878 (license license:bsd-3)))
7879
21f5b9a9
JS
7880(define-public ghc-process-extras
7881 (package
7882 (name "ghc-process-extras")
7883 (version "0.7.4")
7884 (source
7885 (origin
7886 (method url-fetch)
7887 (uri
7888 (string-append
7889 "https://hackage.haskell.org/package/process-extras/"
7890 "process-extras-" version ".tar.gz"))
7891 (sha256
7892 (base32
7893 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
7894 (build-system haskell-build-system)
7895 (inputs
7896 `(("ghc-data-default" ,ghc-data-default)
7897 ("ghc-generic-deriving" ,ghc-generic-deriving)
7898 ("ghc-hunit" ,ghc-hunit)
7899 ("ghc-listlike" ,ghc-listlike)))
7900 (home-page "https://github.com/seereason/process-extras")
7901 (synopsis "Extra tools for managing processes")
f74b6983 7902 (description "This package extends
21f5b9a9
JS
7903@url{http://hackage.haskell.org/package/process}. It allows you to read
7904process input and output as ByteStrings or Text, or write your own
7905ProcessOutput instance. It also provides lazy process input and output,
7906and a ProcessMaker class for more flexibility in the process creation
7907API.")
7908 (license license:expat)))
7909
dddbc90c
RV
7910(define-public ghc-profunctors
7911 (package
7912 (name "ghc-profunctors")
7913 (version "5.2.2")
7914 (source
7915 (origin
7916 (method url-fetch)
7917 (uri (string-append
7918 "https://hackage.haskell.org/package/profunctors/profunctors-"
7919 version
7920 ".tar.gz"))
7921 (sha256
7922 (base32
7923 "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9"))))
7924 (build-system haskell-build-system)
7925 (arguments
7926 `(#:cabal-revision
7927 ("2" "1ywlg9z8nlhd2avgb8c6gbkv8zyk7hvc25926bafyg0m0k8y1amq")))
7928 (inputs
7929 `(("ghc-base-orphans" ,ghc-base-orphans)
7930 ("ghc-bifunctors" ,ghc-bifunctors)
7931 ("ghc-comonad" ,ghc-comonad)
7932 ("ghc-contravariant" ,ghc-contravariant)
7933 ("ghc-distributive" ,ghc-distributive)
7934 ("ghc-semigroups" ,ghc-semigroups)
7935 ("ghc-tagged" ,ghc-tagged)))
7936 (home-page "https://github.com/ekmett/profunctors/")
7937 (synopsis "Profunctors for Haskell")
7938 (description "This library provides profunctors for Haskell.")
7939 (license license:bsd-3)))
7940
7941(define-public ghc-psqueues
7942 (package
7943 (name "ghc-psqueues")
7944 (version "0.2.7.0")
7945 (source
7946 (origin
7947 (method url-fetch)
7948 (uri (string-append "https://hackage.haskell.org/package/"
7949 "psqueues-" version "/"
7950 "psqueues-" version ".tar.gz"))
7951 (sha256
7952 (base32
7953 "1sjgc9bxh63kkdp59nbirx3xazr02ia5yhp4f4a0jnq1hj465wsc"))))
7954 (build-system haskell-build-system)
7955 (inputs
7956 `(("ghc-hashable" ,ghc-hashable)))
7957 (native-inputs
7958 `(("ghc-hunit" ,ghc-hunit)
7959 ("ghc-quickcheck" ,ghc-quickcheck)
7960 ("ghc-tagged" ,ghc-tagged)
7961 ("ghc-test-framework" ,ghc-test-framework)
7962 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7963 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7964 (home-page "https://github.com/jaspervdj/psqueues")
7965 (synopsis "Pure priority search queues")
7966 (description "The psqueues package provides
7967@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
7968three different flavors:
7969
7970@itemize
7971@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
7972fast insertion, deletion and lookup. This implementation is based on Ralf
7973Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
7974Implementation Technique for Priority Search Queues}.
7975
7976Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
7977PSQueue} library, although it is considerably faster and provides a slightly
7978different API.
7979
7980@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
7981key type to @code{Int} and uses a
7982@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
7983with an additional min-heap property.
7984
7985@item @code{HashPSQ k p v} is a fairly straightforward extension
7986of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
7987@code{IntPSQ}. If there are any hash collisions, it uses an
7988@code{OrdPSQ} to resolve those. The performance of this implementation
7989is comparable to that of @code{IntPSQ}, but it is more widely
7990applicable since the keys are not restricted to @code{Int},
7991but rather to any @code{Hashable} datatype.
7992@end itemize
7993
7994Each of the three implementations provides the same API, so they can
7995be used interchangeably.
7996
7997Typical applications of Priority Search Queues include:
7998
7999@itemize
8000@item Caches, and more specifically LRU Caches;
8001@item Schedulers;
8002@item Pathfinding algorithms, such as Dijkstra's and A*.
8003@end itemize")
8004 (license license:bsd-3)))
8005
8006(define-public ghc-random
8007 (package
8008 (name "ghc-random")
8009 (version "1.1")
8010 (outputs '("out" "doc"))
8011 (source
8012 (origin
8013 (method url-fetch)
8014 (uri (string-append
8015 "https://hackage.haskell.org/package/random/random-"
8016 version
8017 ".tar.gz"))
8018 (sha256
8019 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8020 (build-system haskell-build-system)
8021 (home-page "https://hackage.haskell.org/package/random")
8022 (synopsis "Random number library")
8023 (description "This package provides a basic random number generation
8024library, including the ability to split random number generators.")
8025 (license license:bsd-3)))
8026
8027(define-public ghc-raw-strings-qq
8028 (package
8029 (name "ghc-raw-strings-qq")
8030 (version "1.1")
8031 (source
8032 (origin
8033 (method url-fetch)
8034 (uri (string-append "https://hackage.haskell.org/package/"
8035 "raw-strings-qq/raw-strings-qq-"
8036 version ".tar.gz"))
8037 (sha256
8038 (base32
8039 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8040 (build-system haskell-build-system)
8041 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8042 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8043 (synopsis "Raw string literals for Haskell")
8044 (description
8045 "This package provides a quasiquoter for raw string literals, i.e. string
8046literals that don't recognise the standard escape sequences. Basically, they
8047make your code more readable by freeing you from the responsibility to escape
8048backslashes. They are useful when working with regular expressions,
8049DOS/Windows paths and markup languages (such as XML).")
8050 (license license:bsd-3)))
8051
8052(define-public ghc-readable
8053 (package
8054 (name "ghc-readable")
8055 (version "0.3.1")
8056 (source
8057 (origin
8058 (method url-fetch)
8059 (uri (string-append "https://hackage.haskell.org/package/"
8060 "readable/readable-" version ".tar.gz"))
8061 (sha256
8062 (base32
8063 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8064 (build-system haskell-build-system)
8065 (home-page "https://github.com/mightybyte/readable")
8066 (synopsis "Type class for reading from Text and ByteString")
8067 (description "This package provides a @code{Readable} type class for
8068reading data types from @code{ByteString} and @code{Text}. It also
8069includes efficient implementations for common data types.")
8070 (license license:bsd-3)))
8071
8072(define-public ghc-rebase
8073 (package
8074 (name "ghc-rebase")
8075 (version "1.2.4")
8076 (source
8077 (origin
8078 (method url-fetch)
8079 (uri (string-append "https://hackage.haskell.org/package/"
8080 "rebase-" version "/"
8081 "rebase-" version ".tar.gz"))
8082 (sha256
8083 (base32
8084 "1gah2qwfpzwamnikbc5h4nv6dgvv9h16di9ka7946za3nibyasya"))))
8085 (build-system haskell-build-system)
8086 (inputs `(("ghc-hashable" ,ghc-hashable)
8087 ("ghc-vector" ,ghc-vector)
8088 ("ghc-unordered-containers" ,ghc-unordered-containers)
8089 ("ghc-scientific" ,ghc-scientific)
8090 ("ghc-uuid" ,ghc-uuid)
8091 ("ghc-dlist" ,ghc-dlist)
8092 ("ghc-void" ,ghc-void)
8093 ("ghc-bifunctors" ,ghc-bifunctors)
8094 ("ghc-profunctors" ,ghc-profunctors)
8095 ("ghc-contravariant" ,ghc-contravariant)
8096 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8097 ("ghc-semigroups" ,ghc-semigroups)
8098 ("ghc-either" ,ghc-either)
8099 ("ghc-fail" ,ghc-fail)
8100 ("ghc-base-prelude" ,ghc-base-prelude)))
8101 (home-page "https://github.com/nikita-volkov/rebase")
8102 (synopsis "Progressive alternative to the base package
8103for Haskell")
8104 (description "This Haskell package is intended for those who are
8105tired of keeping long lists of dependencies to the same essential libraries
8106in each package as well as the endless imports of the same APIs all over again.
8107
8108It also supports the modern tendencies in the language.
8109
8110To solve those problems this package does the following:
8111
8112@itemize
8113@item Reexport the original APIs under the @code{Rebase} namespace.
8114
8115@item Export all the possible non-conflicting symbols from the
8116@code{Rebase.Prelude} module.
8117
8118@item Give priority to the modern practices in the conflicting cases.
8119@end itemize
8120
8121The policy behind the package is only to reexport the non-ambiguous and
8122non-controversial APIs, which the community has obviously settled on.
8123The package is intended to rapidly evolve with the contribution from
8124the community, with the missing features being added with pull-requests.")
8125 (license license:expat)))
8126
8127(define-public ghc-reducers
8128 (package
8129 (name "ghc-reducers")
8130 (version "3.12.3")
8131 (source
8132 (origin
8133 (method url-fetch)
8134 (uri (string-append
8135 "https://hackage.haskell.org/package/reducers/reducers-"
8136 version
8137 ".tar.gz"))
8138 (sha256
8139 (base32
8140 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8141 (build-system haskell-build-system)
8142 (inputs
8143 `(("ghc-fingertree" ,ghc-fingertree)
8144 ("ghc-hashable" ,ghc-hashable)
8145 ("ghc-unordered-containers" ,ghc-unordered-containers)
8146 ("ghc-semigroupoids" ,ghc-semigroupoids)
8147 ("ghc-semigroups" ,ghc-semigroups)))
8148 (home-page "https://github.com/ekmett/reducers/")
8149 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8150 (description "This library provides various semigroups, specialized
8151containers and a general map/reduce framework for Haskell.")
8152 (license license:bsd-3)))
8153
8154(define-public ghc-refact
8155 (package
8156 (name "ghc-refact")
8157 (version "0.3.0.2")
8158 (source
8159 (origin
8160 (method url-fetch)
8161 (uri (string-append "https://hackage.haskell.org/package/"
8162 "refact/refact-"
8163 version ".tar.gz"))
8164 (sha256
8165 (base32
8166 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8167 (build-system haskell-build-system)
8168 (home-page "http://hackage.haskell.org/package/refact")
8169 (synopsis "Specify refactorings to perform with apply-refact")
8170 (description
8171 "This library provides a datatype which can be interpreted by
8172@code{apply-refact}. It exists as a separate library so that applications can
8173specify refactorings without depending on GHC.")
8174 (license license:bsd-3)))
8175
8176(define-public ghc-reflection
8177 (package
8178 (name "ghc-reflection")
8179 (version "2.1.4")
8180 (source
8181 (origin
8182 (method url-fetch)
8183 (uri (string-append
8184 "https://hackage.haskell.org/package/reflection/reflection-"
8185 version
8186 ".tar.gz"))
8187 (sha256
8188 (base32
8189 "0kf4a5ijw6jfnfibjcrpdy9vzh1n6v2pxia8dhyyqdissiwc8bzj"))))
8190 (build-system haskell-build-system)
8191 (inputs `(("ghc-tagged" ,ghc-tagged)))
8192 (home-page "https://github.com/ekmett/reflection")
8193 (synopsis "Reify arbitrary terms into types that can be reflected back
8194into terms")
8195 (description "This package addresses the 'configuration problem' which is
8196propagating configurations that are available at run-time, allowing multiple
8197configurations to coexist without resorting to mutable global variables or
8198@code{System.IO.Unsafe.unsafePerformIO}.")
8199 (license license:bsd-3)))
8200
8201(define-public ghc-regex
8202 (package
8203 (name "ghc-regex")
8204 (version "1.0.1.3")
8205 (source
8206 (origin
8207 (method url-fetch)
8208 (uri (string-append "https://hackage.haskell.org/package/regex/"
8209 "regex-" version ".tar.gz"))
8210 (sha256
8211 (base32
8212 "1sjkpkgv4phy5b5v2lr89x4vx4dh44pj0sbvlsp6n86w9v6v4jwb"))))
8213 (build-system haskell-build-system)
8214 (arguments
8215 `(#:phases
8216 (modify-phases %standard-phases
8217 (add-after 'unpack 'relax-dependencies
8218 (lambda _
8219 (substitute* "regex.cabal"
8220 (("base-compat.*>=.*0.6.*")
8221 "base-compat >= 0.6\n")
8222 (("template-haskell.*>=.*2.7.*")
8223 "template-haskell >= 2.7\n"))
8224 #t)))))
8225 (inputs
8226 `(("ghc-base-compat" ,ghc-base-compat)
8227 ("ghc-hashable" ,ghc-hashable)
8228 ("ghc-regex-base" ,ghc-regex-base)
8229 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8230 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8231 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8232 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8233 ("ghc-unordered-containers" ,ghc-unordered-containers)
8234 ("ghc-utf8-string" ,ghc-utf8-string)))
8235 (home-page "http://regex.uk")
8236 (synopsis "Toolkit for regex-base")
8237 (description
8238 "This package provides a regular expression toolkit for @code{regex-base}
8239with compile-time checking of regular expression syntax, data types for
8240matches and captures, a text replacement toolkit, portable options, high-level
8241AWK-like tools for building text processing apps, regular expression macros
8242with parsers and test bench, comprehensive documentation, tutorials and
8243copious examples.")
8244 (license license:bsd-3)))
8245
8246(define-public ghc-regex-applicative
8247 (package
8248 (name "ghc-regex-applicative")
8249 (version "0.3.3")
8250 (source
8251 (origin
8252 (method url-fetch)
8253 (uri (string-append
8254 "https://hackage.haskell.org/package/regex-applicative/"
8255 "regex-applicative-" version ".tar.gz"))
8256 (sha256
8257 (base32
8258 "1riv7jqf26lbv4rm54sd6mrx8xdh4dvh4xbzymzdfdw13k6a4nb6"))))
8259 (build-system haskell-build-system)
8260 (inputs
8261 `(("ghc-smallcheck" ,ghc-smallcheck)
8262 ("ghc-tasty" ,ghc-tasty)
8263 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8264 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8265 (home-page "https://github.com/feuerbach/regex-applicative")
8266 (synopsis "Regex-based parsing with applicative interface")
8267 (description
8268 "@code{regex-applicative} is a Haskell library for parsing using
8269regular expressions. Parsers can be built using Applicative interface.")
8270 (license license:expat)))
8271
8272(define-public ghc-regex-base
8273 (package
8274 (name "ghc-regex-base")
8275 (version "0.93.2")
8276 (source
8277 (origin
8278 (method url-fetch)
8279 (uri (string-append
8280 "https://hackage.haskell.org/package/regex-base/regex-base-"
8281 version
8282 ".tar.gz"))
8283 (sha256
8284 (base32
8285 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8286 (build-system haskell-build-system)
8287 (home-page
8288 "https://sourceforge.net/projects/lazy-regex")
8289 (synopsis "Replaces/Enhances Text.Regex")
8290 (description "@code{Text.Regex.Base} provides the interface API for
8291regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8292 (license license:bsd-3)))
8293
8294(define-public ghc-regex-compat
8295 (package
8296 (name "ghc-regex-compat")
8297 (version "0.95.1")
8298 (source
8299 (origin
8300 (method url-fetch)
8301 (uri (string-append
8302 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8303 version
8304 ".tar.gz"))
8305 (sha256
8306 (base32
8307 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8308 (build-system haskell-build-system)
8309 (inputs
8310 `(("ghc-regex-base" ,ghc-regex-base)
8311 ("ghc-regex-posix" ,ghc-regex-posix)))
8312 (home-page "https://sourceforge.net/projects/lazy-regex")
8313 (synopsis "Replaces/Enhances Text.Regex")
8314 (description "This library provides one module layer over
8315@code{regex-posix} to replace @code{Text.Regex}.")
8316 (license license:bsd-3)))
8317
8318(define-public ghc-regex-compat-tdfa
8319 (package
8320 (name "ghc-regex-compat-tdfa")
8321 (version "0.95.1.4")
8322 (source
8323 (origin
8324 (method url-fetch)
8325 (uri (string-append
8326 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8327 version ".tar.gz"))
8328 (sha256
8329 (base32
8330 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8331 (build-system haskell-build-system)
8332 (inputs
8333 `(("ghc-regex-base" ,ghc-regex-base)
8334 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8335 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8336 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8337 (description
8338 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8339@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8340This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8341this problem.")
8342 (license license:bsd-3)))
8343
8344(define-public ghc-regex-pcre-builtin
8345 (package
8346 (name "ghc-regex-pcre-builtin")
8347 (version "0.94.4.8.8.35")
8348 (source (origin
8349 (method url-fetch)
8350 (uri (string-append "https://hackage.haskell.org/package/"
8351 "regex-pcre-builtin/regex-pcre-builtin-"
8352 version ".tar.gz"))
8353 (sha256
8354 (base32
8355 "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b"))))
8356 (build-system haskell-build-system)
8357 (inputs
8358 `(("ghc-regex-base" ,ghc-regex-base)))
8359 (home-page "https://hackage.haskell.org/package/regex-pcre")
8360 (synopsis "Enhancement of the builtin Text.Regex library")
8361 (description
8362 "This package is an enhancement of the @code{Text.Regex} library,
8363providing the PCRE backend to accompany regex-base, with bundled code from
8364@url{https://www.pcre.org}.")
8365 (license license:bsd-3)))
8366
8367(define-public ghc-regex-posix
8368 (package
8369 (name "ghc-regex-posix")
8370 (version "0.95.2")
8371 (source
8372 (origin
8373 (method url-fetch)
8374 (uri (string-append
8375 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8376 version
8377 ".tar.gz"))
8378 (sha256
8379 (base32
8380 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8381 (build-system haskell-build-system)
8382 (inputs
8383 `(("ghc-regex-base" ,ghc-regex-base)))
8384 (home-page "https://sourceforge.net/projects/lazy-regex")
8385 (synopsis "POSIX regular expressions for Haskell")
8386 (description "This library provides the POSIX regex backend used by the
8387Haskell library @code{regex-base}.")
8388 (license license:bsd-3)))
8389
8390(define-public ghc-regex-tdfa
8391 (package
8392 (name "ghc-regex-tdfa")
8393 (version "1.2.3.1")
8394 (source
8395 (origin
8396 (method url-fetch)
8397 (uri (string-append
8398 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8399 version ".tar.gz"))
8400 (sha256
8401 (base32
8402 "0l7ajnh4hpgggf2a1r9dg0hx2fy679vd2kada5y7r02hy3nfxala"))))
8403 (build-system haskell-build-system)
8404 (inputs
8405 `(("ghc-regex-base" ,ghc-regex-base)))
8406 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8407 (synopsis "POSIX extended regular expressions in Haskell.")
8408 (description
8409 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8410extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8411inspired by libtre.")
8412 (license license:bsd-3)))
8413
8414(define-public ghc-regex-tdfa-text
8415 (package
8416 (name "ghc-regex-tdfa-text")
8417 (version "1.0.0.3")
8418 (source
8419 (origin
8420 (method url-fetch)
8421 (uri (string-append
8422 "https://hackage.haskell.org/package/regex-tdfa-text/"
8423 "regex-tdfa-text-" version ".tar.gz"))
8424 (sha256
8425 (base32
8426 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8427 (build-system haskell-build-system)
8428 (inputs
8429 `(("ghc-regex-base" ,ghc-regex-base)
8430 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8431 (home-page
8432 "http://hackage.haskell.org/package/regex-tdfa-text")
8433 (synopsis "Text interface for regex-tdfa")
8434 (description
8435 "This provides an extra text interface for regex-tdfa.")
8436 (license license:bsd-3)))
8437
8438(define-public ghc-rerebase
8439 (package
8440 (name "ghc-rerebase")
8441 (version "1.2.2")
8442 (source
8443 (origin
8444 (method url-fetch)
8445 (uri (string-append
8446 "https://hackage.haskell.org/package/rerebase/rerebase-"
8447 version ".tar.gz"))
8448 (sha256
8449 (base32
8450 "11v6rmz7ql2rdx6mhb3lsal952lwihclfhh0m7fcnii5br0906ks"))))
8451 (build-system haskell-build-system)
8452 (inputs
8453 `(("ghc-rebase" ,ghc-rebase)))
8454 (home-page "https://github.com/nikita-volkov/rerebase")
8455 (synopsis "Reexports from ``base'' with many other standard libraries")
8456 (description "A rich drop-in replacement for @code{base}. For details and
8457documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8458the project's home page}.")
8459 (license license:expat)))
8460
8461(define-public ghc-resolv
8462 (package
8463 (name "ghc-resolv")
8464 (version "0.1.1.1")
8465 (source
8466 (origin
8467 (method url-fetch)
8468 (uri (string-append
8469 "https://hackage.haskell.org/package/resolv/resolv-"
8470 version ".tar.gz"))
8471 (sha256
8472 (base32
8473 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
8474 (build-system haskell-build-system)
8475 (arguments
8476 `(#:cabal-revision
8477 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
8478 #:tests? #f)) ; The required test frameworks are too old.
8479 (inputs
8480 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8481 (home-page "https://github.com/haskell/hackage-security")
8482 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8483 (description "This package implements an API for accessing the
8484@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8485resolver service via the standard @code{libresolv} system library (whose
8486API is often available directly via the standard @code{libc} C library) on
8487Unix systems.")
8488 (license license:gpl3)))
8489
8490(define-public ghc-resource-pool
8491 (package
8492 (name "ghc-resource-pool")
8493 (version "0.2.3.2")
8494 (source
8495 (origin
8496 (method url-fetch)
8497 (uri (string-append "https://hackage.haskell.org/package/"
8498 "resource-pool-" version "/"
8499 "resource-pool-" version ".tar.gz"))
8500 (sha256
8501 (base32
8502 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8503 (build-system haskell-build-system)
8504 (inputs `(("ghc-hashable" ,ghc-hashable)
8505 ("ghc-monad-control" ,ghc-monad-control)
8506 ("ghc-transformers-base" ,ghc-transformers-base)
8507 ("ghc-vector" ,ghc-vector)))
8508 (home-page "https://github.com/bos/pool")
8509 (synopsis "Striped resource pooling implementation in Haskell")
8510 (description "This Haskell package provides striped pooling abstraction
8511for managing flexibly-sized collections of resources such as database
8512connections.")
8513 (license license:bsd-3)))
8514
8515(define-public ghc-resourcet
8516 (package
8517 (name "ghc-resourcet")
8518 (version "1.2.1")
8519 (source
8520 (origin
8521 (method url-fetch)
8522 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8523 "resourcet-" version ".tar.gz"))
8524 (sha256
8525 (base32
8526 "0rzjzh34s36ssign7akqjnwnjxf11c3511wk7ky0xxy0dqmc2rg7"))))
8527 (build-system haskell-build-system)
8528 (inputs
8529 `(("ghc-transformers-base" ,ghc-transformers-base)
8530 ("ghc-monad-control" ,ghc-monad-control)
8531 ("ghc-transformers-compat" ,ghc-transformers-compat)
8532 ("ghc-mmorph" ,ghc-mmorph)
8533 ("ghc-exceptions" ,ghc-exceptions)
8534 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8535 (native-inputs
8536 `(("ghc-lifted-base" ,ghc-lifted-base)
8537 ("ghc-hspec" ,ghc-hspec)))
8538 (home-page "https://github.com/snoyberg/conduit")
8539 (synopsis "Deterministic allocation and freeing of scarce resources")
8540 (description "ResourceT is a monad transformer which creates a region of
8541code where you can safely allocate resources.")
8542 (license license:bsd-3)))
8543
8544(define-public ghc-rfc5051
8545 (package
8546 (name "ghc-rfc5051")
ec42ab7c 8547 (version "0.1.0.4")
dddbc90c
RV
8548 (source
8549 (origin
8550 (method url-fetch)
8551 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8552 "rfc5051-" version ".tar.gz"))
8553 (sha256
8554 (base32
ec42ab7c 8555 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
8556 (build-system haskell-build-system)
8557 (home-page "https://hackage.haskell.org/package/rfc5051")
8558 (synopsis "Simple unicode collation as per RFC5051")
8559 (description
8560 "This library implements @code{unicode-casemap}, the simple, non
8561locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8562unicode collation can be done using @code{text-icu}, but that is a big
8563dependency that depends on a large C library, and @code{rfc5051} might be
8564better for some purposes.")
8565 (license license:bsd-3)))
8566
8567(define-public ghc-rio
8568 (package
8569 (name "ghc-rio")
8570 (version "0.1.5.0")
8571 (source
8572 (origin
8573 (method url-fetch)
8574 (uri (string-append
8575 "https://hackage.haskell.org/package/rio/rio-"
8576 version ".tar.gz"))
8577 (sha256
8578 (base32
8579 "064h8a4hp53a479d3ak0vmqbx8hi0cpg7zn4wp23rjy26dka8p7g"))))
8580 (build-system haskell-build-system)
8581 (inputs
8582 `(("ghc-exceptions" ,ghc-exceptions)
8583 ("ghc-hashable" ,ghc-hashable)
8584 ("ghc-microlens" ,ghc-microlens)
8585 ("ghc-primitive" ,ghc-primitive)
8586 ("ghc-typed-process" ,ghc-typed-process)
8587 ("ghc-unliftio" ,ghc-unliftio)
8588 ("ghc-unordered-containers" ,ghc-unordered-containers)
8589 ("ghc-vector" ,ghc-vector)))
8590 (native-inputs
8591 `(("ghc-hspec" ,ghc-hspec)
8592 ("hspec-discover" ,hspec-discover)))
8593 (home-page "https://github.com/commercialhaskell/rio#readme")
8594 (synopsis "A standard library for Haskell")
8595 (description "This package works as a prelude replacement for Haskell,
8596providing more functionality and types out of the box than the standard
8597prelude (such as common data types like @code{ByteString} and
8598@code{Text}), as well as removing common ``gotchas'', like partial
8599functions and lazy I/O. The guiding principle here is:
8600@itemize
8601@item If something is safe to use in general and has no expected naming
8602conflicts, expose it.
8603@item If something should not always be used, or has naming conflicts,
8604expose it from another module in the hierarchy.
8605@end itemize")
8606 (license license:expat)))
8607
8608(define-public ghc-safe
8609 (package
8610 (name "ghc-safe")
8611 (version "0.3.17")
8612 (source
8613 (origin
8614 (method url-fetch)
8615 (uri (string-append
8616 "https://hackage.haskell.org/package/safe/safe-"
8617 version
8618 ".tar.gz"))
8619 (sha256
8620 (base32
8621 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8622 (build-system haskell-build-system)
8623 (native-inputs
8624 `(("ghc-quickcheck" ,ghc-quickcheck)))
8625 (home-page "https://github.com/ndmitchell/safe#readme")
8626 (synopsis "Library of safe (exception free) functions")
8627 (description "This library provides wrappers around @code{Prelude} and
8628@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8629exceptions.")
8630 (license license:bsd-3)))
8631
8632(define-public ghc-safe-exceptions
8633 (package
8634 (name "ghc-safe-exceptions")
8635 (version "0.1.7.0")
8636 (source
8637 (origin
8638 (method url-fetch)
8639 (uri (string-append "https://hackage.haskell.org/package/"
8640 "safe-exceptions/safe-exceptions-"
8641 version ".tar.gz"))
8642 (sha256
8643 (base32
8644 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8645 (build-system haskell-build-system)
8646 (arguments
8647 '(#:cabal-revision
8648 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8649 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8650 (native-inputs
8651 `(("ghc-hspec" ,ghc-hspec)
8652 ("ghc-void" ,ghc-void)
8653 ("hspec-discover" ,hspec-discover)))
8654 (home-page "https://github.com/fpco/safe-exceptions")
8655 (synopsis "Safe, consistent, and easy exception handling")
8656 (description "Runtime exceptions - as exposed in @code{base} by the
8657@code{Control.Exception} module - have long been an intimidating part of the
8658Haskell ecosystem. This package is intended to overcome this. It provides a
8659safe and simple API on top of the existing exception handling machinery. The
8660API is equivalent to the underlying implementation in terms of power but
8661encourages best practices to minimize the chances of getting the exception
8662handling wrong.")
8663 (license license:expat)))
8664
8665(define-public ghc-safeio
8666 (package
8667 (name "ghc-safeio")
8668 (version "0.0.5.0")
8669 (source
8670 (origin
8671 (method url-fetch)
8672 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8673 "safeio-" version ".tar.gz"))
8674 (sha256
8675 (base32
8676 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8677 (build-system haskell-build-system)
8678 (inputs
8679 `(("ghc-conduit" ,ghc-conduit)
8680 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8681 ("ghc-exceptions" ,ghc-exceptions)
8682 ("ghc-resourcet" ,ghc-resourcet)))
8683 (native-inputs
8684 `(("ghc-hunit" ,ghc-hunit)
8685 ("ghc-test-framework" ,ghc-test-framework)
8686 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8687 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8688 (home-page "https://github.com/luispedro/safeio")
8689 (synopsis "Write output to disk atomically")
8690 (description
8691 "This package implements utilities to perform atomic output so as to
8692avoid the problem of partial intermediate files.")
8693 (license license:expat)))
8694
8695(define-public ghc-safesemaphore
8696 (package
8697 (name "ghc-safesemaphore")
8698 (version "0.10.1")
8699 (source
8700 (origin
8701 (method url-fetch)
8702 (uri (string-append "https://hackage.haskell.org/package/"
8703 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8704 (sha256
8705 (base32
8706 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8707 (build-system haskell-build-system)
8708 (native-inputs
8709 `(("ghc-hunit" ,ghc-hunit)))
8710 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8711 (synopsis "Exception safe semaphores")
8712 (description "This library provides exception safe semaphores that can be
8713used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8714are not exception safe and can be broken by @code{killThread}.")
8715 (license license:bsd-3)))
8716
8717(define-public ghc-sandi
8718 (package
8719 (name "ghc-sandi")
8720 (version "0.4.2")
8721 (source
8722 (origin
8723 (method url-fetch)
8724 (uri (string-append
8725 "https://hackage.haskell.org/package/sandi/sandi-"
8726 version ".tar.gz"))
8727 (sha256
8728 (base32
8729 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8730 (build-system haskell-build-system)
8731 (inputs
8732 `(("ghc-stringsearch" ,ghc-stringsearch)
8733 ("ghc-conduit" ,ghc-conduit)
8734 ("ghc-exceptions" ,ghc-exceptions)
8735 ("ghc-hunit" ,ghc-hunit)
8736 ("ghc-tasty" ,ghc-tasty)
8737 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8738 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8739 ("ghc-tasty-th" ,ghc-tasty-th)))
8740 (home-page "https://hackage.haskell.org/package/sandi")
8741 (synopsis "Data encoding library")
8742 (description "Reasonably fast data encoding library.")
8743 (license license:bsd-3)))
8744
8745(define-public ghc-scientific
8746 (package
8747 (name "ghc-scientific")
8748 (version "0.3.6.2")
8749 (source
8750 (origin
8751 (method url-fetch)
8752 (uri (string-append
8753 "https://hackage.haskell.org/package/scientific/scientific-"
8754 version
8755 ".tar.gz"))
8756 (sha256
8757 (base32
8758 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8759 (build-system haskell-build-system)
8760 (inputs
8761 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8762 ("ghc-hashable" ,ghc-hashable)
8763 ("ghc-primitive" ,ghc-primitive)))
8764 (native-inputs
8765 `(("ghc-tasty" ,ghc-tasty)
8766 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8767 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8768 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8769 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8770 ("ghc-smallcheck" ,ghc-smallcheck)
8771 ("ghc-quickcheck" ,ghc-quickcheck)))
8772 (home-page "https://github.com/basvandijk/scientific")
8773 (synopsis "Numbers represented using scientific notation")
8774 (description "This package provides @code{Data.Scientific}, which provides
8775the number type @code{Scientific}. Scientific numbers are arbitrary precision
8776and space efficient. They are represented using
8777@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
8778notation}.")
8779 (license license:bsd-3)))
8780
8781(define-public ghc-scientific-bootstrap
8782 (package
8783 (inherit ghc-scientific)
8784 (name "ghc-scientific-bootstrap")
8785 (arguments `(#:tests? #f))
8786 (inputs
8787 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
8788 ("ghc-hashable" ,ghc-hashable)
8789 ("ghc-primitive" ,ghc-primitive)))
8790 (native-inputs '())
799d8d3c 8791 (properties '((hidden? #t)))))
dddbc90c
RV
8792
8793(define-public ghc-sdl
8794 (package
8795 (name "ghc-sdl")
8796 (version "0.6.7.0")
8797 (source
8798 (origin
8799 (method url-fetch)
8800 (uri (string-append
8801 "https://hackage.haskell.org/package/SDL/SDL-"
8802 version
8803 ".tar.gz"))
8804 (sha256
8805 (base32
8806 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
8807 (build-system haskell-build-system)
8808 (inputs
8809 `(("sdl" ,sdl)))
8810 (home-page "https://hackage.haskell.org/package/SDL")
8811 (synopsis "LibSDL for Haskell")
8812 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
8813multimedia library designed to provide low level access to audio, keyboard,
8814mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
8815by MPEG playback software, emulators, and many popular games, including the
8816award winning Linux port of \"Civilization: Call To Power.\"")
8817 (license license:bsd-3)))
8818
1874cdc1
RV
8819(define-public ghc-sdl2
8820 (package
8821 (name "ghc-sdl2")
8822 (version "2.4.1.0")
8823 (source
8824 (origin
8825 (method url-fetch)
8826 (uri (string-append "https://hackage.haskell.org/package/"
8827 "sdl2/sdl2-" version ".tar.gz"))
8828 (sha256
8829 (base32
8830 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
8831 (build-system haskell-build-system)
8832 (arguments '(#:tests? #f)) ; tests require graphical environment
8833 (inputs
8834 `(("ghc-exceptions" ,ghc-exceptions)
8835 ("ghc-linear" ,ghc-linear)
8836 ("ghc-statevar" ,ghc-statevar)
8837 ("ghc-vector" ,ghc-vector)
8838 ("sdl2" ,sdl2)))
8839 (native-inputs
8840 `(("ghc-weigh" ,ghc-weigh)
8841 ("pkg-config" ,pkg-config)))
8842 (home-page "http://hackage.haskell.org/package/sdl2")
8843 (synopsis "High- and low-level bindings to the SDL library")
8844 (description
8845 "This package contains bindings to the SDL 2 library, in both high- and
8846low-level forms. The @code{SDL} namespace contains high-level bindings, where
8847enumerations are split into sum types, and we perform automatic
8848error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
8849translation of the C API into Haskell FFI calls. As such, this does not
8850contain sum types nor error checking. Thus this namespace is suitable for
8851building your own abstraction over SDL, but is not recommended for day-to-day
8852programming.")
8853 (license license:bsd-3)))
8854
8855(define-public ghc-sdl2-image
8856 (package
8857 (name "ghc-sdl2-image")
8858 (version "2.0.0")
8859 (source
8860 (origin
8861 (method url-fetch)
8862 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
8863 "sdl2-image-" version ".tar.gz"))
8864 (sha256
8865 (base32
8866 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
8867 (build-system haskell-build-system)
8868 (inputs
8869 `(("ghc-sdl2" ,ghc-sdl2)
8870 ("sdl2-image" ,sdl2-image)))
8871 (native-inputs
8872 `(("pkg-config" ,pkg-config)))
8873 (home-page "http://hackage.haskell.org/package/sdl2-image")
8874 (synopsis "Bindings to SDL2_image")
8875 (description "This package provides Haskell bindings to
8876@code{SDL2_image}.")
8877 (license license:expat)))
8878
8879(define-public ghc-sdl2-mixer
8880 (package
8881 (name "ghc-sdl2-mixer")
8882 (version "1.1.0")
8883 (source
8884 (origin
8885 (method url-fetch)
8886 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
8887 "sdl2-mixer-" version ".tar.gz"))
8888 (sha256
8889 (base32
8890 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
8891 (build-system haskell-build-system)
8892 (inputs
8893 `(("ghc-data-default-class" ,ghc-data-default-class)
8894 ("ghc-lifted-base" ,ghc-lifted-base)
8895 ("ghc-monad-control" ,ghc-monad-control)
8896 ("ghc-sdl2" ,ghc-sdl2)
8897 ("ghc-vector" ,ghc-vector)
8898 ("sdl2-mixer" ,sdl2-mixer)))
8899 (native-inputs
8900 `(("pkg-config" ,pkg-config)))
8901 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
8902 (synopsis "Bindings to SDL2 mixer")
8903 (description "This package provides Haskell bindings to
8904@code{SDL2_mixer}.")
8905 (license license:bsd-3)))
8906
dddbc90c
RV
8907(define-public ghc-sdl-image
8908 (package
8909 (name "ghc-sdl-image")
8910 (version "0.6.2.0")
8911 (source
8912 (origin
8913 (method url-fetch)
8914 (uri (string-append
8915 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
8916 version
8917 ".tar.gz"))
8918 (sha256
8919 (base32
8920 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
8921 (build-system haskell-build-system)
8922 (arguments
8923 `(#:configure-flags
8924 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
8925 (sdl-image-include (string-append sdl-image "/include/SDL")))
8926 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
8927 (inputs
8928 `(("ghc-sdl" ,ghc-sdl)
8929 ("sdl-image" ,sdl-image)))
8930 (home-page "https://hackage.haskell.org/package/SDL-image")
8931 (synopsis "Haskell bindings to libSDL_image")
8932 (description "SDL_image is an image file loading library. It loads images
8933as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
8934PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
8935 (license license:bsd-3)))
8936
8937(define-public ghc-sdl-mixer
8938 (package
8939 (name "ghc-sdl-mixer")
8940 (version "0.6.3.0")
8941 (source
8942 (origin
8943 (method url-fetch)
8944 (uri (string-append
8945 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
8946 version
8947 ".tar.gz"))
8948 (sha256
8949 (base32
8950 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
8951 (build-system haskell-build-system)
8952 (arguments
8953 `(#:configure-flags
8954 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
8955 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
8956 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
8957 (inputs
8958 `(("ghc-sdl" ,ghc-sdl)
8959 ("sdl-mixer" ,sdl-mixer)))
8960 (home-page "https://hackage.haskell.org/package/SDL-mixer")
8961 (synopsis "Haskell bindings to libSDL_mixer")
8962 (description "SDL_mixer is a sample multi-channel audio mixer library. It
8963supports any number of simultaneously playing channels of 16 bit stereo audio,
8964plus a single channel of music, mixed by the popular MikMod MOD, Timidity
8965MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
8966 (license license:bsd-3)))
8967
8968(define-public ghc-securemem
8969 (package
8970 (name "ghc-securemem")
8971 (version "0.1.10")
8972 (source
8973 (origin
8974 (method url-fetch)
8975 (uri (string-append "https://hackage.haskell.org/package/"
8976 "securemem-" version "/"
8977 "securemem-" version ".tar.gz"))
8978 (sha256
8979 (base32
8980 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
8981 (build-system haskell-build-system)
8982 (inputs `(("ghc-byteable" ,ghc-byteable)
8983 ("ghc-memory" ,ghc-memory)))
8984 (home-page "https://github.com/vincenthz/hs-securemem")
8985 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
8986Haskell")
8987 (description "SecureMem is similar to ByteString, except that it provides
8988a memory chunk that will be auto-scrubbed after it run out of scope.")
8989 (license license:bsd-3)))
8990
8991(define-public ghc-semigroupoids
8992 (package
8993 (name "ghc-semigroupoids")
8994 (version "5.2.2")
8995 (source
8996 (origin
8997 (method url-fetch)
8998 (uri (string-append
8999 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9000 version
9001 ".tar.gz"))
9002 (sha256
9003 (base32
9004 "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
9005 (build-system haskell-build-system)
9006 (arguments
9007 `(#:cabal-revision
9008 ("4" "0pqfrxzypjq6z8lgdkzq4vhcyqkpk5326hny0r6snpc3gm78r4ij")))
9009 (inputs
9010 `(("ghc-base-orphans" ,ghc-base-orphans)
9011 ("ghc-transformers-compat" ,ghc-transformers-compat)
9012 ("ghc-bifunctors" ,ghc-bifunctors)
9013 ("ghc-comonad" ,ghc-comonad)
9014 ("ghc-contravariant" ,ghc-contravariant)
9015 ("ghc-distributive" ,ghc-distributive)
9016 ("ghc-hashable" ,ghc-hashable)
9017 ("ghc-semigroups" ,ghc-semigroups)
9018 ("ghc-tagged" ,ghc-tagged)
9019 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9020 (native-inputs
9021 `(("cabal-doctest" ,cabal-doctest)
9022 ("ghc-doctest" ,ghc-doctest)))
9023 (home-page "https://github.com/ekmett/semigroupoids")
9024 (synopsis "Semigroupoids operations for Haskell")
9025 (description "This library provides a wide array of (semi)groupoids and
9026operations for working with them. A @code{Semigroupoid} is a @code{Category}
9027without the requirement of identity arrows for every object in the category.
9028A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9029Finally, to work with these weaker structures it is beneficial to have
9030containers that can provide stronger guarantees about their contents, so
9031versions of @code{Traversable} and @code{Foldable} that can be folded with
9032just a @code{Semigroup} are added.")
9033 (license license:bsd-3)))
9034
9035(define-public ghc-semigroups
9036 (package
9037 (name "ghc-semigroups")
9038 (version "0.18.5")
9039 (source
9040 (origin
9041 (method url-fetch)
9042 (uri (string-append
9043 "https://hackage.haskell.org/package/semigroups/semigroups-"
9044 version
9045 ".tar.gz"))
9046 (sha256
9047 (base32
9048 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9049 (build-system haskell-build-system)
9050 (inputs
9051 `(("ghc-nats" ,ghc-nats)
9052 ("ghc-tagged" ,ghc-tagged)
9053 ("ghc-unordered-containers" ,ghc-unordered-containers)
9054 ("ghc-hashable" ,ghc-hashable)))
9055 (home-page "https://github.com/ekmett/semigroups/")
9056 (synopsis "Semigroup operations for Haskell")
9057 (description "This package provides semigroups for Haskell. In
9058mathematics, a semigroup is an algebraic structure consisting of a set
9059together with an associative binary operation. A semigroup generalizes a
9060monoid in that there might not exist an identity element. It
9061also (originally) generalized a group (a monoid with all inverses) to a type
9062where every element did not have to have an inverse, thus the name
9063semigroup.")
9064 (license license:bsd-3)))
9065
9066(define-public ghc-semigroups-bootstrap
9067 (package
9068 (inherit ghc-semigroups)
9069 (name "ghc-semigroups-bootstrap")
9070 (inputs
9071 `(("ghc-nats" ,ghc-nats-bootstrap)
9072 ("ghc-tagged" ,ghc-tagged)
9073 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9074 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9075 (properties '((hidden? #t)))))
dddbc90c
RV
9076
9077(define-public ghc-setenv
9078 (package
9079 (name "ghc-setenv")
9080 (version "0.1.1.3")
9081 (source
9082 (origin
9083 (method url-fetch)
9084 (uri (string-append
9085 "https://hackage.haskell.org/package/setenv/setenv-"
9086 version
9087 ".tar.gz"))
9088 (sha256
9089 (base32
9090 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9091 (build-system haskell-build-system)
9092 (home-page "https://hackage.haskell.org/package/setenv")
9093 (synopsis "Library for setting environment variables")
9094 (description "This package provides a Haskell library for setting
9095environment variables.")
9096 (license license:expat)))
9097
9098(define-public ghc-setlocale
9099 (package
9100 (name "ghc-setlocale")
9d7cfc9b 9101 (version "1.0.0.9")
dddbc90c
RV
9102 (source (origin
9103 (method url-fetch)
9104 (uri (string-append
9105 "https://hackage.haskell.org/package/setlocale-"
9106 version "/setlocale-" version ".tar.gz"))
9107 (sha256
9108 (base32
9d7cfc9b 9109 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
9110 (build-system haskell-build-system)
9111 (home-page "https://hackage.haskell.org/package/setlocale")
9112 (synopsis "Haskell bindings to setlocale")
9113 (description "This package provides Haskell bindings to the
9114@code{setlocale} C function.")
9115 (license license:bsd-3)))
9116
9117(define-public ghc-shakespeare
9118 (package
9119 (name "ghc-shakespeare")
9120 (version "2.0.15")
9121 (source
9122 (origin
9123 (method url-fetch)
9124 (uri (string-append "https://hackage.haskell.org/package/"
9125 "shakespeare-" version "/"
9126 "shakespeare-" version ".tar.gz"))
9127 (sha256
9128 (base32
9129 "1vk4b19zvwy4mpwaq9z3l3kfmz75gfyf7alhh0y112gspgpccm23"))))
9130 (build-system haskell-build-system)
9131 (inputs `(("ghc-aeson" ,ghc-aeson)
9132 ("ghc-blaze-markup" ,ghc-blaze-markup)
9133 ("ghc-blaze-html" ,ghc-blaze-html)
9134 ("ghc-exceptions" ,ghc-exceptions)
9135 ("ghc-vector" ,ghc-vector)
9136 ("ghc-unordered-containers" ,ghc-unordered-containers)
9137 ("ghc-scientific" ,ghc-scientific)))
9138 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9139 ("ghc-hunit" ,ghc-hunit)
9140 ("hspec-discover" ,hspec-discover)))
9141 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9142 (synopsis "Family of type-safe template languages for Haskell")
9143 (description "This Haskell package provides a family of type-safe
9144templates with simple variable interpolation. Shakespeare templates can
9145be used inline with a quasi-quoter or in an external file and it
9146interpolates variables according to the type being inserted.")
9147 (license license:expat)))
9148
9149(define-public ghc-shelly
9150 (package
9151 (name "ghc-shelly")
9152 (version "1.8.1")
9153 (source
9154 (origin
9155 (method url-fetch)
9156 (uri (string-append
9157 "https://hackage.haskell.org/package/shelly/shelly-"
9158 version ".tar.gz"))
9159 (sha256
9160 (base32
9161 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9162 (build-system haskell-build-system)
9163 (inputs
9164 `(("ghc-unix-compat" ,ghc-unix-compat)
9165 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9166 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9167 ("ghc-monad-control" ,ghc-monad-control)
9168 ("ghc-lifted-base" ,ghc-lifted-base)
9169 ("ghc-lifted-async" ,ghc-lifted-async)
9170 ("ghc-exceptions" ,ghc-exceptions)
9171 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9172 ("ghc-async" ,ghc-async)
9173 ("ghc-transformers-base" ,ghc-transformers-base)
9174 ("ghc-hunit" ,ghc-hunit)
9175 ("ghc-hspec" ,ghc-hspec)
9176 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9177 (home-page "https://github.com/yesodweb/Shelly.hs")
9178 (synopsis "Shell-like (systems) programming in Haskell")
9179 (description
9180 "Shelly provides convenient systems programming in Haskell, similar in
9181spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9182 (license license:bsd-3)))
9183
9184(define-public ghc-silently
9185 (package
9186 (name "ghc-silently")
544bb369 9187 (version "1.2.5.1")
dddbc90c
RV
9188 (source
9189 (origin
9190 (method url-fetch)
9191 (uri (string-append
9192 "https://hackage.haskell.org/package/silently/silently-"
9193 version
9194 ".tar.gz"))
9195 (sha256
9196 (base32
544bb369 9197 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
9198 (build-system haskell-build-system)
9199 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9200 ;; (inputs
9201 ;; `(("ghc-temporary" ,ghc-temporary)))
9202 (home-page "https://github.com/hspec/silently")
9203 (synopsis "Prevent writing to stdout")
9204 (description "This package provides functions to prevent or capture
9205writing to stdout and other handles.")
9206 (license license:bsd-3)))
9207
9208(define-public ghc-simple-reflect
9209 (package
9210 (name "ghc-simple-reflect")
9211 (version "0.3.3")
9212 (source
9213 (origin
9214 (method url-fetch)
9215 (uri (string-append
9216 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9217 version
9218 ".tar.gz"))
9219 (sha256
9220 (base32
9221 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9222 (build-system haskell-build-system)
9223 (home-page
9224 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9225 (synopsis
9226 "Simple reflection of expressions containing variables")
9227 (description
9228 "This package allows simple reflection of expressions containing
9229variables. Reflection here means that a Haskell expression is turned into a
9230string. The primary aim of this package is teaching and understanding; there
9231are no options for manipulating the reflected expressions beyond showing
9232them.")
9233 (license license:bsd-3)))
9234
9235(define-public ghc-simple-sendfile
9236 (package
9237 (name "ghc-simple-sendfile")
9238 (version "0.2.27")
9239 (source
9240 (origin
9241 (method url-fetch)
9242 (uri (string-append "https://hackage.haskell.org/package/"
9243 "simple-sendfile-" version "/"
9244 "simple-sendfile-" version ".tar.gz"))
9245 (sha256
9246 (base32
9247 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
9248 (build-system haskell-build-system)
9249 (inputs
9250 `(("ghc-conduit" ,ghc-conduit)
9251 ("ghc-conduit-extra" ,ghc-conduit-extra)
9252 ("ghc-network" ,ghc-network)
9253 ("ghc-resourcet" ,ghc-resourcet)))
9254 (native-inputs
9255 `(("ghc-hspec" ,ghc-hspec)
9256 ("hspec-discover" ,hspec-discover)))
9257 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9258 (synopsis "Cross platform library for the sendfile system call")
9259 (description "This library tries to call minimum system calls which
9260are the bottleneck of web servers.")
9261 (license license:bsd-3)))
9262
9263(define-public ghc-skylighting-core
9264 (package
9265 (name "ghc-skylighting-core")
9266 (version "0.7.2")
9267 (source (origin
9268 (method url-fetch)
9269 (uri (string-append "https://hackage.haskell.org/package/"
9270 "skylighting-core/skylighting-core-"
9271 version ".tar.gz"))
9272 (sha256
9273 (base32
9274 "066fwmwsd7xcvwlinfk2izlzq0xp8697i6lnbgsbl71jdybyackq"))))
9275 (build-system haskell-build-system)
9276 (inputs
9277 `(("ghc-aeson" ,ghc-aeson)
9278 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9279 ("ghc-attoparsec" ,ghc-attoparsec)
9280 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9281 ("ghc-blaze-html" ,ghc-blaze-html)
9282 ("ghc-case-insensitive" ,ghc-case-insensitive)
9283 ("ghc-colour" ,ghc-colour)
9284 ("ghc-hxt" ,ghc-hxt)
9285 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9286 ("ghc-safe" ,ghc-safe)
9287 ("ghc-utf8-string" ,ghc-utf8-string)))
9288 (native-inputs
9289 `(("ghc-diff" ,ghc-diff)
9290 ("ghc-hunit" ,ghc-hunit)
9291 ("ghc-pretty-show" ,ghc-pretty-show)
9292 ("ghc-quickcheck" ,ghc-quickcheck)
9293 ("ghc-tasty" ,ghc-tasty)
9294 ("ghc-tasty-golden" ,ghc-tasty-golden)
9295 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9296 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9297 (home-page "https://github.com/jgm/skylighting")
9298 (synopsis "Syntax highlighting library")
9299 (description "Skylighting is a syntax highlighting library with support
9300for over one hundred languages. It derives its tokenizers from XML syntax
9301definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9302supported by that framework can be added. An optional command-line program is
9303provided. Skylighting is intended to be the successor to highlighting-kate.")
9304 (license license:gpl2)))
9305
9306(define-public ghc-skylighting
9307 (package
9308 (inherit ghc-skylighting-core)
9309 (name "ghc-skylighting")
9310 (version "0.7.2")
9311 (source (origin
9312 (method url-fetch)
9313 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9314 version "/skylighting-" version ".tar.gz"))
9315 (sha256
9316 (base32
9317 "1rh3z1a7a4clvksdw1qlpmhxqkfahwypi70k91whgfamzsqpxdch"))))
9318 (inputs
9319 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9320 ,@(package-inputs ghc-skylighting-core)))))
9321
9322(define-public ghc-smallcheck
9323 (package
9324 (name "ghc-smallcheck")
9325 (version "1.1.5")
9326 (source
9327 (origin
9328 (method url-fetch)
9329 (uri (string-append
9330 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9331 version
9332 ".tar.gz"))
9333 (sha256
9334 (base32
9335 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9336 (build-system haskell-build-system)
9337 (inputs
9338 `(("ghc-logict" ,ghc-logict)))
9339 (home-page
9340 "https://github.com/feuerbach/smallcheck")
9341 (synopsis "Property-based testing library")
9342 (description "SmallCheck is a testing library that allows to verify
9343properties for all test cases up to some depth. The test cases are generated
9344automatically by SmallCheck.")
9345 (license license:bsd-3)))
9346
9347(define-public ghc-socks
9348 (package
9349 (name "ghc-socks")
9350 (version "0.5.6")
9351 (source (origin
9352 (method url-fetch)
9353 (uri (string-append "https://hackage.haskell.org/package/"
9354 "socks/socks-" version ".tar.gz"))
9355 (sha256
9356 (base32
9357 "0f44qy74i0n6ll3jym0a2ipafkpw1h67amcpqmj8iq95h21wsqzs"))))
9358 (build-system haskell-build-system)
9359 (inputs
9360 `(("ghc-cereal" ,ghc-cereal)
9361 ("ghc-network" ,ghc-network)))
9362 (home-page "https://github.com/vincenthz/hs-socks")
9363 (synopsis "SOCKS proxy (version 5) implementation")
9364 (description
9365 "This library provides a SOCKS proxy (version 5) implementation.")
9366 (license license:bsd-3)))
9367
9368(define-public ghc-split
9369 (package
9370 (name "ghc-split")
9371 (version "0.2.3.3")
9372 (outputs '("out" "doc"))
9373 (source
9374 (origin
9375 (method url-fetch)
9376 (uri (string-append
9377 "https://hackage.haskell.org/package/split/split-"
9378 version
9379 ".tar.gz"))
9380 (sha256
9381 (base32
9382 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9383 (build-system haskell-build-system)
9384 (native-inputs
9385 `(("ghc-quickcheck" ,ghc-quickcheck)))
9386 (home-page "https://hackage.haskell.org/package/split")
9387 (synopsis "Combinator library for splitting lists")
9388 (description "This package provides a collection of Haskell functions for
9389splitting lists into parts, akin to the @code{split} function found in several
9390mainstream languages.")
9391 (license license:bsd-3)))
9392
9393(define-public ghc-statevar
9394 (package
9395 (name "ghc-statevar")
19419709 9396 (version "1.2")
dddbc90c
RV
9397 (source
9398 (origin
9399 (method url-fetch)
9400 (uri (string-append
9401 "https://hackage.haskell.org/package/StateVar/StateVar-"
9402 version
9403 ".tar.gz"))
9404 (sha256
9405 (base32
19419709 9406 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
9407 (build-system haskell-build-system)
9408 (home-page "https://hackage.haskell.org/package/StateVar")
9409 (synopsis "State variables for Haskell")
9410 (description "This package provides state variables, which are references
9411in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9412 (license license:bsd-3)))
9413
9414(define-public ghc-statistics
9415 (package
9416 (name "ghc-statistics")
9417 (version "0.14.0.2")
9418 (source
9419 (origin
9420 (method url-fetch)
9421 (uri (string-append "https://hackage.haskell.org/package/"
9422 "statistics-" version "/"
9423 "statistics-" version ".tar.gz"))
9424 (sha256
9425 (base32
9426 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
9427 (build-system haskell-build-system)
9428 (arguments
9429 '(#:cabal-revision
9430 ("2" "1bx70yqkn62ii17fjv3pig4hklrzkqd09zj67zzjiyjzmn04fir3")
9431 ;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
9432 #:tests? #f))
9433 (inputs
9434 `(("ghc-aeson" ,ghc-aeson)
9435 ("ghc-base-orphans" ,ghc-base-orphans)
9436 ("ghc-erf" ,ghc-erf)
9437 ("ghc-math-functions" ,ghc-math-functions)
9438 ("ghc-monad-par" ,ghc-monad-par)
9439 ("ghc-mwc-random" ,ghc-mwc-random)
9440 ("ghc-primitive" ,ghc-primitive)
9441 ("ghc-vector" ,ghc-vector)
9442 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9443 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9444 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9445 (native-inputs
9446 `(("ghc-hunit" ,ghc-hunit)
9447 ("ghc-quickcheck" ,ghc-quickcheck)
9448 ("ghc-ieee754" ,ghc-ieee754)
9449 ("ghc-test-framework" ,ghc-test-framework)
9450 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9451 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9452 (home-page "https://github.com/bos/mwc-random")
9453 (synopsis "Haskell library of statistical types, data, and functions")
9454 (description "This library provides a number of common functions
9455and types useful in statistics. We focus on high performance, numerical
9456robustness, and use of good algorithms. Where possible, we provide references
9457to the statistical literature.
9458
9459The library's facilities can be divided into four broad categories:
9460
9461@itemize
9462@item Working with widely used discrete and continuous probability
9463distributions. (There are dozens of exotic distributions in use; we focus
9464on the most common.)
9465
9466@item Computing with sample data: quantile estimation, kernel density
9467estimation, histograms, bootstrap methods, significance testing,
9468and regression and autocorrelation analysis.
9469
9470@item Random variate generation under several different distributions.
9471
9472@item Common statistical tests for significant differences between samples.
9473@end itemize")
9474 (license license:bsd-2)))
9475
9476(define-public ghc-stm-chans
9477 (package
9478 (name "ghc-stm-chans")
9479 (version "3.0.0.4")
9480 (source
9481 (origin
9482 (method url-fetch)
9483 (uri (string-append "https://hackage.haskell.org/package/"
9484 "stm-chans-" version "/"
9485 "stm-chans-" version ".tar.gz"))
9486 (sha256
9487 (base32
9488 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9489 (build-system haskell-build-system)
9490 (home-page "https://hackage.haskell.org/package/stm-chans")
9491 (synopsis "Additional types of channels for ghc-stm")
9492 (description "This Haskell package offers a collection of channel types,
9493similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9494features.")
9495 (license license:bsd-3)))
9496
9497(define-public ghc-stm-conduit
9498 (package
9499 (name "ghc-stm-conduit")
9500 (version "4.0.0")
9501 (source
9502 (origin
9503 (method url-fetch)
9504 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9505 "stm-conduit-" version ".tar.gz"))
9506 (sha256
9507 (base32
9508 "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
9509 (build-system haskell-build-system)
9510 (inputs
9511 `(("ghc-stm-chans" ,ghc-stm-chans)
9512 ("ghc-cereal" ,ghc-cereal)
9513 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9514 ("ghc-conduit" ,ghc-conduit)
9515 ("ghc-conduit-extra" ,ghc-conduit-extra)
9516 ("ghc-exceptions" ,ghc-exceptions)
9517 ("ghc-resourcet" ,ghc-resourcet)
9518 ("ghc-async" ,ghc-async)
9519 ("ghc-monad-loops" ,ghc-monad-loops)
9520 ("ghc-unliftio" ,ghc-unliftio)))
9521 (native-inputs
9522 `(("ghc-doctest" ,ghc-doctest)
9523 ("ghc-quickcheck" ,ghc-quickcheck)
9524 ("ghc-hunit" ,ghc-hunit)
9525 ("ghc-test-framework" ,ghc-test-framework)
9526 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9527 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9528 (home-page "https://github.com/cgaebel/stm-conduit")
9529 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9530 (description
9531 "This package provides two simple conduit wrappers around STM channels: a
9532source and a sink.")
9533 (license license:bsd-3)))
9534
9535(define-public ghc-stmonadtrans
9536 (package
9537 (name "ghc-stmonadtrans")
9538 (version "0.4.3")
9539 (source
9540 (origin
9541 (method url-fetch)
9542 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9543 "/STMonadTrans-" version ".tar.gz"))
9544 (sha256
9545 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9546 (build-system haskell-build-system)
9547 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9548 (synopsis "Monad transformer version of the ST monad")
9549 (description
9550 "This package provides a monad transformer version of the @code{ST} monad
9551for strict state threads.")
9552 (license license:bsd-3)))
9553
9554(define-public ghc-storable-complex
9555 (package
9556 (name "ghc-storable-complex")
9557 (version "0.2.2")
9558 (source
9559 (origin
9560 (method url-fetch)
9561 (uri (string-append
9562 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9563 version ".tar.gz"))
9564 (sha256
9565 (base32 "01kwwkpbfjrv26vj83cd92px5qbq1bpgxj0r45534aksqhany1xb"))))
9566 (build-system haskell-build-system)
9567 (home-page "https://github.com/cartazio/storable-complex")
9568 (synopsis "Haskell Storable instance for Complex")
9569 (description "This package provides a Haskell library including a
9570Storable instance for Complex which is binary compatible with C99, C++
9571and Fortran complex data types.")
9572 (license license:bsd-3)))
9573
ad80074a
JS
9574(define-public ghc-storable-record
9575 (package
9576 (name "ghc-storable-record")
9577 (version "0.0.4")
9578 (source
9579 (origin
9580 (method url-fetch)
9581 (uri
9582 (string-append
9583 "https://hackage.haskell.org/package/storable-record/"
9584 "storable-record-" version ".tar.gz"))
9585 (sha256
9586 (base32
9587 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
9588 (build-system haskell-build-system)
9589 (inputs
9590 `(("ghc-semigroups" ,ghc-semigroups)
9591 ("ghc-utility-ht" ,ghc-utility-ht)
9592 ("ghc-storablevector" ,ghc-storablevector)
9593 ("ghc-timeit" ,ghc-timeit)))
9594 (home-page "https://hackage.haskell.org/package/storable-record")
9595 (synopsis "Elegant definition of Storable instances for records")
9596 (description "With this package you can build a Storable instance of
9597a record type from Storable instances of its elements in an elegant way.
9598It does not do any magic, just a bit arithmetic to compute the right
9599offsets, that would be otherwise done manually or by a preprocessor like
9600C2HS. There is no guarantee that the generated memory layout is
9601compatible with that of a corresponding C struct. However, the module
9602generates the smallest layout that is possible with respect to the
9603alignment of the record elements.")
9604 (license license:bsd-3)))
9605
55f4c653
JS
9606(define-public ghc-storable-tuple
9607 (package
9608 (name "ghc-storable-tuple")
9609 (version "0.0.3.3")
9610 (source
9611 (origin
9612 (method url-fetch)
9613 (uri
9614 (string-append
9615 "https://hackage.haskell.org/package/storable-tuple/"
9616 "storable-tuple-" version ".tar.gz"))
9617 (sha256
9618 (base32
9619 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
9620 (build-system haskell-build-system)
9621 (inputs
9622 `(("ghc-storable-record" ,ghc-storable-record)
9623 ("ghc-utility-ht" ,ghc-utility-ht)
9624 ("ghc-base-orphans" ,ghc-base-orphans)))
9625 (home-page "https://hackage.haskell.org/package/storable-tuple")
9626 (synopsis "Storable instance for pairs and triples")
9627 (description "This package provides a Storable instance for pairs
9628and triples which should be binary compatible with C99 and C++. The
9629only purpose of this package is to provide a standard location for this
9630instance so that other packages needing this instance can play nicely
9631together.")
9632 (license license:bsd-3)))
9633
bc06ca45
JS
9634(define-public ghc-storablevector
9635 (package
9636 (name "ghc-storablevector")
9637 (version "0.2.13")
9638 (source
9639 (origin
9640 (method url-fetch)
9641 (uri
9642 (string-append
9643 "https://hackage.haskell.org/package/storablevector/storablevector-"
9644 version ".tar.gz"))
9645 (sha256
9646 (base32
9647 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
9648 (build-system haskell-build-system)
9649 (inputs
9650 `(("ghc-non-negative" ,ghc-non-negative)
9651 ("ghc-utility-ht" ,ghc-utility-ht)
9652 ("ghc-semigroups" ,ghc-semigroups)
9653 ("ghc-unsafe" ,ghc-unsafe)
9654 ("ghc-quickcheck" ,ghc-quickcheck)
9655 ("ghc-syb" ,ghc-syb)))
9656 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
9657 (synopsis "Fast, packed, strict storable arrays with a list interface")
9658 (description "This library provides fast, packed, strict storable
9659arrays with a list interface, a chunky lazy list interface with variable
9660chunk size and an interface for write access via the ST monad. This is
9661much like bytestring and binary but can be used for every
9662@code{Foreign.Storable.Storable} type. See also
9663@url{http://hackage.haskell.org/package/vector}, a library with a
9664similar intention.
9665
9666This library does not do advanced fusion optimization, since especially
9667for lazy vectors this would either be incorrect or not applicable. See
9668@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
9669a library that provides fusion with lazy lists.")
9670 (license license:bsd-3)))
9671
dddbc90c
RV
9672(define-public ghc-streaming-commons
9673 (package
9674 (name "ghc-streaming-commons")
9675 (version "0.2.1.1")
9676 (source
9677 (origin
9678 (method url-fetch)
9679 (uri (string-append "https://hackage.haskell.org/package/"
9680 "streaming-commons/streaming-commons-"
9681 version ".tar.gz"))
9682 (sha256
9683 (base32
9684 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9685 (build-system haskell-build-system)
9686 (inputs
9687 `(("ghc-async" ,ghc-async)
9688 ("ghc-blaze-builder" ,ghc-blaze-builder)
9689 ("ghc-network" ,ghc-network)
9690 ("ghc-random" ,ghc-random)
9691 ("ghc-zlib" ,ghc-zlib)))
9692 (native-inputs
9693 `(("ghc-quickcheck" ,ghc-quickcheck)
9694 ("ghc-hspec" ,ghc-hspec)
9695 ("hspec-discover" ,hspec-discover)))
9696 (home-page "https://hackage.haskell.org/package/streaming-commons")
9697 (synopsis "Conduit and pipes needed by some streaming data libraries")
9698 (description "This package provides low-dependency functionality commonly
9699needed by various Haskell streaming data libraries, such as @code{conduit} and
9700@code{pipe}s.")
9701 (license license:expat)))
9702
9703(define-public ghc-strict
9704 (package
9705 (name "ghc-strict")
9706 (version "0.3.2")
9707 (source
9708 (origin
9709 (method url-fetch)
9710 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
9711 version ".tar.gz"))
9712 (sha256
9713 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
9714 (build-system haskell-build-system)
9715 (home-page "https://hackage.haskell.org/package/strict")
9716 (synopsis "Strict data types and String IO")
9717 (description
9718 "This package provides strict versions of some standard Haskell data
9719types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
9720IO operations.")
9721 (license license:bsd-3)))
9722
9723(define-public ghc-stringbuilder
9724 (package
9725 (name "ghc-stringbuilder")
9726 (version "0.5.1")
9727 (source
9728 (origin
9729 (method url-fetch)
9730 (uri (string-append
9731 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
9732 version
9733 ".tar.gz"))
9734 (sha256
9735 (base32
9736 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
9737 (build-system haskell-build-system)
9738 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
9739 ; enabled
9740 (home-page "https://hackage.haskell.org/package/stringbuilder")
9741 (synopsis "Writer monad for multi-line string literals")
9742 (description "This package provides a writer monad for multi-line string
9743literals.")
9744 (license license:expat)))
9745
9746(define-public ghc-string-qq
9747 (package
9748 (name "ghc-string-qq")
4d6fddc3 9749 (version "0.0.4")
dddbc90c
RV
9750 (source
9751 (origin
9752 (method url-fetch)
9753 (uri (string-append
9754 "https://hackage.haskell.org/package/string-qq/string-qq-"
9755 version
9756 ".tar.gz"))
9757 (sha256
9758 (base32
4d6fddc3 9759 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 9760 (build-system haskell-build-system)
4d6fddc3
TS
9761 (native-inputs
9762 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
9763 (home-page "http://hackage.haskell.org/package/string-qq")
9764 (synopsis
9765 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
9766 (description
9767 "This package provides a quasiquoter for non-interpolated strings, texts
9768and bytestrings.")
9769 (license license:public-domain)))
9770
9771(define-public ghc-stringsearch
9772 (package
9773 (name "ghc-stringsearch")
9774 (version "0.3.6.6")
9775 (source
9776 (origin
9777 (method url-fetch)
9778 (uri (string-append
9779 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
9780 version
9781 ".tar.gz"))
9782 (sha256
9783 (base32
9784 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
9785 (build-system haskell-build-system)
9786 (home-page "https://bitbucket.org/dafis/stringsearch")
9787 (synopsis "Fast searching, splitting and replacing of ByteStrings")
9788 (description "This package provides several functions to quickly search
9789for substrings in strict or lazy @code{ByteStrings}. It also provides
9790functions for breaking or splitting on substrings and replacing all
9791occurrences of a substring (the first in case of overlaps) with another.")
9792 (license license:bsd-3)))
9793
9794(define-public ghc-stylish-haskell
9795 (package
9796 (name "ghc-stylish-haskell")
9797 (version "0.9.2.1")
9798 (source
9799 (origin
9800 (method url-fetch)
9801 (uri (string-append
9802 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
9803 version
9804 ".tar.gz"))
9805 (sha256
9806 (base32
9807 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
9808 (build-system haskell-build-system)
9809 (inputs
9810 `(("ghc-aeson" ,ghc-aeson)
9811 ("ghc-file-embed" ,ghc-file-embed)
9812 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
9813 ("ghc-semigroups" ,ghc-semigroups)
9814 ("ghc-syb" ,ghc-syb)
9815 ("ghc-yaml" ,ghc-yaml)
9816 ("ghc-strict" ,ghc-strict)
9817 ("ghc-optparse-applicative"
9818 ,ghc-optparse-applicative)))
9819 (native-inputs
9820 `(("ghc-hunit" ,ghc-hunit)
9821 ("ghc-test-framework" ,ghc-test-framework)
9822 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
9823 (home-page "https://github.com/jaspervdj/stylish-haskell")
9824 (synopsis "Haskell code prettifier")
9825 (description "Stylish-haskell is a Haskell code prettifier. The goal is
9826not to format all of the code in a file, to avoid \"getting in the way\".
9827However, this tool can e.g. clean up import statements and help doing various
9828tasks that get tedious very quickly. It can
9829@itemize
9830@item
9831Align and sort @code{import} statements
9832@item
9833Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
9834pragmas
9835@item
9836Remove trailing whitespaces
9837@item
9838Align branches in @code{case} and fields in records
9839@item
9840Convert line endings (customisable)
9841@item
9842Replace tabs by four spaces (turned off by default)
9843@item
9844Replace some ASCII sequences by their Unicode equivalent (turned off by
9845default)
9846@end itemize")
9847 (license license:bsd-3)))
9848
9849(define-public ghc-syb
9850 (package
9851 (name "ghc-syb")
9852 (version "0.7")
9853 (outputs '("out" "doc"))
9854 (source
9855 (origin
9856 (method url-fetch)
9857 (uri (string-append
9858 "https://hackage.haskell.org/package/syb/syb-"
9859 version
9860 ".tar.gz"))
9861 (sha256
9862 (base32
9863 "1da2zz7gqm4xbkx5vpd74dayx1svaxyl145fl14mq15lbb77sxdq"))))
9864 (build-system haskell-build-system)
9865 (inputs
9866 `(("ghc-hunit" ,ghc-hunit)))
9867 (home-page
9868 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
9869 (synopsis "Scrap Your Boilerplate")
9870 (description "This package contains the generics system described in the
9871/Scrap Your Boilerplate/ papers (see
9872@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
9873defines the @code{Data} class of types permitting folding and unfolding of
9874constructor applications, instances of this class for primitive types, and a
9875variety of traversals.")
9876 (license license:bsd-3)))
9877
9878(define-public ghc-system-fileio
9879 (package
9880 (name "ghc-system-fileio")
9881 (version "0.3.16.3")
9882 (source
9883 (origin
9884 (method url-fetch)
9885 (uri (string-append
9886 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
9887 version ".tar.gz"))
9888 (sha256
9889 (base32
9890 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
9891 (build-system haskell-build-system)
9892 (inputs
9893 `(("ghc-system-filepath" ,ghc-system-filepath)
9894 ("ghc-chell" ,ghc-chell)
9895 ("ghc-temporary" ,ghc-temporary)))
9896 (home-page "https://github.com/fpco/haskell-filesystem")
9897 (synopsis "Consistent file system interaction across GHC versions")
9898 (description
9899 "This is a small wrapper around the directory, unix, and Win32 packages,
9900for use with system-filepath. It provides a consistent API to the various
9901versions of these packages distributed with different versions of GHC.
9902In particular, this library supports working with POSIX files that have paths
9903which can't be decoded in the current locale encoding.")
9904 (license license:expat)))
9905
9906;; See ghc-system-filepath-bootstrap. In addition this package depends on
9907;; ghc-system-filepath.
9908(define ghc-system-fileio-bootstrap
9909 (package
9910 (name "ghc-system-fileio-bootstrap")
9911 (version "0.3.16.3")
9912 (source
9913 (origin
9914 (method url-fetch)
9915 (uri (string-append
9916 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
9917 version ".tar.gz"))
9918 (sha256
9919 (base32
9920 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
9921 (build-system haskell-build-system)
9922 (arguments
9923 `(#:tests? #f))
9924 (inputs
9925 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9926 ("ghc-temporary" ,ghc-temporary)))
9927 (home-page "https://github.com/fpco/haskell-filesystem")
9928 (synopsis "Consistent file system interaction across GHC versions")
9929 (description
9930 "This is a small wrapper around the directory, unix, and Win32 packages,
9931for use with system-filepath. It provides a consistent API to the various
9932versions of these packages distributed with different versions of GHC.
9933In particular, this library supports working with POSIX files that have paths
9934which can't be decoded in the current locale encoding.")
9935 (license license:expat)))
9936
9937
9938(define-public ghc-system-filepath
9939 (package
9940 (name "ghc-system-filepath")
9941 (version "0.4.14")
9942 (source
9943 (origin
9944 (method url-fetch)
9945 (uri (string-append
9946 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
9947 version ".tar.gz"))
9948 (sha256
9949 (base32
9950 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
9951 (build-system haskell-build-system)
9952 ;; FIXME: One of the tests fails:
9953 ;; [ FAIL ] tests.validity.posix
9954 ;; note: seed=7310214548328823169
9955 ;; *** Failed! Falsifiable (after 24 tests):
9956 ;; 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"
9957 (arguments `(#:tests? #f))
9958 (inputs
9959 `(("ghc-chell" ,ghc-chell)
9960 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
9961 ("ghc-quickcheck" ,ghc-quickcheck)))
9962 (home-page "https://github.com/fpco/haskell-filesystem")
9963 (synopsis "High-level, byte-based file and directory path manipulations")
9964 (description
9965 "Provides a FilePath datatype and utility functions for operating on it.
9966Unlike the filepath package, this package does not simply reuse String,
9967increasing type safety.")
9968 (license license:expat)))
9969
9970;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
9971;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
9972;; which depends on ghc-chell and ghc-chell-quickcheck.
9973;; Therefore we bootstrap it with tests disabled.
9974(define ghc-system-filepath-bootstrap
9975 (package
9976 (name "ghc-system-filepath-bootstrap")
9977 (version "0.4.14")
9978 (source
9979 (origin
9980 (method url-fetch)
9981 (uri (string-append
9982 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
9983 version ".tar.gz"))
9984 (sha256
9985 (base32
9986 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
9987 (build-system haskell-build-system)
9988 (arguments
9989 `(#:tests? #f))
9990 (inputs
9991 `(("ghc-quickcheck" ,ghc-quickcheck)))
9992 (home-page "https://github.com/fpco/haskell-filesystem")
9993 (synopsis "High-level, byte-based file and directory path manipulations")
9994 (description
9995 "Provides a FilePath datatype and utility functions for operating on it.
9996Unlike the filepath package, this package does not simply reuse String,
9997increasing type safety.")
9998 (license license:expat)))
9999
10000
10001(define-public ghc-tagged
10002 (package
10003 (name "ghc-tagged")
10004 (version "0.8.5")
10005 (source
10006 (origin
10007 (method url-fetch)
10008 (uri (string-append
10009 "https://hackage.haskell.org/package/tagged/tagged-"
10010 version
10011 ".tar.gz"))
10012 (sha256
10013 (base32
10014 "16cdzh0bw16nvjnyyy5j9s60malhz4nnazw96vxb0xzdap4m2z74"))))
10015 (build-system haskell-build-system)
10016 (arguments
10017 `(#:cabal-revision
10018 ("2" "0r2knfcq0b4s652vlvlnfwxlc2mkc2ra9kl8bp4zdn1awmfy0ia5")))
10019 (inputs
10020 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10021 (home-page "https://hackage.haskell.org/package/tagged")
10022 (synopsis "Haskell phantom types to avoid passing dummy arguments")
10023 (description "This library provides phantom types for Haskell 98, to avoid
10024having to unsafely pass dummy arguments.")
10025 (license license:bsd-3)))
10026
10027(define-public ghc-tar
10028 (package
10029 (name "ghc-tar")
10030 (version "0.5.1.0")
10031 (source
10032 (origin
10033 (method url-fetch)
10034 (uri (string-append
10035 "https://hackage.haskell.org/package/tar/tar-"
10036 version ".tar.gz"))
10037 (sha256
10038 (base32
10039 "0s2brvaxg5fki2jdkccmnpssiy6a3wjh24p6a3dkkdvjcixnk7f8"))))
10040 (build-system haskell-build-system)
10041 ;; FIXME: 2/24 tests fail.
10042 (arguments `(#:tests? #f))
10043 (inputs
10044 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10045 ("ghc-quickcheck" ,ghc-quickcheck)
10046 ("ghc-tasty" ,ghc-tasty)
10047 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10048 (home-page "https://hackage.haskell.org/package/tar")
10049 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10050 (description
10051 "This library is for working with \\\"@.tar@\\\" archive files.
10052It can read and write a range of common variations of the tar archive format
10053including V7, POSIX USTAR and GNU formats. It provides support for packing and
10054unpacking portable archives. This makes it suitable for distribution but not
10055backup because details like file ownership and exact permissions are not
10056preserved. It also provides features for random access to archive content using
10057an index.")
10058 (license license:bsd-3)))
10059
10060(define-public ghc-temporary
10061 (package
10062 (name "ghc-temporary")
10063 (version "1.3")
10064 (source
10065 (origin
10066 (method url-fetch)
10067 (uri (string-append
10068 "https://hackage.haskell.org/package/temporary/temporary-"
10069 version
10070 ".tar.gz"))
10071 (sha256
10072 (base32
10073 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10074 (build-system haskell-build-system)
10075 (inputs
10076 `(("ghc-exceptions" ,ghc-exceptions)
10077 ("ghc-random" ,ghc-random)))
10078 (native-inputs
10079 `(("ghc-base-compat" ,ghc-base-compat)
10080 ("ghc-tasty" ,ghc-tasty)
10081 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10082 (home-page "https://www.github.com/batterseapower/temporary")
10083 (synopsis "Temporary file and directory support")
10084 (description "The functions for creating temporary files and directories
10085in the Haskelll base library are quite limited. This library just repackages
10086the Cabal implementations of its own temporary file and folder functions so
10087that you can use them without linking against Cabal or depending on it being
10088installed.")
10089 (license license:bsd-3)))
10090
10091(define-public ghc-temporary-rc
10092 (package
10093 (name "ghc-temporary-rc")
10094 (version "1.2.0.3")
10095 (source
10096 (origin
10097 (method url-fetch)
10098 (uri (string-append
10099 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10100 version
10101 ".tar.gz"))
10102 (sha256
10103 (base32
10104 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10105 (build-system haskell-build-system)
10106 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10107 (home-page
10108 "https://www.github.com/feuerbach/temporary")
10109 (synopsis
10110 "Portable temporary file and directory support")
10111 (description
10112 "The functions for creating temporary files and directories in the base
10113library are quite limited. The unixutils package contains some good ones, but
10114they aren't portable to Windows. This library just repackages the Cabal
10115implementations of its own temporary file and folder functions so that you can
10116use them without linking against Cabal or depending on it being installed.
10117This is a better maintained fork of the \"temporary\" package.")
10118 (license license:bsd-3)))
10119
10120(define-public ghc-terminal-size
10121 (package
10122 (name "ghc-terminal-size")
10123 (version "0.3.2.1")
10124 (source (origin
10125 (method url-fetch)
10126 (uri (string-append
10127 "https://hackage.haskell.org/package/terminal-size/"
10128 "terminal-size-" version ".tar.gz"))
10129 (sha256
10130 (base32
10131 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10132 (build-system haskell-build-system)
10133 (home-page "https://hackage.haskell.org/package/terminal-size")
10134 (synopsis "Get terminal window height and width")
10135 (description "Get terminal window height and width without ncurses
10136dependency.")
10137 (license license:bsd-3)))
10138
10139(define-public ghc-texmath
10140 (package
10141 (name "ghc-texmath")
10142 (version "0.11.0.1")
10143 (source (origin
10144 (method url-fetch)
10145 (uri (string-append "https://hackage.haskell.org/package/"
10146 "texmath/texmath-" version ".tar.gz"))
10147 (sha256
10148 (base32
10149 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
10150 (build-system haskell-build-system)
10151 (inputs
10152 `(("ghc-syb" ,ghc-syb)
10153 ("ghc-network-uri" ,ghc-network-uri)
10154 ("ghc-split" ,ghc-split)
10155 ("ghc-temporary" ,ghc-temporary)
10156 ("ghc-utf8-string" ,ghc-utf8-string)
10157 ("ghc-xml" ,ghc-xml)
10158 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10159 (home-page "https://github.com/jgm/texmath")
10160 (synopsis "Conversion between formats used to represent mathematics")
10161 (description
10162 "The texmath library provides functions to read and write TeX math,
10163presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10164Office). Support is also included for converting math formats to pandoc's
10165native format (allowing conversion, via pandoc, to a variety of different
10166markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10167it can parse and apply LaTeX macros.")
10168 (license license:gpl2+)))
10169
10170(define-public ghc-text-binary
10171 (package
10172 (name "ghc-text-binary")
10173 (version "0.2.1.1")
10174 (source
10175 (origin
10176 (method url-fetch)
10177 (uri (string-append "https://hackage.haskell.org/package/"
10178 "text-binary/text-binary-"
10179 version ".tar.gz"))
10180 (sha256
10181 (base32
10182 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10183 (build-system haskell-build-system)
10184 (home-page "https://github.com/kawu/text-binary")
10185 (synopsis "Binary instances for text types")
10186 (description
10187 "This package provides a compatibility layer providing @code{Binary}
10188instances for strict and lazy text types for versions older than 1.2.1 of the
10189text package.")
10190 (license license:bsd-2)))
10191
10192(define-public ghc-tf-random
10193 (package
10194 (name "ghc-tf-random")
10195 (version "0.5")
10196 (outputs '("out" "doc"))
10197 (source
10198 (origin
10199 (method url-fetch)
10200 (uri (string-append
10201 "https://hackage.haskell.org/package/tf-random/tf-random-"
10202 version
10203 ".tar.gz"))
10204 (sha256
10205 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10206 (build-system haskell-build-system)
10207 (inputs
10208 `(("ghc-primitive" ,ghc-primitive)
10209 ("ghc-random" ,ghc-random)))
10210 (home-page "https://hackage.haskell.org/package/tf-random")
10211 (synopsis "High-quality splittable pseudorandom number generator")
10212 (description "This package contains an implementation of a high-quality
10213splittable pseudorandom number generator. The generator is based on a
10214cryptographic hash function built on top of the ThreeFish block cipher. See
10215the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10216Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10217 (license license:bsd-3)))
10218
10219(define-public ghc-th-abstraction
10220 (package
10221 (name "ghc-th-abstraction")
1188eabb 10222 (version "0.3.1.0")
dddbc90c
RV
10223 (source
10224 (origin
10225 (method url-fetch)
10226 (uri (string-append "https://hackage.haskell.org/package/"
10227 "th-abstraction/th-abstraction-"
10228 version ".tar.gz"))
10229 (sha256
10230 (base32
1188eabb 10231 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
10232 (build-system haskell-build-system)
10233 (home-page "https://github.com/glguy/th-abstraction")
10234 (synopsis "Nicer interface for reified information about data types")
10235 (description
10236 "This package normalizes variations in the interface for inspecting
10237datatype information via Template Haskell so that packages and support a
10238single, easier to use informational datatype while supporting many versions of
10239Template Haskell.")
10240 (license license:isc)))
10241
10242(define-public ghc-th-expand-syns
10243 (package
10244 (name "ghc-th-expand-syns")
10245 (version "0.4.4.0")
10246 (source (origin
10247 (method url-fetch)
10248 (uri (string-append "https://hackage.haskell.org/package/"
10249 "th-expand-syns/th-expand-syns-"
10250 version ".tar.gz"))
10251 (sha256
10252 (base32
10253 "01prlvh3py5hq5ccjidfyp9ixq2zd88dkbsidyjrpkja6v8m43yc"))))
10254 (build-system haskell-build-system)
10255 (inputs
10256 `(("ghc-syb" ,ghc-syb)))
10257 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10258 (synopsis "Expands type synonyms in Template Haskell ASTs")
10259 (description
10260 "This package enables users to expand type synonyms in Template Haskell
10261@dfn{abstract syntax trees} (ASTs).")
10262 (license license:bsd-3)))
10263
10264(define-public ghc-th-lift
10265 (package
10266 (name "ghc-th-lift")
bd76b20a 10267 (version "0.8.0.1")
dddbc90c
RV
10268 (source (origin
10269 (method url-fetch)
10270 (uri (string-append "https://hackage.haskell.org/package/"
10271 "th-lift/th-lift-" version ".tar.gz"))
10272 (sha256
10273 (base32
bd76b20a 10274 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
10275 (build-system haskell-build-system)
10276 (inputs
10277 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10278 (home-page "https://github.com/mboes/th-lift")
10279 (synopsis "Derive Template Haskell's Lift class for datatypes")
10280 (description
10281 "This is a Haskell library to derive Template Haskell's Lift class for
10282datatypes.")
10283 (license license:bsd-3)))
10284
10285(define-public ghc-th-lift-instances
10286 (package
10287 (name "ghc-th-lift-instances")
10288 (version "0.1.11")
10289 (source
10290 (origin
10291 (method url-fetch)
10292 (uri (string-append "https://hackage.haskell.org/package/"
10293 "th-lift-instances/th-lift-instances-"
10294 version ".tar.gz"))
10295 (sha256
10296 (base32
10297 "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x"))))
10298 (build-system haskell-build-system)
10299 (inputs
10300 `(("ghc-th-lift" ,ghc-th-lift)
10301 ("ghc-vector" ,ghc-vector)
10302 ("ghc-quickcheck" ,ghc-quickcheck)))
10303 (home-page "https://github.com/bennofs/th-lift-instances/")
10304 (synopsis "Lift instances for template-haskell for common data types.")
10305 (description "Most data types in the Haskell platform do not have Lift
10306instances. This package provides orphan instances for @code{containers},
10307@code{text}, @code{bytestring} and @code{vector}.")
10308 (license license:bsd-3)))
10309
10310(define-public ghc-th-orphans
10311 (package
10312 (name "ghc-th-orphans")
10313 (version "0.13.6")
10314 (source (origin
10315 (method url-fetch)
10316 (uri (string-append "https://hackage.haskell.org/package/"
10317 "th-orphans/th-orphans-" version ".tar.gz"))
10318 (sha256
10319 (base32
10320 "0sfl3pn9kq9da3ji3lsgzgzy82vz6yvsg80dmakc1jvk7awycibp"))))
10321 (build-system haskell-build-system)
10322 (inputs
10323 `(("ghc-th-lift" ,ghc-th-lift)
10324 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10325 ("ghc-th-reify-many" ,ghc-th-reify-many)
10326 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10327 (native-inputs
10328 `(("ghc-hspec" ,ghc-hspec)))
10329 (home-page "https://hackage.haskell.org/package/th-orphans")
10330 (synopsis "Orphan instances for TH datatypes")
10331 (description
10332 "This package provides orphan instances for Template Haskell datatypes. In particular,
10333instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10334and @code{Eq} instances. These instances used to live in the haskell-src-meta
10335package, and that's where the version number started.")
10336 (license license:bsd-3)))
10337
10338(define-public ghc-threads
10339 (package
10340 (name "ghc-threads")
10341 (version "0.5.1.6")
10342 (source
10343 (origin
10344 (method url-fetch)
10345 (uri (string-append "https://hackage.haskell.org/package/"
10346 "threads/threads-" version ".tar.gz"))
10347 (sha256
10348 (base32
10349 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10350 (build-system haskell-build-system)
10351 (native-inputs
10352 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10353 ("ghc-hunit" ,ghc-hunit)
10354 ("ghc-test-framework" ,ghc-test-framework)
10355 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10356 (home-page "https://github.com/basvandijk/threads")
10357 (synopsis "Fork threads and wait for their result")
10358 (description "This package provides functions to fork threads and
10359wait for their result, whether it's an exception or a normal value.
10360Besides waiting for the termination of a single thread this package also
10361provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10362package is similar to the @code{threadmanager}, @code{async} and
10363@code{spawn} packages. The advantages of this package are:
10364
dddbc90c
RV
10365@itemize
10366@item Simpler API.
10367@item More efficient in both space and time.
10368@item No space-leak when forking a large number of threads.
10369@item Correct handling of asynchronous exceptions.
10370@item GHC specific functionality like @code{forkOn} and
10371@code{forkIOWithUnmask}.
10372@end itemize")
10373 (license license:bsd-3)))
10374
10375(define-public ghc-th-reify-many
10376 (package
10377 (name "ghc-th-reify-many")
10378 (version "0.1.8")
10379 (source (origin
10380 (method url-fetch)
10381 (uri (string-append "https://hackage.haskell.org/package/"
10382 "th-reify-many/th-reify-many-"
10383 version ".tar.gz"))
10384 (sha256
10385 (base32
10386 "0hzy6hvhvcd6i60vx5cp2b7ggmnnjh9rx4h8bm8xw4grglcaxjnf"))))
10387 (build-system haskell-build-system)
10388 (inputs
10389 `(("ghc-safe" ,ghc-safe)
10390 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10391 (home-page "https://github.com/mgsloan/th-reify-many")
10392 (synopsis "Recurseively reify template haskell datatype info")
10393 (description
10394 "th-reify-many provides functions for recursively reifying top level
10395declarations. The main intended use case is for enumerating the names of
10396datatypes reachable from an initial datatype, and passing these names to some
10397function which generates instances.")
10398 (license license:bsd-3)))
10399
10400(define-public ghc-time-locale-compat
10401 (package
10402 (name "ghc-time-locale-compat")
10403 (version "0.1.1.5")
10404 (source
10405 (origin
10406 (method url-fetch)
10407 (uri (string-append "https://hackage.haskell.org/package/"
10408 "time-locale-compat/time-locale-compat-"
10409 version ".tar.gz"))
10410 (sha256
10411 (base32
10412 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10413 (build-system haskell-build-system)
10414 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10415 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10416 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10417 (description "This package contains a wrapped name module for
10418@code{TimeLocale}.")
10419 (license license:bsd-3)))
10420
7bbfa392
JS
10421(define-public ghc-timeit
10422 (package
10423 (name "ghc-timeit")
10424 (version "2.0")
10425 (source
10426 (origin
10427 (method url-fetch)
10428 (uri
10429 (string-append
10430 "https://hackage.haskell.org/package/timeit/timeit-"
10431 version ".tar.gz"))
10432 (sha256
10433 (base32
10434 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
10435 (build-system haskell-build-system)
10436 (home-page "https://github.com/merijn/timeit")
10437 (synopsis "Time monadic computations with an IO base")
10438 (description "This package provides a simple wrapper to show the
10439used CPU time of monadic computation with an IO base.")
10440 (license license:bsd-3)))
10441
dddbc90c
RV
10442(define-public ghc-tldr
10443 (package
10444 (name "ghc-tldr")
10445 (version "0.4.0.1")
10446 (source
10447 (origin
10448 (method url-fetch)
10449 (uri (string-append
10450 "https://hackage.haskell.org/package/tldr/tldr-"
10451 version
10452 ".tar.gz"))
10453 (sha256
10454 (base32
10455 "0nc581y9jjzwd8l88g48c72mla7k6q1w102akl7gl5jsk9ljamd3"))))
10456 (build-system haskell-build-system)
10457 (inputs
10458 `(("ghc-cmark" ,ghc-cmark)
10459 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10460 ("ghc-typed-process" ,ghc-typed-process)
10461 ("ghc-semigroups" ,ghc-semigroups)))
10462 (native-inputs
10463 `(("ghc-tasty" ,ghc-tasty)
10464 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10465 (home-page "https://github.com/psibi/tldr-hs#readme")
10466 (synopsis "Haskell tldr client")
10467 (description "This package provides the @command{tldr} command and a
10468Haskell client library allowing users to update and view @code{tldr} pages
10469from a shell. The @code{tldr} pages are a community effort to simplify the
10470man pages with practical examples.")
10471 (license license:bsd-3)))
10472
10473(define-public ghc-transformers-base
10474 (package
10475 (name "ghc-transformers-base")
10476 (version "0.4.5.2")
10477 (source
10478 (origin
10479 (method url-fetch)
10480 (uri (string-append
10481 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10482 version
10483 ".tar.gz"))
10484 (sha256
10485 (base32
10486 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10487 (build-system haskell-build-system)
10488 (inputs
10489 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10490 (home-page
10491 "https://hackage.haskell.org/package/transformers-compat")
10492 (synopsis
10493 "Backported transformer library")
10494 (description
10495 "Backported versions of types that were added to transformers in
10496transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10497compatibility to run on old versions of the platform.")
10498 (license license:bsd-3)))
10499
10500(define-public ghc-transformers-compat
10501 (package
10502 (name "ghc-transformers-compat")
1c9c4d58 10503 (version "0.6.5")
dddbc90c
RV
10504 (source
10505 (origin
10506 (method url-fetch)
10507 (uri (string-append
10508 "https://hackage.haskell.org/package/transformers-compat"
10509 "/transformers-compat-" version ".tar.gz"))
10510 (sha256
10511 (base32
1c9c4d58 10512 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
10513 (build-system haskell-build-system)
10514 (home-page "https://github.com/ekmett/transformers-compat/")
10515 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10516 (description "This package includes backported versions of types that were
10517added to transformers in transformers 0.3 and 0.4 for users who need strict
10518transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10519but also need those types.")
10520 (license license:bsd-3)))
10521
10522(define-public ghc-tree-diff
10523 (package
10524 (name "ghc-tree-diff")
10525 (version "0.0.1")
10526 (source
10527 (origin
10528 (method url-fetch)
10529 (uri (string-append
10530 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10531 version
10532 ".tar.gz"))
10533 (sha256
10534 (base32
10535 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10536 (build-system haskell-build-system)
10537 (arguments
10538 `(#:cabal-revision
10539 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10540 #:phases
10541 (modify-phases %standard-phases
10542 (add-before 'configure 'update-constraints
10543 (lambda _
10544 (substitute* "tree-diff.cabal"
10545 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10546 "trifecta >=1.7.1.1 && <=2")))))))
10547 (inputs
10548 `(("ghc-aeson" ,ghc-aeson)
10549 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10550 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10551 ("ghc-base-compat" ,ghc-base-compat)
10552 ("ghc-generics-sop" ,ghc-generics-sop)
10553 ("ghc-hashable" ,ghc-hashable)
10554 ("ghc-memotrie" ,ghc-memotrie)
10555 ("ghc-parsers" ,ghc-parsers)
10556 ("ghc-quickcheck" ,ghc-quickcheck)
10557 ("ghc-scientific" ,ghc-scientific)
10558 ("ghc-tagged" ,ghc-tagged)
10559 ("ghc-unordered-containers" ,ghc-unordered-containers)
10560 ("ghc-uuid-types" ,ghc-uuid-types)
10561 ("ghc-vector" ,ghc-vector)))
10562 (native-inputs
10563 `(("ghc-base-compat" ,ghc-base-compat)
10564 ("ghc-quickcheck" ,ghc-quickcheck)
10565 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10566 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10567 ("ghc-trifecta" ,ghc-trifecta)
10568 ("ghc-tasty" ,ghc-tasty)
10569 ("ghc-tasty-golden" ,ghc-tasty-golden)
10570 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10571 (home-page "https://github.com/phadej/tree-diff")
10572 (synopsis "Compute difference between (expression) trees")
10573 (description "This Haskell library provides a function for computing
10574the difference between (expression) trees. It also provides a way to
10575compute the difference between arbitrary abstract datatypes (ADTs) using
10576@code{Generics}-derivable helpers.")
10577 (license license:bsd-3)))
10578
10579(define-public ghc-trifecta
10580 (package
10581 (name "ghc-trifecta")
10582 (version "2")
10583 (source (origin
10584 (method url-fetch)
10585 (uri (string-append
10586 "https://hackage.haskell.org/package/trifecta/"
10587 "trifecta-" version ".tar.gz"))
10588 (sha256
10589 (base32
10590 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10591 (build-system haskell-build-system)
10592 (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
10593 (inputs
10594 `(("ghc-reducers" ,ghc-reducers)
10595 ("ghc-semigroups" ,ghc-semigroups)
10596 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10597 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10598 ("ghc-blaze-builder" ,ghc-blaze-builder)
10599 ("ghc-blaze-html" ,ghc-blaze-html)
10600 ("ghc-blaze-markup" ,ghc-blaze-markup)
10601 ("ghc-charset" ,ghc-charset)
10602 ("ghc-comonad" ,ghc-comonad)
10603 ("ghc-fingertree" ,ghc-fingertree)
10604 ("ghc-hashable" ,ghc-hashable)
10605 ("ghc-lens" ,ghc-lens)
10606 ("ghc-parsers" ,ghc-parsers)
10607 ("ghc-profunctors" ,ghc-profunctors)
10608 ("ghc-unordered-containers" ,ghc-unordered-containers)
10609 ("ghc-utf8-string" ,ghc-utf8-string)))
10610 (native-inputs
10611 `(("cabal-doctest" ,cabal-doctest)
10612 ("ghc-doctest" ,ghc-doctest)
10613 ("ghc-quickcheck" ,ghc-quickcheck)))
10614 (home-page "https://github.com/ekmett/trifecta/")
10615 (synopsis "Parser combinator library with convenient diagnostics")
10616 (description "Trifecta is a modern parser combinator library for Haskell,
10617with slicing and Clang-style colored diagnostics.")
10618 (license license:bsd-3)))
10619
10620(define-public ghc-tuple-th
10621 (package
10622 (name "ghc-tuple-th")
10623 (version "0.2.5")
10624 (source
10625 (origin
10626 (method url-fetch)
10627 (uri (string-append "https://hackage.haskell.org/package/"
10628 "tuple-th-" version "/"
10629 "tuple-th-" version ".tar.gz"))
10630 (sha256
10631 (base32
10632 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10633 (build-system haskell-build-system)
10634 (home-page "https://github.com/DanielSchuessler/tuple-th")
10635 (synopsis "Generate utility functions for tuples of statically known size
10636for Haskell")
10637 (description "This Haskell package contains Template Haskell functions for
10638generating functions similar to those in @code{Data.List} for tuples of
10639statically known size.")
10640 (license license:bsd-3)))
10641
10642(define-public ghc-typed-process
10643 (package
10644 (name "ghc-typed-process")
10645 (version "0.2.3.0")
10646 (source
10647 (origin
10648 (method url-fetch)
10649 (uri (string-append "https://hackage.haskell.org/package/"
10650 "typed-process/typed-process-"
10651 version ".tar.gz"))
10652 (sha256
10653 (base32
10654 "0j36vrc9w841m5qbwqra1lwiznx31xfnhin1sm8x2c2739csbpn0"))))
10655 (build-system haskell-build-system)
10656 (inputs
10657 `(("ghc-async" ,ghc-async)))
10658 (native-inputs
10659 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10660 ("ghc-hspec" ,ghc-hspec)
10661 ("hspec-discover" ,hspec-discover)
10662 ("ghc-temporary" ,ghc-temporary)))
10663 (home-page "https://haskell-lang.org/library/typed-process")
10664 (synopsis "Run external processes with strong typing of streams")
10665 (description
10666 "This library provides the ability to launch and interact with external
10667processes. It wraps around the @code{process} library, and intends to improve
10668upon it.")
10669 (license license:expat)))
10670
d392f803
AG
10671(define-public ghc-unagi-chan
10672 (package
10673 (name "ghc-unagi-chan")
10674 (version "0.4.1.2")
10675 (source
10676 (origin
10677 (method url-fetch)
10678 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
10679 "/unagi-chan-" version ".tar.gz"))
10680 (sha256
10681 (base32
10682 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
10683 (build-system haskell-build-system)
10684 (inputs
10685 `(("ghc-atomic-primops" ,ghc-atomic-primops)
10686 ("ghc-primitive" ,ghc-primitive)))
10687 (arguments
10688 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
10689 #:cabal-revision
10690 ("1"
10691 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
10692 (home-page "http://hackage.haskell.org/package/unagi-chan")
10693 (synopsis "Fast concurrent queues with a Chan-like API, and more")
10694 (description
10695 "This library provides implementations of concurrent FIFO queues (for
10696both general boxed and primitive unboxed values) that are fast, perform well
10697under contention, and offer a Chan-like interface. The library may be of
10698limited usefulness outside of x86 architectures where the fetch-and-add
10699instruction is not available.")
10700 (license license:bsd-3)))
10701
dddbc90c
RV
10702(define-public ghc-unbounded-delays
10703 (package
10704 (name "ghc-unbounded-delays")
10705 (version "0.1.1.0")
10706 (source
10707 (origin
10708 (method url-fetch)
10709 (uri (string-append
10710 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
10711 version
10712 ".tar.gz"))
10713 (sha256
10714 (base32
10715 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
10716 (build-system haskell-build-system)
10717 (home-page "https://github.com/basvandijk/unbounded-delays")
10718 (synopsis "Unbounded thread delays and timeouts")
10719 (description "The @code{threadDelay} and @code{timeout} functions from the
10720Haskell base library use the bounded @code{Int} type for specifying the delay
10721or timeout period. This package provides alternative functions which use the
10722unbounded @code{Integer} type.")
10723 (license license:bsd-3)))
10724
10725(define-public ghc-unexceptionalio
10726 (package
10727 (name "ghc-unexceptionalio")
10728 (version "0.4.0")
10729 (source
10730 (origin
10731 (method url-fetch)
10732 (uri (string-append "https://hackage.haskell.org/package/"
10733 "unexceptionalio-" version "/" "unexceptionalio-"
10734 version ".tar.gz"))
10735 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
10736 (build-system haskell-build-system)
10737 (home-page "https://github.com/singpolyma/unexceptionalio")
10738 (synopsis "IO without any non-error, synchronous exceptions")
10739 (description "When you've caught all the exceptions that can be
10740handled safely, this is what you're left with.")
10741 (license license:isc)))
10742
10743(define-public ghc-union-find
10744 (package
10745 (name "ghc-union-find")
10746 (version "0.2")
10747 (source (origin
10748 (method url-fetch)
10749 (uri (string-append
10750 "https://hackage.haskell.org/package/union-find/union-find-"
10751 version ".tar.gz"))
10752 (sha256
10753 (base32
10754 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
10755 (build-system haskell-build-system)
10756 (home-page "https://github.com/nominolo/union-find")
10757 (synopsis "Efficient union and equivalence testing of sets")
10758 (description
10759 "The Union/Find algorithm implements these operations in (effectively)
10760constant-time:
10761@enumerate
10762@item Check whether two elements are in the same equivalence class.
10763@item Create a union of two equivalence classes.
10764@item Look up the descriptor of the equivalence class.
10765@end enumerate\n")
10766 (license license:bsd-3)))
10767
10768(define-public ghc-uniplate
10769 (package
10770 (name "ghc-uniplate")
10771 (version "1.6.12")
10772 (source
10773 (origin
10774 (method url-fetch)
10775 (uri (string-append
10776 "https://hackage.haskell.org/package/uniplate/uniplate-"
10777 version
10778 ".tar.gz"))
10779 (sha256
10780 (base32
10781 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
10782 (build-system haskell-build-system)
10783 (inputs
10784 `(("ghc-syb" ,ghc-syb)
10785 ("ghc-hashable" ,ghc-hashable)
10786 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10787 (home-page "http://community.haskell.org/~ndm/uniplate/")
10788 (synopsis "Simple, concise and fast generic operations")
10789 (description "Uniplate is a library for writing simple and concise generic
10790operations. Uniplate has similar goals to the original Scrap Your Boilerplate
10791work, but is substantially simpler and faster.")
10792 (license license:bsd-3)))
10793
10794(define-public ghc-unix-compat
10795 (package
10796 (name "ghc-unix-compat")
bc82e9f5 10797 (version "0.5.2")
dddbc90c
RV
10798 (source
10799 (origin
10800 (method url-fetch)
10801 (uri (string-append
10802 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
10803 version
10804 ".tar.gz"))
10805 (sha256
10806 (base32
bc82e9f5 10807 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
10808 (build-system haskell-build-system)
10809 (home-page
10810 "https://github.com/jystic/unix-compat")
10811 (synopsis "Portable POSIX-compatibility layer")
10812 (description
10813 "This package provides portable implementations of parts of the unix
10814package. This package re-exports the unix package when available. When it
10815isn't available, portable implementations are used.")
10816 (license license:bsd-3)))
10817
10818(define-public ghc-unix-time
10819 (package
10820 (name "ghc-unix-time")
10821 (version "0.3.8")
10822 (source
10823 (origin
10824 (method url-fetch)
10825 (uri (string-append
10826 "https://hackage.haskell.org/package/unix-time/unix-time-"
10827 version
10828 ".tar.gz"))
10829 (sha256
10830 (base32
10831 "051slgpid5cxiaw203ky0ql3823h28fcjs08axkzd4265wrvv8fw"))))
10832 (build-system haskell-build-system)
10833 (arguments
10834 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
10835 ; is weird, that should be provided by GHC 7.10.2.
10836 (inputs
10837 `(("ghc-old-time" ,ghc-old-time)
10838 ("ghc-old-locale" ,ghc-old-locale)))
10839 (home-page "https://hackage.haskell.org/package/unix-time")
10840 (synopsis "Unix time parser/formatter and utilities")
10841 (description "This library provides fast parsing and formatting utilities
10842for Unix time in Haskell.")
10843 (license license:bsd-3)))
10844
10845(define-public ghc-unliftio
10846 (package
10847 (name "ghc-unliftio")
10848 (version "0.2.7.0")
10849 (source
10850 (origin
10851 (method url-fetch)
10852 (uri (string-append
10853 "https://hackage.haskell.org/package/unliftio/unliftio-"
10854 version
10855 ".tar.gz"))
10856 (sha256
10857 (base32
10858 "0qql93lq5w7qghl454cc3s1i8v1jb4h08n82fqkw0kli4g3g9njs"))))
10859 (build-system haskell-build-system)
10860 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
10861 (inputs
10862 `(("ghc-async" ,ghc-async)
10863 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10864 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
10865 (home-page "https://github.com/fpco/unliftio")
10866 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
10867IO (batteries included)")
10868 (description "This Haskell package provides the core @code{MonadUnliftIO}
10869typeclass, a number of common instances, and a collection of common functions
10870working with it.")
10871 (license license:expat)))
10872
10873(define-public ghc-unliftio-core
10874 (package
10875 (name "ghc-unliftio-core")
2ae42618 10876 (version "0.1.2.0")
dddbc90c
RV
10877 (source
10878 (origin
10879 (method url-fetch)
10880 (uri (string-append "https://hackage.haskell.org/package/"
10881 "unliftio-core-" version "/"
10882 "unliftio-core-" version ".tar.gz"))
10883 (sha256
10884 (base32
2ae42618 10885 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
10886 (build-system haskell-build-system)
10887 (arguments
10888 `(#:cabal-revision
2ae42618 10889 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
10890 (home-page
10891 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
10892 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
10893 (description "This Haskell package provides the core @code{MonadUnliftIO}
10894typeclass, instances for base and transformers, and basic utility
10895functions.")
10896 (license license:expat)))
10897
10898(define-public ghc-unordered-containers
10899 (package
10900 (name "ghc-unordered-containers")
10901 (version "0.2.9.0")
10902 (outputs '("out" "doc"))
10903 (source
10904 (origin
10905 (method url-fetch)
10906 (uri (string-append
10907 "https://hackage.haskell.org/package/unordered-containers"
10908 "/unordered-containers-" version ".tar.gz"))
10909 (sha256
10910 (base32
10911 "0l4264p0av12cc6i8gls13q8y27x12z2ar4x34n3x59y99fcnc37"))))
10912 (build-system haskell-build-system)
10913 (inputs
10914 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
10915 ("ghc-hunit" ,ghc-hunit)
10916 ("ghc-quickcheck" ,ghc-quickcheck)
10917 ("ghc-test-framework" ,ghc-test-framework)
10918 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10919 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
10920 ("ghc-hashable" ,ghc-hashable)))
10921 (home-page
10922 "https://github.com/tibbe/unordered-containers")
10923 (synopsis
10924 "Efficient hashing-based container types")
10925 (description
10926 "Efficient hashing-based container types. The containers have been
10927optimized for performance critical use, both in terms of large data quantities
10928and high speed.")
10929 (license license:bsd-3)))
10930
10931(define-public ghc-unordered-containers-bootstrap
10932 (package
10933 (inherit ghc-unordered-containers)
10934 (name "ghc-unordered-containers-bootstrap")
10935 (arguments `(#:tests? #f))
10936 (inputs
10937 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 10938 (properties '((hidden? #t)))))
dddbc90c 10939
a52f4c57
JS
10940(define-public ghc-unsafe
10941 (package
10942 (name "ghc-unsafe")
10943 (version "0.0")
10944 (source
10945 (origin
10946 (method url-fetch)
10947 (uri
10948 (string-append
10949 "https://hackage.haskell.org/package/unsafe/unsafe-"
10950 version ".tar.gz"))
10951 (sha256
10952 (base32
10953 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
10954 (build-system haskell-build-system)
10955 (home-page "https://hackage.haskell.org/package/unsafe")
10956 (synopsis "Unified interface to unsafe functions")
10957 (description "Safe Haskell introduced the notion of safe and unsafe
10958modules. In order to make as many as possible modules ``safe'', the
10959well-known unsafe functions were moved to distinguished modules. This
10960makes it hard to write packages that work with both old and new versions
10961of GHC. This package provides a single module System.Unsafe that
10962exports the unsafe functions from the base package. It provides them in
10963a style ready for qualification, that is, you should import them by
10964@code{import qualified System.Unsafe as Unsafe}.")
10965 (license license:bsd-3)))
10966
dddbc90c
RV
10967(define-public ghc-uri-bytestring
10968 (package
10969 (name "ghc-uri-bytestring")
10970 (version "0.3.2.0")
10971 (source
10972 (origin
10973 (method url-fetch)
10974 (uri (string-append "https://hackage.haskell.org/package/"
10975 "uri-bytestring-" version "/"
10976 "uri-bytestring-" version ".tar.gz"))
10977 (sha256
10978 (base32
10979 "1q04j5ybvk37zk2m0bkjwyhblz0ymdj0cn4rvsvdca1ikn5xdv5c"))))
10980 (build-system haskell-build-system)
10981 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
10982 ("ghc-fail" ,ghc-fail)
10983 ("ghc-blaze-builder" ,ghc-blaze-builder)
10984 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
10985 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
10986 ("ghc-hunit" ,ghc-hunit)
10987 ("ghc-quickcheck" ,ghc-quickcheck)
10988 ("ghc-tasty" ,ghc-tasty)
10989 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10990 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10991 ("ghc-base-compat" ,ghc-base-compat)
10992 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
10993 ("ghc-semigroups" ,ghc-semigroups)
10994 ("ghc-generics-sop" ,ghc-generics-sop)))
10995 (home-page "https://github.com/Soostone/uri-bytestring")
10996 (synopsis "Haskell URI parsing as ByteStrings")
10997 (description "This Haskell package aims to be an RFC3986 compliant URI
10998parser that uses ByteStrings for parsing and representing the URI data.")
10999 (license license:bsd-3)))
11000
11001(define-public ghc-utf8-string
11002 (package
11003 (name "ghc-utf8-string")
11004 (version "1.0.1.1")
11005 (source
11006 (origin
11007 (method url-fetch)
11008 (uri (string-append
11009 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
11010 version
11011 ".tar.gz"))
11012 (sha256
11013 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
11014 (build-system haskell-build-system)
11015 (arguments
11016 `(#:cabal-revision
11017 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
11018 (home-page "https://github.com/glguy/utf8-string/")
11019 (synopsis "Support for reading and writing UTF8 Strings")
11020 (description
11021 "A UTF8 layer for Strings. The utf8-string package provides operations
11022for encoding UTF8 strings to Word8 lists and back, and for reading and writing
11023UTF8 without truncation.")
11024 (license license:bsd-3)))
11025
11026(define-public ghc-utility-ht
11027 (package
11028 (name "ghc-utility-ht")
11029 (version "0.0.14")
11030 (home-page "https://hackage.haskell.org/package/utility-ht")
11031 (source
11032 (origin
11033 (method url-fetch)
11034 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
11035 (sha256
11036 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
11037 (build-system haskell-build-system)
11038 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
11039 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
11040 (description "This package includes Hakell modules providing various
11041helper functions for Lists, Maybes, Tuples, Functions.")
11042 (license license:bsd-3)))
11043
11044(define-public ghc-uuid
11045 (package
11046 (name "ghc-uuid")
11047 (version "1.3.13")
11048 (source
11049 (origin
11050 (method url-fetch)
11051 (uri (string-append "https://hackage.haskell.org/package/"
11052 "uuid-" version "/"
11053 "uuid-" version ".tar.gz"))
11054 (sha256
11055 (base32
11056 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
11057 (build-system haskell-build-system)
11058 (arguments
11059 `(#:cabal-revision
11060 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
11061 #:phases
11062 (modify-phases %standard-phases
11063 (add-before 'configure 'strip-test-framework-constraints
11064 (lambda _
11065 (substitute* "uuid.cabal"
11066 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
11067 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
11068 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11069 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11070 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11071 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
11072 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
11073 ("ghc-entropy" ,ghc-entropy)
11074 ("ghc-network-info" ,ghc-network-info)
11075 ("ghc-random" ,ghc-random)
11076 ("ghc-uuid-types" ,ghc-uuid-types)))
11077 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11078 ("ghc-quickcheck" ,ghc-quickcheck)
11079 ("ghc-tasty" ,ghc-tasty)
11080 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11081 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11082 (home-page "https://github.com/hvr/uuid")
11083 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
11084 (description "This Haskell library provides utilities creating, comparing,
11085parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
11086 (license license:bsd-3)))
11087
11088(define-public ghc-uuid-types
11089 (package
11090 (name "ghc-uuid-types")
11091 (version "1.0.3")
11092 (source
11093 (origin
11094 (method url-fetch)
11095 (uri (string-append "https://hackage.haskell.org/package/"
11096 "uuid-types-" version "/"
11097 "uuid-types-" version ".tar.gz"))
11098 (sha256
11099 (base32
11100 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
11101 (build-system haskell-build-system)
11102 (arguments
11103 `(#:phases
11104 (modify-phases %standard-phases
11105 (add-before 'configure 'strip-test-framework-constraints
11106 (lambda _
11107 (substitute* "uuid-types.cabal"
11108 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
11109 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
11110 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11111 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11112 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11113 (inputs `(("ghc-hashable" ,ghc-hashable)
11114 ("ghc-random" ,ghc-random)))
11115 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11116 ("ghc-quickcheck" ,ghc-quickcheck)
11117 ("ghc-tasty" ,ghc-tasty)
11118 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11119 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11120 (home-page "https://github.com/hvr/uuid")
11121 (synopsis "Haskell type definitions for UUIDs")
11122 (description "This Haskell library contains type definitions for
11123@dfn{Universally Unique Identifiers} or
11124@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
11125functions.")
11126 (license license:bsd-3)))
11127
11128(define-public ghc-validation
11129 (package
11130 (name "ghc-validation")
11131 (version "1")
11132 (source
11133 (origin
11134 (method url-fetch)
11135 (uri (string-append
11136 "mirror://hackage/package/validation/validation-"
11137 version
11138 ".tar.gz"))
11139 (sha256
11140 (base32
11141 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
11142 (build-system haskell-build-system)
11143 (arguments
11144 `(#:cabal-revision
11145 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
11146 (inputs
11147 `(("ghc-semigroups" ,ghc-semigroups)
11148 ("ghc-semigroupoids" ,ghc-semigroupoids)
11149 ("ghc-bifunctors" ,ghc-bifunctors)
11150 ("ghc-lens" ,ghc-lens)))
11151 (native-inputs
11152 `(("ghc-hedgehog" ,ghc-hedgehog)
11153 ("ghc-hunit" ,ghc-hunit)))
11154 (home-page "https://github.com/qfpl/validation")
11155 (synopsis
11156 "Data-type like Either but with an accumulating Applicative")
11157 (description
11158 "A data-type like Either but with differing properties and type-class
11159instances.
11160
11161Library support is provided for this different representation, including
11162@code{lens}-related functions for converting between each and abstracting over
11163their similarities.
11164
11165The @code{Validation} data type is isomorphic to @code{Either}, but has an
11166instance of @code{Applicative} that accumulates on the error side. That is to
11167say, if two (or more) errors are encountered, they are appended using a
11168@{Semigroup} operation.
11169
11170As a consequence of this @code{Applicative} instance, there is no
11171corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11172example of, \"An applicative functor that is not a monad.\"")
11173 (license license:bsd-3)))
11174
11175(define-public ghc-validity
11176 (package
11177 (name "ghc-validity")
11178 (version "0.7.0.0")
11179 (source
11180 (origin
11181 (method url-fetch)
11182 (uri (string-append
11183 "https://hackage.haskell.org/package/validity/validity-"
11184 version
11185 ".tar.gz"))
11186 (sha256
11187 (base32
11188 "0xribw98amafihw87ddajk6vlirp7w9b26lrnjgq7jfm4710j95f"))))
11189 (build-system haskell-build-system)
11190 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11191 ("hspec-discover" ,hspec-discover)))
11192 (home-page
11193 "https://github.com/NorfairKing/validity")
11194 (synopsis "Validity typeclass")
11195 (description
11196 "Values of custom types usually have invariants imposed upon them. This
11197package provides the @code{Validity} type class, which makes these invariants
11198explicit by providing a function to check whether the invariants hold.")
11199 (license license:expat)))
11200
11201(define-public ghc-vault
11202 (package
11203 (name "ghc-vault")
11204 (version "0.3.1.2")
11205 (source
11206 (origin
11207 (method url-fetch)
11208 (uri (string-append
11209 "https://hackage.haskell.org/package/vault/vault-"
11210 version
11211 ".tar.gz"))
11212 (sha256
11213 (base32
11214 "072mbrihsdsb8c6xvg6lvk0rqjgvxvi8qkg4n6wwym5hq0pfa04y"))))
11215 (build-system haskell-build-system)
11216 (inputs
11217 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11218 ("ghc-hashable" ,ghc-hashable)
11219 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11220 (home-page
11221 "https://github.com/HeinrichApfelmus/vault")
11222 (synopsis "Persistent store for arbitrary values")
11223 (description "This package provides vaults for Haskell. A vault is a
11224persistent store for values of arbitrary types. It's like having first-class
11225access to the storage space behind @code{IORefs}. The data structure is
11226analogous to a bank vault, where you can access different bank boxes with
11227different keys; hence the name. Also provided is a @code{locker} type,
11228representing a store for a single element.")
11229 (license license:bsd-3)))
11230
11231(define-public ghc-vector
11232 (package
11233 (name "ghc-vector")
11234 (version "0.12.0.1")
11235 (outputs '("out" "doc"))
11236 (source
11237 (origin
11238 (method url-fetch)
11239 (uri (string-append
11240 "https://hackage.haskell.org/package/vector/vector-"
11241 version
11242 ".tar.gz"))
11243 (sha256
11244 (base32
11245 "0yrx2ypiaxahvaz84af5bi855hd3107kxkbqc8km29nsp5wyw05i"))))
11246 (build-system haskell-build-system)
11247 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11248 ;; disabled for now.
11249 (arguments
11250 `(#:cabal-revision
11251 ("3" "0y5rh8k710i2a3p1h2rghvr5cfg78p5h0kbfi7ifxqqf6pzlyr1x")
11252 #:tests? #f))
11253 (inputs
11254 `(("ghc-primitive" ,ghc-primitive)
11255 ("ghc-random" ,ghc-random)
11256 ("ghc-quickcheck" ,ghc-quickcheck)
11257 ;; ("ghc-hunit" ,ghc-hunit)
11258 ;; ("ghc-test-framework" ,ghc-test-framework)
11259 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11260 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11261 ))
11262 (home-page "https://github.com/haskell/vector")
11263 (synopsis "Efficient Arrays")
11264 (description "This library provides an efficient implementation of
11265Int-indexed arrays (both mutable and immutable), with a powerful loop
11266optimisation framework.")
11267 (license license:bsd-3)))
11268
11269(define-public ghc-vector-algorithms
11270 (package
11271 (name "ghc-vector-algorithms")
11272 (version "0.7.0.4")
11273 (source
11274 (origin
11275 (method url-fetch)
11276 (uri (string-append "https://hackage.haskell.org/package/"
11277 "vector-algorithms-" version "/"
11278 "vector-algorithms-" version ".tar.gz"))
11279 (sha256
11280 (base32
11281 "0mfa8ig9v69l41p2vb5jl4qmaln5y1rlzarr2mlgm8g1nvq8qqdg"))))
11282 (build-system haskell-build-system)
11283 (inputs
11284 `(("ghc-vector" ,ghc-vector)))
11285 (native-inputs
11286 `(("ghc-quickcheck" ,ghc-quickcheck)))
11287 (home-page "https://github.com/bos/math-functions")
11288 (synopsis "Algorithms for vector arrays in Haskell")
11289 (description "This Haskell library algorithms for vector arrays.")
11290 (license license:bsd-3)))
11291
11292(define-public ghc-vector-binary-instances
11293 (package
11294 (name "ghc-vector-binary-instances")
11295 (version "0.2.4")
11296 (source
11297 (origin
11298 (method url-fetch)
11299 (uri (string-append
11300 "https://hackage.haskell.org/package/"
11301 "vector-binary-instances/vector-binary-instances-"
11302 version ".tar.gz"))
11303 (sha256
11304 (base32
11305 "1y236jb72iab9ska1mc48z6yb0xgwmj45laaqdyjxksd84z7hbrb"))))
11306 (build-system haskell-build-system)
11307 (arguments
11308 `(#:cabal-revision
11309 ("1" "196frl4akhfk7xf1nxzn8lmq99dxhzhsimanswn9yy7ym8zhki4i")))
11310 (inputs
11311 `(("ghc-vector" ,ghc-vector)))
11312 (native-inputs
11313 `(("ghc-tasty" ,ghc-tasty)
11314 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11315 (home-page "https://github.com/bos/vector-binary-instances")
11316 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11317 (description "This library provides instances of @code{Binary} for the
11318types defined in the @code{vector} package, making it easy to serialize
11319vectors to and from disk. We use the generic interface to vectors, so all
11320vector types are supported. Specific instances are provided for unboxed,
11321boxed and storable vectors.")
11322 (license license:bsd-3)))
11323
11324(define-public ghc-vector-builder
11325 (package
11326 (name "ghc-vector-builder")
11327 (version "0.3.6")
11328 (source
11329 (origin
11330 (method url-fetch)
11331 (uri (string-append "https://hackage.haskell.org/package/"
11332 "vector-builder-" version "/"
11333 "vector-builder-" version ".tar.gz"))
11334 (sha256
11335 (base32
11336 "06d2pa1fb3ydrl7l6rjazqyxv5i73v65x2f5fp0ypjxfbm6jsmn8"))))
11337 (build-system haskell-build-system)
11338 (inputs `(("ghc-vector" ,ghc-vector)
11339 ("ghc-semigroups" ,ghc-semigroups)
11340 ("ghc-base-prelude" ,ghc-base-prelude)))
11341 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11342 ("ghc-tasty" ,ghc-tasty)
11343 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11344 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11345 ("ghc-hunit" ,ghc-hunit)
11346 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11347 ("ghc-rerebase" ,ghc-rerebase)))
11348 (home-page "https://github.com/nikita-volkov/vector-builder")
11349 (synopsis "Vector builder for Haskell")
11350 (description "This Haskell package provides an API for constructing vectors.
11351It provides the composable @code{Builder} abstraction, which has instances of the
11352@code{Monoid} and @code{Semigroup} classes.
11353
11354You would first use the @code{Builder} abstraction to specify the structure of
11355the vector; then you can execute the builder to actually produce the
11356vector. ")
11357 (license license:expat)))
11358
11359(define-public ghc-vector-th-unbox
11360 (package
11361 (name "ghc-vector-th-unbox")
11362 (version "0.2.1.6")
11363 (source
11364 (origin
11365 (method url-fetch)
11366 (uri (string-append "https://hackage.haskell.org/package/"
11367 "vector-th-unbox-" version "/"
11368 "vector-th-unbox-" version ".tar.gz"))
11369 (sha256
11370 (base32
11371 "0d82x55f5vvr1jvaia382m23rs690lg55pvavv8f4ph0y6kd91xy"))))
11372 (build-system haskell-build-system)
11373 (inputs
11374 `(("ghc-vector" ,ghc-vector)
11375 ("ghc-data-default" ,ghc-data-default)))
11376 (home-page "https://github.com/liyang/vector-th-unbox")
11377 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
11378 (description "This Haskell library provides a Template Haskell
11379deriver for unboxed vectors, given a pair of coercion functions to
11380and from some existing type with an Unbox instance.")
11381 (license license:bsd-3)))
11382
11383(define-public ghc-void
11384 (package
11385 (name "ghc-void")
11386 (version "0.7.2")
11387 (source
11388 (origin
11389 (method url-fetch)
11390 (uri (string-append
11391 "https://hackage.haskell.org/package/void/void-"
11392 version
11393 ".tar.gz"))
11394 (sha256
11395 (base32
11396 "0aygw0yb1h3yhmfl3bkwh5d3h0l4mmsxz7j53vdm6jryl1kgxzyk"))))
11397 (build-system haskell-build-system)
11398 (inputs
11399 `(("ghc-semigroups" ,ghc-semigroups)
11400 ("ghc-hashable" ,ghc-hashable)))
11401 (home-page "https://github.com/ekmett/void")
11402 (synopsis
11403 "Logically uninhabited data type")
11404 (description
11405 "A Haskell 98 logically uninhabited data type, used to indicate that a
11406given term should not exist.")
11407 (license license:bsd-3)))
11408
11409(define-public ghc-wave
11410 (package
11411 (name "ghc-wave")
11412 (version "0.1.5")
11413 (source (origin
11414 (method url-fetch)
11415 (uri (string-append
11416 "https://hackage.haskell.org/package/wave/wave-"
11417 version
11418 ".tar.gz"))
11419 (sha256
11420 (base32
11421 "03zycmwrchhqvi37fdvlzz2d1vl4hy0i8xyys1zznw38qfq0h2i5"))))
11422 (build-system haskell-build-system)
11423 (arguments
11424 '(#:phases
11425 (modify-phases %standard-phases
11426 (add-before 'configure 'update-constraints
11427 (lambda _
11428 (substitute* "wave.cabal"
11429 (("temporary.* < 1\\.3")
11430 "temporary >= 1.1 && < 1.4")))))))
11431 (inputs
11432 `(("ghc-cereal" ,ghc-cereal)
11433 ("ghc-data-default-class"
11434 ,ghc-data-default-class)
11435 ("ghc-quickcheck" ,ghc-quickcheck)
11436 ("ghc-temporary" ,ghc-temporary)))
11437 (native-inputs
11438 `(("hspec-discover" ,hspec-discover)
11439 ("ghc-hspec" ,ghc-hspec)))
11440 (home-page "https://github.com/mrkkrp/wave")
11441 (synopsis "Work with WAVE and RF64 files in Haskell")
11442 (description "This package allows you to work with WAVE and RF64
11443files in Haskell.")
11444 (license license:bsd-3)))
11445
11446(define-public ghc-wcwidth
11447 (package
11448 (name "ghc-wcwidth")
11449 (version "0.0.2")
11450 (source
11451 (origin
11452 (method url-fetch)
11453 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11454 version ".tar.gz"))
11455 (sha256
11456 (base32
11457 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11458 (build-system haskell-build-system)
11459 (inputs
11460 `(("ghc-setlocale" ,ghc-setlocale)
11461 ("ghc-utf8-string" ,ghc-utf8-string)
11462 ("ghc-attoparsec" ,ghc-attoparsec)))
11463 (home-page "https://github.com/solidsnack/wcwidth/")
11464 (synopsis "Haskell bindings to wcwidth")
11465 (description "This package provides Haskell bindings to your system's
11466native wcwidth and a command line tool to examine the widths assigned by it.
11467The command line tool can compile a width table to Haskell code that assigns
11468widths to the Char type.")
11469 (license license:bsd-3)))
11470
11471(define-public ghc-wcwidth-bootstrap
11472 (package
11473 (inherit ghc-wcwidth)
11474 (name "ghc-wcwidth-bootstrap")
11475 (inputs
11476 `(("ghc-setlocale" ,ghc-setlocale)
11477 ("ghc-utf8-string" ,ghc-utf8-string)
11478 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 11479 (properties '((hidden? #t)))))
dddbc90c
RV
11480
11481(define-public ghc-weigh
11482 (package
11483 (name "ghc-weigh")
11484 (version "0.0.12")
11485 (source
11486 (origin
11487 (method url-fetch)
11488 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11489 "weigh-" version ".tar.gz"))
11490 (sha256
11491 (base32
11492 "0zw2a997gxgdzqmd7j730kxgynzmjvvlkw84dajmfzf1v9pbij7x"))))
11493 (build-system haskell-build-system)
11494 (inputs
11495 `(("ghc-split" ,ghc-split)
11496 ("ghc-temporary" ,ghc-temporary)))
11497 (home-page "https://github.com/fpco/weigh#readme")
11498 (synopsis "Measure allocations of a Haskell functions/values")
11499 (description "This package provides tools to measure the memory usage of a
11500Haskell value or function.")
11501 (license license:bsd-3)))
11502
11503(define-public ghc-wl-pprint
11504 (package
11505 (name "ghc-wl-pprint")
11506 (version "1.2.1")
11507 (source (origin
11508 (method url-fetch)
11509 (uri (string-append
11510 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11511 version ".tar.gz"))
11512 (sha256
11513 (base32
11514 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11515 (build-system haskell-build-system)
11516 (home-page "https://hackage.haskell.org/package/wl-pprint")
11517 (synopsis "Wadler/Leijen pretty printer")
11518 (description
11519 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11520Printer}. This version allows the library user to declare overlapping
11521instances of the @code{Pretty} class.")
11522 (license license:bsd-3)))
11523
11524(define-public ghc-wl-pprint-annotated
11525 (package
11526 (name "ghc-wl-pprint-annotated")
11527 (version "0.1.0.1")
11528 (source
11529 (origin
11530 (method url-fetch)
11531 (uri (string-append
11532 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11533 version
11534 ".tar.gz"))
11535 (sha256
11536 (base32
11537 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11538 (build-system haskell-build-system)
11539 (native-inputs
11540 `(("ghc-tasty" ,ghc-tasty)
11541 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11542 (home-page
11543 "https://github.com/minad/wl-pprint-annotated#readme")
11544 (synopsis
11545 "Wadler/Leijen pretty printer with annotation support")
11546 (description
11547 "Annotations are useful for coloring. This is a limited version of
11548@code{wl-pprint-extras} without support for point effects and without the free
11549monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11550Compared to @code{annotated-wl-pprint} this library provides a slightly
11551modernized interface.")
11552 (license license:bsd-3)))
11553
11554(define-public ghc-wl-pprint-text
11555 (package
11556 (name "ghc-wl-pprint-text")
11557 (version "1.2.0.0")
11558 (source
11559 (origin
11560 (method url-fetch)
11561 (uri (string-append
11562 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11563 version ".tar.gz"))
11564 (sha256
11565 (base32
11566 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11567 (build-system haskell-build-system)
11568 (inputs
11569 `(("ghc-base-compat" ,ghc-base-compat)))
11570 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11571 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11572 (description
11573 "A clone of wl-pprint for use with the text library.")
11574 (license license:bsd-3)))
11575
11576(define-public ghc-word8
11577 (package
11578 (name "ghc-word8")
11579 (version "0.1.3")
11580 (source
11581 (origin
11582 (method url-fetch)
11583 (uri (string-append
11584 "https://hackage.haskell.org/package/word8/word8-"
11585 version
11586 ".tar.gz"))
11587 (sha256
11588 (base32
11589 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11590 (build-system haskell-build-system)
11591 (native-inputs
11592 `(("ghc-hspec" ,ghc-hspec)
11593 ("hspec-discover" ,hspec-discover)))
11594 (home-page "https://hackage.haskell.org/package/word8")
11595 (synopsis "Word8 library for Haskell")
11596 (description "Word8 library to be used with @code{Data.ByteString}.")
11597 (license license:bsd-3)))
11598
11599(define-public ghc-x11
11600 (package
11601 (name "ghc-x11")
11602 (version "1.9")
11603 (source
11604 (origin
11605 (method url-fetch)
11606 (uri (string-append "https://hackage.haskell.org/package/X11/"
11607 "X11-" version ".tar.gz"))
11608 (sha256
11609 (base32 "1f8dy6ckkyvpcv7zlniyv01cqjb9lgqscm8pml58cvwc7n38w4qh"))))
11610 (build-system haskell-build-system)
11611 (inputs
11612 `(("libx11" ,libx11)
11613 ("libxrandr" ,libxrandr)
11614 ("libxinerama" ,libxinerama)
11615 ("libxscrnsaver" ,libxscrnsaver)
11616 ("ghc-data-default" ,ghc-data-default)))
11617 (home-page "https://github.com/haskell-pkg-janitors/X11")
11618 (synopsis "Bindings to the X11 graphics library")
11619 (description
11620 "This package provides Haskell bindings to the X11 graphics library. The
11621bindings are a direct translation of the C bindings.")
11622 (license license:bsd-3)))
11623
11624(define-public ghc-x11-xft
11625 (package
11626 (name "ghc-x11-xft")
11627 (version "0.3.1")
11628 (source
11629 (origin
11630 (method url-fetch)
11631 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11632 "X11-xft-" version ".tar.gz"))
11633 (sha256
11634 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11635 (inputs
11636 `(("ghc-x11" ,ghc-x11)
11637 ("ghc-utf8-string" ,ghc-utf8-string)
11638 ("libx11" ,libx11)
11639 ("libxft" ,libxft)
11640 ("xorgproto" ,xorgproto)))
11641 (native-inputs
11642 `(("pkg-config" ,pkg-config)))
11643 (build-system haskell-build-system)
11644 (home-page "https://hackage.haskell.org/package/X11-xft")
11645 (synopsis "Bindings to Xft")
11646 (description
11647 "Bindings to the Xft, X Free Type interface library, and some Xrender
11648parts.")
11649 (license license:lgpl2.1)))
11650
11651(define-public ghc-xdg-basedir
11652 (package
11653 (name "ghc-xdg-basedir")
11654 (version "0.2.2")
11655 (source
11656 (origin
11657 (method url-fetch)
11658 (uri (string-append
11659 "https://hackage.haskell.org/package/xdg-basedir/"
11660 "xdg-basedir-" version ".tar.gz"))
11661 (sha256
11662 (base32
11663 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
11664 (build-system haskell-build-system)
11665 (home-page "http://github.com/willdonnelly/xdg-basedir")
11666 (synopsis "XDG Base Directory library for Haskell")
11667 (description "This package provides a library implementing the XDG Base Directory spec.")
11668 (license license:bsd-3)))
11669
11670(define-public ghc-xml
11671 (package
11672 (name "ghc-xml")
11673 (version "1.3.14")
11674 (source
11675 (origin
11676 (method url-fetch)
11677 (uri (string-append
11678 "https://hackage.haskell.org/package/xml/xml-"
11679 version
11680 ".tar.gz"))
11681 (sha256
11682 (base32
11683 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
11684 (build-system haskell-build-system)
11685 (home-page "http://code.galois.com")
11686 (synopsis "Simple XML library for Haskell")
11687 (description "This package provides a simple XML library for Haskell.")
11688 (license license:bsd-3)))
11689
11690(define-public ghc-xml-conduit
11691 (package
11692 (name "ghc-xml-conduit")
11693 (version "1.8.0.1")
11694 (source
11695 (origin
11696 (method url-fetch)
11697 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
11698 "xml-conduit-" version ".tar.gz"))
11699 (sha256
11700 (base32
11701 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
11702 (build-system haskell-build-system)
11703 (inputs
11704 `(("ghc-conduit" ,ghc-conduit)
11705 ("ghc-conduit-extra" ,ghc-conduit-extra)
11706 ("ghc-doctest" ,ghc-doctest)
11707 ("ghc-resourcet" ,ghc-resourcet)
11708 ("ghc-xml-types" ,ghc-xml-types)
11709 ("ghc-attoparsec" ,ghc-attoparsec)
11710 ("ghc-data-default-class" ,ghc-data-default-class)
11711 ("ghc-blaze-markup" ,ghc-blaze-markup)
11712 ("ghc-blaze-html" ,ghc-blaze-html)
11713 ("ghc-monad-control" ,ghc-monad-control)
11714 ("ghc-hspec" ,ghc-hspec)
11715 ("ghc-hunit" ,ghc-hunit)))
11716 (home-page "https://github.com/snoyberg/xml")
11717 (synopsis "Utilities for dealing with XML with the conduit package")
11718 (description
11719 "This package provides pure-Haskell utilities for dealing with XML with
11720the @code{conduit} package.")
11721 (license license:expat)))
11722
11723(define-public ghc-xml-types
11724 (package
11725 (name "ghc-xml-types")
11726 (version "0.3.6")
11727 (source
11728 (origin
11729 (method url-fetch)
11730 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
11731 "xml-types-" version ".tar.gz"))
11732 (sha256
11733 (base32
11734 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
11735 (build-system haskell-build-system)
11736 (home-page "https://john-millikin.com/software/haskell-xml/")
11737 (synopsis "Basic types for representing XML")
11738 (description "This package provides basic types for representing XML
11739documents.")
11740 (license license:expat)))
11741
11742(define-public ghc-yaml
11743 (package
11744 (name "ghc-yaml")
11745 (version "0.8.32")
11746 (source (origin
11747 (method url-fetch)
11748 (uri (string-append "https://hackage.haskell.org/package/"
11749 "yaml/yaml-" version ".tar.gz"))
11750 (sha256
11751 (base32
11752 "0cbsyh4ilvjzq1q7pxls43k6pdqxg1l85xzibcwpbvmlvrizh86w"))))
11753 (build-system haskell-build-system)
11754 ;; The tests are broken on i686. They are fixed in 0.10.3.0.
11755 ;; See https://github.com/snoyberg/yaml/issues/158
11756 (arguments `(#:tests? #f))
11757 (inputs
11758 `(("ghc-conduit" ,ghc-conduit)
11759 ("ghc-resourcet" ,ghc-resourcet)
11760 ("ghc-aeson" ,ghc-aeson)
11761 ("ghc-unordered-containers" ,ghc-unordered-containers)
11762 ("ghc-vector" ,ghc-vector)
11763 ("ghc-attoparsec" ,ghc-attoparsec)
11764 ("ghc-scientific" ,ghc-scientific)
11765 ("ghc-semigroups" ,ghc-semigroups)
11766 ("ghc-temporary" ,ghc-temporary)
11767 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11768 ("ghc-base-compat" ,ghc-base-compat)))
11769 (native-inputs
11770 `(("ghc-hspec" ,ghc-hspec)
11771 ("ghc-hunit" ,ghc-hunit)
11772 ("hspec-discover" ,hspec-discover)
11773 ("ghc-mockery" ,ghc-mockery)))
11774 (home-page "https://github.com/snoyberg/yaml/")
11775 (synopsis "Parsing and rendering YAML documents")
11776 (description
11777 "This package provides a library to parse and render YAML documents.")
11778 (license license:bsd-3)))
11779
11780(define-public ghc-zip-archive
11781 (package
11782 (name "ghc-zip-archive")
11783 (version "0.3.3")
11784 (source
11785 (origin
11786 (method url-fetch)
11787 (uri (string-append
11788 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
11789 version
11790 ".tar.gz"))
11791 (sha256
11792 (base32
11793 "0kf8xyac168bng8a0za2jwrbss7a4ralvci9g54hnvl0gkkxx2lq"))))
11794 (build-system haskell-build-system)
11795 (inputs
11796 `(("ghc-digest" ,ghc-digest)
11797 ("ghc-temporary" ,ghc-temporary)
11798 ("ghc-zlib" ,ghc-zlib)))
11799 (native-inputs
11800 `(("ghc-hunit" ,ghc-hunit)
11801 ("unzip" ,unzip)))
11802 (home-page "https://hackage.haskell.org/package/zip-archive")
11803 (synopsis "Zip archive library for Haskell")
11804 (description "The zip-archive library provides functions for creating,
11805modifying, and extracting files from zip archives in Haskell.")
11806 (license license:bsd-3)))
11807
11808(define-public ghc-zlib
11809 (package
11810 (name "ghc-zlib")
11811 (version "0.6.2")
11812 (outputs '("out" "doc"))
11813 (source
11814 (origin
11815 (method url-fetch)
11816 (uri (string-append
11817 "https://hackage.haskell.org/package/zlib/zlib-"
11818 version
11819 ".tar.gz"))
11820 (sha256
11821 (base32
11822 "1vbzf0awb6zb456xf48za1kl22018646cfzq4frvxgb9ay97vk0d"))))
11823 (build-system haskell-build-system)
11824 (arguments
11825 `(#:phases
11826 (modify-phases %standard-phases
11827 (add-before 'configure 'strip-test-framework-constraints
11828 (lambda _
11829 (substitute* "zlib.cabal"
11830 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
11831 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
11832 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11833 (inputs `(("zlib" ,zlib)))
11834 (native-inputs
11835 `(("ghc-quickcheck" ,ghc-quickcheck)
11836 ("ghc-tasty" ,ghc-tasty)
11837 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11838 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11839 (home-page "https://hackage.haskell.org/package/zlib")
11840 (synopsis
11841 "Compression and decompression in the gzip and zlib formats")
11842 (description
11843 "This package provides a pure interface for compressing and decompressing
11844streams of data represented as lazy @code{ByteString}s. It uses the zlib C
11845library so it has high performance. It supports the @code{zlib}, @code{gzip}
11846and @code{raw} compression formats. It provides a convenient high level API
11847suitable for most tasks and for the few cases where more control is needed it
11848provides access to the full zlib feature set.")
bbf8bf31 11849 (license license:bsd-3)))
14e41996
RV
11850
11851(define-public ghc-zlib-bindings
11852 (package
11853 (name "ghc-zlib-bindings")
11854 (version "0.1.1.5")
11855 (source
11856 (origin
11857 (method url-fetch)
11858 (uri (string-append "https://hackage.haskell.org/package/"
11859 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
11860 (sha256
11861 (base32
11862 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
11863 (build-system haskell-build-system)
11864 (inputs
11865 `(("ghc-zlib" ,ghc-zlib)))
11866 (native-inputs
11867 `(("ghc-hspec" ,ghc-hspec)
11868 ("ghc-quickcheck" ,ghc-quickcheck)))
11869 (arguments
11870 `(#:cabal-revision
11871 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
11872 (home-page "https://github.com/snapframework/zlib-bindings")
11873 (synopsis "Low-level bindings to the @code{zlib} package")
11874 (description "This package provides low-level bindings to the
11875@code{zlib} package.")
11876 (license license:bsd-3)))