gnu: LibreSSL: Make search paths single-entry.
[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)
58 #:use-module (gnu packages pcre)
59 #:use-module (gnu packages pkg-config)
60 #:use-module (gnu packages sdl)
61 #:use-module (gnu packages xml)
62 #:use-module (gnu packages xorg)
6b34d01c
RV
63 #:use-module (guix build-system haskell)
64 #:use-module (guix download)
dddbc90c 65 #:use-module (guix git-download)
4780db2c 66 #:use-module (guix utils)
6b34d01c
RV
67 #:use-module ((guix licenses) #:prefix license:)
68 #:use-module (guix packages))
69
dddbc90c 70(define-public ghc-abstract-deque
efb96749 71 (package
dddbc90c
RV
72 (name "ghc-abstract-deque")
73 (version "0.3")
efb96749
RV
74 (source
75 (origin
76 (method url-fetch)
77 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
78 "abstract-deque-" version "/"
79 "abstract-deque-" version ".tar.gz"))
efb96749
RV
80 (sha256
81 (base32
dddbc90c 82 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
efb96749 83 (build-system haskell-build-system)
dddbc90c
RV
84 (inputs `(("ghc-random" ,ghc-random)))
85 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
86 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
87 (description "This Haskell package provides an abstract interface to
88highly-parameterizable queues/deques.
89
90Background: There exists a feature space for queues that extends between:
efb96749
RV
91
92@itemize
dddbc90c
RV
93@item Simple, single-ended, non-concurrent, bounded queues
94
95@item Double-ended, thread-safe, growable queues with important points
96in between (such as the queues used for work stealing).
efb96749
RV
97@end itemize
98
dddbc90c
RV
99This package includes an interface for Deques that allows the programmer
100to use a single API for all of the above, while using the type system to
101select an efficient implementation given the requirements (using type families).
efb96749 102
dddbc90c
RV
103This package also includes a simple reference implementation based on
104@code{IORef} and @code{Data.Sequence}.")
efb96749
RV
105 (license license:bsd-3)))
106
dddbc90c 107(define-public ghc-abstract-par
658dbc7f 108 (package
dddbc90c
RV
109 (name "ghc-abstract-par")
110 (version "0.3.3")
658dbc7f
RV
111 (source
112 (origin
113 (method url-fetch)
114 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
115 "abstract-par-" version "/"
116 "abstract-par-" version ".tar.gz"))
658dbc7f
RV
117 (sha256
118 (base32
dddbc90c
RV
119 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
120 (build-system haskell-build-system)
121 (home-page "https://github.com/simonmar/monad-par")
122 (synopsis "Abstract parallelization interface for Haskell")
123 (description "This Haskell package is an abstract interface
124only. It provides a number of type clasess, but not an
125implementation. The type classes separate different levels
126of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
127module for more details.")
128 (license license:bsd-3)))
129
130(define-public ghc-adjunctions
131 (package
132 (name "ghc-adjunctions")
133 (version "4.4")
134 (source
135 (origin
136 (method url-fetch)
137 (uri (string-append
138 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
139 version
140 ".tar.gz"))
141 (sha256
142 (base32
143 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f
RV
144 (build-system haskell-build-system)
145 (inputs
dddbc90c
RV
146 `(("ghc-profunctors" ,ghc-profunctors)
147 ("ghc-comonad" ,ghc-comonad)
148 ("ghc-contravariant" ,ghc-contravariant)
149 ("ghc-distributive" ,ghc-distributive)
150 ("ghc-free" ,ghc-free)
151 ("ghc-tagged" ,ghc-tagged)
152 ("ghc-semigroupoids" ,ghc-semigroupoids)
153 ("ghc-semigroups" ,ghc-semigroups)
154 ("ghc-transformers-compat" ,ghc-transformers-compat)
155 ("ghc-void" ,ghc-void)))
658dbc7f 156 (native-inputs
dddbc90c
RV
157 `(("ghc-generic-deriving" ,ghc-generic-deriving)
158 ("ghc-hspec" ,ghc-hspec)
159 ("hspec-discover" ,hspec-discover)))
160 (home-page "https://github.com/ekmett/adjunctions/")
161 (synopsis "Adjunctions and representable functors")
162 (description "This library provides adjunctions and representable functors
163for Haskell.")
164 (license license:bsd-3)))
165
166(define-public ghc-aeson-compat
167 (package
168 (name "ghc-aeson-compat")
169 (version "0.3.8")
170 (source
171 (origin
172 (method url-fetch)
173 (uri (string-append "https://hackage.haskell.org/package/"
174 "aeson-compat-" version "/"
175 "aeson-compat-" version ".tar.gz"))
176 (sha256
177 (base32
178 "0j4v13pgk21zy8hqkbx8hw0n05jdl17qphxz9rj4h333pr547r3i"))))
179 (build-system haskell-build-system)
180 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
181 (inputs `(("ghc-base-compat" ,ghc-base-compat)
182 ("ghc-aeson" ,ghc-aeson)
183 ("ghc-attoparsec" ,ghc-attoparsec)
184 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
185 ("ghc-exceptions" ,ghc-exceptions)
186 ("ghc-hashable" ,ghc-hashable)
187 ("ghc-scientific" ,ghc-scientific)
188 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
189 ("ghc-unordered-containers" ,ghc-unordered-containers)
190 ("ghc-vector" ,ghc-vector)
191 ("ghc-tagged" ,ghc-tagged)
192 ("ghc-semigroups" ,ghc-semigroups)
193 ("ghc-nats" ,ghc-nats)))
194 (home-page "https://github.com/phadej/aeson-compat")
195 (synopsis "Compatibility layer for ghc-aeson")
196 (description "This Haskell package provides compatibility layer for
197ghc-aeson.")
198 (license license:bsd-3)))
199
200(define-public ghc-alex
201 (package
202 (name "ghc-alex")
203 (version "3.2.4")
204 (source
205 (origin
206 (method url-fetch)
207 (uri (string-append
208 "https://hackage.haskell.org/package/alex/alex-"
209 version
210 ".tar.gz"))
211 (sha256
212 (base32
213 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
214 (build-system haskell-build-system)
658dbc7f 215 (arguments
dddbc90c
RV
216 `(#:phases
217 (modify-phases %standard-phases
218 (add-before 'check 'set-check-variables
219 (lambda _
220 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
221 (getenv "PATH")))
222 (setenv "alex_datadir" (string-append (getcwd) "/data"))
223 #t)))))
224 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
225 (native-inputs
226 `(("which" ,which)))
227 (home-page "https://www.haskell.org/alex/")
228 (synopsis
229 "Tool for generating lexical analysers in Haskell")
230 (description
231 "Alex is a tool for generating lexical analysers in Haskell. It takes a
232description of tokens based on regular expressions and generates a Haskell
233module containing code for scanning text efficiently. It is similar to the
234tool lex or flex for C/C++.")
658dbc7f
RV
235 (license license:bsd-3)))
236
dddbc90c 237(define-public ghc-alsa-core
7b01a977 238 (package
dddbc90c
RV
239 (name "ghc-alsa-core")
240 (version "0.5.0.1")
241 (source
242 (origin
243 (method url-fetch)
244 (uri (string-append
245 "mirror://hackage/package/alsa-core/alsa-core-"
246 version
247 ".tar.gz"))
248 (sha256
249 (base32
250 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
251 (build-system haskell-build-system)
252 (inputs
253 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
254 ("alsa-lib" ,alsa-lib)))
255 (native-inputs
256 `(("pkg-config" ,pkg-config)))
257 (home-page "http://www.haskell.org/haskellwiki/ALSA")
258 (synopsis "Binding to the ALSA Library API (Exceptions)")
259 (description "This package provides access to ALSA infrastructure, that is
260needed by both alsa-seq and alsa-pcm.")
261 (license license:bsd-3)))
262
263(define-public ghc-annotated-wl-pprint
264 (package
265 (name "ghc-annotated-wl-pprint")
266 (version "0.7.0")
267 (source
268 (origin
269 (method url-fetch)
270 (uri (string-append
271 "https://hackage.haskell.org/package/annotated-wl-pprint"
272 "/annotated-wl-pprint-" version
273 ".tar.gz"))
274 (sha256
275 (base32
276 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
277 (build-system haskell-build-system)
278 (home-page
279 "https://github.com/david-christiansen/annotated-wl-pprint")
280 (synopsis
281 "The Wadler/Leijen Pretty Printer, with annotation support")
282 (description "This is a modified version of wl-pprint, which was based on
283Wadler's paper \"A Prettier Printer\". This version allows the library user
284to annotate the text with semantic information, which can later be rendered in
285a variety of ways.")
286 (license license:bsd-3)))
287
288(define-public ghc-ansi-terminal
289 (package
290 (name "ghc-ansi-terminal")
291 (version "0.8.0.4")
292 (source
293 (origin
294 (method url-fetch)
295 (uri (string-append
296 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
297 version
298 ".tar.gz"))
299 (sha256
300 (base32
301 "0428gq8m3fdnb7ldcsyk97qcch76hcxbgh2666p6f76fs2qbhg7b"))))
302 (build-system haskell-build-system)
303 (inputs
304 `(("ghc-colour" ,ghc-colour)))
305 (home-page "https://github.com/feuerbach/ansi-terminal")
306 (synopsis "ANSI terminal support for Haskell")
307 (description "This package provides ANSI terminal support for Haskell. It
308allows cursor movement, screen clearing, color output showing or hiding the
309cursor, and changing the title.")
310 (license license:bsd-3)))
311
312(define-public ghc-ansi-wl-pprint
313 (package
314 (name "ghc-ansi-wl-pprint")
315 (version "0.6.8.2")
7b01a977
RV
316 (source
317 (origin
318 (method url-fetch)
319 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 320 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
321 version ".tar.gz"))
322 (sha256
323 (base32
dddbc90c 324 "0gnb4mkqryv08vncxnj0bzwcnd749613yw3cxfzw6y3nsldp4c56"))))
7b01a977
RV
325 (build-system haskell-build-system)
326 (inputs
dddbc90c
RV
327 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
328 (home-page "https://github.com/ekmett/ansi-wl-pprint")
329 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
330 (description "This is a pretty printing library based on Wadler's paper
331\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
332colored output using the ansi-terminal package.")
333 (license license:bsd-3)))
334
335(define-public ghc-appar
336 (package
337 (name "ghc-appar")
338 (version "0.1.4")
339 (source
340 (origin
341 (method url-fetch)
342 (uri (string-append
343 "https://hackage.haskell.org/package/appar/appar-"
344 version
345 ".tar.gz"))
346 (sha256
347 (base32
348 "09jb9ij78fdkz2qk66rw99q19qnm504dpv0yq0pjsl6xwjmndsjq"))))
349 (build-system haskell-build-system)
350 (home-page
351 "https://hackage.haskell.org/package/appar")
352 (synopsis "Simple applicative parser")
353 (description "This package provides a simple applicative parser in Parsec
354style.")
355 (license license:bsd-3)))
356
357(define-public ghc-async
358 (package
359 (name "ghc-async")
360 (version "2.2.1")
361 (source
362 (origin
363 (method url-fetch)
364 (uri (string-append
365 "https://hackage.haskell.org/package/async/async-"
366 version
367 ".tar.gz"))
368 (sha256
369 (base32
370 "09whscli1q5z7lzyq9rfk0bq1ydplh6pjmc6qv0x668k5818c2wg"))))
371 (build-system haskell-build-system)
372 (inputs
373 `(("ghc-hashable" ,ghc-hashable)
374 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
375 ("ghc-test-framework" ,ghc-test-framework)
376 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
377 (home-page "https://github.com/simonmar/async")
378 (synopsis "Library to run IO operations asynchronously")
379 (description "Async provides a library to run IO operations
380asynchronously, and wait for their results. It is a higher-level interface
381over threads in Haskell, in which @code{Async a} is a concurrent thread that
382will eventually deliver a value of type @code{a}.")
7b01a977
RV
383 (license license:bsd-3)))
384
9ad9ec2e
AG
385(define-public ghc-atomic-primops
386 (package
387 (name "ghc-atomic-primops")
388 (version "0.8.2")
389 (source
390 (origin
391 (method url-fetch)
392 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
393 "/atomic-primops-" version ".tar.gz"))
394 (sha256
395 (base32
396 "0cyr2x6xqz6s233znrz9rnrfj56m9bmnawwnka0lsqqy1hp8gy37"))))
397 (build-system haskell-build-system)
398 (inputs `(("ghc-primitive" ,ghc-primitive)))
399 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
400 (synopsis "Safe approach to CAS and other atomic ops")
401 (description
402 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
403use safely, because pointer equality is a highly unstable property in Haskell.
404This library provides a safer method based on the concept of @code{Ticket}s.")
405 (license license:bsd-3)))
406
dddbc90c 407(define-public ghc-atomic-write
79fcc5e5 408 (package
dddbc90c
RV
409 (name "ghc-atomic-write")
410 (version "0.2.0.5")
79fcc5e5
RV
411 (source
412 (origin
413 (method url-fetch)
dddbc90c
RV
414 (uri (string-append
415 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
416 version
417 ".tar.gz"))
79fcc5e5
RV
418 (sha256
419 (base32
dddbc90c
RV
420 "1iaq0hprxcv0sl1sgwcgmm87zraf738va1bciwnx2jkk3k1v9iyv"))))
421 (build-system haskell-build-system)
422 (inputs
423 `(("ghc-temporary" ,ghc-temporary)
424 ("ghc-unix-compat" ,ghc-unix-compat)))
425 (native-inputs
426 `(("ghc-temporary" ,ghc-temporary)
427 ("ghc-unix-compat" ,ghc-unix-compat)
428 ("ghc-hspec" ,ghc-hspec)
429 ("hspec-discover" ,hspec-discover)))
430 (home-page "https://github.com/stackbuilders/atomic-write")
431 (synopsis "Atomically write to a file")
432 (description
433 "Atomically write to a file on POSIX-compliant systems while preserving
434permissions. @code{mv} is an atomic operation. This makes it simple to write
435to a file atomically just by using the @code{mv} operation. However, this
436will destroy the permissions on the original file. This library preserves
437permissions while atomically writing to a file.")
438 (license license:expat)))
439
440(define-public ghc-attoparsec
441 (package
442 (name "ghc-attoparsec")
443 (version "0.13.2.2")
444 (source
445 (origin
446 (method url-fetch)
447 (uri (string-append
448 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
449 version
450 ".tar.gz"))
451 (sha256
452 (base32
453 "0j6qcwd146yzlkc9mcvzvnixsyl65n2a68l28322q5v9p4g4g4yx"))))
79fcc5e5 454 (build-system haskell-build-system)
79fcc5e5 455 (arguments
dddbc90c
RV
456 `(#:phases
457 (modify-phases %standard-phases
458 (add-after 'unpack 'patch-for-newer-quickcheck
459 (lambda _
460 (substitute* "attoparsec.cabal"
461 (("QuickCheck >= 2\\.7 && < 2\\.10")
462 "QuickCheck >= 2.7 && < 2.12"))
463 ;; This test fails because of the newer QuickCheck:
464 ;; <https://github.com/bos/attoparsec/issues/134>.
465 (substitute* "tests/QC/ByteString.hs"
466 ((", testProperty \"satisfyWith\" satisfyWith")
467 "")))))))
468 (inputs
469 `(("ghc-scientific" ,ghc-scientific)))
470 (native-inputs
471 `(("ghc-tasty" ,ghc-tasty)
472 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
473 ("ghc-quickcheck" ,ghc-quickcheck)
474 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
475 ("ghc-vector" ,ghc-vector)))
476 (home-page "https://github.com/bos/attoparsec")
477 (synopsis "Fast combinator parsing for bytestrings and text")
478 (description "This library provides a fast parser combinator library,
479aimed particularly at dealing efficiently with network protocols and
480complicated text/binary file formats.")
79fcc5e5
RV
481 (license license:bsd-3)))
482
dddbc90c 483(define-public ghc-attoparsec-bootstrap
6b34d01c 484 (package
dddbc90c
RV
485 (inherit ghc-attoparsec)
486 (name "ghc-attoparsec-bootstrap")
487 (arguments `(#:tests? #f))
488 (inputs
489 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
490 (native-inputs '())
799d8d3c 491 (properties '((hidden? #t)))))
dddbc90c
RV
492
493(define-public ghc-attoparsec-iso8601
494 (package
495 (name "ghc-attoparsec-iso8601")
6b34d01c
RV
496 (version "1.0.0.0")
497 (source
498 (origin
499 (method url-fetch)
500 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
501 "attoparsec-iso8601-" version "/"
502 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
503 (sha256
504 (base32
dddbc90c 505 "12l55b76bhya9q89mfmqmy6sl5v39b6gzrw5rf3f70vkb23nsv5a"))))
6b34d01c 506 (build-system haskell-build-system)
dddbc90c
RV
507 (arguments
508 `(#:cabal-revision
509 ("1" "06f7pgmmc8456p3hc1y23kz1y127gfczy7s00wz1rls9g2sm2vi4")))
510 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
511 ("ghc-base-compat" ,ghc-base-compat)))
512 (home-page "https://github.com/bos/aeson")
513 (synopsis "Parse ISO 8601 dates")
514 (description "Haskell library for parsing of ISO 8601 dates, originally
515from aeson.")
6b34d01c 516 (license license:bsd-3)))
b57e99f5 517
dddbc90c 518(define-public ghc-auto-update
b57e99f5 519 (package
dddbc90c
RV
520 (name "ghc-auto-update")
521 (version "0.1.4")
522 (source
523 (origin
524 (method url-fetch)
525 (uri (string-append
526 "https://hackage.haskell.org/package/auto-update/auto-update-"
527 version
528 ".tar.gz"))
529 (sha256
530 (base32
531 "09dlh2alsx2mw5kvj931yhbj0aw7jmly2cm9xbscm2sf098w35jy"))))
532 (build-system haskell-build-system)
533 (home-page "https://github.com/yesodweb/wai")
534 (synopsis "Efficiently run periodic, on-demand actions")
535 (description "This library provides mechanisms to efficiently run
536periodic, on-demand actions in Haskell.")
537 (license license:expat)))
538
539(define-public ghc-aws
540 (package
541 (name "ghc-aws")
542 (version "0.20")
b57e99f5
RV
543 (source
544 (origin
545 (method url-fetch)
546 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
547 "aws-" version "/aws-" version ".tar.gz"))
548 (sha256 (base32
549 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
550 (build-system haskell-build-system)
551 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
552 (inputs
553 `(("ghc-aeson" ,ghc-aeson)
554 ("ghc-attoparsec" ,ghc-attoparsec)
555 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
556 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
557 ("ghc-blaze-builder" ,ghc-blaze-builder)
558 ("ghc-byteable" ,ghc-byteable)
559 ("ghc-case-insensitive" ,ghc-case-insensitive)
560 ("ghc-cereal" ,ghc-cereal)
561 ("ghc-conduit" ,ghc-conduit)
562 ("ghc-conduit-extra" ,ghc-conduit-extra)
563 ("ghc-cryptonite" ,ghc-cryptonite)
564 ("ghc-data-default" ,ghc-data-default)
565 ("ghc-http-conduit" ,ghc-http-conduit)
566 ("ghc-http-types" ,ghc-http-types)
567 ("ghc-lifted-base" ,ghc-lifted-base)
568 ("ghc-monad-control" ,ghc-monad-control)
569 ("ghc-network" ,ghc-network)
570 ("ghc-old-locale" ,ghc-old-locale)
571 ("ghc-safe" ,ghc-safe)
572 ("ghc-scientific" ,ghc-scientific)
573 ("ghc-tagged" ,ghc-tagged)
574 ("ghc-unordered-containers" ,ghc-unordered-containers)
575 ("ghc-utf8-string" ,ghc-utf8-string)
576 ("ghc-vector" ,ghc-vector)
577 ("ghc-xml-conduit" ,ghc-xml-conduit)))
578 (native-inputs
579 `(("ghc-quickcheck" ,ghc-quickcheck)
580 ("ghc-errors" ,ghc-errors)
581 ("ghc-http-client" ,ghc-http-client)
582 ("ghc-http-client-tls" ,ghc-http-client-tls)
583 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
584 ("ghc-tasty" ,ghc-tasty)
585 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
586 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
587 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
588 (home-page "https://github.com/aristidb/aws")
589 (synopsis "Amazon Web Services for Haskell")
590 (description "This package attempts to provide support for using
591Amazon Web Services like S3 (storage), SQS (queuing) and others to
592Haskell programmers. The ultimate goal is to support all Amazon
593Web Services.")
594 (license license:bsd-3)))
595
596(define-public ghc-base16-bytestring
597 (package
598 (name "ghc-base16-bytestring")
599 (version "0.1.1.6")
600 (source
601 (origin
602 (method url-fetch)
603 (uri (string-append
604 "https://hackage.haskell.org/package/base16-bytestring/"
605 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
606 (sha256
607 (base32
dddbc90c 608 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 609 (build-system haskell-build-system)
dddbc90c
RV
610 (home-page "https://github.com/bos/base16-bytestring")
611 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
612 (description
613 "This package provides a Haskell library for working with base16-encoded
614data quickly and efficiently, using the ByteString type.")
b57e99f5 615 (license license:bsd-3)))
bbf8bf31 616
dddbc90c 617(define-public ghc-base64-bytestring
bbf8bf31 618 (package
dddbc90c
RV
619 (name "ghc-base64-bytestring")
620 (version "1.0.0.2")
bbf8bf31
RV
621 (source
622 (origin
623 (method url-fetch)
dddbc90c
RV
624 (uri (string-append
625 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
626 version
627 ".tar.gz"))
628 (sha256
629 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
630 (build-system haskell-build-system)
631 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
632 (home-page "https://github.com/bos/base64-bytestring")
633 (synopsis "Base64 encoding and decoding for ByteStrings")
634 (description "This library provides fast base64 encoding and decoding for
635Haskell @code{ByteString}s.")
636 (license license:bsd-3)))
637
638(define-public ghc-base-compat
639 (package
640 (name "ghc-base-compat")
641 (version "0.10.4")
642 (source
643 (origin
644 (method url-fetch)
645 (uri (string-append
646 "https://hackage.haskell.org/package/base-compat/base-compat-"
647 version
648 ".tar.gz"))
bbf8bf31
RV
649 (sha256
650 (base32
dddbc90c 651 "0ksp990gxs731mq19rzbxrbs43nazfljjc8krlx5bjqblw3kfs8d"))))
bbf8bf31
RV
652 (build-system haskell-build-system)
653 (native-inputs
dddbc90c
RV
654 `(("ghc-quickcheck" ,ghc-quickcheck)
655 ("ghc-hspec" ,ghc-hspec)
656 ("hspec-discover" ,hspec-discover)))
657 (home-page "https://hackage.haskell.org/package/base-compat")
658 (synopsis "Haskell compiler compatibility library")
659 (description "This library provides functions available in later versions
660of base to a wider range of compilers, without requiring the use of CPP
661pragmas in your code.")
662 (license license:bsd-3)))
663
664(define-public ghc-basement
665 (package
666 (name "ghc-basement")
667 (version "0.0.8")
668 (source
669 (origin
670 (method url-fetch)
671 (uri (string-append "https://hackage.haskell.org/package/"
672 "basement/basement-" version ".tar.gz"))
673 (sha256
674 (base32
675 "194jw567di4q2758943q9rrwkbf9gl261my7qc21i9xhyabipx67"))))
676 (build-system haskell-build-system)
677 (home-page "https://github.com/haskell-foundation/foundation")
678 (synopsis "Basic primitives for Foundation starter pack")
679 (description
680 "This package contains basic primitives for the Foundation set of
681packages.")
682 (license license:bsd-3)))
683
684(define-public ghc-base-orphans
685 (package
686 (name "ghc-base-orphans")
687 (version "0.7")
688 (source
689 (origin
690 (method url-fetch)
691 (uri (string-append
692 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
693 version
694 ".tar.gz"))
695 (sha256
696 (base32
697 "057f9npnqk71ccfh95djfkpd54dzazphj06grwxa3fyhwcwxrb8a"))))
698 (build-system haskell-build-system)
699 (native-inputs
700 `(("ghc-quickcheck" ,ghc-quickcheck)
701 ("ghc-hspec" ,ghc-hspec)
702 ("hspec-discover" ,hspec-discover)))
703 (home-page "https://hackage.haskell.org/package/base-orphans")
704 (synopsis "Orphan instances for backwards compatibility")
705 (description "This package defines orphan instances that mimic instances
706available in later versions of base to a wider (older) range of compilers.")
707 (license license:bsd-3)))
708
709(define-public ghc-base-prelude
710 (package
711 (name "ghc-base-prelude")
712 (version "1.3")
713 (source
714 (origin
715 (method url-fetch)
716 (uri (string-append "https://hackage.haskell.org/package/"
717 "base-prelude-" version "/"
718 "base-prelude-" version ".tar.gz"))
719 (sha256
720 (base32
721 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
722 (build-system haskell-build-system)
723 (home-page "https://github.com/nikita-volkov/base-prelude")
724 (synopsis "The most complete prelude formed solely from the Haskell's base
725package")
726 (description "This Haskell package aims to reexport all the non-conflicting
727and most general definitions from the \"base\" package.
728
729This includes APIs for applicatives, arrows, monoids, foldables, traversables,
730exceptions, generics, ST, MVars and STM.
731
732This package will never have any dependencies other than \"base\".
733
734Versioning policy:
735
736The versioning policy of this package deviates from PVP in the sense
737that its exports in part are transitively determined by the version of \"base\".
738Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
739the bounds of \"base\" as well.")
740 (license license:expat)))
741
742(define-public ghc-base-unicode-symbols
743 (package
744 (name "ghc-base-unicode-symbols")
745 (version "0.2.3")
746 (source
747 (origin
748 (method url-fetch)
749 (uri (string-append
750 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
751 version
752 ".tar.gz"))
753 (sha256
754 (base32
755 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
756 (build-system haskell-build-system)
757 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
758 (synopsis "Unicode alternatives for common functions and operators")
759 (description "This package defines new symbols for a number of functions,
760operators and types in the base package. All symbols are documented with
761their actual definition and information regarding their Unicode code point.
762They should be completely interchangeable with their definitions. For
763further Unicode goodness you can enable the @code{UnicodeSyntax}
764@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
765language extension}. This extension enables Unicode characters to be used to
766stand for certain ASCII character sequences, i.e. → instead of @code{->},
767∀ instead of @code{forall} and many others.")
768 (license license:bsd-3)))
769
770(define-public ghc-bifunctors
771 (package
772 (name "ghc-bifunctors")
773 (version "5.5.3")
774 (source
775 (origin
776 (method url-fetch)
777 (uri (string-append
778 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
779 version
780 ".tar.gz"))
781 (sha256
782 (base32
783 "1jn9rxg643xnlhrknmjz88nblcpsr45xwjkwwnn5nxpasa7m4d6l"))))
784 (build-system haskell-build-system)
785 (inputs
786 `(("ghc-base-orphans" ,ghc-base-orphans)
787 ("ghc-comonad" ,ghc-comonad)
788 ("ghc-th-abstraction" ,ghc-th-abstraction)
789 ("ghc-transformers-compat" ,ghc-transformers-compat)
790 ("ghc-tagged" ,ghc-tagged)
791 ("ghc-semigroups" ,ghc-semigroups)))
792 (native-inputs
793 `(("ghc-hspec" ,ghc-hspec)
794 ("hspec-discover" ,hspec-discover)
795 ("ghc-quickcheck" ,ghc-quickcheck)))
796 (home-page "https://github.com/ekmett/bifunctors/")
797 (synopsis "Bifunctors for Haskell")
798 (description "This package provides bifunctors for Haskell.")
799 (license license:bsd-3)))
800
801(define-public ghc-bindings-dsl
802 (package
803 (name "ghc-bindings-dsl")
804 (version "1.0.25")
805 (source
806 (origin
807 (method url-fetch)
808 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
809 "bindings-DSL-" version ".tar.gz"))
810 (sha256
811 (base32
812 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
813 (build-system haskell-build-system)
814 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
815 (synopsis "FFI domain specific language, on top of hsc2hs")
816 (description
817 "This is a set of macros to be used when writing Haskell FFI. They were
818designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
819extract from them all Haskell code needed to mimic such interfaces. All
820Haskell names used are automatically derived from C names, structures are
821mapped to Haskell instances of @code{Storable}, and there are also macros you
822can use with C code to help write bindings to inline functions or macro
823functions.")
824 (license license:bsd-3)))
825
826(define-public ghc-blaze-builder
827 (package
828 (name "ghc-blaze-builder")
829 (version "0.4.1.0")
830 (source
831 (origin
832 (method url-fetch)
833 (uri (string-append
834 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
835 version
836 ".tar.gz"))
837 (sha256
838 (base32
839 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
840 (build-system haskell-build-system)
841 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
842 (inputs
843 `(("ghc-utf8-string" ,ghc-utf8-string)))
844 (home-page "https://github.com/lpsmith/blaze-builder")
845 (synopsis "Efficient buffered output")
846 (description "This library provides an implementation of the older
847@code{blaze-builder} interface in terms of the new builder that shipped with
848@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
849bridge to the new builder, so that code that uses the old interface can
850interoperate with code that uses the new implementation.")
851 (license license:bsd-3)))
852
853(define-public ghc-blaze-markup
854 (package
855 (name "ghc-blaze-markup")
856 (version "0.8.2.1")
857 (source
858 (origin
859 (method url-fetch)
860 (uri (string-append "https://hackage.haskell.org/package/"
861 "blaze-markup/blaze-markup-"
862 version ".tar.gz"))
863 (sha256
864 (base32
865 "0ih1c3qahkdgzbqihdhny5s313l2m66fbb88w8jbx7yz56y7rawh"))))
866 (build-system haskell-build-system)
867 (arguments
868 `(#:phases
869 (modify-phases %standard-phases
870 (add-before 'configure 'update-constraints
871 (lambda _
872 (substitute* "blaze-markup.cabal"
873 (("tasty >= 1\\.0 && < 1\\.1")
874 "tasty >= 1.0 && < 1.2")))))))
875 (inputs
876 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
877 (native-inputs
878 `(("ghc-hunit" ,ghc-hunit)
879 ("ghc-quickcheck" ,ghc-quickcheck)
880 ("ghc-tasty" ,ghc-tasty)
881 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
882 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
883 (home-page "https://jaspervdj.be/blaze")
884 (synopsis "Fast markup combinator library for Haskell")
885 (description "This library provides core modules of a markup combinator
886library for Haskell.")
887 (license license:bsd-3)))
888
889(define-public ghc-bloomfilter
890 (package
891 (name "ghc-bloomfilter")
892 (version "2.0.1.0")
893 (source
894 (origin
895 (method url-fetch)
896 (uri (string-append "https://hackage.haskell.org/package/"
897 "bloomfilter/bloomfilter-" version ".tar.gz"))
898 (sha256
899 (base32
900 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
901 (build-system haskell-build-system)
902 (native-inputs
903 `(("ghc-quickcheck" ,ghc-quickcheck)
904 ("ghc-random" ,ghc-random)
905 ("ghc-test-framework" ,ghc-test-framework)
906 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
907 (home-page "https://github.com/bos/bloomfilter")
908 (synopsis "Pure and impure Bloom filter implementations")
909 (description "This package provides both mutable and immutable Bloom
910filter data types, along with a family of hash functions and an easy-to-use
911interface.")
912 (license license:bsd-3)))
913
914(define-public ghc-boxes
915 (package
916 (name "ghc-boxes")
917 (version "0.1.5")
918 (source
919 (origin
920 (method url-fetch)
921 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
922 version ".tar.gz"))
923 (sha256
924 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
925 (build-system haskell-build-system)
926 (inputs
927 `(("ghc-split" ,ghc-split)
928 ("ghc-quickcheck" ,ghc-quickcheck)))
929 (home-page "https://hackage.haskell.org/package/boxes")
930 (synopsis "2D text pretty-printing library")
931 (description
932 "Boxes is a pretty-printing library for laying out text in two dimensions,
933using a simple box model.")
934 (license license:bsd-3)))
935
936(define-public ghc-byteable
937 (package
938 (name "ghc-byteable")
939 (version "0.1.1")
940 (source (origin
941 (method url-fetch)
942 (uri (string-append "https://hackage.haskell.org/package/"
943 "byteable/byteable-" version ".tar.gz"))
944 (sha256
945 (base32
946 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
947 (build-system haskell-build-system)
948 (home-page "https://github.com/vincenthz/hs-byteable")
949 (synopsis "Type class for sequence of bytes")
950 (description
951 "This package provides an abstract class to manipulate sequence of bytes.
952The use case of this class is abstracting manipulation of types that are just
953wrapping a bytestring with stronger and more meaniful name.")
954 (license license:bsd-3)))
955
956(define-public ghc-byteorder
957 (package
958 (name "ghc-byteorder")
959 (version "1.0.4")
960 (source
961 (origin
962 (method url-fetch)
963 (uri (string-append
964 "https://hackage.haskell.org/package/byteorder/byteorder-"
965 version
966 ".tar.gz"))
967 (sha256
968 (base32
969 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
970 (build-system haskell-build-system)
971 (home-page
972 "http://community.haskell.org/~aslatter/code/byteorder")
973 (synopsis
974 "Exposes the native endianness of the system")
975 (description
976 "This package is for working with the native byte-ordering of the
977system.")
978 (license license:bsd-3)))
979
980(define-public ghc-bytes
981 (package
982 (name "ghc-bytes")
983 (version "0.15.5")
984 (source
985 (origin
986 (method url-fetch)
987 (uri
988 (string-append "https://hackage.haskell.org/package/bytes-"
989 version "/bytes-"
990 version ".tar.gz"))
991 (file-name (string-append name "-" version ".tar.gz"))
992 (sha256
993 (base32
994 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
995 (build-system haskell-build-system)
996 (inputs `(("ghc-cereal" ,ghc-cereal)
997 ("cabal-doctest" ,cabal-doctest)
998 ("ghc-doctest" ,ghc-doctest)
999 ("ghc-scientific" ,ghc-scientific)
1000 ("ghc-transformers-compat" ,ghc-transformers-compat)
1001 ("ghc-unordered-containers" ,ghc-unordered-containers)
1002 ("ghc-void" ,ghc-void)
1003 ("ghc-vector" ,ghc-vector)))
1004 (synopsis "Serialization between @code{binary} and @code{cereal}")
1005 (description "This package provides a simple compatibility shim that lets
1006you work with both @code{binary} and @code{cereal} with one chunk of
1007serialization code.")
1008 (home-page "https://hackage.haskell.org/package/bytes")
1009 (license license:bsd-3)))
1010
1011(define-public ghc-bytestring-builder
1012 (package
1013 (name "ghc-bytestring-builder")
1014 (version "0.10.8.1.0")
1015 (source
1016 (origin
1017 (method url-fetch)
1018 (uri (string-append
1019 "https://hackage.haskell.org/package/bytestring-builder"
1020 "/bytestring-builder-" version ".tar.gz"))
1021 (sha256
1022 (base32
1023 "1hnvjac28y44yn78c9vdp1zvrknvlw98ky3g4n5vivr16rvh8x3d"))))
1024 (build-system haskell-build-system)
1025 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1026 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1027 (synopsis "The new bytestring builder, packaged outside of GHC")
1028 (description "This package provides the bytestring builder that is
1029debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1030Compatibility package for older packages.")
1031 (license license:bsd-3)))
1032
1033(define-public ghc-bytestring-handle
1034 (package
1035 (name "ghc-bytestring-handle")
1036 (version "0.1.0.6")
1037 (source
1038 (origin
1039 (method url-fetch)
1040 (uri (string-append
1041 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1042 version ".tar.gz"))
1043 (sha256
1044 (base32
1045 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1046 (build-system haskell-build-system)
1047 (arguments
1048 `(#:phases
1049 (modify-phases %standard-phases
1050 (add-before 'configure 'update-constraints
1051 (lambda _
1052 (substitute* "bytestring-handle.cabal"
1053 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
1054 "QuickCheck >= 2.1.2 && < 2.12")
1055 (("base >= 4\\.2 && < 4\\.11")
1056 "base >= 4.2 && < 4.12")))))))
1057 (inputs
1058 `(("ghc-hunit" ,ghc-hunit)
1059 ("ghc-quickcheck" ,ghc-quickcheck)
1060 ("ghc-test-framework" ,ghc-test-framework)
1061 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1062 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1063 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1064 (synopsis "ByteString-backed Handles")
1065 (description "ByteString-backed Handles") ; There is no description
1066 (license license:bsd-3)))
1067
1068(define-public ghc-bytestring-lexing
1069 (package
1070 (name "ghc-bytestring-lexing")
1071 (version "0.5.0.2")
1072 (source
1073 (origin
1074 (method url-fetch)
1075 (uri (string-append "https://hackage.haskell.org/package/"
1076 "bytestring-lexing/bytestring-lexing-"
1077 version ".tar.gz"))
1078 (sha256
1079 (base32
1080 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1081 (build-system haskell-build-system)
1082 (home-page "http://code.haskell.org/~wren/")
1083 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1084 (description
1085 "This package provides tools to parse and produce literals efficiently
1086from strict or lazy bytestrings.")
1087 (license license:bsd-2)))
1088
1089(define-public ghc-bzlib-conduit
1090 (package
1091 (name "ghc-bzlib-conduit")
1092 (version "0.3.0.1")
1093 (source
1094 (origin
1095 (method url-fetch)
1096 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1097 "bzlib-conduit-" version ".tar.gz"))
1098 (sha256
1099 (base32
1100 "0fd2hnr782s7qgipazg2yxwia9qqhkvm9bcm90773c3zkxa13n23"))))
1101 (build-system haskell-build-system)
1102 (inputs
1103 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1104 ("ghc-conduit" ,ghc-conduit)
1105 ("ghc-data-default-class" ,ghc-data-default-class)
1106 ("ghc-resourcet" ,ghc-resourcet)))
1107 (native-inputs
1108 `(("ghc-hspec" ,ghc-hspec)
1109 ("ghc-random" ,ghc-random)))
1110 (home-page "https://github.com/snoyberg/bzlib-conduit")
1111 (synopsis "Streaming compression/decompression via conduits")
1112 (description
1113 "This package provides Haskell bindings to bzlib and Conduit support for
1114streaming compression and decompression.")
1115 (license license:bsd-3)))
1116
1117(define-public ghc-c2hs
1118 (package
1119 (name "ghc-c2hs")
1120 (version "0.28.6")
1121 (source
1122 (origin
1123 (method url-fetch)
1124 (uri (string-append
1125 "https://hackage.haskell.org/package/c2hs/c2hs-"
1126 version
1127 ".tar.gz"))
1128 (sha256
1129 (base32
1130 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1131 (build-system haskell-build-system)
1132 (inputs
1133 `(("ghc-language-c" ,ghc-language-c)
1134 ("ghc-dlist" ,ghc-dlist)))
1135 (native-inputs
1136 `(("ghc-test-framework" ,ghc-test-framework)
1137 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1138 ("ghc-hunit" ,ghc-hunit)
1139 ("ghc-shelly" ,ghc-shelly)
1140 ("gcc" ,gcc)))
1141 (arguments
1142 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1143 ;; of glibc 2.28.
1144 #:tests? #f
1145
1146 #:phases
1147 (modify-phases %standard-phases
1148 (add-before 'check 'set-cc
1149 ;; add a cc executable in the path, needed for some tests to pass
1150 (lambda* (#:key inputs #:allow-other-keys)
1151 (let ((gcc (assoc-ref inputs "gcc"))
1152 (tmpbin (tmpnam))
1153 (curpath (getenv "PATH")))
1154 (mkdir-p tmpbin)
1155 (symlink (which "gcc") (string-append tmpbin "/cc"))
1156 (setenv "PATH" (string-append tmpbin ":" curpath)))
1157 #t))
1158 (add-after 'check 'remove-cc
1159 ;; clean the tmp dir made in 'set-cc
1160 (lambda _
1161 (let* ((cc-path (which "cc"))
1162 (cc-dir (dirname cc-path)))
1163 (delete-file-recursively cc-dir)
1164 #t))))))
1165 (home-page "https://github.com/haskell/c2hs")
1166 (synopsis "Create Haskell bindings to C libraries")
1167 (description "C->Haskell assists in the development of Haskell bindings to
1168C libraries. It extracts interface information from C header files and
1169generates Haskell code with foreign imports and marshaling. Unlike writing
1170foreign imports by hand (or using hsc2hs), this ensures that C functions are
1171imported with the correct Haskell types.")
1172 (license license:gpl2)))
1173
1174(define-public ghc-cairo
1175 (package
1176 (name "ghc-cairo")
1177 (version "0.13.5.0")
1178 (source
1179 (origin
1180 (method url-fetch)
1181 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1182 "cairo-" version ".tar.gz"))
1183 (sha256
1184 (base32
1185 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1186 (build-system haskell-build-system)
1187 (arguments
1188 `(#:modules ((guix build haskell-build-system)
1189 (guix build utils)
1190 (ice-9 match)
1191 (srfi srfi-26))
1192 #:phases
1193 (modify-phases %standard-phases
1194 ;; FIXME: This is a copy of the standard configure phase with a tiny
1195 ;; difference: this package needs the -package-db flag to be passed
1196 ;; to "runhaskell" in addition to the "configure" action, because it
1197 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1198 ;; this option the Setup.hs file cannot be evaluated. The
1199 ;; haskell-build-system should be changed to pass "-package-db" to
1200 ;; "runhaskell" in any case.
1201 (replace 'configure
1202 (lambda* (#:key outputs inputs tests? (configure-flags '())
1203 #:allow-other-keys)
1204 (let* ((out (assoc-ref outputs "out"))
1205 (name-version (strip-store-file-name out))
1206 (input-dirs (match inputs
1207 (((_ . dir) ...)
1208 dir)
1209 (_ '())))
1210 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1211 (params (append `(,(string-append "--prefix=" out))
1212 `(,(string-append "--libdir=" out "/lib"))
1213 `(,(string-append "--bindir=" out "/bin"))
1214 `(,(string-append
1215 "--docdir=" out
1216 "/share/doc/" name-version))
1217 '("--libsubdir=$compiler/$pkg-$version")
1218 '("--package-db=../package.conf.d")
1219 '("--global")
1220 `(,@(map
1221 (cut string-append "--extra-include-dirs=" <>)
1222 (search-path-as-list '("include") input-dirs)))
1223 `(,@(map
1224 (cut string-append "--extra-lib-dirs=" <>)
1225 (search-path-as-list '("lib") input-dirs)))
1226 (if tests?
1227 '("--enable-tests")
1228 '())
1229 configure-flags)))
1230 (unsetenv "GHC_PACKAGE_PATH")
1231 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1232 "Setup.hs" "configure" params)
1233 (setenv "GHC_PACKAGE_PATH" ghc-path)
1234 #t))))))
1235 (inputs
1236 `(("ghc-utf8-string" ,ghc-utf8-string)
1237 ("cairo" ,cairo)))
1238 (native-inputs
1239 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1240 ("pkg-config" ,pkg-config)))
1241 (home-page "http://projects.haskell.org/gtk2hs/")
1242 (synopsis "Haskell bindings to the Cairo vector graphics library")
1243 (description
1244 "Cairo is a library to render high quality vector graphics. There exist
1245various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1246documents, amongst others.")
1247 (license license:bsd-3)))
1248
1249(define-public ghc-call-stack
1250 (package
1251 (name "ghc-call-stack")
1252 (version "0.1.0")
1253 (source
1254 (origin
1255 (method url-fetch)
1256 (uri (string-append "https://hackage.haskell.org/package/"
1257 "call-stack/call-stack-"
1258 version ".tar.gz"))
1259 (sha256
1260 (base32
1261 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1262 (build-system haskell-build-system)
1263 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1264 (home-page "https://github.com/sol/call-stack#readme")
1265 (synopsis "Use GHC call-stacks in a backward compatible way")
1266 (description "This package provides a compatibility layer for using GHC
1267call stacks with different versions of the compiler.")
1268 (license license:expat)))
1269
1270;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1271;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1272(define-public ghc-call-stack-boot
1273 (hidden-package
1274 (package
1275 (inherit ghc-call-stack)
1276 (arguments '(#:tests? #f))
1277 (inputs '()))))
1278
1279(define-public ghc-case-insensitive
1280 (package
1281 (name "ghc-case-insensitive")
1282 (version "1.2.0.11")
1283 (outputs '("out" "doc"))
1284 (source
1285 (origin
1286 (method url-fetch)
1287 (uri (string-append
1288 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1289 version
1290 ".tar.gz"))
1291 (sha256
1292 (base32
1293 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1294 (build-system haskell-build-system)
1295 ;; these inputs are necessary to use this library
1296 (inputs
1297 `(("ghc-hashable" ,ghc-hashable)))
1298 (arguments
1299 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1300 (home-page
1301 "https://github.com/basvandijk/case-insensitive")
1302 (synopsis "Case insensitive string comparison")
1303 (description
1304 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1305constructor which can be parameterised by a string-like type like:
1306@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1307the resulting type will be insensitive to cases.")
1308 (license license:bsd-3)))
1309
1310(define-public ghc-cereal
1311 (package
1312 (name "ghc-cereal")
1313 (version "0.5.7.0")
1314 (source
1315 (origin
1316 (method url-fetch)
1317 (uri (string-append
1318 "https://hackage.haskell.org/package/cereal/cereal-"
1319 version
1320 ".tar.gz"))
1321 (sha256
1322 (base32
1323 "1j7imh2mzqcljld7sx0av69699955rpy3hzivi5723i6a9nszgbs"))))
1324 (build-system haskell-build-system)
1325 (native-inputs
1326 `(("ghc-quickcheck" ,ghc-quickcheck)
1327 ("ghc-fail" ,ghc-fail)
1328 ("ghc-test-framework" ,ghc-test-framework)
1329 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1330 (home-page "https://hackage.haskell.org/package/cereal")
1331 (synopsis "Binary serialization library")
1332 (description "This package provides a binary serialization library,
1333similar to @code{binary}, that introduces an @code{isolate} primitive for
1334parser isolation, and labeled blocks for better error messages.")
1335 (license license:bsd-3)))
1336
1337(define-public ghc-cereal-conduit
1338 (package
1339 (name "ghc-cereal-conduit")
1340 (version "0.8.0")
1341 (source
1342 (origin
1343 (method url-fetch)
1344 (uri (string-append "https://hackage.haskell.org/package/"
1345 "cereal-conduit/cereal-conduit-"
1346 version ".tar.gz"))
1347 (sha256
1348 (base32
1349 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1350 (build-system haskell-build-system)
1351 (inputs
1352 `(("ghc-conduit" ,ghc-conduit)
1353 ("ghc-resourcet" ,ghc-resourcet)
1354 ("ghc-cereal" ,ghc-cereal)))
1355 (native-inputs
1356 `(("ghc-hunit" ,ghc-hunit)))
1357 (home-page "https://github.com/snoyberg/conduit")
1358 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1359 (description
1360 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1361@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1362 (license license:bsd-3)))
1363
1364(define-public ghc-cgi
1365 (package
1366 (name "ghc-cgi")
1367 (version "3001.3.0.2")
1368 (source
1369 (origin
1370 (method url-fetch)
1371 (uri (string-append
1372 "https://hackage.haskell.org/package/cgi/cgi-"
1373 version
1374 ".tar.gz"))
1375 (sha256
1376 (base32
1377 "1hbpplss1m4rdpm4ibip6fpimlhssqa14fl338kl2jbc463i64cj"))))
1378 (build-system haskell-build-system)
1379 (arguments
1380 `(#:phases
1381 (modify-phases %standard-phases
1382 (add-before 'configure 'update-constraints
1383 (lambda _
1384 (substitute* "cgi.cabal"
1385 (("exceptions < 0\\.9")
1386 "exceptions < 0.11")
1387 (("time >= 1\\.5 && < 1\\.7")
1388 "time >= 1.5 && < 1.9")
1389 (("doctest >= 0\\.8 && < 0\\.12")
1390 "doctest >= 0.8 && < 0.17")
1391 (("QuickCheck >= 2\\.8\\.1 && < 2\\.10")
1392 "QuickCheck >= 2.8.1 && < 2.12")))))))
1393 (inputs
1394 `(("ghc-exceptions" ,ghc-exceptions)
1395 ("ghc-multipart" ,ghc-multipart)
1396 ("ghc-network-uri" ,ghc-network-uri)
1397 ("ghc-network" ,ghc-network)))
1398 (native-inputs
1399 `(("ghc-doctest" ,ghc-doctest)
1400 ("ghc-quickcheck" ,ghc-quickcheck)))
1401 (home-page
1402 "https://github.com/cheecheeo/haskell-cgi")
1403 (synopsis "Library for writing CGI programs")
1404 (description
1405 "This is a Haskell library for writing CGI programs.")
1406 (license license:bsd-3)))
1407
1408(define-public ghc-charset
1409 (package
1410 (name "ghc-charset")
1411 (version "0.3.7.1")
1412 (source
1413 (origin
1414 (method url-fetch)
1415 (uri (string-append
1416 "https://hackage.haskell.org/package/charset/charset-"
1417 version
1418 ".tar.gz"))
1419 (sha256
1420 (base32
1421 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1422 (build-system haskell-build-system)
1423 (inputs
1424 `(("ghc-semigroups" ,ghc-semigroups)
1425 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1426 (home-page "https://github.com/ekmett/charset")
1427 (synopsis "Fast unicode character sets for Haskell")
1428 (description "This package provides fast unicode character sets for
1429Haskell, based on complemented PATRICIA tries.")
1430 (license license:bsd-3)))
1431
1432(define-public ghc-chart
1433 (package
1434 (name "ghc-chart")
1435 (version "1.9")
1436 (source
1437 (origin
1438 (method url-fetch)
1439 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1440 "Chart-" version ".tar.gz"))
1441 (sha256
1442 (base32
1443 "1f5azj17y8xsb3gjhf7gg1gnnlq12rxkmfjmgcly314d7vghs05z"))))
1444 (build-system haskell-build-system)
1445 (inputs
1446 `(("ghc-old-locale" ,ghc-old-locale)
1447 ("ghc-lens" ,ghc-lens)
1448 ("ghc-colour" ,ghc-colour)
1449 ("ghc-data-default-class" ,ghc-data-default-class)
1450 ("ghc-operational" ,ghc-operational)
1451 ("ghc-vector" ,ghc-vector)))
1452 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1453 (synopsis "Library for generating 2D charts and plots")
1454 (description
1455 "This package provides a library for generating 2D charts and plots, with
1456backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1457 (license license:bsd-3)))
1458
1459(define-public ghc-chart-cairo
1460 (package
1461 (name "ghc-chart-cairo")
1462 (version "1.9")
1463 (source
1464 (origin
1465 (method url-fetch)
1466 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1467 "Chart-cairo-" version ".tar.gz"))
1468 (sha256
1469 (base32
1470 "0iany6lfyfb1cw0pxfs5aw5k0a6x41m6ql9ad9w59biwdckbsyqr"))))
1471 (build-system haskell-build-system)
1472 (inputs
1473 `(("ghc-old-locale" ,ghc-old-locale)
1474 ("ghc-cairo" ,ghc-cairo)
1475 ("ghc-colour" ,ghc-colour)
1476 ("ghc-data-default-class" ,ghc-data-default-class)
1477 ("ghc-operational" ,ghc-operational)
1478 ("ghc-lens" ,ghc-lens)
1479 ("ghc-chart" ,ghc-chart)))
1480 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1481 (synopsis "Cairo backend for Charts")
1482 (description "This package provides a Cairo vector graphics rendering
1483backend for the Charts library.")
1484 (license license:bsd-3)))
1485
1486(define-public ghc-chasingbottoms
1487 (package
1488 (name "ghc-chasingbottoms")
1489 (version "1.3.1.4")
1490 (source
1491 (origin
1492 (method url-fetch)
1493 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1494 "ChasingBottoms-" version ".tar.gz"))
1495 (sha256
1496 (base32
1497 "06cynx6hcbfpky7qq3b3mjjgwbnaxkwin3znbwq4b9ikiw0ng633"))))
1498 (build-system haskell-build-system)
1499 (inputs
1500 `(("ghc-quickcheck" ,ghc-quickcheck)
1501 ("ghc-random" ,ghc-random)
1502 ("ghc-syb" ,ghc-syb)))
1503 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1504 (synopsis "Testing of partial and infinite values in Haskell")
1505 (description
1506 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1507 ;; rendered properly.
1508 "This is a library for testing code involving bottoms or infinite values.
1509For the underlying theory and a larger example involving use of QuickCheck,
1510see the article
1511@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1512\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1513Partial and Infinite Values\"}.")
1514 (license license:expat)))
1515
1516(define-public ghc-cheapskate
1517 (package
1518 (name "ghc-cheapskate")
1519 (version "0.1.1")
1520 (source
1521 (origin
1522 (method url-fetch)
1523 (uri (string-append
1524 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1525 version
1526 ".tar.gz"))
1527 (sha256
1528 (base32
1529 "1hiqi7h76shjzs2zj0j8g6wnq2hbiq1hmfafdazr97fba2zl2432"))))
1530 (build-system haskell-build-system)
1531 (inputs
1532 `(("ghc-blaze-html" ,ghc-blaze-html)
1533 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1534 ("ghc-data-default" ,ghc-data-default)
1535 ("ghc-syb" ,ghc-syb)
1536 ("ghc-uniplate" ,ghc-uniplate)))
1537 (home-page "https://github.com/jgm/cheapskate")
1538 (synopsis "Experimental markdown processor")
1539 (description "Cheapskate is an experimental Markdown processor in pure
1540Haskell. It aims to process Markdown efficiently and in the most forgiving
1541possible way. It is designed to deal with any input, including garbage, with
1542linear performance. Output is sanitized by default for protection against
1543cross-site scripting (@dfn{XSS}) attacks.")
1544 (license license:bsd-3)))
1545
1546(define-public ghc-chell
1547 (package
1548 (name "ghc-chell")
1549 (version "0.4.0.2")
1550 (source
1551 (origin
1552 (method url-fetch)
1553 (uri (string-append
1554 "https://hackage.haskell.org/package/chell/chell-"
1555 version ".tar.gz"))
1556 (sha256
1557 (base32
1558 "10ingy9qnbmc8cqh4i9pskcw43l0mzk8f3d76b3qz3fig5ary3j9"))))
1559 (build-system haskell-build-system)
1560 (inputs
1561 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1562 ("ghc-patience" ,ghc-patience)
1563 ("ghc-random" ,ghc-random)
1564 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1565 (home-page "https://john-millikin.com/software/chell/")
1566 (synopsis "Simple and intuitive library for automated testing")
1567 (description
1568 "Chell is a simple and intuitive library for automated testing.
1569It natively supports assertion-based testing, and can use companion
1570libraries such as @code{chell-quickcheck} to support more complex
1571testing strategies.")
1572 (license license:expat)))
1573
1574(define-public ghc-chell-quickcheck
1575 (package
1576 (name "ghc-chell-quickcheck")
1577 (version "0.2.5.1")
1578 (source
1579 (origin
1580 (method url-fetch)
1581 (uri (string-append
1582 "https://hackage.haskell.org/package/chell-quickcheck/"
1583 "chell-quickcheck-" version ".tar.gz"))
1584 (sha256
1585 (base32
1586 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
1587 (build-system haskell-build-system)
1588 (arguments
1589 `(#:phases
1590 (modify-phases %standard-phases
1591 (add-before 'configure 'update-constraints
1592 (lambda _
1593 (substitute* "chell-quickcheck.cabal"
1594 (("QuickCheck >= 2\\.3 && < 2\\.11")
1595 "QuickCheck >= 2.3 && < 2.12")))))))
1596 (inputs
1597 `(("ghc-chell" ,ghc-chell)
1598 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1599 ("ghc-random" ,ghc-random)
1600 ("ghc-quickcheck" ,ghc-quickcheck)))
1601 (home-page "https://john-millikin.com/software/chell/")
1602 (synopsis "QuickCheck support for the Chell testing library")
1603 (description "More complex tests for @code{chell}.")
1604 (license license:expat)))
1605
1606(define ghc-chell-quickcheck-bootstrap
1607 (package
1608 (name "ghc-chell-quickcheck-bootstrap")
1609 (version "0.2.5.1")
1610 (source
1611 (origin
1612 (method url-fetch)
1613 (uri (string-append
1614 "https://hackage.haskell.org/package/chell-quickcheck/"
1615 "chell-quickcheck-" version ".tar.gz"))
1616 (sha256
1617 (base32
1618 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
1619 (build-system haskell-build-system)
1620 (inputs
1621 `(("ghc-chell" ,ghc-chell)
1622 ("ghc-random" ,ghc-random)
1623 ("ghc-quickcheck" ,ghc-quickcheck)))
1624 (arguments
1625 `(#:tests? #f
1626 #:phases
1627 (modify-phases %standard-phases
1628 (add-before 'configure 'update-constraints
1629 (lambda _
1630 (substitute* "chell-quickcheck.cabal"
1631 (("QuickCheck >= 2\\.3 && < 2\\.11")
1632 "QuickCheck >= 2.3 && < 2.12")))))))
1633 (home-page "https://john-millikin.com/software/chell/")
1634 (synopsis "QuickCheck support for the Chell testing library")
1635 (description "More complex tests for @code{chell}.")
1636 (license license:expat)))
1637
1638(define-public ghc-chunked-data
1639 (package
1640 (name "ghc-chunked-data")
1641 (version "0.3.1")
1642 (source
1643 (origin
1644 (method url-fetch)
1645 (uri (string-append "https://hackage.haskell.org/package/"
1646 "chunked-data-" version "/"
1647 "chunked-data-" version ".tar.gz"))
1648 (sha256
1649 (base32
1650 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1651 (build-system haskell-build-system)
1652 (inputs `(("ghc-vector" ,ghc-vector)
1653 ("ghc-semigroups" ,ghc-semigroups)))
1654 (home-page "https://github.com/snoyberg/mono-traversable")
1655 (synopsis "Typeclasses for dealing with various chunked data
1656representations for Haskell")
1657 (description "This Haskell package was originally present in
1658classy-prelude.")
1659 (license license:expat)))
1660
1661(define-public ghc-clock
1662 (package
1663 (name "ghc-clock")
1664 (version "0.7.2")
1665 (source
1666 (origin
1667 (method url-fetch)
1668 (uri (string-append
1669 "https://hackage.haskell.org/package/"
1670 "clock/"
1671 "clock-" version ".tar.gz"))
1672 (sha256
1673 (base32 "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8"))))
1674 (build-system haskell-build-system)
1675 (inputs
1676 `(("ghc-tasty" ,ghc-tasty)
1677 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1678 (home-page "https://hackage.haskell.org/package/clock")
1679 (synopsis "High-resolution clock for Haskell")
1680 (description "A package for convenient access to high-resolution clock and
1681timer functions of different operating systems via a unified API.")
1682 (license license:bsd-3)))
1683
1684;; This package builds `clock` without tests, since the tests rely on tasty
1685;; and tasty-quickcheck, which in turn require clock to build.
1686(define-public ghc-clock-bootstrap
1687 (package
1688 (inherit ghc-clock)
1689 (name "ghc-clock-bootstrap")
1690 (arguments '(#:tests? #f))
1691 (inputs '())
1692 (properties '((hidden? #t)))))
1693
1694(define-public ghc-cmark
1695 (package
1696 (name "ghc-cmark")
1697 (version "0.5.6")
1698 (source (origin
1699 (method url-fetch)
1700 ;; XXX As of version 0.5.6, this package bundles libcmark 0.28.0.
1701 ;; See cbits/cmark_version.h.
1702 (uri (string-append "https://hackage.haskell.org/package/"
1703 "cmark/cmark-" version ".tar.gz"))
1704 (sha256
1705 (base32
1706 "1c1j3a8b9qx5zk9myqm3gap8ymz7fipwrdmyfsq9wkkdr9x4np45"))))
1707 (build-system haskell-build-system)
1708 (native-inputs
1709 `(("ghc-hunit" ,ghc-hunit)))
1710 (home-page "https://github.com/jgm/commonmark-hs")
1711 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1712 (description
1713 "This package provides Haskell bindings for
1714@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1715CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1716sources, and does not require prior installation of the C library.")
1717 (license license:bsd-3)))
1718
1719(define-public ghc-cmark-gfm
1720 (package
1721 (name "ghc-cmark-gfm")
1722 (version "0.1.5")
1723 (source
1724 (origin
1725 (method url-fetch)
1726 (uri (string-append "https://hackage.haskell.org/package/"
1727 "cmark-gfm/cmark-gfm-"
1728 version ".tar.gz"))
1729 (sha256
1730 (base32
1731 "13b0mqks5c1q989slgsa3ixr5vvkfyic4ynzgv00kgl5qrs7hqk7"))))
1732 (build-system haskell-build-system)
1733 (native-inputs
1734 `(("ghc-hunit" ,ghc-hunit)))
1735 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1736 (synopsis
1737 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1738 (description
1739 "This package provides Haskell bindings for libcmark-gfm, the reference
1740parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1741It includes sources for libcmark-gfm and does not require prior installation
1742of the C library.")
1743 (license license:bsd-3)))
1744
1745(define-public ghc-cmdargs
1746 (package
1747 (name "ghc-cmdargs")
1748 (version "0.10.20")
1749 (source
1750 (origin
1751 (method url-fetch)
1752 (uri (string-append
1753 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1754 version ".tar.gz"))
1755 (sha256
1756 (base32
1757 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1758 (build-system haskell-build-system)
1759 (home-page
1760 "http://community.haskell.org/~ndm/cmdargs/")
1761 (synopsis "Command line argument processing")
1762 (description
1763 "This library provides an easy way to define command line parsers.")
1764 (license license:bsd-3)))
1765
1766(define-public ghc-code-page
1767 (package
1768 (name "ghc-code-page")
1769 (version "0.1.3")
1770 (source
1771 (origin
1772 (method url-fetch)
1773 (uri (string-append
1774 "https://hackage.haskell.org/package/code-page/code-page-"
1775 version ".tar.gz"))
1776 (sha256
1777 (base32
1778 "1491frk4jx6dlhifky9dvcxbsbcfssrz979a5hp5zn061rh8cp76"))))
1779 (build-system haskell-build-system)
1780 (home-page "https://github.com/RyanGlScott/code-page")
1781 (synopsis "Windows code page library for Haskell")
1782 (description "A cross-platform library with functions for adjusting
1783code pages on Windows. On all other operating systems, the library does
1784nothing.")
1785 (license license:bsd-3)))
1786
1787(define-public ghc-colour
1788(package
1789 (name "ghc-colour")
1790 (version "2.3.4")
1791 (source
1792 (origin
1793 (method url-fetch)
1794 (uri (string-append
1795 "https://hackage.haskell.org/package/colour/colour-"
1796 version ".tar.gz"))
1797 (sha256
1798 (base32
1799 "1sy51nz096sv91nxqk6yk7b92b5a40axv9183xakvki2nc09yhqg"))))
1800 (arguments
1801 ;; The tests for this package have the following dependency cycle:
1802 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1803 `(#:tests? #f))
1804 (build-system haskell-build-system)
1805 (home-page "https://www.haskell.org/haskellwiki/Colour")
1806 (synopsis "Model for human colour perception")
1807 (description
1808 "This package provides a data type for colours and transparency.
1809Colours can be blended and composed. Various colour spaces are
1810supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1811 (license license:expat)))
1812
1813(define-public ghc-comonad
1814 (package
1815 (name "ghc-comonad")
1816 (version "5.0.4")
1817 (source
1818 (origin
1819 (method url-fetch)
1820 (uri (string-append
1821 "https://hackage.haskell.org/package/comonad/comonad-"
1822 version
1823 ".tar.gz"))
1824 (sha256
1825 (base32
1826 "09g870c4flp4k3fgbibsd0mmfjani1qcpbcl685v8x89kxzrva3q"))))
1827 (build-system haskell-build-system)
1828 (native-inputs
1829 `(("cabal-doctest" ,cabal-doctest)
1830 ("ghc-doctest" ,ghc-doctest)))
1831 (inputs
1832 `(("ghc-contravariant" ,ghc-contravariant)
1833 ("ghc-distributive" ,ghc-distributive)
1834 ("ghc-semigroups" ,ghc-semigroups)
1835 ("ghc-tagged" ,ghc-tagged)
1836 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1837 (home-page "https://github.com/ekmett/comonad/")
1838 (synopsis "Comonads for Haskell")
1839 (description "This library provides @code{Comonad}s for Haskell.")
1840 (license license:bsd-3)))
1841
1842(define-public ghc-concatenative
1843 (package
1844 (name "ghc-concatenative")
1845 (version "1.0.1")
1846 (source (origin
1847 (method url-fetch)
1848 (uri (string-append
1849 "https://hackage.haskell.org/package/concatenative/concatenative-"
1850 version ".tar.gz"))
1851 (sha256
1852 (base32
1853 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1854 (build-system haskell-build-system)
1855 (home-page
1856 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1857 (synopsis "Library for postfix control flow")
1858 (description
1859 "Concatenative gives Haskell Factor-style combinators and arrows for
1860postfix notation. For more information on stack based languages, see
1861@uref{https://concatenative.org}.")
1862 (license license:bsd-3)))
1863
1864(define-public ghc-concurrent-extra
1865 (package
1866 (name "ghc-concurrent-extra")
1867 (version "0.7.0.12")
1868 (source
1869 (origin
1870 (method url-fetch)
1871 (uri (string-append "https://hackage.haskell.org/package/"
1872 "concurrent-extra/concurrent-extra-"
1873 version ".tar.gz"))
1874 (sha256
1875 (base32
1876 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
1877 (build-system haskell-build-system)
1878 (arguments
1879 ;; XXX: The ReadWriteLock 'stressTest' fails.
1880 `(#:tests? #f))
1881 (inputs
1882 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
1883 (native-inputs
1884 `(("ghc-async" ,ghc-async)
1885 ("ghc-hunit" ,ghc-hunit)
1886 ("ghc-random" ,ghc-random)
1887 ("ghc-test-framework" ,ghc-test-framework)
1888 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
1889 (home-page "https://github.com/basvandijk/concurrent-extra")
1890 (synopsis "Extra concurrency primitives")
1891 (description "This Haskell library offers (among other things) the
1892following selection of synchronisation primitives:
1893
1894@itemize
1895@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
1896@item @code{Event}: Wake multiple threads by signalling an event.
1897@item @code{Lock}: Enforce exclusive access to a resource. Also known
1898as a binary semaphore or mutex. The package additionally provides an
1899alternative that works in the STM monad.
1900@item @code{RLock}: A lock which can be acquired multiple times by the
1901same thread. Also known as a reentrant mutex.
1902@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
1903to protect shared resources which may be concurrently read, but only
1904sequentially written.
1905@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
1906@end itemize
1907
1908Please consult the API documentation of the individual modules for more
1909detailed information.
1910
1911This package was inspired by the concurrency libraries of Java and
1912Python.")
1913 (license license:bsd-3)))
1914
1915(define-public ghc-concurrent-output
1916 (package
1917 (name "ghc-concurrent-output")
1918 (version "1.10.9")
1919 (source
1920 (origin
1921 (method url-fetch)
1922 (uri (string-append
1923 "mirror://hackage/package/concurrent-output/concurrent-output-"
1924 version
1925 ".tar.gz"))
1926 (sha256
1927 (base32
1928 "0mwf155w89nbbkjln7hhbn8k3f8p0ylcvgrg31cm7ijpx4499i4c"))))
1929 (build-system haskell-build-system)
1930 (inputs
1931 `(("ghc-async" ,ghc-async)
1932 ("ghc-exceptions" ,ghc-exceptions)
1933 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1934 ("ghc-terminal-size" ,ghc-terminal-size)))
1935 (home-page
1936 "https://hackage.haskell.org/package/concurrent-output")
1937 (synopsis
1938 "Ungarble output from several threads or commands")
1939 (description
1940 "Lets multiple threads and external processes concurrently output to the
1941console, without it getting all garbled up.
1942
1943Built on top of that is a way of defining multiple output regions, which are
1944automatically laid out on the screen and can be individually updated by
1945concurrent threads. Can be used for progress displays etc.")
1946 (license license:bsd-2)))
1947
1948(define-public ghc-conduit
1949 (package
1950 (name "ghc-conduit")
1951 (version "1.3.0.3")
1952 (source (origin
1953 (method url-fetch)
1954 (uri (string-append "https://hackage.haskell.org/package/"
1955 "conduit/conduit-" version ".tar.gz"))
1956 (sha256
1957 (base32
1958 "1sangm0qqi9dzlq95746a3kl14k8b09592a423shxjf2a0b1yx5v"))))
1959 (build-system haskell-build-system)
1960 (inputs
1961 `(("ghc-exceptions" ,ghc-exceptions)
1962 ("ghc-lifted-base" ,ghc-lifted-base)
1963 ("ghc-mono-traversable" ,ghc-mono-traversable)
1964 ("ghc-mmorph" ,ghc-mmorph)
1965 ("ghc-resourcet" ,ghc-resourcet)
1966 ("ghc-silently" ,ghc-silently)
1967 ("ghc-transformers-base" ,ghc-transformers-base)
1968 ("ghc-unliftio" ,ghc-unliftio)
1969 ("ghc-unliftio-core" ,ghc-unliftio-core)
1970 ("ghc-vector" ,ghc-vector)
1971 ("ghc-void" ,ghc-void)))
1972 (native-inputs
1973 `(("ghc-quickcheck" ,ghc-quickcheck)
1974 ("ghc-hspec" ,ghc-hspec)
1975 ("ghc-safe" ,ghc-safe)
1976 ("ghc-split" ,ghc-split)))
1977 (home-page "https://github.com/snoyberg/conduit")
1978 (synopsis "Streaming data library ")
1979 (description
1980 "The conduit package is a solution to the streaming data problem,
1981allowing for production, transformation, and consumption of streams of data
1982in constant memory. It is an alternative to lazy I/O which guarantees
1983deterministic resource handling, and fits in the same general solution
1984space as enumerator/iteratee and pipes.")
1985 (license license:expat)))
1986
1987(define-public ghc-conduit-algorithms
1988 (package
1989 (name "ghc-conduit-algorithms")
1990 (version "0.0.8.1")
1991 (source
1992 (origin
1993 (method url-fetch)
1994 (uri (string-append "https://hackage.haskell.org/package/"
1995 "conduit-algorithms/conduit-algorithms-"
1996 version ".tar.gz"))
1997 (sha256
1998 (base32
1999 "07gx2q3d1bbfw14q41rmqg0i4m018pci10lswc0k1ij6lw7sb9fd"))))
2000 (build-system haskell-build-system)
2001 (inputs
2002 `(("ghc-async" ,ghc-async)
2003 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2004 ("ghc-conduit" ,ghc-conduit)
2005 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2006 ("ghc-conduit-extra" ,ghc-conduit-extra)
2007 ("ghc-exceptions" ,ghc-exceptions)
2008 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2009 ("ghc-monad-control" ,ghc-monad-control)
2010 ("ghc-pqueue" ,ghc-pqueue)
2011 ("ghc-resourcet" ,ghc-resourcet)
2012 ("ghc-stm-conduit" ,ghc-stm-conduit)
2013 ("ghc-streaming-commons" ,ghc-streaming-commons)
2014 ("ghc-unliftio-core" ,ghc-unliftio-core)
2015 ("ghc-vector" ,ghc-vector)))
2016 (native-inputs
2017 `(("ghc-hunit" ,ghc-hunit)
2018 ("ghc-test-framework" ,ghc-test-framework)
2019 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2020 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2021 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2022 (synopsis "Conduit-based algorithms")
2023 (description
2024 "This package provides algorithms on @code{Conduits}, including higher
2025level asynchronous processing and some other utilities.")
2026 (license license:expat)))
2027
2028(define-public ghc-conduit-combinators
2029 (package
2030 (name "ghc-conduit-combinators")
2031 (version "1.3.0")
2032 (source
2033 (origin
2034 (method url-fetch)
2035 (uri (string-append "https://hackage.haskell.org/package/"
2036 "conduit-combinators-" version "/"
2037 "conduit-combinators-" version ".tar.gz"))
2038 (sha256
2039 (base32
2040 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2041 (build-system haskell-build-system)
2042 (inputs `(("ghc-conduit" ,ghc-conduit)
2043 ("ghc-conduit-extra" ,ghc-conduit-extra)
2044 ("ghc-transformers-base" ,ghc-transformers-base)
2045 ("ghc-primitive" ,ghc-primitive)
2046 ("ghc-vector" ,ghc-vector)
2047 ("ghc-void" ,ghc-void)
2048 ("ghc-mwc-random" ,ghc-mwc-random)
2049 ("ghc-unix-compat" ,ghc-unix-compat)
2050 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2051 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2052 ("ghc-resourcet" ,ghc-resourcet)
2053 ("ghc-monad-control" ,ghc-monad-control)
2054 ("ghc-chunked-data" ,ghc-chunked-data)
2055 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2056 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2057 ("ghc-silently" ,ghc-silently)
2058 ("ghc-safe" ,ghc-safe)
2059 ("ghc-quickcheck" ,ghc-quickcheck)))
2060 (home-page "https://github.com/snoyberg/mono-traversable")
2061 (synopsis "Commonly used conduit functions, for both chunked and
2062unchunked data")
2063 (description "This Haskell package provides a replacement for Data.Conduit.List,
2064as well as a convenient Conduit module.")
2065 (license license:expat)))
2066
2067(define-public ghc-conduit-extra
2068 (package
2069 (name "ghc-conduit-extra")
2070 (version "1.3.1.1")
2071 (source
2072 (origin
2073 (method url-fetch)
2074 (uri (string-append "https://hackage.haskell.org/package/"
2075 "conduit-extra/conduit-extra-"
2076 version ".tar.gz"))
2077 (sha256
2078 (base32
2079 "0jaj350vv6mbb26gdwcqz4gwzfzrjydv5pis2da49wz1npbakcfw"))))
2080 (build-system haskell-build-system)
2081 (inputs
2082 `(("ghc-conduit" ,ghc-conduit)
2083 ("ghc-exceptions" ,ghc-exceptions)
2084 ("ghc-monad-control" ,ghc-monad-control)
2085 ("ghc-transformers-base" ,ghc-transformers-base)
2086 ("ghc-typed-process" ,ghc-typed-process)
2087 ("ghc-async" ,ghc-async)
2088 ("ghc-attoparsec" ,ghc-attoparsec)
2089 ("ghc-blaze-builder" ,ghc-blaze-builder)
2090 ("ghc-network" ,ghc-network)
2091 ("ghc-primitive" ,ghc-primitive)
2092 ("ghc-resourcet" ,ghc-resourcet)
2093 ("ghc-streaming-commons" ,ghc-streaming-commons)
2094 ("ghc-hspec" ,ghc-hspec)
2095 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2096 ("ghc-quickcheck" ,ghc-quickcheck)))
2097 (native-inputs
2098 `(("hspec-discover" ,hspec-discover)))
2099 (home-page "https://github.com/snoyberg/conduit")
2100 (synopsis "Conduit adapters for common libraries")
2101 (description
2102 "The @code{conduit} package itself maintains relative small dependencies.
2103The purpose of this package is to collect commonly used utility functions
2104wrapping other library dependencies, without depending on heavier-weight
2105dependencies. The basic idea is that this package should only depend on
2106@code{haskell-platform} packages and @code{conduit}.")
2107 (license license:expat)))
2108
2109(define-public ghc-configurator
2110 (package
2111 (name "ghc-configurator")
2112 (version "0.3.0.0")
2113 (source
2114 (origin
2115 (method url-fetch)
2116 (uri (string-append "https://hackage.haskell.org/package/"
2117 "configurator/configurator-"
2118 version ".tar.gz"))
2119 (sha256
2120 (base32
2121 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2122 (build-system haskell-build-system)
2123 (inputs
2124 `(("ghc-attoparsec" ,ghc-attoparsec)
2125 ("ghc-hashable" ,ghc-hashable)
2126 ("ghc-unix-compat" ,ghc-unix-compat)
2127 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2128 (native-inputs
2129 `(("ghc-hunit" ,ghc-hunit)
2130 ("ghc-test-framework" ,ghc-test-framework)
2131 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2132 (home-page "http://github.com/bos/configurator")
2133 (synopsis "Configuration management")
2134 (description
2135 "This package provides a configuration management library for programs
2136and daemons. The features include:
2137
2138@enumerate
2139@item Automatic, dynamic reloading in response to modifications to
2140 configuration files.
2141@item A simple, but flexible, configuration language, supporting several of
2142 the most commonly needed types of data, along with interpolation of strings
2143 from the configuration or the system environment (e.g. @code{$(HOME)}).
2144@item Subscription-based notification of changes to configuration properties.
2145@item An @code{import} directive allows the configuration of a complex
2146 application to be split across several smaller files, or common configuration
2147 data to be shared across several applications.
2148@end enumerate\n")
2149 (license license:bsd-3)))
2150
2151(define-public ghc-connection
2152 (package
2153 (name "ghc-connection")
2154 (version "0.2.8")
2155 (source (origin
2156 (method url-fetch)
2157 (uri (string-append "https://hackage.haskell.org/package/"
2158 "connection/connection-"
2159 version ".tar.gz"))
2160 (sha256
2161 (base32
2162 "1swkb9w5vx9ph7x55y51dc0srj2z27nd9ibgn8c0qcl6hx7g9cbh"))))
2163 (build-system haskell-build-system)
2164 (inputs
2165 `(("ghc-byteable" ,ghc-byteable)
2166 ("ghc-data-default-class" ,ghc-data-default-class)
2167 ("ghc-network" ,ghc-network)
2168 ("ghc-tls" ,ghc-tls)
2169 ("ghc-socks" ,ghc-socks)
2170 ("ghc-x509" ,ghc-x509)
2171 ("ghc-x509-store" ,ghc-x509-store)
2172 ("ghc-x509-system" ,ghc-x509-system)
2173 ("ghc-x509-validation" ,ghc-x509-validation)))
2174 (home-page "https://github.com/vincenthz/hs-connection")
2175 (synopsis "Simple and easy network connections API")
2176 (description
2177 "This package provides a simple network library for all your connection
2178needs. It provides a very simple API to create sockets to a destination with
2179the choice of SSL/TLS, and SOCKS.")
2180 (license license:bsd-3)))
2181
2182(define-public ghc-constraints
2183 (package
2184 (name "ghc-constraints")
2185 (version "0.10.1")
2186 (source
2187 (origin
2188 (method url-fetch)
2189 (uri (string-append
2190 "https://hackage.haskell.org/package/constraints/constraints-"
2191 version ".tar.gz"))
2192 (sha256
2193 (base32
2194 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2195 (build-system haskell-build-system)
2196 (inputs
2197 `(("ghc-hashable" ,ghc-hashable)
2198 ("ghc-semigroups" ,ghc-semigroups)
2199 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2200 (native-inputs
2201 `(("ghc-hspec" ,ghc-hspec)
2202 ("hspec-discover" ,hspec-discover)))
2203 (home-page "https://github.com/ekmett/constraints/")
2204 (synopsis "Constraint manipulation")
2205 (description
2206 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2207They stopped crashing the compiler in GHC 7.6. This package provides
2208a vocabulary for working with them.")
2209 (license license:bsd-3)))
2210
2211(define-public ghc-contravariant
2212 (package
2213 (name "ghc-contravariant")
2214 (version "1.4.1")
2215 (source
2216 (origin
2217 (method url-fetch)
2218 (uri (string-append
2219 "https://hackage.haskell.org/package/contravariant/contravariant-"
2220 version
2221 ".tar.gz"))
2222 (sha256
2223 (base32
2224 "1vfhk8c5cxmmakx7rflap1ipkx5q0j5vnlrcz7yz6y53kxhksgf9"))))
2225 (build-system haskell-build-system)
2226 (inputs
2227 `(("ghc-void" ,ghc-void)
2228 ("ghc-transformers-compat" ,ghc-transformers-compat)
2229 ("ghc-statevar" ,ghc-statevar)
2230 ("ghc-semigroups" ,ghc-semigroups)))
2231 (home-page
2232 "https://github.com/ekmett/contravariant/")
2233 (synopsis "Contravariant functors")
2234 (description "Contravariant functors for Haskell.")
2235 (license license:bsd-3)))
2236
2237(define-public ghc-contravariant-extras
2238 (package
2239 (name "ghc-contravariant-extras")
2240 (version "0.3.4")
2241 (source
2242 (origin
2243 (method url-fetch)
2244 (uri (string-append "https://hackage.haskell.org/package/"
2245 "contravariant-extras-" version "/"
2246 "contravariant-extras-" version ".tar.gz"))
2247 (sha256
2248 (base32
2249 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2250 (build-system haskell-build-system)
2251 (inputs
2252 `(("ghc-tuple-th" ,ghc-tuple-th)
2253 ("ghc-contravariant" ,ghc-contravariant)
2254 ("ghc-base-prelude" ,ghc-base-prelude)
2255 ("ghc-semigroups" ,ghc-semigroups)))
2256 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2257 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2258 (description "This Haskell package provides extras for the
2259@code{ghc-contravariant} package.")
2260 (license license:expat)))
2261
2262(define-public ghc-convertible
2263 (package
2264 (name "ghc-convertible")
2265 (version "1.1.1.0")
2266 (source
2267 (origin
2268 (method url-fetch)
2269 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2270 "convertible-" version ".tar.gz"))
2271 (sha256
2272 (base32
2273 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2274 (build-system haskell-build-system)
2275 (inputs
2276 `(("ghc-old-time" ,ghc-old-time)
2277 ("ghc-old-locale" ,ghc-old-locale)))
2278 (home-page "https://hackage.haskell.org/package/convertible")
2279 (synopsis "Typeclasses and instances for converting between types")
2280 (description
2281 "This package provides a typeclass with a single function that is
2282designed to help convert between different types: numeric values, dates and
2283times, and the like. The conversions perform bounds checking and return a
2284pure @code{Either} value. This means that you need not remember which specific
2285function performs the conversion you desire.")
2286 (license license:bsd-3)))
2287
2288(define-public ghc-data-accessor
2289 (package
2290 (name "ghc-data-accessor")
2291 (version "0.2.2.7")
2292 (source
2293 (origin
2294 (method url-fetch)
2295 (uri (string-append
2296 "mirror://hackage/package/data-accessor/data-accessor-"
2297 version ".tar.gz"))
2298 (sha256
2299 (base32 "1vf2g1gac3rm32g97rl0fll51m88q7ry4m6khnl5j47qsmx24r9l"))))
2300 (build-system haskell-build-system)
2301 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2302 (synopsis
2303 "Haskell utilities for accessing and manipulating fields of records")
2304 (description "This package provides Haskell modules for accessing and
2305manipulating fields of records.")
2306 (license license:bsd-3)))
2307
2308(define-public ghc-data-accessor-transformers
2309 (package
2310 (name "ghc-data-accessor-transformers")
2311 (version "0.2.1.7")
2312 (source
2313 (origin
2314 (method url-fetch)
2315 (uri (string-append
2316 "mirror://hackage/package/data-accessor-transformers/"
2317 "data-accessor-transformers-" version ".tar.gz"))
2318 (sha256
2319 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2320 (build-system haskell-build-system)
2321 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2322 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2323 (synopsis "Use Accessor to access state in transformers State monad")
2324 (description "This package provides Haskell modules to allow use of
2325Accessor to access state in transformers State monad.")
2326 (license license:bsd-3)))
2327
2328(define-public ghc-data-default
2329 (package
2330 (name "ghc-data-default")
2331 (version "0.7.1.1")
2332 (source
2333 (origin
2334 (method url-fetch)
2335 (uri (string-append
2336 "https://hackage.haskell.org/package/data-default/data-default-"
2337 version
2338 ".tar.gz"))
2339 (sha256
2340 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2341 (build-system haskell-build-system)
2342 (inputs
2343 `(("ghc-data-default-class"
2344 ,ghc-data-default-class)
2345 ("ghc-data-default-instances-base"
2346 ,ghc-data-default-instances-base)
2347 ("ghc-data-default-instances-containers"
2348 ,ghc-data-default-instances-containers)
2349 ("ghc-data-default-instances-dlist"
2350 ,ghc-data-default-instances-dlist)
2351 ("ghc-data-default-instances-old-locale"
2352 ,ghc-data-default-instances-old-locale)))
2353 (home-page "https://hackage.haskell.org/package/data-default")
2354 (synopsis "Types with default values")
2355 (description
2356 "This package defines a class for types with a default value, and
2357provides instances for types from the base, containers, dlist and old-locale
2358packages.")
2359 (license license:bsd-3)))
2360
2361(define-public ghc-data-default-class
2362 (package
2363 (name "ghc-data-default-class")
2364 (version "0.1.2.0")
2365 (source
2366 (origin
2367 (method url-fetch)
2368 (uri (string-append
2369 "https://hackage.haskell.org/package/data-default-class/"
2370 "data-default-class-" version ".tar.gz"))
2371 (sha256
2372 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2373 (build-system haskell-build-system)
2374 (home-page "https://hackage.haskell.org/package/data-default-class")
2375 (synopsis "Types with default values")
2376 (description
2377 "This package defines a class for types with default values.")
2378 (license license:bsd-3)))
2379
2380(define-public ghc-data-default-instances-base
2381 (package
2382 (name "ghc-data-default-instances-base")
2383 (version "0.1.0.1")
2384 (source
2385 (origin
2386 (method url-fetch)
2387 (uri (string-append
2388 "https://hackage.haskell.org/package/"
2389 "data-default-instances-base/"
2390 "data-default-instances-base-" version ".tar.gz"))
2391 (sha256
2392 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2393 (build-system haskell-build-system)
2394 (inputs
2395 `(("ghc-data-default-class" ,ghc-data-default-class)))
2396 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2397 (synopsis "Default instances for types in base")
2398 (description
2399 "This package provides default instances for types from the base
2400package.")
2401 (license license:bsd-3)))
2402
2403(define-public ghc-data-default-instances-containers
2404 (package
2405 (name "ghc-data-default-instances-containers")
2406 (version "0.0.1")
2407 (source
2408 (origin
2409 (method url-fetch)
2410 (uri (string-append
2411 "https://hackage.haskell.org/package/"
2412 "data-default-instances-containers/"
2413 "data-default-instances-containers-" version ".tar.gz"))
2414 (sha256
2415 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2416 (build-system haskell-build-system)
2417 (inputs
2418 `(("ghc-data-default-class" ,ghc-data-default-class)))
2419 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2420 (synopsis "Default instances for types in containers")
2421 (description "Provides default instances for types from the containers
2422package.")
2423 (license license:bsd-3)))
2424
2425(define-public ghc-data-default-instances-dlist
2426 (package
2427 (name "ghc-data-default-instances-dlist")
2428 (version "0.0.1")
2429 (source
2430 (origin
2431 (method url-fetch)
2432 (uri (string-append
2433 "https://hackage.haskell.org/package/"
2434 "data-default-instances-dlist/"
2435 "data-default-instances-dlist-" version ".tar.gz"))
2436 (sha256
2437 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2438 (build-system haskell-build-system)
2439 (inputs
2440 `(("ghc-data-default-class" ,ghc-data-default-class)
2441 ("ghc-dlist" ,ghc-dlist)))
2442 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2443 (synopsis "Default instances for types in dlist")
2444 (description "Provides default instances for types from the dlist
2445package.")
2446 (license license:bsd-3)))
2447
2448(define-public ghc-data-default-instances-old-locale
2449 (package
2450 (name "ghc-data-default-instances-old-locale")
2451 (version "0.0.1")
2452 (source
2453 (origin
2454 (method url-fetch)
2455 (uri (string-append
2456 "https://hackage.haskell.org/package/"
2457 "data-default-instances-old-locale/"
2458 "data-default-instances-old-locale-" version ".tar.gz"))
2459 (sha256
2460 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2461 (build-system haskell-build-system)
2462 (inputs
2463 `(("ghc-data-default-class" ,ghc-data-default-class)
2464 ("ghc-old-locale" ,ghc-old-locale)))
2465 (home-page
2466 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2467 (synopsis "Default instances for types in old-locale")
2468 (description "Provides Default instances for types from the old-locale
2469 package.")
2470 (license license:bsd-3)))
2471
2472(define-public ghc-data-hash
2473 (package
2474 (name "ghc-data-hash")
2475 (version "0.2.0.1")
2476 (source
2477 (origin
2478 (method url-fetch)
2479 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2480 "/data-hash-" version ".tar.gz"))
2481 (sha256
2482 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2483 (build-system haskell-build-system)
2484 (inputs
2485 `(("ghc-quickcheck" ,ghc-quickcheck)
2486 ("ghc-test-framework" ,ghc-test-framework)
2487 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2488 (home-page "https://hackage.haskell.org/package/data-hash")
2489 (synopsis "Combinators for building fast hashing functions")
2490 (description
2491 "This package provides combinators for building fast hashing functions.
2492It includes hashing functions for all basic Haskell98 types.")
2493 (license license:bsd-3)))
2494
2495(define-public ghc-data-ordlist
2496 (package
2497 (name "ghc-data-ordlist")
2498 (version "0.4.7.0")
2499 (source
2500 (origin
2501 (method url-fetch)
2502 (uri (string-append
2503 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2504 version ".tar.gz"))
2505 (sha256
2506 (base32
2507 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2508 (build-system haskell-build-system)
2509 (home-page "https://hackage.haskell.org/package/data-ordlist")
2510 (synopsis "Set and bag operations on ordered lists")
2511 (description
2512 "This module provides set and multiset operations on ordered lists.")
2513 (license license:bsd-3)))
2514
2515(define-public ghc-deepseq-generics
2516 (package
2517 (name "ghc-deepseq-generics")
2518 (version "0.2.0.0")
2519 (source (origin
2520 (method url-fetch)
2521 (uri (string-append "https://hackage.haskell.org/package/"
2522 "deepseq-generics/deepseq-generics-"
2523 version ".tar.gz"))
2524 (sha256
2525 (base32
2526 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2527 (build-system haskell-build-system)
2528 (arguments
2529 `(#:cabal-revision
2530 ("2" "1pnidf8w8x0w5fsqgv8hhrw07slmhxwy5x4fikgk0bd6k76aqicb")))
2531 (native-inputs
2532 `(("ghc-hunit" ,ghc-hunit)
2533 ("ghc-test-framework" ,ghc-test-framework)
2534 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2535 (home-page "https://github.com/hvr/deepseq-generics")
2536 (synopsis "Generic RNF implementation")
2537 (description
2538 "This package provides a @code{GHC.Generics}-based
2539@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2540providing an @code{rnf} implementation.")
2541 (license license:bsd-3)))
2542
2543(define-public ghc-descriptive
2544 (package
2545 (name "ghc-descriptive")
2546 (version "0.9.5")
2547 (source
2548 (origin
2549 (method url-fetch)
2550 (uri (string-append
2551 "https://hackage.haskell.org/package/descriptive/descriptive-"
2552 version
2553 ".tar.gz"))
2554 (sha256
2555 (base32
2556 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2557 (build-system haskell-build-system)
2558 (inputs
2559 `(("ghc-aeson" ,ghc-aeson)
2560 ("ghc-bifunctors" ,ghc-bifunctors)
2561 ("ghc-scientific" ,ghc-scientific)
2562 ("ghc-vector" ,ghc-vector)))
2563 (native-inputs
2564 `(("ghc-hunit" ,ghc-hunit)
2565 ("ghc-hspec" ,ghc-hspec)))
2566 (home-page
2567 "https://github.com/chrisdone/descriptive")
2568 (synopsis
2569 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2570 (description
2571 "This package provides datatypes and functions for creating consumers
2572and parsers with useful semantics.")
2573 (license license:bsd-3)))
2574
2575(define-public ghc-diff
2576 (package
2577 (name "ghc-diff")
2578 (version "0.3.4")
2579 (source (origin
2580 (method url-fetch)
2581 (uri (string-append "https://hackage.haskell.org/package/"
2582 "Diff/Diff-" version ".tar.gz"))
2583 (sha256
2584 (base32
2585 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
2586 (build-system haskell-build-system)
2587 (native-inputs
2588 `(("ghc-quickcheck" ,ghc-quickcheck)
2589 ("ghc-test-framework" ,ghc-test-framework)
2590 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2591 (home-page "https://hub.darcs.net/sterlingclover/Diff")
2592 (synopsis "O(ND) diff algorithm in Haskell")
2593 (description
2594 "This package provides an implementation of the standard diff algorithm,
2595and utilities for pretty printing.")
2596 (license license:bsd-3)))
2597
2598(define-public ghc-disk-free-space
2599 (package
2600 (name "ghc-disk-free-space")
2601 (version "0.1.0.1")
2602 (source
2603 (origin
2604 (method url-fetch)
2605 (uri (string-append "https://hackage.haskell.org/package/"
2606 "disk-free-space/disk-free-space-"
2607 version ".tar.gz"))
2608 (sha256
2609 (base32
2610 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
2611 (build-system haskell-build-system)
2612 (home-page "https://github.com/redneb/disk-free-space")
2613 (synopsis "Retrieve information about disk space usage")
2614 (description "A cross-platform library for retrieving information about
2615disk space usage.")
2616 (license license:bsd-3)))
2617
2618(define-public ghc-distributive
2619 (package
2620 (name "ghc-distributive")
2621 (version "0.5.3")
2622 (source
2623 (origin
2624 (method url-fetch)
2625 (uri (string-append
2626 "https://hackage.haskell.org/package/distributive/distributive-"
2627 version
2628 ".tar.gz"))
2629 (sha256
2630 (base32
2631 "0y566r97sfyvhsmd4yxiz4ns2mqgwf5bdbp56wgxl6wlkidq0wwi"))))
2632 (build-system haskell-build-system)
2633 (arguments
2634 `(#:cabal-revision
2635 ("6" "06bd38rf31yrvvy989r44pm0id3dsxwcp6nxg7wk6ccj3n2b8rzk")))
2636 (inputs
2637 `(("ghc-tagged" ,ghc-tagged)
2638 ("ghc-base-orphans" ,ghc-base-orphans)
2639 ("ghc-transformers-compat" ,ghc-transformers-compat)
2640 ("ghc-semigroups" ,ghc-semigroups)
2641 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2642 (native-inputs
2643 `(("cabal-doctest" ,cabal-doctest)
2644 ("ghc-doctest" ,ghc-doctest)
2645 ("ghc-hspec" ,ghc-hspec)
2646 ("hspec-discover" ,hspec-discover)))
2647 (home-page "https://github.com/ekmett/distributive/")
2648 (synopsis "Distributive functors for Haskell")
2649 (description "This package provides distributive functors for Haskell.
2650Dual to @code{Traversable}.")
2651 (license license:bsd-3)))
2652
2653(define-public ghc-dlist
2654 (package
2655 (name "ghc-dlist")
2656 (version "0.8.0.4")
2657 (source
2658 (origin
2659 (method url-fetch)
2660 (uri (string-append
2661 "https://hackage.haskell.org/package/dlist/dlist-"
2662 version
2663 ".tar.gz"))
2664 (sha256
2665 (base32 "0yirrh0s6acjy9hhvf5fqg2d6q5y6gm9xs04v6w1imndh1xqdwdc"))))
2666 (build-system haskell-build-system)
2667 (inputs
2668 `(("ghc-quickcheck" ,ghc-quickcheck)))
2669 (home-page "https://github.com/spl/dlist")
2670 (synopsis "Difference lists")
2671 (description
2672 "Difference lists are a list-like type supporting O(1) append. This is
2673particularly useful for efficient logging and pretty printing (e.g. with the
2674Writer monad), where list append quickly becomes too expensive.")
2675 (license license:bsd-3)))
2676
2677(define-public ghc-doctemplates
2678 (package
2679 (name "ghc-doctemplates")
2680 (version "0.2.2.1")
2681 (source
2682 (origin
2683 (method url-fetch)
2684 (uri (string-append "https://hackage.haskell.org/package/"
2685 "doctemplates/doctemplates-"
2686 version ".tar.gz"))
2687 (sha256
2688 (base32
2689 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
2690 (build-system haskell-build-system)
2691 (inputs
2692 `(("ghc-aeson" ,ghc-aeson)
2693 ("ghc-blaze-markup" ,ghc-blaze-markup)
2694 ("ghc-blaze-html" ,ghc-blaze-html)
2695 ("ghc-vector" ,ghc-vector)
2696 ("ghc-unordered-containers" ,ghc-unordered-containers)
2697 ("ghc-scientific" ,ghc-scientific)))
2698 (native-inputs
2699 `(("ghc-hspec" ,ghc-hspec)))
2700 (home-page "https://github.com/jgm/doctemplates#readme")
2701 (synopsis "Pandoc-style document templates")
2702 (description
2703 "This package provides a simple text templating system used by pandoc.")
2704 (license license:bsd-3)))
2705
2706(define-public ghc-doctest
2707 (package
2708 (name "ghc-doctest")
2709 (version "0.16.0")
2710 (source
2711 (origin
2712 (method url-fetch)
2713 (uri (string-append
2714 "https://hackage.haskell.org/package/doctest/doctest-"
2715 version
2716 ".tar.gz"))
2717 (sha256
2718 (base32
2719 "0hkccch65s3kp0b36h7bqhilnpi4bx8kngncm7ma9vbd3dwacjdv"))))
2720 (build-system haskell-build-system)
2721 (arguments `(#:tests? #f)) ; FIXME: missing test framework
2722 (inputs
2723 `(("ghc-syb" ,ghc-syb)
2724 ("ghc-paths" ,ghc-paths)
2725 ("ghc-base-compat" ,ghc-base-compat)
2726 ("ghc-code-page" ,ghc-code-page)
2727 ("ghc-hunit" ,ghc-hunit)
2728 ("ghc-hspec" ,ghc-hspec)
2729 ("ghc-quickcheck" ,ghc-quickcheck)
2730 ("ghc-stringbuilder" ,ghc-stringbuilder)
2731 ("ghc-silently" ,ghc-silently)
2732 ("ghc-setenv" ,ghc-setenv)))
2733 (home-page
2734 "https://github.com/sol/doctest#readme")
2735 (synopsis "Test interactive Haskell examples")
2736 (description "The doctest program checks examples in source code comments.
2737It is modeled after doctest for Python, see
2738@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
2739 (license license:expat)))
2740
2741(define-public ghc-double-conversion
2742 (package
2743 (name "ghc-double-conversion")
2744 (version "2.0.2.0")
2745 (source
2746 (origin
2747 (method url-fetch)
2748 (uri (string-append "https://hackage.haskell.org/package/"
2749 "double-conversion/double-conversion-"
2750 version ".tar.gz"))
2751 (sha256
2752 (base32
2753 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
2754 (build-system haskell-build-system)
2755 (native-inputs
2756 `(("ghc-hunit" ,ghc-hunit)
2757 ("ghc-test-framework" ,ghc-test-framework)
2758 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2759 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2760 (home-page "https://github.com/bos/double-conversion")
2761 (synopsis "Fast conversion between double precision floating point and text")
2762 (description
2763 "This package provides a library that performs fast, accurate conversion
2764between double precision floating point and text.")
2765 (license license:bsd-3)))
2766
2767(define-public ghc-easy-file
2768 (package
2769 (name "ghc-easy-file")
2770 (version "0.2.2")
2771 (source
2772 (origin
2773 (method url-fetch)
2774 (uri (string-append
2775 "https://hackage.haskell.org/package/easy-file/easy-file-"
2776 version
2777 ".tar.gz"))
2778 (sha256
2779 (base32
2780 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
2781 (build-system haskell-build-system)
2782 (home-page
2783 "https://github.com/kazu-yamamoto/easy-file")
2784 (synopsis "File handling library for Haskell")
2785 (description "This library provides file handling utilities for Haskell.")
2786 (license license:bsd-3)))
2787
2788(define-public ghc-easyplot
2789 (package
2790 (name "ghc-easyplot")
2791 (version "1.0")
2792 (source
2793 (origin
2794 (method url-fetch)
2795 (uri (string-append
2796 "https://hackage.haskell.org/package/easyplot/easyplot-"
2797 version ".tar.gz"))
2798 (sha256
2799 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
2800 (build-system haskell-build-system)
2801 (propagated-inputs `(("gnuplot" ,gnuplot)))
2802 (arguments
2803 `(#:phases (modify-phases %standard-phases
2804 (add-after 'unpack 'fix-setup-suffix
2805 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
2806 (home-page "https://hub.darcs.net/scravy/easyplot")
2807 (synopsis "Haskell plotting library based on gnuplot")
2808 (description "This package provides a plotting library for
2809Haskell, using gnuplot for rendering.")
2810 (license license:expat)))
2811
2812(define-public ghc-echo
2813 (package
2814 (name "ghc-echo")
2815 (version "0.1.3")
2816 (source
2817 (origin
2818 (method url-fetch)
2819 (uri (string-append
2820 "https://hackage.haskell.org/package/echo/echo-"
2821 version ".tar.gz"))
2822 (sha256
2823 (base32
2824 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
2825 (build-system haskell-build-system)
2826 (arguments
2827 `(#:cabal-revision
2828 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
2829 (home-page "https://github.com/RyanGlScott/echo")
2830 (synopsis "Echo terminal input portably")
2831 (description "The @code{base} library exposes the @code{hGetEcho} and
2832@code{hSetEcho} functions for querying and setting echo status, but
2833unfortunately, neither function works with MinTTY consoles on Windows.
2834This library provides an alternative interface which works with both
2835MinTTY and other consoles.")
2836 (license license:bsd-3)))
2837
2838(define-public ghc-edisonapi
2839 (package
2840 (name "ghc-edisonapi")
2841 (version "1.3.1")
2842 (source
2843 (origin
2844 (method url-fetch)
2845 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
2846 "/EdisonAPI-" version ".tar.gz"))
2847 (sha256
2848 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
2849 (build-system haskell-build-system)
2850 (home-page "http://rwd.rdockins.name/edison/home/")
2851 (synopsis "Library of efficient, purely-functional data structures (API)")
2852 (description
2853 "Edison is a library of purely functional data structures written by
2854Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
2855value EDiSon (Efficient Data Structures). Edison provides several families of
2856abstractions, each with multiple implementations. The main abstractions
2857provided by Edison are: Sequences such as stacks, queues, and dequeues;
2858Collections such as sets, bags and heaps; and Associative Collections such as
2859finite maps and priority queues where the priority and element are distinct.")
2860 (license license:expat)))
2861
2862(define-public ghc-edisoncore
2863 (package
2864 (name "ghc-edisoncore")
2865 (version "1.3.2.1")
2866 (source
2867 (origin
2868 (method url-fetch)
2869 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
2870 "/EdisonCore-" version ".tar.gz"))
2871 (sha256
2872 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
2873 (build-system haskell-build-system)
2874 (inputs
2875 `(("ghc-quickcheck" ,ghc-quickcheck)
2876 ("ghc-edisonapi" ,ghc-edisonapi)))
2877 (home-page "http://rwd.rdockins.name/edison/home/")
2878 (synopsis "Library of efficient, purely-functional data structures")
2879 (description
2880 "This package provides the core Edison data structure implementations,
2881including multiple sequence, set, bag, and finite map concrete implementations
2882with various performance characteristics.")
2883 (license license:expat)))
2884
2885(define-public ghc-edit-distance
2886 (package
2887 (name "ghc-edit-distance")
2888 (version "0.2.2.1")
2889 (source
2890 (origin
2891 (method url-fetch)
2892 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
2893 "/edit-distance-" version ".tar.gz"))
2894 (sha256
2895 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
2896 (build-system haskell-build-system)
2897 (arguments
2898 `(#:phases
2899 (modify-phases %standard-phases
2900 (add-before 'configure 'update-constraints
2901 (lambda _
2902 (substitute* "edit-distance.cabal"
2903 (("QuickCheck >= 2\\.4 && <2\\.9")
2904 "QuickCheck >= 2.4 && < 2.12")))))))
2905 (inputs
2906 `(("ghc-random" ,ghc-random)
2907 ("ghc-test-framework" ,ghc-test-framework)
2908 ("ghc-quickcheck" ,ghc-quickcheck)
2909 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2910 (home-page "https://github.com/phadej/edit-distance")
2911 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
2912 (description
2913 "This package provides optimized functions to determine the edit
2914distances for fuzzy matching, including Levenshtein and restricted
2915Damerau-Levenshtein algorithms.")
2916 (license license:bsd-3)))
2917
2918(define-public ghc-either
2919 (package
2920 (name "ghc-either")
2921 (version "5.0.1")
2922 (source
2923 (origin
2924 (method url-fetch)
2925 (uri (string-append "https://hackage.haskell.org/package/"
2926 "either-" version "/"
2927 "either-" version ".tar.gz"))
2928 (sha256
2929 (base32
2930 "064hjfld7dkzs78sy30k5qkiva3hx24rax6dvzz5ygr2c0zypdkc"))))
2931 (build-system haskell-build-system)
2932 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
2933 ("ghc-exceptions" ,ghc-exceptions)
2934 ("ghc-free" ,ghc-free)
2935 ("ghc-monad-control" ,ghc-monad-control)
2936 ("ghc-manodrandom" ,ghc-monadrandom)
2937 ("ghc-mmorph" ,ghc-mmorph)
2938 ("ghc-profunctors" ,ghc-profunctors)
2939 ("ghc-semigroups" ,ghc-semigroups)
2940 ("ghc-semigroupoids" ,ghc-semigroupoids)
2941 ("ghc-transformers-base" ,ghc-transformers-base)))
2942 (native-inputs
2943 `(("ghc-quickcheck" ,ghc-quickcheck)
2944 ("ghc-test-framework" ,ghc-test-framework)
2945 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2946 (home-page "https://github.com/ekmett/either")
2947 (synopsis "Provides an either monad transformer for Haskell")
2948 (description "This Haskell package provides an either monad transformer.")
2949 (license license:bsd-3)))
2950
2951(define-public ghc-email-validate
2952 (package
2953 (name "ghc-email-validate")
2954 (version "2.3.2.6")
2955 (source
2956 (origin
2957 (method url-fetch)
2958 (uri (string-append
2959 "https://hackage.haskell.org/package/"
2960 "email-validate/email-validate-"
2961 version
2962 ".tar.gz"))
2963 (sha256
2964 (base32
2965 "0chgylvc8xmhp933rdbmpg5sv4y7yg2h6kbf0ip1dzmbd5p55pa5"))))
2966 (build-system haskell-build-system)
2967 (inputs
2968 `(("ghc-attoparsec" ,ghc-attoparsec)
2969 ("ghc-hspec" ,ghc-hspec)
2970 ("ghc-quickcheck" ,ghc-quickcheck)
2971 ("ghc-doctest" ,ghc-doctest)))
2972 (home-page
2973 "https://github.com/Porges/email-validate-hs")
2974 (synopsis "Email address validator for Haskell")
2975 (description
2976 "This Haskell package provides a validator that can validate an email
2977address string against RFC 5322.")
2978 (license license:bsd-3)))
2979
2980(define-public ghc-enclosed-exceptions
2981 (package
2982 (name "ghc-enclosed-exceptions")
2983 (version "1.0.3")
2984 (source (origin
2985 (method url-fetch)
2986 (uri (string-append "https://hackage.haskell.org/package/"
2987 "enclosed-exceptions/enclosed-exceptions-"
2988 version ".tar.gz"))
2989 (sha256
2990 (base32
2991 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
2992 (build-system haskell-build-system)
2993 ;; FIXME: one of the tests blocks forever:
2994 ;; "thread blocked indefinitely in an MVar operation"
2995 (arguments '(#:tests? #f))
2996 (inputs
2997 `(("ghc-lifted-base" ,ghc-lifted-base)
2998 ("ghc-monad-control" ,ghc-monad-control)
2999 ("ghc-async" ,ghc-async)
3000 ("ghc-transformers-base" ,ghc-transformers-base)))
3001 (native-inputs
3002 `(("ghc-hspec" ,ghc-hspec)
3003 ("ghc-quickcheck" ,ghc-quickcheck)))
3004 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3005 (synopsis "Catch all exceptions from within an enclosed computation")
3006 (description
3007 "This library implements a technique to catch all exceptions raised
3008within an enclosed computation, while remaining responsive to (external)
3009asynchronous exceptions.")
3010 (license license:expat)))
3011
3012(define-public ghc-equivalence
3013 (package
3014 (name "ghc-equivalence")
3015 (version "0.3.2")
3016 (source
3017 (origin
3018 (method url-fetch)
3019 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3020 "/equivalence-" version ".tar.gz"))
3021 (sha256
3022 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
3023 (build-system haskell-build-system)
3024 (inputs
3025 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3026 ("ghc-transformers-compat" ,ghc-transformers-compat)
3027 ("ghc-quickcheck" ,ghc-quickcheck)
3028 ("ghc-test-framework" ,ghc-test-framework)
3029 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3030 (home-page "https://github.com/pa-ba/equivalence")
3031 (synopsis "Maintaining an equivalence relation implemented as union-find")
3032 (description
3033 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3034Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
303522(2), 1975) in order to maintain an equivalence relation. This
3036implementation is a port of the @code{union-find} package using the @code{ST}
3037monad transformer (instead of the IO monad).")
3038 (license license:bsd-3)))
3039
3040(define-public ghc-erf
3041 (package
3042 (name "ghc-erf")
3043 (version "2.0.0.0")
3044 (source
3045 (origin
3046 (method url-fetch)
3047 (uri (string-append "https://hackage.haskell.org/package/"
3048 "erf-" version "/"
3049 "erf-" version ".tar.gz"))
3050 (sha256
3051 (base32
3052 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3053 (build-system haskell-build-system)
3054 (home-page "https://hackage.haskell.org/package/erf")
3055 (synopsis "The error function, erf, and related functions for Haskell")
3056 (description "This Haskell library provides a type class for the
3057error function, erf, and related functions. Instances for Float and
3058Double.")
3059 (license license:bsd-3)))
3060
3061(define-public ghc-errorcall-eq-instance
3062 (package
3063 (name "ghc-errorcall-eq-instance")
3064 (version "0.3.0")
3065 (source
3066 (origin
3067 (method url-fetch)
3068 (uri (string-append "https://hackage.haskell.org/package/"
3069 "errorcall-eq-instance/errorcall-eq-instance-"
3070 version ".tar.gz"))
3071 (sha256
3072 (base32
3073 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3074 (build-system haskell-build-system)
3075 (inputs
3076 `(("ghc-base-orphans" ,ghc-base-orphans)))
3077 (native-inputs
3078 `(("ghc-quickcheck" ,ghc-quickcheck)
3079 ("ghc-hspec" ,ghc-hspec)
3080 ("hspec-discover" ,hspec-discover)))
3081 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3082 (synopsis "Orphan Eq instance for ErrorCall")
3083 (description
3084 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3085This package provides an orphan instance.")
3086 (license license:expat)))
3087
3088(define-public ghc-errors
3089 (package
3090 (name "ghc-errors")
3091 (version "2.3.0")
3092 (source
3093 (origin
3094 (method url-fetch)
3095 (uri (string-append "https://hackage.haskell.org/package/"
3096 "errors-" version "/"
3097 "errors-" version ".tar.gz"))
3098 (sha256
3099 (base32
3100 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3101 (build-system haskell-build-system)
3102 (inputs
3103 `(("ghc-exceptions" ,ghc-exceptions)
3104 ("ghc-transformers-compat" ,ghc-transformers-compat)
3105 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3106 ("ghc-safe" ,ghc-safe)))
3107 (home-page "https://github.com/gabriel439/haskell-errors-library")
3108 (synopsis "Error handling library for Haskell")
3109 (description "This library encourages an error-handling style that
3110directly uses the type system, rather than out-of-band exceptions.")
3111 (license license:bsd-3)))
3112
3113(define-public ghc-esqueleto
3114 (let ((version "2.5.3")
3115 (revision "1")
3116 (commit "b81e0d951e510ebffca03c5a58658ad884cc6fbd"))
3117 (package
3118 (name "ghc-esqueleto")
3119 (version (git-version version revision commit))
3120 (source
3121 (origin
3122 (method git-fetch)
3123 (uri (git-reference
3124 (url "https://github.com/bitemyapp/esqueleto")
3125 (commit commit)))
3126 (file-name (git-file-name name version))
3127 (sha256
3128 (base32
3129 "0lz1qxms7cfg5p3j37inlych0r2fwhm8xbarcys3df9m7jy9nixa"))))
3130 (build-system haskell-build-system)
3131 (arguments
3132 `(#:haddock? #f ; Haddock reports an internal error.
3133 #:phases
3134 (modify-phases %standard-phases
3135 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3136 ;; SQLite backends. Since we only have Haskell packages for
3137 ;; SQLite, we remove the other two test suites. FIXME: Add the
3138 ;; other backends and run all three test suites.
3139 (add-before 'configure 'remove-non-sqlite-test-suites
3140 (lambda _
3141 (use-modules (ice-9 rdelim))
3142 (with-atomic-file-replacement "esqueleto.cabal"
3143 (lambda (in out)
3144 (let loop ((line (read-line in 'concat)) (deleting? #f))
3145 (cond
3146 ((eof-object? line) #t)
3147 ((string-every char-set:whitespace line)
3148 (unless deleting? (display line out))
3149 (loop (read-line in 'concat) #f))
3150 ((member line '("test-suite mysql\n"
3151 "test-suite postgresql\n"))
3152 (loop (read-line in 'concat) #t))
3153 (else
3154 (unless deleting? (display line out))
3155 (loop (read-line in 'concat) deleting?)))))))))))
3156 (inputs
3157 `(("ghc-blaze-html" ,ghc-blaze-html)
3158 ("ghc-conduit" ,ghc-conduit)
3159 ("ghc-monad-logger" ,ghc-monad-logger)
3160 ("ghc-persistent" ,ghc-persistent)
3161 ("ghc-resourcet" ,ghc-resourcet)
3162 ("ghc-tagged" ,ghc-tagged)
3163 ("ghc-unliftio" ,ghc-unliftio)
3164 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3165 (native-inputs
3166 `(("ghc-hspec" ,ghc-hspec)
3167 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3168 ("ghc-persistent-template" ,ghc-persistent-template)))
3169 (home-page "https://github.com/bitemyapp/esqueleto")
3170 (synopsis "Type-safe embedded domain specific language for SQL queries")
3171 (description "This library provides a type-safe embedded domain specific
3172language (EDSL) for SQL queries that works with SQL backends as provided by
3173@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3174to learn new concepts, just new syntax, and it's fairly easy to predict the
3175generated SQL and optimize it for your backend.")
3176 (license license:bsd-3))))
3177
3178(define-public ghc-exactprint
3179 (package
3180 (name "ghc-exactprint")
3181 (version "0.5.6.1")
3182 (source
3183 (origin
3184 (method url-fetch)
3185 (uri (string-append
3186 "https://hackage.haskell.org/package/"
3187 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3188 (sha256
3189 (base32
3190 "141k6qiys0m0r4br7ikp4i546vs3xcil9cwglzcdfcbnb5nj1z87"))))
3191 (build-system haskell-build-system)
3192 (inputs
3193 `(("ghc-paths" ,ghc-paths)
3194 ("ghc-syb" ,ghc-syb)
3195 ("ghc-free" ,ghc-free)))
3196 (native-inputs
3197 `(("ghc-hunit" ,ghc-hunit)
3198 ("ghc-diff" ,ghc-diff)
3199 ("ghc-silently" ,ghc-silently)
3200 ("ghc-filemanip" ,ghc-filemanip)))
3201 (home-page
3202 "http://hackage.haskell.org/package/ghc-exactprint")
3203 (synopsis "ExactPrint for GHC")
3204 (description
3205 "Using the API Annotations available from GHC 7.10.2, this library
3206provides a means to round-trip any code that can be compiled by GHC, currently
3207excluding @file{.lhs} files.")
3208 (license license:bsd-3)))
3209
3210(define-public ghc-exceptions
3211 (package
3212 (name "ghc-exceptions")
3213 (version "0.10.0")
3214 (source
3215 (origin
3216 (method url-fetch)
3217 (uri (string-append
3218 "https://hackage.haskell.org/package/exceptions/exceptions-"
3219 version
3220 ".tar.gz"))
3221 (sha256
3222 (base32
3223 "1ms9zansv0pwzwdjncvx4kf18lnkjy2p61hvjhvxmjx5bqp93p8y"))))
3224 (build-system haskell-build-system)
3225 (native-inputs
3226 `(("ghc-quickcheck" ,ghc-quickcheck)
3227 ("ghc-test-framework" ,ghc-test-framework)
3228 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3229 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3230 (inputs
3231 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3232 (home-page "https://github.com/ekmett/exceptions/")
3233 (synopsis "Extensible optionally-pure exceptions")
3234 (description "This library provides extensible optionally-pure exceptions
3235for Haskell.")
3236 (license license:bsd-3)))
3237
3238(define-public ghc-executable-path
3239 (package
3240 (name "ghc-executable-path")
3241 (version "0.0.3.1")
3242 (source (origin
3243 (method url-fetch)
3244 (uri (string-append "https://hackage.haskell.org/package/"
3245 "executable-path/executable-path-"
3246 version ".tar.gz"))
3247 (sha256
3248 (base32
3249 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3250 (build-system haskell-build-system)
3251 (home-page "https://hackage.haskell.org/package/executable-path")
3252 (synopsis "Find out the full path of the executable")
3253 (description
3254 "The documentation of @code{System.Environment.getProgName} says that
3255\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3256instead, for maximum portability, we just return the leafname of the program
3257as invoked.\" This library tries to provide the missing path.")
3258 (license license:public-domain)))
3259
3260(define-public ghc-extensible-exceptions
3261 (package
3262 (name "ghc-extensible-exceptions")
3263 (version "0.1.1.4")
3264 (source
3265 (origin
3266 (method url-fetch)
3267 (uri (string-append "https://hackage.haskell.org/package/"
3268 "extensible-exceptions/extensible-exceptions-"
3269 version ".tar.gz"))
3270 (sha256
3271 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3272 (build-system haskell-build-system)
3273 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3274 (synopsis "Extensible exceptions for Haskell")
3275 (description
3276 "This package provides extensible exceptions for both new and old
3277versions of GHC (i.e., < 6.10).")
3278 (license license:bsd-3)))
3279
3280(define-public ghc-extra
3281 (package
3282 (name "ghc-extra")
3283 (version "1.6.9")
3284 (source
3285 (origin
3286 (method url-fetch)
3287 (uri (string-append
3288 "https://hackage.haskell.org/package/extra/extra-"
3289 version
3290 ".tar.gz"))
3291 (sha256
3292 (base32
3293 "0xxcpb00pgwi9cmy6a7ghh6rblxry42p8pz5ssfgj20fs1xwzj1b"))))
3294 (build-system haskell-build-system)
3295 (inputs
3296 `(("ghc-clock" ,ghc-clock)
3297 ("ghc-quickcheck" ,ghc-quickcheck)))
3298 (home-page "https://github.com/ndmitchell/extra")
3299 (synopsis "Extra Haskell functions")
3300 (description "This library provides extra functions for the standard
3301Haskell libraries. Most functions are simple additions, filling out missing
3302functionality. A few functions are available in later versions of GHC, but
3303this package makes them available back to GHC 7.2.")
3304 (license license:bsd-3)))
3305
3306(define-public ghc-fail
3307 (package
3308 (name "ghc-fail")
3309 (version "4.9.0.0")
3310 (source
3311 (origin
3312 (method url-fetch)
3313 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3314 version ".tar.gz"))
3315 (sha256
3316 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3317 (build-system haskell-build-system)
3318 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3319 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3320 (synopsis "Forward-compatible MonadFail class")
3321 (description
3322 "This package contains the @code{Control.Monad.Fail} module providing the
3323@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3324class that became available in
3325@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3326older @code{base} package versions. This package turns into an empty package
3327when used with GHC versions which already provide the
3328@code{Control.Monad.Fail} module.")
3329 (license license:bsd-3)))
3330
3331(define-public ghc-fast-logger
3332 (package
3333 (name "ghc-fast-logger")
3334 (version "2.4.11")
3335 (source
3336 (origin
3337 (method url-fetch)
3338 (uri (string-append
3339 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3340 version
3341 ".tar.gz"))
3342 (sha256
3343 (base32
3344 "1ad2vq4nifdxshqk9yrmghqizhkgybfz134kpr6padglb2mxxrdv"))))
3345 (build-system haskell-build-system)
3346 (inputs
3347 `(("ghc-auto-update" ,ghc-auto-update)
3348 ("ghc-easy-file" ,ghc-easy-file)
3349 ("ghc-unix-time" ,ghc-unix-time)))
3350 (native-inputs
3351 `(("hspec-discover" ,hspec-discover)
3352 ("ghc-hspec" ,ghc-hspec)))
3353 (home-page "https://hackage.haskell.org/package/fast-logger")
3354 (synopsis "Fast logging system")
3355 (description "This library provides a fast logging system for Haskell.")
3356 (license license:bsd-3)))
3357
3358(define-public ghc-feed
3359 (package
3360 (name "ghc-feed")
3361 (version "1.0.0.0")
3362 (source
3363 (origin
3364 (method url-fetch)
3365 (uri (string-append "https://hackage.haskell.org/package/"
3366 "feed/feed-" version ".tar.gz"))
3367 (sha256
3368 (base32
3369 "05rgg7x1984mgfhkmz792xj8lhwjgznixhygzr8blf517lns2nck"))))
3370 (build-system haskell-build-system)
3371 (arguments
3372 `(#:cabal-revision
3373 ("4" "0baavcavm3ywykcr9cm07aqr7sna98jba2n68lyn3kany8ri214d")))
3374 (inputs
3375 `(("ghc-base-compat" ,ghc-base-compat)
3376 ("ghc-old-locale" ,ghc-old-locale)
3377 ("ghc-old-time" ,ghc-old-time)
3378 ("ghc-safe" ,ghc-safe)
3379 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3380 ("ghc-utf8-string" ,ghc-utf8-string)
3381 ("ghc-xml-conduit" ,ghc-xml-conduit)
3382 ("ghc-xml-types" ,ghc-xml-types)))
3383 (native-inputs
3384 `(("ghc-hunit" ,ghc-hunit)
3385 ("ghc-test-framework" ,ghc-test-framework)
3386 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3387 (home-page "https://github.com/bergmark/feed")
3388 (synopsis "Haskell package for handling various syndication formats")
3389 (description "This Haskell package includes tools for generating and
3390consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3391 (license license:bsd-3)))
3392
3393(define-public ghc-fgl
3394 (package
3395 (name "ghc-fgl")
3396 (version "5.6.0.0")
3397 (outputs '("out" "doc"))
3398 (source
3399 (origin
3400 (method url-fetch)
3401 (uri (string-append
3402 "https://hackage.haskell.org/package/fgl/fgl-"
3403 version
3404 ".tar.gz"))
3405 (sha256
3406 (base32
3407 "1i6cp4b3w7sjk7y1dq3fh6bci2sm5h3lnbbaw9ln19nwncg2wwll"))))
3408 (build-system haskell-build-system)
3409 (arguments
3410 `(#:phases
3411 (modify-phases %standard-phases
3412 (add-before 'configure 'update-constraints
3413 (lambda _
3414 (substitute* "fgl.cabal"
3415 (("QuickCheck >= 2\\.8 && < 2\\.10")
3416 "QuickCheck >= 2.8 && < 2.12")
3417 (("hspec >= 2\\.1 && < 2\\.5")
3418 "hspec >= 2.1 && < 2.6")))))))
3419 (inputs
3420 `(("ghc-hspec" ,ghc-hspec)
3421 ("ghc-quickcheck" ,ghc-quickcheck)))
3422 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3423 (synopsis
3424 "Martin Erwig's Functional Graph Library")
3425 (description "The functional graph library, FGL, is a collection of type
3426and function definitions to address graph problems. The basis of the library
3427is an inductive definition of graphs in the style of algebraic data types that
3428encourages inductive, recursive definitions of graph algorithms.")
3429 (license license:bsd-3)))
3430
3431(define-public ghc-fgl-arbitrary
3432 (package
3433 (name "ghc-fgl-arbitrary")
3434 (version "0.2.0.3")
3435 (source
3436 (origin
3437 (method url-fetch)
3438 (uri (string-append
3439 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3440 version ".tar.gz"))
3441 (sha256
3442 (base32
3443 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3444 (build-system haskell-build-system)
3445 (arguments
3446 `(#:phases
3447 (modify-phases %standard-phases
3448 (add-before 'configure 'update-constraints
3449 (lambda _
3450 (substitute* "fgl-arbitrary.cabal"
3451 (("QuickCheck >= 2\\.3 && < 2\\.10")
3452 "QuickCheck >= 2.3 && < 2.12")
3453 (("hspec >= 2\\.1 && < 2\\.5")
3454 "hspec >= 2.1 && < 2.6")))))))
3455 (inputs
3456 `(("ghc-fgl" ,ghc-fgl)
3457 ("ghc-quickcheck" ,ghc-quickcheck)
3458 ("ghc-hspec" ,ghc-hspec)))
3459 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3460 (synopsis "QuickCheck support for fgl")
3461 (description
3462 "Provides Arbitrary instances for fgl graphs to avoid adding a
3463QuickCheck dependency for fgl whilst still making the instances
3464available to others. Also available are non-fgl-specific functions
3465for generating graph-like data structures.")
3466 (license license:bsd-3)))
3467
3468(define-public ghc-file-embed
3469 (package
3470 (name "ghc-file-embed")
3471 (version "0.0.10.1")
3472 (source
3473 (origin
3474 (method url-fetch)
3475 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3476 "file-embed-" version ".tar.gz"))
3477 (sha256
3478 (base32
3479 "0lj164cnzqyd487mli91nnr7137a4h4qsasfwsnsh77sx12fpk9k"))))
3480 (build-system haskell-build-system)
3481 (home-page "https://github.com/snoyberg/file-embed")
3482 (synopsis "Use Template Haskell to embed file contents directly")
3483 (description
3484 "This package allows you to use Template Haskell to read a file or all
3485the files in a directory, and turn them into @code{(path, bytestring)} pairs
3486embedded in your Haskell code.")
3487 (license license:bsd-3)))
3488
3489(define-public ghc-filemanip
3490 (package
3491 (name "ghc-filemanip")
3492 (version "0.3.6.3")
3493 (source (origin
3494 (method url-fetch)
3495 (uri (string-append "https://hackage.haskell.org/package/"
3496 "filemanip/filemanip-" version ".tar.gz"))
3497 (sha256
3498 (base32
3499 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3500 (build-system haskell-build-system)
3501 (inputs
3502 `(("ghc-unix-compat" ,ghc-unix-compat)))
3503 (home-page "https://github.com/bos/filemanip")
3504 (synopsis "File and directory manipulation for Haskell")
3505 (description
3506 "This package provides a Haskell library for working with files and
3507directories. It includes code for pattern matching, finding files, modifying
3508file contents, and more.")
3509 (license license:bsd-3)))
3510
3511(define-public ghc-findbin
3512 (package
3513 (name "ghc-findbin")
3514 (version "0.0.5")
3515 (source
3516 (origin
3517 (method url-fetch)
3518 (uri (string-append
3519 "https://hackage.haskell.org/package/FindBin/FindBin-"
3520 version ".tar.gz"))
3521 (sha256
3522 (base32
3523 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3524 (build-system haskell-build-system)
3525 (home-page "https://github.com/audreyt/findbin")
3526 (synopsis "Get the absolute path of the running program")
3527 (description
3528 "This module locates the full directory of the running program, to allow
3529the use of paths relative to it. FindBin supports invocation of Haskell
3530programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3531an executable.")
3532 (license license:bsd-3)))
3533
3534(define-public ghc-fingertree
3535 (package
3536 (name "ghc-fingertree")
3537 (version "0.1.4.1")
3538 (source
3539 (origin
3540 (method url-fetch)
3541 (uri (string-append
3542 "https://hackage.haskell.org/package/fingertree/fingertree-"
3543 version ".tar.gz"))
3544 (sha256
3545 (base32
3546 "192fyzv0pn1437wdpqg1l80rswkk4rw3w61r4bq7dhv354bdqy4p"))))
3547 (build-system haskell-build-system)
3548 (native-inputs
3549 `(("ghc-hunit" ,ghc-hunit)
3550 ("ghc-quickcheck" ,ghc-quickcheck)
3551 ("ghc-test-framework" ,ghc-test-framework)
3552 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3553 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3554 (home-page "https://hackage.haskell.org/package/fingertree")
3555 (synopsis "Generic finger-tree structure")
3556 (description "This library provides finger trees, a general sequence
3557representation with arbitrary annotations, for use as a base for
3558implementations of various collection types. It includes examples, as
3559described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3560simple general-purpose data structure\".")
3561 (license license:bsd-3)))
3562
3563(define-public ghc-fixed
3564 (package
3565 (name "ghc-fixed")
3566 (version "0.2.1.1")
3567 (source
3568 (origin
3569 (method url-fetch)
3570 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
3571 version ".tar.gz"))
3572 (sha256
3573 (base32
3574 "1qhmwx8iqshns0crmr9d2f8hm65jxbcp3dvv0c39v34ra7if3a94"))))
3575 (build-system haskell-build-system)
3576 (home-page "https://github.com/ekmett/fixed")
3577 (synopsis "Signed 15.16 precision fixed point arithmetic")
3578 (description
3579 "This package provides functions for signed 15.16 precision fixed point
3580arithmetic.")
3581 (license license:bsd-3)))
3582
f169f713
JS
3583(define-public ghc-fmlist
3584 (package
3585 (name "ghc-fmlist")
3586 (version "0.9.2")
3587 (source
3588 (origin
3589 (method url-fetch)
3590 (uri
3591 (string-append
3592 "https://hackage.haskell.org/package/fmlist/fmlist-"
3593 version ".tar.gz"))
3594 (sha256
3595 (base32
3596 "02868865hqm189h5wjd916abvqwkhbrx5b0119s1dwp70ifvbi4g"))))
3597 (build-system haskell-build-system)
3598 (home-page "https://github.com/sjoerdvisscher/fmlist")
3599 (synopsis "FoldMap lists")
3600 (description "FoldMap lists are lists represented by their
3601@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
3602append, just like DLists, but other operations might have favorable
3603performance characteristics as well. These wild claims are still
3604completely unverified though.")
3605 (license license:bsd-3)))
3606
dddbc90c
RV
3607(define-public ghc-foldl
3608 (package
3609 (name "ghc-foldl")
3610 (version "1.4.3")
3611 (source
3612 (origin
3613 (method url-fetch)
3614 (uri (string-append "https://hackage.haskell.org/package/"
3615 "foldl-" version "/"
3616 "foldl-" version ".tar.gz"))
3617 (sha256
3618 (base32
3619 "13n0ca3hw5jzqf6rxsdbhbwkn61a9zlm13f0f205s60j3sc72jzk"))))
3620 (build-system haskell-build-system)
3621 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3622 ("ghc-primitive" ,ghc-primitive)
3623 ("ghc-vector" ,ghc-vector)
3624 ("ghc-unordered-containers" ,ghc-unordered-containers)
3625 ("ghc-hashable" ,ghc-hashable)
3626 ("ghc-contravariant" ,ghc-contravariant)
3627 ("ghc-semigroups" ,ghc-semigroups)
3628 ("ghc-profunctors" ,ghc-profunctors)
3629 ("ghc-semigroupoids" ,ghc-semigroupoids)
3630 ("ghc-comonad" ,ghc-comonad)
3631 ("ghc-vector-builder" ,ghc-vector-builder)))
3632 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
3633 (synopsis "Composable, streaming, and efficient left folds for Haskell")
3634 (description "This Haskell library provides strict left folds that stream
3635in constant memory, and you can combine folds using @code{Applicative} style
3636to derive new folds. Derived folds still traverse the container just once
3637and are often as efficient as hand-written folds.")
3638 (license license:bsd-3)))
3639
3640(define-public ghc-foundation
3641 (package
3642 (name "ghc-foundation")
3643 (version "0.0.21")
3644 (source
3645 (origin
3646 (method url-fetch)
3647 (uri (string-append "https://hackage.haskell.org/package/"
3648 "foundation/foundation-" version ".tar.gz"))
3649 (sha256
3650 (base32
3651 "1q43y8wfj0wf9gdq2kzphwjwq6m5pvryy1lqgk954aq5z3ks1lsf"))))
3652 (build-system haskell-build-system)
3653 (inputs `(("ghc-basement" ,ghc-basement)))
3654 (home-page "https://github.com/haskell-foundation/foundation")
3655 (synopsis "Alternative prelude with batteries and no dependencies")
3656 (description
3657 "This package provides a custom prelude with no dependencies apart from
3658the base package.
3659
3660Foundation has the following goals:
3661
3662@enumerate
3663@item provide a base like sets of modules that provide a consistent set of
3664 features and bugfixes across multiple versions of GHC (unlike base).
3665@item provide a better and more efficient prelude than base's prelude.
3666@item be self-sufficient: no external dependencies apart from base;
3667@item provide better data-types: packed unicode string by default, arrays;
3668@item Numerical classes that better represent mathematical things (no more
3669 all-in-one @code{Num});
3670@item I/O system with less lazy IO.
3671@end enumerate\n")
3672 (license license:bsd-3)))
3673
3674(define-public ghc-free
3675 (package
3676 (name "ghc-free")
3677 (version "5.0.2")
3678 (source
3679 (origin
3680 (method url-fetch)
3681 (uri (string-append
3682 "https://hackage.haskell.org/package/free/free-"
3683 version
3684 ".tar.gz"))
3685 (sha256
3686 (base32
3687 "15m3n9vhz7z3kzv1w3wlfa3x8jp4cbrkwmrcjr7jlx39iqffn1gg"))))
3688 (build-system haskell-build-system)
3689 (inputs
3690 `(("ghc-prelude-extras" ,ghc-prelude-extras)
3691 ("ghc-profunctors" ,ghc-profunctors)
3692 ("ghc-exceptions" ,ghc-exceptions)
3693 ("ghc-bifunctors" ,ghc-bifunctors)
3694 ("ghc-comonad" ,ghc-comonad)
3695 ("ghc-distributive" ,ghc-distributive)
3696 ("ghc-semigroupoids" ,ghc-semigroupoids)
3697 ("ghc-semigroups" ,ghc-semigroups)
3698 ("ghc-transformers-base" ,ghc-transformers-base)
3699 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3700 (home-page "https://github.com/ekmett/free/")
3701 (synopsis "Unrestricted monads for Haskell")
3702 (description "This library provides free monads, which are useful for many
3703tree-like structures and domain specific languages. If @code{f} is a
3704@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
3705whose nodes are labeled with the constructors of @code{f}. The word \"free\"
3706is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
3707f} makes no constraining assumptions beyond those given by @code{f} and the
3708definition of @code{Monad}.")
3709 (license license:bsd-3)))
3710
3711(define-public ghc-fsnotify
3712 (package
3713 (name "ghc-fsnotify")
3714 (version "0.3.0.1")
3715 (source (origin
3716 (method url-fetch)
3717 (uri (string-append
3718 "https://hackage.haskell.org/package/fsnotify/"
3719 "fsnotify-" version ".tar.gz"))
3720 (sha256
3721 (base32
3722 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
3723 (build-system haskell-build-system)
3724 (inputs
3725 `(("ghc-async" ,ghc-async)
3726 ("ghc-unix-compat" ,ghc-unix-compat)
3727 ("ghc-hinotify" ,ghc-hinotify)
3728 ("ghc-tasty" ,ghc-tasty)
3729 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3730 ("ghc-random" ,ghc-random)
3731 ("ghc-shelly" ,ghc-shelly)
3732 ("ghc-temporary" ,ghc-temporary)))
3733 (home-page "https://github.com/haskell-fswatch/hfsnotify")
3734 (synopsis "Cross platform library for file change notification.")
3735 (description "Cross platform library for file creation, modification, and
3736deletion notification. This library builds upon existing libraries for platform
3737specific Windows, Mac, and Linux file system event notification.")
3738 (license license:bsd-3)))
3739
3740(define-public ghc-generic-deriving
3741 (package
3742 (name "ghc-generic-deriving")
3743 (version "1.12.2")
3744 (source
3745 (origin
3746 (method url-fetch)
3747 (uri (string-append
3748 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
3749 version
3750 ".tar.gz"))
3751 (sha256
3752 (base32
3753 "1i7d6cpj9yhaqb79zays3nqchhaacacjz9bkc0zlwj73y5gvi22n"))))
3754 (build-system haskell-build-system)
3755 (inputs
3756 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
3757 (native-inputs
3758 `(("ghc-hspec" ,ghc-hspec)
3759 ("hspec-discover" ,hspec-discover)))
3760 (home-page "https://hackage.haskell.org/package/generic-deriving")
3761 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3762 (description "This package provides functionality for generalising the
3763deriving mechanism in Haskell to arbitrary classes.")
3764 (license license:bsd-3)))
3765
3766(define-public ghc-generics-sop
3767 (package
3768 (name "ghc-generics-sop")
3769 (version "0.3.2.0")
3770 (source
3771 (origin
3772 (method url-fetch)
3773 (uri (string-append "https://hackage.haskell.org/package/"
3774 "generics-sop-" version "/"
3775 "generics-sop-" version ".tar.gz"))
3776 (sha256
3777 (base32
3778 "168v62i845jh9jbfaz3ldz8svz4wmzq9mf2vhb7pxlnbkk8fqq1h"))))
3779 (build-system haskell-build-system)
3780 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3781 (home-page "https://github.com/well-typed/generics-sop")
3782 (synopsis "Generic Programming using True Sums of Products for Haskell")
3783 (description "This Haskell package supports the definition of generic
3784functions. Datatypes are viewed in a uniform, structured way: the choice
3785between constructors is represented using an n-ary sum, and the arguments of
3786each constructor are represented using an n-ary product.")
3787 (license license:bsd-3)))
3788
3789(define-public ghc-geniplate-mirror
3790 (package
3791 (name "ghc-geniplate-mirror")
3792 (version "0.7.6")
3793 (source
3794 (origin
3795 (method url-fetch)
3796 (uri (string-append "https://hackage.haskell.org/package"
3797 "/geniplate-mirror"
3798 "/geniplate-mirror-" version ".tar.gz"))
3799 (sha256
3800 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
3801 (build-system haskell-build-system)
3802 (home-page "https://github.com/danr/geniplate")
3803 (synopsis "Use Template Haskell to generate Uniplate-like functions")
3804 (description
3805 "Use Template Haskell to generate Uniplate-like functions. This is a
3806maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
3807geniplate} package, written by Lennart Augustsson.")
3808 (license license:bsd-3)))
3809
3810(define-public ghc-genvalidity
3811 (package
3812 (name "ghc-genvalidity")
3813 (version "0.5.1.0")
3814 (source
3815 (origin
3816 (method url-fetch)
3817 (uri (string-append
3818 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
3819 version
3820 ".tar.gz"))
3821 (sha256
3822 (base32
3823 "17ykq38j9a2lzir6dqz5jgy6ndaafrpkhqhcg96c5ppg7wcxaaj0"))))
3824 (build-system haskell-build-system)
3825 (inputs
3826 `(("ghc-quickcheck" ,ghc-quickcheck)
3827 ("ghc-validity" ,ghc-validity)))
3828 (native-inputs
3829 `(("ghc-hspec" ,ghc-hspec)
3830 ("hspec-discover" ,hspec-discover)
3831 ("ghc-hspec-core" ,ghc-hspec-core)))
3832 (home-page
3833 "https://github.com/NorfairKing/validity")
3834 (synopsis
3835 "Testing utilities for the @code{validity} library")
3836 (description
3837 "This package provides testing utilities that are useful in conjunction
3838with the @code{Validity} typeclass.")
3839 (license license:expat)))
3840
3841(define-public ghc-genvalidity-property
3842 (package
3843 (name "ghc-genvalidity-property")
3844 (version "0.2.1.1")
3845 (source
3846 (origin
3847 (method url-fetch)
3848 (uri (string-append
3849 "https://hackage.haskell.org/package/"
3850 "genvalidity-property/genvalidity-property-"
3851 version
3852 ".tar.gz"))
3853 (sha256
3854 (base32
3855 "0cjw5i2pydidda9bnp6x37ylhxdk9g874x5sadr6sscg5kq85a1b"))))
3856 (build-system haskell-build-system)
3857 (inputs
3858 `(("ghc-quickcheck" ,ghc-quickcheck)
3859 ("ghc-genvalidity" ,ghc-genvalidity)
3860 ("ghc-hspec" ,ghc-hspec)
3861 ("hspec-discover" ,hspec-discover)
3862 ("ghc-validity" ,ghc-validity)))
3863 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
3864 (home-page
3865 "https://github.com/NorfairKing/validity")
3866 (synopsis
3867 "Standard properties for functions on @code{Validity} types")
3868 (description
3869 "This package supplements the @code{Validity} typeclass with standard
3870properties for functions operating on them.")
3871 (license license:expat)))
3872
3873(define-public ghc-gitrev
3874 (package
3875 (name "ghc-gitrev")
3876 (version "1.3.1")
3877 (source
3878 (origin
3879 (method url-fetch)
3880 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
3881 version ".tar.gz"))
3882 (sha256
3883 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
3884 (build-system haskell-build-system)
3885 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
3886 (home-page "https://github.com/acfoltzer/gitrev")
3887 (synopsis "Compile git revision info into Haskell projects")
3888 (description
3889 "This package provides some handy Template Haskell splices for including
3890the current git hash and branch in the code of your project. This is useful
3891for including in panic messages, @command{--version} output, or diagnostic
3892info for more informative bug reports.")
3893 (license license:bsd-3)))
3894
3895(define-public ghc-glob
3896 (package
3897 (name "ghc-glob")
3898 (version "0.9.2")
3899 (source
3900 (origin
3901 (method url-fetch)
3902 (uri (string-append "https://hackage.haskell.org/package/"
3903 "Glob-" version "/"
3904 "Glob-" version ".tar.gz"))
3905 (sha256
3906 (base32
3907 "1rbwcq9w9951qsnp13vqcm9r01yax2yh1wk8s4zxa3ckk9717iwg"))))
3908 (build-system haskell-build-system)
3909 (inputs
3910 `(("ghc-dlist" ,ghc-dlist)
3911 ("ghc-semigroups" ,ghc-semigroups)
3912 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3913 (native-inputs
3914 `(("ghc-hunit" ,ghc-hunit)
3915 ("ghc-quickcheck" ,ghc-quickcheck)
3916 ("ghc-test-framework" ,ghc-test-framework)
3917 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3918 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3919 (home-page "http://iki.fi/matti.niemenmaa/glob/")
3920 (synopsis "Haskell library matching glob patterns against file paths")
3921 (description "This package provides a Haskell library for @dfn{globbing}:
3922matching patterns against file paths.")
3923 (license license:bsd-3)))
3924
3925(define-public ghc-gluraw
3926 (package
3927 (name "ghc-gluraw")
3928 (version "2.0.0.4")
3929 (source
3930 (origin
3931 (method url-fetch)
3932 (uri (string-append
3933 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
3934 version
3935 ".tar.gz"))
3936 (sha256
3937 (base32
3938 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
3939 (build-system haskell-build-system)
3940 (inputs
3941 `(("ghc-openglraw" ,ghc-openglraw)))
3942 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3943 (synopsis "Raw Haskell bindings GLU")
3944 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
3945utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
3946basis for a nicer interface.")
3947 (license license:bsd-3)))
3948
3949(define-public ghc-glut
3950 (package
3951 (name "ghc-glut")
3952 (version "2.7.0.14")
3953 (source
3954 (origin
3955 (method url-fetch)
3956 (uri (string-append
3957 "https://hackage.haskell.org/package/GLUT/GLUT-"
3958 version
3959 ".tar.gz"))
3960 (sha256
3961 (base32
3962 "01i162fly4q1751fp60lgkzlb8kr0qqbvmxj74zc6skb19qggy2w"))))
3963 (build-system haskell-build-system)
3964 (inputs
3965 `(("ghc-statevar" ,ghc-statevar)
3966 ("ghc-opengl" ,ghc-opengl)
3967 ("ghc-openglraw" ,ghc-openglraw)
3968 ("freeglut" ,freeglut)))
3969 (home-page "https://www.haskell.org/haskellwiki/Opengl")
3970 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
3971 (description "This library provides Haskell bindings for the OpenGL
3972Utility Toolkit, a window system-independent toolkit for writing OpenGL
3973programs.")
3974 (license license:bsd-3)))
3975
3976(define-public ghc-gnuplot
3977 (package
3978 (name "ghc-gnuplot")
3979 (version "0.5.5.2")
3980 (source
3981 (origin
3982 (method url-fetch)
3983 (uri (string-append
3984 "mirror://hackage/package/gnuplot/gnuplot-"
3985 version ".tar.gz"))
3986 (sha256
3987 (base32 "1mlppnc13ygjzmf6ldydys4wvy35yb3xjwwfgf9rbi7nfcqjr6mn"))))
3988 (build-system haskell-build-system)
3989 (inputs
3990 `(("ghc-temporary" ,ghc-temporary)
3991 ("ghc-utility-ht" ,ghc-utility-ht)
3992 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
3993 ("ghc-data-accessor" ,ghc-data-accessor)
3994 ("ghc-semigroups" ,ghc-semigroups)
3995 ("gnuplot" ,gnuplot)))
3996 (arguments
3997 `(#:phases
3998 (modify-phases %standard-phases
3999 (add-before 'configure 'fix-path-to-gnuplot
4000 (lambda* (#:key inputs #:allow-other-keys)
4001 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4002 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4003 (("(gnuplotName = ).*$" all cmd)
4004 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4005 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4006 (synopsis "2D and 3D plots using gnuplot")
4007 (description "This package provides a Haskell module for creating 2D and
40083D plots using gnuplot.")
4009 (license license:bsd-3)))
4010
4011(define-public ghc-graphviz
4012 (package
4013 (name "ghc-graphviz")
4014 (version "2999.20.0.2")
4015 (source (origin
4016 (method url-fetch)
4017 (uri (string-append "https://hackage.haskell.org/package/"
4018 "graphviz/graphviz-" version ".tar.gz"))
4019 (sha256
4020 (base32
4021 "0kj7ap0gnliviq2p8lscw1m06capnsa90vpvcys24nqy5nw2wrp7"))))
4022 (build-system haskell-build-system)
4023 (inputs
4024 `(("ghc-quickcheck" ,ghc-quickcheck)
4025 ("ghc-colour" ,ghc-colour)
4026 ("ghc-dlist" ,ghc-dlist)
4027 ("ghc-fgl" ,ghc-fgl)
4028 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4029 ("ghc-polyparse" ,ghc-polyparse)
4030 ("ghc-temporary" ,ghc-temporary)
4031 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4032 (native-inputs
4033 `(("ghc-hspec" ,ghc-hspec)
4034 ("graphviz" ,graphviz)
4035 ("hspec-discover" ,hspec-discover)))
4036 (home-page "https://hackage.haskell.org/package/graphviz")
4037 (synopsis "Bindings to Graphviz for graph visualisation")
4038 (description
4039 "This library provides bindings for the Dot language used by
4040the @uref{https://graphviz.org/, Graphviz} suite of programs for
4041visualising graphs, as well as functions to call those programs.
4042Main features of the graphviz library include:
4043
4044@enumerate
4045@item Almost complete coverage of all Graphviz attributes and syntax
4046@item Support for specifying clusters
4047@item The ability to use a custom node type
4048@item Functions for running a Graphviz layout tool with all specified output types
4049@item Generate and parse Dot code with two options: strict and liberal
4050@item Functions to convert FGL graphs and other graph-like data structures
4051@item Round-trip support for passing an FGL graph through Graphviz to augment node
4052and edge labels with positional information, etc.
4053@end enumerate\n")
4054 (license license:bsd-3)))
4055
4056(define-public ghc-gtk2hs-buildtools
4057 (package
4058 (name "ghc-gtk2hs-buildtools")
4059 (version "0.13.4.0")
4060 (source
4061 (origin
4062 (method url-fetch)
4063 (uri (string-append "https://hackage.haskell.org/package/"
4064 "gtk2hs-buildtools/gtk2hs-buildtools-"
4065 version ".tar.gz"))
4066 (sha256
4067 (base32
4068 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
4069 (build-system haskell-build-system)
4070 (inputs
4071 `(("ghc-random" ,ghc-random)
4072 ("ghc-hashtables" ,ghc-hashtables)))
4073 (native-inputs
4074 `(("ghc-alex" ,ghc-alex)
4075 ("ghc-happy" ,ghc-happy)))
4076 (home-page "http://projects.haskell.org/gtk2hs/")
4077 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4078 (description
4079 "This package provides a set of helper programs necessary to build the
4080Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4081that is used to generate FFI declarations, a tool to build a type hierarchy
4082that mirrors the C type hierarchy of GObjects found in glib, and a generator
4083for signal declarations that are used to call back from C to Haskell. These
4084tools are not needed to actually run Gtk2Hs programs.")
4085 (license license:gpl2)))
4086
4087(define-public ghc-hackage-security
4088 (package
4089 (name "ghc-hackage-security")
4090 (version "0.5.3.0")
4091 (source
4092 (origin
4093 (method url-fetch)
4094 (uri (string-append "https://hackage.haskell.org/package/"
4095 "hackage-security/hackage-security-"
4096 version ".tar.gz"))
4097 (sha256
4098 (base32
4099 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4100 (build-system haskell-build-system)
4101 (arguments
4102 `(#:tests? #f)) ; Tests fail because of framework updates.
4103 (inputs
4104 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4105 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4106 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4107 ("ghc-ed25519" ,ghc-ed25519)
4108 ("ghc-network" ,ghc-network)
4109 ("ghc-network-uri" ,ghc-network-uri)
4110 ("ghc-tar" ,ghc-tar)
4111 ("ghc-zlib" ,ghc-zlib)))
4112 (native-inputs
4113 `(("ghc-network-uri" ,ghc-network-uri)
4114 ("ghc-quickcheck" ,ghc-quickcheck)
4115 ("ghc-tar" ,ghc-tar)
4116 ("ghc-tasty" ,ghc-tasty)
4117 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4118 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4119 ("ghc-temporary" ,ghc-temporary)
4120 ("ghc-zlib" ,ghc-zlib)))
4121 (home-page "https://github.com/haskell/hackage-security")
4122 (synopsis "Hackage security library")
4123 (description "This Hackage security library provides both server and
4124client utilities for securing @uref{http://hackage.haskell.org/, the
4125Hackage package server}. It is based on
4126@uref{http://theupdateframework.com/, The Update Framework}, a set of
4127recommendations developed by security researchers at various universities
4128in the US as well as developers on the @uref{https://www.torproject.org/,
4129Tor project}.")
4130 (license license:bsd-3)))
4131
4132(define-public ghc-haddock
4133 (package
4134 (name "ghc-haddock")
4135 (version "2.19.0.1")
4136 (source
4137 (origin
4138 (method url-fetch)
4139 (uri (string-append
4140 "https://hackage.haskell.org/package/haddock/haddock-"
4141 version
4142 ".tar.gz"))
4143 (sha256
4144 (base32
4145 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4146 (build-system haskell-build-system)
4147 (arguments
4148 `(#:phases
4149 (modify-phases %standard-phases
4150 ;; There are four test suites that require the ghc-haddock-test
4151 ;; package, which no longer builds with GHC 8.4.3. This phase
4152 ;; removes these four test suites from the Cabal file, so that we
4153 ;; do not need ghc-haddock-test as an input.
4154 (add-before 'configure 'remove-haddock-test-test-suites
4155 (lambda _
4156 (use-modules (ice-9 rdelim))
4157 (with-atomic-file-replacement "haddock.cabal"
4158 (lambda (in out)
4159 (let loop ((line (read-line in 'concat)) (deleting? #f))
4160 (cond
4161 ((eof-object? line) #t)
4162 ((string-every char-set:whitespace line)
4163 (unless deleting? (display line out))
4164 (loop (read-line in 'concat) #f))
4165 ((member line '("test-suite html-test\n"
4166 "test-suite hypsrc-test\n"
4167 "test-suite latex-test\n"
4168 "test-suite hoogle-test\n"))
4169 (loop (read-line in 'concat) #t))
4170 (else
4171 (unless deleting? (display line out))
4172 (loop (read-line in 'concat) deleting?)))))))))))
4173 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4174 (native-inputs
4175 `(("ghc-hspec" ,ghc-hspec)))
4176 (home-page "https://www.haskell.org/haddock/")
4177 (synopsis
4178 "Documentation-generation tool for Haskell libraries")
4179 (description
4180 "Haddock is a documentation-generation tool for Haskell libraries.")
4181 (license license:bsd-3)))
4182
4183(define-public ghc-haddock-api
4184 (package
4185 (name "ghc-haddock-api")
4186 (version "2.19.0.1")
4187 (source
4188 (origin
4189 (method url-fetch)
4190 (uri (string-append
4191 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4192 version
4193 ".tar.gz"))
4194 (sha256
4195 (base32
4196 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4197 (build-system haskell-build-system)
4198 (arguments
4199 `(#:phases
4200 (modify-phases %standard-phases
4201 (add-before 'configure 'update-constraints
4202 (lambda _
4203 (substitute* "haddock-api.cabal"
4204 (("Cabal \\^>= 2\\.0\\.0")
4205 "Cabal ^>= 2.2.0")
4206 (("hspec \\^>= 2\\.4\\.4")
4207 "hspec >= 2.4.4 && < 2.6")))))))
4208 (inputs
4209 `(("ghc-paths" ,ghc-paths)
4210 ("ghc-haddock-library" ,ghc-haddock-library)))
4211 (native-inputs
4212 `(("ghc-quickcheck" ,ghc-quickcheck)
4213 ("ghc-hspec" ,ghc-hspec)
4214 ("hspec-discover" ,hspec-discover)))
4215 (home-page "https://www.haskell.org/haddock/")
4216 (synopsis "API for documentation-generation tool Haddock")
4217 (description "This package provides an API to Haddock, the
4218documentation-generation tool for Haskell libraries.")
4219 (license license:bsd-3)))
4220
4221(define-public ghc-haddock-library
4222 (package
4223 (name "ghc-haddock-library")
4224 (version "1.5.0.1")
4225 (source
4226 (origin
4227 (method url-fetch)
4228 (uri (string-append
4229 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4230 version
4231 ".tar.gz"))
4232 (sha256
4233 (base32
4234 "1cmbg8l5xrwpliclwy3l057raypjqy0hsg1h1743ahaj8gq10b7z"))
4235 (patches (search-patches
4236 "ghc-haddock-library-unbundle.patch"))
4237 (modules '((guix build utils)))
4238 (snippet '(begin
4239 (delete-file-recursively "vendor")
4240 #t))))
4241 (build-system haskell-build-system)
4242 (arguments
4243 `(#:phases
4244 (modify-phases %standard-phases
4245 (add-before 'configure 'relax-test-suite-dependencies
4246 (lambda _
4247 (substitute* "haddock-library.cabal"
4248 (("base-compat\\s*\\^>= 0\\.9\\.3") "base-compat")
4249 (("hspec\\s*\\^>= 2\\.4\\.4") "hspec"))))
4250 ;; The release tarball does not contain the "fixtures/examples"
4251 ;; directory, which is required for testing. In the upstream
4252 ;; repository, the directory exists and is populated. Here, we
4253 ;; create an empty directory to placate the tests.
4254 (add-before 'check 'add-examples-directory
4255 (lambda _
4256 (mkdir "fixtures/examples")
4257 #t)))))
4258 (native-inputs
4259 `(("ghc-base-compat" ,ghc-base-compat)
4260 ("ghc-hspec" ,ghc-hspec)
4261 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4262 ("ghc-quickcheck" ,ghc-quickcheck)
4263 ("ghc-tree-diff" ,ghc-tree-diff)
4264 ("hspec-discover" ,hspec-discover)))
4265 (home-page "https://www.haskell.org/haddock/")
4266 (synopsis "Library exposing some functionality of Haddock")
4267 (description
4268 "Haddock is a documentation-generation tool for Haskell libraries. These
4269modules expose some functionality of it without pulling in the GHC dependency.
4270Please note that the API is likely to change so specify upper bounds in your
4271project if you can't release often. For interacting with Haddock itself, see
4272the ‘haddock’ package.")
4273 (license license:bsd-3)))
4274
4275(define-public ghc-half
4276 (package
4277 (name "ghc-half")
4278 (version "0.3")
4279 (source
4280 (origin
4281 (method url-fetch)
4282 (uri (string-append
4283 "https://hackage.haskell.org/package/half/half-"
4284 version ".tar.gz"))
4285 (sha256
4286 (base32
4287 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4288 (build-system haskell-build-system)
4289 (native-inputs
4290 `(("ghc-hspec" ,ghc-hspec)
4291 ("ghc-quickcheck" ,ghc-quickcheck)))
4292 (home-page "https://github.com/ekmett/half")
4293 (synopsis "Half-precision floating-point computations")
4294 (description "This library provides a half-precision floating-point
4295computation library for Haskell.")
4296 (license license:bsd-3)))
4297
4298(define-public ghc-happy
4299 (package
4300 (name "ghc-happy")
4301 (version "1.19.9")
4302 (source
4303 (origin
4304 (method url-fetch)
4305 (uri (string-append
4306 "https://hackage.haskell.org/package/happy/happy-"
4307 version
4308 ".tar.gz"))
4309 (sha256
4310 (base32
4311 "138xpxdb7x62lpmgmb6b3v3vgdqqvqn4273jaap3mjmc2gla709y"))))
4312 (build-system haskell-build-system)
4313 (arguments
4314 `(#:phases
4315 (modify-phases %standard-phases
4316 (add-after 'unpack 'skip-test-issue93
4317 (lambda _
4318 ;; Tests run out of memory on a system with 2GB of available RAM,
4319 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4320 (substitute* "tests/Makefile"
4321 ((" issue93.y ") " "))
4322 #t)))))
4323 (home-page "https://hackage.haskell.org/package/happy")
4324 (synopsis "Parser generator for Haskell")
4325 (description "Happy is a parser generator for Haskell. Given a grammar
4326specification in BNF, Happy generates Haskell code to parse the grammar.
4327Happy works in a similar way to the yacc tool for C.")
4328 (license license:bsd-3)))
4329
4330(define-public ghc-hashable
4331 (package
4332 (name "ghc-hashable")
4333 (version "1.2.7.0")
4334 (outputs '("out" "doc"))
4335 (source
4336 (origin
4337 (method url-fetch)
4338 (uri (string-append
4339 "https://hackage.haskell.org/package/hashable/hashable-"
4340 version
4341 ".tar.gz"))
4342 (sha256
4343 (base32
4344 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4345 (build-system haskell-build-system)
4346 (inputs
4347 `(("ghc-random" ,ghc-random)))
4348 (native-inputs
4349 `(("ghc-test-framework" ,ghc-test-framework)
4350 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4351 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4352 ("ghc-hunit" ,ghc-hunit)
4353 ("ghc-quickcheck" ,ghc-quickcheck)))
4354 (home-page "https://github.com/tibbe/hashable")
4355 (synopsis "Class for types that can be converted to a hash value")
4356 (description
4357 "This package defines a class, @code{Hashable}, for types that can be
4358converted to a hash value. This class exists for the benefit of hashing-based
4359data structures. The package provides instances for basic types and a way to
4360combine hash values.")
4361 (license license:bsd-3)))
4362
4363(define-public ghc-hashable-bootstrap
4364 (package
4365 (inherit ghc-hashable)
4366 (name "ghc-hashable-bootstrap")
4367 (arguments `(#:tests? #f))
4368 (native-inputs '())
4369 (properties '((hidden? #t)))))
4370
4371(define-public ghc-hashable-time
4372 (package
4373 (name "ghc-hashable-time")
4374 (version "0.2.0.1")
4375 (source
4376 (origin
4377 (method url-fetch)
4378 (uri (string-append
4379 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4380 version
4381 ".tar.gz"))
4382 (sha256
4383 (base32
4384 "0k932nyd08l3xxbh2g3n76py2f4kd9yw4s5a065vjz0xp6wjnxdm"))))
4385 (build-system haskell-build-system)
4386 (arguments
4387 `(#:cabal-revision
4388 ("1" "0rv40xkg3gj8jnqsry1gq3f5s5la6d5arg8fzkirnwdpcgha1as6")))
4389 (inputs `(("ghc-hashable" ,ghc-hashable)))
4390 (home-page "http://hackage.haskell.org/package/hashable-time")
4391 (synopsis "Hashable instances for Data.Time")
4392 (description
4393 "This package provides @code{Hashable} instances for types in
4394@code{Data.Time}.")
4395 (license license:bsd-3)))
4396
4397(define-public ghc-hashtables
4398 (package
4399 (name "ghc-hashtables")
4400 (version "1.2.3.1")
4401 (source
4402 (origin
4403 (method url-fetch)
4404 (uri (string-append
4405 "https://hackage.haskell.org/package/hashtables/hashtables-"
4406 version ".tar.gz"))
4407 (sha256
4408 (base32 "1giw9caajr07slf09j7zry9b0kvm4yj9q78zy1mawzi6gk3wglcg"))))
4409 (build-system haskell-build-system)
4410 (inputs
4411 `(("ghc-hashable" ,ghc-hashable)
4412 ("ghc-primitive" ,ghc-primitive)
4413 ("ghc-vector" ,ghc-vector)))
4414 (home-page "https://github.com/gregorycollins/hashtables")
4415 (synopsis "Haskell Mutable hash tables in the ST monad")
4416 (description "This package provides a Haskell library including a
4417couple of different implementations of mutable hash tables in the ST
4418monad, as well as a typeclass abstracting their common operations, and
4419a set of wrappers to use the hash tables in the IO monad.")
4420 (license license:bsd-3)))
4421
4422(define-public ghc-haskell-lexer
4423 (package
4424 (name "ghc-haskell-lexer")
4425 (version "1.0.2")
4426 (source
4427 (origin
4428 (method url-fetch)
4429 (uri (string-append
4430 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4431 version ".tar.gz"))
4432 (sha256
4433 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4434 (build-system haskell-build-system)
4435 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4436 (synopsis "Fully compliant Haskell 98 lexer")
4437 (description
4438 "This package provides a fully compliant Haskell 98 lexer.")
4439 (license license:bsd-3)))
4440
4441(define-public ghc-haskell-src
4442 (package
4443 (name "ghc-haskell-src")
4444 (version "1.0.3.0")
4445 (source
4446 (origin
4447 (method url-fetch)
4448 (uri (string-append
4449 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4450 version
4451 ".tar.gz"))
4452 (sha256
4453 (base32
4454 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4455 (build-system haskell-build-system)
4456 (inputs
4457 `(("ghc-happy" ,ghc-happy)
4458 ("ghc-syb" ,ghc-syb)))
4459 (home-page
4460 "https://hackage.haskell.org/package/haskell-src")
4461 (synopsis
4462 "Support for manipulating Haskell source code")
4463 (description
4464 "The @code{haskell-src} package provides support for manipulating Haskell
4465source code. The package provides a lexer, parser and pretty-printer, and a
4466definition of a Haskell abstract syntax tree (AST). Common uses of this
4467package are to parse or generate Haskell 98 code.")
4468 (license license:bsd-3)))
4469
4470(define-public ghc-haskell-src-exts
4471 (package
4472 (name "ghc-haskell-src-exts")
4473 (version "1.20.2")
4474 (source
4475 (origin
4476 (method url-fetch)
4477 (uri (string-append
4478 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4479 version
4480 ".tar.gz"))
4481 (sha256
4482 (base32
4483 "1sm3z4v1p5yffg01ldgavz71s3bvfhjfa13k428rk14bpkl8crlz"))))
4484 (build-system haskell-build-system)
4485 (inputs
4486 `(("cpphs" ,cpphs)
4487 ("ghc-happy" ,ghc-happy)
4488 ("ghc-pretty-show" ,ghc-pretty-show)))
4489 (native-inputs
4490 `(("ghc-smallcheck" ,ghc-smallcheck)
4491 ("ghc-tasty" ,ghc-tasty)
4492 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4493 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4494 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4495 (synopsis "Library for manipulating Haskell source")
4496 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4497extension of the standard @code{haskell-src} package, and handles most
4498registered syntactic extensions to Haskell. All extensions implemented in GHC
4499are supported. Apart from these standard extensions, it also handles regular
4500patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4501 (license license:bsd-3)))
4502
4503(define-public ghc-haskell-src-exts-util
4504 (package
4505 (name "ghc-haskell-src-exts-util")
4506 (version "0.2.3")
4507 (source
4508 (origin
4509 (method url-fetch)
4510 (uri (string-append "https://hackage.haskell.org/package/"
4511 "haskell-src-exts-util/haskell-src-exts-util-"
4512 version ".tar.gz"))
4513 (sha256
4514 (base32
4515 "1803718paq89f8pdck4mb88hv2k1ah9lxzq0lgjgwi9n88ryycz8"))))
4516 (build-system haskell-build-system)
4517 (inputs
4518 `(("ghc-data-default" ,ghc-data-default)
4519 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4520 ("ghc-semigroups" ,ghc-semigroups)
4521 ("ghc-uniplate" ,ghc-uniplate)))
4522 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4523 (synopsis "Helper functions for working with haskell-src-exts trees")
4524 (description
4525 "This package provides helper functions for working with
4526@code{haskell-src-exts} trees.")
4527 (license license:bsd-3)))
4528
4529(define-public ghc-haskell-src-meta
4530 (package
4531 (name "ghc-haskell-src-meta")
4532 (version "0.8.0.3")
4533 (source (origin
4534 (method url-fetch)
4535 (uri (string-append "https://hackage.haskell.org/package/"
4536 "haskell-src-meta/haskell-src-meta-"
4537 version ".tar.gz"))
4538 (sha256
4539 (base32
4540 "08jq156zv4m0fjq6712n99c1jwxnpa6kj6sq8ch0r1l0a1ay6ww4"))))
4541 (build-system haskell-build-system)
4542 (inputs
4543 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4544 ("ghc-syb" ,ghc-syb)
4545 ("ghc-th-orphans" ,ghc-th-orphans)))
4546 (native-inputs
4547 `(("ghc-hunit" ,ghc-hunit)
4548 ("ghc-test-framework" ,ghc-test-framework)
4549 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4550 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4551 (synopsis "Parse source to template-haskell abstract syntax")
4552 (description
4553 "This package provides tools to parse Haskell sources to the
4554template-haskell abstract syntax.")
4555 (license license:bsd-3)))
4556
4557(define-public ghc-hasktags
4558 (package
4559 (name "ghc-hasktags")
4560 (version "0.71.2")
4561 (source
4562 (origin
4563 (method url-fetch)
4564 (uri (string-append
4565 "https://hackage.haskell.org/package/hasktags/hasktags-"
4566 version
4567 ".tar.gz"))
4568 (sha256
4569 (base32
4570 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4571 (build-system haskell-build-system)
4572 (inputs
4573 `(("ghc-system-filepath" ,ghc-system-filepath)
4574 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4575 (native-inputs
4576 `(("ghc-json" ,ghc-json)
4577 ("ghc-utf8-string" ,ghc-utf8-string)
4578 ("ghc-microlens-platform" ,ghc-microlens-platform)
4579 ("ghc-hunit" ,ghc-hunit)))
4580 (home-page "http://github.com/MarcWeber/hasktags")
4581 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4582 (description
4583 "This package provides a means of generating tag files for Emacs and
4584Vim.")
4585 (license license:bsd-3)))
4586
4587(define-public ghc-hex
4588 (package
4589 (name "ghc-hex")
4590 (version "0.1.2")
4591 (source
4592 (origin
4593 (method url-fetch)
4594 (uri (string-append "https://hackage.haskell.org/package/"
4595 "hex-" version "/"
4596 "hex-" version ".tar.gz"))
4597 (sha256
4598 (base32
4599 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4600 (build-system haskell-build-system)
4601 (home-page "https://hackage.haskell.org/package/hex")
4602 (synopsis "Convert strings into hexadecimal and back")
4603 (description "This package provides conversion functions between
4604bytestrings and their hexademical representation.")
4605 (license license:bsd-3)))
4606
4607(define-public ghc-highlighting-kate
4608 (package
4609 (name "ghc-highlighting-kate")
4610 (version "0.6.4")
4611 (source (origin
4612 (method url-fetch)
4613 (uri (string-append "https://hackage.haskell.org/package/"
4614 "highlighting-kate/highlighting-kate-"
4615 version ".tar.gz"))
4616 (sha256
4617 (base32
4618 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4619 (build-system haskell-build-system)
4620 (inputs
4621 `(("ghc-diff" ,ghc-diff)
4622 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4623 (native-inputs
4624 `(("ghc-blaze-html" ,ghc-blaze-html)
4625 ("ghc-utf8-string" ,ghc-utf8-string)))
4626 (home-page "https://github.com/jgm/highlighting-kate")
4627 (synopsis "Syntax highlighting library")
4628 (description
4629 "Highlighting-kate is a syntax highlighting library with support for
4630nearly one hundred languages. The syntax parsers are automatically generated
4631from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4632supported by Kate can be added. An (optional) command-line program is
4633provided, along with a utility for generating new parsers from Kate XML syntax
4634descriptions.")
4635 (license license:gpl2+)))
4636
4637(define-public ghc-hindent
4638 (package
4639 (name "ghc-hindent")
4640 (version "5.3.0")
4641 (source
4642 (origin
4643 (method url-fetch)
4644 (uri (string-append
4645 "https://hackage.haskell.org/package/hindent/hindent-"
4646 version
4647 ".tar.gz"))
4648 (sha256
4649 (base32
4650 "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg"))))
4651 (build-system haskell-build-system)
4652 (arguments
4653 `(#:modules ((guix build haskell-build-system)
4654 (guix build utils)
4655 (guix build emacs-utils))
4656 #:imported-modules (,@%haskell-build-system-modules
4657 (guix build emacs-utils))
4658 #:phases
4659 (modify-phases %standard-phases
4660 (add-after 'install 'emacs-install
4661 (lambda* (#:key inputs outputs #:allow-other-keys)
4662 (let* ((out (assoc-ref outputs "out"))
4663 (elisp-file "elisp/hindent.el")
4664 (dest (string-append out "/share/emacs/site-lisp"
4665 "/guix.d/hindent-" ,version))
4666 (emacs (string-append (assoc-ref inputs "emacs")
4667 "/bin/emacs")))
4668 (make-file-writable elisp-file)
4669 (emacs-substitute-variables elisp-file
4670 ("hindent-process-path"
4671 (string-append out "/bin/hindent")))
4672 (install-file elisp-file dest)
4673 (emacs-generate-autoloads "hindent" dest)))))))
4674 (inputs
4675 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4676 ("ghc-monad-loops" ,ghc-monad-loops)
4677 ("ghc-utf8-string" ,ghc-utf8-string)
4678 ("ghc-exceptions" ,ghc-exceptions)
4679 ("ghc-yaml" ,ghc-yaml)
4680 ("ghc-unix-compat" ,ghc-unix-compat)
4681 ("ghc-path" ,ghc-path)
4682 ("ghc-path-io" ,ghc-path-io)
4683 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4684 (native-inputs
4685 `(("ghc-hspec" ,ghc-hspec)
4686 ("ghc-diff" ,ghc-diff)
4687 ("emacs" ,emacs-minimal)))
4688 (home-page
4689 "https://github.com/commercialhaskell/hindent")
4690 (synopsis "Extensible Haskell pretty printer")
4691 (description
4692 "This package provides automatic formatting for Haskell files. Both a
4693library and an executable.")
4694 (license license:bsd-3)))
4695
4696(define-public ghc-hinotify
4697 (package
4698 (name "ghc-hinotify")
4699 (version "0.3.10")
4700 (source (origin
4701 (method url-fetch)
4702 (uri (string-append
4703 "https://hackage.haskell.org/package/hinotify/"
4704 "hinotify-" version ".tar.gz"))
4705 (sha256
4706 (base32
4707 "17ax3n68a5c2ddazp86aciliskrh6znd3bnry0wcllmb6dbpsaxg"))))
4708 (build-system haskell-build-system)
4709 (inputs
4710 `(("ghc-async" ,ghc-async)))
4711 (home-page "https://github.com/kolmodin/hinotify.git")
4712 (synopsis "Haskell binding to inotify")
4713 (description "This library provides a wrapper to the Linux kernel's inotify
4714feature, allowing applications to subscribe to notifications when a file is
4715accessed or modified.")
4716 (license license:bsd-3)))
4717
4718(define-public ghc-hmatrix
4719 (package
4720 (name "ghc-hmatrix")
4721 (version "0.19.0.0")
4722 (source
4723 (origin
4724 (method url-fetch)
4725 (uri (string-append
4726 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
4727 version ".tar.gz"))
4728 (sha256
4729 (base32 "10jd69nby29dggghcyjk6ykyr5wrn97nrv1dkpyrp0y5xm12xssj"))))
4730 (build-system haskell-build-system)
4731 (inputs
4732 `(("ghc-random" ,ghc-random)
4733 ("ghc-split" ,ghc-split)
4734 ("ghc-storable-complex" ,ghc-storable-complex)
4735 ("ghc-semigroups" ,ghc-semigroups)
4736 ("ghc-vector" ,ghc-vector)
4737 ;;("openblas" ,openblas)
4738 ("lapack" ,lapack)))
4739 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
4740 ;; disables inclusion of the LAPACK functions.
4741 ;; (arguments `(#:configure-flags '("--flags=openblas")))
4742 (home-page "https://github.com/albertoruiz/hmatrix")
4743 (synopsis "Haskell numeric linear algebra library")
4744 (description "The HMatrix package provices a Haskell library for
4745dealing with linear systems, matrix decompositions, and other
4746numerical computations based on BLAS and LAPACK.")
4747 (license license:bsd-3)))
4748
4749(define-public ghc-hmatrix-gsl
4750 (package
4751 (name "ghc-hmatrix-gsl")
4752 (version "0.19.0.1")
4753 (source
4754 (origin
4755 (method url-fetch)
4756 (uri (string-append
4757 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
4758 version ".tar.gz"))
4759 (sha256
4760 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
4761 (build-system haskell-build-system)
4762 (inputs
4763 `(("ghc-hmatrix" ,ghc-hmatrix)
4764 ("ghc-vector" ,ghc-vector)
4765 ("ghc-random" ,ghc-random)
4766 ("gsl" ,gsl)))
4767 (native-inputs `(("pkg-config" ,pkg-config)))
4768 (home-page "https://github.com/albertoruiz/hmatrix")
4769 (synopsis "Haskell GSL binding")
4770 (description "This Haskell library provides a purely functional
4771interface to selected numerical computations, internally implemented
4772using GSL.")
4773 (license license:gpl3+)))
4774
4775(define-public ghc-hmatrix-gsl-stats
4776 (package
4777 (name "ghc-hmatrix-gsl-stats")
4778 (version "0.4.1.7")
4779 (source
4780 (origin
4781 (method url-fetch)
4782 (uri
4783 (string-append
4784 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4785 version ".tar.gz"))
4786 (sha256
4787 (base32 "1gslgk58lzin43cvbpivhw7nrn9qyaa6qwhy1z9ypvyal5p8n3sa"))))
4788 (build-system haskell-build-system)
4789 (inputs
4790 `(("ghc-vector" ,ghc-vector)
4791 ("ghc-storable-complex" ,ghc-storable-complex)
4792 ("ghc-hmatrix" ,ghc-hmatrix)
4793 ("gsl" ,gsl)))
4794 (native-inputs `(("pkg-config" ,pkg-config)))
4795 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
4796 (synopsis "GSL Statistics interface for Haskell")
4797 (description "This Haskell library provides a purely functional
4798interface for statistics based on hmatrix and GSL.")
4799 (license license:bsd-3)))
4800
4801(define-public ghc-hmatrix-special
4802 (package
4803 (name "ghc-hmatrix-special")
4804 (version "0.19.0.0")
4805 (source
4806 (origin
4807 (method url-fetch)
4808 (uri
4809 (string-append
4810 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
4811 version ".tar.gz"))
4812 (sha256
4813 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
4814 (build-system haskell-build-system)
4815 (inputs
4816 `(("ghc-hmatrix" ,ghc-hmatrix)
4817 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
4818 (home-page "https://github.com/albertoruiz/hmatrix")
4819 (synopsis "Haskell interface to GSL special functions")
4820 (description "This library provides an interface to GSL special
4821functions for Haskell.")
4822 (license license:gpl3+)))
4823
4824(define-public ghc-hostname
4825 (package
4826 (name "ghc-hostname")
4827 (version "1.0")
4828 (source
4829 (origin
4830 (method url-fetch)
4831 (uri (string-append "https://hackage.haskell.org/package/hostname/"
4832 "hostname-" version ".tar.gz"))
4833 (sha256
4834 (base32
4835 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
4836 (build-system haskell-build-system)
4837 (home-page "https://hackage.haskell.org/package/hostname")
4838 (synopsis "Hostname in Haskell")
4839 (description "Network.HostName is a simple package providing a means to
4840determine the hostname.")
4841 (license license:bsd-3)))
4842
4843(define-public ghc-hourglass
4844 (package
4845 (name "ghc-hourglass")
4846 (version "0.2.12")
4847 (source (origin
4848 (method url-fetch)
4849 (uri (string-append "https://hackage.haskell.org/package/"
4850 "hourglass/hourglass-" version ".tar.gz"))
4851 (sha256
4852 (base32
4853 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
4854 (build-system haskell-build-system)
4855 (inputs
4856 `(("ghc-old-locale" ,ghc-old-locale)))
4857 (native-inputs
4858 `(("ghc-tasty" ,ghc-tasty)
4859 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4860 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4861 (home-page "https://github.com/vincenthz/hs-hourglass")
4862 (synopsis "Simple time-related library for Haskell")
4863 (description
4864 "This is a simple time library providing a simple but powerful and
4865performant API. The backbone of the library are the @code{Timeable} and
4866@code{Time} type classes. Each @code{Timeable} instances can be converted to
4867a type that has a @code{Time} instances, and thus are different
4868representations of current time.")
4869 (license license:bsd-3)))
4870
4871(define-public ghc-hpack
4872 (package
4873 (name "ghc-hpack")
4874 (version "0.28.2")
4875 (source
4876 (origin
4877 (method url-fetch)
4878 (uri (string-append "https://hackage.haskell.org/package/hpack/"
4879 "hpack-" version ".tar.gz"))
4880 (sha256
4881 (base32
4882 "18w0h76jdp3mk9vin8da9iz3cwhcxmw787xy8wlh8bxcpcr16q5r"))))
4883 (build-system haskell-build-system)
4884 (inputs
4885 `(("ghc-aeson" ,ghc-aeson)
4886 ("ghc-bifunctors" ,ghc-bifunctors)
4887 ("ghc-cryptonite" ,ghc-cryptonite)
4888 ("ghc-glob" ,ghc-glob)
4889 ("ghc-http-client" ,ghc-http-client)
4890 ("ghc-http-client-tls" ,ghc-http-client-tls)
4891 ("ghc-http-types" ,ghc-http-types)
4892 ("ghc-scientific" ,ghc-scientific)
4893 ("ghc-unordered-containers" ,ghc-unordered-containers)
4894 ("ghc-vector" ,ghc-vector)
4895 ("ghc-yaml" ,ghc-yaml)))
4896 (native-inputs
4897 `(("ghc-hspec" ,ghc-hspec)
4898 ("ghc-hunit" ,ghc-hunit)
4899 ("ghc-interpolate" ,ghc-interpolate)
4900 ("ghc-mockery" ,ghc-mockery)
4901 ("ghc-quickcheck" ,ghc-quickcheck)
4902 ("ghc-temporary" ,ghc-temporary)
4903 ("hspec-discover" ,hspec-discover)))
4904 (home-page "https://github.com/sol/hpack")
4905 (synopsis "Tools for an alternative Haskell package format")
4906 (description
4907 "Hpack is a format for Haskell packages. It is an alternative to the
4908Cabal package format and follows different design principles. Hpack packages
4909are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
4910@code{stack} support @code{package.yaml} natively. For other build tools the
4911@code{hpack} executable can be used to generate a @code{.cabal} file from
4912@code{package.yaml}.")
4913 (license license:expat)))
4914
4915(define-public ghc-hs-bibutils
4916 (package
4917 (name "ghc-hs-bibutils")
4918 (version "6.6.0.0")
4919 (source
4920 (origin
4921 (method url-fetch)
4922 (uri (string-append
4923 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
4924 version ".tar.gz"))
4925 (sha256
4926 (base32
4927 "0n2sz2zl4naspryd49ii858qkjp2lapns5a2gr8zm6vvn5sh1f0l"))))
4928 (build-system haskell-build-system)
4929 (inputs `(("ghc-syb" ,ghc-syb)))
4930 (home-page "https://hackage.haskell.org/package/hs-bibutils")
4931 (synopsis "Haskell bindings to bibutils")
4932 (description
4933 "This package provides Haskell bindings to @code{bibutils}, a library
4934that interconverts between various bibliography formats using a common
4935MODS-format XML intermediate.")
4936 (license license:gpl2+)))
4937
4938(define-public ghc-hslogger
4939 (package
4940 (name "ghc-hslogger")
4941 (version "1.2.10")
4942 (source
4943 (origin
4944 (method url-fetch)
4945 (uri (string-append "https://hackage.haskell.org/package/"
4946 "hslogger-" version "/" "hslogger-"
4947 version ".tar.gz"))
4948 (sha256 (base32
4949 "0as5gvlh6pi2gflakp695qnlizyyp059dqrhvjl4gjxalja6xjnp"))))
4950 (build-system haskell-build-system)
4951 (inputs
4952 `(("ghc-network" ,ghc-network)
4953 ("ghc-old-locale" ,ghc-old-locale)))
4954 (native-inputs
4955 `(("ghc-hunit" ,ghc-hunit)))
4956 (home-page "https://software.complete.org/hslogger")
4957 (synopsis "Logging framework for Haskell, similar to Python's logging module")
4958 (description "Hslogger lets each log message have a priority and source be
4959associated with it. The programmer can then define global handlers that route
4960or filter messages based on the priority and source. It also has a syslog
4961handler built in.")
4962 (license license:bsd-3)))
4963
4964(define-public ghc-hslua
4965 (package
4966 (name "ghc-hslua")
4967 (version "0.9.5.2")
4968 (source (origin
4969 (method url-fetch)
4970 (uri (string-append "https://hackage.haskell.org/package/"
4971 "hslua/hslua-" version ".tar.gz"))
4972 (sha256
4973 (base32
4974 "1rdvv01p214zfjh6fcqjjgqwi8y42wad6cqzhlcv5gvclzw2ck8f"))))
4975 (build-system haskell-build-system)
4976 (arguments
4977 `(#:configure-flags '("-fsystem-lua")))
4978 (inputs
4979 `(("lua" ,lua)
4980 ("ghc-exceptions" ,ghc-exceptions)
4981 ("ghc-fail" ,ghc-fail)))
4982 (native-inputs
4983 `(("ghc-tasty" ,ghc-tasty)
4984 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
4985 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4986 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4987 ("ghc-quickcheck" ,ghc-quickcheck)
4988 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
4989 (home-page "https://hackage.haskell.org/package/hslua")
4990 (synopsis "Lua language interpreter embedding in Haskell")
4991 (description
4992 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
4993described in @url{https://www.lua.org/}.")
4994 (license license:expat)))
4995
4996(define-public ghc-hslua-module-text
4997 (package
4998 (name "ghc-hslua-module-text")
4999 (version "0.1.2.1")
5000 (source
5001 (origin
5002 (method url-fetch)
5003 (uri (string-append "https://hackage.haskell.org/package/"
5004 "hslua-module-text/hslua-module-text-"
5005 version ".tar.gz"))
5006 (sha256
5007 (base32
5008 "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf"))))
5009 (build-system haskell-build-system)
5010 (arguments
5011 `(#:cabal-revision
5012 ("1" "0vajlsd7y6pwa08635q0cx8z5c1c55bk7fvavw7g2vmyvxqjzx6n")))
5013 (inputs
5014 `(("ghc-hslua" ,ghc-hslua)))
5015 (native-inputs
5016 `(("ghc-tasty" ,ghc-tasty)
5017 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5018 (home-page "https://github.com/hslua/hslua-module-text")
5019 (synopsis "Lua module for text")
5020 (description
5021 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5022for Haskell. The functions provided by this module are @code{upper},
5023@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5024 (license license:expat)))
5025
5026(define-public ghc-http-api-data
5027 (package
5028 (name "ghc-http-api-data")
5029 (version "0.3.8.1")
5030 (source
5031 (origin
5032 (method url-fetch)
5033 (uri (string-append "https://hackage.haskell.org/package/"
5034 "http-api-data-" version "/"
5035 "http-api-data-" version ".tar.gz"))
5036 (sha256
5037 (base32
5038 "1cq6459b8wz6nvkvpi89dg189n5q2xdq4rdq435hf150555vmskf"))))
5039 (build-system haskell-build-system)
5040 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9
5041 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5042 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
5043 ("ghc-hashable" ,ghc-hashable)
5044 ("ghc-http-types" ,ghc-http-types)
5045 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
5046 ("ghc-unordered-containers" ,ghc-unordered-containers)
5047 ("ghc-uri-bytestring" ,ghc-uri-bytestring)
5048 ("ghc-uuid-types" ,ghc-uuid-types)))
5049 (home-page "https://github.com/fizruk/http-api-data")
5050 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5051query parameters")
5052 (description "This Haskell package defines typeclasses used for converting
5053Haskell data types to and from HTTP API data.")
5054 (license license:bsd-3)))
5055
5056(define-public ghc-ieee754
5057 (package
5058 (name "ghc-ieee754")
5059 (version "0.8.0")
5060 (source (origin
5061 (method url-fetch)
5062 (uri (string-append
5063 "https://hackage.haskell.org/package/ieee754/"
5064 "ieee754-" version ".tar.gz"))
5065 (sha256
5066 (base32
5067 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5068 (build-system haskell-build-system)
5069 (home-page "https://github.com/patperry/hs-ieee754")
5070 (synopsis "Utilities for dealing with IEEE floating point numbers")
5071 (description "Utilities for dealing with IEEE floating point numbers,
5072ported from the Tango math library; approximate and exact equality comparisons
5073for general types.")
5074 (license license:bsd-3)))
5075
5076(define-public ghc-ifelse
5077 (package
5078 (name "ghc-ifelse")
5079 (version "0.85")
5080 (source
5081 (origin
5082 (method url-fetch)
5083 (uri (string-append "https://hackage.haskell.org/package/"
5084 "IfElse/IfElse-" version ".tar.gz"))
5085 (sha256
5086 (base32
5087 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5088 (build-system haskell-build-system)
5089 (home-page "http://hackage.haskell.org/package/IfElse")
5090 (synopsis "Monadic control flow with anaphoric variants")
5091 (description "This library provides functions for control flow inside of
5092monads with anaphoric variants on @code{if} and @code{when} and a C-like
5093@code{switch} function.")
5094 (license license:bsd-3)))
5095
5096(define-public ghc-indents
5097 (package
5098 (name "ghc-indents")
5099 (version "0.5.0.0")
5100 (source (origin
5101 (method url-fetch)
5102 (uri (string-append
5103 "https://hackage.haskell.org/package/indents/indents-"
5104 version ".tar.gz"))
5105 (sha256
5106 (base32
5107 "1ly3v41jacc6lrsvg4j3m5a6zs90gr8dyif5m6bf34hj1k5cgg0n"))))
5108 (build-system haskell-build-system)
5109 ;; This package needs an older version of tasty.
5110 (arguments '(#:tests? #f))
5111 (inputs
5112 `(("ghc-concatenative" ,ghc-concatenative)))
5113 (native-inputs
5114 `(("ghc-tasty" ,ghc-tasty)
5115 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5116 (home-page "http://patch-tag.com/r/salazar/indents")
5117 (synopsis "Indentation sensitive parser-combinators for parsec")
5118 (description
5119 "This library provides functions for use in parsing indentation sensitive
5120contexts. It parses blocks of lines all indented to the same level as well as
5121lines continued at an indented level below.")
5122 (license license:bsd-3)))
5123
5124(define-public ghc-inline-c
5125 (package
5126 (name "ghc-inline-c")
5127 (version "0.6.1.0")
5128 (source
5129 (origin
5130 (method url-fetch)
5131 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5132 "inline-c-" version ".tar.gz"))
5133 (sha256
5134 (base32
5135 "0vbfrsqsi7mdziqsnj68bsqlwbqxxhvrmy9rv6w8z18d1m8w3n6h"))))
5136 (build-system haskell-build-system)
5137 (inputs
5138 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5139 ("ghc-cryptohash" ,ghc-cryptohash)
5140 ("ghc-hashable" ,ghc-hashable)
5141 ("ghc-parsers" ,ghc-parsers)
5142 ("ghc-unordered-containers" ,ghc-unordered-containers)
5143 ("ghc-vector" ,ghc-vector)))
5144 (native-inputs
5145 `(("ghc-quickcheck" ,ghc-quickcheck)
5146 ("ghc-hspec" ,ghc-hspec)
5147 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5148 ("ghc-regex-posix" ,ghc-regex-posix)))
5149 (home-page "http://hackage.haskell.org/package/inline-c")
5150 (synopsis "Write Haskell source files including C code inline")
5151 (description
5152 "inline-c lets you seamlessly call C libraries and embed high-performance
5153inline C code in Haskell modules. Haskell and C can be freely intermixed in
5154the same source file, and data passed to and from code in either language with
5155minimal overhead. No FFI required.")
5156 (license license:expat)))
5157
5158(define-public ghc-inline-c-cpp
5159 (package
5160 (name "ghc-inline-c-cpp")
5161 (version "0.2.2.1")
5162 (source
5163 (origin
5164 (method url-fetch)
5165 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5166 "inline-c-cpp-" version ".tar.gz"))
5167 (sha256
5168 (base32
5169 "1rk7fmpkmxw9hhwr8df29kadnf0ybnwj64ggdbnsdrpfyhnkisci"))))
5170 (build-system haskell-build-system)
5171 (inputs
5172 `(("ghc-inline-c" ,ghc-inline-c)
5173 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5174 (native-inputs
5175 `(("ghc-hspec" ,ghc-hspec)))
5176 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5177 (synopsis "Lets you embed C++ code into Haskell")
5178 (description
5179 "This package provides utilities to inline C++ code into Haskell using
5180@code{inline-c}.")
5181 (license license:expat)))
5182
5183(define-public ghc-integer-logarithms
5184 (package
5185 (name "ghc-integer-logarithms")
5186 (version "1.0.2.1")
5187 (source
5188 (origin
5189 (method url-fetch)
5190 (uri (string-append "https://hackage.haskell.org/package/"
5191 "integer-logarithms/integer-logarithms-"
5192 version ".tar.gz"))
5193 (sha256
5194 (base32
5195 "1wj8kgjg5bn2yrs4zh9qfjv85cx6w998j9pi39yrbv305944mb9j"))))
5196 (build-system haskell-build-system)
5197 (arguments
5198 `(#:phases
5199 (modify-phases %standard-phases
5200 (add-before 'configure 'update-constraints
5201 (lambda _
5202 (substitute* "integer-logarithms.cabal"
5203 (("tasty >= 0\\.10 && < 1\\.1")
5204 "tasty >= 0.10 && < 1.2")))))))
5205 (native-inputs
5206 `(("ghc-quickcheck" ,ghc-quickcheck)
5207 ("ghc-smallcheck" ,ghc-smallcheck)
5208 ("ghc-tasty" ,ghc-tasty)
5209 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5210 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5211 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5212 (home-page "https://github.com/Bodigrim/integer-logarithms")
5213 (synopsis "Integer logarithms")
5214 (description
5215 "This package provides the following modules:
5216@code{Math.NumberTheory.Logarithms} and
5217@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5218@code{GHC.Integer.Logarithms.Compat} and
5219@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5220in migrated modules.")
5221 (license license:expat)))
5222
5223(define-public ghc-integer-logarithms-bootstrap
5224 (package
5225 (inherit ghc-integer-logarithms)
5226 (name "ghc-integer-logarithms-bootstrap")
5227 (arguments `(#:tests? #f))
5228 (native-inputs '())
799d8d3c 5229 (properties '((hidden? #t)))))
dddbc90c
RV
5230
5231(define-public ghc-interpolate
5232 (package
5233 (name "ghc-interpolate")
5234 (version "0.2.0")
5235 (source
5236 (origin
5237 (method url-fetch)
5238 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5239 "interpolate-" version ".tar.gz"))
5240 (sha256
5241 (base32
5242 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5243 (build-system haskell-build-system)
5244 (inputs
5245 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5246 (native-inputs
5247 `(("ghc-base-compat" ,ghc-base-compat)
5248 ("ghc-hspec" ,ghc-hspec)
5249 ("ghc-quickcheck" ,ghc-quickcheck)
5250 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5251 ("hspec-discover" ,hspec-discover)))
5252 (home-page "https://github.com/sol/interpolate")
5253 (synopsis "String interpolation library")
5254 (description "This package provides a string interpolation library for
5255Haskell.")
5256 (license license:expat)))
5257
5258(define-public ghc-intervalmap
5259 (package
5260 (name "ghc-intervalmap")
5261 (version "0.6.0.0")
5262 (source
5263 (origin
5264 (method url-fetch)
5265 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5266 "IntervalMap-" version ".tar.gz"))
5267 (sha256
5268 (base32
5269 "06hin9wf1by8aqa7820fsi2339bh82184frkwz3jsb9sqa0hszcg"))))
5270 (build-system haskell-build-system)
5271 (native-inputs
5272 `(("ghc-quickcheck" ,ghc-quickcheck)))
5273 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5274 (synopsis "Containers for intervals, with efficient search")
5275 (description
5276 "This package provides ordered containers of intervals, with efficient
5277search for all keys containing a point or overlapping an interval. See the
5278example code on the home page for a quick introduction.")
5279 (license license:bsd-3)))
5280
5281(define-public ghc-invariant
5282 (package
5283 (name "ghc-invariant")
5284 (version "0.5.1")
5285 (source
5286 (origin
5287 (method url-fetch)
5288 (uri (string-append
5289 "https://hackage.haskell.org/package/invariant/invariant-"
5290 version ".tar.gz"))
5291 (sha256
5292 (base32
5293 "0aqj7z55632qdg45074kgn9qfdxzb0a2f8lgjzr0l0i4mm2rr37b"))))
5294 (build-system haskell-build-system)
5295 (inputs
5296 `(("ghc-bifunctors" ,ghc-bifunctors)
5297 ("ghc-comonad" ,ghc-comonad)
5298 ("ghc-contravariant" ,ghc-contravariant)
5299 ("ghc-profunctors" ,ghc-profunctors)
5300 ("ghc-semigroups" ,ghc-semigroups)
5301 ("ghc-statevar" ,ghc-statevar)
5302 ("ghc-tagged" ,ghc-tagged)
5303 ("ghc-th-abstraction" ,ghc-th-abstraction)
5304 ("ghc-transformers-compat" ,ghc-transformers-compat)
5305 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5306 (native-inputs
5307 `(("ghc-hspec" ,ghc-hspec)
5308 ("ghc-quickcheck" ,ghc-quickcheck)
5309 ("hspec-discover" ,hspec-discover)))
5310 (home-page "https://github.com/nfrisby/invariant-functors")
5311 (synopsis "Haskell98 invariant functors")
5312 (description "Haskell98 invariant functors (also known as exponential
5313functors). For more information, see Edward Kmett's article
5314@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5315 (license license:bsd-2)))
5316
5317(define-public ghc-io-streams
5318 (package
5319 (name "ghc-io-streams")
5320 (version "1.5.0.1")
5321 (source
5322 (origin
5323 (method url-fetch)
5324 (uri (string-append "https://hackage.haskell.org/package/"
5325 "io-streams/io-streams-" version ".tar.gz"))
5326 (sha256
5327 (base32
5328 "12rcdg2d70644bvn838fxcjkssqj8pssnx5y657si5rijcbkgjsx"))))
5329 (build-system haskell-build-system)
5330 (inputs
5331 `(("ghc-attoparsec" ,ghc-attoparsec)
5332 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5333 ("ghc-network" ,ghc-network)
5334 ("ghc-primitive" ,ghc-primitive)
5335 ("ghc-vector" ,ghc-vector)
5336 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5337 (native-inputs
5338 `(("ghc-hunit" ,ghc-hunit)
5339 ("ghc-quickcheck" ,ghc-quickcheck)
5340 ("ghc-test-framework" ,ghc-test-framework)
5341 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5342 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5343 ("ghc-zlib" ,ghc-zlib)))
5344 (arguments
5345 `(#:cabal-revision
5346 ("2" "1mcab95d6hm098myh9gp7sh10srigjphgvm8s9pfs7jg5hzghy14")))
5347 (home-page "http://hackage.haskell.org/package/io-streams")
5348 (synopsis "Simple and composable stream I/O")
5349 (description "This library contains simple and easy-to-use
5350primitives for I/O using streams.")
5351 (license license:bsd-3)))
5352
5353(define-public ghc-io-streams-haproxy
5354 (package
5355 (name "ghc-io-streams-haproxy")
5356 (version "1.0.0.2")
5357 (source
5358 (origin
5359 (method url-fetch)
5360 (uri (string-append "https://hackage.haskell.org/package/"
5361 "io-streams-haproxy/io-streams-haproxy-"
5362 version ".tar.gz"))
5363 (sha256
5364 (base32
5365 "11nh9q158mgnvvb23s5ffg87lkhl5smk039yl43jghxmb214z0bp"))))
5366 (build-system haskell-build-system)
5367 (inputs
5368 `(("ghc-attoparsec" ,ghc-attoparsec)
5369 ("ghc-io-streams" ,ghc-io-streams)
5370 ("ghc-network" ,ghc-network)))
5371 (native-inputs
5372 `(("ghc-hunit" ,ghc-hunit)
5373 ("ghc-test-framework" ,ghc-test-framework)
5374 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5375 (arguments
5376 `(#:cabal-revision
5377 ("4" "06c51a057n5bc9xfbp2m4jz5ds4z1xvmsx5mppch6qfwbz7x5i9l")))
5378 (home-page "http://snapframework.com/")
5379 (synopsis "HAProxy protocol 1.5 support for io-streams")
5380 (description "HAProxy protocol version 1.5 support
5381(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5382for applications using io-streams. The proxy protocol allows information
5383about a networked peer (like remote address and port) to be propagated
5384through a forwarding proxy that is configured to speak this protocol.")
5385 (license license:bsd-3)))
5386
5387(define-public ghc-iproute
5388 (package
5389 (name "ghc-iproute")
5390 (version "1.7.5")
5391 (source
5392 (origin
5393 (method url-fetch)
5394 (uri (string-append
5395 "https://hackage.haskell.org/package/iproute/iproute-"
5396 version
5397 ".tar.gz"))
5398 (sha256
5399 (base32
5400 "1vw1nm3s8vz1hqnjnqd3wh5rr4q3m2r4izn5ynhf93h9185qwqzd"))))
5401 (build-system haskell-build-system)
5402 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5403 ; exported by ghc-byteorder. Doctest issue.
5404 (inputs
5405 `(("ghc-appar" ,ghc-appar)
5406 ("ghc-byteorder" ,ghc-byteorder)
5407 ("ghc-network" ,ghc-network)
5408 ("ghc-safe" ,ghc-safe)))
5409 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5410 (synopsis "IP routing table")
5411 (description "IP Routing Table is a tree of IP ranges to search one of
5412them on the longest match base. It is a kind of TRIE with one way branching
5413removed. Both IPv4 and IPv6 are supported.")
5414 (license license:bsd-3)))
5415
5416(define-public ghc-iwlib
5417 (package
5418 (name "ghc-iwlib")
5419 (version "0.1.0")
5420 (source
5421 (origin
5422 (method url-fetch)
5423 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5424 version ".tar.gz"))
5425 (sha256
5426 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5427 (build-system haskell-build-system)
5428 (inputs
5429 `(("wireless-tools" ,wireless-tools)))
5430 (home-page "https://github.com/jaor/iwlib")
5431 (synopsis "Haskell binding to the iw wireless networking library")
5432 (description
5433 "IWlib is a thin Haskell binding to the iw C library. It provides
5434information about the current wireless network connections, and adapters on
5435supported systems.")
5436 (license license:bsd-3)))
5437
5438(define-public ghc-json
5439 (package
5440 (name "ghc-json")
5441 (version "0.9.2")
5442 (source
5443 (origin
5444 (method url-fetch)
5445 (uri (string-append "https://hackage.haskell.org/package/json/"
5446 "json-" version ".tar.gz"))
5447 (sha256
5448 (base32
5449 "13kkfgx58z18jphbg56jn08jn72wi3kvfndlwwx87hqwg7x1dfz6"))))
5450 (build-system haskell-build-system)
5451 (inputs
5452 `(("ghc-syb" ,ghc-syb)))
5453 (home-page "https://hackage.haskell.org/package/json")
5454 (synopsis "Serializes Haskell data to and from JSON")
5455 (description "This package provides a parser and pretty printer for
5456converting between Haskell values and JSON.
5457JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5458 (license license:bsd-3)))
5459
5460(define-public ghc-juicypixels
5461 (package
5462 (name "ghc-juicypixels")
5463 (version "3.2.9.5")
5464 (source (origin
5465 (method url-fetch)
5466 (uri (string-append "https://hackage.haskell.org/package/"
5467 "JuicyPixels/JuicyPixels-"
5468 version ".tar.gz"))
5469 (sha256
5470 (base32
5471 "0mf3ihr0xy2wc2wzb9a17g0n3p60x7pvm8akwpvhdy8klvs6r744"))))
5472 (build-system haskell-build-system)
5473 (inputs
5474 `(("ghc-zlib" ,ghc-zlib)
5475 ("ghc-vector" ,ghc-vector)
5476 ("ghc-primitive" ,ghc-primitive)
5477 ("ghc-mmap" ,ghc-mmap)))
5478 (home-page "https://github.com/Twinside/Juicy.Pixels")
5479 (synopsis "Picture loading and serialization library")
5480 (description
5481 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5482TIFF and GIF formats.")
5483 (license license:bsd-3)))
5484
5485(define-public ghc-kan-extensions
5486 (package
5487 (name "ghc-kan-extensions")
5488 (version "5.2")
5489 (source
5490 (origin
5491 (method url-fetch)
5492 (uri (string-append
5493 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5494 version
5495 ".tar.gz"))
5496 (sha256
5497 (base32
5498 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5499 (build-system haskell-build-system)
5500 (inputs
5501 `(("ghc-adjunctions" ,ghc-adjunctions)
5502 ("ghc-comonad" ,ghc-comonad)
5503 ("ghc-contravariant" ,ghc-contravariant)
5504 ("ghc-distributive" ,ghc-distributive)
5505 ("ghc-free" ,ghc-free)
5506 ("ghc-invariant" ,ghc-invariant)
5507 ("ghc-semigroupoids" ,ghc-semigroupoids)
5508 ("ghc-tagged" ,ghc-tagged)
5509 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5510 (home-page "https://github.com/ekmett/kan-extensions/")
5511 (synopsis "Kan extensions library")
5512 (description "This library provides Kan extensions, Kan lifts, various
5513forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5514 (license license:bsd-3)))
5515
5516(define-public ghc-language-c
5517 (package
5518 (name "ghc-language-c")
5519 (version "0.8.1")
5520 (source
5521 (origin
5522 (method url-fetch)
5523 (uri (string-append "https://hackage.haskell.org/package/"
5524 "language-c/language-c-" version ".tar.gz"))
5525 (sha256
5526 (base32
5527 "0sdkjj0hq8p69fcdm6ljbjkjvrsrb8a6rl5dq6dj6byj32ajrm3d"))))
5528 (build-system haskell-build-system)
5529 (inputs `(("ghc-syb" ,ghc-syb)))
5530 (native-inputs
5531 `(("ghc-happy" ,ghc-happy)
5532 ("ghc-alex" ,ghc-alex)))
5533 (home-page "https://visq.github.io/language-c/")
5534 (synopsis "Analysis and generation of C code")
5535 (description
5536 "Language C is a Haskell library for the analysis and generation of C code.
5537It features a complete, well-tested parser and pretty printer for all of C99
5538and a large set of GNU extensions.")
5539 (license license:bsd-3)))
5540
5541(define-public ghc-language-glsl
5542 (package
5543 (name "ghc-language-glsl")
5544 (version "0.3.0")
5545 (source
5546 (origin
5547 (method url-fetch)
5548 (uri (string-append "https://hackage.haskell.org/package/"
5549 "language-glsl/language-glsl-" version ".tar.gz"))
5550 (sha256
5551 (base32
5552 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
5553 (build-system haskell-build-system)
5554 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
5555 (arguments
5556 `(#:tests? #f
5557 #:cabal-revision
5558 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
5559 (home-page "http://hackage.haskell.org/package/language-glsl")
5560 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
5561 (description "This package is a Haskell library for the
5562representation, parsing, and pretty-printing of GLSL 1.50 code.")
5563 (license license:bsd-3)))
5564
5565(define-public ghc-language-haskell-extract
5566 (package
5567 (name "ghc-language-haskell-extract")
5568 (version "0.2.4")
5569 (source
5570 (origin
5571 (method url-fetch)
5572 (uri (string-append "https://hackage.haskell.org/package/"
5573 "language-haskell-extract-" version "/"
5574 "language-haskell-extract-" version ".tar.gz"))
5575 (sha256
5576 (base32
5577 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
5578 (build-system haskell-build-system)
5579 (inputs
5580 `(("ghc-regex-posix" ,ghc-regex-posix)))
5581 (home-page "https://github.com/finnsson/template-helper")
5582 (synopsis "Haskell module to automatically extract functions from
5583the local code")
5584 (description "This package contains helper functions on top of
5585Template Haskell.
5586
5587For example, @code{functionExtractor} extracts all functions after a
5588regexp-pattern, which can be useful if you wish to extract all functions
5589beginning with @code{test} (for a test framework) or all functions beginning
5590with @code{wc} (for a web service).")
5591 (license license:bsd-3)))
5592
5593(define-public ghc-lens
5594 (package
5595 (name "ghc-lens")
5596 (version "4.16.1")
5597 (source
5598 (origin
5599 (method url-fetch)
5600 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5601 version ".tar.gz"))
5602 (sha256
5603 (base32
5604 "1im4drhbydbawd6i0jsrzpqihnmx4ywpkg7yg94ddwsw3mxwkgpm"))))
5605 (build-system haskell-build-system)
5606 (arguments
5607 `(#:cabal-revision
5608 ("2" "11h83lj5mba4grhz1qx3irz10ysm9c3k7k6i6xv2cr60q8xin3ri")))
5609 (inputs
5610 `(("ghc-base-orphans" ,ghc-base-orphans)
5611 ("ghc-bifunctors" ,ghc-bifunctors)
5612 ("ghc-distributive" ,ghc-distributive)
5613 ("ghc-exceptions" ,ghc-exceptions)
5614 ("ghc-free" ,ghc-free)
5615 ("ghc-kan-extensions" ,ghc-kan-extensions)
5616 ("ghc-parallel" ,ghc-parallel)
5617 ("ghc-reflection" ,ghc-reflection)
5618 ("ghc-semigroupoids" ,ghc-semigroupoids)
5619 ("ghc-vector" ,ghc-vector)
5620 ("ghc-call-stack" ,ghc-call-stack)
5621 ("ghc-comonad" ,ghc-comonad)
5622 ("ghc-contravariant" ,ghc-contravariant)
5623 ("ghc-hashable" ,ghc-hashable)
5624 ("ghc-profunctors" ,ghc-profunctors)
5625 ("ghc-semigroups" ,ghc-semigroups)
5626 ("ghc-tagged" ,ghc-tagged)
5627 ("ghc-transformers-compat" ,ghc-transformers-compat)
5628 ("ghc-unordered-containers" ,ghc-unordered-containers)
5629 ("ghc-void" ,ghc-void)
5630 ("ghc-generic-deriving" ,ghc-generic-deriving)
5631 ("ghc-nats" ,ghc-nats)
5632 ("ghc-simple-reflect" ,ghc-simple-reflect)
5633 ("hlint" ,hlint)))
5634 (native-inputs
5635 `(("cabal-doctest" ,cabal-doctest)
5636 ("ghc-doctest" ,ghc-doctest)
5637 ("ghc-hunit" ,ghc-hunit)
5638 ("ghc-test-framework" ,ghc-test-framework)
5639 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5640 ("ghc-test-framework-th" ,ghc-test-framework-th)
5641 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5642 ("ghc-quickcheck" ,ghc-quickcheck)))
5643 (home-page "https://github.com/ekmett/lens/")
5644 (synopsis "Lenses, Folds and Traversals")
5645 (description "This library provides @code{Control.Lens}. The combinators
5646in @code{Control.Lens} provide a highly generic toolbox for composing families
5647of getters, folds, isomorphisms, traversals, setters and lenses and their
5648indexed variants.")
5649 (license license:bsd-3)))
5650
5651(define-public ghc-libffi
5652 (package
5653 (name "ghc-libffi")
5654 (version "0.1")
5655 (source
5656 (origin
5657 (method url-fetch)
5658 (uri (string-append "https://hackage.haskell.org/package/"
5659 "libffi/libffi-" version ".tar.gz"))
5660 (sha256
5661 (base32
5662 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
5663 (build-system haskell-build-system)
5664 (native-inputs `(("pkg-config" ,pkg-config)))
5665 (inputs `(("libffi" ,libffi)))
5666 (home-page "http://hackage.haskell.org/package/libffi")
5667 (synopsis "Haskell binding to libffi")
5668 (description
5669 "A binding to libffi, allowing C functions of types only known at runtime
5670to be called from Haskell.")
5671 (license license:bsd-3)))
5672
5673(define-public ghc-libmpd
5674 (package
5675 (name "ghc-libmpd")
5676 (version "0.9.0.9")
5677 (source
5678 (origin
5679 (method url-fetch)
5680 (uri (string-append
5681 "mirror://hackage/package/libmpd/libmpd-"
5682 version
5683 ".tar.gz"))
5684 (sha256
5685 (base32
5686 "1931m23iqb4wddpdidm4ph746zpaw41kkjzmb074j7yyfpk7x1jv"))))
5687 (build-system haskell-build-system)
5688 ;; Tests fail on i686.
5689 ;; See https://github.com/vimus/libmpd-haskell/issues/112
5690 (arguments `(#:tests? #f))
5691 (inputs
5692 `(("ghc-attoparsec" ,ghc-attoparsec)
5693 ("ghc-old-locale" ,ghc-old-locale)
5694 ("ghc-data-default-class" ,ghc-data-default-class)
5695 ("ghc-network" ,ghc-network)
5696 ("ghc-utf8-string" ,ghc-utf8-string)))
5697 (native-inputs
5698 `(("ghc-quickcheck" ,ghc-quickcheck)
5699 ("ghc-hspec" ,ghc-hspec)
5700 ("hspec-discover" ,hspec-discover)))
5701 (home-page "https://github.com/vimus/libmpd-haskell")
5702 (synopsis "Haskell client library for the Music Player Daemon")
5703 (description "This package provides a pure Haskell client library for the
5704Music Player Daemon.")
5705 (license license:expat)))
5706
5707(define-public ghc-libxml
5708 (package
5709 (name "ghc-libxml")
5710 (version "0.1.1")
5711 (source
5712 (origin
5713 (method url-fetch)
5714 (uri (string-append "https://hackage.haskell.org/package/libxml/"
5715 "libxml-" version ".tar.gz"))
5716 (sha256
5717 (base32
5718 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
5719 (build-system haskell-build-system)
5720 (inputs
5721 `(("libxml2" ,libxml2)))
5722 (arguments
5723 `(#:configure-flags
5724 `(,(string-append "--extra-include-dirs="
5725 (assoc-ref %build-inputs "libxml2")
5726 "/include/libxml2"))))
5727 (home-page "https://hackage.haskell.org/package/libxml")
5728 (synopsis "Haskell bindings to libxml2")
5729 (description
5730 "This library provides minimal Haskell binding to libxml2.")
5731 (license license:bsd-3)))
5732
5733(define-public ghc-lifted-async
5734 (package
5735 (name "ghc-lifted-async")
5736 (version "0.10.0.2")
5737 (source
5738 (origin
5739 (method url-fetch)
5740 (uri (string-append
5741 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
5742 version ".tar.gz"))
5743 (sha256
5744 (base32
5745 "1073r512c1x2m1v0jar9bwqg656slg7jd1jhsyj6m8awgx1l1mwf"))))
5746 (build-system haskell-build-system)
5747 (inputs
5748 `(("ghc-async" ,ghc-async)
5749 ("ghc-lifted-base" ,ghc-lifted-base)
5750 ("ghc-transformers-base" ,ghc-transformers-base)
5751 ("ghc-monad-control" ,ghc-monad-control)
5752 ("ghc-constraints" ,ghc-constraints)
5753 ("ghc-hunit" ,ghc-hunit)
5754 ("ghc-tasty" ,ghc-tasty)
5755 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5756 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5757 ("ghc-tasty-th" ,ghc-tasty-th)))
5758 (home-page "https://github.com/maoe/lifted-async")
5759 (synopsis "Run lifted IO operations asynchronously and wait for their results")
5760 (description
5761 "This package provides IO operations from @code{async} package lifted to any
5762instance of @code{MonadBase} or @code{MonadBaseControl}.")
5763 (license license:bsd-3)))
5764
5765(define-public ghc-lifted-base
5766 (package
5767 (name "ghc-lifted-base")
5768 (version "0.2.3.12")
5769 (source
5770 (origin
5771 (method url-fetch)
5772 (uri (string-append
5773 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
5774 version
5775 ".tar.gz"))
5776 (sha256
5777 (base32
5778 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
5779 (build-system haskell-build-system)
5780 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
5781 (inputs
5782 `(("ghc-transformers-base" ,ghc-transformers-base)
5783 ("ghc-monad-control" ,ghc-monad-control)
5784 ("ghc-transformers-compat" ,ghc-transformers-compat)
5785 ("ghc-hunit" ,ghc-hunit)))
5786 (home-page "https://github.com/basvandijk/lifted-base")
5787 (synopsis "Lifted IO operations from the base library")
5788 (description "Lifted-base exports IO operations from the @code{base}
5789library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5790Note that not all modules from @code{base} are converted yet. The package
5791includes a copy of the @code{monad-peel} test suite written by Anders
5792Kaseorg.")
5793 (license license:bsd-3)))
5794
5795(define-public ghc-linear
5796 (package
5797 (name "ghc-linear")
5798 (version "1.20.8")
5799 (source
5800 (origin
5801 (method url-fetch)
5802 (uri (string-append "https://hackage.haskell.org/package/linear/"
5803 "linear-" version ".tar.gz"))
5804 (sha256
5805 (base32
5806 "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"))))
5807 (build-system haskell-build-system)
5808 (inputs
5809 `(("ghc-adjunctions" ,ghc-adjunctions)
5810 ("ghc-base-orphans" ,ghc-base-orphans)
5811 ("ghc-bytes" ,ghc-bytes)
5812 ("ghc-cereal" ,ghc-cereal)
5813 ("ghc-distributive" ,ghc-distributive)
5814 ("ghc-hashable" ,ghc-hashable)
5815 ("ghc-lens" ,ghc-lens)
5816 ("ghc-reflection" ,ghc-reflection)
5817 ("ghc-semigroups" ,ghc-semigroups)
5818 ("ghc-semigroupoids" ,ghc-semigroupoids)
5819 ("ghc-tagged" ,ghc-tagged)
5820 ("ghc-transformers-compat" ,ghc-transformers-compat)
5821 ("ghc-unordered-containers" ,ghc-unordered-containers)
5822 ("ghc-vector" ,ghc-vector)
5823 ("ghc-void" ,ghc-void)))
5824 (native-inputs
5825 `(("cabal-doctest" ,cabal-doctest)
5826 ("ghc-doctest" ,ghc-doctest)
5827 ("ghc-simple-reflect" ,ghc-simple-reflect)
5828 ("ghc-test-framework" ,ghc-test-framework)
5829 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5830 ("ghc-hunit" ,ghc-hunit)))
5831 (home-page "http://github.com/ekmett/linear/")
5832 (synopsis "Linear algebra library for Haskell")
5833 (description
5834 "This package provides types and combinators for linear algebra on free
5835vector spaces.")
5836 (license license:bsd-3)))
1307e4c7
JS
5837
5838(define-public ghc-listlike
5839 (package
5840 (name "ghc-listlike")
5841 (version "4.6.2")
5842 (source
5843 (origin
5844 (method url-fetch)
5845 (uri
5846 (string-append
5847 "https://hackage.haskell.org/package/ListLike/ListLike-"
5848 version ".tar.gz"))
5849 (sha256
5850 (base32
5851 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
5852 (build-system haskell-build-system)
5853 (inputs
5854 `(("ghc-vector" ,ghc-vector)
5855 ("ghc-dlist" ,ghc-dlist)
5856 ("ghc-fmlist" ,ghc-fmlist)
5857 ("ghc-hunit" ,ghc-hunit)
5858 ("ghc-quickcheck" ,ghc-quickcheck)
5859 ("ghc-random" ,ghc-random)
5860 ("ghc-utf8-string" ,ghc-utf8-string)))
5861 (home-page "https://github.com/JohnLato/listlike")
5862 (synopsis "Generic support for list-like structures")
5863 (description "The ListLike module provides a common interface to the
5864various Haskell types that are list-like. Predefined interfaces include
5865standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
5866Custom types can easily be made ListLike instances as well.
5867
5868ListLike also provides for String-like types, such as String and
5869ByteString, for types that support input and output, and for types that
5870can handle infinite lists.")
5871 (license license:bsd-3)))
dddbc90c
RV
5872
5873(define-public ghc-logging-facade
5874 (package
5875 (name "ghc-logging-facade")
5876 (version "0.3.0")
5877 (source (origin
5878 (method url-fetch)
5879 (uri (string-append "https://hackage.haskell.org/package/"
5880 "logging-facade/logging-facade-"
5881 version ".tar.gz"))
5882 (sha256
5883 (base32
5884 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
5885 (build-system haskell-build-system)
5886 (native-inputs
5887 `(("ghc-hspec" ,ghc-hspec)
5888 ("hspec-discover" ,hspec-discover)))
5889 (home-page "https://hackage.haskell.org/package/logging-facade")
5890 (synopsis "Simple logging abstraction that allows multiple back-ends")
5891 (description
5892 "This package provides a simple logging abstraction that allows multiple
5893back-ends.")
5894 (license license:expat)))
5895
5896(define-public ghc-logict
5897 (package
5898 (name "ghc-logict")
5899 (version "0.6.0.2")
5900 (source
5901 (origin
5902 (method url-fetch)
5903 (uri (string-append
5904 "https://hackage.haskell.org/package/logict/logict-"
5905 version
5906 ".tar.gz"))
5907 (sha256
5908 (base32
5909 "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi"))))
5910 (build-system haskell-build-system)
5911 (home-page "http://code.haskell.org/~dolio/")
5912 (synopsis "Backtracking logic-programming monad")
5913 (description "This library provides a continuation-based, backtracking,
5914logic programming monad. An adaptation of the two-continuation implementation
5915found in the paper \"Backtracking, Interleaving, and Terminating Monad
5916Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
5917online}.")
5918 (license license:bsd-3)))
5919
5920(define-public ghc-lzma
5921 (package
5922 (name "ghc-lzma")
5923 (version "0.0.0.3")
5924 (source
5925 (origin
5926 (method url-fetch)
5927 (uri (string-append "https://hackage.haskell.org/package/lzma/"
5928 "lzma-" version ".tar.gz"))
5929 (sha256
5930 (base32
5931 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
5932 (build-system haskell-build-system)
5933 (arguments
5934 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
5935 #:cabal-revision
5936 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
5937 (native-inputs
5938 `(("ghc-hunit" ,ghc-hunit)
5939 ("ghc-quickcheck" ,ghc-quickcheck)
5940 ("ghc-tasty" ,ghc-tasty)
5941 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5942 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
5943 (home-page "https://github.com/hvr/lzma")
5944 (synopsis "LZMA/XZ compression and decompression")
5945 (description
5946 "This package provides a pure interface for compressing and
5947decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
5948monadic incremental interface is provided as well.")
5949 (license license:bsd-3)))
5950
5951(define-public ghc-lzma-conduit
5952 (package
5953 (name "ghc-lzma-conduit")
5954 (version "1.2.1")
5955 (source
5956 (origin
5957 (method url-fetch)
5958 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
5959 "lzma-conduit-" version ".tar.gz"))
5960 (sha256
5961 (base32
5962 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
5963 (build-system haskell-build-system)
5964 (inputs
5965 `(("ghc-conduit" ,ghc-conduit)
5966 ("ghc-lzma" ,ghc-lzma)
5967 ("ghc-resourcet" ,ghc-resourcet)))
5968 (native-inputs
5969 `(("ghc-base-compat" ,ghc-base-compat)
5970 ("ghc-test-framework" ,ghc-test-framework)
5971 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5972 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5973 ("ghc-hunit" ,ghc-hunit)
5974 ("ghc-quickcheck" ,ghc-quickcheck)))
5975 (home-page "https://github.com/alphaHeavy/lzma-conduit")
5976 (synopsis "Conduit interface for lzma/xz compression")
5977 (description
5978 "This package provides a @code{Conduit} interface for the LZMA
5979compression algorithm used in the @code{.xz} file format.")
5980 (license license:bsd-3)))
5981
e405912c
KM
5982(define-public ghc-magic
5983 (package
5984 (name "ghc-magic")
5985 (version "1.1")
5986 (source
5987 (origin
5988 (method url-fetch)
5989 (uri (string-append
5990 "https://hackage.haskell.org/package/magic/magic-"
5991 version ".tar.gz"))
5992 (sha256
5993 (base32
5994 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
5995 (build-system haskell-build-system)
5996 (home-page "http://hackage.haskell.org/package/magic")
5997 (synopsis "Interface to C file/magic library")
5998 (description
5999 "This package provides a full-featured binding to the C libmagic library.
6000With it, you can determine the type of a file by examining its contents rather
6001than its name.")
6002 (license license:bsd-3)))
6003
dddbc90c
RV
6004(define-public ghc-markdown-unlit
6005 (package
6006 (name "ghc-markdown-unlit")
6007 (version "0.5.0")
6008 (source (origin
6009 (method url-fetch)
6010 (uri (string-append
6011 "mirror://hackage/package/markdown-unlit/"
6012 "markdown-unlit-" version ".tar.gz"))
6013 (sha256
6014 (base32
6015 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6016 (build-system haskell-build-system)
6017 (inputs
6018 `(("ghc-base-compat" ,ghc-base-compat)
6019 ("ghc-hspec" ,ghc-hspec)
6020 ("ghc-quickcheck" ,ghc-quickcheck)
6021 ("ghc-silently" ,ghc-silently)
6022 ("ghc-stringbuilder" ,ghc-stringbuilder)
6023 ("ghc-temporary" ,ghc-temporary)
6024 ("hspec-discover" ,hspec-discover)))
6025 (home-page "https://github.com/sol/markdown-unlit#readme")
6026 (synopsis "Literate Haskell support for Markdown")
6027 (description "This package allows you to have a README.md that at the
6028same time is a literate Haskell program.")
6029 (license license:expat)))
6030
6031(define-public ghc-math-functions
6032 (package
6033 (name "ghc-math-functions")
6034 (version "0.2.1.0")
6035 (source
6036 (origin
6037 (method url-fetch)
6038 (uri (string-append "https://hackage.haskell.org/package/"
6039 "math-functions-" version "/"
6040 "math-functions-" version ".tar.gz"))
6041 (sha256
6042 (base32
6043 "1sv5vabsx332v1lpb6v3jv4zrzvpx1n7yprzd8wlcda5vsc5a6zp"))))
6044 (build-system haskell-build-system)
6045 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6046 (inputs
6047 `(("ghc-vector" ,ghc-vector)
6048 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6049 (native-inputs
6050 `(("ghc-hunit" ,ghc-hunit)
6051 ("ghc-quickcheck" ,ghc-quickcheck)
6052 ("ghc-erf" ,ghc-erf)
6053 ("ghc-test-framework" ,ghc-test-framework)
6054 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6055 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6056 (home-page "https://github.com/bos/math-functions")
6057 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6058 (description "This Haskell library provides implementations of
6059special mathematical functions and Chebyshev polynomials. These
6060functions are often useful in statistical and numerical computing.")
6061 (license license:bsd-3)))
6062
6063(define-public ghc-megaparsec
6064 (package
6065 (name "ghc-megaparsec")
6066 (version "6.5.0")
6067 (source
6068 (origin
6069 (method url-fetch)
6070 (uri (string-append "https://hackage.haskell.org/package/"
6071 "megaparsec/megaparsec-"
6072 version ".tar.gz"))
6073 (sha256
6074 (base32
6075 "12iggy7qpf8x93jm64zf0g215xwy779bqyfyjk2bhmxqqr1yzgdy"))))
6076 (build-system haskell-build-system)
6077 (arguments
6078 `(#:cabal-revision
6079 ("4" "0ij3asi5vwlhbgwsy6nhli9a0qb7926mg809fsgyl1rnhs9fvpx1")))
6080 (inputs
6081 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6082 ("ghc-parser-combinators" ,ghc-parser-combinators)
6083 ("ghc-scientific" ,ghc-scientific)))
6084 (native-inputs
6085 `(("ghc-quickcheck" ,ghc-quickcheck)
6086 ("ghc-hspec" ,ghc-hspec)
6087 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6088 ("hspec-discover" ,hspec-discover)))
6089 (home-page "https://github.com/mrkkrp/megaparsec")
6090 (synopsis "Monadic parser combinators")
6091 (description
6092 "This is an industrial-strength monadic parser combinator library.
6093Megaparsec is a feature-rich package that strikes a nice balance between
6094speed, flexibility, and quality of parse errors.")
6095 (license license:bsd-2)))
6096
4780db2c
EB
6097;;; Idris 1.3.2 requires 'megaparse>=7.0.4' but we'd like to keep the public
6098;;; package at the current Stackage LTS version:
6099(define-public ghc-megaparsec-7
6100 (hidden-package
6101 (package
6102 (inherit ghc-megaparsec)
6103 (version "7.0.5")
6104 (source
6105 (origin
6106 (method url-fetch)
6107 (uri (string-append "https://hackage.haskell.org/package/megaparsec/"
6108 "megaparsec-" version ".tar.gz"))
6109 (sha256
6110 (base32
6111 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
6112 (arguments (strip-keyword-arguments (list #:cabal-revision)
6113 (package-arguments ghc-megaparsec))))))
6114
dddbc90c
RV
6115(define-public ghc-memory
6116 (package
6117 (name "ghc-memory")
6118 (version "0.14.16")
6119 (source (origin
6120 (method url-fetch)
6121 (uri (string-append "https://hackage.haskell.org/package/"
6122 "memory/memory-" version ".tar.gz"))
6123 (sha256
6124 (base32
6125 "03rbszi5d4z9rlbfv8ydrl1xf84xsh8z57g07f7j9qccn9587c3v"))))
6126 (build-system haskell-build-system)
6127 (inputs
6128 `(("ghc-basement" ,ghc-basement)
6129 ("ghc-foundation" ,ghc-foundation)))
6130 (native-inputs
6131 `(("ghc-tasty" ,ghc-tasty)
6132 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6133 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6134 (home-page "https://github.com/vincenthz/hs-memory")
6135 (synopsis "Memory abstractions for Haskell")
6136 (description
6137 "This package provides memory abstractions, such as chunk of memory,
6138polymorphic byte array management and manipulation functions. It contains a
6139polymorphic byte array abstraction and functions similar to strict ByteString,
6140different type of byte array abstraction, raw memory IO operations (memory
6141set, memory copy, ..) and more")
6142 (license license:bsd-3)))
6143
6144(define-public ghc-memotrie
6145 (package
6146 (name "ghc-memotrie")
6147 (version "0.6.9")
6148 (source
6149 (origin
6150 (method url-fetch)
6151 (uri (string-append
6152 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6153 version
6154 ".tar.gz"))
6155 (sha256
6156 (base32
6157 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6158 (build-system haskell-build-system)
6159 (inputs
6160 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6161 (home-page "https://github.com/conal/MemoTrie")
6162 (synopsis "Trie-based memo functions")
6163 (description "This package provides a functional library for creating
6164efficient memo functions using tries.")
6165 (license license:bsd-3)))
6166
6167(define-public ghc-microlens
6168 (package
6169 (name "ghc-microlens")
6170 (version "0.4.9.1")
6171 (source
6172 (origin
6173 (method url-fetch)
6174 (uri (string-append "https://hackage.haskell.org/package/"
6175 "microlens-" version "/"
6176 "microlens-" version ".tar.gz"))
6177 (sha256
6178 (base32
6179 "0j2nzf0vpx2anvsrg2w0vy2z4jn3kkcs2n6glkzblhn1j9piqh51"))))
6180 (build-system haskell-build-system)
6181 (home-page
6182 "https://github.com/aelve/microlens")
6183 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6184 (description "This Haskell package provides a lens library, just like
6185@code{ghc-lens}, but smaller. It provides essential lenses and
6186traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6187nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6188combinators (like @code{failing} and @code{singular}), but everything else is
6189stripped. As the result, this package has no dependencies.")
6190 (license license:bsd-3)))
6191
6192(define-public ghc-microlens-ghc
6193 (package
6194 (name "ghc-microlens-ghc")
6195 (version "0.4.9.1")
6196 (source
6197 (origin
6198 (method url-fetch)
6199 (uri (string-append
6200 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6201 version
6202 ".tar.gz"))
6203 (sha256
6204 (base32
6205 "03iwgg8zww9irv59l70c8yy7vzxir1zf66y12210xk91k5hq6jrj"))))
6206 (build-system haskell-build-system)
6207 (inputs `(("ghc-microlens" ,ghc-microlens)))
6208 (home-page "https://github.com/monadfix/microlens")
6209 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6210 (description "This library provides everything that @code{microlens}
6211provides plus instances to make @code{each}, @code{at}, and @code{ix}
6212usable with arrays, @code{ByteString}, and containers. This package is
6213a part of the @uref{http://hackage.haskell.org/package/microlens,
6214microlens} family; see the readme
6215@uref{https://github.com/aelve/microlens#readme, on Github}.")
6216 (license license:bsd-3)))
6217
6218(define-public ghc-microlens-mtl
6219 (package
6220 (name "ghc-microlens-mtl")
6221 (version "0.1.11.1")
6222 (source
6223 (origin
6224 (method url-fetch)
6225 (uri (string-append
6226 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6227 version
6228 ".tar.gz"))
6229 (sha256
6230 (base32
6231 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6232 (build-system haskell-build-system)
6233 (inputs
6234 `(("ghc-microlens" ,ghc-microlens)
6235 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6236 (home-page "https://github.com/monadfix/microlens")
6237 (synopsis
6238 "@code{microlens} support for Reader/Writer/State from mtl")
6239 (description
6240 "This package contains functions (like @code{view} or @code{+=}) which
6241work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6242mtl package. This package is a part of the
6243@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6244readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6245 (license license:bsd-3)))
6246
6247(define-public ghc-microlens-platform
6248 (package
6249 (name "ghc-microlens-platform")
6250 (version "0.3.10")
6251 (source
6252 (origin
6253 (method url-fetch)
6254 (uri (string-append
6255 "https://hackage.haskell.org/package/"
6256 "microlens-platform/microlens-platform-" version ".tar.gz"))
6257 (sha256
6258 (base32
6259 "1d4nhmgf9jq0ixc7qhwm7aaw3xdr0nalw58d0ydsydgf02cyazwv"))))
6260 (build-system haskell-build-system)
6261 (inputs
6262 `(("ghc-hashable" ,ghc-hashable)
6263 ("ghc-microlens" ,ghc-microlens)
6264 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6265 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6266 ("ghc-microlens-th" ,ghc-microlens-th)
6267 ("ghc-unordered-containers" ,ghc-unordered-containers)
6268 ("ghc-vector" ,ghc-vector)))
6269 (home-page "https://github.com/monadfix/microlens")
6270 (synopsis "Feature-complete microlens")
6271 (description
6272 "This package exports a module which is the recommended starting point
6273for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6274you aren't trying to keep your dependencies minimal. By importing
6275@code{Lens.Micro.Platform} you get all functions and instances from
6276@uref{http://hackage.haskell.org/package/microlens, microlens},
6277@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6278@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6279@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6280well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6281minor and major versions of @code{microlens-platform} are incremented whenever
6282the minor and major versions of any other @code{microlens} package are
6283incremented, so you can depend on the exact version of
6284@code{microlens-platform} without specifying the version of @code{microlens}
6285you need. This package is a part of the
6286@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6287readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6288 (license license:bsd-3)))
6289
6290(define-public ghc-microlens-th
6291 (package
6292 (name "ghc-microlens-th")
6293 (version "0.4.2.2")
6294 (source
6295 (origin
6296 (method url-fetch)
6297 (uri (string-append "https://hackage.haskell.org/package/"
6298 "microlens-th-" version "/"
6299 "microlens-th-" version ".tar.gz"))
6300 (sha256
6301 (base32
6302 "02nj7lnl61yffi3c6wn341arxhld5r0vj6nzcb5zmqjhnqsv8c05"))))
6303 (build-system haskell-build-system)
6304 (inputs `(("ghc-microlens" ,ghc-microlens)
6305 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6306 (home-page
6307 "https://github.com/aelve/microlens")
6308 (synopsis "Automatic generation of record lenses for
6309@code{ghc-microlens}")
6310 (description "This Haskell package lets you automatically generate lenses
6311for data types; code was extracted from the lens package, and therefore
6312generated lenses are fully compatible with ones generated by lens (and can be
6313used both from lens and microlens).")
6314 (license license:bsd-3)))
6315
6316(define-public ghc-missingh
6317 (package
6318 (name "ghc-missingh")
6319 (version "1.4.0.1")
6320 (source
6321 (origin
6322 (method url-fetch)
6323 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6324 "MissingH-" version ".tar.gz"))
6325 (sha256
6326 (base32
6327 "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"))))
6328 (build-system haskell-build-system)
6329 ;; Tests require the unmaintained testpack package, which depends on the
6330 ;; outdated QuickCheck version 2.7, which can no longer be built with
6331 ;; recent versions of GHC and Haskell libraries.
6332 (arguments '(#:tests? #f))
6333 (inputs
6334 `(("ghc-network" ,ghc-network)
6335 ("ghc-hunit" ,ghc-hunit)
6336 ("ghc-regex-compat" ,ghc-regex-compat)
6337 ("ghc-hslogger" ,ghc-hslogger)
6338 ("ghc-random" ,ghc-random)
6339 ("ghc-old-time" ,ghc-old-time)
6340 ("ghc-old-locale" ,ghc-old-locale)))
6341 (native-inputs
6342 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6343 ("ghc-quickcheck" ,ghc-quickcheck)
6344 ("ghc-hunit" ,ghc-hunit)))
6345 (home-page "http://software.complete.org/missingh")
6346 (synopsis "Large utility library")
6347 (description
6348 "MissingH is a library of all sorts of utility functions for Haskell
6349programmers. It is written in pure Haskell and thus should be extremely
6350portable and easy to use.")
6351 (license license:bsd-3)))
6352
6353(define-public ghc-mmap
6354 (package
6355 (name "ghc-mmap")
6356 (version "0.5.9")
6357 (source (origin
6358 (method url-fetch)
6359 (uri (string-append "https://hackage.haskell.org/package/"
6360 "mmap/mmap-" version ".tar.gz"))
6361 (sha256
6362 (base32
6363 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6364 (build-system haskell-build-system)
6365 (home-page "https://hackage.haskell.org/package/mmap")
6366 (synopsis "Memory mapped files for Haskell")
6367 (description
6368 "This library provides a wrapper to @code{mmap}, allowing files or
6369devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6370@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6371do on-demand loading.")
6372 (license license:bsd-3)))
6373
6374(define-public ghc-mmorph
6375 (package
6376 (name "ghc-mmorph")
6377 (version "1.1.2")
6378 (source
6379 (origin
6380 (method url-fetch)
6381 (uri (string-append
6382 "https://hackage.haskell.org/package/mmorph/mmorph-"
6383 version
6384 ".tar.gz"))
6385 (sha256
6386 (base32
6387 "1gjz1ib968lqybma7my1n19qq6cdj6a7nskrlnwy4jy9jrwzs2n9"))))
6388 (build-system haskell-build-system)
6389 (inputs
6390 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6391 (home-page "https://hackage.haskell.org/package/mmorph")
6392 (synopsis "Monad morphisms")
6393 (description
6394 "This library provides monad morphism utilities, most commonly used for
6395manipulating monad transformer stacks.")
6396 (license license:bsd-3)))
6397
6398(define-public ghc-mockery
6399 (package
6400 (name "ghc-mockery")
6401 (version "0.3.5")
6402 (source (origin
6403 (method url-fetch)
6404 (uri (string-append "https://hackage.haskell.org/package/"
6405 "mockery/mockery-" version ".tar.gz"))
6406 (sha256
6407 (base32
6408 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6409 (build-system haskell-build-system)
6410 (inputs
6411 `(("ghc-temporary" ,ghc-temporary)
6412 ("ghc-logging-facade" ,ghc-logging-facade)
6413 ("ghc-base-compat" ,ghc-base-compat)))
6414 (native-inputs
6415 `(("ghc-hspec" ,ghc-hspec)
6416 ("hspec-discover" ,hspec-discover)))
6417 (home-page "https://hackage.haskell.org/package/mockery")
6418 (synopsis "Support functions for automated testing")
6419 (description
6420 "The mockery package provides support functions for automated testing.")
6421 (license license:expat)))
6422
6423(define-public ghc-monad-control
6424 (package
6425 (name "ghc-monad-control")
6426 (version "1.0.2.3")
6427 (source
6428 (origin
6429 (method url-fetch)
6430 (uri (string-append
6431 "https://hackage.haskell.org/package/monad-control"
6432 "/monad-control-" version ".tar.gz"))
6433 (sha256
6434 (base32
6435 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6436 (build-system haskell-build-system)
6437 (inputs
6438 `(("ghc-transformers-base" ,ghc-transformers-base)
6439 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6440 (home-page "https://github.com/basvandijk/monad-control")
6441 (synopsis "Monad transformers to lift control operations like exception
6442catching")
6443 (description "This package defines the type class @code{MonadBaseControl},
6444a subset of @code{MonadBase} into which generic control operations such as
6445@code{catch} can be lifted from @code{IO} or any other base monad.")
6446 (license license:bsd-3)))
6447
6448(define-public ghc-monad-logger
6449 (package
6450 (name "ghc-monad-logger")
6451 (version "0.3.29")
6452 (source
6453 (origin
6454 (method url-fetch)
6455 (uri (string-append "https://hackage.haskell.org/package/"
6456 "monad-logger-" version "/"
6457 "monad-logger-" version ".tar.gz"))
6458 (sha256
6459 (base32
6460 "1z516s4pa9n94zf0l45mylssg07xr1d1m6zrz900p0iv3vfd07mv"))))
6461 (build-system haskell-build-system)
6462 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6463 ("ghc-stm-chans" ,ghc-stm-chans)
6464 ("ghc-lifted-base" ,ghc-lifted-base)
6465 ("ghc-resourcet" ,ghc-resourcet)
6466 ("ghc-conduit" ,ghc-conduit)
6467 ("ghc-conduit-extra" ,ghc-conduit-extra)
6468 ("ghc-fast-logger" ,ghc-fast-logger)
6469 ("ghc-transformers-base" ,ghc-transformers-base)
6470 ("ghc-monad-control" ,ghc-monad-control)
6471 ("ghc-monad-loops" ,ghc-monad-loops)
6472 ("ghc-blaze-builder" ,ghc-blaze-builder)
6473 ("ghc-exceptions" ,ghc-exceptions)))
6474 (home-page "https://github.com/kazu-yamamoto/logger")
6475 (synopsis "Provides a class of monads which can log messages for Haskell")
6476 (description "This Haskell package uses a monad transformer approach
6477for logging.
6478
6479This package provides Template Haskell functions for determining source
6480code locations of messages.")
6481 (license license:expat)))
6482
6483(define-public ghc-monad-loops
6484 (package
6485 (name "ghc-monad-loops")
6486 (version "0.4.3")
6487 (source
6488 (origin
6489 (method url-fetch)
6490 (uri (string-append "https://hackage.haskell.org/package/"
6491 "monad-loops-" version "/"
6492 "monad-loops-" version ".tar.gz"))
6493 (sha256
6494 (base32
6495 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6496 (build-system haskell-build-system)
6497 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6498 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6499 (home-page "https://github.com/mokus0/monad-loops")
6500 (synopsis "Monadic loops for Haskell")
6501 (description "This Haskell package provides some useful control
6502operators for looping.")
6503 (license license:public-domain)))
6504
6505(define-public ghc-monad-par
6506 (package
6507 (name "ghc-monad-par")
6508 (version "0.3.4.8")
6509 (source
6510 (origin
6511 (method url-fetch)
6512 (uri (string-append "https://hackage.haskell.org/package/"
6513 "monad-par-" version "/"
6514 "monad-par-" version ".tar.gz"))
6515 (sha256
6516 (base32
6517 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6518 (build-system haskell-build-system)
6519 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6520 ("ghc-abstract-deque" ,ghc-abstract-deque)
6521 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6522 ("ghc-mwc-random" ,ghc-mwc-random)
6523 ("ghc-parallel" ,ghc-parallel)))
6524 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6525 ("ghc-hunit" ,ghc-hunit)
6526 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6527 ("ghc-test-framework-quickcheck2"
6528 ,ghc-test-framework-quickcheck2)
6529 ("ghc-test-framework" ,ghc-test-framework)
6530 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6531 (home-page "https://github.com/simonmar/monad-par")
6532 (synopsis "Haskell library for parallel programming based on a monad")
6533 (description "The @code{Par} monad offers an API for parallel
6534programming. The library works for parallelising both pure and @code{IO}
6535computations, although only the pure version is deterministic. The default
6536implementation provides a work-stealing scheduler and supports forking tasks
6537that are much lighter weight than IO-threads.")
6538 (license license:bsd-3)))
6539
6540(define-public ghc-monad-par-extras
6541 (package
6542 (name "ghc-monad-par-extras")
6543 (version "0.3.3")
6544 (source
6545 (origin
6546 (method url-fetch)
6547 (uri (string-append "https://hackage.haskell.org/package/"
6548 "monad-par-extras-" version "/"
6549 "monad-par-extras-" version ".tar.gz"))
6550 (sha256
6551 (base32
6552 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6553 (build-system haskell-build-system)
6554 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6555 ("ghc-cereal" ,ghc-cereal)
6556 ("ghc-random" ,ghc-random)))
6557 (home-page "https://github.com/simonmar/monad-par")
6558 (synopsis "Combinators and extra features for Par monads for Haskell")
6559 (description "This Haskell package provides additional data structures,
6560and other added capabilities layered on top of the @code{Par} monad.")
6561 (license license:bsd-3)))
6562
6563(define-public ghc-monadplus
6564 (package
6565 (name "ghc-monadplus")
6566 (version "1.4.2")
6567 (source
6568 (origin
6569 (method url-fetch)
6570 (uri (string-append "https://hackage.haskell.org/package/monadplus"
6571 "/monadplus-" version ".tar.gz"))
6572 (sha256
6573 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
6574 (build-system haskell-build-system)
6575 (home-page "https://hackage.haskell.org/package/monadplus")
6576 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
6577 (description
6578 "This package generalizes many common stream operations such as
6579@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
6580arbitrary @code{MonadPlus} instances.")
6581 (license license:bsd-3)))
6582
6583(define-public ghc-monadrandom
6584 (package
6585 (name "ghc-monadrandom")
6586 (version "0.5.1.1")
6587 (source
6588 (origin
6589 (method url-fetch)
6590 (uri (string-append "https://hackage.haskell.org/package/"
6591 "MonadRandom-" version "/"
6592 "MonadRandom-" version ".tar.gz"))
6593 (sha256
6594 (base32
6595 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
6596 (build-system haskell-build-system)
6597 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6598 ("ghc-primitive" ,ghc-primitive)
6599 ("ghc-fail" ,ghc-fail)
6600 ("ghc-random" ,ghc-random)))
6601 (home-page "https://github.com/byorgey/MonadRandom")
6602 (synopsis "Random-number generation monad for Haskell")
6603 (description "This Haskell package provides support for computations
6604which consume random values.")
6605 (license license:bsd-3)))
6606
6607(define-public ghc-monads-tf
6608 (package
6609 (name "ghc-monads-tf")
6610 (version "0.1.0.3")
6611 (source
6612 (origin
6613 (method url-fetch)
6614 (uri (string-append
6615 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
6616 version ".tar.gz"))
6617 (sha256
6618 (base32
6619 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
6620 (build-system haskell-build-system)
6621 (home-page "https://hackage.haskell.org/package/monads-tf")
6622 (synopsis "Monad classes, using type families")
6623 (description
6624 "Monad classes using type families, with instances for various monad transformers,
6625inspired by the paper 'Functional Programming with Overloading and Higher-Order
6626Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
6627the @code{mtl-tf} package.")
6628 (license license:bsd-3)))
6629
6630(define-public ghc-mono-traversable
6631 (package
6632 (name "ghc-mono-traversable")
6633 (version "1.0.9.0")
6634 (source
6635 (origin
6636 (method url-fetch)
6637 (uri (string-append "https://hackage.haskell.org/package/"
6638 "mono-traversable-" version "/"
6639 "mono-traversable-" version ".tar.gz"))
6640 (sha256
6641 (base32
6642 "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
6643 (build-system haskell-build-system)
6644 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
6645 ("ghc-hashable" ,ghc-hashable)
6646 ("ghc-vector" ,ghc-vector)
6647 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
6648 ("ghc-split" ,ghc-split)))
6649 (native-inputs `(("ghc-hspec" ,ghc-hspec)
6650 ("ghc-hunit" ,ghc-hunit)
6651 ("ghc-quickcheck" ,ghc-quickcheck)
6652 ("ghc-semigroups" ,ghc-semigroups)
6653 ("ghc-foldl" ,ghc-foldl)))
6654 (home-page "https://github.com/snoyberg/mono-traversable")
6655 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
6656containers")
6657 (description "This Haskell package provides Monomorphic variants of the
6658Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
6659basic typeclasses, you understand mono-traversable. In addition to what
6660you are used to, it adds on an IsSequence typeclass and has code for marking
6661data structures as non-empty.")
6662 (license license:expat)))
6663
6664(define-public ghc-murmur-hash
6665 (package
6666 (name "ghc-murmur-hash")
6667 (version "0.1.0.9")
6668 (source
6669 (origin
6670 (method url-fetch)
6671 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
6672 "/murmur-hash-" version ".tar.gz"))
6673 (sha256
6674 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
6675 (build-system haskell-build-system)
6676 (home-page "https://github.com/nominolo/murmur-hash")
6677 (synopsis "MurmurHash2 implementation for Haskell")
6678 (description
6679 "This package provides an implementation of MurmurHash2, a good, fast,
6680general-purpose, non-cryptographic hashing function. See
6681@url{https://sites.google.com/site/murmurhash/} for details. This
6682implementation is pure Haskell, so it might be a bit slower than a C FFI
6683binding.")
6684 (license license:bsd-3)))
6685
6686(define-public ghc-mwc-random
6687 (package
6688 (name "ghc-mwc-random")
6689 (version "0.13.6.0")
6690 (source
6691 (origin
6692 (method url-fetch)
6693 (uri (string-append "https://hackage.haskell.org/package/"
6694 "mwc-random-" version "/"
6695 "mwc-random-" version ".tar.gz"))
6696 (sha256
6697 (base32
6698 "05j7yh0hh9nxic3dijmzv44kc6gzclvamdph7sq7w19wq57k6pq6"))))
6699 (build-system haskell-build-system)
6700 (inputs
6701 `(("ghc-primitive" ,ghc-primitive)
6702 ("ghc-vector" ,ghc-vector)
6703 ("ghc-math-functions" ,ghc-math-functions)))
6704 (arguments
6705 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
6706 (native-inputs
6707 `(("ghc-hunit" ,ghc-hunit)
6708 ("ghc-quickcheck" ,ghc-quickcheck)
6709 ("ghc-test-framework" ,ghc-test-framework)
6710 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6711 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6712 (home-page "https://github.com/bos/mwc-random")
6713 (synopsis "Random number generation library for Haskell")
6714 (description "This Haskell package contains code for generating
6715high quality random numbers that follow either a uniform or normal
6716distribution. The generated numbers are suitable for use in
6717statistical applications.
6718
6719The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
6720multiply-with-carry generator, which has a period of 2^{8222} and
6721fares well in tests of randomness. It is also extremely fast,
6722between 2 and 3 times faster than the Mersenne Twister.")
6723 (license license:bsd-3)))
6724
6725(define-public ghc-nats
6726 (package
6727 (name "ghc-nats")
6728 (version "1.1.2")
6729 (source
6730 (origin
6731 (method url-fetch)
6732 (uri (string-append
6733 "https://hackage.haskell.org/package/nats/nats-"
6734 version
6735 ".tar.gz"))
6736 (sha256
6737 (base32
6738 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
6739 (build-system haskell-build-system)
6740 (arguments `(#:haddock? #f))
6741 (inputs
6742 `(("ghc-hashable" ,ghc-hashable)))
6743 (home-page "https://hackage.haskell.org/package/nats")
6744 (synopsis "Natural numbers")
6745 (description "This library provides the natural numbers for Haskell.")
6746 (license license:bsd-3)))
6747
6748(define-public ghc-nats-bootstrap
6749 (package
6750 (inherit ghc-nats)
6751 (name "ghc-nats-bootstrap")
6752 (inputs
6753 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
6754 (properties '((hidden? #t)))))
6755
6756(define-public ghc-network
6757 (package
6758 (name "ghc-network")
6759 (version "2.6.3.6")
6760 (outputs '("out" "doc"))
6761 (source
6762 (origin
6763 (method url-fetch)
6764 (uri (string-append
6765 "https://hackage.haskell.org/package/network/network-"
6766 version
6767 ".tar.gz"))
6768 (sha256
6769 (base32
6770 "198mam7ahny48p9fajznbqq16a8ya2gw0xm3gnm1si1rmc4hdplv"))))
6771 (build-system haskell-build-system)
6772 ;; The regression tests depend on an unpublished module.
6773 (arguments `(#:tests? #f))
6774 (native-inputs
6775 `(("ghc-hunit" ,ghc-hunit)
6776 ("ghc-doctest" ,ghc-doctest)
6777 ("ghc-test-framework" ,ghc-test-framework)
6778 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6779 (home-page "https://github.com/haskell/network")
6780 (synopsis "Low-level networking interface")
6781 (description
6782 "This package provides a low-level networking interface.")
6783 (license license:bsd-3)))
4780db2c
EB
6784
6785;;; Until we update our default GHC to >=8.6 we cannot update our ghc-network
6786;;; package, since the 'cabal-install' package that supports the current
6787;;; 'Cabal' module requires 'network==2.6.*'. Here we provide an updated
6788;;; version to be used for our idris package.
6789(define-public ghc-network-2.8
6790 (hidden-package
6791 (package
6792 (inherit ghc-network)
6793 (version "2.8.0.1")
6794 (source
6795 (origin
6796 (method url-fetch)
6797 (uri (string-append "https://hackage.haskell.org/package/network/"
6798 "network-" version ".tar.gz"))
6799 (sha256
6800 (base32
6801 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1")))))))
dddbc90c
RV
6802
6803(define-public ghc-network-info
6804 (package
6805 (name "ghc-network-info")
6806 (version "0.2.0.10")
6807 (source
6808 (origin
6809 (method url-fetch)
6810 (uri (string-append "https://hackage.haskell.org/package/"
6811 "network-info-" version "/"
6812 "network-info-" version ".tar.gz"))
6813 (sha256
6814 (base32
6815 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
6816 (build-system haskell-build-system)
6817 (home-page "https://github.com/jystic/network-info")
6818 (synopsis "Access the local computer's basic network configuration")
6819 (description "This Haskell library provides simple read-only access to the
6820local computer's networking configuration. It is currently capable of
6821getting a list of all the network interfaces and their respective
6822IPv4, IPv6 and MAC addresses.")
6823 (license license:bsd-3)))
6824
6825(define-public ghc-network-uri
6826 (package
6827 (name "ghc-network-uri")
6828 (version "2.6.1.0")
6829 (outputs '("out" "doc"))
6830 (source
6831 (origin
6832 (method url-fetch)
6833 (uri (string-append
6834 "https://hackage.haskell.org/package/network-uri/network-uri-"
6835 version
6836 ".tar.gz"))
6837 (sha256
6838 (base32
6839 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
6840 (build-system haskell-build-system)
6841 (arguments
6842 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
6843 (inputs
6844 `(("ghc-network" ,ghc-network)))
6845 (native-inputs
6846 `(("ghc-hunit" ,ghc-hunit)))
6847 (home-page
6848 "https://github.com/haskell/network-uri")
6849 (synopsis "Library for URI manipulation")
6850 (description "This package provides an URI manipulation interface. In
6851@code{network-2.6} the @code{Network.URI} module was split off from the
6852@code{network} package into this package.")
6853 (license license:bsd-3)))
6854
6855(define-public ghc-newtype-generics
6856 (package
6857 (name "ghc-newtype-generics")
6858 (version "0.5.3")
6859 (source
6860 (origin
6861 (method url-fetch)
6862 (uri (string-append "https://hackage.haskell.org/package/"
6863 "newtype-generics/newtype-generics-"
6864 version ".tar.gz"))
6865 (sha256
6866 (base32
6867 "0igyisw2djg19v9vkna1rwf47k97mvkvk4bbkmswznvbm00z15gj"))))
6868 (build-system haskell-build-system)
6869 (native-inputs
6870 `(("ghc-hspec" ,ghc-hspec)
6871 ("hspec-discover" ,hspec-discover)))
6872 (home-page "http://github.com/sjakobi/newtype-generics")
6873 (synopsis "Typeclass and set of functions for working with newtypes")
6874 (description "The @code{Newtype} typeclass represents the packing and
6875unpacking of a newtype, and allows you to operate under that newtype with
6876functions such as @code{ala}. Generics support was added in version 0.4,
6877making this package a full replacement for the original newtype package,
6878and an alternative to newtype-th.")
6879 (license license:bsd-3)))
6880
6b652f5a
JS
6881(define-public ghc-non-negative
6882 (package
6883 (name "ghc-non-negative")
6884 (version "0.1.2")
6885 (source
6886 (origin
6887 (method url-fetch)
6888 (uri
6889 (string-append
6890 "https://hackage.haskell.org/package/non-negative/non-negative-"
6891 version ".tar.gz"))
6892 (sha256
6893 (base32
6894 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
6895 (build-system haskell-build-system)
6896 (inputs
6897 `(("ghc-semigroups" ,ghc-semigroups)
6898 ("ghc-utility-ht" ,ghc-utility-ht)
6899 ("ghc-quickcheck" ,ghc-quickcheck)))
6900 (home-page "https://hackage.haskell.org/package/non-negative")
6901 (synopsis "Non-negative numbers class")
6902 (description "This library provides a class for non-negative numbers,
6903a wrapper which can turn any ordered numeric type into a member of that
6904class, and a lazy number type for non-negative numbers (a generalization
6905of Peano numbers).")
6906 (license license:gpl3+)))
6907
dddbc90c
RV
6908(define-public ghc-objectname
6909 (package
6910 (name "ghc-objectname")
6911 (version "1.1.0.1")
6912 (source
6913 (origin
6914 (method url-fetch)
6915 (uri (string-append
6916 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
6917 version
6918 ".tar.gz"))
6919 (sha256
6920 (base32
6921 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
6922 (build-system haskell-build-system)
6923 (home-page "https://hackage.haskell.org/package/ObjectName")
6924 (synopsis "Helper library for Haskell OpenGL")
6925 (description "This tiny package contains the class ObjectName, which
6926corresponds to the general notion of explicitly handled identifiers for API
6927objects, e.g. a texture object name in OpenGL or a buffer object name in
6928OpenAL.")
6929 (license license:bsd-3)))
6930
6931(define-public ghc-old-locale
6932 (package
6933 (name "ghc-old-locale")
6934 (version "1.0.0.7")
6935 (source
6936 (origin
6937 (method url-fetch)
6938 (uri (string-append
6939 "https://hackage.haskell.org/package/old-locale/old-locale-"
6940 version
6941 ".tar.gz"))
6942 (sha256
6943 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
6944 (build-system haskell-build-system)
6945 (arguments
6946 `(#:cabal-revision
6947 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
6948 (home-page "https://hackage.haskell.org/package/old-locale")
6949 (synopsis "Adapt to locale conventions")
6950 (description
6951 "This package provides the ability to adapt to locale conventions such as
6952date and time formats.")
6953 (license license:bsd-3)))
6954
6955(define-public ghc-old-time
6956 (package
6957 (name "ghc-old-time")
6958 (version "1.1.0.3")
6959 (source
6960 (origin
6961 (method url-fetch)
6962 (uri (string-append
6963 "https://hackage.haskell.org/package/old-time/old-time-"
6964 version
6965 ".tar.gz"))
6966 (sha256
6967 (base32
6968 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
6969 (build-system haskell-build-system)
6970 (arguments
6971 `(#:cabal-revision
6972 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
6973 (inputs
6974 `(("ghc-old-locale" ,ghc-old-locale)))
6975 (home-page "https://hackage.haskell.org/package/old-time")
6976 (synopsis "Time compatibility library for Haskell")
6977 (description "Old-time is a package for backwards compatibility with the
6978old @code{time} library. For new projects, the newer
6979@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
6980 (license license:bsd-3)))
6981
6982(define-public ghc-opengl
6983 (package
6984 (name "ghc-opengl")
6985 (version "3.0.2.2")
6986 (source
6987 (origin
6988 (method url-fetch)
6989 (uri (string-append
6990 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
6991 version
6992 ".tar.gz"))
6993 (sha256
6994 (base32
6995 "19vxwvx2n8zq2klj176l25n2b64ybp0b8mhm4p46gvpcivz41fjc"))))
6996 (build-system haskell-build-system)
6997 (inputs
6998 `(("ghc-objectname" ,ghc-objectname)
6999 ("ghc-gluraw" ,ghc-gluraw)
7000 ("ghc-statevar" ,ghc-statevar)
7001 ("ghc-openglraw" ,ghc-openglraw)))
7002 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7003 (synopsis "Haskell bindings for the OpenGL graphics system")
7004 (description "This package provides Haskell bindings for the OpenGL
7005graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7006version 1.3).")
7007 (license license:bsd-3)))
7008
7009(define-public ghc-openglraw
7010 (package
7011 (name "ghc-openglraw")
7012 (version "3.3.1.0")
7013 (source
7014 (origin
7015 (method url-fetch)
7016 (uri (string-append
7017 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7018 version
7019 ".tar.gz"))
7020 (sha256
7021 (base32
7022 "1x8w3x308jldj2c1xqcq3a3sc2jc06pdpgqkgjsmixi1skv4a1vb"))))
7023 (build-system haskell-build-system)
7024 (inputs
7025 `(("ghc-half" ,ghc-half)
7026 ("ghc-fixed" ,ghc-fixed)
7027 ("glu" ,glu)))
7028 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7029 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7030 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7031graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7032of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7033offers access to all necessary functions, tokens and types plus a general
7034facility for loading extension entries. The module hierarchy closely mirrors
7035the naming structure of the OpenGL extensions, making it easy to find the
7036right module to import. All API entries are loaded dynamically, so no special
7037C header files are needed for building this package. If an API entry is not
7038found at runtime, a userError is thrown.")
7039 (license license:bsd-3)))
7040
7041(define-public ghc-operational
7042 (package
7043 (name "ghc-operational")
7044 (version "0.2.3.5")
7045 (source
7046 (origin
7047 (method url-fetch)
7048 (uri (string-append "https://hackage.haskell.org/package/operational/"
7049 "operational-" version ".tar.gz"))
7050 (sha256
7051 (base32
7052 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7053 (build-system haskell-build-system)
7054 (inputs
7055 `(("ghc-random" ,ghc-random)))
7056 (home-page "http://wiki.haskell.org/Operational")
7057 (synopsis "Implementation of difficult monads made easy with operational semantics")
7058 (description
7059 "This library makes it easy to implement monads with tricky control
7060flow. This is useful for: writing web applications in a sequential style,
7061programming games with a uniform interface for human and AI players and easy
7062replay capababilities, implementing fast parser monads, designing monadic
7063DSLs, etc.")
7064 (license license:bsd-3)))
7065
7066(define-public ghc-options
7067 (package
7068 (name "ghc-options")
7069 (version "1.2.1.1")
7070 (source
7071 (origin
7072 (method url-fetch)
7073 (uri (string-append
7074 "https://hackage.haskell.org/package/options/options-"
7075 version ".tar.gz"))
7076 (sha256
7077 (base32
7078 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7079 (build-system haskell-build-system)
7080 (inputs
7081 `(("ghc-monads-tf" ,ghc-monads-tf)
7082 ("ghc-chell" ,ghc-chell)
7083 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7084 (home-page "https://john-millikin.com/software/haskell-options/")
7085 (synopsis "Powerful and easy-to-use command-line option parser")
7086 (description
7087 "The @code{options} package lets library and application developers
7088easily work with command-line options.")
7089 (license license:expat)))
7090
7091;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7092(define ghc-options-bootstrap
7093 (package
7094 (name "ghc-options-bootstrap")
7095 (version "1.2.1.1")
7096 (source
7097 (origin
7098 (method url-fetch)
7099 (uri (string-append
7100 "https://hackage.haskell.org/package/options/options-"
7101 version ".tar.gz"))
7102 (sha256
7103 (base32
7104 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7105 (build-system haskell-build-system)
7106 (arguments
7107 `(#:tests? #f))
7108 (inputs
7109 `(("ghc-monads-tf" ,ghc-monads-tf)))
7110 (home-page "https://john-millikin.com/software/haskell-options/")
7111 (synopsis "Powerful and easy-to-use command-line option parser")
7112 (description
7113 "The @code{options} package lets library and application developers
7114easily work with command-line options.")
7115 (license license:expat)))
7116
7117
7118(define-public ghc-optparse-applicative
7119 (package
7120 (name "ghc-optparse-applicative")
7121 (version "0.14.2.0")
7122 (source
7123 (origin
7124 (method url-fetch)
7125 (uri (string-append
7126 "https://hackage.haskell.org/package/optparse-applicative"
7127 "/optparse-applicative-" version ".tar.gz"))
7128 (sha256
7129 (base32
7130 "0c3z1mvynlyv1garjbdmdd3npm40dabgm75js4r07cf766c1wd71"))))
7131 (build-system haskell-build-system)
7132 (inputs
7133 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7134 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7135 (native-inputs
7136 `(("ghc-quickcheck" ,ghc-quickcheck)))
7137 (home-page "https://github.com/pcapriotti/optparse-applicative")
7138 (synopsis "Utilities and combinators for parsing command line options")
7139 (description "This package provides utilities and combinators for parsing
7140command line options in Haskell.")
7141 (license license:bsd-3)))
7142
7143(define-public ghc-pandoc
7144 (package
7145 (name "ghc-pandoc")
7146 (version "2.2.1")
7147 (source
7148 (origin
7149 (method url-fetch)
7150 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7151 version ".tar.gz"))
7152 (sha256
7153 (base32
7154 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
7155 (build-system haskell-build-system)
7156 (arguments
7157 `(#:phases
7158 (modify-phases %standard-phases
7159 (add-before 'configure 'update-constraints
7160 (lambda _
7161 (substitute* "pandoc.cabal"
7162 (("tasty >= 0\\.11 && < 1\\.1")
7163 "tasty >= 0.11 && < 1.1.1"))))
7164 (add-before 'configure 'patch-tests
7165 (lambda _
7166 ;; These tests fail benignly and have been adjusted upstream:
7167 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
7168 (substitute* "test/Tests/Old.hs"
7169 (("lhsWriterTests \"html\"") "[]")))))))
7170 (inputs
7171 `(("ghc-aeson" ,ghc-aeson)
7172 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7173 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7174 ("ghc-blaze-html" ,ghc-blaze-html)
7175 ("ghc-blaze-markup" ,ghc-blaze-markup)
7176 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7177 ("ghc-data-default" ,ghc-data-default)
7178 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7179 ("ghc-diff" ,ghc-diff)
7180 ("ghc-doctemplates" ,ghc-doctemplates)
7181 ("ghc-executable-path" ,ghc-executable-path)
7182 ("ghc-glob" ,ghc-glob)
7183 ("ghc-haddock-library" ,ghc-haddock-library)
7184 ("ghc-hslua" ,ghc-hslua)
7185 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7186 ("ghc-http" ,ghc-http)
7187 ("ghc-http-client" ,ghc-http-client)
7188 ("ghc-http-client-tls" ,ghc-http-client-tls)
7189 ("ghc-http-types" ,ghc-http-types)
7190 ("ghc-juicypixels" ,ghc-juicypixels)
7191 ("ghc-network" ,ghc-network)
7192 ("ghc-network-uri" ,ghc-network-uri)
7193 ("ghc-old-locale" ,ghc-old-locale)
7194 ("ghc-pandoc-types" ,ghc-pandoc-types)
7195 ("ghc-random" ,ghc-random)
7196 ("ghc-scientific" ,ghc-scientific)
7197 ("ghc-sha" ,ghc-sha)
7198 ("ghc-skylighting" ,ghc-skylighting)
7199 ("ghc-split" ,ghc-split)
7200 ("ghc-syb" ,ghc-syb)
7201 ("ghc-tagsoup" ,ghc-tagsoup)
7202 ("ghc-temporary" ,ghc-temporary)
7203 ("ghc-texmath" ,ghc-texmath)
7204 ("ghc-unordered-containers" ,ghc-unordered-containers)
7205 ("ghc-vector" ,ghc-vector)
7206 ("ghc-xml" ,ghc-xml)
7207 ("ghc-yaml" ,ghc-yaml)
7208 ("ghc-zip-archive" ,ghc-zip-archive)
7209 ("ghc-zlib" ,ghc-zlib)))
7210 (native-inputs
7211 `(("ghc-tasty" ,ghc-tasty)
7212 ("ghc-tasty-golden" ,ghc-tasty-golden)
7213 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7214 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7215 ("ghc-quickcheck" ,ghc-quickcheck)
7216 ("ghc-hunit" ,ghc-hunit)))
7217 (home-page "https://pandoc.org")
7218 (synopsis "Conversion between markup formats")
7219 (description
7220 "Pandoc is a Haskell library for converting from one markup format to
7221another, and a command-line tool that uses this library. It can read and
7222write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7223LaTeX, DocBook, and many more.
7224
7225Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7226definition lists, tables, and other features. A compatibility mode is
7227provided for those who need a drop-in replacement for Markdown.pl.")
7228 (license license:gpl2+)))
7229
7230(define-public ghc-pandoc-citeproc
7231 (package
7232 (name "ghc-pandoc-citeproc")
7233 (version "0.14.3.1")
7234 (source
7235 (origin
7236 (method url-fetch)
7237 (uri (string-append "https://hackage.haskell.org/package/"
7238 "pandoc-citeproc/pandoc-citeproc-"
7239 version ".tar.gz"))
7240 (sha256
7241 (base32
7242 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7243 (build-system haskell-build-system)
7244 (arguments
7245 `(#:phases
7246 (modify-phases %standard-phases
7247 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7248 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7249 (add-before 'configure 'patch-tests
7250 (lambda _
7251 (substitute* "tests/test-pandoc-citeproc.hs"
7252 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7253 "let allTests = citeprocTests"))))
7254 ;; Tests need to be run after installation.
7255 (delete 'check)
7256 (add-after 'install 'post-install-check
7257 (assoc-ref %standard-phases 'check)))))
7258 (inputs
7259 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7260 ("ghc-pandoc" ,ghc-pandoc)
7261 ("ghc-tagsoup" ,ghc-tagsoup)
7262 ("ghc-aeson" ,ghc-aeson)
7263 ("ghc-vector" ,ghc-vector)
7264 ("ghc-xml-conduit" ,ghc-xml-conduit)
7265 ("ghc-unordered-containers" ,ghc-unordered-containers)
7266 ("ghc-data-default" ,ghc-data-default)
7267 ("ghc-setenv" ,ghc-setenv)
7268 ("ghc-split" ,ghc-split)
7269 ("ghc-yaml" ,ghc-yaml)
7270 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7271 ("ghc-rfc5051" ,ghc-rfc5051)
7272 ("ghc-syb" ,ghc-syb)
7273 ("ghc-old-locale" ,ghc-old-locale)
7274 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7275 ("ghc-attoparsec" ,ghc-attoparsec)
7276 ("ghc-temporary" ,ghc-temporary)))
7277 (home-page "https://github.com/jgm/pandoc-citeproc")
7278 (synopsis "Library for using pandoc with citeproc")
7279 (description
7280 "The @code{pandoc-citeproc} library exports functions for using the
7281citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7282rendering bibliographic reference citations into a variety of styles using a
7283macro language called @dfn{Citation Style Language} (CSL). This package also
7284contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7285and also has a mode for converting bibliographic databases a YAML format
7286suitable for inclusion in pandoc YAML metadata.")
7287 (license license:bsd-3)))
7288
7289(define-public ghc-pandoc-types
7290 (package
7291 (name "ghc-pandoc-types")
7292 (version "1.17.5.1")
7293 (source (origin
7294 (method url-fetch)
7295 (uri (string-append "https://hackage.haskell.org/package/"
7296 "pandoc-types/pandoc-types-"
7297 version ".tar.gz"))
7298 (sha256
7299 (base32
7300 "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
7301 (build-system haskell-build-system)
7302 (inputs
7303 `(("ghc-syb" ,ghc-syb)
7304 ("ghc-aeson" ,ghc-aeson)
7305 ("ghc-string-qq" ,ghc-string-qq)))
7306 (native-inputs
7307 `(("ghc-quickcheck" ,ghc-quickcheck)
7308 ("ghc-test-framework" ,ghc-test-framework)
7309 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7310 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7311 ("ghc-hunit" ,ghc-hunit)))
7312 (home-page "http://johnmacfarlane.net/pandoc")
7313 (synopsis "Types for representing a structured document")
7314 (description
7315 "This module defines the @code{Pandoc} data structure, which is used by
7316pandoc to represent structured documents. It also provides functions for
7317building up, manipulating and serialising @code{Pandoc} structures.")
7318 (license license:bsd-3)))
7319
7320(define-public ghc-parallel
7321 (package
7322 (name "ghc-parallel")
7323 (version "3.2.2.0")
7324 (outputs '("out" "doc"))
7325 (source
7326 (origin
7327 (method url-fetch)
7328 (uri (string-append
7329 "https://hackage.haskell.org/package/parallel/parallel-"
7330 version
7331 ".tar.gz"))
7332 (sha256
7333 (base32
7334 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7335 (build-system haskell-build-system)
7336 (home-page "https://hackage.haskell.org/package/parallel")
7337 (synopsis "Parallel programming library")
7338 (description
7339 "This package provides a library for parallel programming.")
7340 (license license:bsd-3)))
7341
7342(define-public ghc-parsec-numbers
7343 (package
7344 (name "ghc-parsec-numbers")
7345 (version "0.1.0")
7346 (source
7347 (origin
7348 (method url-fetch)
7349 (uri (string-append "https://hackage.haskell.org/package/"
7350 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7351 (sha256
7352 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7353 (build-system haskell-build-system)
7354 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7355 (synopsis "Utilities for parsing numbers from strings")
7356 (description
7357 "This package provides the number parsers without the need to use a large
7358(and unportable) token parser.")
7359 (license license:bsd-3)))
7360
7361(define-public ghc-parser-combinators
7362 (package
7363 (name "ghc-parser-combinators")
7364 (version "1.0.0")
7365 (source
7366 (origin
7367 (method url-fetch)
7368 (uri (string-append "https://hackage.haskell.org/package/"
7369 "parser-combinators/parser-combinators-"
7370 version ".tar.gz"))
7371 (sha256
7372 (base32
7373 "1pwfdsklqwvaynwpdzmx1bs35mp6dpsyaqdnzxnqcrxwf5h8sk75"))))
7374 (build-system haskell-build-system)
7375 (home-page "https://github.com/mrkkrp/parser-combinators")
7376 (synopsis "Commonly useful parser combinators")
7377 (description
7378 "This is a lightweight package providing commonly useful parser
7379combinators.")
7380 (license license:bsd-3)))
7381
7382(define-public ghc-parsers
7383 (package
7384 (name "ghc-parsers")
7385 (version "0.12.9")
7386 (source
7387 (origin
7388 (method url-fetch)
7389 (uri (string-append
7390 "https://hackage.haskell.org/package/parsers/parsers-"
7391 version
7392 ".tar.gz"))
7393 (sha256
7394 (base32
7395 "1r05sc1mcglk8w596kq9a1brfn9c2vll8lq16j07ln0vsz4jzrc1"))))
7396 (build-system haskell-build-system)
7397 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7398 ; -package attoparsec-0.13.0.1"
7399 (inputs
7400 `(("ghc-base-orphans" ,ghc-base-orphans)
7401 ("ghc-attoparsec" ,ghc-attoparsec)
7402 ("ghc-scientific" ,ghc-scientific)
7403 ("ghc-charset" ,ghc-charset)
7404 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7405 (home-page "https://github.com/ekmett/parsers/")
7406 (synopsis "Parsing combinators")
7407 (description "This library provides convenient combinators for working
7408with and building parsing combinator libraries. Given a few simple instances,
7409you get access to a large number of canned definitions. Instances exist for
7410the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7411@code{Text.Read}.")
7412 (license license:bsd-3)))
7413
7414(define-public ghc-path
7415 (package
7416 (name "ghc-path")
7417 (version "0.6.1")
7418 (source
7419 (origin
7420 (method url-fetch)
7421 (uri (string-append
7422 "https://hackage.haskell.org/package/path/path-"
7423 version
7424 ".tar.gz"))
7425 (sha256
7426 (base32
7427 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7428 (build-system haskell-build-system)
7429 (arguments
7430 ;; TODO: There are some Windows-related tests and modules that need to be
7431 ;; danced around.
7432 `(#:tests? #f
7433 #:cabal-revision
7434 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7435 (inputs
7436 `(("ghc-aeson" ,ghc-aeson)
7437 ("ghc-exceptions" ,ghc-exceptions)
7438 ("ghc-hashable" ,ghc-hashable)))
7439 (native-inputs
7440 `(("ghc-hspec" ,ghc-hspec)
7441 ("ghc-quickcheck" ,ghc-quickcheck)
7442 ("ghc-genvalidity" ,ghc-genvalidity)
7443 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7444 ("ghc-hspec" ,ghc-hspec)
7445 ("ghc-validity" ,ghc-validity)))
7446 (home-page
7447 "http://hackage.haskell.org/package/path")
7448 (synopsis "Support for well-typed paths")
7449 (description "This package introduces a type for paths upholding useful
7450invariants.")
7451 (license license:bsd-3)))
7452
7453(define-public ghc-path-io
7454 (package
7455 (name "ghc-path-io")
7456 (version "1.3.3")
7457 (source
7458 (origin
7459 (method url-fetch)
7460 (uri (string-append
7461 "https://hackage.haskell.org/package/path-io/path-io-"
7462 version
7463 ".tar.gz"))
7464 (sha256
7465 (base32
7466 "1g9m3qliqjk1img894wsb89diym5zrq51qkkrwhz4sbm9a8hbv1a"))))
7467 (build-system haskell-build-system)
7468 (inputs
7469 `(("ghc-dlist" ,ghc-dlist)
7470 ("ghc-exceptions" ,ghc-exceptions)
7471 ("ghc-path" ,ghc-path)
7472 ("ghc-transformers-base" ,ghc-transformers-base)
7473 ("ghc-unix-compat" ,ghc-unix-compat)
7474 ("ghc-temporary" ,ghc-temporary)))
7475 (native-inputs
7476 `(("ghc-hspec" ,ghc-hspec)))
7477 (arguments
7478 `(#:cabal-revision
7479 ("3" "1h9hsibbflkxpjl2fqamqiv3x3gasf51apnmklrs9l9x8r32hzcc")))
7480 (home-page
7481 "https://github.com/mrkkrp/path-io")
7482 (synopsis "Functions for manipulating well-typed paths")
7483 (description "This package provides an interface to the @code{directory}
7484package for users of @code{path}. It also implements some missing stuff like
7485recursive scanning and copying of directories, working with temporary
7486files/directories, and more.")
7487 (license license:bsd-3)))
7488
7489(define-public ghc-paths
7490 (package
7491 (name "ghc-paths")
7492 (version "0.1.0.9")
7493 (outputs '("out" "doc"))
7494 (source
7495 (origin
7496 (method url-fetch)
7497 (uri (string-append
7498 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7499 version
7500 ".tar.gz"))
7501 (sha256
7502 (base32
7503 "0ibrr1dxa35xx20cpp8jzgfak1rdmy344dfwq4vlq013c6w8z9mg"))))
7504 (build-system haskell-build-system)
7505 (home-page "https://github.com/simonmar/ghc-paths")
7506 (synopsis
7507 "Knowledge of GHC's installation directories")
7508 (description
7509 "Knowledge of GHC's installation directories.")
7510 (license license:bsd-3)))
7511
7512(define-public ghc-patience
7513 (package
7514 (name "ghc-patience")
7515 (version "0.1.1")
7516 (source
7517 (origin
7518 (method url-fetch)
7519 (uri (string-append
7520 "https://hackage.haskell.org/package/patience/patience-"
7521 version ".tar.gz"))
7522 (sha256
7523 (base32
7524 "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"))))
7525 (build-system haskell-build-system)
7526 (home-page "https://hackage.haskell.org/package/patience")
7527 (synopsis "Patience diff and longest increasing subsequence")
7528 (description
7529 "This library implements the 'patience diff' algorithm, as well as the
7530patience algorithm for the longest increasing subsequence problem.
7531Patience diff computes the difference between two lists, for example the lines
7532of two versions of a source file. It provides a good balance between
7533performance, nice output for humans, and simplicity of implementation.")
7534 (license license:bsd-3)))
7535
7536(define-public ghc-pcre-light
7537 (package
7538 (name "ghc-pcre-light")
7539 (version "0.4.0.4")
7540 (source
7541 (origin
7542 (method url-fetch)
7543 (uri (string-append
7544 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7545 version
7546 ".tar.gz"))
7547 (sha256
7548 (base32
7549 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7550 (build-system haskell-build-system)
7551 (inputs
7552 `(("pcre" ,pcre)))
7553 (native-inputs
7554 `(("pkg-config" ,pkg-config)))
7555 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7556 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7557 (description "This package provides a small, efficient, and portable regex
7558library for Perl 5 compatible regular expressions. The PCRE library is a set
7559of functions that implement regular expression pattern matching using the same
7560syntax and semantics as Perl 5.")
7561 (license license:bsd-3)))
7562
7563(define-public ghc-persistent
7564 (package
7565 (name "ghc-persistent")
7566 (version "2.8.2")
7567 (source
7568 (origin
7569 (method url-fetch)
7570 (uri (string-append "https://hackage.haskell.org/package/"
7571 "persistent-" version "/"
7572 "persistent-" version ".tar.gz"))
7573 (sha256
7574 (base32
7575 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
7576 (build-system haskell-build-system)
7577 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7578 ("ghc-conduit" ,ghc-conduit)
7579 ("ghc-resourcet" ,ghc-resourcet)
7580 ("ghc-exceptions" ,ghc-exceptions)
7581 ("ghc-monad-control" ,ghc-monad-control)
7582 ("ghc-lifted-base" ,ghc-lifted-base)
7583 ("ghc-resource-pool" ,ghc-resource-pool)
7584 ("ghc-path-pieces" ,ghc-path-pieces)
7585 ("ghc-http-api-data" ,ghc-http-api-data)
7586 ("ghc-aeson" ,ghc-aeson)
7587 ("ghc-monad-logger" ,ghc-monad-logger)
7588 ("ghc-transformers-base" ,ghc-transformers-base)
7589 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7590 ("ghc-unordered-containers" ,ghc-unordered-containers)
7591 ("ghc-vector" ,ghc-vector)
7592 ("ghc-attoparsec" ,ghc-attoparsec)
7593 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7594 ("ghc-blaze-html" ,ghc-blaze-html)
7595 ("ghc-blaze-markup" ,ghc-blaze-markup)
7596 ("ghc-silently" ,ghc-silently)
7597 ("ghc-fast-logger" ,ghc-fast-logger)
7598 ("ghc-scientific" ,ghc-scientific)
7599 ("ghc-tagged" ,ghc-tagged)
7600 ("ghc-void" ,ghc-void)))
7601 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7602 (home-page "https://www.yesodweb.com/book/persistent")
7603 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7604 (description "This Haskell package allows Haskell programs to access data
7605storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7606way.")
7607 (license license:expat)))
7608
7609(define-public ghc-persistent-sqlite
7610 (package
7611 (name "ghc-persistent-sqlite")
7612 (version "2.8.2")
7613 (source
7614 (origin
7615 (method url-fetch)
7616 (uri (string-append "https://hackage.haskell.org/package/"
7617 "persistent-sqlite-" version "/"
7618 "persistent-sqlite-" version ".tar.gz"))
7619 (sha256
7620 (base32
7621 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7622 (build-system haskell-build-system)
7623 (inputs `(("ghc-persistent" ,ghc-persistent)
7624 ("ghc-unliftio-core" ,ghc-unliftio-core)
7625 ("ghc-aeson" ,ghc-aeson)
7626 ("ghc-conduit" ,ghc-conduit)
7627 ("ghc-monad-logger" ,ghc-monad-logger)
7628 ("ghc-microlens-th" ,ghc-microlens-th)
7629 ("ghc-resourcet" ,ghc-resourcet)
7630 ("ghc-old-locale" ,ghc-old-locale)
7631 ("ghc-resource-pool" ,ghc-resource-pool)
7632 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7633 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7634 ("ghc-persistent-template" ,ghc-persistent-template)
7635 ("ghc-temporary" ,ghc-temporary)))
7636 (home-page
7637 "https://www.yesodweb.com/book/persistent")
7638 (synopsis "Backend for the persistent library using sqlite3")
7639 (description "This Haskell package includes a thin sqlite3 wrapper based
7640on the direct-sqlite package, as well as the entire C library, so there are no
7641system dependencies.")
7642 (license license:expat)))
7643
7644(define-public ghc-persistent-template
7645 (package
7646 (name "ghc-persistent-template")
7647 (version "2.5.4")
7648 (source
7649 (origin
7650 (method url-fetch)
7651 (uri (string-append "https://hackage.haskell.org/package/"
7652 "persistent-template-" version "/"
7653 "persistent-template-" version ".tar.gz"))
7654 (sha256
7655 (base32
7656 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7657 (build-system haskell-build-system)
7658 (arguments
7659 `(#:cabal-revision
7660 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7661 (inputs `(("ghc-persistent" ,ghc-persistent)
7662 ("ghc-monad-control" ,ghc-monad-control)
7663 ("ghc-aeson" ,ghc-aeson)
7664 ("ghc-aeson-compat" ,ghc-aeson-compat)
7665 ("ghc-monad-logger" ,ghc-monad-logger)
7666 ("ghc-unordered-containers" ,ghc-unordered-containers)
7667 ("ghc-tagged" ,ghc-tagged)
7668 ("ghc-path-pieces" ,ghc-path-pieces)
7669 ("ghc-http-api-data" ,ghc-http-api-data)))
7670 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7671 ("ghc-quickcheck" ,ghc-quickcheck)))
7672 (home-page "https://www.yesodweb.com/book/persistent")
7673 (synopsis "Type-safe, non-relational, multi-backend persistence")
7674 (description "This Haskell package provides interfaces and helper
7675functions for the ghc-persistent package.")
7676 (license license:expat)))
7677
7678(define-public ghc-polyparse
7679 (package
7680 (name "ghc-polyparse")
7681 (version "1.12")
7682 (source
7683 (origin
7684 (method url-fetch)
7685 (uri (string-append
7686 "https://hackage.haskell.org/package/polyparse/polyparse-"
7687 version
7688 ".tar.gz"))
7689 (sha256
7690 (base32
7691 "05dya1vdvq29hkhkdlsglzhw7bdn51rvs1javs0q75nf99c66k7m"))))
7692 (build-system haskell-build-system)
7693 (home-page
7694 "http://code.haskell.org/~malcolm/polyparse/")
7695 (synopsis
7696 "Alternative parser combinator libraries")
7697 (description
7698 "This package provides a variety of alternative parser combinator
7699libraries, including the original HuttonMeijer set. The Poly sets have
7700features like good error reporting, arbitrary token type, running state, lazy
7701parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7702standard Read class, for better deserialisation of Haskell values from
7703Strings.")
7704 (license license:lgpl2.1)))
7705
7706(define-public ghc-pqueue
7707 (package
7708 (name "ghc-pqueue")
7709 (version "1.4.1.1")
7710 (source
7711 (origin
7712 (method url-fetch)
7713 (uri (string-append "https://hackage.haskell.org/package/"
7714 "pqueue/pqueue-" version ".tar.gz"))
7715 (sha256
7716 (base32
7717 "1zvwm1zcqqq5n101s1brjhgbay8rf9fviq6gxbplf40i63m57p1x"))))
7718 (build-system haskell-build-system)
7719 (native-inputs
7720 `(("ghc-quickcheck" ,ghc-quickcheck)))
7721 (home-page "https://hackage.haskell.org/package/pqueue")
7722 (synopsis "Reliable, persistent, fast priority queues")
7723 (description
7724 "This package provides a fast, reliable priority queue implementation
7725based on a binomial heap.")
7726 (license license:bsd-3)))
7727
7728(define-public ghc-prelude-extras
7729 (package
7730 (name "ghc-prelude-extras")
7731 (version "0.4.0.3")
7732 (source
7733 (origin
7734 (method url-fetch)
7735 (uri (string-append
7736 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7737 version
7738 ".tar.gz"))
7739 (sha256
7740 (base32
7741 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7742 (build-system haskell-build-system)
7743 (home-page "https://github.com/ekmett/prelude-extras")
7744 (synopsis "Higher order versions of Prelude classes")
7745 (description "This library provides higher order versions of
7746@code{Prelude} classes to ease programming with polymorphic recursion and
7747reduce @code{UndecidableInstances}.")
7748 (license license:bsd-3)))
7749
7750(define-public ghc-prettyclass
7751 (package
7752 (name "ghc-prettyclass")
7753 (version "1.0.0.0")
7754 (source
7755 (origin
7756 (method url-fetch)
7757 (uri (string-append "https://hackage.haskell.org/package/"
7758 "prettyclass/prettyclass-" version ".tar.gz"))
7759 (sha256
7760 (base32
7761 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7762 (build-system haskell-build-system)
7763 (home-page "http://hackage.haskell.org/package/prettyclass")
7764 (synopsis "Pretty printing class similar to Show")
7765 (description "This package provides a pretty printing class similar
7766to @code{Show}, based on the HughesPJ pretty printing library. It
7767provides the pretty printing class and instances for the Prelude
7768types.")
7769 (license license:bsd-3)))
7770
7771(define-public ghc-pretty-hex
7772 (package
7773 (name "ghc-pretty-hex")
7774 (version "1.0")
7775 (source
7776 (origin
7777 (method url-fetch)
7778 (uri (string-append "https://hackage.haskell.org/package/"
7779 "pretty-hex-" version "/"
7780 "pretty-hex-" version ".tar.gz"))
7781 (sha256
7782 (base32
7783 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7784 (build-system haskell-build-system)
7785 (home-page "https://github.com/GaloisInc/hexdump")
7786 (synopsis "Haskell library for hex dumps of ByteStrings")
7787 (description "This Haskell library generates pretty hex dumps of
7788ByteStrings in the style of other common *nix hex dump tools.")
7789 (license license:bsd-3)))
7790
7791(define-public ghc-pretty-show
7792 (package
7793 (name "ghc-pretty-show")
7794 (version "1.7")
7795 (source
7796 (origin
7797 (method url-fetch)
7798 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
7799 "pretty-show-" version ".tar.gz"))
7800 (sha256
7801 (base32
7802 "0br7pkxqqqhby2j2v1g847lgqsrasx56g1jw3dhmjh4flzs6warq"))))
7803 (build-system haskell-build-system)
7804 (inputs
7805 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
7806 ("ghc-happy" ,ghc-happy)))
7807 (home-page "http://wiki.github.com/yav/pretty-show")
7808 (synopsis "Tools for working with derived `Show` instances")
7809 (description
7810 "This package provides a library and an executable for working with
7811derived @code{Show} instances. By using the library, derived @code{Show}
7812instances can be parsed into a generic data structure. The @code{ppsh} tool
7813uses the library to produce human-readable versions of @code{Show} instances,
7814which can be quite handy for debugging Haskell programs. We can also render
7815complex generic values into an interactive Html page, for easier
7816examination.")
7817 (license license:expat)))
7818
7819(define-public ghc-primitive
7820 (package
7821 (name "ghc-primitive")
7822 (version "0.6.4.0")
7823 (outputs '("out" "doc"))
7824 (source
7825 (origin
7826 (method url-fetch)
7827 (uri (string-append
7828 "https://hackage.haskell.org/package/primitive/primitive-"
7829 version
7830 ".tar.gz"))
7831 (sha256
7832 (base32
7833 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
7834 (build-system haskell-build-system)
7835 (home-page
7836 "https://github.com/haskell/primitive")
7837 (synopsis "Primitive memory-related operations")
7838 (description
7839 "This package provides various primitive memory-related operations.")
7840 (license license:bsd-3)))
7841
21f5b9a9
JS
7842(define-public ghc-process-extras
7843 (package
7844 (name "ghc-process-extras")
7845 (version "0.7.4")
7846 (source
7847 (origin
7848 (method url-fetch)
7849 (uri
7850 (string-append
7851 "https://hackage.haskell.org/package/process-extras/"
7852 "process-extras-" version ".tar.gz"))
7853 (sha256
7854 (base32
7855 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
7856 (build-system haskell-build-system)
7857 (inputs
7858 `(("ghc-data-default" ,ghc-data-default)
7859 ("ghc-generic-deriving" ,ghc-generic-deriving)
7860 ("ghc-hunit" ,ghc-hunit)
7861 ("ghc-listlike" ,ghc-listlike)))
7862 (home-page "https://github.com/seereason/process-extras")
7863 (synopsis "Extra tools for managing processes")
f74b6983 7864 (description "This package extends
21f5b9a9
JS
7865@url{http://hackage.haskell.org/package/process}. It allows you to read
7866process input and output as ByteStrings or Text, or write your own
7867ProcessOutput instance. It also provides lazy process input and output,
7868and a ProcessMaker class for more flexibility in the process creation
7869API.")
7870 (license license:expat)))
7871
dddbc90c
RV
7872(define-public ghc-profunctors
7873 (package
7874 (name "ghc-profunctors")
7875 (version "5.2.2")
7876 (source
7877 (origin
7878 (method url-fetch)
7879 (uri (string-append
7880 "https://hackage.haskell.org/package/profunctors/profunctors-"
7881 version
7882 ".tar.gz"))
7883 (sha256
7884 (base32
7885 "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9"))))
7886 (build-system haskell-build-system)
7887 (arguments
7888 `(#:cabal-revision
7889 ("2" "1ywlg9z8nlhd2avgb8c6gbkv8zyk7hvc25926bafyg0m0k8y1amq")))
7890 (inputs
7891 `(("ghc-base-orphans" ,ghc-base-orphans)
7892 ("ghc-bifunctors" ,ghc-bifunctors)
7893 ("ghc-comonad" ,ghc-comonad)
7894 ("ghc-contravariant" ,ghc-contravariant)
7895 ("ghc-distributive" ,ghc-distributive)
7896 ("ghc-semigroups" ,ghc-semigroups)
7897 ("ghc-tagged" ,ghc-tagged)))
7898 (home-page "https://github.com/ekmett/profunctors/")
7899 (synopsis "Profunctors for Haskell")
7900 (description "This library provides profunctors for Haskell.")
7901 (license license:bsd-3)))
7902
7903(define-public ghc-psqueues
7904 (package
7905 (name "ghc-psqueues")
7906 (version "0.2.7.0")
7907 (source
7908 (origin
7909 (method url-fetch)
7910 (uri (string-append "https://hackage.haskell.org/package/"
7911 "psqueues-" version "/"
7912 "psqueues-" version ".tar.gz"))
7913 (sha256
7914 (base32
7915 "1sjgc9bxh63kkdp59nbirx3xazr02ia5yhp4f4a0jnq1hj465wsc"))))
7916 (build-system haskell-build-system)
7917 (inputs
7918 `(("ghc-hashable" ,ghc-hashable)))
7919 (native-inputs
7920 `(("ghc-hunit" ,ghc-hunit)
7921 ("ghc-quickcheck" ,ghc-quickcheck)
7922 ("ghc-tagged" ,ghc-tagged)
7923 ("ghc-test-framework" ,ghc-test-framework)
7924 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7925 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7926 (home-page "https://github.com/jaspervdj/psqueues")
7927 (synopsis "Pure priority search queues")
7928 (description "The psqueues package provides
7929@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
7930three different flavors:
7931
7932@itemize
7933@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
7934fast insertion, deletion and lookup. This implementation is based on Ralf
7935Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
7936Implementation Technique for Priority Search Queues}.
7937
7938Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
7939PSQueue} library, although it is considerably faster and provides a slightly
7940different API.
7941
7942@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
7943key type to @code{Int} and uses a
7944@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
7945with an additional min-heap property.
7946
7947@item @code{HashPSQ k p v} is a fairly straightforward extension
7948of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
7949@code{IntPSQ}. If there are any hash collisions, it uses an
7950@code{OrdPSQ} to resolve those. The performance of this implementation
7951is comparable to that of @code{IntPSQ}, but it is more widely
7952applicable since the keys are not restricted to @code{Int},
7953but rather to any @code{Hashable} datatype.
7954@end itemize
7955
7956Each of the three implementations provides the same API, so they can
7957be used interchangeably.
7958
7959Typical applications of Priority Search Queues include:
7960
7961@itemize
7962@item Caches, and more specifically LRU Caches;
7963@item Schedulers;
7964@item Pathfinding algorithms, such as Dijkstra's and A*.
7965@end itemize")
7966 (license license:bsd-3)))
7967
7968(define-public ghc-random
7969 (package
7970 (name "ghc-random")
7971 (version "1.1")
7972 (outputs '("out" "doc"))
7973 (source
7974 (origin
7975 (method url-fetch)
7976 (uri (string-append
7977 "https://hackage.haskell.org/package/random/random-"
7978 version
7979 ".tar.gz"))
7980 (sha256
7981 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
7982 (build-system haskell-build-system)
7983 (home-page "https://hackage.haskell.org/package/random")
7984 (synopsis "Random number library")
7985 (description "This package provides a basic random number generation
7986library, including the ability to split random number generators.")
7987 (license license:bsd-3)))
7988
7989(define-public ghc-raw-strings-qq
7990 (package
7991 (name "ghc-raw-strings-qq")
7992 (version "1.1")
7993 (source
7994 (origin
7995 (method url-fetch)
7996 (uri (string-append "https://hackage.haskell.org/package/"
7997 "raw-strings-qq/raw-strings-qq-"
7998 version ".tar.gz"))
7999 (sha256
8000 (base32
8001 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8002 (build-system haskell-build-system)
8003 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8004 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8005 (synopsis "Raw string literals for Haskell")
8006 (description
8007 "This package provides a quasiquoter for raw string literals, i.e. string
8008literals that don't recognise the standard escape sequences. Basically, they
8009make your code more readable by freeing you from the responsibility to escape
8010backslashes. They are useful when working with regular expressions,
8011DOS/Windows paths and markup languages (such as XML).")
8012 (license license:bsd-3)))
8013
8014(define-public ghc-readable
8015 (package
8016 (name "ghc-readable")
8017 (version "0.3.1")
8018 (source
8019 (origin
8020 (method url-fetch)
8021 (uri (string-append "https://hackage.haskell.org/package/"
8022 "readable/readable-" version ".tar.gz"))
8023 (sha256
8024 (base32
8025 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8026 (build-system haskell-build-system)
8027 (home-page "https://github.com/mightybyte/readable")
8028 (synopsis "Type class for reading from Text and ByteString")
8029 (description "This package provides a @code{Readable} type class for
8030reading data types from @code{ByteString} and @code{Text}. It also
8031includes efficient implementations for common data types.")
8032 (license license:bsd-3)))
8033
8034(define-public ghc-rebase
8035 (package
8036 (name "ghc-rebase")
8037 (version "1.2.4")
8038 (source
8039 (origin
8040 (method url-fetch)
8041 (uri (string-append "https://hackage.haskell.org/package/"
8042 "rebase-" version "/"
8043 "rebase-" version ".tar.gz"))
8044 (sha256
8045 (base32
8046 "1gah2qwfpzwamnikbc5h4nv6dgvv9h16di9ka7946za3nibyasya"))))
8047 (build-system haskell-build-system)
8048 (inputs `(("ghc-hashable" ,ghc-hashable)
8049 ("ghc-vector" ,ghc-vector)
8050 ("ghc-unordered-containers" ,ghc-unordered-containers)
8051 ("ghc-scientific" ,ghc-scientific)
8052 ("ghc-uuid" ,ghc-uuid)
8053 ("ghc-dlist" ,ghc-dlist)
8054 ("ghc-void" ,ghc-void)
8055 ("ghc-bifunctors" ,ghc-bifunctors)
8056 ("ghc-profunctors" ,ghc-profunctors)
8057 ("ghc-contravariant" ,ghc-contravariant)
8058 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8059 ("ghc-semigroups" ,ghc-semigroups)
8060 ("ghc-either" ,ghc-either)
8061 ("ghc-fail" ,ghc-fail)
8062 ("ghc-base-prelude" ,ghc-base-prelude)))
8063 (home-page "https://github.com/nikita-volkov/rebase")
8064 (synopsis "Progressive alternative to the base package
8065for Haskell")
8066 (description "This Haskell package is intended for those who are
8067tired of keeping long lists of dependencies to the same essential libraries
8068in each package as well as the endless imports of the same APIs all over again.
8069
8070It also supports the modern tendencies in the language.
8071
8072To solve those problems this package does the following:
8073
8074@itemize
8075@item Reexport the original APIs under the @code{Rebase} namespace.
8076
8077@item Export all the possible non-conflicting symbols from the
8078@code{Rebase.Prelude} module.
8079
8080@item Give priority to the modern practices in the conflicting cases.
8081@end itemize
8082
8083The policy behind the package is only to reexport the non-ambiguous and
8084non-controversial APIs, which the community has obviously settled on.
8085The package is intended to rapidly evolve with the contribution from
8086the community, with the missing features being added with pull-requests.")
8087 (license license:expat)))
8088
8089(define-public ghc-reducers
8090 (package
8091 (name "ghc-reducers")
8092 (version "3.12.3")
8093 (source
8094 (origin
8095 (method url-fetch)
8096 (uri (string-append
8097 "https://hackage.haskell.org/package/reducers/reducers-"
8098 version
8099 ".tar.gz"))
8100 (sha256
8101 (base32
8102 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8103 (build-system haskell-build-system)
8104 (inputs
8105 `(("ghc-fingertree" ,ghc-fingertree)
8106 ("ghc-hashable" ,ghc-hashable)
8107 ("ghc-unordered-containers" ,ghc-unordered-containers)
8108 ("ghc-semigroupoids" ,ghc-semigroupoids)
8109 ("ghc-semigroups" ,ghc-semigroups)))
8110 (home-page "https://github.com/ekmett/reducers/")
8111 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8112 (description "This library provides various semigroups, specialized
8113containers and a general map/reduce framework for Haskell.")
8114 (license license:bsd-3)))
8115
8116(define-public ghc-refact
8117 (package
8118 (name "ghc-refact")
8119 (version "0.3.0.2")
8120 (source
8121 (origin
8122 (method url-fetch)
8123 (uri (string-append "https://hackage.haskell.org/package/"
8124 "refact/refact-"
8125 version ".tar.gz"))
8126 (sha256
8127 (base32
8128 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8129 (build-system haskell-build-system)
8130 (home-page "http://hackage.haskell.org/package/refact")
8131 (synopsis "Specify refactorings to perform with apply-refact")
8132 (description
8133 "This library provides a datatype which can be interpreted by
8134@code{apply-refact}. It exists as a separate library so that applications can
8135specify refactorings without depending on GHC.")
8136 (license license:bsd-3)))
8137
8138(define-public ghc-reflection
8139 (package
8140 (name "ghc-reflection")
8141 (version "2.1.4")
8142 (source
8143 (origin
8144 (method url-fetch)
8145 (uri (string-append
8146 "https://hackage.haskell.org/package/reflection/reflection-"
8147 version
8148 ".tar.gz"))
8149 (sha256
8150 (base32
8151 "0kf4a5ijw6jfnfibjcrpdy9vzh1n6v2pxia8dhyyqdissiwc8bzj"))))
8152 (build-system haskell-build-system)
8153 (inputs `(("ghc-tagged" ,ghc-tagged)))
8154 (home-page "https://github.com/ekmett/reflection")
8155 (synopsis "Reify arbitrary terms into types that can be reflected back
8156into terms")
8157 (description "This package addresses the 'configuration problem' which is
8158propagating configurations that are available at run-time, allowing multiple
8159configurations to coexist without resorting to mutable global variables or
8160@code{System.IO.Unsafe.unsafePerformIO}.")
8161 (license license:bsd-3)))
8162
8163(define-public ghc-regex
8164 (package
8165 (name "ghc-regex")
8166 (version "1.0.1.3")
8167 (source
8168 (origin
8169 (method url-fetch)
8170 (uri (string-append "https://hackage.haskell.org/package/regex/"
8171 "regex-" version ".tar.gz"))
8172 (sha256
8173 (base32
8174 "1sjkpkgv4phy5b5v2lr89x4vx4dh44pj0sbvlsp6n86w9v6v4jwb"))))
8175 (build-system haskell-build-system)
8176 (arguments
8177 `(#:phases
8178 (modify-phases %standard-phases
8179 (add-after 'unpack 'relax-dependencies
8180 (lambda _
8181 (substitute* "regex.cabal"
8182 (("base-compat.*>=.*0.6.*")
8183 "base-compat >= 0.6\n")
8184 (("template-haskell.*>=.*2.7.*")
8185 "template-haskell >= 2.7\n"))
8186 #t)))))
8187 (inputs
8188 `(("ghc-base-compat" ,ghc-base-compat)
8189 ("ghc-hashable" ,ghc-hashable)
8190 ("ghc-regex-base" ,ghc-regex-base)
8191 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8192 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8193 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8194 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8195 ("ghc-unordered-containers" ,ghc-unordered-containers)
8196 ("ghc-utf8-string" ,ghc-utf8-string)))
8197 (home-page "http://regex.uk")
8198 (synopsis "Toolkit for regex-base")
8199 (description
8200 "This package provides a regular expression toolkit for @code{regex-base}
8201with compile-time checking of regular expression syntax, data types for
8202matches and captures, a text replacement toolkit, portable options, high-level
8203AWK-like tools for building text processing apps, regular expression macros
8204with parsers and test bench, comprehensive documentation, tutorials and
8205copious examples.")
8206 (license license:bsd-3)))
8207
8208(define-public ghc-regex-applicative
8209 (package
8210 (name "ghc-regex-applicative")
8211 (version "0.3.3")
8212 (source
8213 (origin
8214 (method url-fetch)
8215 (uri (string-append
8216 "https://hackage.haskell.org/package/regex-applicative/"
8217 "regex-applicative-" version ".tar.gz"))
8218 (sha256
8219 (base32
8220 "1riv7jqf26lbv4rm54sd6mrx8xdh4dvh4xbzymzdfdw13k6a4nb6"))))
8221 (build-system haskell-build-system)
8222 (inputs
8223 `(("ghc-smallcheck" ,ghc-smallcheck)
8224 ("ghc-tasty" ,ghc-tasty)
8225 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8226 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8227 (home-page "https://github.com/feuerbach/regex-applicative")
8228 (synopsis "Regex-based parsing with applicative interface")
8229 (description
8230 "@code{regex-applicative} is a Haskell library for parsing using
8231regular expressions. Parsers can be built using Applicative interface.")
8232 (license license:expat)))
8233
8234(define-public ghc-regex-base
8235 (package
8236 (name "ghc-regex-base")
8237 (version "0.93.2")
8238 (source
8239 (origin
8240 (method url-fetch)
8241 (uri (string-append
8242 "https://hackage.haskell.org/package/regex-base/regex-base-"
8243 version
8244 ".tar.gz"))
8245 (sha256
8246 (base32
8247 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8248 (build-system haskell-build-system)
8249 (home-page
8250 "https://sourceforge.net/projects/lazy-regex")
8251 (synopsis "Replaces/Enhances Text.Regex")
8252 (description "@code{Text.Regex.Base} provides the interface API for
8253regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8254 (license license:bsd-3)))
8255
8256(define-public ghc-regex-compat
8257 (package
8258 (name "ghc-regex-compat")
8259 (version "0.95.1")
8260 (source
8261 (origin
8262 (method url-fetch)
8263 (uri (string-append
8264 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8265 version
8266 ".tar.gz"))
8267 (sha256
8268 (base32
8269 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8270 (build-system haskell-build-system)
8271 (inputs
8272 `(("ghc-regex-base" ,ghc-regex-base)
8273 ("ghc-regex-posix" ,ghc-regex-posix)))
8274 (home-page "https://sourceforge.net/projects/lazy-regex")
8275 (synopsis "Replaces/Enhances Text.Regex")
8276 (description "This library provides one module layer over
8277@code{regex-posix} to replace @code{Text.Regex}.")
8278 (license license:bsd-3)))
8279
8280(define-public ghc-regex-compat-tdfa
8281 (package
8282 (name "ghc-regex-compat-tdfa")
8283 (version "0.95.1.4")
8284 (source
8285 (origin
8286 (method url-fetch)
8287 (uri (string-append
8288 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8289 version ".tar.gz"))
8290 (sha256
8291 (base32
8292 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8293 (build-system haskell-build-system)
8294 (inputs
8295 `(("ghc-regex-base" ,ghc-regex-base)
8296 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8297 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8298 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8299 (description
8300 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8301@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8302This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8303this problem.")
8304 (license license:bsd-3)))
8305
8306(define-public ghc-regex-pcre-builtin
8307 (package
8308 (name "ghc-regex-pcre-builtin")
8309 (version "0.94.4.8.8.35")
8310 (source (origin
8311 (method url-fetch)
8312 (uri (string-append "https://hackage.haskell.org/package/"
8313 "regex-pcre-builtin/regex-pcre-builtin-"
8314 version ".tar.gz"))
8315 (sha256
8316 (base32
8317 "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b"))))
8318 (build-system haskell-build-system)
8319 (inputs
8320 `(("ghc-regex-base" ,ghc-regex-base)))
8321 (home-page "https://hackage.haskell.org/package/regex-pcre")
8322 (synopsis "Enhancement of the builtin Text.Regex library")
8323 (description
8324 "This package is an enhancement of the @code{Text.Regex} library,
8325providing the PCRE backend to accompany regex-base, with bundled code from
8326@url{https://www.pcre.org}.")
8327 (license license:bsd-3)))
8328
8329(define-public ghc-regex-posix
8330 (package
8331 (name "ghc-regex-posix")
8332 (version "0.95.2")
8333 (source
8334 (origin
8335 (method url-fetch)
8336 (uri (string-append
8337 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8338 version
8339 ".tar.gz"))
8340 (sha256
8341 (base32
8342 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8343 (build-system haskell-build-system)
8344 (inputs
8345 `(("ghc-regex-base" ,ghc-regex-base)))
8346 (home-page "https://sourceforge.net/projects/lazy-regex")
8347 (synopsis "POSIX regular expressions for Haskell")
8348 (description "This library provides the POSIX regex backend used by the
8349Haskell library @code{regex-base}.")
8350 (license license:bsd-3)))
8351
8352(define-public ghc-regex-tdfa
8353 (package
8354 (name "ghc-regex-tdfa")
8355 (version "1.2.3.1")
8356 (source
8357 (origin
8358 (method url-fetch)
8359 (uri (string-append
8360 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8361 version ".tar.gz"))
8362 (sha256
8363 (base32
8364 "0l7ajnh4hpgggf2a1r9dg0hx2fy679vd2kada5y7r02hy3nfxala"))))
8365 (build-system haskell-build-system)
8366 (inputs
8367 `(("ghc-regex-base" ,ghc-regex-base)))
8368 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8369 (synopsis "POSIX extended regular expressions in Haskell.")
8370 (description
8371 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8372extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8373inspired by libtre.")
8374 (license license:bsd-3)))
8375
8376(define-public ghc-regex-tdfa-text
8377 (package
8378 (name "ghc-regex-tdfa-text")
8379 (version "1.0.0.3")
8380 (source
8381 (origin
8382 (method url-fetch)
8383 (uri (string-append
8384 "https://hackage.haskell.org/package/regex-tdfa-text/"
8385 "regex-tdfa-text-" version ".tar.gz"))
8386 (sha256
8387 (base32
8388 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8389 (build-system haskell-build-system)
8390 (inputs
8391 `(("ghc-regex-base" ,ghc-regex-base)
8392 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8393 (home-page
8394 "http://hackage.haskell.org/package/regex-tdfa-text")
8395 (synopsis "Text interface for regex-tdfa")
8396 (description
8397 "This provides an extra text interface for regex-tdfa.")
8398 (license license:bsd-3)))
8399
8400(define-public ghc-rerebase
8401 (package
8402 (name "ghc-rerebase")
8403 (version "1.2.2")
8404 (source
8405 (origin
8406 (method url-fetch)
8407 (uri (string-append
8408 "https://hackage.haskell.org/package/rerebase/rerebase-"
8409 version ".tar.gz"))
8410 (sha256
8411 (base32
8412 "11v6rmz7ql2rdx6mhb3lsal952lwihclfhh0m7fcnii5br0906ks"))))
8413 (build-system haskell-build-system)
8414 (inputs
8415 `(("ghc-rebase" ,ghc-rebase)))
8416 (home-page "https://github.com/nikita-volkov/rerebase")
8417 (synopsis "Reexports from ``base'' with many other standard libraries")
8418 (description "A rich drop-in replacement for @code{base}. For details and
8419documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8420the project's home page}.")
8421 (license license:expat)))
8422
8423(define-public ghc-resolv
8424 (package
8425 (name "ghc-resolv")
8426 (version "0.1.1.1")
8427 (source
8428 (origin
8429 (method url-fetch)
8430 (uri (string-append
8431 "https://hackage.haskell.org/package/resolv/resolv-"
8432 version ".tar.gz"))
8433 (sha256
8434 (base32
8435 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
8436 (build-system haskell-build-system)
8437 (arguments
8438 `(#:cabal-revision
8439 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
8440 #:tests? #f)) ; The required test frameworks are too old.
8441 (inputs
8442 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8443 (home-page "https://github.com/haskell/hackage-security")
8444 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8445 (description "This package implements an API for accessing the
8446@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8447resolver service via the standard @code{libresolv} system library (whose
8448API is often available directly via the standard @code{libc} C library) on
8449Unix systems.")
8450 (license license:gpl3)))
8451
8452(define-public ghc-resource-pool
8453 (package
8454 (name "ghc-resource-pool")
8455 (version "0.2.3.2")
8456 (source
8457 (origin
8458 (method url-fetch)
8459 (uri (string-append "https://hackage.haskell.org/package/"
8460 "resource-pool-" version "/"
8461 "resource-pool-" version ".tar.gz"))
8462 (sha256
8463 (base32
8464 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8465 (build-system haskell-build-system)
8466 (inputs `(("ghc-hashable" ,ghc-hashable)
8467 ("ghc-monad-control" ,ghc-monad-control)
8468 ("ghc-transformers-base" ,ghc-transformers-base)
8469 ("ghc-vector" ,ghc-vector)))
8470 (home-page "https://github.com/bos/pool")
8471 (synopsis "Striped resource pooling implementation in Haskell")
8472 (description "This Haskell package provides striped pooling abstraction
8473for managing flexibly-sized collections of resources such as database
8474connections.")
8475 (license license:bsd-3)))
8476
8477(define-public ghc-resourcet
8478 (package
8479 (name "ghc-resourcet")
8480 (version "1.2.1")
8481 (source
8482 (origin
8483 (method url-fetch)
8484 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8485 "resourcet-" version ".tar.gz"))
8486 (sha256
8487 (base32
8488 "0rzjzh34s36ssign7akqjnwnjxf11c3511wk7ky0xxy0dqmc2rg7"))))
8489 (build-system haskell-build-system)
8490 (inputs
8491 `(("ghc-transformers-base" ,ghc-transformers-base)
8492 ("ghc-monad-control" ,ghc-monad-control)
8493 ("ghc-transformers-compat" ,ghc-transformers-compat)
8494 ("ghc-mmorph" ,ghc-mmorph)
8495 ("ghc-exceptions" ,ghc-exceptions)
8496 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8497 (native-inputs
8498 `(("ghc-lifted-base" ,ghc-lifted-base)
8499 ("ghc-hspec" ,ghc-hspec)))
8500 (home-page "https://github.com/snoyberg/conduit")
8501 (synopsis "Deterministic allocation and freeing of scarce resources")
8502 (description "ResourceT is a monad transformer which creates a region of
8503code where you can safely allocate resources.")
8504 (license license:bsd-3)))
8505
8506(define-public ghc-rfc5051
8507 (package
8508 (name "ghc-rfc5051")
8509 (version "0.1.0.3")
8510 (source
8511 (origin
8512 (method url-fetch)
8513 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8514 "rfc5051-" version ".tar.gz"))
8515 (sha256
8516 (base32
8517 "0av4c3qvwbkbzrjrrg601ay9pds7wscqqp2lc2z78mv2lllap3g3"))))
8518 (build-system haskell-build-system)
8519 (home-page "https://hackage.haskell.org/package/rfc5051")
8520 (synopsis "Simple unicode collation as per RFC5051")
8521 (description
8522 "This library implements @code{unicode-casemap}, the simple, non
8523locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8524unicode collation can be done using @code{text-icu}, but that is a big
8525dependency that depends on a large C library, and @code{rfc5051} might be
8526better for some purposes.")
8527 (license license:bsd-3)))
8528
8529(define-public ghc-rio
8530 (package
8531 (name "ghc-rio")
8532 (version "0.1.5.0")
8533 (source
8534 (origin
8535 (method url-fetch)
8536 (uri (string-append
8537 "https://hackage.haskell.org/package/rio/rio-"
8538 version ".tar.gz"))
8539 (sha256
8540 (base32
8541 "064h8a4hp53a479d3ak0vmqbx8hi0cpg7zn4wp23rjy26dka8p7g"))))
8542 (build-system haskell-build-system)
8543 (inputs
8544 `(("ghc-exceptions" ,ghc-exceptions)
8545 ("ghc-hashable" ,ghc-hashable)
8546 ("ghc-microlens" ,ghc-microlens)
8547 ("ghc-primitive" ,ghc-primitive)
8548 ("ghc-typed-process" ,ghc-typed-process)
8549 ("ghc-unliftio" ,ghc-unliftio)
8550 ("ghc-unordered-containers" ,ghc-unordered-containers)
8551 ("ghc-vector" ,ghc-vector)))
8552 (native-inputs
8553 `(("ghc-hspec" ,ghc-hspec)
8554 ("hspec-discover" ,hspec-discover)))
8555 (home-page "https://github.com/commercialhaskell/rio#readme")
8556 (synopsis "A standard library for Haskell")
8557 (description "This package works as a prelude replacement for Haskell,
8558providing more functionality and types out of the box than the standard
8559prelude (such as common data types like @code{ByteString} and
8560@code{Text}), as well as removing common ``gotchas'', like partial
8561functions and lazy I/O. The guiding principle here is:
8562@itemize
8563@item If something is safe to use in general and has no expected naming
8564conflicts, expose it.
8565@item If something should not always be used, or has naming conflicts,
8566expose it from another module in the hierarchy.
8567@end itemize")
8568 (license license:expat)))
8569
8570(define-public ghc-safe
8571 (package
8572 (name "ghc-safe")
8573 (version "0.3.17")
8574 (source
8575 (origin
8576 (method url-fetch)
8577 (uri (string-append
8578 "https://hackage.haskell.org/package/safe/safe-"
8579 version
8580 ".tar.gz"))
8581 (sha256
8582 (base32
8583 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8584 (build-system haskell-build-system)
8585 (native-inputs
8586 `(("ghc-quickcheck" ,ghc-quickcheck)))
8587 (home-page "https://github.com/ndmitchell/safe#readme")
8588 (synopsis "Library of safe (exception free) functions")
8589 (description "This library provides wrappers around @code{Prelude} and
8590@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8591exceptions.")
8592 (license license:bsd-3)))
8593
8594(define-public ghc-safe-exceptions
8595 (package
8596 (name "ghc-safe-exceptions")
8597 (version "0.1.7.0")
8598 (source
8599 (origin
8600 (method url-fetch)
8601 (uri (string-append "https://hackage.haskell.org/package/"
8602 "safe-exceptions/safe-exceptions-"
8603 version ".tar.gz"))
8604 (sha256
8605 (base32
8606 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8607 (build-system haskell-build-system)
8608 (arguments
8609 '(#:cabal-revision
8610 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8611 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8612 (native-inputs
8613 `(("ghc-hspec" ,ghc-hspec)
8614 ("ghc-void" ,ghc-void)
8615 ("hspec-discover" ,hspec-discover)))
8616 (home-page "https://github.com/fpco/safe-exceptions")
8617 (synopsis "Safe, consistent, and easy exception handling")
8618 (description "Runtime exceptions - as exposed in @code{base} by the
8619@code{Control.Exception} module - have long been an intimidating part of the
8620Haskell ecosystem. This package is intended to overcome this. It provides a
8621safe and simple API on top of the existing exception handling machinery. The
8622API is equivalent to the underlying implementation in terms of power but
8623encourages best practices to minimize the chances of getting the exception
8624handling wrong.")
8625 (license license:expat)))
8626
8627(define-public ghc-safeio
8628 (package
8629 (name "ghc-safeio")
8630 (version "0.0.5.0")
8631 (source
8632 (origin
8633 (method url-fetch)
8634 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8635 "safeio-" version ".tar.gz"))
8636 (sha256
8637 (base32
8638 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8639 (build-system haskell-build-system)
8640 (inputs
8641 `(("ghc-conduit" ,ghc-conduit)
8642 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8643 ("ghc-exceptions" ,ghc-exceptions)
8644 ("ghc-resourcet" ,ghc-resourcet)))
8645 (native-inputs
8646 `(("ghc-hunit" ,ghc-hunit)
8647 ("ghc-test-framework" ,ghc-test-framework)
8648 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8649 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8650 (home-page "https://github.com/luispedro/safeio")
8651 (synopsis "Write output to disk atomically")
8652 (description
8653 "This package implements utilities to perform atomic output so as to
8654avoid the problem of partial intermediate files.")
8655 (license license:expat)))
8656
8657(define-public ghc-safesemaphore
8658 (package
8659 (name "ghc-safesemaphore")
8660 (version "0.10.1")
8661 (source
8662 (origin
8663 (method url-fetch)
8664 (uri (string-append "https://hackage.haskell.org/package/"
8665 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8666 (sha256
8667 (base32
8668 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8669 (build-system haskell-build-system)
8670 (native-inputs
8671 `(("ghc-hunit" ,ghc-hunit)))
8672 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8673 (synopsis "Exception safe semaphores")
8674 (description "This library provides exception safe semaphores that can be
8675used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8676are not exception safe and can be broken by @code{killThread}.")
8677 (license license:bsd-3)))
8678
8679(define-public ghc-sandi
8680 (package
8681 (name "ghc-sandi")
8682 (version "0.4.2")
8683 (source
8684 (origin
8685 (method url-fetch)
8686 (uri (string-append
8687 "https://hackage.haskell.org/package/sandi/sandi-"
8688 version ".tar.gz"))
8689 (sha256
8690 (base32
8691 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8692 (build-system haskell-build-system)
8693 (inputs
8694 `(("ghc-stringsearch" ,ghc-stringsearch)
8695 ("ghc-conduit" ,ghc-conduit)
8696 ("ghc-exceptions" ,ghc-exceptions)
8697 ("ghc-hunit" ,ghc-hunit)
8698 ("ghc-tasty" ,ghc-tasty)
8699 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8700 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8701 ("ghc-tasty-th" ,ghc-tasty-th)))
8702 (home-page "https://hackage.haskell.org/package/sandi")
8703 (synopsis "Data encoding library")
8704 (description "Reasonably fast data encoding library.")
8705 (license license:bsd-3)))
8706
8707(define-public ghc-scientific
8708 (package
8709 (name "ghc-scientific")
8710 (version "0.3.6.2")
8711 (source
8712 (origin
8713 (method url-fetch)
8714 (uri (string-append
8715 "https://hackage.haskell.org/package/scientific/scientific-"
8716 version
8717 ".tar.gz"))
8718 (sha256
8719 (base32
8720 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8721 (build-system haskell-build-system)
8722 (inputs
8723 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8724 ("ghc-hashable" ,ghc-hashable)
8725 ("ghc-primitive" ,ghc-primitive)))
8726 (native-inputs
8727 `(("ghc-tasty" ,ghc-tasty)
8728 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8729 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8730 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8731 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8732 ("ghc-smallcheck" ,ghc-smallcheck)
8733 ("ghc-quickcheck" ,ghc-quickcheck)))
8734 (home-page "https://github.com/basvandijk/scientific")
8735 (synopsis "Numbers represented using scientific notation")
8736 (description "This package provides @code{Data.Scientific}, which provides
8737the number type @code{Scientific}. Scientific numbers are arbitrary precision
8738and space efficient. They are represented using
8739@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
8740notation}.")
8741 (license license:bsd-3)))
8742
8743(define-public ghc-scientific-bootstrap
8744 (package
8745 (inherit ghc-scientific)
8746 (name "ghc-scientific-bootstrap")
8747 (arguments `(#:tests? #f))
8748 (inputs
8749 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
8750 ("ghc-hashable" ,ghc-hashable)
8751 ("ghc-primitive" ,ghc-primitive)))
8752 (native-inputs '())
799d8d3c 8753 (properties '((hidden? #t)))))
dddbc90c
RV
8754
8755(define-public ghc-sdl
8756 (package
8757 (name "ghc-sdl")
8758 (version "0.6.7.0")
8759 (source
8760 (origin
8761 (method url-fetch)
8762 (uri (string-append
8763 "https://hackage.haskell.org/package/SDL/SDL-"
8764 version
8765 ".tar.gz"))
8766 (sha256
8767 (base32
8768 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
8769 (build-system haskell-build-system)
8770 (inputs
8771 `(("sdl" ,sdl)))
8772 (home-page "https://hackage.haskell.org/package/SDL")
8773 (synopsis "LibSDL for Haskell")
8774 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
8775multimedia library designed to provide low level access to audio, keyboard,
8776mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
8777by MPEG playback software, emulators, and many popular games, including the
8778award winning Linux port of \"Civilization: Call To Power.\"")
8779 (license license:bsd-3)))
8780
1874cdc1
RV
8781(define-public ghc-sdl2
8782 (package
8783 (name "ghc-sdl2")
8784 (version "2.4.1.0")
8785 (source
8786 (origin
8787 (method url-fetch)
8788 (uri (string-append "https://hackage.haskell.org/package/"
8789 "sdl2/sdl2-" version ".tar.gz"))
8790 (sha256
8791 (base32
8792 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
8793 (build-system haskell-build-system)
8794 (arguments '(#:tests? #f)) ; tests require graphical environment
8795 (inputs
8796 `(("ghc-exceptions" ,ghc-exceptions)
8797 ("ghc-linear" ,ghc-linear)
8798 ("ghc-statevar" ,ghc-statevar)
8799 ("ghc-vector" ,ghc-vector)
8800 ("sdl2" ,sdl2)))
8801 (native-inputs
8802 `(("ghc-weigh" ,ghc-weigh)
8803 ("pkg-config" ,pkg-config)))
8804 (home-page "http://hackage.haskell.org/package/sdl2")
8805 (synopsis "High- and low-level bindings to the SDL library")
8806 (description
8807 "This package contains bindings to the SDL 2 library, in both high- and
8808low-level forms. The @code{SDL} namespace contains high-level bindings, where
8809enumerations are split into sum types, and we perform automatic
8810error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
8811translation of the C API into Haskell FFI calls. As such, this does not
8812contain sum types nor error checking. Thus this namespace is suitable for
8813building your own abstraction over SDL, but is not recommended for day-to-day
8814programming.")
8815 (license license:bsd-3)))
8816
8817(define-public ghc-sdl2-image
8818 (package
8819 (name "ghc-sdl2-image")
8820 (version "2.0.0")
8821 (source
8822 (origin
8823 (method url-fetch)
8824 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
8825 "sdl2-image-" version ".tar.gz"))
8826 (sha256
8827 (base32
8828 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
8829 (build-system haskell-build-system)
8830 (inputs
8831 `(("ghc-sdl2" ,ghc-sdl2)
8832 ("sdl2-image" ,sdl2-image)))
8833 (native-inputs
8834 `(("pkg-config" ,pkg-config)))
8835 (home-page "http://hackage.haskell.org/package/sdl2-image")
8836 (synopsis "Bindings to SDL2_image")
8837 (description "This package provides Haskell bindings to
8838@code{SDL2_image}.")
8839 (license license:expat)))
8840
8841(define-public ghc-sdl2-mixer
8842 (package
8843 (name "ghc-sdl2-mixer")
8844 (version "1.1.0")
8845 (source
8846 (origin
8847 (method url-fetch)
8848 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
8849 "sdl2-mixer-" version ".tar.gz"))
8850 (sha256
8851 (base32
8852 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
8853 (build-system haskell-build-system)
8854 (inputs
8855 `(("ghc-data-default-class" ,ghc-data-default-class)
8856 ("ghc-lifted-base" ,ghc-lifted-base)
8857 ("ghc-monad-control" ,ghc-monad-control)
8858 ("ghc-sdl2" ,ghc-sdl2)
8859 ("ghc-vector" ,ghc-vector)
8860 ("sdl2-mixer" ,sdl2-mixer)))
8861 (native-inputs
8862 `(("pkg-config" ,pkg-config)))
8863 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
8864 (synopsis "Bindings to SDL2 mixer")
8865 (description "This package provides Haskell bindings to
8866@code{SDL2_mixer}.")
8867 (license license:bsd-3)))
8868
dddbc90c
RV
8869(define-public ghc-sdl-image
8870 (package
8871 (name "ghc-sdl-image")
8872 (version "0.6.2.0")
8873 (source
8874 (origin
8875 (method url-fetch)
8876 (uri (string-append
8877 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
8878 version
8879 ".tar.gz"))
8880 (sha256
8881 (base32
8882 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
8883 (build-system haskell-build-system)
8884 (arguments
8885 `(#:configure-flags
8886 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
8887 (sdl-image-include (string-append sdl-image "/include/SDL")))
8888 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
8889 (inputs
8890 `(("ghc-sdl" ,ghc-sdl)
8891 ("sdl-image" ,sdl-image)))
8892 (home-page "https://hackage.haskell.org/package/SDL-image")
8893 (synopsis "Haskell bindings to libSDL_image")
8894 (description "SDL_image is an image file loading library. It loads images
8895as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
8896PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
8897 (license license:bsd-3)))
8898
8899(define-public ghc-sdl-mixer
8900 (package
8901 (name "ghc-sdl-mixer")
8902 (version "0.6.3.0")
8903 (source
8904 (origin
8905 (method url-fetch)
8906 (uri (string-append
8907 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
8908 version
8909 ".tar.gz"))
8910 (sha256
8911 (base32
8912 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
8913 (build-system haskell-build-system)
8914 (arguments
8915 `(#:configure-flags
8916 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
8917 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
8918 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
8919 (inputs
8920 `(("ghc-sdl" ,ghc-sdl)
8921 ("sdl-mixer" ,sdl-mixer)))
8922 (home-page "https://hackage.haskell.org/package/SDL-mixer")
8923 (synopsis "Haskell bindings to libSDL_mixer")
8924 (description "SDL_mixer is a sample multi-channel audio mixer library. It
8925supports any number of simultaneously playing channels of 16 bit stereo audio,
8926plus a single channel of music, mixed by the popular MikMod MOD, Timidity
8927MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
8928 (license license:bsd-3)))
8929
8930(define-public ghc-securemem
8931 (package
8932 (name "ghc-securemem")
8933 (version "0.1.10")
8934 (source
8935 (origin
8936 (method url-fetch)
8937 (uri (string-append "https://hackage.haskell.org/package/"
8938 "securemem-" version "/"
8939 "securemem-" version ".tar.gz"))
8940 (sha256
8941 (base32
8942 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
8943 (build-system haskell-build-system)
8944 (inputs `(("ghc-byteable" ,ghc-byteable)
8945 ("ghc-memory" ,ghc-memory)))
8946 (home-page "https://github.com/vincenthz/hs-securemem")
8947 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
8948Haskell")
8949 (description "SecureMem is similar to ByteString, except that it provides
8950a memory chunk that will be auto-scrubbed after it run out of scope.")
8951 (license license:bsd-3)))
8952
8953(define-public ghc-semigroupoids
8954 (package
8955 (name "ghc-semigroupoids")
8956 (version "5.2.2")
8957 (source
8958 (origin
8959 (method url-fetch)
8960 (uri (string-append
8961 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
8962 version
8963 ".tar.gz"))
8964 (sha256
8965 (base32
8966 "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
8967 (build-system haskell-build-system)
8968 (arguments
8969 `(#:cabal-revision
8970 ("4" "0pqfrxzypjq6z8lgdkzq4vhcyqkpk5326hny0r6snpc3gm78r4ij")))
8971 (inputs
8972 `(("ghc-base-orphans" ,ghc-base-orphans)
8973 ("ghc-transformers-compat" ,ghc-transformers-compat)
8974 ("ghc-bifunctors" ,ghc-bifunctors)
8975 ("ghc-comonad" ,ghc-comonad)
8976 ("ghc-contravariant" ,ghc-contravariant)
8977 ("ghc-distributive" ,ghc-distributive)
8978 ("ghc-hashable" ,ghc-hashable)
8979 ("ghc-semigroups" ,ghc-semigroups)
8980 ("ghc-tagged" ,ghc-tagged)
8981 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8982 (native-inputs
8983 `(("cabal-doctest" ,cabal-doctest)
8984 ("ghc-doctest" ,ghc-doctest)))
8985 (home-page "https://github.com/ekmett/semigroupoids")
8986 (synopsis "Semigroupoids operations for Haskell")
8987 (description "This library provides a wide array of (semi)groupoids and
8988operations for working with them. A @code{Semigroupoid} is a @code{Category}
8989without the requirement of identity arrows for every object in the category.
8990A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
8991Finally, to work with these weaker structures it is beneficial to have
8992containers that can provide stronger guarantees about their contents, so
8993versions of @code{Traversable} and @code{Foldable} that can be folded with
8994just a @code{Semigroup} are added.")
8995 (license license:bsd-3)))
8996
8997(define-public ghc-semigroups
8998 (package
8999 (name "ghc-semigroups")
9000 (version "0.18.5")
9001 (source
9002 (origin
9003 (method url-fetch)
9004 (uri (string-append
9005 "https://hackage.haskell.org/package/semigroups/semigroups-"
9006 version
9007 ".tar.gz"))
9008 (sha256
9009 (base32
9010 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9011 (build-system haskell-build-system)
9012 (inputs
9013 `(("ghc-nats" ,ghc-nats)
9014 ("ghc-tagged" ,ghc-tagged)
9015 ("ghc-unordered-containers" ,ghc-unordered-containers)
9016 ("ghc-hashable" ,ghc-hashable)))
9017 (home-page "https://github.com/ekmett/semigroups/")
9018 (synopsis "Semigroup operations for Haskell")
9019 (description "This package provides semigroups for Haskell. In
9020mathematics, a semigroup is an algebraic structure consisting of a set
9021together with an associative binary operation. A semigroup generalizes a
9022monoid in that there might not exist an identity element. It
9023also (originally) generalized a group (a monoid with all inverses) to a type
9024where every element did not have to have an inverse, thus the name
9025semigroup.")
9026 (license license:bsd-3)))
9027
9028(define-public ghc-semigroups-bootstrap
9029 (package
9030 (inherit ghc-semigroups)
9031 (name "ghc-semigroups-bootstrap")
9032 (inputs
9033 `(("ghc-nats" ,ghc-nats-bootstrap)
9034 ("ghc-tagged" ,ghc-tagged)
9035 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9036 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9037 (properties '((hidden? #t)))))
dddbc90c
RV
9038
9039(define-public ghc-setenv
9040 (package
9041 (name "ghc-setenv")
9042 (version "0.1.1.3")
9043 (source
9044 (origin
9045 (method url-fetch)
9046 (uri (string-append
9047 "https://hackage.haskell.org/package/setenv/setenv-"
9048 version
9049 ".tar.gz"))
9050 (sha256
9051 (base32
9052 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9053 (build-system haskell-build-system)
9054 (home-page "https://hackage.haskell.org/package/setenv")
9055 (synopsis "Library for setting environment variables")
9056 (description "This package provides a Haskell library for setting
9057environment variables.")
9058 (license license:expat)))
9059
9060(define-public ghc-setlocale
9061 (package
9062 (name "ghc-setlocale")
9063 (version "1.0.0.8")
9064 (source (origin
9065 (method url-fetch)
9066 (uri (string-append
9067 "https://hackage.haskell.org/package/setlocale-"
9068 version "/setlocale-" version ".tar.gz"))
9069 (sha256
9070 (base32
9071 "0sdrsmkhw08483d73ysgm2926fdbhii61br03lqpqw0lfzj4ilbd"))))
9072 (build-system haskell-build-system)
9073 (home-page "https://hackage.haskell.org/package/setlocale")
9074 (synopsis "Haskell bindings to setlocale")
9075 (description "This package provides Haskell bindings to the
9076@code{setlocale} C function.")
9077 (license license:bsd-3)))
9078
9079(define-public ghc-shakespeare
9080 (package
9081 (name "ghc-shakespeare")
9082 (version "2.0.15")
9083 (source
9084 (origin
9085 (method url-fetch)
9086 (uri (string-append "https://hackage.haskell.org/package/"
9087 "shakespeare-" version "/"
9088 "shakespeare-" version ".tar.gz"))
9089 (sha256
9090 (base32
9091 "1vk4b19zvwy4mpwaq9z3l3kfmz75gfyf7alhh0y112gspgpccm23"))))
9092 (build-system haskell-build-system)
9093 (inputs `(("ghc-aeson" ,ghc-aeson)
9094 ("ghc-blaze-markup" ,ghc-blaze-markup)
9095 ("ghc-blaze-html" ,ghc-blaze-html)
9096 ("ghc-exceptions" ,ghc-exceptions)
9097 ("ghc-vector" ,ghc-vector)
9098 ("ghc-unordered-containers" ,ghc-unordered-containers)
9099 ("ghc-scientific" ,ghc-scientific)))
9100 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9101 ("ghc-hunit" ,ghc-hunit)
9102 ("hspec-discover" ,hspec-discover)))
9103 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9104 (synopsis "Family of type-safe template languages for Haskell")
9105 (description "This Haskell package provides a family of type-safe
9106templates with simple variable interpolation. Shakespeare templates can
9107be used inline with a quasi-quoter or in an external file and it
9108interpolates variables according to the type being inserted.")
9109 (license license:expat)))
9110
9111(define-public ghc-shelly
9112 (package
9113 (name "ghc-shelly")
9114 (version "1.8.1")
9115 (source
9116 (origin
9117 (method url-fetch)
9118 (uri (string-append
9119 "https://hackage.haskell.org/package/shelly/shelly-"
9120 version ".tar.gz"))
9121 (sha256
9122 (base32
9123 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9124 (build-system haskell-build-system)
9125 (inputs
9126 `(("ghc-unix-compat" ,ghc-unix-compat)
9127 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9128 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9129 ("ghc-monad-control" ,ghc-monad-control)
9130 ("ghc-lifted-base" ,ghc-lifted-base)
9131 ("ghc-lifted-async" ,ghc-lifted-async)
9132 ("ghc-exceptions" ,ghc-exceptions)
9133 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9134 ("ghc-async" ,ghc-async)
9135 ("ghc-transformers-base" ,ghc-transformers-base)
9136 ("ghc-hunit" ,ghc-hunit)
9137 ("ghc-hspec" ,ghc-hspec)
9138 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9139 (home-page "https://github.com/yesodweb/Shelly.hs")
9140 (synopsis "Shell-like (systems) programming in Haskell")
9141 (description
9142 "Shelly provides convenient systems programming in Haskell, similar in
9143spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9144 (license license:bsd-3)))
9145
9146(define-public ghc-silently
9147 (package
9148 (name "ghc-silently")
9149 (version "1.2.5")
9150 (source
9151 (origin
9152 (method url-fetch)
9153 (uri (string-append
9154 "https://hackage.haskell.org/package/silently/silently-"
9155 version
9156 ".tar.gz"))
9157 (sha256
9158 (base32
9159 "0f9qm3f7y0hpxn6mddhhg51mm1r134qkvd2kr8r6192ka1ijbxnf"))))
9160 (build-system haskell-build-system)
9161 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9162 ;; (inputs
9163 ;; `(("ghc-temporary" ,ghc-temporary)))
9164 (home-page "https://github.com/hspec/silently")
9165 (synopsis "Prevent writing to stdout")
9166 (description "This package provides functions to prevent or capture
9167writing to stdout and other handles.")
9168 (license license:bsd-3)))
9169
9170(define-public ghc-simple-reflect
9171 (package
9172 (name "ghc-simple-reflect")
9173 (version "0.3.3")
9174 (source
9175 (origin
9176 (method url-fetch)
9177 (uri (string-append
9178 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9179 version
9180 ".tar.gz"))
9181 (sha256
9182 (base32
9183 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9184 (build-system haskell-build-system)
9185 (home-page
9186 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9187 (synopsis
9188 "Simple reflection of expressions containing variables")
9189 (description
9190 "This package allows simple reflection of expressions containing
9191variables. Reflection here means that a Haskell expression is turned into a
9192string. The primary aim of this package is teaching and understanding; there
9193are no options for manipulating the reflected expressions beyond showing
9194them.")
9195 (license license:bsd-3)))
9196
9197(define-public ghc-simple-sendfile
9198 (package
9199 (name "ghc-simple-sendfile")
9200 (version "0.2.27")
9201 (source
9202 (origin
9203 (method url-fetch)
9204 (uri (string-append "https://hackage.haskell.org/package/"
9205 "simple-sendfile-" version "/"
9206 "simple-sendfile-" version ".tar.gz"))
9207 (sha256
9208 (base32
9209 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
9210 (build-system haskell-build-system)
9211 (inputs
9212 `(("ghc-conduit" ,ghc-conduit)
9213 ("ghc-conduit-extra" ,ghc-conduit-extra)
9214 ("ghc-network" ,ghc-network)
9215 ("ghc-resourcet" ,ghc-resourcet)))
9216 (native-inputs
9217 `(("ghc-hspec" ,ghc-hspec)
9218 ("hspec-discover" ,hspec-discover)))
9219 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9220 (synopsis "Cross platform library for the sendfile system call")
9221 (description "This library tries to call minimum system calls which
9222are the bottleneck of web servers.")
9223 (license license:bsd-3)))
9224
9225(define-public ghc-skylighting-core
9226 (package
9227 (name "ghc-skylighting-core")
9228 (version "0.7.2")
9229 (source (origin
9230 (method url-fetch)
9231 (uri (string-append "https://hackage.haskell.org/package/"
9232 "skylighting-core/skylighting-core-"
9233 version ".tar.gz"))
9234 (sha256
9235 (base32
9236 "066fwmwsd7xcvwlinfk2izlzq0xp8697i6lnbgsbl71jdybyackq"))))
9237 (build-system haskell-build-system)
9238 (inputs
9239 `(("ghc-aeson" ,ghc-aeson)
9240 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9241 ("ghc-attoparsec" ,ghc-attoparsec)
9242 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9243 ("ghc-blaze-html" ,ghc-blaze-html)
9244 ("ghc-case-insensitive" ,ghc-case-insensitive)
9245 ("ghc-colour" ,ghc-colour)
9246 ("ghc-hxt" ,ghc-hxt)
9247 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9248 ("ghc-safe" ,ghc-safe)
9249 ("ghc-utf8-string" ,ghc-utf8-string)))
9250 (native-inputs
9251 `(("ghc-diff" ,ghc-diff)
9252 ("ghc-hunit" ,ghc-hunit)
9253 ("ghc-pretty-show" ,ghc-pretty-show)
9254 ("ghc-quickcheck" ,ghc-quickcheck)
9255 ("ghc-tasty" ,ghc-tasty)
9256 ("ghc-tasty-golden" ,ghc-tasty-golden)
9257 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9258 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9259 (home-page "https://github.com/jgm/skylighting")
9260 (synopsis "Syntax highlighting library")
9261 (description "Skylighting is a syntax highlighting library with support
9262for over one hundred languages. It derives its tokenizers from XML syntax
9263definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9264supported by that framework can be added. An optional command-line program is
9265provided. Skylighting is intended to be the successor to highlighting-kate.")
9266 (license license:gpl2)))
9267
9268(define-public ghc-skylighting
9269 (package
9270 (inherit ghc-skylighting-core)
9271 (name "ghc-skylighting")
9272 (version "0.7.2")
9273 (source (origin
9274 (method url-fetch)
9275 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9276 version "/skylighting-" version ".tar.gz"))
9277 (sha256
9278 (base32
9279 "1rh3z1a7a4clvksdw1qlpmhxqkfahwypi70k91whgfamzsqpxdch"))))
9280 (inputs
9281 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9282 ,@(package-inputs ghc-skylighting-core)))))
9283
9284(define-public ghc-smallcheck
9285 (package
9286 (name "ghc-smallcheck")
9287 (version "1.1.5")
9288 (source
9289 (origin
9290 (method url-fetch)
9291 (uri (string-append
9292 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9293 version
9294 ".tar.gz"))
9295 (sha256
9296 (base32
9297 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9298 (build-system haskell-build-system)
9299 (inputs
9300 `(("ghc-logict" ,ghc-logict)))
9301 (home-page
9302 "https://github.com/feuerbach/smallcheck")
9303 (synopsis "Property-based testing library")
9304 (description "SmallCheck is a testing library that allows to verify
9305properties for all test cases up to some depth. The test cases are generated
9306automatically by SmallCheck.")
9307 (license license:bsd-3)))
9308
9309(define-public ghc-socks
9310 (package
9311 (name "ghc-socks")
9312 (version "0.5.6")
9313 (source (origin
9314 (method url-fetch)
9315 (uri (string-append "https://hackage.haskell.org/package/"
9316 "socks/socks-" version ".tar.gz"))
9317 (sha256
9318 (base32
9319 "0f44qy74i0n6ll3jym0a2ipafkpw1h67amcpqmj8iq95h21wsqzs"))))
9320 (build-system haskell-build-system)
9321 (inputs
9322 `(("ghc-cereal" ,ghc-cereal)
9323 ("ghc-network" ,ghc-network)))
9324 (home-page "https://github.com/vincenthz/hs-socks")
9325 (synopsis "SOCKS proxy (version 5) implementation")
9326 (description
9327 "This library provides a SOCKS proxy (version 5) implementation.")
9328 (license license:bsd-3)))
9329
9330(define-public ghc-split
9331 (package
9332 (name "ghc-split")
9333 (version "0.2.3.3")
9334 (outputs '("out" "doc"))
9335 (source
9336 (origin
9337 (method url-fetch)
9338 (uri (string-append
9339 "https://hackage.haskell.org/package/split/split-"
9340 version
9341 ".tar.gz"))
9342 (sha256
9343 (base32
9344 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9345 (build-system haskell-build-system)
9346 (native-inputs
9347 `(("ghc-quickcheck" ,ghc-quickcheck)))
9348 (home-page "https://hackage.haskell.org/package/split")
9349 (synopsis "Combinator library for splitting lists")
9350 (description "This package provides a collection of Haskell functions for
9351splitting lists into parts, akin to the @code{split} function found in several
9352mainstream languages.")
9353 (license license:bsd-3)))
9354
9355(define-public ghc-statevar
9356 (package
9357 (name "ghc-statevar")
9358 (version "1.1.1.1")
9359 (source
9360 (origin
9361 (method url-fetch)
9362 (uri (string-append
9363 "https://hackage.haskell.org/package/StateVar/StateVar-"
9364 version
9365 ".tar.gz"))
9366 (sha256
9367 (base32
9368 "08r2iw0gdmfs4f6wraaq19vfmkjdbics3dbhw39y7mdjd98kcr7b"))))
9369 (build-system haskell-build-system)
9370 (home-page "https://hackage.haskell.org/package/StateVar")
9371 (synopsis "State variables for Haskell")
9372 (description "This package provides state variables, which are references
9373in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9374 (license license:bsd-3)))
9375
9376(define-public ghc-statistics
9377 (package
9378 (name "ghc-statistics")
9379 (version "0.14.0.2")
9380 (source
9381 (origin
9382 (method url-fetch)
9383 (uri (string-append "https://hackage.haskell.org/package/"
9384 "statistics-" version "/"
9385 "statistics-" version ".tar.gz"))
9386 (sha256
9387 (base32
9388 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
9389 (build-system haskell-build-system)
9390 (arguments
9391 '(#:cabal-revision
9392 ("2" "1bx70yqkn62ii17fjv3pig4hklrzkqd09zj67zzjiyjzmn04fir3")
9393 ;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
9394 #:tests? #f))
9395 (inputs
9396 `(("ghc-aeson" ,ghc-aeson)
9397 ("ghc-base-orphans" ,ghc-base-orphans)
9398 ("ghc-erf" ,ghc-erf)
9399 ("ghc-math-functions" ,ghc-math-functions)
9400 ("ghc-monad-par" ,ghc-monad-par)
9401 ("ghc-mwc-random" ,ghc-mwc-random)
9402 ("ghc-primitive" ,ghc-primitive)
9403 ("ghc-vector" ,ghc-vector)
9404 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9405 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9406 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9407 (native-inputs
9408 `(("ghc-hunit" ,ghc-hunit)
9409 ("ghc-quickcheck" ,ghc-quickcheck)
9410 ("ghc-ieee754" ,ghc-ieee754)
9411 ("ghc-test-framework" ,ghc-test-framework)
9412 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9413 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9414 (home-page "https://github.com/bos/mwc-random")
9415 (synopsis "Haskell library of statistical types, data, and functions")
9416 (description "This library provides a number of common functions
9417and types useful in statistics. We focus on high performance, numerical
9418robustness, and use of good algorithms. Where possible, we provide references
9419to the statistical literature.
9420
9421The library's facilities can be divided into four broad categories:
9422
9423@itemize
9424@item Working with widely used discrete and continuous probability
9425distributions. (There are dozens of exotic distributions in use; we focus
9426on the most common.)
9427
9428@item Computing with sample data: quantile estimation, kernel density
9429estimation, histograms, bootstrap methods, significance testing,
9430and regression and autocorrelation analysis.
9431
9432@item Random variate generation under several different distributions.
9433
9434@item Common statistical tests for significant differences between samples.
9435@end itemize")
9436 (license license:bsd-2)))
9437
9438(define-public ghc-stm-chans
9439 (package
9440 (name "ghc-stm-chans")
9441 (version "3.0.0.4")
9442 (source
9443 (origin
9444 (method url-fetch)
9445 (uri (string-append "https://hackage.haskell.org/package/"
9446 "stm-chans-" version "/"
9447 "stm-chans-" version ".tar.gz"))
9448 (sha256
9449 (base32
9450 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9451 (build-system haskell-build-system)
9452 (home-page "https://hackage.haskell.org/package/stm-chans")
9453 (synopsis "Additional types of channels for ghc-stm")
9454 (description "This Haskell package offers a collection of channel types,
9455similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9456features.")
9457 (license license:bsd-3)))
9458
9459(define-public ghc-stm-conduit
9460 (package
9461 (name "ghc-stm-conduit")
9462 (version "4.0.0")
9463 (source
9464 (origin
9465 (method url-fetch)
9466 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9467 "stm-conduit-" version ".tar.gz"))
9468 (sha256
9469 (base32
9470 "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
9471 (build-system haskell-build-system)
9472 (inputs
9473 `(("ghc-stm-chans" ,ghc-stm-chans)
9474 ("ghc-cereal" ,ghc-cereal)
9475 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9476 ("ghc-conduit" ,ghc-conduit)
9477 ("ghc-conduit-extra" ,ghc-conduit-extra)
9478 ("ghc-exceptions" ,ghc-exceptions)
9479 ("ghc-resourcet" ,ghc-resourcet)
9480 ("ghc-async" ,ghc-async)
9481 ("ghc-monad-loops" ,ghc-monad-loops)
9482 ("ghc-unliftio" ,ghc-unliftio)))
9483 (native-inputs
9484 `(("ghc-doctest" ,ghc-doctest)
9485 ("ghc-quickcheck" ,ghc-quickcheck)
9486 ("ghc-hunit" ,ghc-hunit)
9487 ("ghc-test-framework" ,ghc-test-framework)
9488 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9489 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9490 (home-page "https://github.com/cgaebel/stm-conduit")
9491 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9492 (description
9493 "This package provides two simple conduit wrappers around STM channels: a
9494source and a sink.")
9495 (license license:bsd-3)))
9496
9497(define-public ghc-stmonadtrans
9498 (package
9499 (name "ghc-stmonadtrans")
9500 (version "0.4.3")
9501 (source
9502 (origin
9503 (method url-fetch)
9504 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9505 "/STMonadTrans-" version ".tar.gz"))
9506 (sha256
9507 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9508 (build-system haskell-build-system)
9509 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9510 (synopsis "Monad transformer version of the ST monad")
9511 (description
9512 "This package provides a monad transformer version of the @code{ST} monad
9513for strict state threads.")
9514 (license license:bsd-3)))
9515
9516(define-public ghc-storable-complex
9517 (package
9518 (name "ghc-storable-complex")
9519 (version "0.2.2")
9520 (source
9521 (origin
9522 (method url-fetch)
9523 (uri (string-append
9524 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9525 version ".tar.gz"))
9526 (sha256
9527 (base32 "01kwwkpbfjrv26vj83cd92px5qbq1bpgxj0r45534aksqhany1xb"))))
9528 (build-system haskell-build-system)
9529 (home-page "https://github.com/cartazio/storable-complex")
9530 (synopsis "Haskell Storable instance for Complex")
9531 (description "This package provides a Haskell library including a
9532Storable instance for Complex which is binary compatible with C99, C++
9533and Fortran complex data types.")
9534 (license license:bsd-3)))
9535
ad80074a
JS
9536(define-public ghc-storable-record
9537 (package
9538 (name "ghc-storable-record")
9539 (version "0.0.4")
9540 (source
9541 (origin
9542 (method url-fetch)
9543 (uri
9544 (string-append
9545 "https://hackage.haskell.org/package/storable-record/"
9546 "storable-record-" version ".tar.gz"))
9547 (sha256
9548 (base32
9549 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
9550 (build-system haskell-build-system)
9551 (inputs
9552 `(("ghc-semigroups" ,ghc-semigroups)
9553 ("ghc-utility-ht" ,ghc-utility-ht)
9554 ("ghc-storablevector" ,ghc-storablevector)
9555 ("ghc-timeit" ,ghc-timeit)))
9556 (home-page "https://hackage.haskell.org/package/storable-record")
9557 (synopsis "Elegant definition of Storable instances for records")
9558 (description "With this package you can build a Storable instance of
9559a record type from Storable instances of its elements in an elegant way.
9560It does not do any magic, just a bit arithmetic to compute the right
9561offsets, that would be otherwise done manually or by a preprocessor like
9562C2HS. There is no guarantee that the generated memory layout is
9563compatible with that of a corresponding C struct. However, the module
9564generates the smallest layout that is possible with respect to the
9565alignment of the record elements.")
9566 (license license:bsd-3)))
9567
55f4c653
JS
9568(define-public ghc-storable-tuple
9569 (package
9570 (name "ghc-storable-tuple")
9571 (version "0.0.3.3")
9572 (source
9573 (origin
9574 (method url-fetch)
9575 (uri
9576 (string-append
9577 "https://hackage.haskell.org/package/storable-tuple/"
9578 "storable-tuple-" version ".tar.gz"))
9579 (sha256
9580 (base32
9581 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
9582 (build-system haskell-build-system)
9583 (inputs
9584 `(("ghc-storable-record" ,ghc-storable-record)
9585 ("ghc-utility-ht" ,ghc-utility-ht)
9586 ("ghc-base-orphans" ,ghc-base-orphans)))
9587 (home-page "https://hackage.haskell.org/package/storable-tuple")
9588 (synopsis "Storable instance for pairs and triples")
9589 (description "This package provides a Storable instance for pairs
9590and triples which should be binary compatible with C99 and C++. The
9591only purpose of this package is to provide a standard location for this
9592instance so that other packages needing this instance can play nicely
9593together.")
9594 (license license:bsd-3)))
9595
bc06ca45
JS
9596(define-public ghc-storablevector
9597 (package
9598 (name "ghc-storablevector")
9599 (version "0.2.13")
9600 (source
9601 (origin
9602 (method url-fetch)
9603 (uri
9604 (string-append
9605 "https://hackage.haskell.org/package/storablevector/storablevector-"
9606 version ".tar.gz"))
9607 (sha256
9608 (base32
9609 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
9610 (build-system haskell-build-system)
9611 (inputs
9612 `(("ghc-non-negative" ,ghc-non-negative)
9613 ("ghc-utility-ht" ,ghc-utility-ht)
9614 ("ghc-semigroups" ,ghc-semigroups)
9615 ("ghc-unsafe" ,ghc-unsafe)
9616 ("ghc-quickcheck" ,ghc-quickcheck)
9617 ("ghc-syb" ,ghc-syb)))
9618 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
9619 (synopsis "Fast, packed, strict storable arrays with a list interface")
9620 (description "This library provides fast, packed, strict storable
9621arrays with a list interface, a chunky lazy list interface with variable
9622chunk size and an interface for write access via the ST monad. This is
9623much like bytestring and binary but can be used for every
9624@code{Foreign.Storable.Storable} type. See also
9625@url{http://hackage.haskell.org/package/vector}, a library with a
9626similar intention.
9627
9628This library does not do advanced fusion optimization, since especially
9629for lazy vectors this would either be incorrect or not applicable. See
9630@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
9631a library that provides fusion with lazy lists.")
9632 (license license:bsd-3)))
9633
dddbc90c
RV
9634(define-public ghc-streaming-commons
9635 (package
9636 (name "ghc-streaming-commons")
9637 (version "0.2.1.1")
9638 (source
9639 (origin
9640 (method url-fetch)
9641 (uri (string-append "https://hackage.haskell.org/package/"
9642 "streaming-commons/streaming-commons-"
9643 version ".tar.gz"))
9644 (sha256
9645 (base32
9646 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9647 (build-system haskell-build-system)
9648 (inputs
9649 `(("ghc-async" ,ghc-async)
9650 ("ghc-blaze-builder" ,ghc-blaze-builder)
9651 ("ghc-network" ,ghc-network)
9652 ("ghc-random" ,ghc-random)
9653 ("ghc-zlib" ,ghc-zlib)))
9654 (native-inputs
9655 `(("ghc-quickcheck" ,ghc-quickcheck)
9656 ("ghc-hspec" ,ghc-hspec)
9657 ("hspec-discover" ,hspec-discover)))
9658 (home-page "https://hackage.haskell.org/package/streaming-commons")
9659 (synopsis "Conduit and pipes needed by some streaming data libraries")
9660 (description "This package provides low-dependency functionality commonly
9661needed by various Haskell streaming data libraries, such as @code{conduit} and
9662@code{pipe}s.")
9663 (license license:expat)))
9664
9665(define-public ghc-strict
9666 (package
9667 (name "ghc-strict")
9668 (version "0.3.2")
9669 (source
9670 (origin
9671 (method url-fetch)
9672 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
9673 version ".tar.gz"))
9674 (sha256
9675 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
9676 (build-system haskell-build-system)
9677 (home-page "https://hackage.haskell.org/package/strict")
9678 (synopsis "Strict data types and String IO")
9679 (description
9680 "This package provides strict versions of some standard Haskell data
9681types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
9682IO operations.")
9683 (license license:bsd-3)))
9684
9685(define-public ghc-stringbuilder
9686 (package
9687 (name "ghc-stringbuilder")
9688 (version "0.5.1")
9689 (source
9690 (origin
9691 (method url-fetch)
9692 (uri (string-append
9693 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
9694 version
9695 ".tar.gz"))
9696 (sha256
9697 (base32
9698 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
9699 (build-system haskell-build-system)
9700 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
9701 ; enabled
9702 (home-page "https://hackage.haskell.org/package/stringbuilder")
9703 (synopsis "Writer monad for multi-line string literals")
9704 (description "This package provides a writer monad for multi-line string
9705literals.")
9706 (license license:expat)))
9707
9708(define-public ghc-string-qq
9709 (package
9710 (name "ghc-string-qq")
9711 (version "0.0.2")
9712 (source
9713 (origin
9714 (method url-fetch)
9715 (uri (string-append
9716 "https://hackage.haskell.org/package/string-qq/string-qq-"
9717 version
9718 ".tar.gz"))
9719 (sha256
9720 (base32
9721 "0662m3i5xrdrr95w829bszkhp88mj9iy1zya54vk2sl5hz9wlmwp"))))
9722 (build-system haskell-build-system)
9723 (home-page "http://hackage.haskell.org/package/string-qq")
9724 (synopsis
9725 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
9726 (description
9727 "This package provides a quasiquoter for non-interpolated strings, texts
9728and bytestrings.")
9729 (license license:public-domain)))
9730
9731(define-public ghc-stringsearch
9732 (package
9733 (name "ghc-stringsearch")
9734 (version "0.3.6.6")
9735 (source
9736 (origin
9737 (method url-fetch)
9738 (uri (string-append
9739 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
9740 version
9741 ".tar.gz"))
9742 (sha256
9743 (base32
9744 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
9745 (build-system haskell-build-system)
9746 (home-page "https://bitbucket.org/dafis/stringsearch")
9747 (synopsis "Fast searching, splitting and replacing of ByteStrings")
9748 (description "This package provides several functions to quickly search
9749for substrings in strict or lazy @code{ByteStrings}. It also provides
9750functions for breaking or splitting on substrings and replacing all
9751occurrences of a substring (the first in case of overlaps) with another.")
9752 (license license:bsd-3)))
9753
9754(define-public ghc-stylish-haskell
9755 (package
9756 (name "ghc-stylish-haskell")
9757 (version "0.9.2.1")
9758 (source
9759 (origin
9760 (method url-fetch)
9761 (uri (string-append
9762 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
9763 version
9764 ".tar.gz"))
9765 (sha256
9766 (base32
9767 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
9768 (build-system haskell-build-system)
9769 (inputs
9770 `(("ghc-aeson" ,ghc-aeson)
9771 ("ghc-file-embed" ,ghc-file-embed)
9772 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
9773 ("ghc-semigroups" ,ghc-semigroups)
9774 ("ghc-syb" ,ghc-syb)
9775 ("ghc-yaml" ,ghc-yaml)
9776 ("ghc-strict" ,ghc-strict)
9777 ("ghc-optparse-applicative"
9778 ,ghc-optparse-applicative)))
9779 (native-inputs
9780 `(("ghc-hunit" ,ghc-hunit)
9781 ("ghc-test-framework" ,ghc-test-framework)
9782 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
9783 (home-page "https://github.com/jaspervdj/stylish-haskell")
9784 (synopsis "Haskell code prettifier")
9785 (description "Stylish-haskell is a Haskell code prettifier. The goal is
9786not to format all of the code in a file, to avoid \"getting in the way\".
9787However, this tool can e.g. clean up import statements and help doing various
9788tasks that get tedious very quickly. It can
9789@itemize
9790@item
9791Align and sort @code{import} statements
9792@item
9793Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
9794pragmas
9795@item
9796Remove trailing whitespaces
9797@item
9798Align branches in @code{case} and fields in records
9799@item
9800Convert line endings (customisable)
9801@item
9802Replace tabs by four spaces (turned off by default)
9803@item
9804Replace some ASCII sequences by their Unicode equivalent (turned off by
9805default)
9806@end itemize")
9807 (license license:bsd-3)))
9808
9809(define-public ghc-syb
9810 (package
9811 (name "ghc-syb")
9812 (version "0.7")
9813 (outputs '("out" "doc"))
9814 (source
9815 (origin
9816 (method url-fetch)
9817 (uri (string-append
9818 "https://hackage.haskell.org/package/syb/syb-"
9819 version
9820 ".tar.gz"))
9821 (sha256
9822 (base32
9823 "1da2zz7gqm4xbkx5vpd74dayx1svaxyl145fl14mq15lbb77sxdq"))))
9824 (build-system haskell-build-system)
9825 (inputs
9826 `(("ghc-hunit" ,ghc-hunit)))
9827 (home-page
9828 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
9829 (synopsis "Scrap Your Boilerplate")
9830 (description "This package contains the generics system described in the
9831/Scrap Your Boilerplate/ papers (see
9832@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
9833defines the @code{Data} class of types permitting folding and unfolding of
9834constructor applications, instances of this class for primitive types, and a
9835variety of traversals.")
9836 (license license:bsd-3)))
9837
9838(define-public ghc-system-fileio
9839 (package
9840 (name "ghc-system-fileio")
9841 (version "0.3.16.3")
9842 (source
9843 (origin
9844 (method url-fetch)
9845 (uri (string-append
9846 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
9847 version ".tar.gz"))
9848 (sha256
9849 (base32
9850 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
9851 (build-system haskell-build-system)
9852 (inputs
9853 `(("ghc-system-filepath" ,ghc-system-filepath)
9854 ("ghc-chell" ,ghc-chell)
9855 ("ghc-temporary" ,ghc-temporary)))
9856 (home-page "https://github.com/fpco/haskell-filesystem")
9857 (synopsis "Consistent file system interaction across GHC versions")
9858 (description
9859 "This is a small wrapper around the directory, unix, and Win32 packages,
9860for use with system-filepath. It provides a consistent API to the various
9861versions of these packages distributed with different versions of GHC.
9862In particular, this library supports working with POSIX files that have paths
9863which can't be decoded in the current locale encoding.")
9864 (license license:expat)))
9865
9866;; See ghc-system-filepath-bootstrap. In addition this package depends on
9867;; ghc-system-filepath.
9868(define ghc-system-fileio-bootstrap
9869 (package
9870 (name "ghc-system-fileio-bootstrap")
9871 (version "0.3.16.3")
9872 (source
9873 (origin
9874 (method url-fetch)
9875 (uri (string-append
9876 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
9877 version ".tar.gz"))
9878 (sha256
9879 (base32
9880 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
9881 (build-system haskell-build-system)
9882 (arguments
9883 `(#:tests? #f))
9884 (inputs
9885 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9886 ("ghc-temporary" ,ghc-temporary)))
9887 (home-page "https://github.com/fpco/haskell-filesystem")
9888 (synopsis "Consistent file system interaction across GHC versions")
9889 (description
9890 "This is a small wrapper around the directory, unix, and Win32 packages,
9891for use with system-filepath. It provides a consistent API to the various
9892versions of these packages distributed with different versions of GHC.
9893In particular, this library supports working with POSIX files that have paths
9894which can't be decoded in the current locale encoding.")
9895 (license license:expat)))
9896
9897
9898(define-public ghc-system-filepath
9899 (package
9900 (name "ghc-system-filepath")
9901 (version "0.4.14")
9902 (source
9903 (origin
9904 (method url-fetch)
9905 (uri (string-append
9906 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
9907 version ".tar.gz"))
9908 (sha256
9909 (base32
9910 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
9911 (build-system haskell-build-system)
9912 ;; FIXME: One of the tests fails:
9913 ;; [ FAIL ] tests.validity.posix
9914 ;; note: seed=7310214548328823169
9915 ;; *** Failed! Falsifiable (after 24 tests):
9916 ;; 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"
9917 (arguments `(#:tests? #f))
9918 (inputs
9919 `(("ghc-chell" ,ghc-chell)
9920 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
9921 ("ghc-quickcheck" ,ghc-quickcheck)))
9922 (home-page "https://github.com/fpco/haskell-filesystem")
9923 (synopsis "High-level, byte-based file and directory path manipulations")
9924 (description
9925 "Provides a FilePath datatype and utility functions for operating on it.
9926Unlike the filepath package, this package does not simply reuse String,
9927increasing type safety.")
9928 (license license:expat)))
9929
9930;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
9931;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
9932;; which depends on ghc-chell and ghc-chell-quickcheck.
9933;; Therefore we bootstrap it with tests disabled.
9934(define ghc-system-filepath-bootstrap
9935 (package
9936 (name "ghc-system-filepath-bootstrap")
9937 (version "0.4.14")
9938 (source
9939 (origin
9940 (method url-fetch)
9941 (uri (string-append
9942 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
9943 version ".tar.gz"))
9944 (sha256
9945 (base32
9946 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
9947 (build-system haskell-build-system)
9948 (arguments
9949 `(#:tests? #f))
9950 (inputs
9951 `(("ghc-quickcheck" ,ghc-quickcheck)))
9952 (home-page "https://github.com/fpco/haskell-filesystem")
9953 (synopsis "High-level, byte-based file and directory path manipulations")
9954 (description
9955 "Provides a FilePath datatype and utility functions for operating on it.
9956Unlike the filepath package, this package does not simply reuse String,
9957increasing type safety.")
9958 (license license:expat)))
9959
9960
9961(define-public ghc-tagged
9962 (package
9963 (name "ghc-tagged")
9964 (version "0.8.5")
9965 (source
9966 (origin
9967 (method url-fetch)
9968 (uri (string-append
9969 "https://hackage.haskell.org/package/tagged/tagged-"
9970 version
9971 ".tar.gz"))
9972 (sha256
9973 (base32
9974 "16cdzh0bw16nvjnyyy5j9s60malhz4nnazw96vxb0xzdap4m2z74"))))
9975 (build-system haskell-build-system)
9976 (arguments
9977 `(#:cabal-revision
9978 ("2" "0r2knfcq0b4s652vlvlnfwxlc2mkc2ra9kl8bp4zdn1awmfy0ia5")))
9979 (inputs
9980 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
9981 (home-page "https://hackage.haskell.org/package/tagged")
9982 (synopsis "Haskell phantom types to avoid passing dummy arguments")
9983 (description "This library provides phantom types for Haskell 98, to avoid
9984having to unsafely pass dummy arguments.")
9985 (license license:bsd-3)))
9986
9987(define-public ghc-tar
9988 (package
9989 (name "ghc-tar")
9990 (version "0.5.1.0")
9991 (source
9992 (origin
9993 (method url-fetch)
9994 (uri (string-append
9995 "https://hackage.haskell.org/package/tar/tar-"
9996 version ".tar.gz"))
9997 (sha256
9998 (base32
9999 "0s2brvaxg5fki2jdkccmnpssiy6a3wjh24p6a3dkkdvjcixnk7f8"))))
10000 (build-system haskell-build-system)
10001 ;; FIXME: 2/24 tests fail.
10002 (arguments `(#:tests? #f))
10003 (inputs
10004 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10005 ("ghc-quickcheck" ,ghc-quickcheck)
10006 ("ghc-tasty" ,ghc-tasty)
10007 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10008 (home-page "https://hackage.haskell.org/package/tar")
10009 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10010 (description
10011 "This library is for working with \\\"@.tar@\\\" archive files.
10012It can read and write a range of common variations of the tar archive format
10013including V7, POSIX USTAR and GNU formats. It provides support for packing and
10014unpacking portable archives. This makes it suitable for distribution but not
10015backup because details like file ownership and exact permissions are not
10016preserved. It also provides features for random access to archive content using
10017an index.")
10018 (license license:bsd-3)))
10019
10020(define-public ghc-temporary
10021 (package
10022 (name "ghc-temporary")
10023 (version "1.3")
10024 (source
10025 (origin
10026 (method url-fetch)
10027 (uri (string-append
10028 "https://hackage.haskell.org/package/temporary/temporary-"
10029 version
10030 ".tar.gz"))
10031 (sha256
10032 (base32
10033 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10034 (build-system haskell-build-system)
10035 (inputs
10036 `(("ghc-exceptions" ,ghc-exceptions)
10037 ("ghc-random" ,ghc-random)))
10038 (native-inputs
10039 `(("ghc-base-compat" ,ghc-base-compat)
10040 ("ghc-tasty" ,ghc-tasty)
10041 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10042 (home-page "https://www.github.com/batterseapower/temporary")
10043 (synopsis "Temporary file and directory support")
10044 (description "The functions for creating temporary files and directories
10045in the Haskelll base library are quite limited. This library just repackages
10046the Cabal implementations of its own temporary file and folder functions so
10047that you can use them without linking against Cabal or depending on it being
10048installed.")
10049 (license license:bsd-3)))
10050
10051(define-public ghc-temporary-rc
10052 (package
10053 (name "ghc-temporary-rc")
10054 (version "1.2.0.3")
10055 (source
10056 (origin
10057 (method url-fetch)
10058 (uri (string-append
10059 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10060 version
10061 ".tar.gz"))
10062 (sha256
10063 (base32
10064 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10065 (build-system haskell-build-system)
10066 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10067 (home-page
10068 "https://www.github.com/feuerbach/temporary")
10069 (synopsis
10070 "Portable temporary file and directory support")
10071 (description
10072 "The functions for creating temporary files and directories in the base
10073library are quite limited. The unixutils package contains some good ones, but
10074they aren't portable to Windows. This library just repackages the Cabal
10075implementations of its own temporary file and folder functions so that you can
10076use them without linking against Cabal or depending on it being installed.
10077This is a better maintained fork of the \"temporary\" package.")
10078 (license license:bsd-3)))
10079
10080(define-public ghc-terminal-size
10081 (package
10082 (name "ghc-terminal-size")
10083 (version "0.3.2.1")
10084 (source (origin
10085 (method url-fetch)
10086 (uri (string-append
10087 "https://hackage.haskell.org/package/terminal-size/"
10088 "terminal-size-" version ".tar.gz"))
10089 (sha256
10090 (base32
10091 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10092 (build-system haskell-build-system)
10093 (home-page "https://hackage.haskell.org/package/terminal-size")
10094 (synopsis "Get terminal window height and width")
10095 (description "Get terminal window height and width without ncurses
10096dependency.")
10097 (license license:bsd-3)))
10098
10099(define-public ghc-texmath
10100 (package
10101 (name "ghc-texmath")
10102 (version "0.11.0.1")
10103 (source (origin
10104 (method url-fetch)
10105 (uri (string-append "https://hackage.haskell.org/package/"
10106 "texmath/texmath-" version ".tar.gz"))
10107 (sha256
10108 (base32
10109 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
10110 (build-system haskell-build-system)
10111 (inputs
10112 `(("ghc-syb" ,ghc-syb)
10113 ("ghc-network-uri" ,ghc-network-uri)
10114 ("ghc-split" ,ghc-split)
10115 ("ghc-temporary" ,ghc-temporary)
10116 ("ghc-utf8-string" ,ghc-utf8-string)
10117 ("ghc-xml" ,ghc-xml)
10118 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10119 (home-page "https://github.com/jgm/texmath")
10120 (synopsis "Conversion between formats used to represent mathematics")
10121 (description
10122 "The texmath library provides functions to read and write TeX math,
10123presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10124Office). Support is also included for converting math formats to pandoc's
10125native format (allowing conversion, via pandoc, to a variety of different
10126markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10127it can parse and apply LaTeX macros.")
10128 (license license:gpl2+)))
10129
10130(define-public ghc-text-binary
10131 (package
10132 (name "ghc-text-binary")
10133 (version "0.2.1.1")
10134 (source
10135 (origin
10136 (method url-fetch)
10137 (uri (string-append "https://hackage.haskell.org/package/"
10138 "text-binary/text-binary-"
10139 version ".tar.gz"))
10140 (sha256
10141 (base32
10142 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10143 (build-system haskell-build-system)
10144 (home-page "https://github.com/kawu/text-binary")
10145 (synopsis "Binary instances for text types")
10146 (description
10147 "This package provides a compatibility layer providing @code{Binary}
10148instances for strict and lazy text types for versions older than 1.2.1 of the
10149text package.")
10150 (license license:bsd-2)))
10151
10152(define-public ghc-tf-random
10153 (package
10154 (name "ghc-tf-random")
10155 (version "0.5")
10156 (outputs '("out" "doc"))
10157 (source
10158 (origin
10159 (method url-fetch)
10160 (uri (string-append
10161 "https://hackage.haskell.org/package/tf-random/tf-random-"
10162 version
10163 ".tar.gz"))
10164 (sha256
10165 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10166 (build-system haskell-build-system)
10167 (inputs
10168 `(("ghc-primitive" ,ghc-primitive)
10169 ("ghc-random" ,ghc-random)))
10170 (home-page "https://hackage.haskell.org/package/tf-random")
10171 (synopsis "High-quality splittable pseudorandom number generator")
10172 (description "This package contains an implementation of a high-quality
10173splittable pseudorandom number generator. The generator is based on a
10174cryptographic hash function built on top of the ThreeFish block cipher. See
10175the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10176Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10177 (license license:bsd-3)))
10178
10179(define-public ghc-th-abstraction
10180 (package
10181 (name "ghc-th-abstraction")
10182 (version "0.2.8.0")
10183 (source
10184 (origin
10185 (method url-fetch)
10186 (uri (string-append "https://hackage.haskell.org/package/"
10187 "th-abstraction/th-abstraction-"
10188 version ".tar.gz"))
10189 (sha256
10190 (base32
10191 "0n17w4q2ykd0nica4sck2wng6md56rfad8x0icl0l8vnzb9nn4ya"))))
10192 (build-system haskell-build-system)
10193 (home-page "https://github.com/glguy/th-abstraction")
10194 (synopsis "Nicer interface for reified information about data types")
10195 (description
10196 "This package normalizes variations in the interface for inspecting
10197datatype information via Template Haskell so that packages and support a
10198single, easier to use informational datatype while supporting many versions of
10199Template Haskell.")
10200 (license license:isc)))
10201
10202(define-public ghc-th-expand-syns
10203 (package
10204 (name "ghc-th-expand-syns")
10205 (version "0.4.4.0")
10206 (source (origin
10207 (method url-fetch)
10208 (uri (string-append "https://hackage.haskell.org/package/"
10209 "th-expand-syns/th-expand-syns-"
10210 version ".tar.gz"))
10211 (sha256
10212 (base32
10213 "01prlvh3py5hq5ccjidfyp9ixq2zd88dkbsidyjrpkja6v8m43yc"))))
10214 (build-system haskell-build-system)
10215 (inputs
10216 `(("ghc-syb" ,ghc-syb)))
10217 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10218 (synopsis "Expands type synonyms in Template Haskell ASTs")
10219 (description
10220 "This package enables users to expand type synonyms in Template Haskell
10221@dfn{abstract syntax trees} (ASTs).")
10222 (license license:bsd-3)))
10223
10224(define-public ghc-th-lift
10225 (package
10226 (name "ghc-th-lift")
10227 (version "0.7.11")
10228 (source (origin
10229 (method url-fetch)
10230 (uri (string-append "https://hackage.haskell.org/package/"
10231 "th-lift/th-lift-" version ".tar.gz"))
10232 (sha256
10233 (base32
10234 "131360zxb0hazbqwbkk6ab2p77jkxr79bwwm618mrwrwkm3x2g6m"))))
10235 (build-system haskell-build-system)
10236 (inputs
10237 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10238 (home-page "https://github.com/mboes/th-lift")
10239 (synopsis "Derive Template Haskell's Lift class for datatypes")
10240 (description
10241 "This is a Haskell library to derive Template Haskell's Lift class for
10242datatypes.")
10243 (license license:bsd-3)))
10244
10245(define-public ghc-th-lift-instances
10246 (package
10247 (name "ghc-th-lift-instances")
10248 (version "0.1.11")
10249 (source
10250 (origin
10251 (method url-fetch)
10252 (uri (string-append "https://hackage.haskell.org/package/"
10253 "th-lift-instances/th-lift-instances-"
10254 version ".tar.gz"))
10255 (sha256
10256 (base32
10257 "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x"))))
10258 (build-system haskell-build-system)
10259 (inputs
10260 `(("ghc-th-lift" ,ghc-th-lift)
10261 ("ghc-vector" ,ghc-vector)
10262 ("ghc-quickcheck" ,ghc-quickcheck)))
10263 (home-page "https://github.com/bennofs/th-lift-instances/")
10264 (synopsis "Lift instances for template-haskell for common data types.")
10265 (description "Most data types in the Haskell platform do not have Lift
10266instances. This package provides orphan instances for @code{containers},
10267@code{text}, @code{bytestring} and @code{vector}.")
10268 (license license:bsd-3)))
10269
10270(define-public ghc-th-orphans
10271 (package
10272 (name "ghc-th-orphans")
10273 (version "0.13.6")
10274 (source (origin
10275 (method url-fetch)
10276 (uri (string-append "https://hackage.haskell.org/package/"
10277 "th-orphans/th-orphans-" version ".tar.gz"))
10278 (sha256
10279 (base32
10280 "0sfl3pn9kq9da3ji3lsgzgzy82vz6yvsg80dmakc1jvk7awycibp"))))
10281 (build-system haskell-build-system)
10282 (inputs
10283 `(("ghc-th-lift" ,ghc-th-lift)
10284 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10285 ("ghc-th-reify-many" ,ghc-th-reify-many)
10286 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10287 (native-inputs
10288 `(("ghc-hspec" ,ghc-hspec)))
10289 (home-page "https://hackage.haskell.org/package/th-orphans")
10290 (synopsis "Orphan instances for TH datatypes")
10291 (description
10292 "This package provides orphan instances for Template Haskell datatypes. In particular,
10293instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10294and @code{Eq} instances. These instances used to live in the haskell-src-meta
10295package, and that's where the version number started.")
10296 (license license:bsd-3)))
10297
10298(define-public ghc-threads
10299 (package
10300 (name "ghc-threads")
10301 (version "0.5.1.6")
10302 (source
10303 (origin
10304 (method url-fetch)
10305 (uri (string-append "https://hackage.haskell.org/package/"
10306 "threads/threads-" version ".tar.gz"))
10307 (sha256
10308 (base32
10309 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10310 (build-system haskell-build-system)
10311 (native-inputs
10312 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10313 ("ghc-hunit" ,ghc-hunit)
10314 ("ghc-test-framework" ,ghc-test-framework)
10315 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10316 (home-page "https://github.com/basvandijk/threads")
10317 (synopsis "Fork threads and wait for their result")
10318 (description "This package provides functions to fork threads and
10319wait for their result, whether it's an exception or a normal value.
10320Besides waiting for the termination of a single thread this package also
10321provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10322package is similar to the @code{threadmanager}, @code{async} and
10323@code{spawn} packages. The advantages of this package are:
10324
dddbc90c
RV
10325@itemize
10326@item Simpler API.
10327@item More efficient in both space and time.
10328@item No space-leak when forking a large number of threads.
10329@item Correct handling of asynchronous exceptions.
10330@item GHC specific functionality like @code{forkOn} and
10331@code{forkIOWithUnmask}.
10332@end itemize")
10333 (license license:bsd-3)))
10334
10335(define-public ghc-th-reify-many
10336 (package
10337 (name "ghc-th-reify-many")
10338 (version "0.1.8")
10339 (source (origin
10340 (method url-fetch)
10341 (uri (string-append "https://hackage.haskell.org/package/"
10342 "th-reify-many/th-reify-many-"
10343 version ".tar.gz"))
10344 (sha256
10345 (base32
10346 "0hzy6hvhvcd6i60vx5cp2b7ggmnnjh9rx4h8bm8xw4grglcaxjnf"))))
10347 (build-system haskell-build-system)
10348 (inputs
10349 `(("ghc-safe" ,ghc-safe)
10350 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10351 (home-page "https://github.com/mgsloan/th-reify-many")
10352 (synopsis "Recurseively reify template haskell datatype info")
10353 (description
10354 "th-reify-many provides functions for recursively reifying top level
10355declarations. The main intended use case is for enumerating the names of
10356datatypes reachable from an initial datatype, and passing these names to some
10357function which generates instances.")
10358 (license license:bsd-3)))
10359
10360(define-public ghc-time-locale-compat
10361 (package
10362 (name "ghc-time-locale-compat")
10363 (version "0.1.1.5")
10364 (source
10365 (origin
10366 (method url-fetch)
10367 (uri (string-append "https://hackage.haskell.org/package/"
10368 "time-locale-compat/time-locale-compat-"
10369 version ".tar.gz"))
10370 (sha256
10371 (base32
10372 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10373 (build-system haskell-build-system)
10374 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10375 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10376 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10377 (description "This package contains a wrapped name module for
10378@code{TimeLocale}.")
10379 (license license:bsd-3)))
10380
7bbfa392
JS
10381(define-public ghc-timeit
10382 (package
10383 (name "ghc-timeit")
10384 (version "2.0")
10385 (source
10386 (origin
10387 (method url-fetch)
10388 (uri
10389 (string-append
10390 "https://hackage.haskell.org/package/timeit/timeit-"
10391 version ".tar.gz"))
10392 (sha256
10393 (base32
10394 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
10395 (build-system haskell-build-system)
10396 (home-page "https://github.com/merijn/timeit")
10397 (synopsis "Time monadic computations with an IO base")
10398 (description "This package provides a simple wrapper to show the
10399used CPU time of monadic computation with an IO base.")
10400 (license license:bsd-3)))
10401
dddbc90c
RV
10402(define-public ghc-tldr
10403 (package
10404 (name "ghc-tldr")
10405 (version "0.4.0.1")
10406 (source
10407 (origin
10408 (method url-fetch)
10409 (uri (string-append
10410 "https://hackage.haskell.org/package/tldr/tldr-"
10411 version
10412 ".tar.gz"))
10413 (sha256
10414 (base32
10415 "0nc581y9jjzwd8l88g48c72mla7k6q1w102akl7gl5jsk9ljamd3"))))
10416 (build-system haskell-build-system)
10417 (inputs
10418 `(("ghc-cmark" ,ghc-cmark)
10419 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10420 ("ghc-typed-process" ,ghc-typed-process)
10421 ("ghc-semigroups" ,ghc-semigroups)))
10422 (native-inputs
10423 `(("ghc-tasty" ,ghc-tasty)
10424 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10425 (home-page "https://github.com/psibi/tldr-hs#readme")
10426 (synopsis "Haskell tldr client")
10427 (description "This package provides the @command{tldr} command and a
10428Haskell client library allowing users to update and view @code{tldr} pages
10429from a shell. The @code{tldr} pages are a community effort to simplify the
10430man pages with practical examples.")
10431 (license license:bsd-3)))
10432
10433(define-public ghc-transformers-base
10434 (package
10435 (name "ghc-transformers-base")
10436 (version "0.4.5.2")
10437 (source
10438 (origin
10439 (method url-fetch)
10440 (uri (string-append
10441 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10442 version
10443 ".tar.gz"))
10444 (sha256
10445 (base32
10446 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10447 (build-system haskell-build-system)
10448 (inputs
10449 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10450 (home-page
10451 "https://hackage.haskell.org/package/transformers-compat")
10452 (synopsis
10453 "Backported transformer library")
10454 (description
10455 "Backported versions of types that were added to transformers in
10456transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10457compatibility to run on old versions of the platform.")
10458 (license license:bsd-3)))
10459
10460(define-public ghc-transformers-compat
10461 (package
10462 (name "ghc-transformers-compat")
10463 (version "0.6.2")
10464 (source
10465 (origin
10466 (method url-fetch)
10467 (uri (string-append
10468 "https://hackage.haskell.org/package/transformers-compat"
10469 "/transformers-compat-" version ".tar.gz"))
10470 (sha256
10471 (base32
10472 "1gp4a8kvniwgm8947ghb4iwv4b7wd6ry4kvv4nfnym4agf5j41nw"))))
10473 (build-system haskell-build-system)
10474 (home-page "https://github.com/ekmett/transformers-compat/")
10475 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10476 (description "This package includes backported versions of types that were
10477added to transformers in transformers 0.3 and 0.4 for users who need strict
10478transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10479but also need those types.")
10480 (license license:bsd-3)))
10481
10482(define-public ghc-tree-diff
10483 (package
10484 (name "ghc-tree-diff")
10485 (version "0.0.1")
10486 (source
10487 (origin
10488 (method url-fetch)
10489 (uri (string-append
10490 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10491 version
10492 ".tar.gz"))
10493 (sha256
10494 (base32
10495 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10496 (build-system haskell-build-system)
10497 (arguments
10498 `(#:cabal-revision
10499 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10500 #:phases
10501 (modify-phases %standard-phases
10502 (add-before 'configure 'update-constraints
10503 (lambda _
10504 (substitute* "tree-diff.cabal"
10505 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10506 "trifecta >=1.7.1.1 && <=2")))))))
10507 (inputs
10508 `(("ghc-aeson" ,ghc-aeson)
10509 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10510 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10511 ("ghc-base-compat" ,ghc-base-compat)
10512 ("ghc-generics-sop" ,ghc-generics-sop)
10513 ("ghc-hashable" ,ghc-hashable)
10514 ("ghc-memotrie" ,ghc-memotrie)
10515 ("ghc-parsers" ,ghc-parsers)
10516 ("ghc-quickcheck" ,ghc-quickcheck)
10517 ("ghc-scientific" ,ghc-scientific)
10518 ("ghc-tagged" ,ghc-tagged)
10519 ("ghc-unordered-containers" ,ghc-unordered-containers)
10520 ("ghc-uuid-types" ,ghc-uuid-types)
10521 ("ghc-vector" ,ghc-vector)))
10522 (native-inputs
10523 `(("ghc-base-compat" ,ghc-base-compat)
10524 ("ghc-quickcheck" ,ghc-quickcheck)
10525 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10526 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10527 ("ghc-trifecta" ,ghc-trifecta)
10528 ("ghc-tasty" ,ghc-tasty)
10529 ("ghc-tasty-golden" ,ghc-tasty-golden)
10530 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10531 (home-page "https://github.com/phadej/tree-diff")
10532 (synopsis "Compute difference between (expression) trees")
10533 (description "This Haskell library provides a function for computing
10534the difference between (expression) trees. It also provides a way to
10535compute the difference between arbitrary abstract datatypes (ADTs) using
10536@code{Generics}-derivable helpers.")
10537 (license license:bsd-3)))
10538
10539(define-public ghc-trifecta
10540 (package
10541 (name "ghc-trifecta")
10542 (version "2")
10543 (source (origin
10544 (method url-fetch)
10545 (uri (string-append
10546 "https://hackage.haskell.org/package/trifecta/"
10547 "trifecta-" version ".tar.gz"))
10548 (sha256
10549 (base32
10550 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10551 (build-system haskell-build-system)
10552 (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
10553 (inputs
10554 `(("ghc-reducers" ,ghc-reducers)
10555 ("ghc-semigroups" ,ghc-semigroups)
10556 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10557 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10558 ("ghc-blaze-builder" ,ghc-blaze-builder)
10559 ("ghc-blaze-html" ,ghc-blaze-html)
10560 ("ghc-blaze-markup" ,ghc-blaze-markup)
10561 ("ghc-charset" ,ghc-charset)
10562 ("ghc-comonad" ,ghc-comonad)
10563 ("ghc-fingertree" ,ghc-fingertree)
10564 ("ghc-hashable" ,ghc-hashable)
10565 ("ghc-lens" ,ghc-lens)
10566 ("ghc-parsers" ,ghc-parsers)
10567 ("ghc-profunctors" ,ghc-profunctors)
10568 ("ghc-unordered-containers" ,ghc-unordered-containers)
10569 ("ghc-utf8-string" ,ghc-utf8-string)))
10570 (native-inputs
10571 `(("cabal-doctest" ,cabal-doctest)
10572 ("ghc-doctest" ,ghc-doctest)
10573 ("ghc-quickcheck" ,ghc-quickcheck)))
10574 (home-page "https://github.com/ekmett/trifecta/")
10575 (synopsis "Parser combinator library with convenient diagnostics")
10576 (description "Trifecta is a modern parser combinator library for Haskell,
10577with slicing and Clang-style colored diagnostics.")
10578 (license license:bsd-3)))
10579
10580(define-public ghc-tuple-th
10581 (package
10582 (name "ghc-tuple-th")
10583 (version "0.2.5")
10584 (source
10585 (origin
10586 (method url-fetch)
10587 (uri (string-append "https://hackage.haskell.org/package/"
10588 "tuple-th-" version "/"
10589 "tuple-th-" version ".tar.gz"))
10590 (sha256
10591 (base32
10592 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10593 (build-system haskell-build-system)
10594 (home-page "https://github.com/DanielSchuessler/tuple-th")
10595 (synopsis "Generate utility functions for tuples of statically known size
10596for Haskell")
10597 (description "This Haskell package contains Template Haskell functions for
10598generating functions similar to those in @code{Data.List} for tuples of
10599statically known size.")
10600 (license license:bsd-3)))
10601
10602(define-public ghc-typed-process
10603 (package
10604 (name "ghc-typed-process")
10605 (version "0.2.3.0")
10606 (source
10607 (origin
10608 (method url-fetch)
10609 (uri (string-append "https://hackage.haskell.org/package/"
10610 "typed-process/typed-process-"
10611 version ".tar.gz"))
10612 (sha256
10613 (base32
10614 "0j36vrc9w841m5qbwqra1lwiznx31xfnhin1sm8x2c2739csbpn0"))))
10615 (build-system haskell-build-system)
10616 (inputs
10617 `(("ghc-async" ,ghc-async)))
10618 (native-inputs
10619 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10620 ("ghc-hspec" ,ghc-hspec)
10621 ("hspec-discover" ,hspec-discover)
10622 ("ghc-temporary" ,ghc-temporary)))
10623 (home-page "https://haskell-lang.org/library/typed-process")
10624 (synopsis "Run external processes with strong typing of streams")
10625 (description
10626 "This library provides the ability to launch and interact with external
10627processes. It wraps around the @code{process} library, and intends to improve
10628upon it.")
10629 (license license:expat)))
10630
d392f803
AG
10631(define-public ghc-unagi-chan
10632 (package
10633 (name "ghc-unagi-chan")
10634 (version "0.4.1.2")
10635 (source
10636 (origin
10637 (method url-fetch)
10638 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
10639 "/unagi-chan-" version ".tar.gz"))
10640 (sha256
10641 (base32
10642 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
10643 (build-system haskell-build-system)
10644 (inputs
10645 `(("ghc-atomic-primops" ,ghc-atomic-primops)
10646 ("ghc-primitive" ,ghc-primitive)))
10647 (arguments
10648 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
10649 #:cabal-revision
10650 ("1"
10651 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
10652 (home-page "http://hackage.haskell.org/package/unagi-chan")
10653 (synopsis "Fast concurrent queues with a Chan-like API, and more")
10654 (description
10655 "This library provides implementations of concurrent FIFO queues (for
10656both general boxed and primitive unboxed values) that are fast, perform well
10657under contention, and offer a Chan-like interface. The library may be of
10658limited usefulness outside of x86 architectures where the fetch-and-add
10659instruction is not available.")
10660 (license license:bsd-3)))
10661
dddbc90c
RV
10662(define-public ghc-unbounded-delays
10663 (package
10664 (name "ghc-unbounded-delays")
10665 (version "0.1.1.0")
10666 (source
10667 (origin
10668 (method url-fetch)
10669 (uri (string-append
10670 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
10671 version
10672 ".tar.gz"))
10673 (sha256
10674 (base32
10675 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
10676 (build-system haskell-build-system)
10677 (home-page "https://github.com/basvandijk/unbounded-delays")
10678 (synopsis "Unbounded thread delays and timeouts")
10679 (description "The @code{threadDelay} and @code{timeout} functions from the
10680Haskell base library use the bounded @code{Int} type for specifying the delay
10681or timeout period. This package provides alternative functions which use the
10682unbounded @code{Integer} type.")
10683 (license license:bsd-3)))
10684
10685(define-public ghc-unexceptionalio
10686 (package
10687 (name "ghc-unexceptionalio")
10688 (version "0.4.0")
10689 (source
10690 (origin
10691 (method url-fetch)
10692 (uri (string-append "https://hackage.haskell.org/package/"
10693 "unexceptionalio-" version "/" "unexceptionalio-"
10694 version ".tar.gz"))
10695 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
10696 (build-system haskell-build-system)
10697 (home-page "https://github.com/singpolyma/unexceptionalio")
10698 (synopsis "IO without any non-error, synchronous exceptions")
10699 (description "When you've caught all the exceptions that can be
10700handled safely, this is what you're left with.")
10701 (license license:isc)))
10702
10703(define-public ghc-union-find
10704 (package
10705 (name "ghc-union-find")
10706 (version "0.2")
10707 (source (origin
10708 (method url-fetch)
10709 (uri (string-append
10710 "https://hackage.haskell.org/package/union-find/union-find-"
10711 version ".tar.gz"))
10712 (sha256
10713 (base32
10714 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
10715 (build-system haskell-build-system)
10716 (home-page "https://github.com/nominolo/union-find")
10717 (synopsis "Efficient union and equivalence testing of sets")
10718 (description
10719 "The Union/Find algorithm implements these operations in (effectively)
10720constant-time:
10721@enumerate
10722@item Check whether two elements are in the same equivalence class.
10723@item Create a union of two equivalence classes.
10724@item Look up the descriptor of the equivalence class.
10725@end enumerate\n")
10726 (license license:bsd-3)))
10727
10728(define-public ghc-uniplate
10729 (package
10730 (name "ghc-uniplate")
10731 (version "1.6.12")
10732 (source
10733 (origin
10734 (method url-fetch)
10735 (uri (string-append
10736 "https://hackage.haskell.org/package/uniplate/uniplate-"
10737 version
10738 ".tar.gz"))
10739 (sha256
10740 (base32
10741 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
10742 (build-system haskell-build-system)
10743 (inputs
10744 `(("ghc-syb" ,ghc-syb)
10745 ("ghc-hashable" ,ghc-hashable)
10746 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10747 (home-page "http://community.haskell.org/~ndm/uniplate/")
10748 (synopsis "Simple, concise and fast generic operations")
10749 (description "Uniplate is a library for writing simple and concise generic
10750operations. Uniplate has similar goals to the original Scrap Your Boilerplate
10751work, but is substantially simpler and faster.")
10752 (license license:bsd-3)))
10753
10754(define-public ghc-unix-compat
10755 (package
10756 (name "ghc-unix-compat")
10757 (version "0.5.1")
10758 (source
10759 (origin
10760 (method url-fetch)
10761 (uri (string-append
10762 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
10763 version
10764 ".tar.gz"))
10765 (sha256
10766 (base32
10767 "0llwl7rp63fy2ychwdclz1afj45pbin5pfl01dvn6rwhvmwhr7d3"))))
10768 (build-system haskell-build-system)
10769 (home-page
10770 "https://github.com/jystic/unix-compat")
10771 (synopsis "Portable POSIX-compatibility layer")
10772 (description
10773 "This package provides portable implementations of parts of the unix
10774package. This package re-exports the unix package when available. When it
10775isn't available, portable implementations are used.")
10776 (license license:bsd-3)))
10777
10778(define-public ghc-unix-time
10779 (package
10780 (name "ghc-unix-time")
10781 (version "0.3.8")
10782 (source
10783 (origin
10784 (method url-fetch)
10785 (uri (string-append
10786 "https://hackage.haskell.org/package/unix-time/unix-time-"
10787 version
10788 ".tar.gz"))
10789 (sha256
10790 (base32
10791 "051slgpid5cxiaw203ky0ql3823h28fcjs08axkzd4265wrvv8fw"))))
10792 (build-system haskell-build-system)
10793 (arguments
10794 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
10795 ; is weird, that should be provided by GHC 7.10.2.
10796 (inputs
10797 `(("ghc-old-time" ,ghc-old-time)
10798 ("ghc-old-locale" ,ghc-old-locale)))
10799 (home-page "https://hackage.haskell.org/package/unix-time")
10800 (synopsis "Unix time parser/formatter and utilities")
10801 (description "This library provides fast parsing and formatting utilities
10802for Unix time in Haskell.")
10803 (license license:bsd-3)))
10804
10805(define-public ghc-unliftio
10806 (package
10807 (name "ghc-unliftio")
10808 (version "0.2.7.0")
10809 (source
10810 (origin
10811 (method url-fetch)
10812 (uri (string-append
10813 "https://hackage.haskell.org/package/unliftio/unliftio-"
10814 version
10815 ".tar.gz"))
10816 (sha256
10817 (base32
10818 "0qql93lq5w7qghl454cc3s1i8v1jb4h08n82fqkw0kli4g3g9njs"))))
10819 (build-system haskell-build-system)
10820 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
10821 (inputs
10822 `(("ghc-async" ,ghc-async)
10823 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10824 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
10825 (home-page "https://github.com/fpco/unliftio")
10826 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
10827IO (batteries included)")
10828 (description "This Haskell package provides the core @code{MonadUnliftIO}
10829typeclass, a number of common instances, and a collection of common functions
10830working with it.")
10831 (license license:expat)))
10832
10833(define-public ghc-unliftio-core
10834 (package
10835 (name "ghc-unliftio-core")
10836 (version "0.1.1.0")
10837 (source
10838 (origin
10839 (method url-fetch)
10840 (uri (string-append "https://hackage.haskell.org/package/"
10841 "unliftio-core-" version "/"
10842 "unliftio-core-" version ".tar.gz"))
10843 (sha256
10844 (base32
10845 "1193fplsjm1lcr05xwvkj1rsyzx74i755f6kw3ikmxbsv0bv0l3m"))))
10846 (build-system haskell-build-system)
10847 (arguments
10848 `(#:cabal-revision
10849 ("1" "16bjwcsaghqqmyi69rq65dn3ydifyfaabq3ns37apdm00mwqbcj2")))
10850 (home-page
10851 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
10852 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
10853 (description "This Haskell package provides the core @code{MonadUnliftIO}
10854typeclass, instances for base and transformers, and basic utility
10855functions.")
10856 (license license:expat)))
10857
10858(define-public ghc-unordered-containers
10859 (package
10860 (name "ghc-unordered-containers")
10861 (version "0.2.9.0")
10862 (outputs '("out" "doc"))
10863 (source
10864 (origin
10865 (method url-fetch)
10866 (uri (string-append
10867 "https://hackage.haskell.org/package/unordered-containers"
10868 "/unordered-containers-" version ".tar.gz"))
10869 (sha256
10870 (base32
10871 "0l4264p0av12cc6i8gls13q8y27x12z2ar4x34n3x59y99fcnc37"))))
10872 (build-system haskell-build-system)
10873 (inputs
10874 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
10875 ("ghc-hunit" ,ghc-hunit)
10876 ("ghc-quickcheck" ,ghc-quickcheck)
10877 ("ghc-test-framework" ,ghc-test-framework)
10878 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10879 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
10880 ("ghc-hashable" ,ghc-hashable)))
10881 (home-page
10882 "https://github.com/tibbe/unordered-containers")
10883 (synopsis
10884 "Efficient hashing-based container types")
10885 (description
10886 "Efficient hashing-based container types. The containers have been
10887optimized for performance critical use, both in terms of large data quantities
10888and high speed.")
10889 (license license:bsd-3)))
10890
10891(define-public ghc-unordered-containers-bootstrap
10892 (package
10893 (inherit ghc-unordered-containers)
10894 (name "ghc-unordered-containers-bootstrap")
10895 (arguments `(#:tests? #f))
10896 (inputs
10897 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 10898 (properties '((hidden? #t)))))
dddbc90c 10899
a52f4c57
JS
10900(define-public ghc-unsafe
10901 (package
10902 (name "ghc-unsafe")
10903 (version "0.0")
10904 (source
10905 (origin
10906 (method url-fetch)
10907 (uri
10908 (string-append
10909 "https://hackage.haskell.org/package/unsafe/unsafe-"
10910 version ".tar.gz"))
10911 (sha256
10912 (base32
10913 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
10914 (build-system haskell-build-system)
10915 (home-page "https://hackage.haskell.org/package/unsafe")
10916 (synopsis "Unified interface to unsafe functions")
10917 (description "Safe Haskell introduced the notion of safe and unsafe
10918modules. In order to make as many as possible modules ``safe'', the
10919well-known unsafe functions were moved to distinguished modules. This
10920makes it hard to write packages that work with both old and new versions
10921of GHC. This package provides a single module System.Unsafe that
10922exports the unsafe functions from the base package. It provides them in
10923a style ready for qualification, that is, you should import them by
10924@code{import qualified System.Unsafe as Unsafe}.")
10925 (license license:bsd-3)))
10926
dddbc90c
RV
10927(define-public ghc-uri-bytestring
10928 (package
10929 (name "ghc-uri-bytestring")
10930 (version "0.3.2.0")
10931 (source
10932 (origin
10933 (method url-fetch)
10934 (uri (string-append "https://hackage.haskell.org/package/"
10935 "uri-bytestring-" version "/"
10936 "uri-bytestring-" version ".tar.gz"))
10937 (sha256
10938 (base32
10939 "1q04j5ybvk37zk2m0bkjwyhblz0ymdj0cn4rvsvdca1ikn5xdv5c"))))
10940 (build-system haskell-build-system)
10941 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
10942 ("ghc-fail" ,ghc-fail)
10943 ("ghc-blaze-builder" ,ghc-blaze-builder)
10944 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
10945 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
10946 ("ghc-hunit" ,ghc-hunit)
10947 ("ghc-quickcheck" ,ghc-quickcheck)
10948 ("ghc-tasty" ,ghc-tasty)
10949 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10950 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10951 ("ghc-base-compat" ,ghc-base-compat)
10952 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
10953 ("ghc-semigroups" ,ghc-semigroups)
10954 ("ghc-generics-sop" ,ghc-generics-sop)))
10955 (home-page "https://github.com/Soostone/uri-bytestring")
10956 (synopsis "Haskell URI parsing as ByteStrings")
10957 (description "This Haskell package aims to be an RFC3986 compliant URI
10958parser that uses ByteStrings for parsing and representing the URI data.")
10959 (license license:bsd-3)))
10960
10961(define-public ghc-utf8-string
10962 (package
10963 (name "ghc-utf8-string")
10964 (version "1.0.1.1")
10965 (source
10966 (origin
10967 (method url-fetch)
10968 (uri (string-append
10969 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
10970 version
10971 ".tar.gz"))
10972 (sha256
10973 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
10974 (build-system haskell-build-system)
10975 (arguments
10976 `(#:cabal-revision
10977 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
10978 (home-page "https://github.com/glguy/utf8-string/")
10979 (synopsis "Support for reading and writing UTF8 Strings")
10980 (description
10981 "A UTF8 layer for Strings. The utf8-string package provides operations
10982for encoding UTF8 strings to Word8 lists and back, and for reading and writing
10983UTF8 without truncation.")
10984 (license license:bsd-3)))
10985
10986(define-public ghc-utility-ht
10987 (package
10988 (name "ghc-utility-ht")
10989 (version "0.0.14")
10990 (home-page "https://hackage.haskell.org/package/utility-ht")
10991 (source
10992 (origin
10993 (method url-fetch)
10994 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
10995 (sha256
10996 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
10997 (build-system haskell-build-system)
10998 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
10999 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
11000 (description "This package includes Hakell modules providing various
11001helper functions for Lists, Maybes, Tuples, Functions.")
11002 (license license:bsd-3)))
11003
11004(define-public ghc-uuid
11005 (package
11006 (name "ghc-uuid")
11007 (version "1.3.13")
11008 (source
11009 (origin
11010 (method url-fetch)
11011 (uri (string-append "https://hackage.haskell.org/package/"
11012 "uuid-" version "/"
11013 "uuid-" version ".tar.gz"))
11014 (sha256
11015 (base32
11016 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
11017 (build-system haskell-build-system)
11018 (arguments
11019 `(#:cabal-revision
11020 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
11021 #:phases
11022 (modify-phases %standard-phases
11023 (add-before 'configure 'strip-test-framework-constraints
11024 (lambda _
11025 (substitute* "uuid.cabal"
11026 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
11027 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
11028 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11029 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11030 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11031 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
11032 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
11033 ("ghc-entropy" ,ghc-entropy)
11034 ("ghc-network-info" ,ghc-network-info)
11035 ("ghc-random" ,ghc-random)
11036 ("ghc-uuid-types" ,ghc-uuid-types)))
11037 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11038 ("ghc-quickcheck" ,ghc-quickcheck)
11039 ("ghc-tasty" ,ghc-tasty)
11040 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11041 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11042 (home-page "https://github.com/hvr/uuid")
11043 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
11044 (description "This Haskell library provides utilities creating, comparing,
11045parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
11046 (license license:bsd-3)))
11047
11048(define-public ghc-uuid-types
11049 (package
11050 (name "ghc-uuid-types")
11051 (version "1.0.3")
11052 (source
11053 (origin
11054 (method url-fetch)
11055 (uri (string-append "https://hackage.haskell.org/package/"
11056 "uuid-types-" version "/"
11057 "uuid-types-" version ".tar.gz"))
11058 (sha256
11059 (base32
11060 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
11061 (build-system haskell-build-system)
11062 (arguments
11063 `(#:phases
11064 (modify-phases %standard-phases
11065 (add-before 'configure 'strip-test-framework-constraints
11066 (lambda _
11067 (substitute* "uuid-types.cabal"
11068 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
11069 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
11070 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11071 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11072 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11073 (inputs `(("ghc-hashable" ,ghc-hashable)
11074 ("ghc-random" ,ghc-random)))
11075 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11076 ("ghc-quickcheck" ,ghc-quickcheck)
11077 ("ghc-tasty" ,ghc-tasty)
11078 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11079 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11080 (home-page "https://github.com/hvr/uuid")
11081 (synopsis "Haskell type definitions for UUIDs")
11082 (description "This Haskell library contains type definitions for
11083@dfn{Universally Unique Identifiers} or
11084@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
11085functions.")
11086 (license license:bsd-3)))
11087
11088(define-public ghc-validation
11089 (package
11090 (name "ghc-validation")
11091 (version "1")
11092 (source
11093 (origin
11094 (method url-fetch)
11095 (uri (string-append
11096 "mirror://hackage/package/validation/validation-"
11097 version
11098 ".tar.gz"))
11099 (sha256
11100 (base32
11101 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
11102 (build-system haskell-build-system)
11103 (arguments
11104 `(#:cabal-revision
11105 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
11106 (inputs
11107 `(("ghc-semigroups" ,ghc-semigroups)
11108 ("ghc-semigroupoids" ,ghc-semigroupoids)
11109 ("ghc-bifunctors" ,ghc-bifunctors)
11110 ("ghc-lens" ,ghc-lens)))
11111 (native-inputs
11112 `(("ghc-hedgehog" ,ghc-hedgehog)
11113 ("ghc-hunit" ,ghc-hunit)))
11114 (home-page "https://github.com/qfpl/validation")
11115 (synopsis
11116 "Data-type like Either but with an accumulating Applicative")
11117 (description
11118 "A data-type like Either but with differing properties and type-class
11119instances.
11120
11121Library support is provided for this different representation, including
11122@code{lens}-related functions for converting between each and abstracting over
11123their similarities.
11124
11125The @code{Validation} data type is isomorphic to @code{Either}, but has an
11126instance of @code{Applicative} that accumulates on the error side. That is to
11127say, if two (or more) errors are encountered, they are appended using a
11128@{Semigroup} operation.
11129
11130As a consequence of this @code{Applicative} instance, there is no
11131corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11132example of, \"An applicative functor that is not a monad.\"")
11133 (license license:bsd-3)))
11134
11135(define-public ghc-validity
11136 (package
11137 (name "ghc-validity")
11138 (version "0.7.0.0")
11139 (source
11140 (origin
11141 (method url-fetch)
11142 (uri (string-append
11143 "https://hackage.haskell.org/package/validity/validity-"
11144 version
11145 ".tar.gz"))
11146 (sha256
11147 (base32
11148 "0xribw98amafihw87ddajk6vlirp7w9b26lrnjgq7jfm4710j95f"))))
11149 (build-system haskell-build-system)
11150 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11151 ("hspec-discover" ,hspec-discover)))
11152 (home-page
11153 "https://github.com/NorfairKing/validity")
11154 (synopsis "Validity typeclass")
11155 (description
11156 "Values of custom types usually have invariants imposed upon them. This
11157package provides the @code{Validity} type class, which makes these invariants
11158explicit by providing a function to check whether the invariants hold.")
11159 (license license:expat)))
11160
11161(define-public ghc-vault
11162 (package
11163 (name "ghc-vault")
11164 (version "0.3.1.2")
11165 (source
11166 (origin
11167 (method url-fetch)
11168 (uri (string-append
11169 "https://hackage.haskell.org/package/vault/vault-"
11170 version
11171 ".tar.gz"))
11172 (sha256
11173 (base32
11174 "072mbrihsdsb8c6xvg6lvk0rqjgvxvi8qkg4n6wwym5hq0pfa04y"))))
11175 (build-system haskell-build-system)
11176 (inputs
11177 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11178 ("ghc-hashable" ,ghc-hashable)
11179 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11180 (home-page
11181 "https://github.com/HeinrichApfelmus/vault")
11182 (synopsis "Persistent store for arbitrary values")
11183 (description "This package provides vaults for Haskell. A vault is a
11184persistent store for values of arbitrary types. It's like having first-class
11185access to the storage space behind @code{IORefs}. The data structure is
11186analogous to a bank vault, where you can access different bank boxes with
11187different keys; hence the name. Also provided is a @code{locker} type,
11188representing a store for a single element.")
11189 (license license:bsd-3)))
11190
11191(define-public ghc-vector
11192 (package
11193 (name "ghc-vector")
11194 (version "0.12.0.1")
11195 (outputs '("out" "doc"))
11196 (source
11197 (origin
11198 (method url-fetch)
11199 (uri (string-append
11200 "https://hackage.haskell.org/package/vector/vector-"
11201 version
11202 ".tar.gz"))
11203 (sha256
11204 (base32
11205 "0yrx2ypiaxahvaz84af5bi855hd3107kxkbqc8km29nsp5wyw05i"))))
11206 (build-system haskell-build-system)
11207 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11208 ;; disabled for now.
11209 (arguments
11210 `(#:cabal-revision
11211 ("3" "0y5rh8k710i2a3p1h2rghvr5cfg78p5h0kbfi7ifxqqf6pzlyr1x")
11212 #:tests? #f))
11213 (inputs
11214 `(("ghc-primitive" ,ghc-primitive)
11215 ("ghc-random" ,ghc-random)
11216 ("ghc-quickcheck" ,ghc-quickcheck)
11217 ;; ("ghc-hunit" ,ghc-hunit)
11218 ;; ("ghc-test-framework" ,ghc-test-framework)
11219 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11220 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11221 ))
11222 (home-page "https://github.com/haskell/vector")
11223 (synopsis "Efficient Arrays")
11224 (description "This library provides an efficient implementation of
11225Int-indexed arrays (both mutable and immutable), with a powerful loop
11226optimisation framework.")
11227 (license license:bsd-3)))
11228
11229(define-public ghc-vector-algorithms
11230 (package
11231 (name "ghc-vector-algorithms")
11232 (version "0.7.0.4")
11233 (source
11234 (origin
11235 (method url-fetch)
11236 (uri (string-append "https://hackage.haskell.org/package/"
11237 "vector-algorithms-" version "/"
11238 "vector-algorithms-" version ".tar.gz"))
11239 (sha256
11240 (base32
11241 "0mfa8ig9v69l41p2vb5jl4qmaln5y1rlzarr2mlgm8g1nvq8qqdg"))))
11242 (build-system haskell-build-system)
11243 (inputs
11244 `(("ghc-vector" ,ghc-vector)))
11245 (native-inputs
11246 `(("ghc-quickcheck" ,ghc-quickcheck)))
11247 (home-page "https://github.com/bos/math-functions")
11248 (synopsis "Algorithms for vector arrays in Haskell")
11249 (description "This Haskell library algorithms for vector arrays.")
11250 (license license:bsd-3)))
11251
11252(define-public ghc-vector-binary-instances
11253 (package
11254 (name "ghc-vector-binary-instances")
11255 (version "0.2.4")
11256 (source
11257 (origin
11258 (method url-fetch)
11259 (uri (string-append
11260 "https://hackage.haskell.org/package/"
11261 "vector-binary-instances/vector-binary-instances-"
11262 version ".tar.gz"))
11263 (sha256
11264 (base32
11265 "1y236jb72iab9ska1mc48z6yb0xgwmj45laaqdyjxksd84z7hbrb"))))
11266 (build-system haskell-build-system)
11267 (arguments
11268 `(#:cabal-revision
11269 ("1" "196frl4akhfk7xf1nxzn8lmq99dxhzhsimanswn9yy7ym8zhki4i")))
11270 (inputs
11271 `(("ghc-vector" ,ghc-vector)))
11272 (native-inputs
11273 `(("ghc-tasty" ,ghc-tasty)
11274 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11275 (home-page "https://github.com/bos/vector-binary-instances")
11276 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11277 (description "This library provides instances of @code{Binary} for the
11278types defined in the @code{vector} package, making it easy to serialize
11279vectors to and from disk. We use the generic interface to vectors, so all
11280vector types are supported. Specific instances are provided for unboxed,
11281boxed and storable vectors.")
11282 (license license:bsd-3)))
11283
11284(define-public ghc-vector-builder
11285 (package
11286 (name "ghc-vector-builder")
11287 (version "0.3.6")
11288 (source
11289 (origin
11290 (method url-fetch)
11291 (uri (string-append "https://hackage.haskell.org/package/"
11292 "vector-builder-" version "/"
11293 "vector-builder-" version ".tar.gz"))
11294 (sha256
11295 (base32
11296 "06d2pa1fb3ydrl7l6rjazqyxv5i73v65x2f5fp0ypjxfbm6jsmn8"))))
11297 (build-system haskell-build-system)
11298 (inputs `(("ghc-vector" ,ghc-vector)
11299 ("ghc-semigroups" ,ghc-semigroups)
11300 ("ghc-base-prelude" ,ghc-base-prelude)))
11301 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11302 ("ghc-tasty" ,ghc-tasty)
11303 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11304 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11305 ("ghc-hunit" ,ghc-hunit)
11306 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11307 ("ghc-rerebase" ,ghc-rerebase)))
11308 (home-page "https://github.com/nikita-volkov/vector-builder")
11309 (synopsis "Vector builder for Haskell")
11310 (description "This Haskell package provides an API for constructing vectors.
11311It provides the composable @code{Builder} abstraction, which has instances of the
11312@code{Monoid} and @code{Semigroup} classes.
11313
11314You would first use the @code{Builder} abstraction to specify the structure of
11315the vector; then you can execute the builder to actually produce the
11316vector. ")
11317 (license license:expat)))
11318
11319(define-public ghc-vector-th-unbox
11320 (package
11321 (name "ghc-vector-th-unbox")
11322 (version "0.2.1.6")
11323 (source
11324 (origin
11325 (method url-fetch)
11326 (uri (string-append "https://hackage.haskell.org/package/"
11327 "vector-th-unbox-" version "/"
11328 "vector-th-unbox-" version ".tar.gz"))
11329 (sha256
11330 (base32
11331 "0d82x55f5vvr1jvaia382m23rs690lg55pvavv8f4ph0y6kd91xy"))))
11332 (build-system haskell-build-system)
11333 (inputs
11334 `(("ghc-vector" ,ghc-vector)
11335 ("ghc-data-default" ,ghc-data-default)))
11336 (home-page "https://github.com/liyang/vector-th-unbox")
11337 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
11338 (description "This Haskell library provides a Template Haskell
11339deriver for unboxed vectors, given a pair of coercion functions to
11340and from some existing type with an Unbox instance.")
11341 (license license:bsd-3)))
11342
11343(define-public ghc-void
11344 (package
11345 (name "ghc-void")
11346 (version "0.7.2")
11347 (source
11348 (origin
11349 (method url-fetch)
11350 (uri (string-append
11351 "https://hackage.haskell.org/package/void/void-"
11352 version
11353 ".tar.gz"))
11354 (sha256
11355 (base32
11356 "0aygw0yb1h3yhmfl3bkwh5d3h0l4mmsxz7j53vdm6jryl1kgxzyk"))))
11357 (build-system haskell-build-system)
11358 (inputs
11359 `(("ghc-semigroups" ,ghc-semigroups)
11360 ("ghc-hashable" ,ghc-hashable)))
11361 (home-page "https://github.com/ekmett/void")
11362 (synopsis
11363 "Logically uninhabited data type")
11364 (description
11365 "A Haskell 98 logically uninhabited data type, used to indicate that a
11366given term should not exist.")
11367 (license license:bsd-3)))
11368
11369(define-public ghc-wave
11370 (package
11371 (name "ghc-wave")
11372 (version "0.1.5")
11373 (source (origin
11374 (method url-fetch)
11375 (uri (string-append
11376 "https://hackage.haskell.org/package/wave/wave-"
11377 version
11378 ".tar.gz"))
11379 (sha256
11380 (base32
11381 "03zycmwrchhqvi37fdvlzz2d1vl4hy0i8xyys1zznw38qfq0h2i5"))))
11382 (build-system haskell-build-system)
11383 (arguments
11384 '(#:phases
11385 (modify-phases %standard-phases
11386 (add-before 'configure 'update-constraints
11387 (lambda _
11388 (substitute* "wave.cabal"
11389 (("temporary.* < 1\\.3")
11390 "temporary >= 1.1 && < 1.4")))))))
11391 (inputs
11392 `(("ghc-cereal" ,ghc-cereal)
11393 ("ghc-data-default-class"
11394 ,ghc-data-default-class)
11395 ("ghc-quickcheck" ,ghc-quickcheck)
11396 ("ghc-temporary" ,ghc-temporary)))
11397 (native-inputs
11398 `(("hspec-discover" ,hspec-discover)
11399 ("ghc-hspec" ,ghc-hspec)))
11400 (home-page "https://github.com/mrkkrp/wave")
11401 (synopsis "Work with WAVE and RF64 files in Haskell")
11402 (description "This package allows you to work with WAVE and RF64
11403files in Haskell.")
11404 (license license:bsd-3)))
11405
11406(define-public ghc-wcwidth
11407 (package
11408 (name "ghc-wcwidth")
11409 (version "0.0.2")
11410 (source
11411 (origin
11412 (method url-fetch)
11413 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11414 version ".tar.gz"))
11415 (sha256
11416 (base32
11417 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11418 (build-system haskell-build-system)
11419 (inputs
11420 `(("ghc-setlocale" ,ghc-setlocale)
11421 ("ghc-utf8-string" ,ghc-utf8-string)
11422 ("ghc-attoparsec" ,ghc-attoparsec)))
11423 (home-page "https://github.com/solidsnack/wcwidth/")
11424 (synopsis "Haskell bindings to wcwidth")
11425 (description "This package provides Haskell bindings to your system's
11426native wcwidth and a command line tool to examine the widths assigned by it.
11427The command line tool can compile a width table to Haskell code that assigns
11428widths to the Char type.")
11429 (license license:bsd-3)))
11430
11431(define-public ghc-wcwidth-bootstrap
11432 (package
11433 (inherit ghc-wcwidth)
11434 (name "ghc-wcwidth-bootstrap")
11435 (inputs
11436 `(("ghc-setlocale" ,ghc-setlocale)
11437 ("ghc-utf8-string" ,ghc-utf8-string)
11438 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 11439 (properties '((hidden? #t)))))
dddbc90c
RV
11440
11441(define-public ghc-weigh
11442 (package
11443 (name "ghc-weigh")
11444 (version "0.0.12")
11445 (source
11446 (origin
11447 (method url-fetch)
11448 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11449 "weigh-" version ".tar.gz"))
11450 (sha256
11451 (base32
11452 "0zw2a997gxgdzqmd7j730kxgynzmjvvlkw84dajmfzf1v9pbij7x"))))
11453 (build-system haskell-build-system)
11454 (inputs
11455 `(("ghc-split" ,ghc-split)
11456 ("ghc-temporary" ,ghc-temporary)))
11457 (home-page "https://github.com/fpco/weigh#readme")
11458 (synopsis "Measure allocations of a Haskell functions/values")
11459 (description "This package provides tools to measure the memory usage of a
11460Haskell value or function.")
11461 (license license:bsd-3)))
11462
11463(define-public ghc-wl-pprint
11464 (package
11465 (name "ghc-wl-pprint")
11466 (version "1.2.1")
11467 (source (origin
11468 (method url-fetch)
11469 (uri (string-append
11470 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11471 version ".tar.gz"))
11472 (sha256
11473 (base32
11474 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11475 (build-system haskell-build-system)
11476 (home-page "https://hackage.haskell.org/package/wl-pprint")
11477 (synopsis "Wadler/Leijen pretty printer")
11478 (description
11479 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11480Printer}. This version allows the library user to declare overlapping
11481instances of the @code{Pretty} class.")
11482 (license license:bsd-3)))
11483
11484(define-public ghc-wl-pprint-annotated
11485 (package
11486 (name "ghc-wl-pprint-annotated")
11487 (version "0.1.0.1")
11488 (source
11489 (origin
11490 (method url-fetch)
11491 (uri (string-append
11492 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11493 version
11494 ".tar.gz"))
11495 (sha256
11496 (base32
11497 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11498 (build-system haskell-build-system)
11499 (native-inputs
11500 `(("ghc-tasty" ,ghc-tasty)
11501 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11502 (home-page
11503 "https://github.com/minad/wl-pprint-annotated#readme")
11504 (synopsis
11505 "Wadler/Leijen pretty printer with annotation support")
11506 (description
11507 "Annotations are useful for coloring. This is a limited version of
11508@code{wl-pprint-extras} without support for point effects and without the free
11509monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11510Compared to @code{annotated-wl-pprint} this library provides a slightly
11511modernized interface.")
11512 (license license:bsd-3)))
11513
11514(define-public ghc-wl-pprint-text
11515 (package
11516 (name "ghc-wl-pprint-text")
11517 (version "1.2.0.0")
11518 (source
11519 (origin
11520 (method url-fetch)
11521 (uri (string-append
11522 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11523 version ".tar.gz"))
11524 (sha256
11525 (base32
11526 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11527 (build-system haskell-build-system)
11528 (inputs
11529 `(("ghc-base-compat" ,ghc-base-compat)))
11530 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11531 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11532 (description
11533 "A clone of wl-pprint for use with the text library.")
11534 (license license:bsd-3)))
11535
11536(define-public ghc-word8
11537 (package
11538 (name "ghc-word8")
11539 (version "0.1.3")
11540 (source
11541 (origin
11542 (method url-fetch)
11543 (uri (string-append
11544 "https://hackage.haskell.org/package/word8/word8-"
11545 version
11546 ".tar.gz"))
11547 (sha256
11548 (base32
11549 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11550 (build-system haskell-build-system)
11551 (native-inputs
11552 `(("ghc-hspec" ,ghc-hspec)
11553 ("hspec-discover" ,hspec-discover)))
11554 (home-page "https://hackage.haskell.org/package/word8")
11555 (synopsis "Word8 library for Haskell")
11556 (description "Word8 library to be used with @code{Data.ByteString}.")
11557 (license license:bsd-3)))
11558
11559(define-public ghc-x11
11560 (package
11561 (name "ghc-x11")
11562 (version "1.9")
11563 (source
11564 (origin
11565 (method url-fetch)
11566 (uri (string-append "https://hackage.haskell.org/package/X11/"
11567 "X11-" version ".tar.gz"))
11568 (sha256
11569 (base32 "1f8dy6ckkyvpcv7zlniyv01cqjb9lgqscm8pml58cvwc7n38w4qh"))))
11570 (build-system haskell-build-system)
11571 (inputs
11572 `(("libx11" ,libx11)
11573 ("libxrandr" ,libxrandr)
11574 ("libxinerama" ,libxinerama)
11575 ("libxscrnsaver" ,libxscrnsaver)
11576 ("ghc-data-default" ,ghc-data-default)))
11577 (home-page "https://github.com/haskell-pkg-janitors/X11")
11578 (synopsis "Bindings to the X11 graphics library")
11579 (description
11580 "This package provides Haskell bindings to the X11 graphics library. The
11581bindings are a direct translation of the C bindings.")
11582 (license license:bsd-3)))
11583
11584(define-public ghc-x11-xft
11585 (package
11586 (name "ghc-x11-xft")
11587 (version "0.3.1")
11588 (source
11589 (origin
11590 (method url-fetch)
11591 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11592 "X11-xft-" version ".tar.gz"))
11593 (sha256
11594 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11595 (inputs
11596 `(("ghc-x11" ,ghc-x11)
11597 ("ghc-utf8-string" ,ghc-utf8-string)
11598 ("libx11" ,libx11)
11599 ("libxft" ,libxft)
11600 ("xorgproto" ,xorgproto)))
11601 (native-inputs
11602 `(("pkg-config" ,pkg-config)))
11603 (build-system haskell-build-system)
11604 (home-page "https://hackage.haskell.org/package/X11-xft")
11605 (synopsis "Bindings to Xft")
11606 (description
11607 "Bindings to the Xft, X Free Type interface library, and some Xrender
11608parts.")
11609 (license license:lgpl2.1)))
11610
11611(define-public ghc-xdg-basedir
11612 (package
11613 (name "ghc-xdg-basedir")
11614 (version "0.2.2")
11615 (source
11616 (origin
11617 (method url-fetch)
11618 (uri (string-append
11619 "https://hackage.haskell.org/package/xdg-basedir/"
11620 "xdg-basedir-" version ".tar.gz"))
11621 (sha256
11622 (base32
11623 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
11624 (build-system haskell-build-system)
11625 (home-page "http://github.com/willdonnelly/xdg-basedir")
11626 (synopsis "XDG Base Directory library for Haskell")
11627 (description "This package provides a library implementing the XDG Base Directory spec.")
11628 (license license:bsd-3)))
11629
11630(define-public ghc-xml
11631 (package
11632 (name "ghc-xml")
11633 (version "1.3.14")
11634 (source
11635 (origin
11636 (method url-fetch)
11637 (uri (string-append
11638 "https://hackage.haskell.org/package/xml/xml-"
11639 version
11640 ".tar.gz"))
11641 (sha256
11642 (base32
11643 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
11644 (build-system haskell-build-system)
11645 (home-page "http://code.galois.com")
11646 (synopsis "Simple XML library for Haskell")
11647 (description "This package provides a simple XML library for Haskell.")
11648 (license license:bsd-3)))
11649
11650(define-public ghc-xml-conduit
11651 (package
11652 (name "ghc-xml-conduit")
11653 (version "1.8.0.1")
11654 (source
11655 (origin
11656 (method url-fetch)
11657 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
11658 "xml-conduit-" version ".tar.gz"))
11659 (sha256
11660 (base32
11661 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
11662 (build-system haskell-build-system)
11663 (inputs
11664 `(("ghc-conduit" ,ghc-conduit)
11665 ("ghc-conduit-extra" ,ghc-conduit-extra)
11666 ("ghc-doctest" ,ghc-doctest)
11667 ("ghc-resourcet" ,ghc-resourcet)
11668 ("ghc-xml-types" ,ghc-xml-types)
11669 ("ghc-attoparsec" ,ghc-attoparsec)
11670 ("ghc-data-default-class" ,ghc-data-default-class)
11671 ("ghc-blaze-markup" ,ghc-blaze-markup)
11672 ("ghc-blaze-html" ,ghc-blaze-html)
11673 ("ghc-monad-control" ,ghc-monad-control)
11674 ("ghc-hspec" ,ghc-hspec)
11675 ("ghc-hunit" ,ghc-hunit)))
11676 (home-page "https://github.com/snoyberg/xml")
11677 (synopsis "Utilities for dealing with XML with the conduit package")
11678 (description
11679 "This package provides pure-Haskell utilities for dealing with XML with
11680the @code{conduit} package.")
11681 (license license:expat)))
11682
11683(define-public ghc-xml-types
11684 (package
11685 (name "ghc-xml-types")
11686 (version "0.3.6")
11687 (source
11688 (origin
11689 (method url-fetch)
11690 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
11691 "xml-types-" version ".tar.gz"))
11692 (sha256
11693 (base32
11694 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
11695 (build-system haskell-build-system)
11696 (home-page "https://john-millikin.com/software/haskell-xml/")
11697 (synopsis "Basic types for representing XML")
11698 (description "This package provides basic types for representing XML
11699documents.")
11700 (license license:expat)))
11701
11702(define-public ghc-yaml
11703 (package
11704 (name "ghc-yaml")
11705 (version "0.8.32")
11706 (source (origin
11707 (method url-fetch)
11708 (uri (string-append "https://hackage.haskell.org/package/"
11709 "yaml/yaml-" version ".tar.gz"))
11710 (sha256
11711 (base32
11712 "0cbsyh4ilvjzq1q7pxls43k6pdqxg1l85xzibcwpbvmlvrizh86w"))))
11713 (build-system haskell-build-system)
11714 ;; The tests are broken on i686. They are fixed in 0.10.3.0.
11715 ;; See https://github.com/snoyberg/yaml/issues/158
11716 (arguments `(#:tests? #f))
11717 (inputs
11718 `(("ghc-conduit" ,ghc-conduit)
11719 ("ghc-resourcet" ,ghc-resourcet)
11720 ("ghc-aeson" ,ghc-aeson)
11721 ("ghc-unordered-containers" ,ghc-unordered-containers)
11722 ("ghc-vector" ,ghc-vector)
11723 ("ghc-attoparsec" ,ghc-attoparsec)
11724 ("ghc-scientific" ,ghc-scientific)
11725 ("ghc-semigroups" ,ghc-semigroups)
11726 ("ghc-temporary" ,ghc-temporary)
11727 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11728 ("ghc-base-compat" ,ghc-base-compat)))
11729 (native-inputs
11730 `(("ghc-hspec" ,ghc-hspec)
11731 ("ghc-hunit" ,ghc-hunit)
11732 ("hspec-discover" ,hspec-discover)
11733 ("ghc-mockery" ,ghc-mockery)))
11734 (home-page "https://github.com/snoyberg/yaml/")
11735 (synopsis "Parsing and rendering YAML documents")
11736 (description
11737 "This package provides a library to parse and render YAML documents.")
11738 (license license:bsd-3)))
11739
11740(define-public ghc-zip-archive
11741 (package
11742 (name "ghc-zip-archive")
11743 (version "0.3.3")
11744 (source
11745 (origin
11746 (method url-fetch)
11747 (uri (string-append
11748 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
11749 version
11750 ".tar.gz"))
11751 (sha256
11752 (base32
11753 "0kf8xyac168bng8a0za2jwrbss7a4ralvci9g54hnvl0gkkxx2lq"))))
11754 (build-system haskell-build-system)
11755 (inputs
11756 `(("ghc-digest" ,ghc-digest)
11757 ("ghc-temporary" ,ghc-temporary)
11758 ("ghc-zlib" ,ghc-zlib)))
11759 (native-inputs
11760 `(("ghc-hunit" ,ghc-hunit)
11761 ("unzip" ,unzip)))
11762 (home-page "https://hackage.haskell.org/package/zip-archive")
11763 (synopsis "Zip archive library for Haskell")
11764 (description "The zip-archive library provides functions for creating,
11765modifying, and extracting files from zip archives in Haskell.")
11766 (license license:bsd-3)))
11767
11768(define-public ghc-zlib
11769 (package
11770 (name "ghc-zlib")
11771 (version "0.6.2")
11772 (outputs '("out" "doc"))
11773 (source
11774 (origin
11775 (method url-fetch)
11776 (uri (string-append
11777 "https://hackage.haskell.org/package/zlib/zlib-"
11778 version
11779 ".tar.gz"))
11780 (sha256
11781 (base32
11782 "1vbzf0awb6zb456xf48za1kl22018646cfzq4frvxgb9ay97vk0d"))))
11783 (build-system haskell-build-system)
11784 (arguments
11785 `(#:phases
11786 (modify-phases %standard-phases
11787 (add-before 'configure 'strip-test-framework-constraints
11788 (lambda _
11789 (substitute* "zlib.cabal"
11790 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
11791 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
11792 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11793 (inputs `(("zlib" ,zlib)))
11794 (native-inputs
11795 `(("ghc-quickcheck" ,ghc-quickcheck)
11796 ("ghc-tasty" ,ghc-tasty)
11797 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11798 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11799 (home-page "https://hackage.haskell.org/package/zlib")
11800 (synopsis
11801 "Compression and decompression in the gzip and zlib formats")
11802 (description
11803 "This package provides a pure interface for compressing and decompressing
11804streams of data represented as lazy @code{ByteString}s. It uses the zlib C
11805library so it has high performance. It supports the @code{zlib}, @code{gzip}
11806and @code{raw} compression formats. It provides a convenient high level API
11807suitable for most tasks and for the few cases where more control is needed it
11808provides access to the full zlib feature set.")
bbf8bf31 11809 (license license:bsd-3)))
14e41996
RV
11810
11811(define-public ghc-zlib-bindings
11812 (package
11813 (name "ghc-zlib-bindings")
11814 (version "0.1.1.5")
11815 (source
11816 (origin
11817 (method url-fetch)
11818 (uri (string-append "https://hackage.haskell.org/package/"
11819 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
11820 (sha256
11821 (base32
11822 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
11823 (build-system haskell-build-system)
11824 (inputs
11825 `(("ghc-zlib" ,ghc-zlib)))
11826 (native-inputs
11827 `(("ghc-hspec" ,ghc-hspec)
11828 ("ghc-quickcheck" ,ghc-quickcheck)))
11829 (arguments
11830 `(#:cabal-revision
11831 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
11832 (home-page "https://github.com/snapframework/zlib-bindings")
11833 (synopsis "Low-level bindings to the @code{zlib} package")
11834 (description "This package provides low-level bindings to the
11835@code{zlib} package.")
11836 (license license:bsd-3)))