gnu: Add scroll.
[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
52915062
EF
6756(define-public ghc-ncurses
6757 (package
6758 (name "ghc-ncurses")
6759 (version "0.2.16")
6760 (source
6761 (origin
6762 (method url-fetch)
6763 (uri (string-append
6764 "https://hackage.haskell.org/package/ncurses/ncurses-"
6765 version ".tar.gz"))
6766 (sha256
6767 (base32
6768 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
6769 (build-system haskell-build-system)
6770 (arguments
6771 '(#:phases
6772 (modify-phases %standard-phases
6773 (add-before 'build 'fix-includes
6774 (lambda _
6775 (substitute* '("cbits/hsncurses-shim.h"
6776 "lib/UI/NCurses.chs"
6777 "lib/UI/NCurses/Enums.chs"
6778 "lib/UI/NCurses/Panel.chs")
6779 (("<ncursesw/") "<"))
6780 #t)))
6781 #:cabal-revision
6782 ("1"
6783 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
6784 (inputs `(("ncurses" ,ncurses)))
6785 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
6786 (home-page "https://john-millikin.com/software/haskell-ncurses/")
6787 (synopsis "Modernised bindings to GNU ncurses")
6788 (description "GNU ncurses is a library for creating command-line application
6789with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
6790ncurses.")
6791 (license license:gpl3)))
6792
dddbc90c
RV
6793(define-public ghc-network
6794 (package
6795 (name "ghc-network")
6796 (version "2.6.3.6")
6797 (outputs '("out" "doc"))
6798 (source
6799 (origin
6800 (method url-fetch)
6801 (uri (string-append
6802 "https://hackage.haskell.org/package/network/network-"
6803 version
6804 ".tar.gz"))
6805 (sha256
6806 (base32
6807 "198mam7ahny48p9fajznbqq16a8ya2gw0xm3gnm1si1rmc4hdplv"))))
6808 (build-system haskell-build-system)
6809 ;; The regression tests depend on an unpublished module.
6810 (arguments `(#:tests? #f))
6811 (native-inputs
6812 `(("ghc-hunit" ,ghc-hunit)
6813 ("ghc-doctest" ,ghc-doctest)
6814 ("ghc-test-framework" ,ghc-test-framework)
6815 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6816 (home-page "https://github.com/haskell/network")
6817 (synopsis "Low-level networking interface")
6818 (description
6819 "This package provides a low-level networking interface.")
6820 (license license:bsd-3)))
4780db2c
EB
6821
6822;;; Until we update our default GHC to >=8.6 we cannot update our ghc-network
6823;;; package, since the 'cabal-install' package that supports the current
6824;;; 'Cabal' module requires 'network==2.6.*'. Here we provide an updated
6825;;; version to be used for our idris package.
6826(define-public ghc-network-2.8
6827 (hidden-package
6828 (package
6829 (inherit ghc-network)
6830 (version "2.8.0.1")
6831 (source
6832 (origin
6833 (method url-fetch)
6834 (uri (string-append "https://hackage.haskell.org/package/network/"
6835 "network-" version ".tar.gz"))
6836 (sha256
6837 (base32
6838 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1")))))))
dddbc90c
RV
6839
6840(define-public ghc-network-info
6841 (package
6842 (name "ghc-network-info")
6843 (version "0.2.0.10")
6844 (source
6845 (origin
6846 (method url-fetch)
6847 (uri (string-append "https://hackage.haskell.org/package/"
6848 "network-info-" version "/"
6849 "network-info-" version ".tar.gz"))
6850 (sha256
6851 (base32
6852 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
6853 (build-system haskell-build-system)
6854 (home-page "https://github.com/jystic/network-info")
6855 (synopsis "Access the local computer's basic network configuration")
6856 (description "This Haskell library provides simple read-only access to the
6857local computer's networking configuration. It is currently capable of
6858getting a list of all the network interfaces and their respective
6859IPv4, IPv6 and MAC addresses.")
6860 (license license:bsd-3)))
6861
6862(define-public ghc-network-uri
6863 (package
6864 (name "ghc-network-uri")
6865 (version "2.6.1.0")
6866 (outputs '("out" "doc"))
6867 (source
6868 (origin
6869 (method url-fetch)
6870 (uri (string-append
6871 "https://hackage.haskell.org/package/network-uri/network-uri-"
6872 version
6873 ".tar.gz"))
6874 (sha256
6875 (base32
6876 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
6877 (build-system haskell-build-system)
6878 (arguments
6879 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
6880 (inputs
6881 `(("ghc-network" ,ghc-network)))
6882 (native-inputs
6883 `(("ghc-hunit" ,ghc-hunit)))
6884 (home-page
6885 "https://github.com/haskell/network-uri")
6886 (synopsis "Library for URI manipulation")
6887 (description "This package provides an URI manipulation interface. In
6888@code{network-2.6} the @code{Network.URI} module was split off from the
6889@code{network} package into this package.")
6890 (license license:bsd-3)))
6891
6892(define-public ghc-newtype-generics
6893 (package
6894 (name "ghc-newtype-generics")
6895 (version "0.5.3")
6896 (source
6897 (origin
6898 (method url-fetch)
6899 (uri (string-append "https://hackage.haskell.org/package/"
6900 "newtype-generics/newtype-generics-"
6901 version ".tar.gz"))
6902 (sha256
6903 (base32
6904 "0igyisw2djg19v9vkna1rwf47k97mvkvk4bbkmswznvbm00z15gj"))))
6905 (build-system haskell-build-system)
6906 (native-inputs
6907 `(("ghc-hspec" ,ghc-hspec)
6908 ("hspec-discover" ,hspec-discover)))
6909 (home-page "http://github.com/sjakobi/newtype-generics")
6910 (synopsis "Typeclass and set of functions for working with newtypes")
6911 (description "The @code{Newtype} typeclass represents the packing and
6912unpacking of a newtype, and allows you to operate under that newtype with
6913functions such as @code{ala}. Generics support was added in version 0.4,
6914making this package a full replacement for the original newtype package,
6915and an alternative to newtype-th.")
6916 (license license:bsd-3)))
6917
6b652f5a
JS
6918(define-public ghc-non-negative
6919 (package
6920 (name "ghc-non-negative")
6921 (version "0.1.2")
6922 (source
6923 (origin
6924 (method url-fetch)
6925 (uri
6926 (string-append
6927 "https://hackage.haskell.org/package/non-negative/non-negative-"
6928 version ".tar.gz"))
6929 (sha256
6930 (base32
6931 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
6932 (build-system haskell-build-system)
6933 (inputs
6934 `(("ghc-semigroups" ,ghc-semigroups)
6935 ("ghc-utility-ht" ,ghc-utility-ht)
6936 ("ghc-quickcheck" ,ghc-quickcheck)))
6937 (home-page "https://hackage.haskell.org/package/non-negative")
6938 (synopsis "Non-negative numbers class")
6939 (description "This library provides a class for non-negative numbers,
6940a wrapper which can turn any ordered numeric type into a member of that
6941class, and a lazy number type for non-negative numbers (a generalization
6942of Peano numbers).")
6943 (license license:gpl3+)))
6944
dddbc90c
RV
6945(define-public ghc-objectname
6946 (package
6947 (name "ghc-objectname")
6948 (version "1.1.0.1")
6949 (source
6950 (origin
6951 (method url-fetch)
6952 (uri (string-append
6953 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
6954 version
6955 ".tar.gz"))
6956 (sha256
6957 (base32
6958 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
6959 (build-system haskell-build-system)
6960 (home-page "https://hackage.haskell.org/package/ObjectName")
6961 (synopsis "Helper library for Haskell OpenGL")
6962 (description "This tiny package contains the class ObjectName, which
6963corresponds to the general notion of explicitly handled identifiers for API
6964objects, e.g. a texture object name in OpenGL or a buffer object name in
6965OpenAL.")
6966 (license license:bsd-3)))
6967
6968(define-public ghc-old-locale
6969 (package
6970 (name "ghc-old-locale")
6971 (version "1.0.0.7")
6972 (source
6973 (origin
6974 (method url-fetch)
6975 (uri (string-append
6976 "https://hackage.haskell.org/package/old-locale/old-locale-"
6977 version
6978 ".tar.gz"))
6979 (sha256
6980 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
6981 (build-system haskell-build-system)
6982 (arguments
6983 `(#:cabal-revision
6984 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
6985 (home-page "https://hackage.haskell.org/package/old-locale")
6986 (synopsis "Adapt to locale conventions")
6987 (description
6988 "This package provides the ability to adapt to locale conventions such as
6989date and time formats.")
6990 (license license:bsd-3)))
6991
6992(define-public ghc-old-time
6993 (package
6994 (name "ghc-old-time")
6995 (version "1.1.0.3")
6996 (source
6997 (origin
6998 (method url-fetch)
6999 (uri (string-append
7000 "https://hackage.haskell.org/package/old-time/old-time-"
7001 version
7002 ".tar.gz"))
7003 (sha256
7004 (base32
7005 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7006 (build-system haskell-build-system)
7007 (arguments
7008 `(#:cabal-revision
7009 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7010 (inputs
7011 `(("ghc-old-locale" ,ghc-old-locale)))
7012 (home-page "https://hackage.haskell.org/package/old-time")
7013 (synopsis "Time compatibility library for Haskell")
7014 (description "Old-time is a package for backwards compatibility with the
7015old @code{time} library. For new projects, the newer
7016@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7017 (license license:bsd-3)))
7018
7019(define-public ghc-opengl
7020 (package
7021 (name "ghc-opengl")
7022 (version "3.0.2.2")
7023 (source
7024 (origin
7025 (method url-fetch)
7026 (uri (string-append
7027 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7028 version
7029 ".tar.gz"))
7030 (sha256
7031 (base32
7032 "19vxwvx2n8zq2klj176l25n2b64ybp0b8mhm4p46gvpcivz41fjc"))))
7033 (build-system haskell-build-system)
7034 (inputs
7035 `(("ghc-objectname" ,ghc-objectname)
7036 ("ghc-gluraw" ,ghc-gluraw)
7037 ("ghc-statevar" ,ghc-statevar)
7038 ("ghc-openglraw" ,ghc-openglraw)))
7039 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7040 (synopsis "Haskell bindings for the OpenGL graphics system")
7041 (description "This package provides Haskell bindings for the OpenGL
7042graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7043version 1.3).")
7044 (license license:bsd-3)))
7045
7046(define-public ghc-openglraw
7047 (package
7048 (name "ghc-openglraw")
7049 (version "3.3.1.0")
7050 (source
7051 (origin
7052 (method url-fetch)
7053 (uri (string-append
7054 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7055 version
7056 ".tar.gz"))
7057 (sha256
7058 (base32
7059 "1x8w3x308jldj2c1xqcq3a3sc2jc06pdpgqkgjsmixi1skv4a1vb"))))
7060 (build-system haskell-build-system)
7061 (inputs
7062 `(("ghc-half" ,ghc-half)
7063 ("ghc-fixed" ,ghc-fixed)
7064 ("glu" ,glu)))
7065 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7066 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7067 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7068graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7069of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7070offers access to all necessary functions, tokens and types plus a general
7071facility for loading extension entries. The module hierarchy closely mirrors
7072the naming structure of the OpenGL extensions, making it easy to find the
7073right module to import. All API entries are loaded dynamically, so no special
7074C header files are needed for building this package. If an API entry is not
7075found at runtime, a userError is thrown.")
7076 (license license:bsd-3)))
7077
7078(define-public ghc-operational
7079 (package
7080 (name "ghc-operational")
7081 (version "0.2.3.5")
7082 (source
7083 (origin
7084 (method url-fetch)
7085 (uri (string-append "https://hackage.haskell.org/package/operational/"
7086 "operational-" version ".tar.gz"))
7087 (sha256
7088 (base32
7089 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7090 (build-system haskell-build-system)
7091 (inputs
7092 `(("ghc-random" ,ghc-random)))
7093 (home-page "http://wiki.haskell.org/Operational")
7094 (synopsis "Implementation of difficult monads made easy with operational semantics")
7095 (description
7096 "This library makes it easy to implement monads with tricky control
7097flow. This is useful for: writing web applications in a sequential style,
7098programming games with a uniform interface for human and AI players and easy
7099replay capababilities, implementing fast parser monads, designing monadic
7100DSLs, etc.")
7101 (license license:bsd-3)))
7102
7103(define-public ghc-options
7104 (package
7105 (name "ghc-options")
7106 (version "1.2.1.1")
7107 (source
7108 (origin
7109 (method url-fetch)
7110 (uri (string-append
7111 "https://hackage.haskell.org/package/options/options-"
7112 version ".tar.gz"))
7113 (sha256
7114 (base32
7115 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7116 (build-system haskell-build-system)
7117 (inputs
7118 `(("ghc-monads-tf" ,ghc-monads-tf)
7119 ("ghc-chell" ,ghc-chell)
7120 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7121 (home-page "https://john-millikin.com/software/haskell-options/")
7122 (synopsis "Powerful and easy-to-use command-line option parser")
7123 (description
7124 "The @code{options} package lets library and application developers
7125easily work with command-line options.")
7126 (license license:expat)))
7127
7128;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7129(define ghc-options-bootstrap
7130 (package
7131 (name "ghc-options-bootstrap")
7132 (version "1.2.1.1")
7133 (source
7134 (origin
7135 (method url-fetch)
7136 (uri (string-append
7137 "https://hackage.haskell.org/package/options/options-"
7138 version ".tar.gz"))
7139 (sha256
7140 (base32
7141 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7142 (build-system haskell-build-system)
7143 (arguments
7144 `(#:tests? #f))
7145 (inputs
7146 `(("ghc-monads-tf" ,ghc-monads-tf)))
7147 (home-page "https://john-millikin.com/software/haskell-options/")
7148 (synopsis "Powerful and easy-to-use command-line option parser")
7149 (description
7150 "The @code{options} package lets library and application developers
7151easily work with command-line options.")
7152 (license license:expat)))
7153
7154
7155(define-public ghc-optparse-applicative
7156 (package
7157 (name "ghc-optparse-applicative")
7158 (version "0.14.2.0")
7159 (source
7160 (origin
7161 (method url-fetch)
7162 (uri (string-append
7163 "https://hackage.haskell.org/package/optparse-applicative"
7164 "/optparse-applicative-" version ".tar.gz"))
7165 (sha256
7166 (base32
7167 "0c3z1mvynlyv1garjbdmdd3npm40dabgm75js4r07cf766c1wd71"))))
7168 (build-system haskell-build-system)
7169 (inputs
7170 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7171 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7172 (native-inputs
7173 `(("ghc-quickcheck" ,ghc-quickcheck)))
7174 (home-page "https://github.com/pcapriotti/optparse-applicative")
7175 (synopsis "Utilities and combinators for parsing command line options")
7176 (description "This package provides utilities and combinators for parsing
7177command line options in Haskell.")
7178 (license license:bsd-3)))
7179
7180(define-public ghc-pandoc
7181 (package
7182 (name "ghc-pandoc")
7183 (version "2.2.1")
7184 (source
7185 (origin
7186 (method url-fetch)
7187 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7188 version ".tar.gz"))
7189 (sha256
7190 (base32
7191 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
7192 (build-system haskell-build-system)
7193 (arguments
7194 `(#:phases
7195 (modify-phases %standard-phases
7196 (add-before 'configure 'update-constraints
7197 (lambda _
7198 (substitute* "pandoc.cabal"
7199 (("tasty >= 0\\.11 && < 1\\.1")
7200 "tasty >= 0.11 && < 1.1.1"))))
7201 (add-before 'configure 'patch-tests
7202 (lambda _
7203 ;; These tests fail benignly and have been adjusted upstream:
7204 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
7205 (substitute* "test/Tests/Old.hs"
7206 (("lhsWriterTests \"html\"") "[]")))))))
7207 (inputs
7208 `(("ghc-aeson" ,ghc-aeson)
7209 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7210 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7211 ("ghc-blaze-html" ,ghc-blaze-html)
7212 ("ghc-blaze-markup" ,ghc-blaze-markup)
7213 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7214 ("ghc-data-default" ,ghc-data-default)
7215 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7216 ("ghc-diff" ,ghc-diff)
7217 ("ghc-doctemplates" ,ghc-doctemplates)
7218 ("ghc-executable-path" ,ghc-executable-path)
7219 ("ghc-glob" ,ghc-glob)
7220 ("ghc-haddock-library" ,ghc-haddock-library)
7221 ("ghc-hslua" ,ghc-hslua)
7222 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7223 ("ghc-http" ,ghc-http)
7224 ("ghc-http-client" ,ghc-http-client)
7225 ("ghc-http-client-tls" ,ghc-http-client-tls)
7226 ("ghc-http-types" ,ghc-http-types)
7227 ("ghc-juicypixels" ,ghc-juicypixels)
7228 ("ghc-network" ,ghc-network)
7229 ("ghc-network-uri" ,ghc-network-uri)
7230 ("ghc-old-locale" ,ghc-old-locale)
7231 ("ghc-pandoc-types" ,ghc-pandoc-types)
7232 ("ghc-random" ,ghc-random)
7233 ("ghc-scientific" ,ghc-scientific)
7234 ("ghc-sha" ,ghc-sha)
7235 ("ghc-skylighting" ,ghc-skylighting)
7236 ("ghc-split" ,ghc-split)
7237 ("ghc-syb" ,ghc-syb)
7238 ("ghc-tagsoup" ,ghc-tagsoup)
7239 ("ghc-temporary" ,ghc-temporary)
7240 ("ghc-texmath" ,ghc-texmath)
7241 ("ghc-unordered-containers" ,ghc-unordered-containers)
7242 ("ghc-vector" ,ghc-vector)
7243 ("ghc-xml" ,ghc-xml)
7244 ("ghc-yaml" ,ghc-yaml)
7245 ("ghc-zip-archive" ,ghc-zip-archive)
7246 ("ghc-zlib" ,ghc-zlib)))
7247 (native-inputs
7248 `(("ghc-tasty" ,ghc-tasty)
7249 ("ghc-tasty-golden" ,ghc-tasty-golden)
7250 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7251 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7252 ("ghc-quickcheck" ,ghc-quickcheck)
7253 ("ghc-hunit" ,ghc-hunit)))
7254 (home-page "https://pandoc.org")
7255 (synopsis "Conversion between markup formats")
7256 (description
7257 "Pandoc is a Haskell library for converting from one markup format to
7258another, and a command-line tool that uses this library. It can read and
7259write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7260LaTeX, DocBook, and many more.
7261
7262Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7263definition lists, tables, and other features. A compatibility mode is
7264provided for those who need a drop-in replacement for Markdown.pl.")
7265 (license license:gpl2+)))
7266
7267(define-public ghc-pandoc-citeproc
7268 (package
7269 (name "ghc-pandoc-citeproc")
7270 (version "0.14.3.1")
7271 (source
7272 (origin
7273 (method url-fetch)
7274 (uri (string-append "https://hackage.haskell.org/package/"
7275 "pandoc-citeproc/pandoc-citeproc-"
7276 version ".tar.gz"))
7277 (sha256
7278 (base32
7279 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7280 (build-system haskell-build-system)
7281 (arguments
7282 `(#:phases
7283 (modify-phases %standard-phases
7284 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7285 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7286 (add-before 'configure 'patch-tests
7287 (lambda _
7288 (substitute* "tests/test-pandoc-citeproc.hs"
7289 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7290 "let allTests = citeprocTests"))))
7291 ;; Tests need to be run after installation.
7292 (delete 'check)
7293 (add-after 'install 'post-install-check
7294 (assoc-ref %standard-phases 'check)))))
7295 (inputs
7296 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7297 ("ghc-pandoc" ,ghc-pandoc)
7298 ("ghc-tagsoup" ,ghc-tagsoup)
7299 ("ghc-aeson" ,ghc-aeson)
7300 ("ghc-vector" ,ghc-vector)
7301 ("ghc-xml-conduit" ,ghc-xml-conduit)
7302 ("ghc-unordered-containers" ,ghc-unordered-containers)
7303 ("ghc-data-default" ,ghc-data-default)
7304 ("ghc-setenv" ,ghc-setenv)
7305 ("ghc-split" ,ghc-split)
7306 ("ghc-yaml" ,ghc-yaml)
7307 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7308 ("ghc-rfc5051" ,ghc-rfc5051)
7309 ("ghc-syb" ,ghc-syb)
7310 ("ghc-old-locale" ,ghc-old-locale)
7311 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7312 ("ghc-attoparsec" ,ghc-attoparsec)
7313 ("ghc-temporary" ,ghc-temporary)))
7314 (home-page "https://github.com/jgm/pandoc-citeproc")
7315 (synopsis "Library for using pandoc with citeproc")
7316 (description
7317 "The @code{pandoc-citeproc} library exports functions for using the
7318citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7319rendering bibliographic reference citations into a variety of styles using a
7320macro language called @dfn{Citation Style Language} (CSL). This package also
7321contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7322and also has a mode for converting bibliographic databases a YAML format
7323suitable for inclusion in pandoc YAML metadata.")
7324 (license license:bsd-3)))
7325
7326(define-public ghc-pandoc-types
7327 (package
7328 (name "ghc-pandoc-types")
7329 (version "1.17.5.1")
7330 (source (origin
7331 (method url-fetch)
7332 (uri (string-append "https://hackage.haskell.org/package/"
7333 "pandoc-types/pandoc-types-"
7334 version ".tar.gz"))
7335 (sha256
7336 (base32
7337 "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
7338 (build-system haskell-build-system)
7339 (inputs
7340 `(("ghc-syb" ,ghc-syb)
7341 ("ghc-aeson" ,ghc-aeson)
7342 ("ghc-string-qq" ,ghc-string-qq)))
7343 (native-inputs
7344 `(("ghc-quickcheck" ,ghc-quickcheck)
7345 ("ghc-test-framework" ,ghc-test-framework)
7346 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7347 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7348 ("ghc-hunit" ,ghc-hunit)))
7349 (home-page "http://johnmacfarlane.net/pandoc")
7350 (synopsis "Types for representing a structured document")
7351 (description
7352 "This module defines the @code{Pandoc} data structure, which is used by
7353pandoc to represent structured documents. It also provides functions for
7354building up, manipulating and serialising @code{Pandoc} structures.")
7355 (license license:bsd-3)))
7356
7357(define-public ghc-parallel
7358 (package
7359 (name "ghc-parallel")
7360 (version "3.2.2.0")
7361 (outputs '("out" "doc"))
7362 (source
7363 (origin
7364 (method url-fetch)
7365 (uri (string-append
7366 "https://hackage.haskell.org/package/parallel/parallel-"
7367 version
7368 ".tar.gz"))
7369 (sha256
7370 (base32
7371 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7372 (build-system haskell-build-system)
7373 (home-page "https://hackage.haskell.org/package/parallel")
7374 (synopsis "Parallel programming library")
7375 (description
7376 "This package provides a library for parallel programming.")
7377 (license license:bsd-3)))
7378
7379(define-public ghc-parsec-numbers
7380 (package
7381 (name "ghc-parsec-numbers")
7382 (version "0.1.0")
7383 (source
7384 (origin
7385 (method url-fetch)
7386 (uri (string-append "https://hackage.haskell.org/package/"
7387 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7388 (sha256
7389 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7390 (build-system haskell-build-system)
7391 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7392 (synopsis "Utilities for parsing numbers from strings")
7393 (description
7394 "This package provides the number parsers without the need to use a large
7395(and unportable) token parser.")
7396 (license license:bsd-3)))
7397
7398(define-public ghc-parser-combinators
7399 (package
7400 (name "ghc-parser-combinators")
7401 (version "1.0.0")
7402 (source
7403 (origin
7404 (method url-fetch)
7405 (uri (string-append "https://hackage.haskell.org/package/"
7406 "parser-combinators/parser-combinators-"
7407 version ".tar.gz"))
7408 (sha256
7409 (base32
7410 "1pwfdsklqwvaynwpdzmx1bs35mp6dpsyaqdnzxnqcrxwf5h8sk75"))))
7411 (build-system haskell-build-system)
7412 (home-page "https://github.com/mrkkrp/parser-combinators")
7413 (synopsis "Commonly useful parser combinators")
7414 (description
7415 "This is a lightweight package providing commonly useful parser
7416combinators.")
7417 (license license:bsd-3)))
7418
7419(define-public ghc-parsers
7420 (package
7421 (name "ghc-parsers")
7422 (version "0.12.9")
7423 (source
7424 (origin
7425 (method url-fetch)
7426 (uri (string-append
7427 "https://hackage.haskell.org/package/parsers/parsers-"
7428 version
7429 ".tar.gz"))
7430 (sha256
7431 (base32
7432 "1r05sc1mcglk8w596kq9a1brfn9c2vll8lq16j07ln0vsz4jzrc1"))))
7433 (build-system haskell-build-system)
7434 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7435 ; -package attoparsec-0.13.0.1"
7436 (inputs
7437 `(("ghc-base-orphans" ,ghc-base-orphans)
7438 ("ghc-attoparsec" ,ghc-attoparsec)
7439 ("ghc-scientific" ,ghc-scientific)
7440 ("ghc-charset" ,ghc-charset)
7441 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7442 (home-page "https://github.com/ekmett/parsers/")
7443 (synopsis "Parsing combinators")
7444 (description "This library provides convenient combinators for working
7445with and building parsing combinator libraries. Given a few simple instances,
7446you get access to a large number of canned definitions. Instances exist for
7447the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7448@code{Text.Read}.")
7449 (license license:bsd-3)))
7450
7451(define-public ghc-path
7452 (package
7453 (name "ghc-path")
7454 (version "0.6.1")
7455 (source
7456 (origin
7457 (method url-fetch)
7458 (uri (string-append
7459 "https://hackage.haskell.org/package/path/path-"
7460 version
7461 ".tar.gz"))
7462 (sha256
7463 (base32
7464 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7465 (build-system haskell-build-system)
7466 (arguments
7467 ;; TODO: There are some Windows-related tests and modules that need to be
7468 ;; danced around.
7469 `(#:tests? #f
7470 #:cabal-revision
7471 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7472 (inputs
7473 `(("ghc-aeson" ,ghc-aeson)
7474 ("ghc-exceptions" ,ghc-exceptions)
7475 ("ghc-hashable" ,ghc-hashable)))
7476 (native-inputs
7477 `(("ghc-hspec" ,ghc-hspec)
7478 ("ghc-quickcheck" ,ghc-quickcheck)
7479 ("ghc-genvalidity" ,ghc-genvalidity)
7480 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7481 ("ghc-hspec" ,ghc-hspec)
7482 ("ghc-validity" ,ghc-validity)))
7483 (home-page
7484 "http://hackage.haskell.org/package/path")
7485 (synopsis "Support for well-typed paths")
7486 (description "This package introduces a type for paths upholding useful
7487invariants.")
7488 (license license:bsd-3)))
7489
7490(define-public ghc-path-io
7491 (package
7492 (name "ghc-path-io")
7493 (version "1.3.3")
7494 (source
7495 (origin
7496 (method url-fetch)
7497 (uri (string-append
7498 "https://hackage.haskell.org/package/path-io/path-io-"
7499 version
7500 ".tar.gz"))
7501 (sha256
7502 (base32
7503 "1g9m3qliqjk1img894wsb89diym5zrq51qkkrwhz4sbm9a8hbv1a"))))
7504 (build-system haskell-build-system)
7505 (inputs
7506 `(("ghc-dlist" ,ghc-dlist)
7507 ("ghc-exceptions" ,ghc-exceptions)
7508 ("ghc-path" ,ghc-path)
7509 ("ghc-transformers-base" ,ghc-transformers-base)
7510 ("ghc-unix-compat" ,ghc-unix-compat)
7511 ("ghc-temporary" ,ghc-temporary)))
7512 (native-inputs
7513 `(("ghc-hspec" ,ghc-hspec)))
7514 (arguments
7515 `(#:cabal-revision
7516 ("3" "1h9hsibbflkxpjl2fqamqiv3x3gasf51apnmklrs9l9x8r32hzcc")))
7517 (home-page
7518 "https://github.com/mrkkrp/path-io")
7519 (synopsis "Functions for manipulating well-typed paths")
7520 (description "This package provides an interface to the @code{directory}
7521package for users of @code{path}. It also implements some missing stuff like
7522recursive scanning and copying of directories, working with temporary
7523files/directories, and more.")
7524 (license license:bsd-3)))
7525
7526(define-public ghc-paths
7527 (package
7528 (name "ghc-paths")
7529 (version "0.1.0.9")
7530 (outputs '("out" "doc"))
7531 (source
7532 (origin
7533 (method url-fetch)
7534 (uri (string-append
7535 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7536 version
7537 ".tar.gz"))
7538 (sha256
7539 (base32
7540 "0ibrr1dxa35xx20cpp8jzgfak1rdmy344dfwq4vlq013c6w8z9mg"))))
7541 (build-system haskell-build-system)
7542 (home-page "https://github.com/simonmar/ghc-paths")
7543 (synopsis
7544 "Knowledge of GHC's installation directories")
7545 (description
7546 "Knowledge of GHC's installation directories.")
7547 (license license:bsd-3)))
7548
7549(define-public ghc-patience
7550 (package
7551 (name "ghc-patience")
7552 (version "0.1.1")
7553 (source
7554 (origin
7555 (method url-fetch)
7556 (uri (string-append
7557 "https://hackage.haskell.org/package/patience/patience-"
7558 version ".tar.gz"))
7559 (sha256
7560 (base32
7561 "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"))))
7562 (build-system haskell-build-system)
7563 (home-page "https://hackage.haskell.org/package/patience")
7564 (synopsis "Patience diff and longest increasing subsequence")
7565 (description
7566 "This library implements the 'patience diff' algorithm, as well as the
7567patience algorithm for the longest increasing subsequence problem.
7568Patience diff computes the difference between two lists, for example the lines
7569of two versions of a source file. It provides a good balance between
7570performance, nice output for humans, and simplicity of implementation.")
7571 (license license:bsd-3)))
7572
7573(define-public ghc-pcre-light
7574 (package
7575 (name "ghc-pcre-light")
7576 (version "0.4.0.4")
7577 (source
7578 (origin
7579 (method url-fetch)
7580 (uri (string-append
7581 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7582 version
7583 ".tar.gz"))
7584 (sha256
7585 (base32
7586 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7587 (build-system haskell-build-system)
7588 (inputs
7589 `(("pcre" ,pcre)))
7590 (native-inputs
7591 `(("pkg-config" ,pkg-config)))
7592 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7593 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7594 (description "This package provides a small, efficient, and portable regex
7595library for Perl 5 compatible regular expressions. The PCRE library is a set
7596of functions that implement regular expression pattern matching using the same
7597syntax and semantics as Perl 5.")
7598 (license license:bsd-3)))
7599
7600(define-public ghc-persistent
7601 (package
7602 (name "ghc-persistent")
7603 (version "2.8.2")
7604 (source
7605 (origin
7606 (method url-fetch)
7607 (uri (string-append "https://hackage.haskell.org/package/"
7608 "persistent-" version "/"
7609 "persistent-" version ".tar.gz"))
7610 (sha256
7611 (base32
7612 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
7613 (build-system haskell-build-system)
7614 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7615 ("ghc-conduit" ,ghc-conduit)
7616 ("ghc-resourcet" ,ghc-resourcet)
7617 ("ghc-exceptions" ,ghc-exceptions)
7618 ("ghc-monad-control" ,ghc-monad-control)
7619 ("ghc-lifted-base" ,ghc-lifted-base)
7620 ("ghc-resource-pool" ,ghc-resource-pool)
7621 ("ghc-path-pieces" ,ghc-path-pieces)
7622 ("ghc-http-api-data" ,ghc-http-api-data)
7623 ("ghc-aeson" ,ghc-aeson)
7624 ("ghc-monad-logger" ,ghc-monad-logger)
7625 ("ghc-transformers-base" ,ghc-transformers-base)
7626 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7627 ("ghc-unordered-containers" ,ghc-unordered-containers)
7628 ("ghc-vector" ,ghc-vector)
7629 ("ghc-attoparsec" ,ghc-attoparsec)
7630 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7631 ("ghc-blaze-html" ,ghc-blaze-html)
7632 ("ghc-blaze-markup" ,ghc-blaze-markup)
7633 ("ghc-silently" ,ghc-silently)
7634 ("ghc-fast-logger" ,ghc-fast-logger)
7635 ("ghc-scientific" ,ghc-scientific)
7636 ("ghc-tagged" ,ghc-tagged)
7637 ("ghc-void" ,ghc-void)))
7638 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7639 (home-page "https://www.yesodweb.com/book/persistent")
7640 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7641 (description "This Haskell package allows Haskell programs to access data
7642storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7643way.")
7644 (license license:expat)))
7645
7646(define-public ghc-persistent-sqlite
7647 (package
7648 (name "ghc-persistent-sqlite")
7649 (version "2.8.2")
7650 (source
7651 (origin
7652 (method url-fetch)
7653 (uri (string-append "https://hackage.haskell.org/package/"
7654 "persistent-sqlite-" version "/"
7655 "persistent-sqlite-" version ".tar.gz"))
7656 (sha256
7657 (base32
7658 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7659 (build-system haskell-build-system)
7660 (inputs `(("ghc-persistent" ,ghc-persistent)
7661 ("ghc-unliftio-core" ,ghc-unliftio-core)
7662 ("ghc-aeson" ,ghc-aeson)
7663 ("ghc-conduit" ,ghc-conduit)
7664 ("ghc-monad-logger" ,ghc-monad-logger)
7665 ("ghc-microlens-th" ,ghc-microlens-th)
7666 ("ghc-resourcet" ,ghc-resourcet)
7667 ("ghc-old-locale" ,ghc-old-locale)
7668 ("ghc-resource-pool" ,ghc-resource-pool)
7669 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7670 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7671 ("ghc-persistent-template" ,ghc-persistent-template)
7672 ("ghc-temporary" ,ghc-temporary)))
7673 (home-page
7674 "https://www.yesodweb.com/book/persistent")
7675 (synopsis "Backend for the persistent library using sqlite3")
7676 (description "This Haskell package includes a thin sqlite3 wrapper based
7677on the direct-sqlite package, as well as the entire C library, so there are no
7678system dependencies.")
7679 (license license:expat)))
7680
7681(define-public ghc-persistent-template
7682 (package
7683 (name "ghc-persistent-template")
7684 (version "2.5.4")
7685 (source
7686 (origin
7687 (method url-fetch)
7688 (uri (string-append "https://hackage.haskell.org/package/"
7689 "persistent-template-" version "/"
7690 "persistent-template-" version ".tar.gz"))
7691 (sha256
7692 (base32
7693 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7694 (build-system haskell-build-system)
7695 (arguments
7696 `(#:cabal-revision
7697 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7698 (inputs `(("ghc-persistent" ,ghc-persistent)
7699 ("ghc-monad-control" ,ghc-monad-control)
7700 ("ghc-aeson" ,ghc-aeson)
7701 ("ghc-aeson-compat" ,ghc-aeson-compat)
7702 ("ghc-monad-logger" ,ghc-monad-logger)
7703 ("ghc-unordered-containers" ,ghc-unordered-containers)
7704 ("ghc-tagged" ,ghc-tagged)
7705 ("ghc-path-pieces" ,ghc-path-pieces)
7706 ("ghc-http-api-data" ,ghc-http-api-data)))
7707 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7708 ("ghc-quickcheck" ,ghc-quickcheck)))
7709 (home-page "https://www.yesodweb.com/book/persistent")
7710 (synopsis "Type-safe, non-relational, multi-backend persistence")
7711 (description "This Haskell package provides interfaces and helper
7712functions for the ghc-persistent package.")
7713 (license license:expat)))
7714
7715(define-public ghc-polyparse
7716 (package
7717 (name "ghc-polyparse")
7718 (version "1.12")
7719 (source
7720 (origin
7721 (method url-fetch)
7722 (uri (string-append
7723 "https://hackage.haskell.org/package/polyparse/polyparse-"
7724 version
7725 ".tar.gz"))
7726 (sha256
7727 (base32
7728 "05dya1vdvq29hkhkdlsglzhw7bdn51rvs1javs0q75nf99c66k7m"))))
7729 (build-system haskell-build-system)
7730 (home-page
7731 "http://code.haskell.org/~malcolm/polyparse/")
7732 (synopsis
7733 "Alternative parser combinator libraries")
7734 (description
7735 "This package provides a variety of alternative parser combinator
7736libraries, including the original HuttonMeijer set. The Poly sets have
7737features like good error reporting, arbitrary token type, running state, lazy
7738parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7739standard Read class, for better deserialisation of Haskell values from
7740Strings.")
7741 (license license:lgpl2.1)))
7742
7743(define-public ghc-pqueue
7744 (package
7745 (name "ghc-pqueue")
7746 (version "1.4.1.1")
7747 (source
7748 (origin
7749 (method url-fetch)
7750 (uri (string-append "https://hackage.haskell.org/package/"
7751 "pqueue/pqueue-" version ".tar.gz"))
7752 (sha256
7753 (base32
7754 "1zvwm1zcqqq5n101s1brjhgbay8rf9fviq6gxbplf40i63m57p1x"))))
7755 (build-system haskell-build-system)
7756 (native-inputs
7757 `(("ghc-quickcheck" ,ghc-quickcheck)))
7758 (home-page "https://hackage.haskell.org/package/pqueue")
7759 (synopsis "Reliable, persistent, fast priority queues")
7760 (description
7761 "This package provides a fast, reliable priority queue implementation
7762based on a binomial heap.")
7763 (license license:bsd-3)))
7764
7765(define-public ghc-prelude-extras
7766 (package
7767 (name "ghc-prelude-extras")
7768 (version "0.4.0.3")
7769 (source
7770 (origin
7771 (method url-fetch)
7772 (uri (string-append
7773 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7774 version
7775 ".tar.gz"))
7776 (sha256
7777 (base32
7778 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7779 (build-system haskell-build-system)
7780 (home-page "https://github.com/ekmett/prelude-extras")
7781 (synopsis "Higher order versions of Prelude classes")
7782 (description "This library provides higher order versions of
7783@code{Prelude} classes to ease programming with polymorphic recursion and
7784reduce @code{UndecidableInstances}.")
7785 (license license:bsd-3)))
7786
7787(define-public ghc-prettyclass
7788 (package
7789 (name "ghc-prettyclass")
7790 (version "1.0.0.0")
7791 (source
7792 (origin
7793 (method url-fetch)
7794 (uri (string-append "https://hackage.haskell.org/package/"
7795 "prettyclass/prettyclass-" version ".tar.gz"))
7796 (sha256
7797 (base32
7798 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7799 (build-system haskell-build-system)
7800 (home-page "http://hackage.haskell.org/package/prettyclass")
7801 (synopsis "Pretty printing class similar to Show")
7802 (description "This package provides a pretty printing class similar
7803to @code{Show}, based on the HughesPJ pretty printing library. It
7804provides the pretty printing class and instances for the Prelude
7805types.")
7806 (license license:bsd-3)))
7807
7808(define-public ghc-pretty-hex
7809 (package
7810 (name "ghc-pretty-hex")
7811 (version "1.0")
7812 (source
7813 (origin
7814 (method url-fetch)
7815 (uri (string-append "https://hackage.haskell.org/package/"
7816 "pretty-hex-" version "/"
7817 "pretty-hex-" version ".tar.gz"))
7818 (sha256
7819 (base32
7820 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7821 (build-system haskell-build-system)
7822 (home-page "https://github.com/GaloisInc/hexdump")
7823 (synopsis "Haskell library for hex dumps of ByteStrings")
7824 (description "This Haskell library generates pretty hex dumps of
7825ByteStrings in the style of other common *nix hex dump tools.")
7826 (license license:bsd-3)))
7827
7828(define-public ghc-pretty-show
7829 (package
7830 (name "ghc-pretty-show")
7831 (version "1.7")
7832 (source
7833 (origin
7834 (method url-fetch)
7835 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
7836 "pretty-show-" version ".tar.gz"))
7837 (sha256
7838 (base32
7839 "0br7pkxqqqhby2j2v1g847lgqsrasx56g1jw3dhmjh4flzs6warq"))))
7840 (build-system haskell-build-system)
7841 (inputs
7842 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
7843 ("ghc-happy" ,ghc-happy)))
7844 (home-page "http://wiki.github.com/yav/pretty-show")
7845 (synopsis "Tools for working with derived `Show` instances")
7846 (description
7847 "This package provides a library and an executable for working with
7848derived @code{Show} instances. By using the library, derived @code{Show}
7849instances can be parsed into a generic data structure. The @code{ppsh} tool
7850uses the library to produce human-readable versions of @code{Show} instances,
7851which can be quite handy for debugging Haskell programs. We can also render
7852complex generic values into an interactive Html page, for easier
7853examination.")
7854 (license license:expat)))
7855
7856(define-public ghc-primitive
7857 (package
7858 (name "ghc-primitive")
7859 (version "0.6.4.0")
7860 (outputs '("out" "doc"))
7861 (source
7862 (origin
7863 (method url-fetch)
7864 (uri (string-append
7865 "https://hackage.haskell.org/package/primitive/primitive-"
7866 version
7867 ".tar.gz"))
7868 (sha256
7869 (base32
7870 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
7871 (build-system haskell-build-system)
7872 (home-page
7873 "https://github.com/haskell/primitive")
7874 (synopsis "Primitive memory-related operations")
7875 (description
7876 "This package provides various primitive memory-related operations.")
7877 (license license:bsd-3)))
7878
21f5b9a9
JS
7879(define-public ghc-process-extras
7880 (package
7881 (name "ghc-process-extras")
7882 (version "0.7.4")
7883 (source
7884 (origin
7885 (method url-fetch)
7886 (uri
7887 (string-append
7888 "https://hackage.haskell.org/package/process-extras/"
7889 "process-extras-" version ".tar.gz"))
7890 (sha256
7891 (base32
7892 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
7893 (build-system haskell-build-system)
7894 (inputs
7895 `(("ghc-data-default" ,ghc-data-default)
7896 ("ghc-generic-deriving" ,ghc-generic-deriving)
7897 ("ghc-hunit" ,ghc-hunit)
7898 ("ghc-listlike" ,ghc-listlike)))
7899 (home-page "https://github.com/seereason/process-extras")
7900 (synopsis "Extra tools for managing processes")
f74b6983 7901 (description "This package extends
21f5b9a9
JS
7902@url{http://hackage.haskell.org/package/process}. It allows you to read
7903process input and output as ByteStrings or Text, or write your own
7904ProcessOutput instance. It also provides lazy process input and output,
7905and a ProcessMaker class for more flexibility in the process creation
7906API.")
7907 (license license:expat)))
7908
dddbc90c
RV
7909(define-public ghc-profunctors
7910 (package
7911 (name "ghc-profunctors")
7912 (version "5.2.2")
7913 (source
7914 (origin
7915 (method url-fetch)
7916 (uri (string-append
7917 "https://hackage.haskell.org/package/profunctors/profunctors-"
7918 version
7919 ".tar.gz"))
7920 (sha256
7921 (base32
7922 "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9"))))
7923 (build-system haskell-build-system)
7924 (arguments
7925 `(#:cabal-revision
7926 ("2" "1ywlg9z8nlhd2avgb8c6gbkv8zyk7hvc25926bafyg0m0k8y1amq")))
7927 (inputs
7928 `(("ghc-base-orphans" ,ghc-base-orphans)
7929 ("ghc-bifunctors" ,ghc-bifunctors)
7930 ("ghc-comonad" ,ghc-comonad)
7931 ("ghc-contravariant" ,ghc-contravariant)
7932 ("ghc-distributive" ,ghc-distributive)
7933 ("ghc-semigroups" ,ghc-semigroups)
7934 ("ghc-tagged" ,ghc-tagged)))
7935 (home-page "https://github.com/ekmett/profunctors/")
7936 (synopsis "Profunctors for Haskell")
7937 (description "This library provides profunctors for Haskell.")
7938 (license license:bsd-3)))
7939
7940(define-public ghc-psqueues
7941 (package
7942 (name "ghc-psqueues")
7943 (version "0.2.7.0")
7944 (source
7945 (origin
7946 (method url-fetch)
7947 (uri (string-append "https://hackage.haskell.org/package/"
7948 "psqueues-" version "/"
7949 "psqueues-" version ".tar.gz"))
7950 (sha256
7951 (base32
7952 "1sjgc9bxh63kkdp59nbirx3xazr02ia5yhp4f4a0jnq1hj465wsc"))))
7953 (build-system haskell-build-system)
7954 (inputs
7955 `(("ghc-hashable" ,ghc-hashable)))
7956 (native-inputs
7957 `(("ghc-hunit" ,ghc-hunit)
7958 ("ghc-quickcheck" ,ghc-quickcheck)
7959 ("ghc-tagged" ,ghc-tagged)
7960 ("ghc-test-framework" ,ghc-test-framework)
7961 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7962 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7963 (home-page "https://github.com/jaspervdj/psqueues")
7964 (synopsis "Pure priority search queues")
7965 (description "The psqueues package provides
7966@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
7967three different flavors:
7968
7969@itemize
7970@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
7971fast insertion, deletion and lookup. This implementation is based on Ralf
7972Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
7973Implementation Technique for Priority Search Queues}.
7974
7975Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
7976PSQueue} library, although it is considerably faster and provides a slightly
7977different API.
7978
7979@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
7980key type to @code{Int} and uses a
7981@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
7982with an additional min-heap property.
7983
7984@item @code{HashPSQ k p v} is a fairly straightforward extension
7985of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
7986@code{IntPSQ}. If there are any hash collisions, it uses an
7987@code{OrdPSQ} to resolve those. The performance of this implementation
7988is comparable to that of @code{IntPSQ}, but it is more widely
7989applicable since the keys are not restricted to @code{Int},
7990but rather to any @code{Hashable} datatype.
7991@end itemize
7992
7993Each of the three implementations provides the same API, so they can
7994be used interchangeably.
7995
7996Typical applications of Priority Search Queues include:
7997
7998@itemize
7999@item Caches, and more specifically LRU Caches;
8000@item Schedulers;
8001@item Pathfinding algorithms, such as Dijkstra's and A*.
8002@end itemize")
8003 (license license:bsd-3)))
8004
8005(define-public ghc-random
8006 (package
8007 (name "ghc-random")
8008 (version "1.1")
8009 (outputs '("out" "doc"))
8010 (source
8011 (origin
8012 (method url-fetch)
8013 (uri (string-append
8014 "https://hackage.haskell.org/package/random/random-"
8015 version
8016 ".tar.gz"))
8017 (sha256
8018 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8019 (build-system haskell-build-system)
8020 (home-page "https://hackage.haskell.org/package/random")
8021 (synopsis "Random number library")
8022 (description "This package provides a basic random number generation
8023library, including the ability to split random number generators.")
8024 (license license:bsd-3)))
8025
8026(define-public ghc-raw-strings-qq
8027 (package
8028 (name "ghc-raw-strings-qq")
8029 (version "1.1")
8030 (source
8031 (origin
8032 (method url-fetch)
8033 (uri (string-append "https://hackage.haskell.org/package/"
8034 "raw-strings-qq/raw-strings-qq-"
8035 version ".tar.gz"))
8036 (sha256
8037 (base32
8038 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8039 (build-system haskell-build-system)
8040 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8041 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8042 (synopsis "Raw string literals for Haskell")
8043 (description
8044 "This package provides a quasiquoter for raw string literals, i.e. string
8045literals that don't recognise the standard escape sequences. Basically, they
8046make your code more readable by freeing you from the responsibility to escape
8047backslashes. They are useful when working with regular expressions,
8048DOS/Windows paths and markup languages (such as XML).")
8049 (license license:bsd-3)))
8050
8051(define-public ghc-readable
8052 (package
8053 (name "ghc-readable")
8054 (version "0.3.1")
8055 (source
8056 (origin
8057 (method url-fetch)
8058 (uri (string-append "https://hackage.haskell.org/package/"
8059 "readable/readable-" version ".tar.gz"))
8060 (sha256
8061 (base32
8062 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8063 (build-system haskell-build-system)
8064 (home-page "https://github.com/mightybyte/readable")
8065 (synopsis "Type class for reading from Text and ByteString")
8066 (description "This package provides a @code{Readable} type class for
8067reading data types from @code{ByteString} and @code{Text}. It also
8068includes efficient implementations for common data types.")
8069 (license license:bsd-3)))
8070
8071(define-public ghc-rebase
8072 (package
8073 (name "ghc-rebase")
8074 (version "1.2.4")
8075 (source
8076 (origin
8077 (method url-fetch)
8078 (uri (string-append "https://hackage.haskell.org/package/"
8079 "rebase-" version "/"
8080 "rebase-" version ".tar.gz"))
8081 (sha256
8082 (base32
8083 "1gah2qwfpzwamnikbc5h4nv6dgvv9h16di9ka7946za3nibyasya"))))
8084 (build-system haskell-build-system)
8085 (inputs `(("ghc-hashable" ,ghc-hashable)
8086 ("ghc-vector" ,ghc-vector)
8087 ("ghc-unordered-containers" ,ghc-unordered-containers)
8088 ("ghc-scientific" ,ghc-scientific)
8089 ("ghc-uuid" ,ghc-uuid)
8090 ("ghc-dlist" ,ghc-dlist)
8091 ("ghc-void" ,ghc-void)
8092 ("ghc-bifunctors" ,ghc-bifunctors)
8093 ("ghc-profunctors" ,ghc-profunctors)
8094 ("ghc-contravariant" ,ghc-contravariant)
8095 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8096 ("ghc-semigroups" ,ghc-semigroups)
8097 ("ghc-either" ,ghc-either)
8098 ("ghc-fail" ,ghc-fail)
8099 ("ghc-base-prelude" ,ghc-base-prelude)))
8100 (home-page "https://github.com/nikita-volkov/rebase")
8101 (synopsis "Progressive alternative to the base package
8102for Haskell")
8103 (description "This Haskell package is intended for those who are
8104tired of keeping long lists of dependencies to the same essential libraries
8105in each package as well as the endless imports of the same APIs all over again.
8106
8107It also supports the modern tendencies in the language.
8108
8109To solve those problems this package does the following:
8110
8111@itemize
8112@item Reexport the original APIs under the @code{Rebase} namespace.
8113
8114@item Export all the possible non-conflicting symbols from the
8115@code{Rebase.Prelude} module.
8116
8117@item Give priority to the modern practices in the conflicting cases.
8118@end itemize
8119
8120The policy behind the package is only to reexport the non-ambiguous and
8121non-controversial APIs, which the community has obviously settled on.
8122The package is intended to rapidly evolve with the contribution from
8123the community, with the missing features being added with pull-requests.")
8124 (license license:expat)))
8125
8126(define-public ghc-reducers
8127 (package
8128 (name "ghc-reducers")
8129 (version "3.12.3")
8130 (source
8131 (origin
8132 (method url-fetch)
8133 (uri (string-append
8134 "https://hackage.haskell.org/package/reducers/reducers-"
8135 version
8136 ".tar.gz"))
8137 (sha256
8138 (base32
8139 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8140 (build-system haskell-build-system)
8141 (inputs
8142 `(("ghc-fingertree" ,ghc-fingertree)
8143 ("ghc-hashable" ,ghc-hashable)
8144 ("ghc-unordered-containers" ,ghc-unordered-containers)
8145 ("ghc-semigroupoids" ,ghc-semigroupoids)
8146 ("ghc-semigroups" ,ghc-semigroups)))
8147 (home-page "https://github.com/ekmett/reducers/")
8148 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8149 (description "This library provides various semigroups, specialized
8150containers and a general map/reduce framework for Haskell.")
8151 (license license:bsd-3)))
8152
8153(define-public ghc-refact
8154 (package
8155 (name "ghc-refact")
8156 (version "0.3.0.2")
8157 (source
8158 (origin
8159 (method url-fetch)
8160 (uri (string-append "https://hackage.haskell.org/package/"
8161 "refact/refact-"
8162 version ".tar.gz"))
8163 (sha256
8164 (base32
8165 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8166 (build-system haskell-build-system)
8167 (home-page "http://hackage.haskell.org/package/refact")
8168 (synopsis "Specify refactorings to perform with apply-refact")
8169 (description
8170 "This library provides a datatype which can be interpreted by
8171@code{apply-refact}. It exists as a separate library so that applications can
8172specify refactorings without depending on GHC.")
8173 (license license:bsd-3)))
8174
8175(define-public ghc-reflection
8176 (package
8177 (name "ghc-reflection")
8178 (version "2.1.4")
8179 (source
8180 (origin
8181 (method url-fetch)
8182 (uri (string-append
8183 "https://hackage.haskell.org/package/reflection/reflection-"
8184 version
8185 ".tar.gz"))
8186 (sha256
8187 (base32
8188 "0kf4a5ijw6jfnfibjcrpdy9vzh1n6v2pxia8dhyyqdissiwc8bzj"))))
8189 (build-system haskell-build-system)
8190 (inputs `(("ghc-tagged" ,ghc-tagged)))
8191 (home-page "https://github.com/ekmett/reflection")
8192 (synopsis "Reify arbitrary terms into types that can be reflected back
8193into terms")
8194 (description "This package addresses the 'configuration problem' which is
8195propagating configurations that are available at run-time, allowing multiple
8196configurations to coexist without resorting to mutable global variables or
8197@code{System.IO.Unsafe.unsafePerformIO}.")
8198 (license license:bsd-3)))
8199
8200(define-public ghc-regex
8201 (package
8202 (name "ghc-regex")
8203 (version "1.0.1.3")
8204 (source
8205 (origin
8206 (method url-fetch)
8207 (uri (string-append "https://hackage.haskell.org/package/regex/"
8208 "regex-" version ".tar.gz"))
8209 (sha256
8210 (base32
8211 "1sjkpkgv4phy5b5v2lr89x4vx4dh44pj0sbvlsp6n86w9v6v4jwb"))))
8212 (build-system haskell-build-system)
8213 (arguments
8214 `(#:phases
8215 (modify-phases %standard-phases
8216 (add-after 'unpack 'relax-dependencies
8217 (lambda _
8218 (substitute* "regex.cabal"
8219 (("base-compat.*>=.*0.6.*")
8220 "base-compat >= 0.6\n")
8221 (("template-haskell.*>=.*2.7.*")
8222 "template-haskell >= 2.7\n"))
8223 #t)))))
8224 (inputs
8225 `(("ghc-base-compat" ,ghc-base-compat)
8226 ("ghc-hashable" ,ghc-hashable)
8227 ("ghc-regex-base" ,ghc-regex-base)
8228 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8229 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8230 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8231 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8232 ("ghc-unordered-containers" ,ghc-unordered-containers)
8233 ("ghc-utf8-string" ,ghc-utf8-string)))
8234 (home-page "http://regex.uk")
8235 (synopsis "Toolkit for regex-base")
8236 (description
8237 "This package provides a regular expression toolkit for @code{regex-base}
8238with compile-time checking of regular expression syntax, data types for
8239matches and captures, a text replacement toolkit, portable options, high-level
8240AWK-like tools for building text processing apps, regular expression macros
8241with parsers and test bench, comprehensive documentation, tutorials and
8242copious examples.")
8243 (license license:bsd-3)))
8244
8245(define-public ghc-regex-applicative
8246 (package
8247 (name "ghc-regex-applicative")
8248 (version "0.3.3")
8249 (source
8250 (origin
8251 (method url-fetch)
8252 (uri (string-append
8253 "https://hackage.haskell.org/package/regex-applicative/"
8254 "regex-applicative-" version ".tar.gz"))
8255 (sha256
8256 (base32
8257 "1riv7jqf26lbv4rm54sd6mrx8xdh4dvh4xbzymzdfdw13k6a4nb6"))))
8258 (build-system haskell-build-system)
8259 (inputs
8260 `(("ghc-smallcheck" ,ghc-smallcheck)
8261 ("ghc-tasty" ,ghc-tasty)
8262 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8263 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8264 (home-page "https://github.com/feuerbach/regex-applicative")
8265 (synopsis "Regex-based parsing with applicative interface")
8266 (description
8267 "@code{regex-applicative} is a Haskell library for parsing using
8268regular expressions. Parsers can be built using Applicative interface.")
8269 (license license:expat)))
8270
8271(define-public ghc-regex-base
8272 (package
8273 (name "ghc-regex-base")
8274 (version "0.93.2")
8275 (source
8276 (origin
8277 (method url-fetch)
8278 (uri (string-append
8279 "https://hackage.haskell.org/package/regex-base/regex-base-"
8280 version
8281 ".tar.gz"))
8282 (sha256
8283 (base32
8284 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8285 (build-system haskell-build-system)
8286 (home-page
8287 "https://sourceforge.net/projects/lazy-regex")
8288 (synopsis "Replaces/Enhances Text.Regex")
8289 (description "@code{Text.Regex.Base} provides the interface API for
8290regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8291 (license license:bsd-3)))
8292
8293(define-public ghc-regex-compat
8294 (package
8295 (name "ghc-regex-compat")
8296 (version "0.95.1")
8297 (source
8298 (origin
8299 (method url-fetch)
8300 (uri (string-append
8301 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8302 version
8303 ".tar.gz"))
8304 (sha256
8305 (base32
8306 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8307 (build-system haskell-build-system)
8308 (inputs
8309 `(("ghc-regex-base" ,ghc-regex-base)
8310 ("ghc-regex-posix" ,ghc-regex-posix)))
8311 (home-page "https://sourceforge.net/projects/lazy-regex")
8312 (synopsis "Replaces/Enhances Text.Regex")
8313 (description "This library provides one module layer over
8314@code{regex-posix} to replace @code{Text.Regex}.")
8315 (license license:bsd-3)))
8316
8317(define-public ghc-regex-compat-tdfa
8318 (package
8319 (name "ghc-regex-compat-tdfa")
8320 (version "0.95.1.4")
8321 (source
8322 (origin
8323 (method url-fetch)
8324 (uri (string-append
8325 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8326 version ".tar.gz"))
8327 (sha256
8328 (base32
8329 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8330 (build-system haskell-build-system)
8331 (inputs
8332 `(("ghc-regex-base" ,ghc-regex-base)
8333 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8334 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8335 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8336 (description
8337 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8338@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8339This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8340this problem.")
8341 (license license:bsd-3)))
8342
8343(define-public ghc-regex-pcre-builtin
8344 (package
8345 (name "ghc-regex-pcre-builtin")
8346 (version "0.94.4.8.8.35")
8347 (source (origin
8348 (method url-fetch)
8349 (uri (string-append "https://hackage.haskell.org/package/"
8350 "regex-pcre-builtin/regex-pcre-builtin-"
8351 version ".tar.gz"))
8352 (sha256
8353 (base32
8354 "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b"))))
8355 (build-system haskell-build-system)
8356 (inputs
8357 `(("ghc-regex-base" ,ghc-regex-base)))
8358 (home-page "https://hackage.haskell.org/package/regex-pcre")
8359 (synopsis "Enhancement of the builtin Text.Regex library")
8360 (description
8361 "This package is an enhancement of the @code{Text.Regex} library,
8362providing the PCRE backend to accompany regex-base, with bundled code from
8363@url{https://www.pcre.org}.")
8364 (license license:bsd-3)))
8365
8366(define-public ghc-regex-posix
8367 (package
8368 (name "ghc-regex-posix")
8369 (version "0.95.2")
8370 (source
8371 (origin
8372 (method url-fetch)
8373 (uri (string-append
8374 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8375 version
8376 ".tar.gz"))
8377 (sha256
8378 (base32
8379 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8380 (build-system haskell-build-system)
8381 (inputs
8382 `(("ghc-regex-base" ,ghc-regex-base)))
8383 (home-page "https://sourceforge.net/projects/lazy-regex")
8384 (synopsis "POSIX regular expressions for Haskell")
8385 (description "This library provides the POSIX regex backend used by the
8386Haskell library @code{regex-base}.")
8387 (license license:bsd-3)))
8388
8389(define-public ghc-regex-tdfa
8390 (package
8391 (name "ghc-regex-tdfa")
8392 (version "1.2.3.1")
8393 (source
8394 (origin
8395 (method url-fetch)
8396 (uri (string-append
8397 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8398 version ".tar.gz"))
8399 (sha256
8400 (base32
8401 "0l7ajnh4hpgggf2a1r9dg0hx2fy679vd2kada5y7r02hy3nfxala"))))
8402 (build-system haskell-build-system)
8403 (inputs
8404 `(("ghc-regex-base" ,ghc-regex-base)))
8405 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8406 (synopsis "POSIX extended regular expressions in Haskell.")
8407 (description
8408 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8409extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8410inspired by libtre.")
8411 (license license:bsd-3)))
8412
8413(define-public ghc-regex-tdfa-text
8414 (package
8415 (name "ghc-regex-tdfa-text")
8416 (version "1.0.0.3")
8417 (source
8418 (origin
8419 (method url-fetch)
8420 (uri (string-append
8421 "https://hackage.haskell.org/package/regex-tdfa-text/"
8422 "regex-tdfa-text-" version ".tar.gz"))
8423 (sha256
8424 (base32
8425 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8426 (build-system haskell-build-system)
8427 (inputs
8428 `(("ghc-regex-base" ,ghc-regex-base)
8429 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8430 (home-page
8431 "http://hackage.haskell.org/package/regex-tdfa-text")
8432 (synopsis "Text interface for regex-tdfa")
8433 (description
8434 "This provides an extra text interface for regex-tdfa.")
8435 (license license:bsd-3)))
8436
8437(define-public ghc-rerebase
8438 (package
8439 (name "ghc-rerebase")
8440 (version "1.2.2")
8441 (source
8442 (origin
8443 (method url-fetch)
8444 (uri (string-append
8445 "https://hackage.haskell.org/package/rerebase/rerebase-"
8446 version ".tar.gz"))
8447 (sha256
8448 (base32
8449 "11v6rmz7ql2rdx6mhb3lsal952lwihclfhh0m7fcnii5br0906ks"))))
8450 (build-system haskell-build-system)
8451 (inputs
8452 `(("ghc-rebase" ,ghc-rebase)))
8453 (home-page "https://github.com/nikita-volkov/rerebase")
8454 (synopsis "Reexports from ``base'' with many other standard libraries")
8455 (description "A rich drop-in replacement for @code{base}. For details and
8456documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8457the project's home page}.")
8458 (license license:expat)))
8459
8460(define-public ghc-resolv
8461 (package
8462 (name "ghc-resolv")
8463 (version "0.1.1.1")
8464 (source
8465 (origin
8466 (method url-fetch)
8467 (uri (string-append
8468 "https://hackage.haskell.org/package/resolv/resolv-"
8469 version ".tar.gz"))
8470 (sha256
8471 (base32
8472 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
8473 (build-system haskell-build-system)
8474 (arguments
8475 `(#:cabal-revision
8476 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
8477 #:tests? #f)) ; The required test frameworks are too old.
8478 (inputs
8479 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8480 (home-page "https://github.com/haskell/hackage-security")
8481 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8482 (description "This package implements an API for accessing the
8483@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8484resolver service via the standard @code{libresolv} system library (whose
8485API is often available directly via the standard @code{libc} C library) on
8486Unix systems.")
8487 (license license:gpl3)))
8488
8489(define-public ghc-resource-pool
8490 (package
8491 (name "ghc-resource-pool")
8492 (version "0.2.3.2")
8493 (source
8494 (origin
8495 (method url-fetch)
8496 (uri (string-append "https://hackage.haskell.org/package/"
8497 "resource-pool-" version "/"
8498 "resource-pool-" version ".tar.gz"))
8499 (sha256
8500 (base32
8501 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8502 (build-system haskell-build-system)
8503 (inputs `(("ghc-hashable" ,ghc-hashable)
8504 ("ghc-monad-control" ,ghc-monad-control)
8505 ("ghc-transformers-base" ,ghc-transformers-base)
8506 ("ghc-vector" ,ghc-vector)))
8507 (home-page "https://github.com/bos/pool")
8508 (synopsis "Striped resource pooling implementation in Haskell")
8509 (description "This Haskell package provides striped pooling abstraction
8510for managing flexibly-sized collections of resources such as database
8511connections.")
8512 (license license:bsd-3)))
8513
8514(define-public ghc-resourcet
8515 (package
8516 (name "ghc-resourcet")
8517 (version "1.2.1")
8518 (source
8519 (origin
8520 (method url-fetch)
8521 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8522 "resourcet-" version ".tar.gz"))
8523 (sha256
8524 (base32
8525 "0rzjzh34s36ssign7akqjnwnjxf11c3511wk7ky0xxy0dqmc2rg7"))))
8526 (build-system haskell-build-system)
8527 (inputs
8528 `(("ghc-transformers-base" ,ghc-transformers-base)
8529 ("ghc-monad-control" ,ghc-monad-control)
8530 ("ghc-transformers-compat" ,ghc-transformers-compat)
8531 ("ghc-mmorph" ,ghc-mmorph)
8532 ("ghc-exceptions" ,ghc-exceptions)
8533 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8534 (native-inputs
8535 `(("ghc-lifted-base" ,ghc-lifted-base)
8536 ("ghc-hspec" ,ghc-hspec)))
8537 (home-page "https://github.com/snoyberg/conduit")
8538 (synopsis "Deterministic allocation and freeing of scarce resources")
8539 (description "ResourceT is a monad transformer which creates a region of
8540code where you can safely allocate resources.")
8541 (license license:bsd-3)))
8542
8543(define-public ghc-rfc5051
8544 (package
8545 (name "ghc-rfc5051")
8546 (version "0.1.0.3")
8547 (source
8548 (origin
8549 (method url-fetch)
8550 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8551 "rfc5051-" version ".tar.gz"))
8552 (sha256
8553 (base32
8554 "0av4c3qvwbkbzrjrrg601ay9pds7wscqqp2lc2z78mv2lllap3g3"))))
8555 (build-system haskell-build-system)
8556 (home-page "https://hackage.haskell.org/package/rfc5051")
8557 (synopsis "Simple unicode collation as per RFC5051")
8558 (description
8559 "This library implements @code{unicode-casemap}, the simple, non
8560locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8561unicode collation can be done using @code{text-icu}, but that is a big
8562dependency that depends on a large C library, and @code{rfc5051} might be
8563better for some purposes.")
8564 (license license:bsd-3)))
8565
8566(define-public ghc-rio
8567 (package
8568 (name "ghc-rio")
8569 (version "0.1.5.0")
8570 (source
8571 (origin
8572 (method url-fetch)
8573 (uri (string-append
8574 "https://hackage.haskell.org/package/rio/rio-"
8575 version ".tar.gz"))
8576 (sha256
8577 (base32
8578 "064h8a4hp53a479d3ak0vmqbx8hi0cpg7zn4wp23rjy26dka8p7g"))))
8579 (build-system haskell-build-system)
8580 (inputs
8581 `(("ghc-exceptions" ,ghc-exceptions)
8582 ("ghc-hashable" ,ghc-hashable)
8583 ("ghc-microlens" ,ghc-microlens)
8584 ("ghc-primitive" ,ghc-primitive)
8585 ("ghc-typed-process" ,ghc-typed-process)
8586 ("ghc-unliftio" ,ghc-unliftio)
8587 ("ghc-unordered-containers" ,ghc-unordered-containers)
8588 ("ghc-vector" ,ghc-vector)))
8589 (native-inputs
8590 `(("ghc-hspec" ,ghc-hspec)
8591 ("hspec-discover" ,hspec-discover)))
8592 (home-page "https://github.com/commercialhaskell/rio#readme")
8593 (synopsis "A standard library for Haskell")
8594 (description "This package works as a prelude replacement for Haskell,
8595providing more functionality and types out of the box than the standard
8596prelude (such as common data types like @code{ByteString} and
8597@code{Text}), as well as removing common ``gotchas'', like partial
8598functions and lazy I/O. The guiding principle here is:
8599@itemize
8600@item If something is safe to use in general and has no expected naming
8601conflicts, expose it.
8602@item If something should not always be used, or has naming conflicts,
8603expose it from another module in the hierarchy.
8604@end itemize")
8605 (license license:expat)))
8606
8607(define-public ghc-safe
8608 (package
8609 (name "ghc-safe")
8610 (version "0.3.17")
8611 (source
8612 (origin
8613 (method url-fetch)
8614 (uri (string-append
8615 "https://hackage.haskell.org/package/safe/safe-"
8616 version
8617 ".tar.gz"))
8618 (sha256
8619 (base32
8620 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8621 (build-system haskell-build-system)
8622 (native-inputs
8623 `(("ghc-quickcheck" ,ghc-quickcheck)))
8624 (home-page "https://github.com/ndmitchell/safe#readme")
8625 (synopsis "Library of safe (exception free) functions")
8626 (description "This library provides wrappers around @code{Prelude} and
8627@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8628exceptions.")
8629 (license license:bsd-3)))
8630
8631(define-public ghc-safe-exceptions
8632 (package
8633 (name "ghc-safe-exceptions")
8634 (version "0.1.7.0")
8635 (source
8636 (origin
8637 (method url-fetch)
8638 (uri (string-append "https://hackage.haskell.org/package/"
8639 "safe-exceptions/safe-exceptions-"
8640 version ".tar.gz"))
8641 (sha256
8642 (base32
8643 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8644 (build-system haskell-build-system)
8645 (arguments
8646 '(#:cabal-revision
8647 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8648 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8649 (native-inputs
8650 `(("ghc-hspec" ,ghc-hspec)
8651 ("ghc-void" ,ghc-void)
8652 ("hspec-discover" ,hspec-discover)))
8653 (home-page "https://github.com/fpco/safe-exceptions")
8654 (synopsis "Safe, consistent, and easy exception handling")
8655 (description "Runtime exceptions - as exposed in @code{base} by the
8656@code{Control.Exception} module - have long been an intimidating part of the
8657Haskell ecosystem. This package is intended to overcome this. It provides a
8658safe and simple API on top of the existing exception handling machinery. The
8659API is equivalent to the underlying implementation in terms of power but
8660encourages best practices to minimize the chances of getting the exception
8661handling wrong.")
8662 (license license:expat)))
8663
8664(define-public ghc-safeio
8665 (package
8666 (name "ghc-safeio")
8667 (version "0.0.5.0")
8668 (source
8669 (origin
8670 (method url-fetch)
8671 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8672 "safeio-" version ".tar.gz"))
8673 (sha256
8674 (base32
8675 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8676 (build-system haskell-build-system)
8677 (inputs
8678 `(("ghc-conduit" ,ghc-conduit)
8679 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8680 ("ghc-exceptions" ,ghc-exceptions)
8681 ("ghc-resourcet" ,ghc-resourcet)))
8682 (native-inputs
8683 `(("ghc-hunit" ,ghc-hunit)
8684 ("ghc-test-framework" ,ghc-test-framework)
8685 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8686 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8687 (home-page "https://github.com/luispedro/safeio")
8688 (synopsis "Write output to disk atomically")
8689 (description
8690 "This package implements utilities to perform atomic output so as to
8691avoid the problem of partial intermediate files.")
8692 (license license:expat)))
8693
8694(define-public ghc-safesemaphore
8695 (package
8696 (name "ghc-safesemaphore")
8697 (version "0.10.1")
8698 (source
8699 (origin
8700 (method url-fetch)
8701 (uri (string-append "https://hackage.haskell.org/package/"
8702 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8703 (sha256
8704 (base32
8705 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8706 (build-system haskell-build-system)
8707 (native-inputs
8708 `(("ghc-hunit" ,ghc-hunit)))
8709 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8710 (synopsis "Exception safe semaphores")
8711 (description "This library provides exception safe semaphores that can be
8712used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8713are not exception safe and can be broken by @code{killThread}.")
8714 (license license:bsd-3)))
8715
8716(define-public ghc-sandi
8717 (package
8718 (name "ghc-sandi")
8719 (version "0.4.2")
8720 (source
8721 (origin
8722 (method url-fetch)
8723 (uri (string-append
8724 "https://hackage.haskell.org/package/sandi/sandi-"
8725 version ".tar.gz"))
8726 (sha256
8727 (base32
8728 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8729 (build-system haskell-build-system)
8730 (inputs
8731 `(("ghc-stringsearch" ,ghc-stringsearch)
8732 ("ghc-conduit" ,ghc-conduit)
8733 ("ghc-exceptions" ,ghc-exceptions)
8734 ("ghc-hunit" ,ghc-hunit)
8735 ("ghc-tasty" ,ghc-tasty)
8736 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8737 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8738 ("ghc-tasty-th" ,ghc-tasty-th)))
8739 (home-page "https://hackage.haskell.org/package/sandi")
8740 (synopsis "Data encoding library")
8741 (description "Reasonably fast data encoding library.")
8742 (license license:bsd-3)))
8743
8744(define-public ghc-scientific
8745 (package
8746 (name "ghc-scientific")
8747 (version "0.3.6.2")
8748 (source
8749 (origin
8750 (method url-fetch)
8751 (uri (string-append
8752 "https://hackage.haskell.org/package/scientific/scientific-"
8753 version
8754 ".tar.gz"))
8755 (sha256
8756 (base32
8757 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8758 (build-system haskell-build-system)
8759 (inputs
8760 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8761 ("ghc-hashable" ,ghc-hashable)
8762 ("ghc-primitive" ,ghc-primitive)))
8763 (native-inputs
8764 `(("ghc-tasty" ,ghc-tasty)
8765 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8766 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8767 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8768 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8769 ("ghc-smallcheck" ,ghc-smallcheck)
8770 ("ghc-quickcheck" ,ghc-quickcheck)))
8771 (home-page "https://github.com/basvandijk/scientific")
8772 (synopsis "Numbers represented using scientific notation")
8773 (description "This package provides @code{Data.Scientific}, which provides
8774the number type @code{Scientific}. Scientific numbers are arbitrary precision
8775and space efficient. They are represented using
8776@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
8777notation}.")
8778 (license license:bsd-3)))
8779
8780(define-public ghc-scientific-bootstrap
8781 (package
8782 (inherit ghc-scientific)
8783 (name "ghc-scientific-bootstrap")
8784 (arguments `(#:tests? #f))
8785 (inputs
8786 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
8787 ("ghc-hashable" ,ghc-hashable)
8788 ("ghc-primitive" ,ghc-primitive)))
8789 (native-inputs '())
799d8d3c 8790 (properties '((hidden? #t)))))
dddbc90c
RV
8791
8792(define-public ghc-sdl
8793 (package
8794 (name "ghc-sdl")
8795 (version "0.6.7.0")
8796 (source
8797 (origin
8798 (method url-fetch)
8799 (uri (string-append
8800 "https://hackage.haskell.org/package/SDL/SDL-"
8801 version
8802 ".tar.gz"))
8803 (sha256
8804 (base32
8805 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
8806 (build-system haskell-build-system)
8807 (inputs
8808 `(("sdl" ,sdl)))
8809 (home-page "https://hackage.haskell.org/package/SDL")
8810 (synopsis "LibSDL for Haskell")
8811 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
8812multimedia library designed to provide low level access to audio, keyboard,
8813mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
8814by MPEG playback software, emulators, and many popular games, including the
8815award winning Linux port of \"Civilization: Call To Power.\"")
8816 (license license:bsd-3)))
8817
1874cdc1
RV
8818(define-public ghc-sdl2
8819 (package
8820 (name "ghc-sdl2")
8821 (version "2.4.1.0")
8822 (source
8823 (origin
8824 (method url-fetch)
8825 (uri (string-append "https://hackage.haskell.org/package/"
8826 "sdl2/sdl2-" version ".tar.gz"))
8827 (sha256
8828 (base32
8829 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
8830 (build-system haskell-build-system)
8831 (arguments '(#:tests? #f)) ; tests require graphical environment
8832 (inputs
8833 `(("ghc-exceptions" ,ghc-exceptions)
8834 ("ghc-linear" ,ghc-linear)
8835 ("ghc-statevar" ,ghc-statevar)
8836 ("ghc-vector" ,ghc-vector)
8837 ("sdl2" ,sdl2)))
8838 (native-inputs
8839 `(("ghc-weigh" ,ghc-weigh)
8840 ("pkg-config" ,pkg-config)))
8841 (home-page "http://hackage.haskell.org/package/sdl2")
8842 (synopsis "High- and low-level bindings to the SDL library")
8843 (description
8844 "This package contains bindings to the SDL 2 library, in both high- and
8845low-level forms. The @code{SDL} namespace contains high-level bindings, where
8846enumerations are split into sum types, and we perform automatic
8847error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
8848translation of the C API into Haskell FFI calls. As such, this does not
8849contain sum types nor error checking. Thus this namespace is suitable for
8850building your own abstraction over SDL, but is not recommended for day-to-day
8851programming.")
8852 (license license:bsd-3)))
8853
8854(define-public ghc-sdl2-image
8855 (package
8856 (name "ghc-sdl2-image")
8857 (version "2.0.0")
8858 (source
8859 (origin
8860 (method url-fetch)
8861 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
8862 "sdl2-image-" version ".tar.gz"))
8863 (sha256
8864 (base32
8865 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
8866 (build-system haskell-build-system)
8867 (inputs
8868 `(("ghc-sdl2" ,ghc-sdl2)
8869 ("sdl2-image" ,sdl2-image)))
8870 (native-inputs
8871 `(("pkg-config" ,pkg-config)))
8872 (home-page "http://hackage.haskell.org/package/sdl2-image")
8873 (synopsis "Bindings to SDL2_image")
8874 (description "This package provides Haskell bindings to
8875@code{SDL2_image}.")
8876 (license license:expat)))
8877
8878(define-public ghc-sdl2-mixer
8879 (package
8880 (name "ghc-sdl2-mixer")
8881 (version "1.1.0")
8882 (source
8883 (origin
8884 (method url-fetch)
8885 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
8886 "sdl2-mixer-" version ".tar.gz"))
8887 (sha256
8888 (base32
8889 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
8890 (build-system haskell-build-system)
8891 (inputs
8892 `(("ghc-data-default-class" ,ghc-data-default-class)
8893 ("ghc-lifted-base" ,ghc-lifted-base)
8894 ("ghc-monad-control" ,ghc-monad-control)
8895 ("ghc-sdl2" ,ghc-sdl2)
8896 ("ghc-vector" ,ghc-vector)
8897 ("sdl2-mixer" ,sdl2-mixer)))
8898 (native-inputs
8899 `(("pkg-config" ,pkg-config)))
8900 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
8901 (synopsis "Bindings to SDL2 mixer")
8902 (description "This package provides Haskell bindings to
8903@code{SDL2_mixer}.")
8904 (license license:bsd-3)))
8905
dddbc90c
RV
8906(define-public ghc-sdl-image
8907 (package
8908 (name "ghc-sdl-image")
8909 (version "0.6.2.0")
8910 (source
8911 (origin
8912 (method url-fetch)
8913 (uri (string-append
8914 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
8915 version
8916 ".tar.gz"))
8917 (sha256
8918 (base32
8919 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
8920 (build-system haskell-build-system)
8921 (arguments
8922 `(#:configure-flags
8923 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
8924 (sdl-image-include (string-append sdl-image "/include/SDL")))
8925 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
8926 (inputs
8927 `(("ghc-sdl" ,ghc-sdl)
8928 ("sdl-image" ,sdl-image)))
8929 (home-page "https://hackage.haskell.org/package/SDL-image")
8930 (synopsis "Haskell bindings to libSDL_image")
8931 (description "SDL_image is an image file loading library. It loads images
8932as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
8933PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
8934 (license license:bsd-3)))
8935
8936(define-public ghc-sdl-mixer
8937 (package
8938 (name "ghc-sdl-mixer")
8939 (version "0.6.3.0")
8940 (source
8941 (origin
8942 (method url-fetch)
8943 (uri (string-append
8944 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
8945 version
8946 ".tar.gz"))
8947 (sha256
8948 (base32
8949 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
8950 (build-system haskell-build-system)
8951 (arguments
8952 `(#:configure-flags
8953 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
8954 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
8955 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
8956 (inputs
8957 `(("ghc-sdl" ,ghc-sdl)
8958 ("sdl-mixer" ,sdl-mixer)))
8959 (home-page "https://hackage.haskell.org/package/SDL-mixer")
8960 (synopsis "Haskell bindings to libSDL_mixer")
8961 (description "SDL_mixer is a sample multi-channel audio mixer library. It
8962supports any number of simultaneously playing channels of 16 bit stereo audio,
8963plus a single channel of music, mixed by the popular MikMod MOD, Timidity
8964MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
8965 (license license:bsd-3)))
8966
8967(define-public ghc-securemem
8968 (package
8969 (name "ghc-securemem")
8970 (version "0.1.10")
8971 (source
8972 (origin
8973 (method url-fetch)
8974 (uri (string-append "https://hackage.haskell.org/package/"
8975 "securemem-" version "/"
8976 "securemem-" version ".tar.gz"))
8977 (sha256
8978 (base32
8979 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
8980 (build-system haskell-build-system)
8981 (inputs `(("ghc-byteable" ,ghc-byteable)
8982 ("ghc-memory" ,ghc-memory)))
8983 (home-page "https://github.com/vincenthz/hs-securemem")
8984 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
8985Haskell")
8986 (description "SecureMem is similar to ByteString, except that it provides
8987a memory chunk that will be auto-scrubbed after it run out of scope.")
8988 (license license:bsd-3)))
8989
8990(define-public ghc-semigroupoids
8991 (package
8992 (name "ghc-semigroupoids")
8993 (version "5.2.2")
8994 (source
8995 (origin
8996 (method url-fetch)
8997 (uri (string-append
8998 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
8999 version
9000 ".tar.gz"))
9001 (sha256
9002 (base32
9003 "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
9004 (build-system haskell-build-system)
9005 (arguments
9006 `(#:cabal-revision
9007 ("4" "0pqfrxzypjq6z8lgdkzq4vhcyqkpk5326hny0r6snpc3gm78r4ij")))
9008 (inputs
9009 `(("ghc-base-orphans" ,ghc-base-orphans)
9010 ("ghc-transformers-compat" ,ghc-transformers-compat)
9011 ("ghc-bifunctors" ,ghc-bifunctors)
9012 ("ghc-comonad" ,ghc-comonad)
9013 ("ghc-contravariant" ,ghc-contravariant)
9014 ("ghc-distributive" ,ghc-distributive)
9015 ("ghc-hashable" ,ghc-hashable)
9016 ("ghc-semigroups" ,ghc-semigroups)
9017 ("ghc-tagged" ,ghc-tagged)
9018 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9019 (native-inputs
9020 `(("cabal-doctest" ,cabal-doctest)
9021 ("ghc-doctest" ,ghc-doctest)))
9022 (home-page "https://github.com/ekmett/semigroupoids")
9023 (synopsis "Semigroupoids operations for Haskell")
9024 (description "This library provides a wide array of (semi)groupoids and
9025operations for working with them. A @code{Semigroupoid} is a @code{Category}
9026without the requirement of identity arrows for every object in the category.
9027A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9028Finally, to work with these weaker structures it is beneficial to have
9029containers that can provide stronger guarantees about their contents, so
9030versions of @code{Traversable} and @code{Foldable} that can be folded with
9031just a @code{Semigroup} are added.")
9032 (license license:bsd-3)))
9033
9034(define-public ghc-semigroups
9035 (package
9036 (name "ghc-semigroups")
9037 (version "0.18.5")
9038 (source
9039 (origin
9040 (method url-fetch)
9041 (uri (string-append
9042 "https://hackage.haskell.org/package/semigroups/semigroups-"
9043 version
9044 ".tar.gz"))
9045 (sha256
9046 (base32
9047 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9048 (build-system haskell-build-system)
9049 (inputs
9050 `(("ghc-nats" ,ghc-nats)
9051 ("ghc-tagged" ,ghc-tagged)
9052 ("ghc-unordered-containers" ,ghc-unordered-containers)
9053 ("ghc-hashable" ,ghc-hashable)))
9054 (home-page "https://github.com/ekmett/semigroups/")
9055 (synopsis "Semigroup operations for Haskell")
9056 (description "This package provides semigroups for Haskell. In
9057mathematics, a semigroup is an algebraic structure consisting of a set
9058together with an associative binary operation. A semigroup generalizes a
9059monoid in that there might not exist an identity element. It
9060also (originally) generalized a group (a monoid with all inverses) to a type
9061where every element did not have to have an inverse, thus the name
9062semigroup.")
9063 (license license:bsd-3)))
9064
9065(define-public ghc-semigroups-bootstrap
9066 (package
9067 (inherit ghc-semigroups)
9068 (name "ghc-semigroups-bootstrap")
9069 (inputs
9070 `(("ghc-nats" ,ghc-nats-bootstrap)
9071 ("ghc-tagged" ,ghc-tagged)
9072 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9073 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9074 (properties '((hidden? #t)))))
dddbc90c
RV
9075
9076(define-public ghc-setenv
9077 (package
9078 (name "ghc-setenv")
9079 (version "0.1.1.3")
9080 (source
9081 (origin
9082 (method url-fetch)
9083 (uri (string-append
9084 "https://hackage.haskell.org/package/setenv/setenv-"
9085 version
9086 ".tar.gz"))
9087 (sha256
9088 (base32
9089 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9090 (build-system haskell-build-system)
9091 (home-page "https://hackage.haskell.org/package/setenv")
9092 (synopsis "Library for setting environment variables")
9093 (description "This package provides a Haskell library for setting
9094environment variables.")
9095 (license license:expat)))
9096
9097(define-public ghc-setlocale
9098 (package
9099 (name "ghc-setlocale")
9100 (version "1.0.0.8")
9101 (source (origin
9102 (method url-fetch)
9103 (uri (string-append
9104 "https://hackage.haskell.org/package/setlocale-"
9105 version "/setlocale-" version ".tar.gz"))
9106 (sha256
9107 (base32
9108 "0sdrsmkhw08483d73ysgm2926fdbhii61br03lqpqw0lfzj4ilbd"))))
9109 (build-system haskell-build-system)
9110 (home-page "https://hackage.haskell.org/package/setlocale")
9111 (synopsis "Haskell bindings to setlocale")
9112 (description "This package provides Haskell bindings to the
9113@code{setlocale} C function.")
9114 (license license:bsd-3)))
9115
9116(define-public ghc-shakespeare
9117 (package
9118 (name "ghc-shakespeare")
9119 (version "2.0.15")
9120 (source
9121 (origin
9122 (method url-fetch)
9123 (uri (string-append "https://hackage.haskell.org/package/"
9124 "shakespeare-" version "/"
9125 "shakespeare-" version ".tar.gz"))
9126 (sha256
9127 (base32
9128 "1vk4b19zvwy4mpwaq9z3l3kfmz75gfyf7alhh0y112gspgpccm23"))))
9129 (build-system haskell-build-system)
9130 (inputs `(("ghc-aeson" ,ghc-aeson)
9131 ("ghc-blaze-markup" ,ghc-blaze-markup)
9132 ("ghc-blaze-html" ,ghc-blaze-html)
9133 ("ghc-exceptions" ,ghc-exceptions)
9134 ("ghc-vector" ,ghc-vector)
9135 ("ghc-unordered-containers" ,ghc-unordered-containers)
9136 ("ghc-scientific" ,ghc-scientific)))
9137 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9138 ("ghc-hunit" ,ghc-hunit)
9139 ("hspec-discover" ,hspec-discover)))
9140 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9141 (synopsis "Family of type-safe template languages for Haskell")
9142 (description "This Haskell package provides a family of type-safe
9143templates with simple variable interpolation. Shakespeare templates can
9144be used inline with a quasi-quoter or in an external file and it
9145interpolates variables according to the type being inserted.")
9146 (license license:expat)))
9147
9148(define-public ghc-shelly
9149 (package
9150 (name "ghc-shelly")
9151 (version "1.8.1")
9152 (source
9153 (origin
9154 (method url-fetch)
9155 (uri (string-append
9156 "https://hackage.haskell.org/package/shelly/shelly-"
9157 version ".tar.gz"))
9158 (sha256
9159 (base32
9160 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9161 (build-system haskell-build-system)
9162 (inputs
9163 `(("ghc-unix-compat" ,ghc-unix-compat)
9164 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9165 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9166 ("ghc-monad-control" ,ghc-monad-control)
9167 ("ghc-lifted-base" ,ghc-lifted-base)
9168 ("ghc-lifted-async" ,ghc-lifted-async)
9169 ("ghc-exceptions" ,ghc-exceptions)
9170 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9171 ("ghc-async" ,ghc-async)
9172 ("ghc-transformers-base" ,ghc-transformers-base)
9173 ("ghc-hunit" ,ghc-hunit)
9174 ("ghc-hspec" ,ghc-hspec)
9175 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9176 (home-page "https://github.com/yesodweb/Shelly.hs")
9177 (synopsis "Shell-like (systems) programming in Haskell")
9178 (description
9179 "Shelly provides convenient systems programming in Haskell, similar in
9180spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9181 (license license:bsd-3)))
9182
9183(define-public ghc-silently
9184 (package
9185 (name "ghc-silently")
9186 (version "1.2.5")
9187 (source
9188 (origin
9189 (method url-fetch)
9190 (uri (string-append
9191 "https://hackage.haskell.org/package/silently/silently-"
9192 version
9193 ".tar.gz"))
9194 (sha256
9195 (base32
9196 "0f9qm3f7y0hpxn6mddhhg51mm1r134qkvd2kr8r6192ka1ijbxnf"))))
9197 (build-system haskell-build-system)
9198 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9199 ;; (inputs
9200 ;; `(("ghc-temporary" ,ghc-temporary)))
9201 (home-page "https://github.com/hspec/silently")
9202 (synopsis "Prevent writing to stdout")
9203 (description "This package provides functions to prevent or capture
9204writing to stdout and other handles.")
9205 (license license:bsd-3)))
9206
9207(define-public ghc-simple-reflect
9208 (package
9209 (name "ghc-simple-reflect")
9210 (version "0.3.3")
9211 (source
9212 (origin
9213 (method url-fetch)
9214 (uri (string-append
9215 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9216 version
9217 ".tar.gz"))
9218 (sha256
9219 (base32
9220 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9221 (build-system haskell-build-system)
9222 (home-page
9223 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9224 (synopsis
9225 "Simple reflection of expressions containing variables")
9226 (description
9227 "This package allows simple reflection of expressions containing
9228variables. Reflection here means that a Haskell expression is turned into a
9229string. The primary aim of this package is teaching and understanding; there
9230are no options for manipulating the reflected expressions beyond showing
9231them.")
9232 (license license:bsd-3)))
9233
9234(define-public ghc-simple-sendfile
9235 (package
9236 (name "ghc-simple-sendfile")
9237 (version "0.2.27")
9238 (source
9239 (origin
9240 (method url-fetch)
9241 (uri (string-append "https://hackage.haskell.org/package/"
9242 "simple-sendfile-" version "/"
9243 "simple-sendfile-" version ".tar.gz"))
9244 (sha256
9245 (base32
9246 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
9247 (build-system haskell-build-system)
9248 (inputs
9249 `(("ghc-conduit" ,ghc-conduit)
9250 ("ghc-conduit-extra" ,ghc-conduit-extra)
9251 ("ghc-network" ,ghc-network)
9252 ("ghc-resourcet" ,ghc-resourcet)))
9253 (native-inputs
9254 `(("ghc-hspec" ,ghc-hspec)
9255 ("hspec-discover" ,hspec-discover)))
9256 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9257 (synopsis "Cross platform library for the sendfile system call")
9258 (description "This library tries to call minimum system calls which
9259are the bottleneck of web servers.")
9260 (license license:bsd-3)))
9261
9262(define-public ghc-skylighting-core
9263 (package
9264 (name "ghc-skylighting-core")
9265 (version "0.7.2")
9266 (source (origin
9267 (method url-fetch)
9268 (uri (string-append "https://hackage.haskell.org/package/"
9269 "skylighting-core/skylighting-core-"
9270 version ".tar.gz"))
9271 (sha256
9272 (base32
9273 "066fwmwsd7xcvwlinfk2izlzq0xp8697i6lnbgsbl71jdybyackq"))))
9274 (build-system haskell-build-system)
9275 (inputs
9276 `(("ghc-aeson" ,ghc-aeson)
9277 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9278 ("ghc-attoparsec" ,ghc-attoparsec)
9279 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9280 ("ghc-blaze-html" ,ghc-blaze-html)
9281 ("ghc-case-insensitive" ,ghc-case-insensitive)
9282 ("ghc-colour" ,ghc-colour)
9283 ("ghc-hxt" ,ghc-hxt)
9284 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9285 ("ghc-safe" ,ghc-safe)
9286 ("ghc-utf8-string" ,ghc-utf8-string)))
9287 (native-inputs
9288 `(("ghc-diff" ,ghc-diff)
9289 ("ghc-hunit" ,ghc-hunit)
9290 ("ghc-pretty-show" ,ghc-pretty-show)
9291 ("ghc-quickcheck" ,ghc-quickcheck)
9292 ("ghc-tasty" ,ghc-tasty)
9293 ("ghc-tasty-golden" ,ghc-tasty-golden)
9294 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9295 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9296 (home-page "https://github.com/jgm/skylighting")
9297 (synopsis "Syntax highlighting library")
9298 (description "Skylighting is a syntax highlighting library with support
9299for over one hundred languages. It derives its tokenizers from XML syntax
9300definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9301supported by that framework can be added. An optional command-line program is
9302provided. Skylighting is intended to be the successor to highlighting-kate.")
9303 (license license:gpl2)))
9304
9305(define-public ghc-skylighting
9306 (package
9307 (inherit ghc-skylighting-core)
9308 (name "ghc-skylighting")
9309 (version "0.7.2")
9310 (source (origin
9311 (method url-fetch)
9312 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9313 version "/skylighting-" version ".tar.gz"))
9314 (sha256
9315 (base32
9316 "1rh3z1a7a4clvksdw1qlpmhxqkfahwypi70k91whgfamzsqpxdch"))))
9317 (inputs
9318 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9319 ,@(package-inputs ghc-skylighting-core)))))
9320
9321(define-public ghc-smallcheck
9322 (package
9323 (name "ghc-smallcheck")
9324 (version "1.1.5")
9325 (source
9326 (origin
9327 (method url-fetch)
9328 (uri (string-append
9329 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9330 version
9331 ".tar.gz"))
9332 (sha256
9333 (base32
9334 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9335 (build-system haskell-build-system)
9336 (inputs
9337 `(("ghc-logict" ,ghc-logict)))
9338 (home-page
9339 "https://github.com/feuerbach/smallcheck")
9340 (synopsis "Property-based testing library")
9341 (description "SmallCheck is a testing library that allows to verify
9342properties for all test cases up to some depth. The test cases are generated
9343automatically by SmallCheck.")
9344 (license license:bsd-3)))
9345
9346(define-public ghc-socks
9347 (package
9348 (name "ghc-socks")
9349 (version "0.5.6")
9350 (source (origin
9351 (method url-fetch)
9352 (uri (string-append "https://hackage.haskell.org/package/"
9353 "socks/socks-" version ".tar.gz"))
9354 (sha256
9355 (base32
9356 "0f44qy74i0n6ll3jym0a2ipafkpw1h67amcpqmj8iq95h21wsqzs"))))
9357 (build-system haskell-build-system)
9358 (inputs
9359 `(("ghc-cereal" ,ghc-cereal)
9360 ("ghc-network" ,ghc-network)))
9361 (home-page "https://github.com/vincenthz/hs-socks")
9362 (synopsis "SOCKS proxy (version 5) implementation")
9363 (description
9364 "This library provides a SOCKS proxy (version 5) implementation.")
9365 (license license:bsd-3)))
9366
9367(define-public ghc-split
9368 (package
9369 (name "ghc-split")
9370 (version "0.2.3.3")
9371 (outputs '("out" "doc"))
9372 (source
9373 (origin
9374 (method url-fetch)
9375 (uri (string-append
9376 "https://hackage.haskell.org/package/split/split-"
9377 version
9378 ".tar.gz"))
9379 (sha256
9380 (base32
9381 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9382 (build-system haskell-build-system)
9383 (native-inputs
9384 `(("ghc-quickcheck" ,ghc-quickcheck)))
9385 (home-page "https://hackage.haskell.org/package/split")
9386 (synopsis "Combinator library for splitting lists")
9387 (description "This package provides a collection of Haskell functions for
9388splitting lists into parts, akin to the @code{split} function found in several
9389mainstream languages.")
9390 (license license:bsd-3)))
9391
9392(define-public ghc-statevar
9393 (package
9394 (name "ghc-statevar")
9395 (version "1.1.1.1")
9396 (source
9397 (origin
9398 (method url-fetch)
9399 (uri (string-append
9400 "https://hackage.haskell.org/package/StateVar/StateVar-"
9401 version
9402 ".tar.gz"))
9403 (sha256
9404 (base32
9405 "08r2iw0gdmfs4f6wraaq19vfmkjdbics3dbhw39y7mdjd98kcr7b"))))
9406 (build-system haskell-build-system)
9407 (home-page "https://hackage.haskell.org/package/StateVar")
9408 (synopsis "State variables for Haskell")
9409 (description "This package provides state variables, which are references
9410in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9411 (license license:bsd-3)))
9412
9413(define-public ghc-statistics
9414 (package
9415 (name "ghc-statistics")
9416 (version "0.14.0.2")
9417 (source
9418 (origin
9419 (method url-fetch)
9420 (uri (string-append "https://hackage.haskell.org/package/"
9421 "statistics-" version "/"
9422 "statistics-" version ".tar.gz"))
9423 (sha256
9424 (base32
9425 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
9426 (build-system haskell-build-system)
9427 (arguments
9428 '(#:cabal-revision
9429 ("2" "1bx70yqkn62ii17fjv3pig4hklrzkqd09zj67zzjiyjzmn04fir3")
9430 ;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
9431 #:tests? #f))
9432 (inputs
9433 `(("ghc-aeson" ,ghc-aeson)
9434 ("ghc-base-orphans" ,ghc-base-orphans)
9435 ("ghc-erf" ,ghc-erf)
9436 ("ghc-math-functions" ,ghc-math-functions)
9437 ("ghc-monad-par" ,ghc-monad-par)
9438 ("ghc-mwc-random" ,ghc-mwc-random)
9439 ("ghc-primitive" ,ghc-primitive)
9440 ("ghc-vector" ,ghc-vector)
9441 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9442 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9443 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9444 (native-inputs
9445 `(("ghc-hunit" ,ghc-hunit)
9446 ("ghc-quickcheck" ,ghc-quickcheck)
9447 ("ghc-ieee754" ,ghc-ieee754)
9448 ("ghc-test-framework" ,ghc-test-framework)
9449 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9450 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9451 (home-page "https://github.com/bos/mwc-random")
9452 (synopsis "Haskell library of statistical types, data, and functions")
9453 (description "This library provides a number of common functions
9454and types useful in statistics. We focus on high performance, numerical
9455robustness, and use of good algorithms. Where possible, we provide references
9456to the statistical literature.
9457
9458The library's facilities can be divided into four broad categories:
9459
9460@itemize
9461@item Working with widely used discrete and continuous probability
9462distributions. (There are dozens of exotic distributions in use; we focus
9463on the most common.)
9464
9465@item Computing with sample data: quantile estimation, kernel density
9466estimation, histograms, bootstrap methods, significance testing,
9467and regression and autocorrelation analysis.
9468
9469@item Random variate generation under several different distributions.
9470
9471@item Common statistical tests for significant differences between samples.
9472@end itemize")
9473 (license license:bsd-2)))
9474
9475(define-public ghc-stm-chans
9476 (package
9477 (name "ghc-stm-chans")
9478 (version "3.0.0.4")
9479 (source
9480 (origin
9481 (method url-fetch)
9482 (uri (string-append "https://hackage.haskell.org/package/"
9483 "stm-chans-" version "/"
9484 "stm-chans-" version ".tar.gz"))
9485 (sha256
9486 (base32
9487 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9488 (build-system haskell-build-system)
9489 (home-page "https://hackage.haskell.org/package/stm-chans")
9490 (synopsis "Additional types of channels for ghc-stm")
9491 (description "This Haskell package offers a collection of channel types,
9492similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9493features.")
9494 (license license:bsd-3)))
9495
9496(define-public ghc-stm-conduit
9497 (package
9498 (name "ghc-stm-conduit")
9499 (version "4.0.0")
9500 (source
9501 (origin
9502 (method url-fetch)
9503 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9504 "stm-conduit-" version ".tar.gz"))
9505 (sha256
9506 (base32
9507 "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
9508 (build-system haskell-build-system)
9509 (inputs
9510 `(("ghc-stm-chans" ,ghc-stm-chans)
9511 ("ghc-cereal" ,ghc-cereal)
9512 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9513 ("ghc-conduit" ,ghc-conduit)
9514 ("ghc-conduit-extra" ,ghc-conduit-extra)
9515 ("ghc-exceptions" ,ghc-exceptions)
9516 ("ghc-resourcet" ,ghc-resourcet)
9517 ("ghc-async" ,ghc-async)
9518 ("ghc-monad-loops" ,ghc-monad-loops)
9519 ("ghc-unliftio" ,ghc-unliftio)))
9520 (native-inputs
9521 `(("ghc-doctest" ,ghc-doctest)
9522 ("ghc-quickcheck" ,ghc-quickcheck)
9523 ("ghc-hunit" ,ghc-hunit)
9524 ("ghc-test-framework" ,ghc-test-framework)
9525 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9526 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9527 (home-page "https://github.com/cgaebel/stm-conduit")
9528 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9529 (description
9530 "This package provides two simple conduit wrappers around STM channels: a
9531source and a sink.")
9532 (license license:bsd-3)))
9533
9534(define-public ghc-stmonadtrans
9535 (package
9536 (name "ghc-stmonadtrans")
9537 (version "0.4.3")
9538 (source
9539 (origin
9540 (method url-fetch)
9541 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9542 "/STMonadTrans-" version ".tar.gz"))
9543 (sha256
9544 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9545 (build-system haskell-build-system)
9546 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9547 (synopsis "Monad transformer version of the ST monad")
9548 (description
9549 "This package provides a monad transformer version of the @code{ST} monad
9550for strict state threads.")
9551 (license license:bsd-3)))
9552
9553(define-public ghc-storable-complex
9554 (package
9555 (name "ghc-storable-complex")
9556 (version "0.2.2")
9557 (source
9558 (origin
9559 (method url-fetch)
9560 (uri (string-append
9561 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9562 version ".tar.gz"))
9563 (sha256
9564 (base32 "01kwwkpbfjrv26vj83cd92px5qbq1bpgxj0r45534aksqhany1xb"))))
9565 (build-system haskell-build-system)
9566 (home-page "https://github.com/cartazio/storable-complex")
9567 (synopsis "Haskell Storable instance for Complex")
9568 (description "This package provides a Haskell library including a
9569Storable instance for Complex which is binary compatible with C99, C++
9570and Fortran complex data types.")
9571 (license license:bsd-3)))
9572
ad80074a
JS
9573(define-public ghc-storable-record
9574 (package
9575 (name "ghc-storable-record")
9576 (version "0.0.4")
9577 (source
9578 (origin
9579 (method url-fetch)
9580 (uri
9581 (string-append
9582 "https://hackage.haskell.org/package/storable-record/"
9583 "storable-record-" version ".tar.gz"))
9584 (sha256
9585 (base32
9586 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
9587 (build-system haskell-build-system)
9588 (inputs
9589 `(("ghc-semigroups" ,ghc-semigroups)
9590 ("ghc-utility-ht" ,ghc-utility-ht)
9591 ("ghc-storablevector" ,ghc-storablevector)
9592 ("ghc-timeit" ,ghc-timeit)))
9593 (home-page "https://hackage.haskell.org/package/storable-record")
9594 (synopsis "Elegant definition of Storable instances for records")
9595 (description "With this package you can build a Storable instance of
9596a record type from Storable instances of its elements in an elegant way.
9597It does not do any magic, just a bit arithmetic to compute the right
9598offsets, that would be otherwise done manually or by a preprocessor like
9599C2HS. There is no guarantee that the generated memory layout is
9600compatible with that of a corresponding C struct. However, the module
9601generates the smallest layout that is possible with respect to the
9602alignment of the record elements.")
9603 (license license:bsd-3)))
9604
55f4c653
JS
9605(define-public ghc-storable-tuple
9606 (package
9607 (name "ghc-storable-tuple")
9608 (version "0.0.3.3")
9609 (source
9610 (origin
9611 (method url-fetch)
9612 (uri
9613 (string-append
9614 "https://hackage.haskell.org/package/storable-tuple/"
9615 "storable-tuple-" version ".tar.gz"))
9616 (sha256
9617 (base32
9618 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
9619 (build-system haskell-build-system)
9620 (inputs
9621 `(("ghc-storable-record" ,ghc-storable-record)
9622 ("ghc-utility-ht" ,ghc-utility-ht)
9623 ("ghc-base-orphans" ,ghc-base-orphans)))
9624 (home-page "https://hackage.haskell.org/package/storable-tuple")
9625 (synopsis "Storable instance for pairs and triples")
9626 (description "This package provides a Storable instance for pairs
9627and triples which should be binary compatible with C99 and C++. The
9628only purpose of this package is to provide a standard location for this
9629instance so that other packages needing this instance can play nicely
9630together.")
9631 (license license:bsd-3)))
9632
bc06ca45
JS
9633(define-public ghc-storablevector
9634 (package
9635 (name "ghc-storablevector")
9636 (version "0.2.13")
9637 (source
9638 (origin
9639 (method url-fetch)
9640 (uri
9641 (string-append
9642 "https://hackage.haskell.org/package/storablevector/storablevector-"
9643 version ".tar.gz"))
9644 (sha256
9645 (base32
9646 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
9647 (build-system haskell-build-system)
9648 (inputs
9649 `(("ghc-non-negative" ,ghc-non-negative)
9650 ("ghc-utility-ht" ,ghc-utility-ht)
9651 ("ghc-semigroups" ,ghc-semigroups)
9652 ("ghc-unsafe" ,ghc-unsafe)
9653 ("ghc-quickcheck" ,ghc-quickcheck)
9654 ("ghc-syb" ,ghc-syb)))
9655 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
9656 (synopsis "Fast, packed, strict storable arrays with a list interface")
9657 (description "This library provides fast, packed, strict storable
9658arrays with a list interface, a chunky lazy list interface with variable
9659chunk size and an interface for write access via the ST monad. This is
9660much like bytestring and binary but can be used for every
9661@code{Foreign.Storable.Storable} type. See also
9662@url{http://hackage.haskell.org/package/vector}, a library with a
9663similar intention.
9664
9665This library does not do advanced fusion optimization, since especially
9666for lazy vectors this would either be incorrect or not applicable. See
9667@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
9668a library that provides fusion with lazy lists.")
9669 (license license:bsd-3)))
9670
dddbc90c
RV
9671(define-public ghc-streaming-commons
9672 (package
9673 (name "ghc-streaming-commons")
9674 (version "0.2.1.1")
9675 (source
9676 (origin
9677 (method url-fetch)
9678 (uri (string-append "https://hackage.haskell.org/package/"
9679 "streaming-commons/streaming-commons-"
9680 version ".tar.gz"))
9681 (sha256
9682 (base32
9683 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9684 (build-system haskell-build-system)
9685 (inputs
9686 `(("ghc-async" ,ghc-async)
9687 ("ghc-blaze-builder" ,ghc-blaze-builder)
9688 ("ghc-network" ,ghc-network)
9689 ("ghc-random" ,ghc-random)
9690 ("ghc-zlib" ,ghc-zlib)))
9691 (native-inputs
9692 `(("ghc-quickcheck" ,ghc-quickcheck)
9693 ("ghc-hspec" ,ghc-hspec)
9694 ("hspec-discover" ,hspec-discover)))
9695 (home-page "https://hackage.haskell.org/package/streaming-commons")
9696 (synopsis "Conduit and pipes needed by some streaming data libraries")
9697 (description "This package provides low-dependency functionality commonly
9698needed by various Haskell streaming data libraries, such as @code{conduit} and
9699@code{pipe}s.")
9700 (license license:expat)))
9701
9702(define-public ghc-strict
9703 (package
9704 (name "ghc-strict")
9705 (version "0.3.2")
9706 (source
9707 (origin
9708 (method url-fetch)
9709 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
9710 version ".tar.gz"))
9711 (sha256
9712 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
9713 (build-system haskell-build-system)
9714 (home-page "https://hackage.haskell.org/package/strict")
9715 (synopsis "Strict data types and String IO")
9716 (description
9717 "This package provides strict versions of some standard Haskell data
9718types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
9719IO operations.")
9720 (license license:bsd-3)))
9721
9722(define-public ghc-stringbuilder
9723 (package
9724 (name "ghc-stringbuilder")
9725 (version "0.5.1")
9726 (source
9727 (origin
9728 (method url-fetch)
9729 (uri (string-append
9730 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
9731 version
9732 ".tar.gz"))
9733 (sha256
9734 (base32
9735 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
9736 (build-system haskell-build-system)
9737 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
9738 ; enabled
9739 (home-page "https://hackage.haskell.org/package/stringbuilder")
9740 (synopsis "Writer monad for multi-line string literals")
9741 (description "This package provides a writer monad for multi-line string
9742literals.")
9743 (license license:expat)))
9744
9745(define-public ghc-string-qq
9746 (package
9747 (name "ghc-string-qq")
9748 (version "0.0.2")
9749 (source
9750 (origin
9751 (method url-fetch)
9752 (uri (string-append
9753 "https://hackage.haskell.org/package/string-qq/string-qq-"
9754 version
9755 ".tar.gz"))
9756 (sha256
9757 (base32
9758 "0662m3i5xrdrr95w829bszkhp88mj9iy1zya54vk2sl5hz9wlmwp"))))
9759 (build-system haskell-build-system)
9760 (home-page "http://hackage.haskell.org/package/string-qq")
9761 (synopsis
9762 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
9763 (description
9764 "This package provides a quasiquoter for non-interpolated strings, texts
9765and bytestrings.")
9766 (license license:public-domain)))
9767
9768(define-public ghc-stringsearch
9769 (package
9770 (name "ghc-stringsearch")
9771 (version "0.3.6.6")
9772 (source
9773 (origin
9774 (method url-fetch)
9775 (uri (string-append
9776 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
9777 version
9778 ".tar.gz"))
9779 (sha256
9780 (base32
9781 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
9782 (build-system haskell-build-system)
9783 (home-page "https://bitbucket.org/dafis/stringsearch")
9784 (synopsis "Fast searching, splitting and replacing of ByteStrings")
9785 (description "This package provides several functions to quickly search
9786for substrings in strict or lazy @code{ByteStrings}. It also provides
9787functions for breaking or splitting on substrings and replacing all
9788occurrences of a substring (the first in case of overlaps) with another.")
9789 (license license:bsd-3)))
9790
9791(define-public ghc-stylish-haskell
9792 (package
9793 (name "ghc-stylish-haskell")
9794 (version "0.9.2.1")
9795 (source
9796 (origin
9797 (method url-fetch)
9798 (uri (string-append
9799 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
9800 version
9801 ".tar.gz"))
9802 (sha256
9803 (base32
9804 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
9805 (build-system haskell-build-system)
9806 (inputs
9807 `(("ghc-aeson" ,ghc-aeson)
9808 ("ghc-file-embed" ,ghc-file-embed)
9809 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
9810 ("ghc-semigroups" ,ghc-semigroups)
9811 ("ghc-syb" ,ghc-syb)
9812 ("ghc-yaml" ,ghc-yaml)
9813 ("ghc-strict" ,ghc-strict)
9814 ("ghc-optparse-applicative"
9815 ,ghc-optparse-applicative)))
9816 (native-inputs
9817 `(("ghc-hunit" ,ghc-hunit)
9818 ("ghc-test-framework" ,ghc-test-framework)
9819 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
9820 (home-page "https://github.com/jaspervdj/stylish-haskell")
9821 (synopsis "Haskell code prettifier")
9822 (description "Stylish-haskell is a Haskell code prettifier. The goal is
9823not to format all of the code in a file, to avoid \"getting in the way\".
9824However, this tool can e.g. clean up import statements and help doing various
9825tasks that get tedious very quickly. It can
9826@itemize
9827@item
9828Align and sort @code{import} statements
9829@item
9830Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
9831pragmas
9832@item
9833Remove trailing whitespaces
9834@item
9835Align branches in @code{case} and fields in records
9836@item
9837Convert line endings (customisable)
9838@item
9839Replace tabs by four spaces (turned off by default)
9840@item
9841Replace some ASCII sequences by their Unicode equivalent (turned off by
9842default)
9843@end itemize")
9844 (license license:bsd-3)))
9845
9846(define-public ghc-syb
9847 (package
9848 (name "ghc-syb")
9849 (version "0.7")
9850 (outputs '("out" "doc"))
9851 (source
9852 (origin
9853 (method url-fetch)
9854 (uri (string-append
9855 "https://hackage.haskell.org/package/syb/syb-"
9856 version
9857 ".tar.gz"))
9858 (sha256
9859 (base32
9860 "1da2zz7gqm4xbkx5vpd74dayx1svaxyl145fl14mq15lbb77sxdq"))))
9861 (build-system haskell-build-system)
9862 (inputs
9863 `(("ghc-hunit" ,ghc-hunit)))
9864 (home-page
9865 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
9866 (synopsis "Scrap Your Boilerplate")
9867 (description "This package contains the generics system described in the
9868/Scrap Your Boilerplate/ papers (see
9869@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
9870defines the @code{Data} class of types permitting folding and unfolding of
9871constructor applications, instances of this class for primitive types, and a
9872variety of traversals.")
9873 (license license:bsd-3)))
9874
9875(define-public ghc-system-fileio
9876 (package
9877 (name "ghc-system-fileio")
9878 (version "0.3.16.3")
9879 (source
9880 (origin
9881 (method url-fetch)
9882 (uri (string-append
9883 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
9884 version ".tar.gz"))
9885 (sha256
9886 (base32
9887 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
9888 (build-system haskell-build-system)
9889 (inputs
9890 `(("ghc-system-filepath" ,ghc-system-filepath)
9891 ("ghc-chell" ,ghc-chell)
9892 ("ghc-temporary" ,ghc-temporary)))
9893 (home-page "https://github.com/fpco/haskell-filesystem")
9894 (synopsis "Consistent file system interaction across GHC versions")
9895 (description
9896 "This is a small wrapper around the directory, unix, and Win32 packages,
9897for use with system-filepath. It provides a consistent API to the various
9898versions of these packages distributed with different versions of GHC.
9899In particular, this library supports working with POSIX files that have paths
9900which can't be decoded in the current locale encoding.")
9901 (license license:expat)))
9902
9903;; See ghc-system-filepath-bootstrap. In addition this package depends on
9904;; ghc-system-filepath.
9905(define ghc-system-fileio-bootstrap
9906 (package
9907 (name "ghc-system-fileio-bootstrap")
9908 (version "0.3.16.3")
9909 (source
9910 (origin
9911 (method url-fetch)
9912 (uri (string-append
9913 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
9914 version ".tar.gz"))
9915 (sha256
9916 (base32
9917 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
9918 (build-system haskell-build-system)
9919 (arguments
9920 `(#:tests? #f))
9921 (inputs
9922 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9923 ("ghc-temporary" ,ghc-temporary)))
9924 (home-page "https://github.com/fpco/haskell-filesystem")
9925 (synopsis "Consistent file system interaction across GHC versions")
9926 (description
9927 "This is a small wrapper around the directory, unix, and Win32 packages,
9928for use with system-filepath. It provides a consistent API to the various
9929versions of these packages distributed with different versions of GHC.
9930In particular, this library supports working with POSIX files that have paths
9931which can't be decoded in the current locale encoding.")
9932 (license license:expat)))
9933
9934
9935(define-public ghc-system-filepath
9936 (package
9937 (name "ghc-system-filepath")
9938 (version "0.4.14")
9939 (source
9940 (origin
9941 (method url-fetch)
9942 (uri (string-append
9943 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
9944 version ".tar.gz"))
9945 (sha256
9946 (base32
9947 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
9948 (build-system haskell-build-system)
9949 ;; FIXME: One of the tests fails:
9950 ;; [ FAIL ] tests.validity.posix
9951 ;; note: seed=7310214548328823169
9952 ;; *** Failed! Falsifiable (after 24 tests):
9953 ;; 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"
9954 (arguments `(#:tests? #f))
9955 (inputs
9956 `(("ghc-chell" ,ghc-chell)
9957 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
9958 ("ghc-quickcheck" ,ghc-quickcheck)))
9959 (home-page "https://github.com/fpco/haskell-filesystem")
9960 (synopsis "High-level, byte-based file and directory path manipulations")
9961 (description
9962 "Provides a FilePath datatype and utility functions for operating on it.
9963Unlike the filepath package, this package does not simply reuse String,
9964increasing type safety.")
9965 (license license:expat)))
9966
9967;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
9968;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
9969;; which depends on ghc-chell and ghc-chell-quickcheck.
9970;; Therefore we bootstrap it with tests disabled.
9971(define ghc-system-filepath-bootstrap
9972 (package
9973 (name "ghc-system-filepath-bootstrap")
9974 (version "0.4.14")
9975 (source
9976 (origin
9977 (method url-fetch)
9978 (uri (string-append
9979 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
9980 version ".tar.gz"))
9981 (sha256
9982 (base32
9983 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
9984 (build-system haskell-build-system)
9985 (arguments
9986 `(#:tests? #f))
9987 (inputs
9988 `(("ghc-quickcheck" ,ghc-quickcheck)))
9989 (home-page "https://github.com/fpco/haskell-filesystem")
9990 (synopsis "High-level, byte-based file and directory path manipulations")
9991 (description
9992 "Provides a FilePath datatype and utility functions for operating on it.
9993Unlike the filepath package, this package does not simply reuse String,
9994increasing type safety.")
9995 (license license:expat)))
9996
9997
9998(define-public ghc-tagged
9999 (package
10000 (name "ghc-tagged")
10001 (version "0.8.5")
10002 (source
10003 (origin
10004 (method url-fetch)
10005 (uri (string-append
10006 "https://hackage.haskell.org/package/tagged/tagged-"
10007 version
10008 ".tar.gz"))
10009 (sha256
10010 (base32
10011 "16cdzh0bw16nvjnyyy5j9s60malhz4nnazw96vxb0xzdap4m2z74"))))
10012 (build-system haskell-build-system)
10013 (arguments
10014 `(#:cabal-revision
10015 ("2" "0r2knfcq0b4s652vlvlnfwxlc2mkc2ra9kl8bp4zdn1awmfy0ia5")))
10016 (inputs
10017 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10018 (home-page "https://hackage.haskell.org/package/tagged")
10019 (synopsis "Haskell phantom types to avoid passing dummy arguments")
10020 (description "This library provides phantom types for Haskell 98, to avoid
10021having to unsafely pass dummy arguments.")
10022 (license license:bsd-3)))
10023
10024(define-public ghc-tar
10025 (package
10026 (name "ghc-tar")
10027 (version "0.5.1.0")
10028 (source
10029 (origin
10030 (method url-fetch)
10031 (uri (string-append
10032 "https://hackage.haskell.org/package/tar/tar-"
10033 version ".tar.gz"))
10034 (sha256
10035 (base32
10036 "0s2brvaxg5fki2jdkccmnpssiy6a3wjh24p6a3dkkdvjcixnk7f8"))))
10037 (build-system haskell-build-system)
10038 ;; FIXME: 2/24 tests fail.
10039 (arguments `(#:tests? #f))
10040 (inputs
10041 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10042 ("ghc-quickcheck" ,ghc-quickcheck)
10043 ("ghc-tasty" ,ghc-tasty)
10044 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10045 (home-page "https://hackage.haskell.org/package/tar")
10046 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10047 (description
10048 "This library is for working with \\\"@.tar@\\\" archive files.
10049It can read and write a range of common variations of the tar archive format
10050including V7, POSIX USTAR and GNU formats. It provides support for packing and
10051unpacking portable archives. This makes it suitable for distribution but not
10052backup because details like file ownership and exact permissions are not
10053preserved. It also provides features for random access to archive content using
10054an index.")
10055 (license license:bsd-3)))
10056
10057(define-public ghc-temporary
10058 (package
10059 (name "ghc-temporary")
10060 (version "1.3")
10061 (source
10062 (origin
10063 (method url-fetch)
10064 (uri (string-append
10065 "https://hackage.haskell.org/package/temporary/temporary-"
10066 version
10067 ".tar.gz"))
10068 (sha256
10069 (base32
10070 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10071 (build-system haskell-build-system)
10072 (inputs
10073 `(("ghc-exceptions" ,ghc-exceptions)
10074 ("ghc-random" ,ghc-random)))
10075 (native-inputs
10076 `(("ghc-base-compat" ,ghc-base-compat)
10077 ("ghc-tasty" ,ghc-tasty)
10078 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10079 (home-page "https://www.github.com/batterseapower/temporary")
10080 (synopsis "Temporary file and directory support")
10081 (description "The functions for creating temporary files and directories
10082in the Haskelll base library are quite limited. This library just repackages
10083the Cabal implementations of its own temporary file and folder functions so
10084that you can use them without linking against Cabal or depending on it being
10085installed.")
10086 (license license:bsd-3)))
10087
10088(define-public ghc-temporary-rc
10089 (package
10090 (name "ghc-temporary-rc")
10091 (version "1.2.0.3")
10092 (source
10093 (origin
10094 (method url-fetch)
10095 (uri (string-append
10096 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10097 version
10098 ".tar.gz"))
10099 (sha256
10100 (base32
10101 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10102 (build-system haskell-build-system)
10103 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10104 (home-page
10105 "https://www.github.com/feuerbach/temporary")
10106 (synopsis
10107 "Portable temporary file and directory support")
10108 (description
10109 "The functions for creating temporary files and directories in the base
10110library are quite limited. The unixutils package contains some good ones, but
10111they aren't portable to Windows. This library just repackages the Cabal
10112implementations of its own temporary file and folder functions so that you can
10113use them without linking against Cabal or depending on it being installed.
10114This is a better maintained fork of the \"temporary\" package.")
10115 (license license:bsd-3)))
10116
10117(define-public ghc-terminal-size
10118 (package
10119 (name "ghc-terminal-size")
10120 (version "0.3.2.1")
10121 (source (origin
10122 (method url-fetch)
10123 (uri (string-append
10124 "https://hackage.haskell.org/package/terminal-size/"
10125 "terminal-size-" version ".tar.gz"))
10126 (sha256
10127 (base32
10128 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10129 (build-system haskell-build-system)
10130 (home-page "https://hackage.haskell.org/package/terminal-size")
10131 (synopsis "Get terminal window height and width")
10132 (description "Get terminal window height and width without ncurses
10133dependency.")
10134 (license license:bsd-3)))
10135
10136(define-public ghc-texmath
10137 (package
10138 (name "ghc-texmath")
10139 (version "0.11.0.1")
10140 (source (origin
10141 (method url-fetch)
10142 (uri (string-append "https://hackage.haskell.org/package/"
10143 "texmath/texmath-" version ".tar.gz"))
10144 (sha256
10145 (base32
10146 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
10147 (build-system haskell-build-system)
10148 (inputs
10149 `(("ghc-syb" ,ghc-syb)
10150 ("ghc-network-uri" ,ghc-network-uri)
10151 ("ghc-split" ,ghc-split)
10152 ("ghc-temporary" ,ghc-temporary)
10153 ("ghc-utf8-string" ,ghc-utf8-string)
10154 ("ghc-xml" ,ghc-xml)
10155 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10156 (home-page "https://github.com/jgm/texmath")
10157 (synopsis "Conversion between formats used to represent mathematics")
10158 (description
10159 "The texmath library provides functions to read and write TeX math,
10160presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10161Office). Support is also included for converting math formats to pandoc's
10162native format (allowing conversion, via pandoc, to a variety of different
10163markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10164it can parse and apply LaTeX macros.")
10165 (license license:gpl2+)))
10166
10167(define-public ghc-text-binary
10168 (package
10169 (name "ghc-text-binary")
10170 (version "0.2.1.1")
10171 (source
10172 (origin
10173 (method url-fetch)
10174 (uri (string-append "https://hackage.haskell.org/package/"
10175 "text-binary/text-binary-"
10176 version ".tar.gz"))
10177 (sha256
10178 (base32
10179 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10180 (build-system haskell-build-system)
10181 (home-page "https://github.com/kawu/text-binary")
10182 (synopsis "Binary instances for text types")
10183 (description
10184 "This package provides a compatibility layer providing @code{Binary}
10185instances for strict and lazy text types for versions older than 1.2.1 of the
10186text package.")
10187 (license license:bsd-2)))
10188
10189(define-public ghc-tf-random
10190 (package
10191 (name "ghc-tf-random")
10192 (version "0.5")
10193 (outputs '("out" "doc"))
10194 (source
10195 (origin
10196 (method url-fetch)
10197 (uri (string-append
10198 "https://hackage.haskell.org/package/tf-random/tf-random-"
10199 version
10200 ".tar.gz"))
10201 (sha256
10202 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10203 (build-system haskell-build-system)
10204 (inputs
10205 `(("ghc-primitive" ,ghc-primitive)
10206 ("ghc-random" ,ghc-random)))
10207 (home-page "https://hackage.haskell.org/package/tf-random")
10208 (synopsis "High-quality splittable pseudorandom number generator")
10209 (description "This package contains an implementation of a high-quality
10210splittable pseudorandom number generator. The generator is based on a
10211cryptographic hash function built on top of the ThreeFish block cipher. See
10212the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10213Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10214 (license license:bsd-3)))
10215
10216(define-public ghc-th-abstraction
10217 (package
10218 (name "ghc-th-abstraction")
10219 (version "0.2.8.0")
10220 (source
10221 (origin
10222 (method url-fetch)
10223 (uri (string-append "https://hackage.haskell.org/package/"
10224 "th-abstraction/th-abstraction-"
10225 version ".tar.gz"))
10226 (sha256
10227 (base32
10228 "0n17w4q2ykd0nica4sck2wng6md56rfad8x0icl0l8vnzb9nn4ya"))))
10229 (build-system haskell-build-system)
10230 (home-page "https://github.com/glguy/th-abstraction")
10231 (synopsis "Nicer interface for reified information about data types")
10232 (description
10233 "This package normalizes variations in the interface for inspecting
10234datatype information via Template Haskell so that packages and support a
10235single, easier to use informational datatype while supporting many versions of
10236Template Haskell.")
10237 (license license:isc)))
10238
10239(define-public ghc-th-expand-syns
10240 (package
10241 (name "ghc-th-expand-syns")
10242 (version "0.4.4.0")
10243 (source (origin
10244 (method url-fetch)
10245 (uri (string-append "https://hackage.haskell.org/package/"
10246 "th-expand-syns/th-expand-syns-"
10247 version ".tar.gz"))
10248 (sha256
10249 (base32
10250 "01prlvh3py5hq5ccjidfyp9ixq2zd88dkbsidyjrpkja6v8m43yc"))))
10251 (build-system haskell-build-system)
10252 (inputs
10253 `(("ghc-syb" ,ghc-syb)))
10254 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10255 (synopsis "Expands type synonyms in Template Haskell ASTs")
10256 (description
10257 "This package enables users to expand type synonyms in Template Haskell
10258@dfn{abstract syntax trees} (ASTs).")
10259 (license license:bsd-3)))
10260
10261(define-public ghc-th-lift
10262 (package
10263 (name "ghc-th-lift")
10264 (version "0.7.11")
10265 (source (origin
10266 (method url-fetch)
10267 (uri (string-append "https://hackage.haskell.org/package/"
10268 "th-lift/th-lift-" version ".tar.gz"))
10269 (sha256
10270 (base32
10271 "131360zxb0hazbqwbkk6ab2p77jkxr79bwwm618mrwrwkm3x2g6m"))))
10272 (build-system haskell-build-system)
10273 (inputs
10274 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10275 (home-page "https://github.com/mboes/th-lift")
10276 (synopsis "Derive Template Haskell's Lift class for datatypes")
10277 (description
10278 "This is a Haskell library to derive Template Haskell's Lift class for
10279datatypes.")
10280 (license license:bsd-3)))
10281
10282(define-public ghc-th-lift-instances
10283 (package
10284 (name "ghc-th-lift-instances")
10285 (version "0.1.11")
10286 (source
10287 (origin
10288 (method url-fetch)
10289 (uri (string-append "https://hackage.haskell.org/package/"
10290 "th-lift-instances/th-lift-instances-"
10291 version ".tar.gz"))
10292 (sha256
10293 (base32
10294 "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x"))))
10295 (build-system haskell-build-system)
10296 (inputs
10297 `(("ghc-th-lift" ,ghc-th-lift)
10298 ("ghc-vector" ,ghc-vector)
10299 ("ghc-quickcheck" ,ghc-quickcheck)))
10300 (home-page "https://github.com/bennofs/th-lift-instances/")
10301 (synopsis "Lift instances for template-haskell for common data types.")
10302 (description "Most data types in the Haskell platform do not have Lift
10303instances. This package provides orphan instances for @code{containers},
10304@code{text}, @code{bytestring} and @code{vector}.")
10305 (license license:bsd-3)))
10306
10307(define-public ghc-th-orphans
10308 (package
10309 (name "ghc-th-orphans")
10310 (version "0.13.6")
10311 (source (origin
10312 (method url-fetch)
10313 (uri (string-append "https://hackage.haskell.org/package/"
10314 "th-orphans/th-orphans-" version ".tar.gz"))
10315 (sha256
10316 (base32
10317 "0sfl3pn9kq9da3ji3lsgzgzy82vz6yvsg80dmakc1jvk7awycibp"))))
10318 (build-system haskell-build-system)
10319 (inputs
10320 `(("ghc-th-lift" ,ghc-th-lift)
10321 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10322 ("ghc-th-reify-many" ,ghc-th-reify-many)
10323 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10324 (native-inputs
10325 `(("ghc-hspec" ,ghc-hspec)))
10326 (home-page "https://hackage.haskell.org/package/th-orphans")
10327 (synopsis "Orphan instances for TH datatypes")
10328 (description
10329 "This package provides orphan instances for Template Haskell datatypes. In particular,
10330instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10331and @code{Eq} instances. These instances used to live in the haskell-src-meta
10332package, and that's where the version number started.")
10333 (license license:bsd-3)))
10334
10335(define-public ghc-threads
10336 (package
10337 (name "ghc-threads")
10338 (version "0.5.1.6")
10339 (source
10340 (origin
10341 (method url-fetch)
10342 (uri (string-append "https://hackage.haskell.org/package/"
10343 "threads/threads-" version ".tar.gz"))
10344 (sha256
10345 (base32
10346 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10347 (build-system haskell-build-system)
10348 (native-inputs
10349 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10350 ("ghc-hunit" ,ghc-hunit)
10351 ("ghc-test-framework" ,ghc-test-framework)
10352 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10353 (home-page "https://github.com/basvandijk/threads")
10354 (synopsis "Fork threads and wait for their result")
10355 (description "This package provides functions to fork threads and
10356wait for their result, whether it's an exception or a normal value.
10357Besides waiting for the termination of a single thread this package also
10358provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10359package is similar to the @code{threadmanager}, @code{async} and
10360@code{spawn} packages. The advantages of this package are:
10361
dddbc90c
RV
10362@itemize
10363@item Simpler API.
10364@item More efficient in both space and time.
10365@item No space-leak when forking a large number of threads.
10366@item Correct handling of asynchronous exceptions.
10367@item GHC specific functionality like @code{forkOn} and
10368@code{forkIOWithUnmask}.
10369@end itemize")
10370 (license license:bsd-3)))
10371
10372(define-public ghc-th-reify-many
10373 (package
10374 (name "ghc-th-reify-many")
10375 (version "0.1.8")
10376 (source (origin
10377 (method url-fetch)
10378 (uri (string-append "https://hackage.haskell.org/package/"
10379 "th-reify-many/th-reify-many-"
10380 version ".tar.gz"))
10381 (sha256
10382 (base32
10383 "0hzy6hvhvcd6i60vx5cp2b7ggmnnjh9rx4h8bm8xw4grglcaxjnf"))))
10384 (build-system haskell-build-system)
10385 (inputs
10386 `(("ghc-safe" ,ghc-safe)
10387 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10388 (home-page "https://github.com/mgsloan/th-reify-many")
10389 (synopsis "Recurseively reify template haskell datatype info")
10390 (description
10391 "th-reify-many provides functions for recursively reifying top level
10392declarations. The main intended use case is for enumerating the names of
10393datatypes reachable from an initial datatype, and passing these names to some
10394function which generates instances.")
10395 (license license:bsd-3)))
10396
10397(define-public ghc-time-locale-compat
10398 (package
10399 (name "ghc-time-locale-compat")
10400 (version "0.1.1.5")
10401 (source
10402 (origin
10403 (method url-fetch)
10404 (uri (string-append "https://hackage.haskell.org/package/"
10405 "time-locale-compat/time-locale-compat-"
10406 version ".tar.gz"))
10407 (sha256
10408 (base32
10409 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10410 (build-system haskell-build-system)
10411 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10412 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10413 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10414 (description "This package contains a wrapped name module for
10415@code{TimeLocale}.")
10416 (license license:bsd-3)))
10417
7bbfa392
JS
10418(define-public ghc-timeit
10419 (package
10420 (name "ghc-timeit")
10421 (version "2.0")
10422 (source
10423 (origin
10424 (method url-fetch)
10425 (uri
10426 (string-append
10427 "https://hackage.haskell.org/package/timeit/timeit-"
10428 version ".tar.gz"))
10429 (sha256
10430 (base32
10431 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
10432 (build-system haskell-build-system)
10433 (home-page "https://github.com/merijn/timeit")
10434 (synopsis "Time monadic computations with an IO base")
10435 (description "This package provides a simple wrapper to show the
10436used CPU time of monadic computation with an IO base.")
10437 (license license:bsd-3)))
10438
dddbc90c
RV
10439(define-public ghc-tldr
10440 (package
10441 (name "ghc-tldr")
10442 (version "0.4.0.1")
10443 (source
10444 (origin
10445 (method url-fetch)
10446 (uri (string-append
10447 "https://hackage.haskell.org/package/tldr/tldr-"
10448 version
10449 ".tar.gz"))
10450 (sha256
10451 (base32
10452 "0nc581y9jjzwd8l88g48c72mla7k6q1w102akl7gl5jsk9ljamd3"))))
10453 (build-system haskell-build-system)
10454 (inputs
10455 `(("ghc-cmark" ,ghc-cmark)
10456 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10457 ("ghc-typed-process" ,ghc-typed-process)
10458 ("ghc-semigroups" ,ghc-semigroups)))
10459 (native-inputs
10460 `(("ghc-tasty" ,ghc-tasty)
10461 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10462 (home-page "https://github.com/psibi/tldr-hs#readme")
10463 (synopsis "Haskell tldr client")
10464 (description "This package provides the @command{tldr} command and a
10465Haskell client library allowing users to update and view @code{tldr} pages
10466from a shell. The @code{tldr} pages are a community effort to simplify the
10467man pages with practical examples.")
10468 (license license:bsd-3)))
10469
10470(define-public ghc-transformers-base
10471 (package
10472 (name "ghc-transformers-base")
10473 (version "0.4.5.2")
10474 (source
10475 (origin
10476 (method url-fetch)
10477 (uri (string-append
10478 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10479 version
10480 ".tar.gz"))
10481 (sha256
10482 (base32
10483 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10484 (build-system haskell-build-system)
10485 (inputs
10486 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10487 (home-page
10488 "https://hackage.haskell.org/package/transformers-compat")
10489 (synopsis
10490 "Backported transformer library")
10491 (description
10492 "Backported versions of types that were added to transformers in
10493transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10494compatibility to run on old versions of the platform.")
10495 (license license:bsd-3)))
10496
10497(define-public ghc-transformers-compat
10498 (package
10499 (name "ghc-transformers-compat")
10500 (version "0.6.2")
10501 (source
10502 (origin
10503 (method url-fetch)
10504 (uri (string-append
10505 "https://hackage.haskell.org/package/transformers-compat"
10506 "/transformers-compat-" version ".tar.gz"))
10507 (sha256
10508 (base32
10509 "1gp4a8kvniwgm8947ghb4iwv4b7wd6ry4kvv4nfnym4agf5j41nw"))))
10510 (build-system haskell-build-system)
10511 (home-page "https://github.com/ekmett/transformers-compat/")
10512 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10513 (description "This package includes backported versions of types that were
10514added to transformers in transformers 0.3 and 0.4 for users who need strict
10515transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10516but also need those types.")
10517 (license license:bsd-3)))
10518
10519(define-public ghc-tree-diff
10520 (package
10521 (name "ghc-tree-diff")
10522 (version "0.0.1")
10523 (source
10524 (origin
10525 (method url-fetch)
10526 (uri (string-append
10527 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10528 version
10529 ".tar.gz"))
10530 (sha256
10531 (base32
10532 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10533 (build-system haskell-build-system)
10534 (arguments
10535 `(#:cabal-revision
10536 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10537 #:phases
10538 (modify-phases %standard-phases
10539 (add-before 'configure 'update-constraints
10540 (lambda _
10541 (substitute* "tree-diff.cabal"
10542 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10543 "trifecta >=1.7.1.1 && <=2")))))))
10544 (inputs
10545 `(("ghc-aeson" ,ghc-aeson)
10546 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10547 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10548 ("ghc-base-compat" ,ghc-base-compat)
10549 ("ghc-generics-sop" ,ghc-generics-sop)
10550 ("ghc-hashable" ,ghc-hashable)
10551 ("ghc-memotrie" ,ghc-memotrie)
10552 ("ghc-parsers" ,ghc-parsers)
10553 ("ghc-quickcheck" ,ghc-quickcheck)
10554 ("ghc-scientific" ,ghc-scientific)
10555 ("ghc-tagged" ,ghc-tagged)
10556 ("ghc-unordered-containers" ,ghc-unordered-containers)
10557 ("ghc-uuid-types" ,ghc-uuid-types)
10558 ("ghc-vector" ,ghc-vector)))
10559 (native-inputs
10560 `(("ghc-base-compat" ,ghc-base-compat)
10561 ("ghc-quickcheck" ,ghc-quickcheck)
10562 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10563 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10564 ("ghc-trifecta" ,ghc-trifecta)
10565 ("ghc-tasty" ,ghc-tasty)
10566 ("ghc-tasty-golden" ,ghc-tasty-golden)
10567 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10568 (home-page "https://github.com/phadej/tree-diff")
10569 (synopsis "Compute difference between (expression) trees")
10570 (description "This Haskell library provides a function for computing
10571the difference between (expression) trees. It also provides a way to
10572compute the difference between arbitrary abstract datatypes (ADTs) using
10573@code{Generics}-derivable helpers.")
10574 (license license:bsd-3)))
10575
10576(define-public ghc-trifecta
10577 (package
10578 (name "ghc-trifecta")
10579 (version "2")
10580 (source (origin
10581 (method url-fetch)
10582 (uri (string-append
10583 "https://hackage.haskell.org/package/trifecta/"
10584 "trifecta-" version ".tar.gz"))
10585 (sha256
10586 (base32
10587 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10588 (build-system haskell-build-system)
10589 (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
10590 (inputs
10591 `(("ghc-reducers" ,ghc-reducers)
10592 ("ghc-semigroups" ,ghc-semigroups)
10593 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10594 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10595 ("ghc-blaze-builder" ,ghc-blaze-builder)
10596 ("ghc-blaze-html" ,ghc-blaze-html)
10597 ("ghc-blaze-markup" ,ghc-blaze-markup)
10598 ("ghc-charset" ,ghc-charset)
10599 ("ghc-comonad" ,ghc-comonad)
10600 ("ghc-fingertree" ,ghc-fingertree)
10601 ("ghc-hashable" ,ghc-hashable)
10602 ("ghc-lens" ,ghc-lens)
10603 ("ghc-parsers" ,ghc-parsers)
10604 ("ghc-profunctors" ,ghc-profunctors)
10605 ("ghc-unordered-containers" ,ghc-unordered-containers)
10606 ("ghc-utf8-string" ,ghc-utf8-string)))
10607 (native-inputs
10608 `(("cabal-doctest" ,cabal-doctest)
10609 ("ghc-doctest" ,ghc-doctest)
10610 ("ghc-quickcheck" ,ghc-quickcheck)))
10611 (home-page "https://github.com/ekmett/trifecta/")
10612 (synopsis "Parser combinator library with convenient diagnostics")
10613 (description "Trifecta is a modern parser combinator library for Haskell,
10614with slicing and Clang-style colored diagnostics.")
10615 (license license:bsd-3)))
10616
10617(define-public ghc-tuple-th
10618 (package
10619 (name "ghc-tuple-th")
10620 (version "0.2.5")
10621 (source
10622 (origin
10623 (method url-fetch)
10624 (uri (string-append "https://hackage.haskell.org/package/"
10625 "tuple-th-" version "/"
10626 "tuple-th-" version ".tar.gz"))
10627 (sha256
10628 (base32
10629 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10630 (build-system haskell-build-system)
10631 (home-page "https://github.com/DanielSchuessler/tuple-th")
10632 (synopsis "Generate utility functions for tuples of statically known size
10633for Haskell")
10634 (description "This Haskell package contains Template Haskell functions for
10635generating functions similar to those in @code{Data.List} for tuples of
10636statically known size.")
10637 (license license:bsd-3)))
10638
10639(define-public ghc-typed-process
10640 (package
10641 (name "ghc-typed-process")
10642 (version "0.2.3.0")
10643 (source
10644 (origin
10645 (method url-fetch)
10646 (uri (string-append "https://hackage.haskell.org/package/"
10647 "typed-process/typed-process-"
10648 version ".tar.gz"))
10649 (sha256
10650 (base32
10651 "0j36vrc9w841m5qbwqra1lwiznx31xfnhin1sm8x2c2739csbpn0"))))
10652 (build-system haskell-build-system)
10653 (inputs
10654 `(("ghc-async" ,ghc-async)))
10655 (native-inputs
10656 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10657 ("ghc-hspec" ,ghc-hspec)
10658 ("hspec-discover" ,hspec-discover)
10659 ("ghc-temporary" ,ghc-temporary)))
10660 (home-page "https://haskell-lang.org/library/typed-process")
10661 (synopsis "Run external processes with strong typing of streams")
10662 (description
10663 "This library provides the ability to launch and interact with external
10664processes. It wraps around the @code{process} library, and intends to improve
10665upon it.")
10666 (license license:expat)))
10667
d392f803
AG
10668(define-public ghc-unagi-chan
10669 (package
10670 (name "ghc-unagi-chan")
10671 (version "0.4.1.2")
10672 (source
10673 (origin
10674 (method url-fetch)
10675 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
10676 "/unagi-chan-" version ".tar.gz"))
10677 (sha256
10678 (base32
10679 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
10680 (build-system haskell-build-system)
10681 (inputs
10682 `(("ghc-atomic-primops" ,ghc-atomic-primops)
10683 ("ghc-primitive" ,ghc-primitive)))
10684 (arguments
10685 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
10686 #:cabal-revision
10687 ("1"
10688 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
10689 (home-page "http://hackage.haskell.org/package/unagi-chan")
10690 (synopsis "Fast concurrent queues with a Chan-like API, and more")
10691 (description
10692 "This library provides implementations of concurrent FIFO queues (for
10693both general boxed and primitive unboxed values) that are fast, perform well
10694under contention, and offer a Chan-like interface. The library may be of
10695limited usefulness outside of x86 architectures where the fetch-and-add
10696instruction is not available.")
10697 (license license:bsd-3)))
10698
dddbc90c
RV
10699(define-public ghc-unbounded-delays
10700 (package
10701 (name "ghc-unbounded-delays")
10702 (version "0.1.1.0")
10703 (source
10704 (origin
10705 (method url-fetch)
10706 (uri (string-append
10707 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
10708 version
10709 ".tar.gz"))
10710 (sha256
10711 (base32
10712 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
10713 (build-system haskell-build-system)
10714 (home-page "https://github.com/basvandijk/unbounded-delays")
10715 (synopsis "Unbounded thread delays and timeouts")
10716 (description "The @code{threadDelay} and @code{timeout} functions from the
10717Haskell base library use the bounded @code{Int} type for specifying the delay
10718or timeout period. This package provides alternative functions which use the
10719unbounded @code{Integer} type.")
10720 (license license:bsd-3)))
10721
10722(define-public ghc-unexceptionalio
10723 (package
10724 (name "ghc-unexceptionalio")
10725 (version "0.4.0")
10726 (source
10727 (origin
10728 (method url-fetch)
10729 (uri (string-append "https://hackage.haskell.org/package/"
10730 "unexceptionalio-" version "/" "unexceptionalio-"
10731 version ".tar.gz"))
10732 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
10733 (build-system haskell-build-system)
10734 (home-page "https://github.com/singpolyma/unexceptionalio")
10735 (synopsis "IO without any non-error, synchronous exceptions")
10736 (description "When you've caught all the exceptions that can be
10737handled safely, this is what you're left with.")
10738 (license license:isc)))
10739
10740(define-public ghc-union-find
10741 (package
10742 (name "ghc-union-find")
10743 (version "0.2")
10744 (source (origin
10745 (method url-fetch)
10746 (uri (string-append
10747 "https://hackage.haskell.org/package/union-find/union-find-"
10748 version ".tar.gz"))
10749 (sha256
10750 (base32
10751 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
10752 (build-system haskell-build-system)
10753 (home-page "https://github.com/nominolo/union-find")
10754 (synopsis "Efficient union and equivalence testing of sets")
10755 (description
10756 "The Union/Find algorithm implements these operations in (effectively)
10757constant-time:
10758@enumerate
10759@item Check whether two elements are in the same equivalence class.
10760@item Create a union of two equivalence classes.
10761@item Look up the descriptor of the equivalence class.
10762@end enumerate\n")
10763 (license license:bsd-3)))
10764
10765(define-public ghc-uniplate
10766 (package
10767 (name "ghc-uniplate")
10768 (version "1.6.12")
10769 (source
10770 (origin
10771 (method url-fetch)
10772 (uri (string-append
10773 "https://hackage.haskell.org/package/uniplate/uniplate-"
10774 version
10775 ".tar.gz"))
10776 (sha256
10777 (base32
10778 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
10779 (build-system haskell-build-system)
10780 (inputs
10781 `(("ghc-syb" ,ghc-syb)
10782 ("ghc-hashable" ,ghc-hashable)
10783 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10784 (home-page "http://community.haskell.org/~ndm/uniplate/")
10785 (synopsis "Simple, concise and fast generic operations")
10786 (description "Uniplate is a library for writing simple and concise generic
10787operations. Uniplate has similar goals to the original Scrap Your Boilerplate
10788work, but is substantially simpler and faster.")
10789 (license license:bsd-3)))
10790
10791(define-public ghc-unix-compat
10792 (package
10793 (name "ghc-unix-compat")
10794 (version "0.5.1")
10795 (source
10796 (origin
10797 (method url-fetch)
10798 (uri (string-append
10799 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
10800 version
10801 ".tar.gz"))
10802 (sha256
10803 (base32
10804 "0llwl7rp63fy2ychwdclz1afj45pbin5pfl01dvn6rwhvmwhr7d3"))))
10805 (build-system haskell-build-system)
10806 (home-page
10807 "https://github.com/jystic/unix-compat")
10808 (synopsis "Portable POSIX-compatibility layer")
10809 (description
10810 "This package provides portable implementations of parts of the unix
10811package. This package re-exports the unix package when available. When it
10812isn't available, portable implementations are used.")
10813 (license license:bsd-3)))
10814
10815(define-public ghc-unix-time
10816 (package
10817 (name "ghc-unix-time")
10818 (version "0.3.8")
10819 (source
10820 (origin
10821 (method url-fetch)
10822 (uri (string-append
10823 "https://hackage.haskell.org/package/unix-time/unix-time-"
10824 version
10825 ".tar.gz"))
10826 (sha256
10827 (base32
10828 "051slgpid5cxiaw203ky0ql3823h28fcjs08axkzd4265wrvv8fw"))))
10829 (build-system haskell-build-system)
10830 (arguments
10831 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
10832 ; is weird, that should be provided by GHC 7.10.2.
10833 (inputs
10834 `(("ghc-old-time" ,ghc-old-time)
10835 ("ghc-old-locale" ,ghc-old-locale)))
10836 (home-page "https://hackage.haskell.org/package/unix-time")
10837 (synopsis "Unix time parser/formatter and utilities")
10838 (description "This library provides fast parsing and formatting utilities
10839for Unix time in Haskell.")
10840 (license license:bsd-3)))
10841
10842(define-public ghc-unliftio
10843 (package
10844 (name "ghc-unliftio")
10845 (version "0.2.7.0")
10846 (source
10847 (origin
10848 (method url-fetch)
10849 (uri (string-append
10850 "https://hackage.haskell.org/package/unliftio/unliftio-"
10851 version
10852 ".tar.gz"))
10853 (sha256
10854 (base32
10855 "0qql93lq5w7qghl454cc3s1i8v1jb4h08n82fqkw0kli4g3g9njs"))))
10856 (build-system haskell-build-system)
10857 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
10858 (inputs
10859 `(("ghc-async" ,ghc-async)
10860 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10861 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
10862 (home-page "https://github.com/fpco/unliftio")
10863 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
10864IO (batteries included)")
10865 (description "This Haskell package provides the core @code{MonadUnliftIO}
10866typeclass, a number of common instances, and a collection of common functions
10867working with it.")
10868 (license license:expat)))
10869
10870(define-public ghc-unliftio-core
10871 (package
10872 (name "ghc-unliftio-core")
10873 (version "0.1.1.0")
10874 (source
10875 (origin
10876 (method url-fetch)
10877 (uri (string-append "https://hackage.haskell.org/package/"
10878 "unliftio-core-" version "/"
10879 "unliftio-core-" version ".tar.gz"))
10880 (sha256
10881 (base32
10882 "1193fplsjm1lcr05xwvkj1rsyzx74i755f6kw3ikmxbsv0bv0l3m"))))
10883 (build-system haskell-build-system)
10884 (arguments
10885 `(#:cabal-revision
10886 ("1" "16bjwcsaghqqmyi69rq65dn3ydifyfaabq3ns37apdm00mwqbcj2")))
10887 (home-page
10888 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
10889 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
10890 (description "This Haskell package provides the core @code{MonadUnliftIO}
10891typeclass, instances for base and transformers, and basic utility
10892functions.")
10893 (license license:expat)))
10894
10895(define-public ghc-unordered-containers
10896 (package
10897 (name "ghc-unordered-containers")
10898 (version "0.2.9.0")
10899 (outputs '("out" "doc"))
10900 (source
10901 (origin
10902 (method url-fetch)
10903 (uri (string-append
10904 "https://hackage.haskell.org/package/unordered-containers"
10905 "/unordered-containers-" version ".tar.gz"))
10906 (sha256
10907 (base32
10908 "0l4264p0av12cc6i8gls13q8y27x12z2ar4x34n3x59y99fcnc37"))))
10909 (build-system haskell-build-system)
10910 (inputs
10911 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
10912 ("ghc-hunit" ,ghc-hunit)
10913 ("ghc-quickcheck" ,ghc-quickcheck)
10914 ("ghc-test-framework" ,ghc-test-framework)
10915 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10916 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
10917 ("ghc-hashable" ,ghc-hashable)))
10918 (home-page
10919 "https://github.com/tibbe/unordered-containers")
10920 (synopsis
10921 "Efficient hashing-based container types")
10922 (description
10923 "Efficient hashing-based container types. The containers have been
10924optimized for performance critical use, both in terms of large data quantities
10925and high speed.")
10926 (license license:bsd-3)))
10927
10928(define-public ghc-unordered-containers-bootstrap
10929 (package
10930 (inherit ghc-unordered-containers)
10931 (name "ghc-unordered-containers-bootstrap")
10932 (arguments `(#:tests? #f))
10933 (inputs
10934 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 10935 (properties '((hidden? #t)))))
dddbc90c 10936
a52f4c57
JS
10937(define-public ghc-unsafe
10938 (package
10939 (name "ghc-unsafe")
10940 (version "0.0")
10941 (source
10942 (origin
10943 (method url-fetch)
10944 (uri
10945 (string-append
10946 "https://hackage.haskell.org/package/unsafe/unsafe-"
10947 version ".tar.gz"))
10948 (sha256
10949 (base32
10950 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
10951 (build-system haskell-build-system)
10952 (home-page "https://hackage.haskell.org/package/unsafe")
10953 (synopsis "Unified interface to unsafe functions")
10954 (description "Safe Haskell introduced the notion of safe and unsafe
10955modules. In order to make as many as possible modules ``safe'', the
10956well-known unsafe functions were moved to distinguished modules. This
10957makes it hard to write packages that work with both old and new versions
10958of GHC. This package provides a single module System.Unsafe that
10959exports the unsafe functions from the base package. It provides them in
10960a style ready for qualification, that is, you should import them by
10961@code{import qualified System.Unsafe as Unsafe}.")
10962 (license license:bsd-3)))
10963
dddbc90c
RV
10964(define-public ghc-uri-bytestring
10965 (package
10966 (name "ghc-uri-bytestring")
10967 (version "0.3.2.0")
10968 (source
10969 (origin
10970 (method url-fetch)
10971 (uri (string-append "https://hackage.haskell.org/package/"
10972 "uri-bytestring-" version "/"
10973 "uri-bytestring-" version ".tar.gz"))
10974 (sha256
10975 (base32
10976 "1q04j5ybvk37zk2m0bkjwyhblz0ymdj0cn4rvsvdca1ikn5xdv5c"))))
10977 (build-system haskell-build-system)
10978 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
10979 ("ghc-fail" ,ghc-fail)
10980 ("ghc-blaze-builder" ,ghc-blaze-builder)
10981 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
10982 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
10983 ("ghc-hunit" ,ghc-hunit)
10984 ("ghc-quickcheck" ,ghc-quickcheck)
10985 ("ghc-tasty" ,ghc-tasty)
10986 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10987 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10988 ("ghc-base-compat" ,ghc-base-compat)
10989 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
10990 ("ghc-semigroups" ,ghc-semigroups)
10991 ("ghc-generics-sop" ,ghc-generics-sop)))
10992 (home-page "https://github.com/Soostone/uri-bytestring")
10993 (synopsis "Haskell URI parsing as ByteStrings")
10994 (description "This Haskell package aims to be an RFC3986 compliant URI
10995parser that uses ByteStrings for parsing and representing the URI data.")
10996 (license license:bsd-3)))
10997
10998(define-public ghc-utf8-string
10999 (package
11000 (name "ghc-utf8-string")
11001 (version "1.0.1.1")
11002 (source
11003 (origin
11004 (method url-fetch)
11005 (uri (string-append
11006 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
11007 version
11008 ".tar.gz"))
11009 (sha256
11010 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
11011 (build-system haskell-build-system)
11012 (arguments
11013 `(#:cabal-revision
11014 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
11015 (home-page "https://github.com/glguy/utf8-string/")
11016 (synopsis "Support for reading and writing UTF8 Strings")
11017 (description
11018 "A UTF8 layer for Strings. The utf8-string package provides operations
11019for encoding UTF8 strings to Word8 lists and back, and for reading and writing
11020UTF8 without truncation.")
11021 (license license:bsd-3)))
11022
11023(define-public ghc-utility-ht
11024 (package
11025 (name "ghc-utility-ht")
11026 (version "0.0.14")
11027 (home-page "https://hackage.haskell.org/package/utility-ht")
11028 (source
11029 (origin
11030 (method url-fetch)
11031 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
11032 (sha256
11033 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
11034 (build-system haskell-build-system)
11035 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
11036 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
11037 (description "This package includes Hakell modules providing various
11038helper functions for Lists, Maybes, Tuples, Functions.")
11039 (license license:bsd-3)))
11040
11041(define-public ghc-uuid
11042 (package
11043 (name "ghc-uuid")
11044 (version "1.3.13")
11045 (source
11046 (origin
11047 (method url-fetch)
11048 (uri (string-append "https://hackage.haskell.org/package/"
11049 "uuid-" version "/"
11050 "uuid-" version ".tar.gz"))
11051 (sha256
11052 (base32
11053 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
11054 (build-system haskell-build-system)
11055 (arguments
11056 `(#:cabal-revision
11057 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
11058 #:phases
11059 (modify-phases %standard-phases
11060 (add-before 'configure 'strip-test-framework-constraints
11061 (lambda _
11062 (substitute* "uuid.cabal"
11063 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
11064 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
11065 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11066 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11067 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11068 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
11069 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
11070 ("ghc-entropy" ,ghc-entropy)
11071 ("ghc-network-info" ,ghc-network-info)
11072 ("ghc-random" ,ghc-random)
11073 ("ghc-uuid-types" ,ghc-uuid-types)))
11074 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11075 ("ghc-quickcheck" ,ghc-quickcheck)
11076 ("ghc-tasty" ,ghc-tasty)
11077 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11078 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11079 (home-page "https://github.com/hvr/uuid")
11080 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
11081 (description "This Haskell library provides utilities creating, comparing,
11082parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
11083 (license license:bsd-3)))
11084
11085(define-public ghc-uuid-types
11086 (package
11087 (name "ghc-uuid-types")
11088 (version "1.0.3")
11089 (source
11090 (origin
11091 (method url-fetch)
11092 (uri (string-append "https://hackage.haskell.org/package/"
11093 "uuid-types-" version "/"
11094 "uuid-types-" version ".tar.gz"))
11095 (sha256
11096 (base32
11097 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
11098 (build-system haskell-build-system)
11099 (arguments
11100 `(#:phases
11101 (modify-phases %standard-phases
11102 (add-before 'configure 'strip-test-framework-constraints
11103 (lambda _
11104 (substitute* "uuid-types.cabal"
11105 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
11106 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
11107 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11108 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11109 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11110 (inputs `(("ghc-hashable" ,ghc-hashable)
11111 ("ghc-random" ,ghc-random)))
11112 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11113 ("ghc-quickcheck" ,ghc-quickcheck)
11114 ("ghc-tasty" ,ghc-tasty)
11115 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11116 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11117 (home-page "https://github.com/hvr/uuid")
11118 (synopsis "Haskell type definitions for UUIDs")
11119 (description "This Haskell library contains type definitions for
11120@dfn{Universally Unique Identifiers} or
11121@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
11122functions.")
11123 (license license:bsd-3)))
11124
11125(define-public ghc-validation
11126 (package
11127 (name "ghc-validation")
11128 (version "1")
11129 (source
11130 (origin
11131 (method url-fetch)
11132 (uri (string-append
11133 "mirror://hackage/package/validation/validation-"
11134 version
11135 ".tar.gz"))
11136 (sha256
11137 (base32
11138 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
11139 (build-system haskell-build-system)
11140 (arguments
11141 `(#:cabal-revision
11142 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
11143 (inputs
11144 `(("ghc-semigroups" ,ghc-semigroups)
11145 ("ghc-semigroupoids" ,ghc-semigroupoids)
11146 ("ghc-bifunctors" ,ghc-bifunctors)
11147 ("ghc-lens" ,ghc-lens)))
11148 (native-inputs
11149 `(("ghc-hedgehog" ,ghc-hedgehog)
11150 ("ghc-hunit" ,ghc-hunit)))
11151 (home-page "https://github.com/qfpl/validation")
11152 (synopsis
11153 "Data-type like Either but with an accumulating Applicative")
11154 (description
11155 "A data-type like Either but with differing properties and type-class
11156instances.
11157
11158Library support is provided for this different representation, including
11159@code{lens}-related functions for converting between each and abstracting over
11160their similarities.
11161
11162The @code{Validation} data type is isomorphic to @code{Either}, but has an
11163instance of @code{Applicative} that accumulates on the error side. That is to
11164say, if two (or more) errors are encountered, they are appended using a
11165@{Semigroup} operation.
11166
11167As a consequence of this @code{Applicative} instance, there is no
11168corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11169example of, \"An applicative functor that is not a monad.\"")
11170 (license license:bsd-3)))
11171
11172(define-public ghc-validity
11173 (package
11174 (name "ghc-validity")
11175 (version "0.7.0.0")
11176 (source
11177 (origin
11178 (method url-fetch)
11179 (uri (string-append
11180 "https://hackage.haskell.org/package/validity/validity-"
11181 version
11182 ".tar.gz"))
11183 (sha256
11184 (base32
11185 "0xribw98amafihw87ddajk6vlirp7w9b26lrnjgq7jfm4710j95f"))))
11186 (build-system haskell-build-system)
11187 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11188 ("hspec-discover" ,hspec-discover)))
11189 (home-page
11190 "https://github.com/NorfairKing/validity")
11191 (synopsis "Validity typeclass")
11192 (description
11193 "Values of custom types usually have invariants imposed upon them. This
11194package provides the @code{Validity} type class, which makes these invariants
11195explicit by providing a function to check whether the invariants hold.")
11196 (license license:expat)))
11197
11198(define-public ghc-vault
11199 (package
11200 (name "ghc-vault")
11201 (version "0.3.1.2")
11202 (source
11203 (origin
11204 (method url-fetch)
11205 (uri (string-append
11206 "https://hackage.haskell.org/package/vault/vault-"
11207 version
11208 ".tar.gz"))
11209 (sha256
11210 (base32
11211 "072mbrihsdsb8c6xvg6lvk0rqjgvxvi8qkg4n6wwym5hq0pfa04y"))))
11212 (build-system haskell-build-system)
11213 (inputs
11214 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11215 ("ghc-hashable" ,ghc-hashable)
11216 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11217 (home-page
11218 "https://github.com/HeinrichApfelmus/vault")
11219 (synopsis "Persistent store for arbitrary values")
11220 (description "This package provides vaults for Haskell. A vault is a
11221persistent store for values of arbitrary types. It's like having first-class
11222access to the storage space behind @code{IORefs}. The data structure is
11223analogous to a bank vault, where you can access different bank boxes with
11224different keys; hence the name. Also provided is a @code{locker} type,
11225representing a store for a single element.")
11226 (license license:bsd-3)))
11227
11228(define-public ghc-vector
11229 (package
11230 (name "ghc-vector")
11231 (version "0.12.0.1")
11232 (outputs '("out" "doc"))
11233 (source
11234 (origin
11235 (method url-fetch)
11236 (uri (string-append
11237 "https://hackage.haskell.org/package/vector/vector-"
11238 version
11239 ".tar.gz"))
11240 (sha256
11241 (base32
11242 "0yrx2ypiaxahvaz84af5bi855hd3107kxkbqc8km29nsp5wyw05i"))))
11243 (build-system haskell-build-system)
11244 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11245 ;; disabled for now.
11246 (arguments
11247 `(#:cabal-revision
11248 ("3" "0y5rh8k710i2a3p1h2rghvr5cfg78p5h0kbfi7ifxqqf6pzlyr1x")
11249 #:tests? #f))
11250 (inputs
11251 `(("ghc-primitive" ,ghc-primitive)
11252 ("ghc-random" ,ghc-random)
11253 ("ghc-quickcheck" ,ghc-quickcheck)
11254 ;; ("ghc-hunit" ,ghc-hunit)
11255 ;; ("ghc-test-framework" ,ghc-test-framework)
11256 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11257 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11258 ))
11259 (home-page "https://github.com/haskell/vector")
11260 (synopsis "Efficient Arrays")
11261 (description "This library provides an efficient implementation of
11262Int-indexed arrays (both mutable and immutable), with a powerful loop
11263optimisation framework.")
11264 (license license:bsd-3)))
11265
11266(define-public ghc-vector-algorithms
11267 (package
11268 (name "ghc-vector-algorithms")
11269 (version "0.7.0.4")
11270 (source
11271 (origin
11272 (method url-fetch)
11273 (uri (string-append "https://hackage.haskell.org/package/"
11274 "vector-algorithms-" version "/"
11275 "vector-algorithms-" version ".tar.gz"))
11276 (sha256
11277 (base32
11278 "0mfa8ig9v69l41p2vb5jl4qmaln5y1rlzarr2mlgm8g1nvq8qqdg"))))
11279 (build-system haskell-build-system)
11280 (inputs
11281 `(("ghc-vector" ,ghc-vector)))
11282 (native-inputs
11283 `(("ghc-quickcheck" ,ghc-quickcheck)))
11284 (home-page "https://github.com/bos/math-functions")
11285 (synopsis "Algorithms for vector arrays in Haskell")
11286 (description "This Haskell library algorithms for vector arrays.")
11287 (license license:bsd-3)))
11288
11289(define-public ghc-vector-binary-instances
11290 (package
11291 (name "ghc-vector-binary-instances")
11292 (version "0.2.4")
11293 (source
11294 (origin
11295 (method url-fetch)
11296 (uri (string-append
11297 "https://hackage.haskell.org/package/"
11298 "vector-binary-instances/vector-binary-instances-"
11299 version ".tar.gz"))
11300 (sha256
11301 (base32
11302 "1y236jb72iab9ska1mc48z6yb0xgwmj45laaqdyjxksd84z7hbrb"))))
11303 (build-system haskell-build-system)
11304 (arguments
11305 `(#:cabal-revision
11306 ("1" "196frl4akhfk7xf1nxzn8lmq99dxhzhsimanswn9yy7ym8zhki4i")))
11307 (inputs
11308 `(("ghc-vector" ,ghc-vector)))
11309 (native-inputs
11310 `(("ghc-tasty" ,ghc-tasty)
11311 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11312 (home-page "https://github.com/bos/vector-binary-instances")
11313 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11314 (description "This library provides instances of @code{Binary} for the
11315types defined in the @code{vector} package, making it easy to serialize
11316vectors to and from disk. We use the generic interface to vectors, so all
11317vector types are supported. Specific instances are provided for unboxed,
11318boxed and storable vectors.")
11319 (license license:bsd-3)))
11320
11321(define-public ghc-vector-builder
11322 (package
11323 (name "ghc-vector-builder")
11324 (version "0.3.6")
11325 (source
11326 (origin
11327 (method url-fetch)
11328 (uri (string-append "https://hackage.haskell.org/package/"
11329 "vector-builder-" version "/"
11330 "vector-builder-" version ".tar.gz"))
11331 (sha256
11332 (base32
11333 "06d2pa1fb3ydrl7l6rjazqyxv5i73v65x2f5fp0ypjxfbm6jsmn8"))))
11334 (build-system haskell-build-system)
11335 (inputs `(("ghc-vector" ,ghc-vector)
11336 ("ghc-semigroups" ,ghc-semigroups)
11337 ("ghc-base-prelude" ,ghc-base-prelude)))
11338 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11339 ("ghc-tasty" ,ghc-tasty)
11340 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11341 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11342 ("ghc-hunit" ,ghc-hunit)
11343 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11344 ("ghc-rerebase" ,ghc-rerebase)))
11345 (home-page "https://github.com/nikita-volkov/vector-builder")
11346 (synopsis "Vector builder for Haskell")
11347 (description "This Haskell package provides an API for constructing vectors.
11348It provides the composable @code{Builder} abstraction, which has instances of the
11349@code{Monoid} and @code{Semigroup} classes.
11350
11351You would first use the @code{Builder} abstraction to specify the structure of
11352the vector; then you can execute the builder to actually produce the
11353vector. ")
11354 (license license:expat)))
11355
11356(define-public ghc-vector-th-unbox
11357 (package
11358 (name "ghc-vector-th-unbox")
11359 (version "0.2.1.6")
11360 (source
11361 (origin
11362 (method url-fetch)
11363 (uri (string-append "https://hackage.haskell.org/package/"
11364 "vector-th-unbox-" version "/"
11365 "vector-th-unbox-" version ".tar.gz"))
11366 (sha256
11367 (base32
11368 "0d82x55f5vvr1jvaia382m23rs690lg55pvavv8f4ph0y6kd91xy"))))
11369 (build-system haskell-build-system)
11370 (inputs
11371 `(("ghc-vector" ,ghc-vector)
11372 ("ghc-data-default" ,ghc-data-default)))
11373 (home-page "https://github.com/liyang/vector-th-unbox")
11374 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
11375 (description "This Haskell library provides a Template Haskell
11376deriver for unboxed vectors, given a pair of coercion functions to
11377and from some existing type with an Unbox instance.")
11378 (license license:bsd-3)))
11379
11380(define-public ghc-void
11381 (package
11382 (name "ghc-void")
11383 (version "0.7.2")
11384 (source
11385 (origin
11386 (method url-fetch)
11387 (uri (string-append
11388 "https://hackage.haskell.org/package/void/void-"
11389 version
11390 ".tar.gz"))
11391 (sha256
11392 (base32
11393 "0aygw0yb1h3yhmfl3bkwh5d3h0l4mmsxz7j53vdm6jryl1kgxzyk"))))
11394 (build-system haskell-build-system)
11395 (inputs
11396 `(("ghc-semigroups" ,ghc-semigroups)
11397 ("ghc-hashable" ,ghc-hashable)))
11398 (home-page "https://github.com/ekmett/void")
11399 (synopsis
11400 "Logically uninhabited data type")
11401 (description
11402 "A Haskell 98 logically uninhabited data type, used to indicate that a
11403given term should not exist.")
11404 (license license:bsd-3)))
11405
11406(define-public ghc-wave
11407 (package
11408 (name "ghc-wave")
11409 (version "0.1.5")
11410 (source (origin
11411 (method url-fetch)
11412 (uri (string-append
11413 "https://hackage.haskell.org/package/wave/wave-"
11414 version
11415 ".tar.gz"))
11416 (sha256
11417 (base32
11418 "03zycmwrchhqvi37fdvlzz2d1vl4hy0i8xyys1zznw38qfq0h2i5"))))
11419 (build-system haskell-build-system)
11420 (arguments
11421 '(#:phases
11422 (modify-phases %standard-phases
11423 (add-before 'configure 'update-constraints
11424 (lambda _
11425 (substitute* "wave.cabal"
11426 (("temporary.* < 1\\.3")
11427 "temporary >= 1.1 && < 1.4")))))))
11428 (inputs
11429 `(("ghc-cereal" ,ghc-cereal)
11430 ("ghc-data-default-class"
11431 ,ghc-data-default-class)
11432 ("ghc-quickcheck" ,ghc-quickcheck)
11433 ("ghc-temporary" ,ghc-temporary)))
11434 (native-inputs
11435 `(("hspec-discover" ,hspec-discover)
11436 ("ghc-hspec" ,ghc-hspec)))
11437 (home-page "https://github.com/mrkkrp/wave")
11438 (synopsis "Work with WAVE and RF64 files in Haskell")
11439 (description "This package allows you to work with WAVE and RF64
11440files in Haskell.")
11441 (license license:bsd-3)))
11442
11443(define-public ghc-wcwidth
11444 (package
11445 (name "ghc-wcwidth")
11446 (version "0.0.2")
11447 (source
11448 (origin
11449 (method url-fetch)
11450 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11451 version ".tar.gz"))
11452 (sha256
11453 (base32
11454 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11455 (build-system haskell-build-system)
11456 (inputs
11457 `(("ghc-setlocale" ,ghc-setlocale)
11458 ("ghc-utf8-string" ,ghc-utf8-string)
11459 ("ghc-attoparsec" ,ghc-attoparsec)))
11460 (home-page "https://github.com/solidsnack/wcwidth/")
11461 (synopsis "Haskell bindings to wcwidth")
11462 (description "This package provides Haskell bindings to your system's
11463native wcwidth and a command line tool to examine the widths assigned by it.
11464The command line tool can compile a width table to Haskell code that assigns
11465widths to the Char type.")
11466 (license license:bsd-3)))
11467
11468(define-public ghc-wcwidth-bootstrap
11469 (package
11470 (inherit ghc-wcwidth)
11471 (name "ghc-wcwidth-bootstrap")
11472 (inputs
11473 `(("ghc-setlocale" ,ghc-setlocale)
11474 ("ghc-utf8-string" ,ghc-utf8-string)
11475 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 11476 (properties '((hidden? #t)))))
dddbc90c
RV
11477
11478(define-public ghc-weigh
11479 (package
11480 (name "ghc-weigh")
11481 (version "0.0.12")
11482 (source
11483 (origin
11484 (method url-fetch)
11485 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11486 "weigh-" version ".tar.gz"))
11487 (sha256
11488 (base32
11489 "0zw2a997gxgdzqmd7j730kxgynzmjvvlkw84dajmfzf1v9pbij7x"))))
11490 (build-system haskell-build-system)
11491 (inputs
11492 `(("ghc-split" ,ghc-split)
11493 ("ghc-temporary" ,ghc-temporary)))
11494 (home-page "https://github.com/fpco/weigh#readme")
11495 (synopsis "Measure allocations of a Haskell functions/values")
11496 (description "This package provides tools to measure the memory usage of a
11497Haskell value or function.")
11498 (license license:bsd-3)))
11499
11500(define-public ghc-wl-pprint
11501 (package
11502 (name "ghc-wl-pprint")
11503 (version "1.2.1")
11504 (source (origin
11505 (method url-fetch)
11506 (uri (string-append
11507 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11508 version ".tar.gz"))
11509 (sha256
11510 (base32
11511 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11512 (build-system haskell-build-system)
11513 (home-page "https://hackage.haskell.org/package/wl-pprint")
11514 (synopsis "Wadler/Leijen pretty printer")
11515 (description
11516 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11517Printer}. This version allows the library user to declare overlapping
11518instances of the @code{Pretty} class.")
11519 (license license:bsd-3)))
11520
11521(define-public ghc-wl-pprint-annotated
11522 (package
11523 (name "ghc-wl-pprint-annotated")
11524 (version "0.1.0.1")
11525 (source
11526 (origin
11527 (method url-fetch)
11528 (uri (string-append
11529 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11530 version
11531 ".tar.gz"))
11532 (sha256
11533 (base32
11534 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11535 (build-system haskell-build-system)
11536 (native-inputs
11537 `(("ghc-tasty" ,ghc-tasty)
11538 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11539 (home-page
11540 "https://github.com/minad/wl-pprint-annotated#readme")
11541 (synopsis
11542 "Wadler/Leijen pretty printer with annotation support")
11543 (description
11544 "Annotations are useful for coloring. This is a limited version of
11545@code{wl-pprint-extras} without support for point effects and without the free
11546monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11547Compared to @code{annotated-wl-pprint} this library provides a slightly
11548modernized interface.")
11549 (license license:bsd-3)))
11550
11551(define-public ghc-wl-pprint-text
11552 (package
11553 (name "ghc-wl-pprint-text")
11554 (version "1.2.0.0")
11555 (source
11556 (origin
11557 (method url-fetch)
11558 (uri (string-append
11559 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11560 version ".tar.gz"))
11561 (sha256
11562 (base32
11563 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11564 (build-system haskell-build-system)
11565 (inputs
11566 `(("ghc-base-compat" ,ghc-base-compat)))
11567 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11568 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11569 (description
11570 "A clone of wl-pprint for use with the text library.")
11571 (license license:bsd-3)))
11572
11573(define-public ghc-word8
11574 (package
11575 (name "ghc-word8")
11576 (version "0.1.3")
11577 (source
11578 (origin
11579 (method url-fetch)
11580 (uri (string-append
11581 "https://hackage.haskell.org/package/word8/word8-"
11582 version
11583 ".tar.gz"))
11584 (sha256
11585 (base32
11586 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11587 (build-system haskell-build-system)
11588 (native-inputs
11589 `(("ghc-hspec" ,ghc-hspec)
11590 ("hspec-discover" ,hspec-discover)))
11591 (home-page "https://hackage.haskell.org/package/word8")
11592 (synopsis "Word8 library for Haskell")
11593 (description "Word8 library to be used with @code{Data.ByteString}.")
11594 (license license:bsd-3)))
11595
11596(define-public ghc-x11
11597 (package
11598 (name "ghc-x11")
11599 (version "1.9")
11600 (source
11601 (origin
11602 (method url-fetch)
11603 (uri (string-append "https://hackage.haskell.org/package/X11/"
11604 "X11-" version ".tar.gz"))
11605 (sha256
11606 (base32 "1f8dy6ckkyvpcv7zlniyv01cqjb9lgqscm8pml58cvwc7n38w4qh"))))
11607 (build-system haskell-build-system)
11608 (inputs
11609 `(("libx11" ,libx11)
11610 ("libxrandr" ,libxrandr)
11611 ("libxinerama" ,libxinerama)
11612 ("libxscrnsaver" ,libxscrnsaver)
11613 ("ghc-data-default" ,ghc-data-default)))
11614 (home-page "https://github.com/haskell-pkg-janitors/X11")
11615 (synopsis "Bindings to the X11 graphics library")
11616 (description
11617 "This package provides Haskell bindings to the X11 graphics library. The
11618bindings are a direct translation of the C bindings.")
11619 (license license:bsd-3)))
11620
11621(define-public ghc-x11-xft
11622 (package
11623 (name "ghc-x11-xft")
11624 (version "0.3.1")
11625 (source
11626 (origin
11627 (method url-fetch)
11628 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11629 "X11-xft-" version ".tar.gz"))
11630 (sha256
11631 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11632 (inputs
11633 `(("ghc-x11" ,ghc-x11)
11634 ("ghc-utf8-string" ,ghc-utf8-string)
11635 ("libx11" ,libx11)
11636 ("libxft" ,libxft)
11637 ("xorgproto" ,xorgproto)))
11638 (native-inputs
11639 `(("pkg-config" ,pkg-config)))
11640 (build-system haskell-build-system)
11641 (home-page "https://hackage.haskell.org/package/X11-xft")
11642 (synopsis "Bindings to Xft")
11643 (description
11644 "Bindings to the Xft, X Free Type interface library, and some Xrender
11645parts.")
11646 (license license:lgpl2.1)))
11647
11648(define-public ghc-xdg-basedir
11649 (package
11650 (name "ghc-xdg-basedir")
11651 (version "0.2.2")
11652 (source
11653 (origin
11654 (method url-fetch)
11655 (uri (string-append
11656 "https://hackage.haskell.org/package/xdg-basedir/"
11657 "xdg-basedir-" version ".tar.gz"))
11658 (sha256
11659 (base32
11660 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
11661 (build-system haskell-build-system)
11662 (home-page "http://github.com/willdonnelly/xdg-basedir")
11663 (synopsis "XDG Base Directory library for Haskell")
11664 (description "This package provides a library implementing the XDG Base Directory spec.")
11665 (license license:bsd-3)))
11666
11667(define-public ghc-xml
11668 (package
11669 (name "ghc-xml")
11670 (version "1.3.14")
11671 (source
11672 (origin
11673 (method url-fetch)
11674 (uri (string-append
11675 "https://hackage.haskell.org/package/xml/xml-"
11676 version
11677 ".tar.gz"))
11678 (sha256
11679 (base32
11680 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
11681 (build-system haskell-build-system)
11682 (home-page "http://code.galois.com")
11683 (synopsis "Simple XML library for Haskell")
11684 (description "This package provides a simple XML library for Haskell.")
11685 (license license:bsd-3)))
11686
11687(define-public ghc-xml-conduit
11688 (package
11689 (name "ghc-xml-conduit")
11690 (version "1.8.0.1")
11691 (source
11692 (origin
11693 (method url-fetch)
11694 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
11695 "xml-conduit-" version ".tar.gz"))
11696 (sha256
11697 (base32
11698 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
11699 (build-system haskell-build-system)
11700 (inputs
11701 `(("ghc-conduit" ,ghc-conduit)
11702 ("ghc-conduit-extra" ,ghc-conduit-extra)
11703 ("ghc-doctest" ,ghc-doctest)
11704 ("ghc-resourcet" ,ghc-resourcet)
11705 ("ghc-xml-types" ,ghc-xml-types)
11706 ("ghc-attoparsec" ,ghc-attoparsec)
11707 ("ghc-data-default-class" ,ghc-data-default-class)
11708 ("ghc-blaze-markup" ,ghc-blaze-markup)
11709 ("ghc-blaze-html" ,ghc-blaze-html)
11710 ("ghc-monad-control" ,ghc-monad-control)
11711 ("ghc-hspec" ,ghc-hspec)
11712 ("ghc-hunit" ,ghc-hunit)))
11713 (home-page "https://github.com/snoyberg/xml")
11714 (synopsis "Utilities for dealing with XML with the conduit package")
11715 (description
11716 "This package provides pure-Haskell utilities for dealing with XML with
11717the @code{conduit} package.")
11718 (license license:expat)))
11719
11720(define-public ghc-xml-types
11721 (package
11722 (name "ghc-xml-types")
11723 (version "0.3.6")
11724 (source
11725 (origin
11726 (method url-fetch)
11727 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
11728 "xml-types-" version ".tar.gz"))
11729 (sha256
11730 (base32
11731 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
11732 (build-system haskell-build-system)
11733 (home-page "https://john-millikin.com/software/haskell-xml/")
11734 (synopsis "Basic types for representing XML")
11735 (description "This package provides basic types for representing XML
11736documents.")
11737 (license license:expat)))
11738
11739(define-public ghc-yaml
11740 (package
11741 (name "ghc-yaml")
11742 (version "0.8.32")
11743 (source (origin
11744 (method url-fetch)
11745 (uri (string-append "https://hackage.haskell.org/package/"
11746 "yaml/yaml-" version ".tar.gz"))
11747 (sha256
11748 (base32
11749 "0cbsyh4ilvjzq1q7pxls43k6pdqxg1l85xzibcwpbvmlvrizh86w"))))
11750 (build-system haskell-build-system)
11751 ;; The tests are broken on i686. They are fixed in 0.10.3.0.
11752 ;; See https://github.com/snoyberg/yaml/issues/158
11753 (arguments `(#:tests? #f))
11754 (inputs
11755 `(("ghc-conduit" ,ghc-conduit)
11756 ("ghc-resourcet" ,ghc-resourcet)
11757 ("ghc-aeson" ,ghc-aeson)
11758 ("ghc-unordered-containers" ,ghc-unordered-containers)
11759 ("ghc-vector" ,ghc-vector)
11760 ("ghc-attoparsec" ,ghc-attoparsec)
11761 ("ghc-scientific" ,ghc-scientific)
11762 ("ghc-semigroups" ,ghc-semigroups)
11763 ("ghc-temporary" ,ghc-temporary)
11764 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11765 ("ghc-base-compat" ,ghc-base-compat)))
11766 (native-inputs
11767 `(("ghc-hspec" ,ghc-hspec)
11768 ("ghc-hunit" ,ghc-hunit)
11769 ("hspec-discover" ,hspec-discover)
11770 ("ghc-mockery" ,ghc-mockery)))
11771 (home-page "https://github.com/snoyberg/yaml/")
11772 (synopsis "Parsing and rendering YAML documents")
11773 (description
11774 "This package provides a library to parse and render YAML documents.")
11775 (license license:bsd-3)))
11776
11777(define-public ghc-zip-archive
11778 (package
11779 (name "ghc-zip-archive")
11780 (version "0.3.3")
11781 (source
11782 (origin
11783 (method url-fetch)
11784 (uri (string-append
11785 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
11786 version
11787 ".tar.gz"))
11788 (sha256
11789 (base32
11790 "0kf8xyac168bng8a0za2jwrbss7a4ralvci9g54hnvl0gkkxx2lq"))))
11791 (build-system haskell-build-system)
11792 (inputs
11793 `(("ghc-digest" ,ghc-digest)
11794 ("ghc-temporary" ,ghc-temporary)
11795 ("ghc-zlib" ,ghc-zlib)))
11796 (native-inputs
11797 `(("ghc-hunit" ,ghc-hunit)
11798 ("unzip" ,unzip)))
11799 (home-page "https://hackage.haskell.org/package/zip-archive")
11800 (synopsis "Zip archive library for Haskell")
11801 (description "The zip-archive library provides functions for creating,
11802modifying, and extracting files from zip archives in Haskell.")
11803 (license license:bsd-3)))
11804
11805(define-public ghc-zlib
11806 (package
11807 (name "ghc-zlib")
11808 (version "0.6.2")
11809 (outputs '("out" "doc"))
11810 (source
11811 (origin
11812 (method url-fetch)
11813 (uri (string-append
11814 "https://hackage.haskell.org/package/zlib/zlib-"
11815 version
11816 ".tar.gz"))
11817 (sha256
11818 (base32
11819 "1vbzf0awb6zb456xf48za1kl22018646cfzq4frvxgb9ay97vk0d"))))
11820 (build-system haskell-build-system)
11821 (arguments
11822 `(#:phases
11823 (modify-phases %standard-phases
11824 (add-before 'configure 'strip-test-framework-constraints
11825 (lambda _
11826 (substitute* "zlib.cabal"
11827 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
11828 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
11829 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11830 (inputs `(("zlib" ,zlib)))
11831 (native-inputs
11832 `(("ghc-quickcheck" ,ghc-quickcheck)
11833 ("ghc-tasty" ,ghc-tasty)
11834 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11835 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11836 (home-page "https://hackage.haskell.org/package/zlib")
11837 (synopsis
11838 "Compression and decompression in the gzip and zlib formats")
11839 (description
11840 "This package provides a pure interface for compressing and decompressing
11841streams of data represented as lazy @code{ByteString}s. It uses the zlib C
11842library so it has high performance. It supports the @code{zlib}, @code{gzip}
11843and @code{raw} compression formats. It provides a convenient high level API
11844suitable for most tasks and for the few cases where more control is needed it
11845provides access to the full zlib feature set.")
bbf8bf31 11846 (license license:bsd-3)))
14e41996
RV
11847
11848(define-public ghc-zlib-bindings
11849 (package
11850 (name "ghc-zlib-bindings")
11851 (version "0.1.1.5")
11852 (source
11853 (origin
11854 (method url-fetch)
11855 (uri (string-append "https://hackage.haskell.org/package/"
11856 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
11857 (sha256
11858 (base32
11859 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
11860 (build-system haskell-build-system)
11861 (inputs
11862 `(("ghc-zlib" ,ghc-zlib)))
11863 (native-inputs
11864 `(("ghc-hspec" ,ghc-hspec)
11865 ("ghc-quickcheck" ,ghc-quickcheck)))
11866 (arguments
11867 `(#:cabal-revision
11868 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
11869 (home-page "https://github.com/snapframework/zlib-bindings")
11870 (synopsis "Low-level bindings to the @code{zlib} package")
11871 (description "This package provides low-level bindings to the
11872@code{zlib} package.")
11873 (license license:bsd-3)))