gnu: Add ghc-cryptohash.
[jackhill/guix/guix.git] / gnu / packages / haskell.scm
... / ...
CommitLineData
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2015 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 Eric Bavier <bavier@member.fsf.org>
6;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
7;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
8;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
9;;;
10;;; This file is part of GNU Guix.
11;;;
12;;; GNU Guix is free software; you can redistribute it and/or modify it
13;;; under the terms of the GNU General Public License as published by
14;;; the Free Software Foundation; either version 3 of the License, or (at
15;;; your option) any later version.
16;;;
17;;; GNU Guix is distributed in the hope that it will be useful, but
18;;; WITHOUT ANY WARRANTY; without even the implied warranty of
19;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20;;; GNU General Public License for more details.
21;;;
22;;; You should have received a copy of the GNU General Public License
23;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
24
25(define-module (gnu packages haskell)
26 #:use-module (ice-9 regex)
27 #:use-module ((guix licenses) #:prefix license:)
28 #:use-module (guix packages)
29 #:use-module (guix download)
30 #:use-module (guix utils)
31 #:use-module (guix build-system gnu)
32 #:use-module (guix build-system haskell)
33 #:use-module (gnu packages pkg-config)
34 #:use-module (gnu packages perl)
35 #:use-module (gnu packages compression)
36 #:use-module (gnu packages elf)
37 #:use-module (gnu packages gl)
38 #:use-module (gnu packages sdl)
39 #:use-module (gnu packages bootstrap)
40 #:use-module (gnu packages zip)
41 #:use-module (gnu packages gcc)
42 #:use-module (gnu packages ghostscript)
43 #:use-module (gnu packages libffi)
44 #:use-module (gnu packages libedit)
45 #:use-module (gnu packages lua)
46 #:use-module (gnu packages multiprecision)
47 #:use-module (gnu packages ncurses)
48 #:use-module (gnu packages python)
49 #:use-module (gnu packages pcre)
50 #:use-module (gnu packages xml)
51 #:use-module (gnu packages xorg))
52
53(define ghc-bootstrap-x86_64-7.8.4
54 (origin
55 (method url-fetch)
56 (uri
57 "https://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-x86_64-unknown-linux-deb7.tar.xz")
58 (sha256
59 (base32
60 "13azsl53xgj20mi1hj9x0xb32vvcvs6cpmvwx6znxhas7blh0bpn"))))
61
62(define ghc-bootstrap-i686-7.8.4
63 (origin
64 (method url-fetch)
65 (uri
66 "https://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-i386-unknown-linux-deb7.tar.xz")
67 (sha256
68 (base32
69 "0wj5s435j0zgww70bj1d3f6wvnnpzlxwvwcyh2qv4qjq5z8j64kg"))))
70
71;; 43 tests out of 3965 fail.
72;;
73;; Most of them do not appear to be serious:
74;;
75;; - some tests generate files referring to "/bin/sh" and "/bin/ls". I've not
76;; figured out how these references are generated.
77;;
78;; - Some tests allocate more memory than expected (ca. 3% above upper limit)
79;;
80;; - Some tests try to load unavailable libriries: Control.Concurrent.STM,
81;; Data.Vector, Control.Monad.State.
82;;
83;; - Test posix010 tries to check the existence of a user on the system:
84;; getUserEntryForName: does not exist (no such user)
85(define-public ghc
86 (package
87 (name "ghc")
88 (version "7.10.2")
89 (source
90 (origin
91 (method url-fetch)
92 (uri (string-append "https://www.haskell.org/ghc/dist/"
93 version "/" name "-" version "-src.tar.xz"))
94 (sha256
95 (base32
96 "1x8m4rp2v7ydnrz6z9g8x7z3x3d3pxhv2pixy7i7hkbqbdsp7kal"))))
97 (build-system gnu-build-system)
98 (supported-systems '("i686-linux" "x86_64-linux"))
99 (outputs '("out" "doc"))
100 (inputs
101 `(("gmp" ,gmp)
102 ("ncurses" ,ncurses)
103 ("libffi" ,libffi)
104 ("libedit" ,libedit)
105 ("ghc-testsuite"
106 ,(origin
107 (method url-fetch)
108 (uri (string-append
109 "https://www.haskell.org/ghc/dist/"
110 version "/" name "-" version "-testsuite.tar.xz"))
111 (sha256
112 (base32
113 "0qp9da9ar87zbyn6wjgacd2ic1vgzbi3cklxnhsmjqyafv9qaj4b"))))))
114 (native-inputs
115 `(("perl" ,perl)
116 ("python" ,python-2) ; for tests (fails with python-3)
117 ("ghostscript" ,ghostscript) ; for tests
118 ("patchelf" ,patchelf)
119 ;; GHC is built with GHC. Therefore we need bootstrap binaries.
120 ("ghc-binary"
121 ,(if (string-match "x86_64" (or (%current-target-system) (%current-system)))
122 ghc-bootstrap-x86_64-7.8.4
123 ghc-bootstrap-i686-7.8.4))))
124 (arguments
125 `(#:test-target "test"
126 ;; We get a smaller number of test failures by disabling parallel test
127 ;; execution.
128 #:parallel-tests? #f
129
130 ;; The DSOs use $ORIGIN to refer to each other, but (guix build
131 ;; gremlin) doesn't support it yet, so skip this phase.
132 #:validate-runpath? #f
133
134 ;; Don't pass --build=<triplet>, because the configure script
135 ;; auto-detects slightly different triplets for --host and --target and
136 ;; then complains that they don't match.
137 #:build #f
138
139 #:modules ((guix build gnu-build-system)
140 (guix build utils)
141 (guix build rpath)
142 (srfi srfi-26)
143 (srfi srfi-1))
144 #:imported-modules (,@%gnu-build-system-modules
145 (guix build rpath))
146 #:configure-flags
147 (list
148 (string-append "--with-gmp-libraries="
149 (assoc-ref %build-inputs "gmp") "/lib")
150 (string-append "--with-gmp-includes="
151 (assoc-ref %build-inputs "gmp") "/include")
152 "--with-system-libffi"
153 (string-append "--with-ffi-libraries="
154 (assoc-ref %build-inputs "libffi") "/lib")
155 (string-append "--with-ffi-includes="
156 (assoc-ref %build-inputs "libffi") "/include"))
157 ;; FIXME: The user-guide needs dblatex, docbook-xsl and docbook-utils.
158 ;; Currently we do not have the last one.
159 ;; #:make-flags
160 ;; (list "BUILD_DOCBOOK_HTML = YES")
161 #:phases
162 (let* ((ghc-bootstrap-path
163 (string-append (getcwd) "/" ,name "-" ,version "/ghc-bin"))
164 (ghc-bootstrap-prefix
165 (string-append ghc-bootstrap-path "/usr" )))
166 (alist-cons-after
167 'unpack-bin 'unpack-testsuite-and-fix-bins
168 (lambda* (#:key inputs outputs #:allow-other-keys)
169 (with-directory-excursion ".."
170 (copy-file (assoc-ref inputs "ghc-testsuite")
171 "ghc-testsuite.tar.xz")
172 (system* "tar" "xvf" "ghc-testsuite.tar.xz"))
173 (substitute*
174 (list "testsuite/timeout/Makefile"
175 "testsuite/timeout/timeout.py"
176 "testsuite/timeout/timeout.hs"
177 "testsuite/tests/rename/prog006/Setup.lhs"
178 "testsuite/tests/programs/life_space_leak/life.test"
179 "libraries/process/System/Process/Internals.hs"
180 "libraries/unix/cbits/execvpe.c")
181 (("/bin/sh") (which "sh"))
182 (("/bin/rm") "rm"))
183 #t)
184 (alist-cons-after
185 'unpack 'unpack-bin
186 (lambda* (#:key inputs outputs #:allow-other-keys)
187 (mkdir-p ghc-bootstrap-prefix)
188 (with-directory-excursion ghc-bootstrap-path
189 (copy-file (assoc-ref inputs "ghc-binary")
190 "ghc-bin.tar.xz")
191 (zero? (system* "tar" "xvf" "ghc-bin.tar.xz"))))
192 (alist-cons-before
193 'install-bin 'configure-bin
194 (lambda* (#:key inputs outputs #:allow-other-keys)
195 (let* ((binaries
196 (list
197 "./utils/ghc-pwd/dist-install/build/tmp/ghc-pwd"
198 "./utils/hpc/dist-install/build/tmp/hpc"
199 "./utils/haddock/dist/build/tmp/haddock"
200 "./utils/hsc2hs/dist-install/build/tmp/hsc2hs"
201 "./utils/runghc/dist-install/build/tmp/runghc"
202 "./utils/ghc-cabal/dist-install/build/tmp/ghc-cabal"
203 "./utils/hp2ps/dist/build/tmp/hp2ps"
204 "./utils/ghc-pkg/dist-install/build/tmp/ghc-pkg"
205 "./utils/unlit/dist/build/tmp/unlit"
206 "./ghc/stage2/build/tmp/ghc-stage2"))
207 (gmp (assoc-ref inputs "gmp"))
208 (gmp-lib (string-append gmp "/lib"))
209 (gmp-include (string-append gmp "/include"))
210 (ncurses-lib
211 (string-append (assoc-ref inputs "ncurses") "/lib"))
212 (ld-so (string-append (assoc-ref inputs "libc")
213 ,(glibc-dynamic-linker)))
214 (libtinfo-dir
215 (string-append ghc-bootstrap-prefix
216 "/lib/ghc-7.8.4/terminfo-0.4.0.0")))
217 (with-directory-excursion
218 (string-append ghc-bootstrap-path "/ghc-7.8.4")
219 (setenv "CONFIG_SHELL" (which "bash"))
220 (setenv "LD_LIBRARY_PATH" gmp-lib)
221 ;; The binaries have "/lib64/ld-linux-x86-64.so.2" hardcoded.
222 (for-each
223 (cut system* "patchelf" "--set-interpreter" ld-so <>)
224 binaries)
225 ;; The binaries include a reference to libtinfo.so.5 which
226 ;; is a subset of libncurses.so.5. We create a symlink in a
227 ;; directory included in the bootstrap binaries rpath.
228 (mkdir-p libtinfo-dir)
229 (symlink
230 (string-append ncurses-lib "/libncursesw.so."
231 ,(version-major+minor
232 (package-version ncurses)))
233 (string-append libtinfo-dir "/libtinfo.so.5"))
234 (setenv "PATH"
235 (string-append (getenv "PATH") ":"
236 ghc-bootstrap-prefix "/bin"))
237 (system*
238 (string-append (getcwd) "/configure")
239 (string-append "--prefix=" ghc-bootstrap-prefix)
240 (string-append "--with-gmp-libraries=" gmp-lib)
241 (string-append "--with-gmp-includes=" gmp-include)))))
242 (alist-cons-before
243 'configure 'install-bin
244 (lambda* (#:key inputs outputs #:allow-other-keys)
245 (with-directory-excursion
246 (string-append ghc-bootstrap-path "/ghc-7.8.4")
247 (zero? (system* "make" "install"))))
248 %standard-phases)))))))
249 (native-search-paths (list (search-path-specification
250 (variable "GHC_PACKAGE_PATH")
251 (files (list
252 (string-append "lib/ghc-" version)))
253 (file-pattern ".*\\.conf\\.d$")
254 (file-type 'directory))))
255 (home-page "https://www.haskell.org/ghc")
256 (synopsis "The Glasgow Haskell Compiler")
257 (description
258 "The Glasgow Haskell Compiler (GHC) is a state-of-the-art compiler and
259interactive environment for the functional language Haskell.")
260 (license license:bsd-3)))
261
262(define-public ghc-hostname
263 (package
264 (name "ghc-hostname")
265 (version "1.0")
266 (source
267 (origin
268 (method url-fetch)
269 (uri (string-append "https://hackage.haskell.org/package/hostname/"
270 "hostname-" version ".tar.gz"))
271 (sha256
272 (base32
273 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
274 (build-system haskell-build-system)
275 (home-page "https://hackage.haskell.org/package/hostname")
276 (synopsis "Hostname in Haskell")
277 (description "Network.HostName is a simple package providing a means to
278determine the hostname.")
279 (license license:bsd-3)))
280
281(define-public ghc-libxml
282 (package
283 (name "ghc-libxml")
284 (version "0.1.1")
285 (source
286 (origin
287 (method url-fetch)
288 (uri (string-append "http://hackage.haskell.org/package/libxml/"
289 "libxml-" version ".tar.gz"))
290 (sha256
291 (base32
292 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
293 (build-system haskell-build-system)
294 (inputs
295 `(("ghc-mtl" ,ghc-mtl)
296 ("libxml2" ,libxml2)))
297 (arguments
298 `(#:configure-flags
299 `(,(string-append "--extra-include-dirs="
300 (assoc-ref %build-inputs "libxml2")
301 "/include/libxml2"))))
302 (home-page "http://hackage.haskell.org/package/libxml")
303 (synopsis "Haskell bindings to libxml2")
304 (description
305 "This library provides minimal Haskell binding to libxml2.")
306 (license license:bsd-3)))
307
308(define-public ghc-prelude-extras
309 (package
310 (name "ghc-prelude-extras")
311 (version "0.4.0.2")
312 (source
313 (origin
314 (method url-fetch)
315 (uri (string-append
316 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
317 version
318 ".tar.gz"))
319 (sha256
320 (base32
321 "1q7mj9hysy747vimnlyrwsk1wb2axymxixa76fwcbcnmz3fi4llp"))))
322 (build-system haskell-build-system)
323 (home-page "https://github.com/ekmett/prelude-extras")
324 (synopsis "Higher order versions of Prelude classes")
325 (description "This library provides higher order versions of
326@code{Prelude} classes to ease programming with polymorphic recursion and
327reduce @code{UndecidableInstances}.")
328 (license license:bsd-3)))
329
330(define-public ghc-data-default
331 (package
332 (name "ghc-data-default")
333 (version "0.5.3")
334 (source
335 (origin
336 (method url-fetch)
337 (uri (string-append
338 "https://hackage.haskell.org/package/data-default/data-default-"
339 version
340 ".tar.gz"))
341 (sha256
342 (base32 "0d1hm0l9kim3kszshr4msmgzizrzha48gz2kb7b61p7n3gs70m7c"))))
343 (build-system haskell-build-system)
344 (propagated-inputs
345 `(("ghc-data-default-class"
346 ,ghc-data-default-class)
347 ("ghc-data-default-instances-base"
348 ,ghc-data-default-instances-base)
349 ("ghc-data-default-instances-containers"
350 ,ghc-data-default-instances-containers)
351 ("ghc-data-default-instances-dlist"
352 ,ghc-data-default-instances-dlist)
353 ("ghc-data-default-instances-old-locale"
354 ,ghc-data-default-instances-old-locale)))
355 (home-page "https://hackage.haskell.org/package/data-default")
356 (synopsis "Types with default values")
357 (description
358 "This package defines a class for types with a default value, and
359provides instances for types from the base, containers, dlist and old-locale
360packages.")
361 (license license:bsd-3)))
362
363(define-public ghc-data-default-class
364 (package
365 (name "ghc-data-default-class")
366 (version "0.0.1")
367 (source
368 (origin
369 (method url-fetch)
370 (uri (string-append
371 "https://hackage.haskell.org/package/data-default-class/"
372 "data-default-class-" version ".tar.gz"))
373 (sha256
374 (base32 "0ccgr3jllinchqhw3lsn73ic6axk4196if5274rr1rghls0fxj5d"))))
375 (build-system haskell-build-system)
376 (home-page "https://hackage.haskell.org/package/data-default-class")
377 (synopsis "Types with default values")
378 (description
379 "This package defines a class for types with default values.")
380 (license license:bsd-3)))
381
382(define-public ghc-data-default-instances-base
383 (package
384 (name "ghc-data-default-instances-base")
385 (version "0.0.1")
386 (source
387 (origin
388 (method url-fetch)
389 (uri (string-append
390 "https://hackage.haskell.org/package/"
391 "data-default-instances-base/"
392 "data-default-instances-base-" version ".tar.gz"))
393 (sha256
394 (base32 "1832nq6by91f1iw73ycvkbgn8kpra83pvf2q61hy47xffh0zy4pb"))))
395 (build-system haskell-build-system)
396 (propagated-inputs
397 `(("ghc-data-default-class" ,ghc-data-default-class)))
398 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
399 (synopsis "Default instances for types in base")
400 (description
401 "This package provides default instances for types from the base
402package.")
403 (license license:bsd-3)))
404
405(define-public ghc-data-default-instances-containers
406 (package
407 (name "ghc-data-default-instances-containers")
408 (version "0.0.1")
409 (source
410 (origin
411 (method url-fetch)
412 (uri (string-append
413 "https://hackage.haskell.org/package/"
414 "data-default-instances-containers/"
415 "data-default-instances-containers-" version ".tar.gz"))
416 (sha256
417 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
418 (build-system haskell-build-system)
419 (propagated-inputs
420 `(("ghc-data-default-class" ,ghc-data-default-class)))
421 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
422 (synopsis "Default instances for types in containers")
423 (description "Provides default instances for types from the containers
424package.")
425 (license license:bsd-3)))
426
427(define-public ghc-data-default-instances-dlist
428 (package
429 (name "ghc-data-default-instances-dlist")
430 (version "0.0.1")
431 (source
432 (origin
433 (method url-fetch)
434 (uri (string-append
435 "https://hackage.haskell.org/package/"
436 "data-default-instances-dlist/"
437 "data-default-instances-dlist-" version ".tar.gz"))
438 (sha256
439 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
440 (build-system haskell-build-system)
441 (propagated-inputs
442 `(("ghc-data-default-class" ,ghc-data-default-class)
443 ("ghc-dlist" ,ghc-dlist)))
444 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
445 (synopsis "Default instances for types in dlist")
446 (description "Provides default instances for types from the dlist
447package.")
448 (license license:bsd-3)))
449
450(define-public ghc-haddock-library
451 (package
452 (name "ghc-haddock-library")
453 (version "1.2.1")
454 (source
455 (origin
456 (method url-fetch)
457 (uri (string-append
458 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
459 version
460 ".tar.gz"))
461 (sha256
462 (base32
463 "0mhh2ppfhrvvi9485ipwbkv2fbgj35jvz3la02y3jlvg5ffs1c8g"))))
464 (build-system haskell-build-system)
465 (inputs
466 `(("ghc-base-compat" ,ghc-base-compat)
467 ("ghc-hspec" ,ghc-hspec)
468 ("ghc-quickcheck" ,ghc-quickcheck)))
469 (home-page "http://www.haskell.org/haddock/")
470 (synopsis
471 "Library exposing some functionality of Haddock")
472 (description
473 "Haddock is a documentation-generation tool for Haskell libraries. These
474modules expose some functionality of it without pulling in the GHC dependency.
475Please note that the API is likely to change so specify upper bounds in your
476project if you can't release often. For interacting with Haddock itself, see
477the ‘haddock’ package.")
478 (license license:bsd-3)))
479
480(define-public ghc-haddock-api
481 (package
482 (name "ghc-haddock-api")
483 (version "2.16.1")
484 (source
485 (origin
486 (method url-fetch)
487 (uri (string-append
488 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
489 version
490 ".tar.gz"))
491 (sha256
492 (base32
493 "1spd5axg1pdjv4dkdb5gcwjsc8gg37qi4mr2k2db6ayywdkis1p2"))))
494 (build-system haskell-build-system)
495 (propagated-inputs
496 `(("ghc-paths" ,ghc-paths)
497 ("ghc-haddock-library" ,ghc-haddock-library)))
498 (home-page "http://www.haskell.org/haddock/")
499 (synopsis "API for documentation-generation tool Haddock")
500 (description "This package provides an API to Haddock, the
501documentation-generation tool for Haskell libraries.")
502 (license license:bsd-3)))
503
504(define-public ghc-haddock
505 (package
506 (name "ghc-haddock")
507 (version "2.16.1")
508 (source
509 (origin
510 (method url-fetch)
511 (uri (string-append
512 "https://hackage.haskell.org/package/haddock/haddock-"
513 version
514 ".tar.gz"))
515 (sha256
516 (base32
517 "1mnnvc5jqp6n6rj7xw8wdm0z2xp9fndkz11c8p3vbljsrcqd3v26"))))
518 (build-system haskell-build-system)
519 (arguments `(#:tests? #f)) ; FIXME: Tests break with GHC 7.10.2, fixed
520 ; upstream. See
521 ; <https://github.com/haskell/haddock/issues/427>
522 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
523 (home-page "http://www.haskell.org/haddock/")
524 (synopsis
525 "Documentation-generation tool for Haskell libraries")
526 (description
527 "Haddock is a documentation-generation tool for Haskell libraries.")
528 (license license:bsd-3)))
529
530(define-public ghc-simple-reflect
531 (package
532 (name "ghc-simple-reflect")
533 (version "0.3.2")
534 (source
535 (origin
536 (method url-fetch)
537 (uri (string-append
538 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
539 version
540 ".tar.gz"))
541 (sha256
542 (base32
543 "1dpcf6w3cf1sfl9bnlsx04x7aghw029glj5d05qzrsnms2rlw8iq"))))
544 (build-system haskell-build-system)
545 (home-page
546 "http://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
547 (synopsis
548 "Simple reflection of expressions containing variables")
549 (description
550 "This package allows simple reflection of expressions containing
551variables. Reflection here means that a Haskell expression is turned into a
552string. The primary aim of this package is teaching and understanding; there
553are no options for manipulating the reflected expressions beyond showing
554them.")
555 (license license:bsd-3)))
556
557(define-public ghc-multipart
558 (package
559 (name "ghc-multipart")
560 (version "0.1.2")
561 (source
562 (origin
563 (method url-fetch)
564 (uri (string-append
565 "https://hackage.haskell.org/package/multipart/multipart-"
566 version
567 ".tar.gz"))
568 (sha256
569 (base32
570 "0g04jhyw1ib1s7c9bcldyyn4n90qd9x7dmvic4vgq57bgcqgnhz5"))))
571 (build-system haskell-build-system)
572 (inputs `(("ghc-parsec" ,ghc-parsec)))
573 (home-page
574 "http://www.github.com/silkapp/multipart")
575 (synopsis
576 "HTTP multipart library")
577 (description
578 "HTTP multipart split out of the cgi package, for Haskell.")
579 (license license:bsd-3)))
580
581(define-public ghc-html
582 (package
583 (name "ghc-html")
584 (version "1.0.1.2")
585 (source
586 (origin
587 (method url-fetch)
588 (uri (string-append
589 "https://hackage.haskell.org/package/html/html-"
590 version
591 ".tar.gz"))
592 (sha256
593 (base32
594 "0q9hmfii62kc82ijlg238fxrzxhsivn42x5wd6ffcr9xldg4jd8c"))))
595 (build-system haskell-build-system)
596 (home-page
597 "https://hackage.haskell.org/package/html")
598 (synopsis "HTML combinator library")
599 (description
600 "This package contains a combinator library for constructing HTML
601documents.")
602 (license license:bsd-3)))
603
604(define-public ghc-xhtml
605 (package
606 (name "ghc-xhtml")
607 (version "3000.2.1")
608 (source
609 (origin
610 (method url-fetch)
611 (uri (string-append
612 "https://hackage.haskell.org/package/xhtml/xhtml-"
613 version
614 ".tar.gz"))
615 (sha256
616 (base32
617 "1n6wgzxbj8xf0wf1il827qidphnffb5vzhwzqlxhh70c2y10f0ik"))))
618 (build-system haskell-build-system)
619 (home-page "https://github.com/haskell/xhtml")
620 (synopsis "XHTML combinator library")
621 (description
622 "This package provides combinators for producing XHTML 1.0, including the
623Strict, Transitional and Frameset variants.")
624 (license license:bsd-3)))
625
626(define-public ghc-haskell-src
627 (package
628 (name "ghc-haskell-src")
629 (version "1.0.2.0")
630 (source
631 (origin
632 (method url-fetch)
633 (uri (string-append
634 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
635 version
636 ".tar.gz"))
637 (sha256
638 (base32
639 "19lilhpwnjb7cks9fq1ipnc8f7dwxy0ri3dgjkdxs3i355byw99a"))))
640 (build-system haskell-build-system)
641 (inputs
642 `(("ghc-happy" ,ghc-happy)
643 ("ghc-syb" ,ghc-syb)))
644 (home-page
645 "https://hackage.haskell.org/package/haskell-src")
646 (synopsis
647 "Support for manipulating Haskell source code")
648 (description
649 "The 'haskell-src' package provides support for manipulating Haskell
650source code. The package provides a lexer, parser and pretty-printer, and a
651definition of a Haskell abstract syntax tree (AST). Common uses of this
652package are to parse or generate Haskell 98 code.")
653 (license license:bsd-3)))
654
655(define-public ghc-alex
656 (package
657 (name "ghc-alex")
658 (version "3.1.4")
659 (source
660 (origin
661 (method url-fetch)
662 (uri (string-append
663 "https://hackage.haskell.org/package/alex/alex-"
664 version
665 ".tar.gz"))
666 (sha256
667 (base32
668 "17x13nbbr79xgdlzywjqw19vcl6iygjnssjnxnajgijkv764wknn"))))
669 (build-system haskell-build-system)
670 (arguments `(#:tests? #f)) ; FIXME: Tests broken for GHC 7.10. Fixed
671 ; upstream, see
672 ; <https://github.com/simonmar/alex/issues/62>
673 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
674 (home-page "http://www.haskell.org/alex/")
675 (synopsis
676 "Tool for generating lexical analysers in Haskell")
677 (description
678 "Alex is a tool for generating lexical analysers in Haskell. It takes a
679description of tokens based on regular expressions and generates a Haskell
680module containing code for scanning text efficiently. It is similar to the
681tool lex or flex for C/C++.")
682 (license license:bsd-3)))
683
684(define-public ghc-cgi
685 (package
686 (name "ghc-cgi")
687 (version "3001.2.2.2")
688 (source
689 (origin
690 (method url-fetch)
691 (uri (string-append
692 "https://hackage.haskell.org/package/cgi/cgi-"
693 version
694 ".tar.gz"))
695 (sha256
696 (base32
697 "0q1pxpa8gi42c0hsidcdkhk5xr5anfrvhqsn3iksr9c0rllhz193"))))
698 (build-system haskell-build-system)
699 (inputs
700 `(("ghc-parsec" ,ghc-parsec)
701 ("ghc-old-locale" ,ghc-old-locale)
702 ("ghc-old-time" ,ghc-old-time)
703 ("ghc-exceptions" ,ghc-exceptions)
704 ("ghc-multipart" ,ghc-multipart)
705 ("ghc-network-uri" ,ghc-network-uri)
706 ("ghc-network" ,ghc-network)
707 ("ghc-mtl" ,ghc-mtl)))
708 (home-page
709 "https://github.com/cheecheeo/haskell-cgi")
710 (synopsis "Library for writing CGI programs")
711 (description
712 "This is a Haskell library for writing CGI programs.")
713 (license license:bsd-3)))
714
715(define-public ghc-cmdargs
716 (package
717 (name "ghc-cmdargs")
718 (version "0.10.13")
719 (source
720 (origin
721 (method url-fetch)
722 (uri (string-append
723 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
724 version
725 ".tar.gz"))
726 (sha256
727 (base32
728 "0vmz7f0ssrqlp6wzmc0mjqj4qczfgk58g0lr0yz7jamamlgpq4b6"))))
729 (build-system haskell-build-system)
730 (home-page
731 "http://community.haskell.org/~ndm/cmdargs/")
732 (synopsis "Command line argument processing")
733 (description
734 "This library provides an easy way to define command line parsers.")
735 (license license:bsd-3)))
736
737(define-public ghc-concatenative
738 (package
739 (name "ghc-concatenative")
740 (version "1.0.1")
741 (source (origin
742 (method url-fetch)
743 (uri (string-append
744 "https://hackage.haskell.org/package/concatenative/concatenative-"
745 version ".tar.gz"))
746 (sha256
747 (base32
748 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
749 (build-system haskell-build-system)
750 (home-page
751 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
752 (synopsis "Library for postfix control flow")
753 (description
754 "Concatenative gives Haskell Factor-style combinators and arrows for
755postfix notation. For more information on stack based languages, see
756@uref{http://concatenative.org}.")
757 (license license:bsd-3)))
758
759(define-public ghc-happy
760 (package
761 (name "ghc-happy")
762 (version "1.19.5")
763 (source
764 (origin
765 (method url-fetch)
766 (uri (string-append
767 "https://hackage.haskell.org/package/happy/happy-"
768 version
769 ".tar.gz"))
770 (sha256
771 (base32
772 "1nj353q4z1g186fpjzf0dnsg71qhxqpamx8jy89rjjvv3p0kmw32"))))
773 (build-system haskell-build-system)
774 (arguments `(#:tests? #f)) ;; cannot satisfy -package mtl. Possible Cabal
775 ;; issue.
776 (propagated-inputs
777 `(("ghc-mtl" ,ghc-mtl)))
778 (home-page "https://hackage.haskell.org/package/happy")
779 (synopsis "Parser generator for Haskell")
780 (description "Happy is a parser generator for Haskell. Given a grammar
781specification in BNF, Happy generates Haskell code to parse the grammar.
782Happy works in a similar way to the yacc tool for C.")
783 (license license:bsd-3)))
784
785(define-public ghc-haskell-src-exts
786 (package
787 (name "ghc-haskell-src-exts")
788 (version "1.16.0.1")
789 (source
790 (origin
791 (method url-fetch)
792 (uri (string-append
793 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
794 version
795 ".tar.gz"))
796 (sha256
797 (base32
798 "1h8gjw5g92rvvzadqzpscg73x7ajvs1wlphrh27afim3scdd8frz"))))
799 (build-system haskell-build-system)
800 (propagated-inputs
801 `(("cpphs" ,cpphs)
802 ("ghc-mtl" ,ghc-mtl)
803 ("ghc-happy" ,ghc-happy)
804 ("ghc-syb" ,ghc-syb)))
805 (native-inputs
806 `(("ghc-smallcheck" ,ghc-smallcheck)
807 ("ghc-tasty" ,ghc-tasty)
808 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
809 ("ghc-tasty-golden" ,ghc-tasty-golden)))
810 (home-page "https://github.com/haskell-suite/haskell-src-exts")
811 (synopsis "Library for manipulating Haskell source")
812 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
813extension of the standard @code{haskell-src} package, and handles most
814registered syntactic extensions to Haskell. All extensions implemented in GHC
815are supported. Apart from these standard extensions, it also handles regular
816patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
817 (license license:bsd-3)))
818
819(define-public hlint
820 (package
821 (name "hlint")
822 (version "1.9.21")
823 (source
824 (origin
825 (method url-fetch)
826 (uri (string-append
827 "https://hackage.haskell.org/package/" name
828 "/" name "-" version ".tar.gz"))
829 (sha256
830 (base32
831 "14v3rdjjlml9nimdk7d5dvir2bw78ai49yylvms9lnzmw29s3546"))))
832 (build-system haskell-build-system)
833 (inputs
834 `(("cpphs" ,cpphs)
835 ("ghc-cmdargs" ,ghc-cmdargs)
836 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
837 ("ghc-uniplate" ,ghc-uniplate)
838 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
839 ("ghc-extra" ,ghc-extra)
840 ("hscolour" ,hscolour)))
841 (home-page "http://community.haskell.org/~ndm/hlint/")
842 (synopsis "Suggest improvements for Haskell source code")
843 (description "HLint reads Haskell programs and suggests changes that
844hopefully make them easier to read. HLint also makes it easy to disable
845unwanted suggestions, and to add your own custom suggestions.")
846 (license license:bsd-3)))
847
848(define-public ghc-resourcet
849 (package
850 (name "ghc-resourcet")
851 (version "1.1.6")
852 (source
853 (origin
854 (method url-fetch)
855 (uri (string-append
856 "https://hackage.haskell.org/package/resourcet/resourcet-"
857 version
858 ".tar.gz"))
859 (sha256
860 (base32
861 "0zhsaaa4n8ry76vjih519a8npm2hrzk10d5asrgllcwpzmifl41y"))))
862 (build-system haskell-build-system)
863 (propagated-inputs
864 `(("ghc-transformers-base" ,ghc-transformers-base)
865 ("ghc-monad-control" ,ghc-monad-control)
866 ("ghc-transformers-compat" ,ghc-transformers-compat)
867 ("ghc-mtl" ,ghc-mtl)
868 ("ghc-mmorph" ,ghc-mmorph)
869 ("ghc-exceptions" ,ghc-exceptions)))
870 (inputs
871 `(("ghc-lifted-base" ,ghc-lifted-base)
872 ("ghc-hspec" ,ghc-hspec)))
873 (home-page "https://github.com/snoyberg/conduit")
874 (synopsis "Deterministic allocation and freeing of scarce resources")
875 (description "ResourceT is a monad transformer which creates a region of
876code where you can safely allocate resources.")
877 (license license:bsd-3)))
878
879(define-public ghc-xss-sanitize
880 (package
881 (name "ghc-xss-sanitize")
882 (version "0.3.5.6")
883 (source
884 (origin
885 (method url-fetch)
886 (uri (string-append
887 "https://hackage.haskell.org/package/xss-sanitize/xss-sanitize-"
888 version
889 ".tar.gz"))
890 (sha256
891 (base32
892 "1j2qrn2dbfx01m7zyk9ilgnp9zjwq9mk62b0rdal4zkg4vh212h0"))))
893 (build-system haskell-build-system)
894 (propagated-inputs
895 `(("ghc-tagsoup" ,ghc-tagsoup)
896 ("ghc-utf8-string" ,ghc-utf8-string)
897 ("ghc-css-text" ,ghc-css-text)
898 ("ghc-network-uri" ,ghc-network-uri)))
899 (inputs
900 `(("ghc-text" ,ghc-text)
901 ("ghc-attoparsec" ,ghc-attoparsec)
902 ("ghc-hspec" ,ghc-hspec)
903 ("ghc-hunit" ,ghc-hunit)))
904 (home-page "https://github.com/yesodweb/haskell-xss-sanitize")
905 (synopsis "Sanitize untrusted HTML to prevent XSS attacks")
906 (description "This library provides @code{sanitizeXSS}. Run untrusted
907HTML through @code{Text.HTML.SanitizeXSS.sanitizeXSS} to prevent XSS
908attacks.")
909 (license license:bsd-3)))
910
911(define-public ghc-objectname
912 (package
913 (name "ghc-objectname")
914 (version "1.1.0.0")
915 (source
916 (origin
917 (method url-fetch)
918 (uri (string-append
919 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
920 version
921 ".tar.gz"))
922 (sha256
923 (base32
924 "0kh5fb9ykag6rfsm3f0bx3w323s18w2cyry34w5xgli5ncqimadg"))))
925 (build-system haskell-build-system)
926 (home-page "https://hackage.haskell.org/package/ObjectName")
927 (synopsis "Helper library for Haskell OpenGL")
928 (description "This tiny package contains the class ObjectName, which
929corresponds to the general notion of explicitly handled identifiers for API
930objects, e.g. a texture object name in OpenGL or a buffer object name in
931OpenAL.")
932 (license license:bsd-3)))
933
934(define-public ghc-sdl
935 (package
936 (name "ghc-sdl")
937 (version "0.6.5.1")
938 (source
939 (origin
940 (method url-fetch)
941 (uri (string-append
942 "https://hackage.haskell.org/package/SDL/SDL-"
943 version
944 ".tar.gz"))
945 (sha256
946 (base32
947 "1sa3zx3vrs1gbinxx33zwq0x2bsf3i964bff7419p7vzidn36k46"))))
948 (build-system haskell-build-system)
949 (inputs
950 `(("sdl" ,sdl)))
951 (home-page "https://hackage.haskell.org/package/SDL")
952 (synopsis "LibSDL for Haskell")
953 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
954multimedia library designed to provide low level access to audio, keyboard,
955mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
956by MPEG playback software, emulators, and many popular games, including the
957award winning Linux port of \"Civilization: Call To Power.\"")
958 (license license:bsd-3)))
959
960(define-public ghc-sdl-mixer
961 (package
962 (name "ghc-sdl-mixer")
963 (version "0.6.1.1")
964 (source
965 (origin
966 (method url-fetch)
967 (uri (string-append
968 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
969 version
970 ".tar.gz"))
971 (sha256
972 (base32
973 "0md3238hx79mxb9a7l43kg3b3d28x4mqvj0hjsbsh15ajnvy9x2z"))))
974 (build-system haskell-build-system)
975 (arguments
976 `(#:configure-flags
977 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
978 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
979 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
980 (propagated-inputs
981 `(("ghc-sdl" ,ghc-sdl)))
982 (inputs
983 `(("sdl-mixer" ,sdl-mixer)))
984 (home-page "https://hackage.haskell.org/package/SDL-mixer")
985 (synopsis "Haskell bindings to libSDL_mixer")
986 (description "SDL_mixer is a sample multi-channel audio mixer library. It
987supports any number of simultaneously playing channels of 16 bit stereo audio,
988plus a single channel of music, mixed by the popular MikMod MOD, Timidity
989MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
990 (license license:bsd-3)))
991
992(define-public ghc-sdl-image
993 (package
994 (name "ghc-sdl-image")
995 (version "0.6.1.1")
996 (source
997 (origin
998 (method url-fetch)
999 (uri (string-append
1000 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
1001 version
1002 ".tar.gz"))
1003 (sha256
1004 (base32
1005 "1m02q2426qp8m8pzz2jkk4srk2vb3j3ickiaga5jx9rkkhz732zq"))))
1006 (build-system haskell-build-system)
1007 (arguments
1008 `(#:configure-flags
1009 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
1010 (sdl-image-include (string-append sdl-image "/include/SDL")))
1011 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
1012 (propagated-inputs
1013 `(("ghc-sdl" ,ghc-sdl)))
1014 (inputs
1015 `(("sdl-image" ,sdl-image)))
1016 (home-page "https://hackage.haskell.org/package/SDL-image")
1017 (synopsis "Haskell bindings to libSDL_image")
1018 (description "SDL_image is an image file loading library. It loads images
1019as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
1020PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
1021 (license license:bsd-3)))
1022
1023(define-public ghc-half
1024 (package
1025 (name "ghc-half")
1026 (version "0.2.2.1")
1027 (source
1028 (origin
1029 (method url-fetch)
1030 (uri (string-append
1031 "https://hackage.haskell.org/package/half/half-"
1032 version
1033 ".tar.gz"))
1034 (sha256
1035 (base32
1036 "0zhwc6ps5w4ccnxl8sy623z4rjsafmnry69jpkw4hrbq11l402f1"))))
1037 (build-system haskell-build-system)
1038 (home-page "https://github.com/ekmett/half")
1039 (synopsis "Half-precision floating-point computations")
1040 (description "This library provides a half-precision floating-point
1041computation library for Haskell.")
1042 (license license:bsd-3)))
1043
1044(define-public ghc-openglraw
1045 (package
1046 (name "ghc-openglraw")
1047 (version "2.5.1.0")
1048 (source
1049 (origin
1050 (method url-fetch)
1051 (uri (string-append
1052 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
1053 version
1054 ".tar.gz"))
1055 (sha256
1056 (base32
1057 "1kfq24mxg922ml3kkmym2qfpc56jbmrfbiix4rc2cxlwv05i191k"))))
1058 (build-system haskell-build-system)
1059 (inputs
1060 `(("ghc-half" ,ghc-half)
1061 ("glu" ,glu)
1062 ("ghc-text" ,ghc-text)))
1063 (home-page "http://www.haskell.org/haskellwiki/Opengl")
1064 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
1065 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
1066graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
1067of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
1068offers access to all necessary functions, tokens and types plus a general
1069facility for loading extension entries. The module hierarchy closely mirrors
1070the naming structure of the OpenGL extensions, making it easy to find the
1071right module to import. All API entries are loaded dynamically, so no special
1072C header files are needed for building this package. If an API entry is not
1073found at runtime, a userError is thrown.")
1074 (license license:bsd-3)))
1075
1076(define-public ghc-glut
1077 (package
1078 (name "ghc-glut")
1079 (version "2.7.0.3")
1080 (source
1081 (origin
1082 (method url-fetch)
1083 (uri (string-append
1084 "https://hackage.haskell.org/package/GLUT/GLUT-"
1085 version
1086 ".tar.gz"))
1087 (sha256
1088 (base32
1089 "1qfilpc10jm47anan44c20y8mh76f2dv09m5d22gk0f7am7hg4k2"))))
1090 (build-system haskell-build-system)
1091 (propagated-inputs
1092 `(("ghc-statevar" ,ghc-statevar)
1093 ("ghc-openglraw" ,ghc-openglraw)
1094 ("freeglut" ,freeglut)))
1095 (inputs
1096 `(("ghc-opengl" ,ghc-opengl)))
1097 (home-page "http://www.haskell.org/haskellwiki/Opengl")
1098 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
1099 (description "This library provides Haskell bindings for the OpenGL
1100Utility Toolkit, a window system-independent toolkit for writing OpenGL
1101programs.")
1102 (license license:bsd-3)))
1103
1104(define-public ghc-gluraw
1105 (package
1106 (name "ghc-gluraw")
1107 (version "1.5.0.2")
1108 (source
1109 (origin
1110 (method url-fetch)
1111 (uri (string-append
1112 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
1113 version
1114 ".tar.gz"))
1115 (sha256
1116 (base32
1117 "0gscd9lhp9mb10q8s716nx26m8qng9xbb4h6b3f48zzgkc1sy96x"))))
1118 (build-system haskell-build-system)
1119 (propagated-inputs
1120 `(("ghc-openglraw" ,ghc-openglraw)))
1121 (home-page "http://www.haskell.org/haskellwiki/Opengl")
1122 (synopsis "Raw Haskell bindings GLU")
1123 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
1124utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
1125basis for a nicer interface.")
1126 (license license:bsd-3)))
1127
1128(define-public ghc-opengl
1129 (package
1130 (name "ghc-opengl")
1131 (version "2.12.0.1")
1132 (source
1133 (origin
1134 (method url-fetch)
1135 (uri (string-append
1136 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
1137 version
1138 ".tar.gz"))
1139 (sha256
1140 (base32
1141 "1mcfb167jl75qc2hgylh83vf2jqizvyvkvhhb72adi2crc3zqz4b"))))
1142 (build-system haskell-build-system)
1143 (propagated-inputs
1144 `(("ghc-text" ,ghc-text)
1145 ("ghc-objectname" ,ghc-objectname)
1146 ("ghc-gluraw" ,ghc-gluraw)
1147 ("ghc-statevar" ,ghc-statevar)
1148 ("ghc-openglraw" ,ghc-openglraw)))
1149 (home-page "http://www.haskell.org/haskellwiki/Opengl")
1150 (synopsis "Haskell bindings for the OpenGL graphics system")
1151 (description "This package provides Haskell bindings for the OpenGL
1152graphics system (GL, version 4.5) and its accompanying utility library (GLU,
1153version 1.3).")
1154 (license license:bsd-3)))
1155
1156(define-public ghc-streaming-commons
1157 (package
1158 (name "ghc-streaming-commons")
1159 (version "0.1.14.2")
1160 (source
1161 (origin
1162 (method url-fetch)
1163 (uri (string-append
1164 "https://hackage.haskell.org/package/streaming-commons/streaming-commons-"
1165 version
1166 ".tar.gz"))
1167 (sha256
1168 (base32
1169 "12nw9bwvy6zrabkgvbp371klca3ds6qjlfncg1b8pbwx1y7m8c8h"))))
1170 (build-system haskell-build-system)
1171 (propagated-inputs
1172 `(("ghc-random" ,ghc-random)))
1173 (inputs
1174 `(("ghc-quickcheck" ,ghc-quickcheck)
1175 ("ghc-async" ,ghc-async)
1176 ("ghc-blaze-builder" ,ghc-blaze-builder)
1177 ("ghc-hspec" ,ghc-hspec)
1178 ("ghc-stm" ,ghc-stm)
1179 ("ghc-text" ,ghc-text)
1180 ("ghc-network" ,ghc-network)
1181 ("ghc-zlib" ,ghc-zlib)))
1182 (home-page "https://hackage.haskell.org/package/streaming-commons")
1183 (synopsis "Conduit and pipes needed by some streaming data libraries")
1184 (description "Provides low-dependency functionality commonly needed by
1185various Haskell streaming data libraries, such as @code{conduit} and
1186@code{pipe}s.")
1187 (license license:bsd-3)))
1188
1189(define-public cpphs
1190 (package
1191 (name "cpphs")
1192 (version "1.19.3")
1193 (source
1194 (origin
1195 (method url-fetch)
1196 (uri (string-append
1197 "https://hackage.haskell.org/package/" name "/"
1198 name "-" version ".tar.gz"))
1199 (sha256
1200 (base32
1201 "1njpmxgpah5pcqppcl1cxb5xicf6xlqrd162qm12khp9hainlm72"))))
1202 (build-system haskell-build-system)
1203 (propagated-inputs
1204 `(("ghc-polyparse" ,ghc-polyparse)
1205 ("ghc-old-locale" ,ghc-old-locale)
1206 ("ghc-old-time" ,ghc-old-time)))
1207 (home-page "http://projects.haskell.org/cpphs/")
1208 (synopsis "Liberalised re-implementation of cpp, the C pre-processor")
1209 (description "Cpphs is a re-implementation of the C pre-processor that is
1210both more compatible with Haskell, and itself written in Haskell so that it
1211can be distributed with compilers. This version of the C pre-processor is
1212pretty-much feature-complete and compatible with traditional (K&R)
1213pre-processors. Additional features include: a plain-text mode; an option to
1214unlit literate code files; and an option to turn off macro-expansion.")
1215 (license (list license:lgpl2.1+ license:gpl3+))))
1216
1217(define-public ghc-reflection
1218 (package
1219 (name "ghc-reflection")
1220 (version "2.1")
1221 (source
1222 (origin
1223 (method url-fetch)
1224 (uri (string-append
1225 "https://hackage.haskell.org/package/reflection/reflection-"
1226 version
1227 ".tar.gz"))
1228 (sha256
1229 (base32
1230 "10w3m6v3g6am203wbrikdbp57x9vw6b4jsh7bxdzsss4nmpm81zg"))))
1231 (build-system haskell-build-system)
1232 (inputs `(("ghc-tagged" ,ghc-tagged)))
1233 (home-page "https://github.com/ekmett/reflection")
1234 (synopsis "Reify arbitrary terms into types that can be reflected back
1235into terms")
1236 (description "This package addresses the 'configuration problem' which is
1237propogating configurations that are available at run-time, allowing multiple
1238configurations to coexist without resorting to mutable global variables or
1239@code{System.IO.Unsafe.unsafePerformIO}.")
1240 (license license:bsd-3)))
1241
1242(define-public ghc-old-locale
1243 (package
1244 (name "ghc-old-locale")
1245 (version "1.0.0.7")
1246 (source
1247 (origin
1248 (method url-fetch)
1249 (uri (string-append
1250 "https://hackage.haskell.org/package/old-locale/old-locale-"
1251 version
1252 ".tar.gz"))
1253 (sha256
1254 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
1255 (build-system haskell-build-system)
1256 (home-page "https://hackage.haskell.org/package/old-locale")
1257 (synopsis "Adapt to locale conventions")
1258 (description
1259 "This package provides the ability to adapt to locale conventions such as
1260date and time formats.")
1261 (license license:bsd-3)))
1262
1263(define-public ghc-old-time
1264 (package
1265 (name "ghc-old-time")
1266 (version "1.1.0.3")
1267 (source
1268 (origin
1269 (method url-fetch)
1270 (uri (string-append
1271 "https://hackage.haskell.org/package/old-time/old-time-"
1272 version
1273 ".tar.gz"))
1274 (sha256
1275 (base32
1276 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
1277 (build-system haskell-build-system)
1278 (propagated-inputs
1279 `(("ghc-old-locale" ,ghc-old-locale)))
1280 (home-page "https://hackage.haskell.org/package/old-time")
1281 (synopsis "Time compatibility library for Haskell")
1282 (description "Old-time is a package for backwards compatibility with the
1283old @code{time} library. For new projects, the newer
1284@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
1285 (license license:bsd-3)))
1286
1287(define-public ghc-data-default-instances-old-locale
1288 (package
1289 (name "ghc-data-default-instances-old-locale")
1290 (version "0.0.1")
1291 (source
1292 (origin
1293 (method url-fetch)
1294 (uri (string-append
1295 "https://hackage.haskell.org/package/"
1296 "data-default-instances-old-locale/"
1297 "data-default-instances-old-locale-" version ".tar.gz"))
1298 (sha256
1299 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
1300 (build-system haskell-build-system)
1301 (propagated-inputs
1302 `(("ghc-data-default-class" ,ghc-data-default-class)
1303 ("ghc-old-locale" ,ghc-old-locale)))
1304 (home-page
1305 "https://hackage.haskell.org/package/data-default-instances-old-locale")
1306 (synopsis "Default instances for types in old-locale")
1307 (description "Provides Default instances for types from the old-locale
1308 package.")
1309 (license license:bsd-3)))
1310
1311(define-public ghc-dlist
1312 (package
1313 (name "ghc-dlist")
1314 (version "0.7.1.2")
1315 (source
1316 (origin
1317 (method url-fetch)
1318 (uri (string-append
1319 "https://hackage.haskell.org/package/dlist/dlist-"
1320 version
1321 ".tar.gz"))
1322 (sha256
1323 (base32 "10rp96rryij7d8gz5kv8ygc6chm1624ck5mbnqs2a3fkdzqj2b9k"))))
1324 (build-system haskell-build-system)
1325 (inputs
1326 `(("ghc-quickcheck" ,ghc-quickcheck)))
1327 (home-page "https://github.com/spl/dlist")
1328 (synopsis "Difference lists")
1329 (description
1330 "Difference lists are a list-like type supporting O(1) append. This is
1331particularly useful for efficient logging and pretty printing (e.g. with the
1332Writer monad), where list append quickly becomes too expensive.")
1333 (license license:bsd-3)))
1334
1335(define-public ghc-extensible-exceptions
1336 (package
1337 (name "ghc-extensible-exceptions")
1338 (version "0.1.1.4")
1339 (source
1340 (origin
1341 (method url-fetch)
1342 (uri (string-append "https://hackage.haskell.org/package/"
1343 "extensible-exceptions/extensible-exceptions-"
1344 version ".tar.gz"))
1345 (sha256
1346 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
1347 (build-system haskell-build-system)
1348 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
1349 (synopsis "Extensible exceptions for Haskell")
1350 (description
1351 "This package provides extensible exceptions for both new and old
1352versions of GHC (i.e., < 6.10).")
1353 (license license:bsd-3)))
1354
1355(define-public cabal-install
1356 (package
1357 (name "cabal-install")
1358 (version "1.22.6.0")
1359 (source
1360 (origin
1361 (method url-fetch)
1362 (uri (string-append
1363 "https://hackage.haskell.org/package/cabal-install/cabal-install-"
1364 version
1365 ".tar.gz"))
1366 (sha256
1367 (base32 "1d5h7h2wjwc2s3dvsvzjgmmfrfl2312ym2h6kyjgm9wnaqw9w8wx"))))
1368 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
1369 (build-system haskell-build-system)
1370 (propagated-inputs
1371 `(("ghc-http" ,ghc-http)
1372 ("ghc-mtl" ,ghc-mtl)
1373 ("ghc-network-uri" ,ghc-network-uri)
1374 ("ghc-network" ,ghc-network)
1375 ("ghc-random" ,ghc-random)
1376 ("ghc-stm" ,ghc-stm)
1377 ("ghc-zlib" ,ghc-zlib)))
1378 (home-page "http://www.haskell.org/cabal/")
1379 (synopsis "Command-line interface for Cabal and Hackage")
1380 (description
1381 "The cabal command-line program simplifies the process of managing
1382Haskell software by automating the fetching, configuration, compilation and
1383installation of Haskell libraries and programs.")
1384 (license license:bsd-3)))
1385
1386(define-public ghc-mtl
1387 (package
1388 (name "ghc-mtl")
1389 (version "2.2.1")
1390 (outputs '("out" "doc"))
1391 (source
1392 (origin
1393 (method url-fetch)
1394 (uri (string-append
1395 "https://hackage.haskell.org/package/mtl/mtl-"
1396 version
1397 ".tar.gz"))
1398 (sha256
1399 (base32
1400 "1icdbj2rshzn0m1zz5wa7v3xvkf6qw811p4s7jgqwvx1ydwrvrfa"))))
1401 (build-system haskell-build-system)
1402 (home-page "https://github.com/ekmett/mtl")
1403 (synopsis
1404 "Monad classes, using functional dependencies")
1405 (description "Monad classes using functional dependencies, with instances
1406for various monad transformers, inspired by the paper 'Functional Programming
1407with Overloading and Higher-Order Polymorphism', by Mark P Jones, in 'Advanced
1408School of Functional Programming', 1995. See
1409@uref{http://web.cecs.pdx.edu/~mpj/pubs/springschool.html, the paper}.")
1410 (license license:bsd-3)))
1411
1412(define-public ghc-paths
1413 (package
1414 (name "ghc-paths")
1415 (version "0.1.0.9")
1416 (outputs '("out" "doc"))
1417 (source
1418 (origin
1419 (method url-fetch)
1420 (uri (string-append
1421 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
1422 version
1423 ".tar.gz"))
1424 (sha256
1425 (base32
1426 "0ibrr1dxa35xx20cpp8jzgfak1rdmy344dfwq4vlq013c6w8z9mg"))))
1427 (build-system haskell-build-system)
1428 (home-page "https://github.com/simonmar/ghc-paths")
1429 (synopsis
1430 "Knowledge of GHC's installation directories")
1431 (description
1432 "Knowledge of GHC's installation directories.")
1433 (license license:bsd-3)))
1434
1435(define-public ghc-utf8-string
1436 (package
1437 (name "ghc-utf8-string")
1438 (version "1.0.1.1")
1439 (source
1440 (origin
1441 (method url-fetch)
1442 (uri (string-append
1443 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
1444 version
1445 ".tar.gz"))
1446 (sha256
1447 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
1448 (build-system haskell-build-system)
1449 (home-page "https://github.com/glguy/utf8-string/")
1450 (synopsis "Support for reading and writing UTF8 Strings")
1451 (description
1452 "A UTF8 layer for Strings. The utf8-string package provides operations
1453for encoding UTF8 strings to Word8 lists and back, and for reading and writing
1454UTF8 without truncation.")
1455 (license license:bsd-3)))
1456
1457(define-public ghc-setenv
1458 (package
1459 (name "ghc-setenv")
1460 (version "0.1.1.3")
1461 (source
1462 (origin
1463 (method url-fetch)
1464 (uri (string-append
1465 "https://hackage.haskell.org/package/setenv/setenv-"
1466 version
1467 ".tar.gz"))
1468 (sha256
1469 (base32
1470 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
1471 (build-system haskell-build-system)
1472 (home-page "https://hackage.haskell.org/package/setenv")
1473 (synopsis "Library for setting environment variables")
1474 (description "This package provides a Haskell library for setting
1475environment variables.")
1476 (license license:expat)))
1477
1478(define-public ghc-x11
1479 (package
1480 (name "ghc-x11")
1481 (version "1.6.1.2")
1482 (source
1483 (origin
1484 (method url-fetch)
1485 (uri (string-append "https://hackage.haskell.org/package/X11/"
1486 "X11-" version ".tar.gz"))
1487 (sha256
1488 (base32 "1kzjcynm3rr83ihqx2y2d852jc49da4p18gv6jzm7g87z22x85jj"))))
1489 (build-system haskell-build-system)
1490 (inputs
1491 `(("libx11" ,libx11)
1492 ("libxrandr" ,libxrandr)
1493 ("libxinerama" ,libxinerama)
1494 ("libxscrnsaver" ,libxscrnsaver)))
1495 (propagated-inputs
1496 `(("ghc-data-default" ,ghc-data-default)))
1497 (home-page "https://github.com/haskell-pkg-janitors/X11")
1498 (synopsis "Bindings to the X11 graphics library")
1499 (description
1500 "This package provides Haskell bindings to the X11 graphics library. The
1501bindings are a direct translation of the C bindings.")
1502 (license license:bsd-3)))
1503
1504(define-public ghc-x11-xft
1505 (package
1506 (name "ghc-x11-xft")
1507 (version "0.3.1")
1508 (source
1509 (origin
1510 (method url-fetch)
1511 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
1512 "X11-xft-" version ".tar.gz"))
1513 (sha256
1514 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
1515 (propagated-inputs
1516 `(("ghc-x11" ,ghc-x11)
1517 ("ghc-utf8-string" ,ghc-utf8-string)))
1518 (inputs
1519 `(("libx11" ,libx11)
1520 ("libxft" ,libxft)
1521 ("xproto" ,xproto)))
1522 (native-inputs
1523 `(("pkg-config" ,pkg-config)))
1524 (build-system haskell-build-system)
1525 (home-page "https://hackage.haskell.org/package/X11-xft")
1526 (synopsis "Bindings to Xft")
1527 (description
1528 "Bindings to the Xft, X Free Type interface library, and some Xrender
1529parts.")
1530 (license license:lgpl2.1)))
1531
1532(define-public ghc-stringbuilder
1533 (package
1534 (name "ghc-stringbuilder")
1535 (version "0.5.0")
1536 (source
1537 (origin
1538 (method url-fetch)
1539 (uri (string-append
1540 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
1541 version
1542 ".tar.gz"))
1543 (sha256
1544 (base32
1545 "1ap95xphqnrhv64c2a137wqslkdmb2jjd9ldb17gs1pw48k8hrl9"))))
1546 (build-system haskell-build-system)
1547 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
1548 ; enabled
1549 (home-page "https://hackage.haskell.org/package/stringbuilder")
1550 (synopsis "Writer monad for multi-line string literals")
1551 (description "This package provides a writer monad for multi-line string
1552literals.")
1553 (license license:expat)))
1554
1555(define-public ghc-zlib
1556 (package
1557 (name "ghc-zlib")
1558 (version "0.5.4.2")
1559 (outputs '("out" "doc"))
1560 (source
1561 (origin
1562 (method url-fetch)
1563 (uri (string-append
1564 "https://hackage.haskell.org/package/zlib/zlib-"
1565 version
1566 ".tar.gz"))
1567 (sha256
1568 (base32
1569 "15hhsk7z3gvm7sz2ic2z1ca5c6rpsln2rr391mdbm1bxlzc1gmkm"))))
1570 (build-system haskell-build-system)
1571 (inputs `(("zlib" ,zlib)))
1572 (home-page "https://hackage.haskell.org/package/zlib")
1573 (synopsis
1574 "Compression and decompression in the gzip and zlib formats")
1575 (description
1576 "This package provides a pure interface for compressing and decompressing
1577streams of data represented as lazy 'ByteString's. It uses the zlib C library
1578so it has high performance. It supports the 'zlib', 'gzip' and 'raw'
1579compression formats. It provides a convenient high level API suitable for
1580most tasks and for the few cases where more control is needed it provides
1581access to the full zlib feature set.")
1582 (license license:bsd-3)))
1583
1584(define-public ghc-stm
1585 (package
1586 (name "ghc-stm")
1587 (version "2.4.4")
1588 (outputs '("out" "doc"))
1589 (source
1590 (origin
1591 (method url-fetch)
1592 (uri (string-append
1593 "https://hackage.haskell.org/package/stm/stm-"
1594 version
1595 ".tar.gz"))
1596 (sha256
1597 (base32
1598 "0gc8zvdijp3rwmidkpxv76b4i0dc8dw6nbd92rxl4vxl0655iysx"))))
1599 (build-system haskell-build-system)
1600 (home-page "https://hackage.haskell.org/package/stm")
1601 (synopsis "Software Transactional Memory")
1602 (description
1603 "A modular composable concurrency abstraction.")
1604 (license license:bsd-3)))
1605
1606(define-public ghc-parallel
1607 (package
1608 (name "ghc-parallel")
1609 (version "3.2.0.6")
1610 (outputs '("out" "doc"))
1611 (source
1612 (origin
1613 (method url-fetch)
1614 (uri (string-append
1615 "https://hackage.haskell.org/package/parallel/parallel-"
1616 version
1617 ".tar.gz"))
1618 (sha256
1619 (base32
1620 "0hp6vf4zxsw6vz6lj505xihmnfhgjp39c9q7nyzlgcmps3xx6a5r"))))
1621 (build-system haskell-build-system)
1622 (home-page "https://hackage.haskell.org/package/parallel")
1623 (synopsis "Parallel programming library")
1624 (description
1625 "This package provides a library for parallel programming.")
1626 (license license:bsd-3)))
1627
1628(define-public ghc-text
1629 (package
1630 (name "ghc-text")
1631 (version "1.2.1.3")
1632 (outputs '("out" "doc"))
1633 (source
1634 (origin
1635 (method url-fetch)
1636 (uri (string-append
1637 "https://hackage.haskell.org/package/text/text-"
1638 version
1639 ".tar.gz"))
1640 (sha256
1641 (base32
1642 "0gzqx5cpkdhshbz9xss51mpyq23pnf8dwjz4h3irbv2ryaa4qdlq"))))
1643 (build-system haskell-build-system)
1644 (arguments
1645 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1646 (home-page "https://github.com/bos/text")
1647 (synopsis "Efficient packed Unicode text type library")
1648 (description
1649 "An efficient packed, immutable Unicode text type (both strict and
1650lazy), with a powerful loop fusion optimization framework.
1651
1652The 'Text' type represents Unicode character strings, in a time and
1653space-efficient manner. This package provides text processing
1654capabilities that are optimized for performance critical use, both
1655in terms of large data quantities and high speed.")
1656 (license license:bsd-3)))
1657
1658(define-public ghc-hashable
1659 (package
1660 (name "ghc-hashable")
1661 (version "1.2.3.3")
1662 (outputs '("out" "doc"))
1663 (source
1664 (origin
1665 (method url-fetch)
1666 (uri (string-append
1667 "https://hackage.haskell.org/package/hashable/hashable-"
1668 version
1669 ".tar.gz"))
1670 (sha256
1671 (base32
1672 "0kp4aj0x1iicz9qirpqxxqd8x5g1njbapxk1d90n406w3xykz4pw"))))
1673 (build-system haskell-build-system)
1674 (arguments
1675 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1676 ;; these inputs are necessary to use this library
1677 (propagated-inputs
1678 `(("ghc-text" ,ghc-text)))
1679 (home-page "https://github.com/tibbe/hashable")
1680 (synopsis
1681 "Class for types that can be converted to a hash value")
1682 (description
1683 "This package defines a class, 'Hashable', for types that can be
1684converted to a hash value. This class exists for the benefit of hashing-based
1685data structures. The package provides instances for basic types and a way to
1686combine hash values.")
1687 (license license:bsd-3)))
1688
1689(define-public ghc-hunit
1690 (package
1691 (name "ghc-hunit")
1692 (version "1.2.5.2")
1693 (outputs '("out" "doc"))
1694 (source
1695 (origin
1696 (method url-fetch)
1697 (uri (string-append
1698 "https://hackage.haskell.org/package/HUnit/HUnit-"
1699 version
1700 ".tar.gz"))
1701 (sha256
1702 (base32
1703 "0hcs6qh8bqhip1kkjjnw7ccgcsmawdz5yvffjj5y8zd2vcsavx8a"))))
1704 (build-system haskell-build-system)
1705 (home-page "http://hunit.sourceforge.net/")
1706 (synopsis "Unit testing framework for Haskell")
1707 (description
1708 "HUnit is a unit testing framework for Haskell, inspired by the
1709JUnit tool for Java.")
1710 (license license:bsd-3)))
1711
1712(define-public ghc-random
1713 (package
1714 (name "ghc-random")
1715 (version "1.1")
1716 (outputs '("out" "doc"))
1717 (source
1718 (origin
1719 (method url-fetch)
1720 (uri (string-append
1721 "https://hackage.haskell.org/package/random/random-"
1722 version
1723 ".tar.gz"))
1724 (sha256
1725 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
1726 (build-system haskell-build-system)
1727 (home-page "https://hackage.haskell.org/package/random")
1728 (synopsis "Random number library")
1729 (description "This package provides a basic random number generation
1730library, including the ability to split random number generators.")
1731 (license license:bsd-3)))
1732
1733(define-public ghc-primitive
1734 (package
1735 (name "ghc-primitive")
1736 (version "0.6.1.0")
1737 (outputs '("out" "doc"))
1738 (source
1739 (origin
1740 (method url-fetch)
1741 (uri (string-append
1742 "https://hackage.haskell.org/package/primitive/primitive-"
1743 version
1744 ".tar.gz"))
1745 (sha256
1746 (base32
1747 "1j1q7l21rdm8kfs93vibr3xwkkhqis181w2k6klfhx5g5skiywwk"))))
1748 (build-system haskell-build-system)
1749 (home-page
1750 "https://github.com/haskell/primitive")
1751 (synopsis "Primitive memory-related operations")
1752 (description
1753 "This package provides various primitive memory-related operations.")
1754 (license license:bsd-3)))
1755
1756(define-public ghc-test-framework
1757 (package
1758 (name "ghc-test-framework")
1759 (version "0.8.1.1")
1760 (source
1761 (origin
1762 (method url-fetch)
1763 (uri (string-append "https://hackage.haskell.org/package/test-framework/"
1764 "test-framework-" version ".tar.gz"))
1765 (sha256
1766 (base32
1767 "0wxjgdvb1c4ykazw774zlx86550848wbsvgjgcrdzcgbb9m650vq"))))
1768 (build-system haskell-build-system)
1769 (inputs
1770 `(("ghc-hunit" ,ghc-hunit)
1771 ("ghc-libxml" ,ghc-libxml)
1772 ("ghc-quickcheck" ,ghc-quickcheck)))
1773 (propagated-inputs
1774 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
1775 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
1776 ("ghc-hostname" ,ghc-hostname)
1777 ("ghc-old-locale" ,ghc-old-locale)
1778 ("ghc-random" ,ghc-random)
1779 ("ghc-regex-posix" ,ghc-regex-posix)
1780 ("ghc-xml" ,ghc-xml)))
1781 (home-page "https://batterseapower.github.io/test-framework/")
1782 (synopsis "Framework for running and organising tests")
1783 (description
1784 "This package allows tests such as QuickCheck properties and HUnit test
1785cases to be assembled into test groups, run in parallel (but reported in
1786deterministic order, to aid diff interpretation) and filtered and controlled
1787by command line options. All of this comes with colored test output, progress
1788reporting and test statistics output.")
1789 (license license:bsd-3)))
1790
1791(define-public ghc-test-framework-hunit
1792 (package
1793 (name "ghc-test-framework-hunit")
1794 (version "0.3.0.1")
1795 (source
1796 (origin
1797 (method url-fetch)
1798 (uri (string-append "https://hackage.haskell.org/package/"
1799 "test-framework-hunit/test-framework-hunit-"
1800 version ".tar.gz"))
1801 (sha256
1802 (base32
1803 "1h0h55kf6ff25nbfx1mhliwyknc0glwv3zi78wpzllbjbs7gvyfk"))))
1804 (build-system haskell-build-system)
1805 (propagated-inputs
1806 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
1807 ("ghc-hunit" ,ghc-hunit)
1808 ("ghc-test-framework" ,ghc-test-framework)))
1809 (home-page "https://batterseapower.github.io/test-framework/")
1810 (synopsis "HUnit support for test-framework")
1811 (description
1812 "This package provides HUnit support for the test-framework package.")
1813 (license license:bsd-3)))
1814
1815(define-public ghc-test-framework-quickcheck2
1816 (package
1817 (name "ghc-test-framework-quickcheck2")
1818 (version "0.3.0.3")
1819 (source
1820 (origin
1821 (method url-fetch)
1822 (uri (string-append "https://hackage.haskell.org/package/"
1823 "test-framework-quickcheck2/"
1824 "test-framework-quickcheck2-" version ".tar.gz"))
1825 (sha256
1826 (base32
1827 "12p1zwrsz35r3j5gzbvixz9z1h5643rhihf5gqznmc991krwd5nc"))
1828 (modules '((guix build utils)))
1829 (snippet
1830 ;; The Hackage page and the cabal file linked there for this package
1831 ;; both list 2.9 as the upper version limit, but the source tarball
1832 ;; specifies 2.8. Assume the Hackage page is correct.
1833 '(substitute* "test-framework-quickcheck2.cabal"
1834 (("QuickCheck >= 2.4 && < 2.8") "QuickCheck >= 2.4 && < 2.9")))))
1835 (build-system haskell-build-system)
1836 (propagated-inputs
1837 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
1838 ("ghc-quickcheck" ,ghc-quickcheck)
1839 ("ghc-random" ,ghc-random)
1840 ("ghc-test-framework" ,ghc-test-framework)))
1841 (home-page "https://batterseapower.github.io/test-framework/")
1842 (synopsis "QuickCheck2 support for test-framework")
1843 (description
1844 "This packages provides QuickCheck2 support for the test-framework
1845package.")
1846 (license license:bsd-3)))
1847
1848(define-public ghc-tf-random
1849 (package
1850 (name "ghc-tf-random")
1851 (version "0.5")
1852 (outputs '("out" "doc"))
1853 (source
1854 (origin
1855 (method url-fetch)
1856 (uri (string-append
1857 "https://hackage.haskell.org/package/tf-random/tf-random-"
1858 version
1859 ".tar.gz"))
1860 (sha256
1861 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
1862 (build-system haskell-build-system)
1863 ;; these inputs are necessary to use this package
1864 (propagated-inputs
1865 `(("ghc-primitive" ,ghc-primitive)
1866 ("ghc-random" ,ghc-random)))
1867 (home-page "https://hackage.haskell.org/package/tf-random")
1868 (synopsis "High-quality splittable pseudorandom number generator")
1869 (description "This package contains an implementation of a high-quality
1870splittable pseudorandom number generator. The generator is based on a
1871cryptographic hash function built on top of the ThreeFish block cipher. See
1872the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
1873Hashing\" by Claessen, Pałka for details and the rationale of the design.")
1874 (license license:bsd-3)))
1875
1876(define-public ghc-transformers-base
1877 (package
1878 (name "ghc-transformers-base")
1879 (version "0.4.4")
1880 (source
1881 (origin
1882 (method url-fetch)
1883 (uri (string-append
1884 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
1885 version
1886 ".tar.gz"))
1887 (sha256
1888 (base32
1889 "11r3slgpgpra6zi2kjg3g60gvv17b1fh6qxipcpk8n86qx7lk8va"))))
1890 (build-system haskell-build-system)
1891 (propagated-inputs
1892 `(("ghc-stm" ,ghc-stm)))
1893 (inputs
1894 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
1895 (home-page
1896 "https://hackage.haskell.org/package/transformers-compat")
1897 (synopsis
1898 "Backported transformer library")
1899 (description
1900 "Backported versions of types that were added to transformers in
1901transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
1902compatibility to run on old versions of the platform.")
1903 (license license:bsd-3)))
1904
1905(define-public ghc-transformers-compat
1906 (package
1907 (name "ghc-transformers-compat")
1908 (version "0.4.0.4")
1909 (source
1910 (origin
1911 (method url-fetch)
1912 (uri (string-append
1913 "https://hackage.haskell.org/package/transformers-compat"
1914 "/transformers-compat-" version ".tar.gz"))
1915 (sha256
1916 (base32
1917 "0lmg8ry6bgigb0v2lg0n74lxi8z5m85qq0qi4h1k9llyjb4in8ym"))))
1918 (build-system haskell-build-system)
1919 (home-page "https://github.com/ekmett/transformers-compat/")
1920 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
1921 (description "This package includes backported versions of types that were
1922added to transformers in transformers 0.3 and 0.4 for users who need strict
1923transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
1924but also need those types.")
1925 (license license:bsd-3)))
1926
1927(define-public ghc-unix-time
1928 (package
1929 (name "ghc-unix-time")
1930 (version "0.3.6")
1931 (source
1932 (origin
1933 (method url-fetch)
1934 (uri (string-append
1935 "https://hackage.haskell.org/package/unix-time/unix-time-"
1936 version
1937 ".tar.gz"))
1938 (sha256
1939 (base32
1940 "0dyvyxwaffb94bgri1wc4b9wqaasy32pyjn0lww3dqblxv8fn5ax"))))
1941 (build-system haskell-build-system)
1942 (arguments
1943 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
1944 ; is weird, that should be provided by GHC 7.10.2.
1945 (propagated-inputs
1946 `(("ghc-old-time" ,ghc-old-time)
1947 ("ghc-old-locale" ,ghc-old-locale)))
1948 (home-page "https://hackage.haskell.org/package/unix-time")
1949 (synopsis "Unix time parser/formatter and utilities")
1950 (description "This library provides fast parsing and formatting utilities
1951for Unix time in Haskell.")
1952 (license license:bsd-3)))
1953
1954(define-public ghc-unix-compat
1955 (package
1956 (name "ghc-unix-compat")
1957 (version "0.4.1.4")
1958 (source
1959 (origin
1960 (method url-fetch)
1961 (uri (string-append
1962 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
1963 version
1964 ".tar.gz"))
1965 (sha256
1966 (base32
1967 "0jxk7j5pz2kgfpqr4hznndjg31pqj5xg2qfc5308fcn9xyg1myps"))))
1968 (build-system haskell-build-system)
1969 (home-page
1970 "https://github.com/jystic/unix-compat")
1971 (synopsis "Portable POSIX-compatibility layer")
1972 (description
1973 "This package provides portable implementations of parts of the unix
1974package. This package re-exports the unix package when available. When it
1975isn't available, portable implementations are used.")
1976 (license license:bsd-3)))
1977
1978(define-public ghc-http-types
1979 (package
1980 (name "ghc-http-types")
1981 (version "0.9")
1982 (source
1983 (origin
1984 (method url-fetch)
1985 (uri (string-append
1986 "https://hackage.haskell.org/package/http-types/http-types-"
1987 version
1988 ".tar.gz"))
1989 (sha256
1990 (base32
1991 "0ny15jgm5skhs2yx6snr13lrnw19hwjgfygrpsmhib8wqa8cz8cc"))))
1992 (build-system haskell-build-system)
1993 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find
1994 ; Blaze.Bytestring.Builder, which should be
1995 ; provided by ghc-blaze-builder.
1996 (propagated-inputs
1997 `(("ghc-case-insensitive" ,ghc-case-insensitive)
1998 ("ghc-blaze-builder" ,ghc-blaze-builder)))
1999 (inputs
2000 `(("ghc-text" ,ghc-text)))
2001 (home-page "https://github.com/aristidb/http-types")
2002 (synopsis "Generic HTTP types for Haskell")
2003 (description "This package provides generic HTTP types for Haskell (for
2004both client and server code).")
2005 (license license:bsd-3)))
2006
2007(define-public ghc-indents
2008 (package
2009 (name "ghc-indents")
2010 (version "0.3.3")
2011 (source (origin
2012 (method url-fetch)
2013 (uri (string-append
2014 "https://hackage.haskell.org/package/indents/indents-"
2015 version ".tar.gz"))
2016 (sha256
2017 (base32
2018 "16lz21bp9j14xilnq8yym22p3saxvc9fsgfcf5awn2a6i6n527xn"))))
2019 (build-system haskell-build-system)
2020 (inputs
2021 `(("ghc-parsec" ,ghc-parsec)
2022 ("ghc-concatenative" ,ghc-concatenative)
2023 ("ghc-mtl" ,ghc-mtl)))
2024 (home-page "http://patch-tag.com/r/salazar/indents")
2025 (synopsis "Indentation sensitive parser-combinators for parsec")
2026 (description
2027 "This library provides functions for use in parsing indentation sensitive
2028contexts. It parses blocks of lines all indented to the same level as well as
2029lines continued at an indented level below.")
2030 (license license:bsd-3)))
2031
2032(define-public ghc-iproute
2033 (package
2034 (name "ghc-iproute")
2035 (version "1.7.0")
2036 (source
2037 (origin
2038 (method url-fetch)
2039 (uri (string-append
2040 "https://hackage.haskell.org/package/iproute/iproute-"
2041 version
2042 ".tar.gz"))
2043 (sha256
2044 (base32
2045 "1ply0i110c2sppjbfyysgw48jfjnsbam5zwil8xws0hp20rh1pb5"))))
2046 (build-system haskell-build-system)
2047 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
2048 ; exported by ghc-byteorder. Doctest issue.
2049 (propagated-inputs
2050 `(("ghc-appar" ,ghc-appar)
2051 ("ghc-byteorder" ,ghc-byteorder)))
2052 (inputs
2053 `(("ghc-network" ,ghc-network)
2054 ("ghc-safe" ,ghc-safe)))
2055 (home-page "http://www.mew.org/~kazu/proj/iproute/")
2056 (synopsis "IP routing table")
2057 (description "IP Routing Table is a tree of IP ranges to search one of
2058them on the longest match base. It is a kind of TRIE with one way branching
2059removed. Both IPv4 and IPv6 are supported.")
2060 (license license:bsd-3)))
2061
2062(define-public ghc-regex-base
2063 (package
2064 (name "ghc-regex-base")
2065 (version "0.93.2")
2066 (source
2067 (origin
2068 (method url-fetch)
2069 (uri (string-append
2070 "https://hackage.haskell.org/package/regex-base/regex-base-"
2071 version
2072 ".tar.gz"))
2073 (sha256
2074 (base32
2075 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
2076 (build-system haskell-build-system)
2077 (propagated-inputs
2078 `(("ghc-mtl" ,ghc-mtl)))
2079 (home-page
2080 "http://sourceforge.net/projects/lazy-regex")
2081 (synopsis "Replaces/Enhances Text.Regex")
2082 (description "@code{Text.Regex.Base} provides the interface API for
2083regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
2084 (license license:bsd-3)))
2085
2086(define-public ghc-regex-posix
2087 (package
2088 (name "ghc-regex-posix")
2089 (version "0.95.2")
2090 (source
2091 (origin
2092 (method url-fetch)
2093 (uri (string-append
2094 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
2095 version
2096 ".tar.gz"))
2097 (sha256
2098 (base32
2099 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
2100 (build-system haskell-build-system)
2101 (propagated-inputs
2102 `(("ghc-regex-base" ,ghc-regex-base)))
2103 (home-page "http://sourceforge.net/projects/lazy-regex")
2104 (synopsis "POSIX regular expressions for Haskell")
2105 (description "This library provides the POSIX regex backend used by the
2106Haskell library @code{regex-base}.")
2107 (license license:bsd-3)))
2108
2109(define-public ghc-regex-compat
2110 (package
2111 (name "ghc-regex-compat")
2112 (version "0.95.1")
2113 (source
2114 (origin
2115 (method url-fetch)
2116 (uri (string-append
2117 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
2118 version
2119 ".tar.gz"))
2120 (sha256
2121 (base32
2122 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
2123 (build-system haskell-build-system)
2124 (inputs
2125 `(("ghc-regex-base" ,ghc-regex-base)
2126 ("ghc-regex-posix" ,ghc-regex-posix)))
2127 (home-page "http://sourceforge.net/projects/lazy-regex")
2128 (synopsis "Replaces/Enhances Text.Regex")
2129 (description "This library provides one module layer over
2130@code{regex-posix} to replace @code{Text.Regex}.")
2131 (license license:bsd-3)))
2132
2133(define-public ghc-regex-tdfa-rc
2134 (package
2135 (name "ghc-regex-tdfa-rc")
2136 (version "1.1.8.3")
2137 (source
2138 (origin
2139 (method url-fetch)
2140 (uri (string-append
2141 "https://hackage.haskell.org/package/regex-tdfa-rc/regex-tdfa-rc-"
2142 version
2143 ".tar.gz"))
2144 (sha256
2145 (base32
2146 "1vi11i23gkkjg6193ak90g55akj69bhahy542frkwb68haky4pp3"))))
2147 (build-system haskell-build-system)
2148 (propagated-inputs
2149 `(("ghc-regex-base" ,ghc-regex-base)
2150 ("ghc-parsec" ,ghc-parsec)))
2151 (inputs
2152 `(("ghc-mtl" ,ghc-mtl)))
2153 (home-page
2154 "https://hackage.haskell.org/package/regex-tdfa")
2155 (synopsis "Tagged DFA regex engine for Haskell")
2156 (description "A new all-Haskell \"tagged\" DFA regex engine, inspired by
2157@code{libtre} (fork by Roman Cheplyaka).")
2158 (license license:bsd-3)))
2159
2160(define-public ghc-parsers
2161 (package
2162 (name "ghc-parsers")
2163 (version "0.12.3")
2164 (source
2165 (origin
2166 (method url-fetch)
2167 (uri (string-append
2168 "https://hackage.haskell.org/package/parsers/parsers-"
2169 version
2170 ".tar.gz"))
2171 (sha256
2172 (base32
2173 "18wzmp8y3py4qa8hdsxqm0jfzmwy744dw7xa48r5s8ynhpimi462"))))
2174 (build-system haskell-build-system)
2175 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
2176 ; -package attoparsec-0.13.0.1"
2177 (propagated-inputs
2178 `(("ghc-base-orphans" ,ghc-base-orphans)
2179 ("ghc-attoparsec" ,ghc-attoparsec)
2180 ("ghc-parsec" ,ghc-parsec)
2181 ("ghc-scientific" ,ghc-scientific)
2182 ("ghc-charset" ,ghc-charset)))
2183 (inputs
2184 `(("ghc-text" ,ghc-text)
2185 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2186 (home-page "https://github.com/ekmett/parsers/")
2187 (synopsis "Parsing combinators")
2188 (description "This library provides convenient combinators for working
2189with and building parsing combinator libraries. Given a few simple instances,
2190you get access to a large number of canned definitions. Instances exist for
2191the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
2192@code{Text.Read}.")
2193 (license license:bsd-3)))
2194
2195(define-public ghc-trifecta
2196 (package
2197 (name "ghc-trifecta")
2198 (version "1.5.2")
2199 (source
2200 (origin
2201 (method url-fetch)
2202 (uri (string-append
2203 "https://hackage.haskell.org/package/trifecta/trifecta-"
2204 version
2205 ".tar.gz"))
2206 (sha256
2207 (base32
2208 "0fjhnsbafl3yw34pyhcsvrqy6a2mnhyqys6gna3rrlygs8ck7hpb"))))
2209 (build-system haskell-build-system)
2210 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
2211 ; -package ansi-terminal-0.6.2.3"
2212 (propagated-inputs
2213 `(("ghc-charset" ,ghc-charset)
2214 ("ghc-comonad" ,ghc-comonad)
2215 ("ghc-lens" ,ghc-lens)
2216 ("ghc-profunctors" ,ghc-profunctors)
2217 ("ghc-reducers" ,ghc-reducers)
2218 ("ghc-semigroups" ,ghc-semigroups)))
2219 (inputs
2220 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
2221 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2222 ("ghc-blaze-builder" ,ghc-blaze-builder)
2223 ("ghc-blaze-html" ,ghc-blaze-html)
2224 ("ghc-blaze-markup" ,ghc-blaze-markup)
2225 ("ghc-fingertree" ,ghc-fingertree)
2226 ("ghc-hashable" ,ghc-hashable)
2227 ("ghc-mtl" ,ghc-mtl)
2228 ("ghc-parsers" ,ghc-parsers)
2229 ("ghc-unordered-containers" ,ghc-unordered-containers)
2230 ("ghc-utf8-string" ,ghc-utf8-string)))
2231 (home-page "https://github.com/ekmett/trifecta/")
2232 (synopsis "Parser combinator library with convenient diagnostics")
2233 (description "Trifecta is a modern parser combinator library for Haskell,
2234with slicing and Clang-style colored diagnostics.")
2235 (license license:bsd-3)))
2236
2237(define-public ghc-attoparsec
2238 (package
2239 (name "ghc-attoparsec")
2240 (version "0.13.0.1")
2241 (source
2242 (origin
2243 (method url-fetch)
2244 (uri (string-append
2245 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
2246 version
2247 ".tar.gz"))
2248 (sha256
2249 (base32
2250 "0cprkr7bl4lrr80pz8mryb4rbfwdgpsrl7g0fbcaybhl8p5hm26f"))))
2251 (build-system haskell-build-system)
2252 (propagated-inputs
2253 `(("ghc-scientific" ,ghc-scientific)))
2254 (inputs
2255 `(("ghc-quickcheck" ,ghc-quickcheck)
2256 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
2257 ("ghc-test-framework" ,ghc-test-framework)
2258 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
2259 ("ghc-text" ,ghc-text)
2260 ("ghc-vector" ,ghc-vector)))
2261 (home-page "https://github.com/bos/attoparsec")
2262 (synopsis "Fast combinator parsing for bytestrings and text")
2263 (description "This library provides a fast parser combinator library,
2264aimed particularly at dealing efficiently with network protocols and
2265complicated text/binary file formats.")
2266 (license license:bsd-3)))
2267
2268(define-public ghc-css-text
2269 (package
2270 (name "ghc-css-text")
2271 (version "0.1.2.1")
2272 (source
2273 (origin
2274 (method url-fetch)
2275 (uri (string-append
2276 "https://hackage.haskell.org/package/css-text/css-text-"
2277 version
2278 ".tar.gz"))
2279 (sha256
2280 (base32
2281 "1xi1n2f0g8y43p95lynhcg50wxbq7hqfzbfzm7fy8mn7gvd920nw"))))
2282 (build-system haskell-build-system)
2283 (inputs
2284 `(("ghc-text" ,ghc-text)
2285 ("ghc-attoparsec" ,ghc-attoparsec)
2286 ("ghc-hspec" ,ghc-hspec)
2287 ("ghc-quickcheck" ,ghc-quickcheck)))
2288 (home-page "http://www.yesodweb.com/")
2289 (synopsis "CSS parser and renderer")
2290 (description "This package provides a CSS parser and renderer for
2291Haskell.")
2292 (license license:bsd-3)))
2293
2294(define-public ghc-zip-archive
2295 (package
2296 (name "ghc-zip-archive")
2297 (version "0.2.3.7")
2298 (source
2299 (origin
2300 (method url-fetch)
2301 (uri (string-append
2302 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
2303 version
2304 ".tar.gz"))
2305 (sha256
2306 (base32
2307 "169nkxr5zlbymiz1ydlhlqr66vqiycmg85xh559phpkr64w3nqj1"))))
2308 (build-system haskell-build-system)
2309 (propagated-inputs
2310 `(("ghc-old-time" ,ghc-old-time)
2311 ("ghc-digest" ,ghc-digest)))
2312 (inputs
2313 `(("ghc-hunit" ,ghc-hunit)
2314 ("ghc-mtl" ,ghc-mtl)
2315 ("zip" ,zip)
2316 ("ghc-text" ,ghc-text)
2317 ("ghc-zlib" ,ghc-zlib)))
2318 (home-page "https://hackage.haskell.org/package/zip-archive")
2319 (synopsis "Zip archive library for Haskell")
2320 (description "The zip-archive library provides functions for creating,
2321modifying, and extracting files from zip archives in Haskell.")
2322 (license license:bsd-3)))
2323
2324(define-public ghc-distributive
2325 (package
2326 (name "ghc-distributive")
2327 (version "0.4.4")
2328 (source
2329 (origin
2330 (method url-fetch)
2331 (uri (string-append
2332 "https://hackage.haskell.org/package/distributive/distributive-"
2333 version
2334 ".tar.gz"))
2335 (sha256
2336 (base32
2337 "0s2ln9jv7bh4ri2y31178pvjl8x6nik5d0klx7j2b77yjlsgblc2"))))
2338 (build-system haskell-build-system)
2339 (arguments `(#:tests? #f)) ; FIXME: fails with "cannot satisfy -package
2340 ; tagged-0.8.1". Suspected Cabal issue.
2341 (propagated-inputs
2342 `(("ghc-tagged" ,ghc-tagged)
2343 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2344 (home-page "https://github.com/ekmett/distributive/")
2345 (synopsis "Distributive functors for Haskell")
2346 (description "This package provides distributive functors for Haskell.
2347Dual to @code{Traversable}.")
2348 (license license:bsd-3)))
2349
2350(define-public ghc-cereal
2351 (package
2352 (name "ghc-cereal")
2353 (version "0.4.1.1")
2354 (source
2355 (origin
2356 (method url-fetch)
2357 (uri (string-append
2358 "https://hackage.haskell.org/package/cereal/cereal-"
2359 version
2360 ".tar.gz"))
2361 (sha256
2362 (base32
2363 "15rhfn9hrjm01ksh9xpz9syxsp9vkvpp6b736iqq38wv2wb7416z"))))
2364 (build-system haskell-build-system)
2365 (home-page "https://hackage.haskell.org/package/cereal")
2366 (synopsis "Binary serialization library")
2367 (description "This package provides a binary serialization library,
2368similar to @code{binary}, that introduces an @code{isolate} primitive for
2369parser isolation, and labeled blocks for better error messages.")
2370 (license license:bsd-3)))
2371
2372(define-public ghc-comonad
2373 (package
2374 (name "ghc-comonad")
2375 (version "4.2.7.2")
2376 (source
2377 (origin
2378 (method url-fetch)
2379 (uri (string-append
2380 "https://hackage.haskell.org/package/comonad/comonad-"
2381 version
2382 ".tar.gz"))
2383 (sha256
2384 (base32
2385 "0arvbaxgkawzdp38hh53akkahjg2aa3kj2b4ns0ni8a5ylg2cqmp"))))
2386 (build-system haskell-build-system)
2387 (propagated-inputs
2388 `(("ghc-distributive" ,ghc-distributive)
2389 ("ghc-transformers-compat" ,ghc-transformers-compat)
2390 ("ghc-contravariant" ,ghc-contravariant)))
2391 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
2392 ; -package contravariant-1.3.3"
2393 (inputs
2394 `(("ghc-semigroups" ,ghc-semigroups)
2395 ("ghc-tagged" ,ghc-tagged)
2396 ("ghc-contravariant" ,ghc-contravariant)))
2397 (home-page "https://github.com/ekmett/comonad/")
2398 (synopsis "Comonads for Haskell")
2399 (description "This library provides @code{Comonad}s for Haskell.")
2400 (license license:bsd-3)))
2401
2402(define-public hscolour
2403 (package
2404 (name "hscolour")
2405 (version "1.23")
2406 (source
2407 (origin
2408 (method url-fetch)
2409 (uri (string-append
2410 "https://hackage.haskell.org/package/hscolour/hscolour-"
2411 version
2412 ".tar.gz"))
2413 (sha256
2414 (base32
2415 "1c4i2zpami8g3w9949nm3f92g7xwh5c94vkx658zz7ihrjp7w5lp"))))
2416 (build-system haskell-build-system)
2417 (home-page "https://hackage.haskell.org/package/hscolour")
2418 (synopsis "Script to colourise Haskell code")
2419 (description "HSColour is a small Haskell script to colourise Haskell
2420code. It currently has six output formats: ANSI terminal codes (optionally
2421XTerm-256colour codes), HTML 3.2 with font tags, HTML 4.01 with CSS, HTML 4.01
2422with CSS and mouseover annotations, XHTML 1.0 with inline CSS styling, LaTeX,
2423and mIRC chat codes.")
2424 (license license:bsd-3)))
2425
2426(define-public ghc-polyparse
2427 (package
2428 (name "ghc-polyparse")
2429 (version "1.11")
2430 (source
2431 (origin
2432 (method url-fetch)
2433 (uri (string-append
2434 "https://hackage.haskell.org/package/polyparse/polyparse-"
2435 version
2436 ".tar.gz"))
2437 (sha256
2438 (base32
2439 "1z417f80b0jm4dgv25fk408p3d9mmcd1dlbya3ry0zdx4md09vrh"))))
2440 (build-system haskell-build-system)
2441 (propagated-inputs
2442 `(("ghc-text" ,ghc-text)))
2443 (home-page
2444 "http://code.haskell.org/~malcolm/polyparse/")
2445 (synopsis
2446 "Alternative parser combinator libraries")
2447 (description
2448 "This package provides a variety of alternative parser combinator
2449libraries, including the original HuttonMeijer set. The Poly sets have
2450features like good error reporting, arbitrary token type, running state, lazy
2451parsing, and so on. Finally, Text.Parse is a proposed replacement for the
2452standard Read class, for better deserialisation of Haskell values from
2453Strings.")
2454 (license license:lgpl2.1)))
2455
2456(define-public ghc-extra
2457 (package
2458 (name "ghc-extra")
2459 (version "1.4.2")
2460 (source
2461 (origin
2462 (method url-fetch)
2463 (uri (string-append
2464 "https://hackage.haskell.org/package/extra/extra-"
2465 version
2466 ".tar.gz"))
2467 (sha256
2468 (base32
2469 "1h9hxkrqrqscx420yz1lmivbrhi6jc3a5ap61vkxd2mhdgark9hf"))))
2470 (build-system haskell-build-system)
2471 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
2472 (home-page "https://github.com/ndmitchell/extra")
2473 (synopsis "Extra Haskell functions")
2474 (description "This library provides extra functions for the standard
2475Haskell libraries. Most functions are simple additions, filling out missing
2476functionality. A few functions are available in later versions of GHC, but
2477this package makes them available back to GHC 7.2.")
2478 (license license:bsd-3)))
2479
2480(define-public ghc-profunctors
2481 (package
2482 (name "ghc-profunctors")
2483 (version "5.1.1")
2484 (source
2485 (origin
2486 (method url-fetch)
2487 (uri (string-append
2488 "https://hackage.haskell.org/package/profunctors/profunctors-"
2489 version
2490 ".tar.gz"))
2491 (sha256
2492 (base32
2493 "0lw2ipacpnp9yqmi8zsp01pzpn5hwj8af3y0f3079mddrmw48gw7"))))
2494 (build-system haskell-build-system)
2495 (propagated-inputs
2496 `(("ghc-distributive" ,ghc-distributive)))
2497 (inputs
2498 `(("ghc-comonad" ,ghc-comonad)
2499 ("ghc-tagged" ,ghc-tagged)))
2500 (home-page "https://github.com/ekmett/profunctors/")
2501 (synopsis "Profunctors for Haskell")
2502 (description "This library provides profunctors for Haskell.")
2503 (license license:bsd-3)))
2504
2505(define-public ghc-reducers
2506 (package
2507 (name "ghc-reducers")
2508 (version "3.12.1")
2509 (source
2510 (origin
2511 (method url-fetch)
2512 (uri (string-append
2513 "https://hackage.haskell.org/package/reducers/reducers-"
2514 version
2515 ".tar.gz"))
2516 (sha256
2517 (base32
2518 "0pkddg0s3cn759miq0nfrq7lnp3imk5sx784ihsilsbjh9kvffz4"))))
2519 (build-system haskell-build-system)
2520 (propagated-inputs
2521 `(("ghc-semigroupoids" ,ghc-semigroupoids)))
2522 (inputs
2523 `(("ghc-fingertree" ,ghc-fingertree)
2524 ("ghc-hashable" ,ghc-hashable)
2525 ("ghc-text" ,ghc-text)
2526 ("ghc-unordered-containers" ,ghc-unordered-containers)
2527 ("ghc-semigroups" ,ghc-semigroups)))
2528 (home-page "https://github.com/ekmett/reducers/")
2529 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
2530 (description "This library provides various semigroups, specialized
2531containers and a general map/reduce framework for Haskell.")
2532 (license license:bsd-3)))
2533
2534(define-public ghc-appar
2535 (package
2536 (name "ghc-appar")
2537 (version "0.1.4")
2538 (source
2539 (origin
2540 (method url-fetch)
2541 (uri (string-append
2542 "https://hackage.haskell.org/package/appar/appar-"
2543 version
2544 ".tar.gz"))
2545 (sha256
2546 (base32
2547 "09jb9ij78fdkz2qk66rw99q19qnm504dpv0yq0pjsl6xwjmndsjq"))))
2548 (build-system haskell-build-system)
2549 (home-page
2550 "https://hackage.haskell.org/package/appar")
2551 (synopsis "Simple applicative parser")
2552 (description "This package provides a simple applicative parser in Parsec
2553style.")
2554 (license license:bsd-3)))
2555
2556(define-public ghc-safe
2557 (package
2558 (name "ghc-safe")
2559 (version "0.3.9")
2560 (source
2561 (origin
2562 (method url-fetch)
2563 (uri (string-append
2564 "https://hackage.haskell.org/package/safe/safe-"
2565 version
2566 ".tar.gz"))
2567 (sha256
2568 (base32
2569 "1jdnp5zhvalf1xy8i872n29nljfjz6lnl9ghj80ffisrnnkrwcfh"))))
2570 (build-system haskell-build-system)
2571 (home-page "https://github.com/ndmitchell/safe#readme")
2572 (synopsis "Library of safe (exception free) functions")
2573 (description "This library provides wrappers around @code{Prelude} and
2574@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
2575exceptions.")
2576 (license license:bsd-3)))
2577
2578(define-public ghc-generic-deriving
2579 (package
2580 (name "ghc-generic-deriving")
2581 (version "1.8.0")
2582 (source
2583 (origin
2584 (method url-fetch)
2585 (uri (string-append
2586 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
2587 version
2588 ".tar.gz"))
2589 (sha256
2590 (base32
2591 "1kc6lhdanls6kgpk8xv5xi14lz1sngcd8xn930hkf7ilq4kxkcr6"))))
2592 (build-system haskell-build-system)
2593 (home-page "https://hackage.haskell.org/package/generic-deriving")
2594 (synopsis "Generalise the deriving mechanism to arbitrary classes")
2595 (description "This package provides functionality for generalising the
2596deriving mechanism in Haskell to arbitrary classes.")
2597 (license license:bsd-3)))
2598
2599(define-public ghc-pcre-light
2600 (package
2601 (name "ghc-pcre-light")
2602 (version "0.4.0.3")
2603 (source
2604 (origin
2605 (method url-fetch)
2606 (uri (string-append
2607 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
2608 version
2609 ".tar.gz"))
2610 (sha256
2611 (base32
2612 "0l1df2sk5qwf424bvb8mbdkr2xjg43fi92n5r22yd7vm1zz0jqvf"))))
2613 (build-system haskell-build-system)
2614 (inputs
2615 `(("pcre" ,pcre)))
2616 (home-page "https://github.com/Daniel-Diaz/pcre-light")
2617 (synopsis "Haskell library for Perl 5 compatible regular expressions")
2618 (description "This package provides a small, efficient, and portable regex
2619library for Perl 5 compatible regular expressions. The PCRE library is a set
2620of functions that implement regular expression pattern matching using the same
2621syntax and semantics as Perl 5.")
2622 (license license:bsd-3)))
2623
2624(define-public ghc-logict
2625 (package
2626 (name "ghc-logict")
2627 (version "0.6.0.2")
2628 (source
2629 (origin
2630 (method url-fetch)
2631 (uri (string-append
2632 "https://hackage.haskell.org/package/logict/logict-"
2633 version
2634 ".tar.gz"))
2635 (sha256
2636 (base32
2637 "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi"))))
2638 (build-system haskell-build-system)
2639 (inputs `(("ghc-mtl" ,ghc-mtl)))
2640 (home-page "http://code.haskell.org/~dolio/")
2641 (synopsis "Backtracking logic-programming monad")
2642 (description "This library provides a continuation-based, backtracking,
2643logic programming monad. An adaptation of the two-continuation implementation
2644found in the paper \"Backtracking, Interleaving, and Terminating Monad
2645Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
2646online}.")
2647 (license license:bsd-3)))
2648
2649(define-public ghc-xml
2650 (package
2651 (name "ghc-xml")
2652 (version "1.3.14")
2653 (source
2654 (origin
2655 (method url-fetch)
2656 (uri (string-append
2657 "https://hackage.haskell.org/package/xml/xml-"
2658 version
2659 ".tar.gz"))
2660 (sha256
2661 (base32
2662 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
2663 (build-system haskell-build-system)
2664 (propagated-inputs
2665 `(("ghc-text" ,ghc-text)))
2666 (home-page "http://code.galois.com")
2667 (synopsis "Simple XML library for Haskell")
2668 (description "This package provides a simple XML library for Haskell.")
2669 (license license:bsd-3)))
2670
2671(define-public ghc-exceptions
2672 (package
2673 (name "ghc-exceptions")
2674 (version "0.8.0.2")
2675 (source
2676 (origin
2677 (method url-fetch)
2678 (uri (string-append
2679 "https://hackage.haskell.org/package/exceptions/exceptions-"
2680 version
2681 ".tar.gz"))
2682 (sha256
2683 (base32
2684 "1x1bk1jf42k1gigiqqmkkh38z2ffhx8rsqiszdq3f94m2h6kw2h7"))))
2685 (build-system haskell-build-system)
2686 (arguments `(#:tests? #f)) ; FIXME: Missing test-framework package.
2687 (propagated-inputs
2688 `(("ghc-stm" ,ghc-stm)
2689 ("ghc-mtl" ,ghc-mtl)
2690 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2691 (home-page "https://github.com/ekmett/exceptions/")
2692 (synopsis "Extensible optionally-pure exceptions")
2693 (description "This library provides extensible optionally-pure exceptions
2694for Haskell.")
2695 (license license:bsd-3)))
2696
2697(define-public ghc-temporary
2698 (package
2699 (name "ghc-temporary")
2700 (version "1.2.0.3")
2701 (source
2702 (origin
2703 (method url-fetch)
2704 (uri (string-append
2705 "https://hackage.haskell.org/package/temporary/temporary-"
2706 version
2707 ".tar.gz"))
2708 (sha256
2709 (base32
2710 "0is67bmsjmbbw6wymhis8wyq9gax3sszm573p5719fx2c9z9r24a"))))
2711 (build-system haskell-build-system)
2712 (propagated-inputs `(("ghc-exceptions" ,ghc-exceptions)))
2713 (home-page "http://www.github.com/batterseapower/temporary")
2714 (synopsis "Temporary file and directory support")
2715 (description "The functions for creating temporary files and directories
2716in the Haskelll base library are quite limited. This library just repackages
2717the Cabal implementations of its own temporary file and folder functions so
2718that you can use them without linking against Cabal or depending on it being
2719installed.")
2720 (license license:bsd-3)))
2721
2722(define-public ghc-temporary-rc
2723 (package
2724 (name "ghc-temporary-rc")
2725 (version "1.2.0.3")
2726 (source
2727 (origin
2728 (method url-fetch)
2729 (uri (string-append
2730 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
2731 version
2732 ".tar.gz"))
2733 (sha256
2734 (base32
2735 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
2736 (build-system haskell-build-system)
2737 (propagated-inputs `(("ghc-exceptions" ,ghc-exceptions)))
2738 (home-page
2739 "http://www.github.com/feuerbach/temporary")
2740 (synopsis
2741 "Portable temporary file and directory support")
2742 (description
2743 "The functions for creating temporary files and directories in the base
2744library are quite limited. The unixutils package contains some good ones, but
2745they aren't portable to Windows. This library just repackages the Cabal
2746implementations of its own temporary file and folder functions so that you can
2747use them without linking against Cabal or depending on it being installed.
2748This is a better maintained fork of the \"temporary\" package.")
2749 (license license:bsd-3)))
2750
2751(define-public ghc-smallcheck
2752 (package
2753 (name "ghc-smallcheck")
2754 (version "1.1.1")
2755 (source
2756 (origin
2757 (method url-fetch)
2758 (uri (string-append
2759 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
2760 version
2761 ".tar.gz"))
2762 (sha256
2763 (base32
2764 "1ygrabxh40bym3grnzqyfqn96lirnxspb8cmwkkr213239y605sd"))))
2765 (build-system haskell-build-system)
2766 (propagated-inputs
2767 `(("ghc-logict" ,ghc-logict)))
2768 (inputs
2769 `(("ghc-mtl" ,ghc-mtl)))
2770 (home-page
2771 "https://github.com/feuerbach/smallcheck")
2772 (synopsis "Property-based testing library")
2773 (description "SmallCheck is a testing library that allows to verify
2774properties for all test cases up to some depth. The test cases are generated
2775automatically by SmallCheck.")
2776 (license license:bsd-3)))
2777
2778(define-public ghc-tasty-ant-xml
2779 (package
2780 (name "ghc-tasty-ant-xml")
2781 (version "1.0.2")
2782 (source
2783 (origin
2784 (method url-fetch)
2785 (uri (string-append
2786 "https://hackage.haskell.org/package/tasty-ant-xml/tasty-ant-xml-"
2787 version
2788 ".tar.gz"))
2789 (sha256
2790 (base32
2791 "0pgz2lclg2hp72ykljcbxd88pjanfdfk8m5vb2qzcyjr85kwrhxv"))))
2792 (build-system haskell-build-system)
2793 (propagated-inputs
2794 `(("ghc-generic-deriving" ,ghc-generic-deriving)
2795 ("ghc-xml" ,ghc-xml)))
2796 (inputs
2797 `(("ghc-mtl" ,ghc-mtl)
2798 ("ghc-stm" ,ghc-stm)
2799 ("ghc-tagged" ,ghc-tagged)
2800 ("ghc-tasty" ,ghc-tasty)))
2801 (home-page
2802 "https://github.com/ocharles/tasty-ant-xml")
2803 (synopsis
2804 "Render tasty output to XML for Jenkins")
2805 (description
2806 "A tasty ingredient to output test results in XML, using the Ant
2807schema. This XML can be consumed by the Jenkins continuous integration
2808framework.")
2809 (license license:bsd-3)))
2810
2811(define-public ghc-tasty-smallcheck
2812 (package
2813 (name "ghc-tasty-smallcheck")
2814 (version "0.8.0.1")
2815 (source
2816 (origin
2817 (method url-fetch)
2818 (uri (string-append
2819 "https://hackage.haskell.org/package/tasty-smallcheck/tasty-smallcheck-"
2820 version
2821 ".tar.gz"))
2822 (sha256
2823 (base32
2824 "0yckfbz8na8ccyw2911i3a4hd3fdncclk3ng5343hs5cylw6y4sm"))))
2825 (build-system haskell-build-system)
2826 (inputs
2827 `(("ghc-tasty" ,ghc-tasty)
2828 ("ghc-smallcheck" ,ghc-smallcheck)
2829 ("ghc-async" ,ghc-async)
2830 ("ghc-tagged" ,ghc-tagged)))
2831 (home-page "http://documentup.com/feuerbach/tasty")
2832 (synopsis "SmallCheck support for the Tasty test framework")
2833 (description "This package provides SmallCheck support for the Tasty
2834Haskell test framework.")
2835 (license license:bsd-3)))
2836
2837(define-public ghc-silently
2838 (package
2839 (name "ghc-silently")
2840 (version "1.2.5")
2841 (source
2842 (origin
2843 (method url-fetch)
2844 (uri (string-append
2845 "https://hackage.haskell.org/package/silently/silently-"
2846 version
2847 ".tar.gz"))
2848 (sha256
2849 (base32
2850 "0f9qm3f7y0hpxn6mddhhg51mm1r134qkvd2kr8r6192ka1ijbxnf"))))
2851 (build-system haskell-build-system)
2852 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
2853 ;; (inputs
2854 ;; `(("ghc-temporary" ,ghc-temporary)))
2855 (home-page "https://github.com/hspec/silently")
2856 (synopsis "Prevent writing to stdout")
2857 (description "This package provides functions to prevent or capture
2858writing to stdout and other handles.")
2859 (license license:bsd-3)))
2860
2861(define-public ghc-quickcheck-instances
2862 (package
2863 (name "ghc-quickcheck-instances")
2864 (version "0.3.11")
2865 (source
2866 (origin
2867 (method url-fetch)
2868 (uri (string-append
2869 "https://hackage.haskell.org/package/"
2870 "quickcheck-instances/quickcheck-instances-"
2871 version ".tar.gz"))
2872 (sha256
2873 (base32
2874 "041s6963czs1pz0fc9cx17lgd6p83czqy2nxji7bhxqxwl2j15h2"))))
2875 (build-system haskell-build-system)
2876 (propagated-inputs
2877 `(("ghc-old-time" ,ghc-old-time)
2878 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2879 (inputs
2880 `(("ghc-hashable" ,ghc-hashable)
2881 ("ghc-quickcheck" ,ghc-quickcheck)
2882 ("ghc-text" ,ghc-text)))
2883 (home-page
2884 "https://github.com/aslatter/qc-instances")
2885 (synopsis "Common quickcheck instances")
2886 (description "This package provides QuickCheck instances for types
2887provided by the Haskell Platform.")
2888 (license license:bsd-3)))
2889
2890(define-public ghc-quickcheck-unicode
2891 (package
2892 (name "ghc-quickcheck-unicode")
2893 (version "1.0.0.1")
2894 (source
2895 (origin
2896 (method url-fetch)
2897 (uri (string-append
2898 "https://hackage.haskell.org/package/quickcheck-unicode/quickcheck-unicode-"
2899 version
2900 ".tar.gz"))
2901 (sha256
2902 (base32
2903 "1a8nl6x7l9b22yx61wm0bh2n1xzb1hd5i5zgg1w4fpaivjnrrhi4"))))
2904 (build-system haskell-build-system)
2905 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
2906 (home-page
2907 "https://github.com/bos/quickcheck-unicode")
2908 (synopsis "Generator functions Unicode-related tests")
2909 (description "This package provides generator and shrink functions for
2910testing Unicode-related software.")
2911 (license license:bsd-3)))
2912
2913(define-public ghc-quickcheck-io
2914 (package
2915 (name "ghc-quickcheck-io")
2916 (version "0.1.2")
2917 (source
2918 (origin
2919 (method url-fetch)
2920 (uri (string-append
2921 "https://hackage.haskell.org/package/quickcheck-io/quickcheck-io-"
2922 version
2923 ".tar.gz"))
2924 (sha256
2925 (base32
2926 "1kf1kfw9fsmly0rvzvdf6jvdw10qhkmikyj0wcwciw6wad95w9sh"))))
2927 (build-system haskell-build-system)
2928 (inputs
2929 `(("ghc-quickcheck" ,ghc-quickcheck)
2930 ("ghc-hunit" ,ghc-hunit)))
2931 (home-page
2932 "https://github.com/hspec/quickcheck-io#readme")
2933 (synopsis "Use HUnit assertions as QuickCheck properties")
2934 (description "This package provides an orphan instance that allows you to
2935use HUnit assertions as QuickCheck properties.")
2936 (license license:expat)))
2937
2938(define-public ghc-quickcheck
2939 (package
2940 (name "ghc-quickcheck")
2941 (version "2.8.1")
2942 (outputs '("out" "doc"))
2943 (source
2944 (origin
2945 (method url-fetch)
2946 (uri (string-append
2947 "https://hackage.haskell.org/package/QuickCheck/QuickCheck-"
2948 version
2949 ".tar.gz"))
2950 (sha256
2951 (base32
2952 "0fvnfl30fxmj5q920l13641ar896d53z0z6z66m7c1366lvalwvh"))))
2953 (build-system haskell-build-system)
2954 (arguments
2955 `(#:tests? #f ; FIXME: currently missing libraries used for tests.
2956 #:configure-flags '("-f base4")))
2957 ;; these inputs are necessary to use this package
2958 (propagated-inputs
2959 `(("ghc-tf-random" ,ghc-tf-random)))
2960 (home-page
2961 "https://github.com/nick8325/quickcheck")
2962 (synopsis
2963 "Automatic testing of Haskell programs")
2964 (description
2965 "QuickCheck is a library for random testing of program properties.")
2966 (license license:bsd-3)))
2967
2968(define-public ghc-case-insensitive
2969 (package
2970 (name "ghc-case-insensitive")
2971 (version "1.2.0.4")
2972 (outputs '("out" "doc"))
2973 (source
2974 (origin
2975 (method url-fetch)
2976 (uri (string-append
2977 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
2978 version
2979 ".tar.gz"))
2980 (sha256
2981 (base32
2982 "07nm40r9yw2p9qsfp3pjbsmyn4dabrxw34p48171zmccdd5hv0v3"))))
2983 (build-system haskell-build-system)
2984 (inputs
2985 `(("ghc-hunit" ,ghc-hunit)))
2986 ;; these inputs are necessary to use this library
2987 (propagated-inputs
2988 `(("ghc-text" ,ghc-text)
2989 ("ghc-hashable" ,ghc-hashable)))
2990 (arguments
2991 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
2992 (home-page
2993 "https://github.com/basvandijk/case-insensitive")
2994 (synopsis "Case insensitive string comparison")
2995 (description
2996 "The module 'Data.CaseInsensitive' provides the 'CI' type constructor
2997which can be parameterised by a string-like type like: 'String', 'ByteString',
2998'Text', etc.. Comparisons of values of the resulting type will be insensitive
2999to cases.")
3000 (license license:bsd-3)))
3001
3002(define-public ghc-syb
3003 (package
3004 (name "ghc-syb")
3005 (version "0.6")
3006 (outputs '("out" "doc"))
3007 (source
3008 (origin
3009 (method url-fetch)
3010 (uri (string-append
3011 "https://hackage.haskell.org/package/syb/syb-"
3012 version
3013 ".tar.gz"))
3014 (sha256
3015 (base32
3016 "1p3cnqjm13677r4a966zffzhi9b3a321aln8zs8ckqj0d9z1z3d3"))))
3017 (build-system haskell-build-system)
3018 (inputs
3019 `(("ghc-hunit" ,ghc-hunit)
3020 ("ghc-mtl" ,ghc-mtl)))
3021 (home-page
3022 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
3023 (synopsis "Scrap Your Boilerplate")
3024 (description "This package contains the generics system described in the
3025/Scrap Your Boilerplate/ papers (see
3026@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
3027defines the 'Data' class of types permitting folding and unfolding of
3028constructor applications, instances of this class for primitive types, and a
3029variety of traversals.")
3030 (license license:bsd-3)))
3031
3032(define-public ghc-fgl
3033 (package
3034 (name "ghc-fgl")
3035 (version "5.5.1.0")
3036 (outputs '("out" "doc"))
3037 (source
3038 (origin
3039 (method url-fetch)
3040 (uri (string-append
3041 "https://hackage.haskell.org/package/fgl/fgl-"
3042 version
3043 ".tar.gz"))
3044 (sha256
3045 (base32
3046 "0rcmz0xlyr1wj490ffja29z1jgl51gz19ka609da6bx39bwx7nga"))))
3047 (build-system haskell-build-system)
3048 (inputs `(("ghc-mtl" ,ghc-mtl)))
3049 (home-page "http://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3050 (synopsis
3051 "Martin Erwig's Functional Graph Library")
3052 (description "The functional graph library, FGL, is a collection of type
3053and function definitions to address graph problems. The basis of the library
3054is an inductive definition of graphs in the style of algebraic data types that
3055encourages inductive, recursive definitions of graph algorithms.")
3056 (license license:bsd-3)))
3057
3058(define-public ghc-chasingbottoms
3059 (package
3060 (name "ghc-chasingbottoms")
3061 (version "1.3.0.13")
3062 (source
3063 (origin
3064 (method url-fetch)
3065 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
3066 "ChasingBottoms-" version ".tar.gz"))
3067 (sha256
3068 (base32
3069 "1fb86jd6cdz4rx3fj3r9n8d60kx824ywwy7dw4qnrdran46ja3pl"))
3070 (modules '((guix build utils)))
3071 (snippet
3072 ;; The Hackage page and the cabal file linked there for this package
3073 ;; both list 0.7 as the upper version limit, but the source tarball
3074 ;; specifies 0.6. Assume the Hackage page is correct.
3075 '(substitute* "ChasingBottoms.cabal"
3076 (("syb >= 0.1.0.2 && < 0.6") "syb >= 0.1.0.2 && < 0.7")))))
3077 (build-system haskell-build-system)
3078 (propagated-inputs
3079 `(("ghc-mtl" ,ghc-mtl)
3080 ("ghc-quickcheck" ,ghc-quickcheck)
3081 ("ghc-random" ,ghc-random)
3082 ("ghc-syb" ,ghc-syb)))
3083 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
3084 (synopsis "Testing of partial and infinite values in Haskell")
3085 (description
3086 ;; FIXME: There should be a @comma{} in the uref text, but it is not
3087 ;; rendered properly.
3088 "This is a library for testing code involving bottoms or infinite values.
3089For the underlying theory and a larger example involving use of QuickCheck,
3090see the article
3091@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
3092\"Chasing Bottoms A Case Study in Program Verification in the Presence of
3093Partial and Infinite Values\"}.")
3094 (license license:expat)))
3095
3096(define-public ghc-unordered-containers
3097 (package
3098 (name "ghc-unordered-containers")
3099 (version "0.2.5.1")
3100 (outputs '("out" "doc"))
3101 (source
3102 (origin
3103 (method url-fetch)
3104 (uri (string-append
3105 "https://hackage.haskell.org/package/unordered-containers"
3106 "/unordered-containers-" version ".tar.gz"))
3107 (sha256
3108 (base32
3109 "06l1xv7vhpxly75saxdrbc6p2zlgz1az278arfkz4rgawfnphn3f"))))
3110 (build-system haskell-build-system)
3111 (inputs
3112 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
3113 ("ghc-hunit" ,ghc-hunit)
3114 ("ghc-quickcheck" ,ghc-quickcheck)
3115 ("ghc-test-framework" ,ghc-test-framework)
3116 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3117 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3118 ;; these inputs are necessary to use this library
3119 (propagated-inputs `(("ghc-hashable" ,ghc-hashable)))
3120 (home-page
3121 "https://github.com/tibbe/unordered-containers")
3122 (synopsis
3123 "Efficient hashing-based container types")
3124 (description
3125 "Efficient hashing-based container types. The containers have been
3126optimized for performance critical use, both in terms of large data quantities
3127and high speed.")
3128 (license license:bsd-3)))
3129
3130(define-public ghc-uniplate
3131 (package
3132 (name "ghc-uniplate")
3133 (version "1.6.12")
3134 (source
3135 (origin
3136 (method url-fetch)
3137 (uri (string-append
3138 "https://hackage.haskell.org/package/uniplate/uniplate-"
3139 version
3140 ".tar.gz"))
3141 (sha256
3142 (base32
3143 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
3144 (build-system haskell-build-system)
3145 (propagated-inputs
3146 `(("ghc-syb" ,ghc-syb)
3147 ("ghc-hashable" ,ghc-hashable)
3148 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3149 (home-page "http://community.haskell.org/~ndm/uniplate/")
3150 (synopsis "Simple, concise and fast generic operations")
3151 (description "Uniplate is a library for writing simple and concise generic
3152operations. Uniplate has similar goals to the original Scrap Your Boilerplate
3153work, but is substantially simpler and faster.")
3154 (license license:bsd-3)))
3155
3156(define-public ghc-base64-bytestring
3157 (package
3158 (name "ghc-base64-bytestring")
3159 (version "1.0.0.1")
3160 (source
3161 (origin
3162 (method url-fetch)
3163 (uri (string-append
3164 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
3165 version
3166 ".tar.gz"))
3167 (sha256
3168 (base32
3169 "0l1v4ddjdsgi9nqzyzcxxj76rwar3lzx8gmwf2r54bqan3san9db"))))
3170 (build-system haskell-build-system)
3171 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
3172 (home-page "https://github.com/bos/base64-bytestring")
3173 (synopsis "Base64 encoding and decoding for ByteStrings")
3174 (description "This library provides fast base64 encoding and decoding for
3175Haskell @code{ByteString}s.")
3176 (license license:bsd-3)))
3177
3178(define-public ghc-annotated-wl-pprint
3179 (package
3180 (name "ghc-annotated-wl-pprint")
3181 (version "0.7.0")
3182 (source
3183 (origin
3184 (method url-fetch)
3185 (uri (string-append
3186 "https://hackage.haskell.org/package/annotated-wl-pprint"
3187 "/annotated-wl-pprint-" version
3188 ".tar.gz"))
3189 (sha256
3190 (base32
3191 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
3192 (build-system haskell-build-system)
3193 (home-page
3194 "https://github.com/david-christiansen/annotated-wl-pprint")
3195 (synopsis
3196 "The Wadler/Leijen Pretty Printer, with annotation support")
3197 (description "This is a modified version of wl-pprint, which was based on
3198Wadler's paper \"A Prettier Printer\". This version allows the library user
3199to annotate the text with semantic information, which can later be rendered in
3200a variety of ways.")
3201 (license license:bsd-3)))
3202
3203(define-public ghc-wl-pprint
3204 (package
3205 (name "ghc-wl-pprint")
3206 (version "1.2")
3207 (source (origin
3208 (method url-fetch)
3209 (uri (string-append
3210 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
3211 version ".tar.gz"))
3212 (sha256
3213 (base32
3214 "166zvk4zwn2zaa9kx66m1av38m34qp6h4i65bri2sfnxgvx0700r"))))
3215 (build-system haskell-build-system)
3216 (home-page "https://hackage.haskell.org/package/wl-pprint")
3217 (synopsis "Wadler/Leijen pretty printer")
3218 (description
3219 "This is a pretty printing library based on Wadler's paper @i{A Prettier
3220Printer}. This version allows the library user to declare overlapping
3221instances of the @code{Pretty} class.")
3222 (license license:bsd-3)))
3223
3224(define-public ghc-ansi-wl-pprint
3225 (package
3226 (name "ghc-ansi-wl-pprint")
3227 (version "0.6.7.3")
3228 (source
3229 (origin
3230 (method url-fetch)
3231 (uri (string-append
3232 "https://hackage.haskell.org/package/ansi-wl-pprint/ansi-wl-pprint-"
3233 version
3234 ".tar.gz"))
3235 (sha256
3236 (base32
3237 "025pyphsjf0dnbrmj5nscbi6gzyigwgp3ifxb3psn7kji6mfr29p"))))
3238 (build-system haskell-build-system)
3239 (propagated-inputs
3240 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
3241 (home-page "https://github.com/ekmett/ansi-wl-pprint")
3242 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
3243 (description "This is a pretty printing library based on Wadler's paper
3244\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
3245colored output using the ansi-terminal package.")
3246 (license license:bsd-3)))
3247
3248(define-public ghc-split
3249 (package
3250 (name "ghc-split")
3251 (version "0.2.2")
3252 (outputs '("out" "doc"))
3253 (source
3254 (origin
3255 (method url-fetch)
3256 (uri (string-append
3257 "https://hackage.haskell.org/package/split/split-"
3258 version
3259 ".tar.gz"))
3260 (sha256
3261 (base32
3262 "0xa3j0gwr6k5vizxybnzk5fgb3pppgspi6mysnp2gwjp2dbrxkzr"))
3263 (modules '((guix build utils)))
3264 (snippet
3265 ;; The Cabal file on Hackage is updated, but the tar.gz does not
3266 ;; include it. See
3267 ;; <https://hackage.haskell.org/package/split-0.2.2/revisions/>.
3268 '(substitute* "split.cabal"
3269 (("base <4.8") "base <4.9")))))
3270 (build-system haskell-build-system)
3271 (inputs
3272 `(("ghc-quickcheck" ,ghc-quickcheck)))
3273 (home-page "https://hackage.haskell.org/package/split")
3274 (synopsis "Combinator library for splitting lists")
3275 (description "This package provides a collection of Haskell functions for
3276splitting lists into parts, akin to the @code{split} function found in several
3277mainstream languages.")
3278 (license license:bsd-3)))
3279
3280(define-public ghc-parsec
3281 (package
3282 (name "ghc-parsec")
3283 (version "3.1.9")
3284 (outputs '("out" "doc"))
3285 (source
3286 (origin
3287 (method url-fetch)
3288 (uri (string-append
3289 "https://hackage.haskell.org/package/parsec/parsec-"
3290 version
3291 ".tar.gz"))
3292 (sha256
3293 (base32 "1ja20cmj6v336jy87c6h3jzjp00sdbakwbdwp11iln499k913xvi"))))
3294 (build-system haskell-build-system)
3295 (inputs
3296 `(("ghc-hunit" ,ghc-hunit)))
3297 ;; these inputs are necessary to use this library
3298 (propagated-inputs
3299 `(("ghc-text" ,ghc-text)
3300 ("ghc-mtl" ,ghc-mtl)))
3301 (arguments
3302 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3303 (home-page
3304 "https://github.com/aslatter/parsec")
3305 (synopsis "Monadic parser combinators")
3306 (description "Parsec is a parser library. It is simple, safe, well
3307documented, has extensive libraries, good error messages, and is fast. It is
3308defined as a monad transformer that can be stacked on arbitrary monads, and it
3309is also parametric in the input stream type.")
3310 (license license:bsd-3)))
3311
3312(define-public ghc-vector
3313 (package
3314 (name "ghc-vector")
3315 (version "0.11.0.0")
3316 (outputs '("out" "doc"))
3317 (source
3318 (origin
3319 (method url-fetch)
3320 (uri (string-append
3321 "https://hackage.haskell.org/package/vector/vector-"
3322 version
3323 ".tar.gz"))
3324 (sha256
3325 (base32
3326 "1r1jlksy7b0kb0fy00g64isk6nyd9wzzdq31gx5v1wn38knj0lqa"))))
3327 (build-system haskell-build-system)
3328 (inputs
3329 `(("ghc-quickcheck" ,ghc-quickcheck)))
3330 ;; these inputs are necessary to use this library
3331 (propagated-inputs
3332 `(("ghc-primitive" ,ghc-primitive)))
3333 (arguments
3334 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3335 (home-page "https://github.com/haskell/vector")
3336 (synopsis "Efficient Arrays")
3337 (description "This library provides an efficient implementation of
3338Int-indexed arrays (both mutable and immutable), with a powerful loop
3339optimisation framework.")
3340 (license license:bsd-3)))
3341
3342(define-public ghc-vector-binary-instances
3343 (package
3344 (name "ghc-vector-binary-instances")
3345 (version "0.2.1.0")
3346 (source
3347 (origin
3348 (method url-fetch)
3349 (uri (string-append
3350 "https://hackage.haskell.org/package/"
3351 "vector-binary-instances/vector-binary-instances-"
3352 version ".tar.gz"))
3353 (sha256
3354 (base32
3355 "028rsf2w193rhs1gic5yvvrwidw9sblczcn10aw64npfc6502l4l"))))
3356 (build-system haskell-build-system)
3357 (propagated-inputs
3358 `(("ghc-cereal" ,ghc-cereal)))
3359 (inputs
3360 `(("ghc-vector" ,ghc-vector)))
3361 (home-page "https://github.com/bos/vector-binary-instances")
3362 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
3363 (description "This library provides instances of @code{Binary} for the
3364types defined in the @code{vector} package, making it easy to serialize
3365vectors to and from disk. We use the generic interface to vectors, so all
3366vector types are supported. Specific instances are provided for unboxed,
3367boxed and storable vectors.")
3368 (license license:bsd-3)))
3369
3370(define-public ghc-network
3371 (package
3372 (name "ghc-network")
3373 (version "2.6.2.1")
3374 (outputs '("out" "doc"))
3375 (source
3376 (origin
3377 (method url-fetch)
3378 (uri (string-append
3379 "https://hackage.haskell.org/package/network/network-"
3380 version
3381 ".tar.gz"))
3382 (sha256
3383 (base32
3384 "1yhvpd4wigz165jvyvw9zslx7lgqdj63jh3zv5s74b5ykdfa3zd3"))))
3385 (build-system haskell-build-system)
3386 (inputs
3387 `(("ghc-hunit" ,ghc-hunit)))
3388 (arguments
3389 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3390 (home-page "https://github.com/haskell/network")
3391 (synopsis "Low-level networking interface")
3392 (description
3393 "This package provides a low-level networking interface.")
3394 (license license:bsd-3)))
3395
3396(define-public ghc-network-uri
3397 (package
3398 (name "ghc-network-uri")
3399 (version "2.6.0.3")
3400 (outputs '("out" "doc"))
3401 (source
3402 (origin
3403 (method url-fetch)
3404 (uri (string-append
3405 "https://hackage.haskell.org/package/network-uri/network-uri-"
3406 version
3407 ".tar.gz"))
3408 (sha256
3409 (base32
3410 "1pwbqb2rk4rnvllvdch42p5368xcvpkanp7bxckdhxya8zzwvhhg"))))
3411 (build-system haskell-build-system)
3412 (inputs
3413 `(("ghc-hunit" ,ghc-hunit)
3414 ("ghc-network" ,ghc-network)))
3415 (arguments
3416 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3417 (propagated-inputs
3418 `(("ghc-parsec" ,ghc-parsec)))
3419 (home-page
3420 "https://github.com/haskell/network-uri")
3421 (synopsis "Library for URI manipulation")
3422 (description "This package provides an URI manipulation interface. In
3423'network-2.6' the 'Network.URI' module was split off from the 'network'
3424package into this package.")
3425 (license license:bsd-3)))
3426
3427(define-public ghc-ansi-terminal
3428 (package
3429 (name "ghc-ansi-terminal")
3430 (version "0.6.2.3")
3431 (source
3432 (origin
3433 (method url-fetch)
3434 (uri (string-append
3435 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
3436 version
3437 ".tar.gz"))
3438 (sha256
3439 (base32
3440 "0hpfw0k025y681m9ml1c712skrb1p4vh7z5x1f0ci9ww7ssjrh2d"))))
3441 (build-system haskell-build-system)
3442 (home-page "https://github.com/feuerbach/ansi-terminal")
3443 (synopsis "ANSI terminal support for Haskell")
3444 (description "This package provides ANSI terminal support for Haskell. It
3445allows cursor movement, screen clearing, color output showing or hiding the
3446cursor, and changing the title.")
3447 (license license:bsd-3)))
3448
3449(define-public ghc-http
3450 (package
3451 (name "ghc-http")
3452 (version "4000.2.20")
3453 (outputs '("out" "doc"))
3454 (source
3455 (origin
3456 (method url-fetch)
3457 (uri (string-append
3458 "https://hackage.haskell.org/package/HTTP/HTTP-"
3459 version
3460 ".tar.gz"))
3461 (sha256
3462 (base32
3463 "0nyqdxr5ls2dxkf4a1f3x15xzwdm46ppn99nkcbhswlr6s3cq1s4"))))
3464 (build-system haskell-build-system)
3465 (inputs
3466 `(("ghc-hunit" ,ghc-hunit)))
3467 (propagated-inputs
3468 `(("ghc-old-time" ,ghc-old-time)
3469 ("ghc-parsec" ,ghc-parsec)
3470 ("ghc-mtl" ,ghc-mtl)
3471 ("ghc-network" ,ghc-network)
3472 ("ghc-network-uri" ,ghc-network-uri)))
3473 (arguments
3474 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3475 (home-page "https://github.com/haskell/HTTP")
3476 (synopsis "Library for client-side HTTP")
3477 (description
3478 "The HTTP package supports client-side web programming in Haskell. It
3479lets you set up HTTP connections, transmitting requests and processing the
3480responses coming back.")
3481 (license license:bsd-3)))
3482
3483(define-public ghc-hspec
3484 (package
3485 (name "ghc-hspec")
3486 (version "2.2.0")
3487 (source
3488 (origin
3489 (method url-fetch)
3490 (uri (string-append
3491 "https://hackage.haskell.org/package/hspec/hspec-"
3492 version
3493 ".tar.gz"))
3494 (sha256
3495 (base32
3496 "0zqisxznlbszivsgy3irvf566zhcr6ipqqj3x9i7pj5hy913jwqf"))))
3497 (build-system haskell-build-system)
3498 (propagated-inputs
3499 `(("ghc-hspec-core" ,ghc-hspec-core)
3500 ("hspec-discover" ,hspec-discover)
3501 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
3502 ("ghc-quickcheck" ,ghc-quickcheck)
3503 ("ghc-hunit" ,ghc-hunit)))
3504 (inputs
3505 `(("ghc-stringbuilder" ,ghc-stringbuilder)
3506 ("ghc-hspec-meta" ,ghc-hspec-meta)))
3507 (home-page "http://hspec.github.io/")
3508 (synopsis "Testing Framework for Haskell")
3509 (description "This library provides the Hspec testing framework for
3510Haskell, inspired by the Ruby library RSpec.")
3511 (license license:expat)))
3512
3513(define-public ghc-hspec-contrib
3514 (package
3515 (name "ghc-hspec-contrib")
3516 (version "0.3.0")
3517 (source (origin
3518 (method url-fetch)
3519 (uri (string-append "https://hackage.haskell.org/package/"
3520 "hspec-contrib/hspec-contrib-"
3521 version ".tar.gz"))
3522 (sha256
3523 (base32
3524 "006syw8xagfhsx06ws9ywig1qx5lk4cgl7sq6pbid1s64c72mxn4"))))
3525 (build-system haskell-build-system)
3526 (propagated-inputs
3527 `(("ghc-hspec-core" ,ghc-hspec-core)
3528 ("ghc-hunit" ,ghc-hunit)
3529 ("ghc-hspec" ,ghc-hspec)
3530 ("ghc-quickcheck" ,ghc-quickcheck)))
3531 (home-page "http://hspec.github.io/")
3532 (synopsis "Contributed functionality for Hspec")
3533 (description
3534 "This package provides contributed Hspec extensions.")
3535 (license license:expat)))
3536
3537(define-public ghc-hspec-expectations
3538 (package
3539 (name "ghc-hspec-expectations")
3540 (version "0.7.2")
3541 (source
3542 (origin
3543 (method url-fetch)
3544 (uri (string-append
3545 "https://hackage.haskell.org/package/hspec-expectations/hspec-expectations-"
3546 version
3547 ".tar.gz"))
3548 (sha256
3549 (base32
3550 "1w56jiqfyl237sr207gh3b0l8sr9layy0mdsgd5wknzb49mif6ip"))))
3551 (build-system haskell-build-system)
3552 (inputs `(("ghc-hunit" ,ghc-hunit)))
3553 (home-page "https://github.com/sol/hspec-expectations")
3554 (synopsis "Catchy combinators for HUnit")
3555 (description "This library provides catchy combinators for HUnit, see
3556@uref{https://github.com/sol/hspec-expectations#readme, the README}.")
3557 (license license:expat)))
3558
3559(define-public hspec-discover
3560 (package
3561 (name "hspec-discover")
3562 (version "2.2.0")
3563 (source
3564 (origin
3565 (method url-fetch)
3566 (uri (string-append
3567 "https://hackage.haskell.org/package/hspec-discover/hspec-discover-"
3568 version
3569 ".tar.gz"))
3570 (sha256
3571 (base32
3572 "0w3awzbljf4hqhxrjrxqa1lfcclg92bhmq641gz2q80vycspapzx"))))
3573 (build-system haskell-build-system)
3574 (arguments `(#:haddock? #f)) ; Haddock phase fails because there are no
3575 ; documentation files.
3576 (inputs `(("ghc-hspec-meta" ,ghc-hspec-meta)))
3577 (home-page "http://hspec.github.io/")
3578 (synopsis "Automatically discover and run Hspec tests")
3579 (description "hspec-discover is a tool which automatically discovers and
3580runs Hspec tests.")
3581 (license license:expat)))
3582
3583(define-public ghc-hspec-core
3584 (package
3585 (name "ghc-hspec-core")
3586 (version "2.2.0")
3587 (source
3588 (origin
3589 (method url-fetch)
3590 (uri (string-append
3591 "https://hackage.haskell.org/package/hspec-core/hspec-core-"
3592 version
3593 ".tar.gz"))
3594 (sha256
3595 (base32
3596 "1wgd55k652jaf81nkvciyqi67ycj7zamr4nd9z1cqf8nr9fc3sa4"))))
3597 (build-system haskell-build-system)
3598 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
3599 (propagated-inputs
3600 `(("ghc-setenv" ,ghc-setenv)
3601 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
3602 ("ghc-async" ,ghc-async)
3603 ("ghc-quickcheck-io" ,ghc-quickcheck-io)))
3604 (inputs
3605 `(("ghc-hunit" ,ghc-hunit)
3606 ("ghc-quickcheck" ,ghc-quickcheck)
3607 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
3608 ("ghc-silently" ,ghc-silently)))
3609 (home-page "http://hspec.github.io/")
3610 (synopsis "Testing framework for Haskell")
3611 (description "This library exposes internal types and functions that can
3612be used to extend Hspec's functionality.")
3613 (license license:expat)))
3614
3615(define-public ghc-hspec-meta
3616 (package
3617 (name "ghc-hspec-meta")
3618 (version "2.2.0")
3619 (source
3620 (origin
3621 (method url-fetch)
3622 (uri (string-append
3623 "https://hackage.haskell.org/package/hspec-meta/hspec-meta-"
3624 version
3625 ".tar.gz"))
3626 (sha256
3627 (base32
3628 "1fmqmgrzp135cxhmxxbaswkk4bqbpgfml00cmcz0d39n11vzpa5z"))))
3629 (build-system haskell-build-system)
3630 (propagated-inputs
3631 `(("ghc-quickcheck" ,ghc-quickcheck)
3632 ("ghc-hunit" ,ghc-hunit)
3633 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
3634 ("ghc-async" ,ghc-async)
3635 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
3636 ("ghc-setenv" ,ghc-setenv)
3637 ("ghc-random" ,ghc-random)
3638 ("ghc-quickcheck-io" ,ghc-quickcheck-io)))
3639 (home-page "http://hspec.github.io/")
3640 (synopsis "Version of Hspec to test Hspec itself")
3641 (description "This library provides a stable version of Hspec which is
3642used to test the in-development version of Hspec.")
3643 (license license:expat)))
3644
3645(define-public ghc-vault
3646 (package
3647 (name "ghc-vault")
3648 (version "0.3.0.4")
3649 (source
3650 (origin
3651 (method url-fetch)
3652 (uri (string-append
3653 "https://hackage.haskell.org/package/vault/vault-"
3654 version
3655 ".tar.gz"))
3656 (sha256
3657 (base32
3658 "0ah6qrg71krc87f4vjy4b4shdd0mgyil8fikb3j6fl4kfwlg67jn"))))
3659 (build-system haskell-build-system)
3660 (propagated-inputs
3661 `(("ghc-unordered-containers" ,ghc-unordered-containers)
3662 ("ghc-hashable" ,ghc-hashable)))
3663 (home-page
3664 "https://github.com/HeinrichApfelmus/vault")
3665 (synopsis "Persistent store for arbitrary values")
3666 (description "This package provides vaults for Haskell. A vault is a
3667persistent store for values of arbitrary types. It's like having first-class
3668access to the storage space behind @code{IORefs}. The data structure is
3669analogous to a bank vault, where you can access different bank boxes with
3670different keys; hence the name. Also provided is a @code{locker} type,
3671representing a store for a single element.")
3672 (license license:bsd-3)))
3673
3674(define-public ghc-mmorph
3675 (package
3676 (name "ghc-mmorph")
3677 (version "1.0.4")
3678 (source
3679 (origin
3680 (method url-fetch)
3681 (uri (string-append
3682 "https://hackage.haskell.org/package/mmorph/mmorph-"
3683 version
3684 ".tar.gz"))
3685 (sha256
3686 (base32
3687 "0k5zlzmnixfwcjrqvhgi3i6xg532b0gsjvc39v5jigw69idndqr2"))))
3688 (build-system haskell-build-system)
3689 (home-page
3690 "https://hackage.haskell.org/package/mmorph")
3691 (synopsis "Monad morphisms")
3692 (description
3693 "This library provides monad morphism utilities, most commonly used for
3694manipulating monad transformer stacks.")
3695 (license license:bsd-3)))
3696
3697(define-public ghc-monad-control
3698 (package
3699 (name "ghc-monad-control")
3700 (version "1.0.0.4")
3701 (source
3702 (origin
3703 (method url-fetch)
3704 (uri (string-append
3705 "https://hackage.haskell.org/package/monad-control"
3706 "/monad-control-" version ".tar.gz"))
3707 (sha256
3708 (base32
3709 "07pn1p4m80wdd7gw62s4yny8rbvm60ka1q8qx5y1plznd8sbg179"))))
3710 (build-system haskell-build-system)
3711 (propagated-inputs
3712 `(("ghc-stm" ,ghc-stm)
3713 ("ghc-transformers-base" ,ghc-transformers-base)
3714 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3715 (home-page "https://github.com/basvandijk/monad-control")
3716 (synopsis "Monad transformers to lift control operations like exception
3717catching")
3718 (description "This package defines the type class @code{MonadBaseControl},
3719a subset of @code{MonadBase} into which generic control operations such as
3720@code{catch} can be lifted from @code{IO} or any other base monad.")
3721 (license license:bsd-3)))
3722
3723(define-public ghc-byteorder
3724 (package
3725 (name "ghc-byteorder")
3726 (version "1.0.4")
3727 (source
3728 (origin
3729 (method url-fetch)
3730 (uri (string-append
3731 "https://hackage.haskell.org/package/byteorder/byteorder-"
3732 version
3733 ".tar.gz"))
3734 (sha256
3735 (base32
3736 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
3737 (build-system haskell-build-system)
3738 (home-page
3739 "http://community.haskell.org/~aslatter/code/byteorder")
3740 (synopsis
3741 "Exposes the native endianness of the system")
3742 (description
3743 "This package is for working with the native byte-ordering of the
3744system.")
3745 (license license:bsd-3)))
3746
3747(define-public ghc-base-compat
3748 (package
3749 (name "ghc-base-compat")
3750 (version "0.8.2")
3751 (source
3752 (origin
3753 (method url-fetch)
3754 (uri (string-append
3755 "https://hackage.haskell.org/package/base-compat/base-compat-"
3756 version
3757 ".tar.gz"))
3758 (sha256
3759 (base32
3760 "02m93hzgxg4bcnp7xcc2fdh2hrsc2h6fwl8hix5nx9k864kwf41q"))))
3761 (build-system haskell-build-system)
3762 (inputs
3763 `(("ghc-quickcheck" ,ghc-quickcheck)
3764 ("ghc-hspec" ,ghc-hspec)))
3765 (home-page "https://hackage.haskell.org/package/base-compat")
3766 (synopsis "Haskell compiler compatibility library")
3767 (description "This library provides functions available in later versions
3768of base to a wider range of compilers, without requiring the use of CPP
3769pragmas in your code.")
3770 (license license:bsd-3)))
3771
3772(define-public ghc-blaze-builder
3773 (package
3774 (name "ghc-blaze-builder")
3775 (version "0.4.0.1")
3776 (source
3777 (origin
3778 (method url-fetch)
3779 (uri (string-append
3780 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
3781 version
3782 ".tar.gz"))
3783 (sha256
3784 (base32
3785 "1id3w33x9f7q5m3xpggmvzw03bkp94bpfyz81625bldqgf3yqdn1"))))
3786 (build-system haskell-build-system)
3787 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
3788 (propagated-inputs
3789 `(("ghc-text" ,ghc-text)
3790 ("ghc-utf8-string" ,ghc-utf8-string)))
3791 (home-page "https://github.com/lpsmith/blaze-builder")
3792 (synopsis "Efficient buffered output")
3793 (description "This library provides an implementation of the older
3794@code{blaze-builder} interface in terms of the new builder that shipped with
3795@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
3796bridge to the new builder, so that code that uses the old interface can
3797interoperate with code that uses the new implementation.")
3798 (license license:bsd-3)))
3799
3800(define-public ghc-blaze-markup
3801 (package
3802 (name "ghc-blaze-markup")
3803 (version "0.7.0.3")
3804 (source
3805 (origin
3806 (method url-fetch)
3807 (uri (string-append
3808 "https://hackage.haskell.org/package/blaze-markup/blaze-markup-"
3809 version
3810 ".tar.gz"))
3811 (sha256
3812 (base32
3813 "080vlhd8dwjxrma4bb524lh8gxs5lm3xh122icy6lnnyipla0s9y"))))
3814 (build-system haskell-build-system)
3815 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
3816 (propagated-inputs
3817 `(("ghc-blaze-builder" ,ghc-blaze-builder)
3818 ("ghc-text" ,ghc-text)))
3819 (home-page "http://jaspervdj.be/blaze")
3820 (synopsis "Fast markup combinator library for Haskell")
3821 (description "This library provides core modules of a markup combinator
3822library for Haskell.")
3823 (license license:bsd-3)))
3824
3825(define-public ghc-blaze-html
3826 (package
3827 (name "ghc-blaze-html")
3828 (version "0.8.1.1")
3829 (source
3830 (origin
3831 (method url-fetch)
3832 (uri (string-append
3833 "https://hackage.haskell.org/package/blaze-html/blaze-html-"
3834 version
3835 ".tar.gz"))
3836 (sha256
3837 (base32
3838 "1dnw50kh0s405cg9i2y4a8awanhj3bqzk21jwgfza65kcjby7lpq"))))
3839 (build-system haskell-build-system)
3840 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
3841 (propagated-inputs
3842 `(("ghc-blaze-builder" ,ghc-blaze-builder)
3843 ("ghc-text" ,ghc-text)
3844 ("ghc-blaze-markup" ,ghc-blaze-markup)))
3845 (home-page "http://jaspervdj.be/blaze")
3846 (synopsis "Fast HTML combinator library")
3847 (description "This library provides HTML combinators for Haskell.")
3848 (license license:bsd-3)))
3849
3850(define-public ghc-easy-file
3851 (package
3852 (name "ghc-easy-file")
3853 (version "0.2.1")
3854 (source
3855 (origin
3856 (method url-fetch)
3857 (uri (string-append
3858 "https://hackage.haskell.org/package/easy-file/easy-file-"
3859 version
3860 ".tar.gz"))
3861 (sha256
3862 (base32
3863 "0v75081bx4qzlqy29hh639nzlr7dncwza3qxbzm9njc4jarf31pz"))))
3864 (build-system haskell-build-system)
3865 (home-page
3866 "https://github.com/kazu-yamamoto/easy-file")
3867 (synopsis "File handling library for Haskell")
3868 (description "This library provides file handling utilities for Haskell.")
3869 (license license:bsd-3)))
3870
3871(define-public ghc-async
3872 (package
3873 (name "ghc-async")
3874 (version "2.0.2")
3875 (source
3876 (origin
3877 (method url-fetch)
3878 (uri (string-append
3879 "https://hackage.haskell.org/package/async/async-"
3880 version
3881 ".tar.gz"))
3882 (sha256
3883 (base32
3884 "0azx4qk65a9a2gvqsfmz3w89m6shzr2iz0i5lly2zvly4n2d6m6v"))))
3885 (build-system haskell-build-system)
3886 (inputs
3887 `(("ghc-hunit" ,ghc-hunit)
3888 ("ghc-test-framework" ,ghc-test-framework)
3889 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3890 (propagated-inputs
3891 `(("ghc-stm" ,ghc-stm)))
3892 (home-page "https://github.com/simonmar/async")
3893 (synopsis "Library to run IO operations asynchronously")
3894 (description "Async provides a library to run IO operations
3895asynchronously, and wait for their results. It is a higher-level interface
3896over threads in Haskell, in which @code{Async a} is a concurrent thread that
3897will eventually deliver a value of type @code{a}.")
3898 (license license:bsd-3)))
3899
3900(define-public ghc-fingertree
3901 (package
3902 (name "ghc-fingertree")
3903 (version "0.1.1.0")
3904 (source
3905 (origin
3906 (method url-fetch)
3907 (uri (string-append
3908 "https://hackage.haskell.org/package/fingertree/fingertree-"
3909 version
3910 ".tar.gz"))
3911 (sha256
3912 (base32
3913 "1w6x3kp3by5yjmam6wlrf9vap5l5rrqaip0djbrdp0fpf2imn30n"))))
3914 (build-system haskell-build-system)
3915 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
3916 (home-page "https://hackage.haskell.org/package/fingertree")
3917 (synopsis "Generic finger-tree structure")
3918 (description "This library provides finger trees, a general sequence
3919representation with arbitrary annotations, for use as a base for
3920implementations of various collection types. It includes examples, as
3921described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3922simple general-purpose data structure\".")
3923 (license license:bsd-3)))
3924
3925(define-public ghc-optparse-applicative
3926 (package
3927 (name "ghc-optparse-applicative")
3928 (version "0.11.0.2")
3929 (source
3930 (origin
3931 (method url-fetch)
3932 (uri (string-append
3933 "https://hackage.haskell.org/package/optparse-applicative"
3934 "/optparse-applicative-" version ".tar.gz"))
3935 (sha256
3936 (base32
3937 "0ni52ii9555jngljvzxn1ngicr6i2w647ww3rzhdrmng04y95iii"))))
3938 (build-system haskell-build-system)
3939 (propagated-inputs
3940 `(("ghc-transformers-compat" ,ghc-transformers-compat)
3941 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
3942 (home-page "https://github.com/pcapriotti/optparse-applicative")
3943 (synopsis "Utilities and combinators for parsing command line options")
3944 (description "This package provides utilities and combinators for parsing
3945command line options in Haskell.")
3946 (license license:bsd-3)))
3947
3948(define-public ghc-base-orphans
3949 (package
3950 (name "ghc-base-orphans")
3951 (version "0.4.4")
3952 (source
3953 (origin
3954 (method url-fetch)
3955 (uri (string-append
3956 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
3957 version
3958 ".tar.gz"))
3959 (sha256
3960 (base32
3961 "0hhgpwjvx7jhvlhsygmmf0q5hv2ymijzz4bjilicw99bmv13qcpl"))))
3962 (build-system haskell-build-system)
3963 (inputs
3964 `(("ghc-quickcheck" ,ghc-quickcheck)
3965 ("ghc-hspec" ,ghc-hspec)))
3966 (home-page "https://hackage.haskell.org/package/base-orphans")
3967 (synopsis "Orphan instances for backwards compatibility")
3968 (description "This package defines orphan instances that mimic instances
3969available in later versions of base to a wider (older) range of compilers.")
3970 (license license:bsd-3)))
3971
3972(define-public ghc-auto-update
3973 (package
3974 (name "ghc-auto-update")
3975 (version "0.1.2.2")
3976 (source
3977 (origin
3978 (method url-fetch)
3979 (uri (string-append
3980 "https://hackage.haskell.org/package/auto-update/auto-update-"
3981 version
3982 ".tar.gz"))
3983 (sha256
3984 (base32
3985 "1ns4c5mqhnm7hsiqxf1ivjs5fflyq92b16ldzrcl0p85631h0c3v"))))
3986 (build-system haskell-build-system)
3987 (home-page "https://github.com/yesodweb/wai")
3988 (synopsis "Efficiently run periodic, on-demand actions")
3989 (description "This library provides mechanisms to efficiently run
3990periodic, on-demand actions in Haskell.")
3991 (license license:expat)))
3992
3993(define-public ghc-tagged
3994 (package
3995 (name "ghc-tagged")
3996 (version "0.8.1")
3997 (source
3998 (origin
3999 (method url-fetch)
4000 (uri (string-append
4001 "https://hackage.haskell.org/package/tagged/tagged-"
4002 version
4003 ".tar.gz"))
4004 (sha256
4005 (base32
4006 "1hc2qzhhz5p1xd8k03sklrdnhcflkwhgpl82k6fam8yckww9ipav"))))
4007 (build-system haskell-build-system)
4008 (home-page "https://hackage.haskell.org/package/tagged")
4009 (synopsis "Haskell phantom types to avoid passing dummy arguments")
4010 (description "This library provides phantom types for Haskell 98, to avoid
4011having to unsafely pass dummy arguments.")
4012 (license license:bsd-3)))
4013
4014(define-public ghc-unbounded-delays
4015 (package
4016 (name "ghc-unbounded-delays")
4017 (version "0.1.0.9")
4018 (source
4019 (origin
4020 (method url-fetch)
4021 (uri (string-append
4022 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
4023 version
4024 ".tar.gz"))
4025 (sha256
4026 (base32
4027 "1f4h87503m3smhip432q027wj3zih18pmz2rnafh60589ifcl420"))))
4028 (build-system haskell-build-system)
4029 (home-page "https://github.com/basvandijk/unbounded-delays")
4030 (synopsis "Unbounded thread delays and timeouts")
4031 (description "The @code{threadDelay} and @code{timeout} functions from the
4032Haskell base library use the bounded @code{Int} type for specifying the delay
4033or timeout period. This package provides alternative functions which use the
4034unbounded @code{Integer} type.")
4035 (license license:bsd-3)))
4036
4037;; This package builds `clock` without tests, since the tests rely on tasty
4038;; and tasty-quickcheck, which in turn require clock to build. When tasty and
4039;; tasty-quickcheck are added, we will add ghc-clock with tests enabled.
4040(define ghc-clock-bootstrap
4041 (package
4042 (name "ghc-clock-bootstrap")
4043 (version "0.5.1")
4044 (source
4045 (origin
4046 (method url-fetch)
4047 (uri (string-append
4048 "https://hackage.haskell.org/package/"
4049 "clock/"
4050 "clock-" version ".tar.gz"))
4051 (sha256
4052 (base32 "1ncph7vi2q6ywwc8ysxl1ibw6i5dwfvln88ssfazk8jgpj4iyykw"))))
4053 (build-system haskell-build-system)
4054 (arguments `(#:tests? #f)) ;; Testing suite depends on tasty and
4055 ;; tasty-quickcheck, which need clock to build.
4056 (home-page "https://hackage.haskell.org/package/clock")
4057 (synopsis "High-resolution clock for Haskell")
4058 (description "A package for convenient access to high-resolution clock and
4059timer functions of different operating systems via a unified API.")
4060 (license license:bsd-3)))
4061
4062(define-public ghc-clock
4063 (package
4064 (name "ghc-clock")
4065 (version "0.5.1")
4066 (source
4067 (origin
4068 (method url-fetch)
4069 (uri (string-append
4070 "https://hackage.haskell.org/package/"
4071 "clock/"
4072 "clock-" version ".tar.gz"))
4073 (sha256
4074 (base32 "1ncph7vi2q6ywwc8ysxl1ibw6i5dwfvln88ssfazk8jgpj4iyykw"))))
4075 (build-system haskell-build-system)
4076 (inputs
4077 `(("ghc-tasty" ,ghc-tasty)
4078 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
4079 (home-page "https://hackage.haskell.org/package/clock")
4080 (synopsis "High-resolution clock for Haskell")
4081 (description "A package for convenient access to high-resolution clock and
4082timer functions of different operating systems via a unified API.")
4083 (license license:bsd-3)))
4084
4085(define-public ghc-charset
4086 (package
4087 (name "ghc-charset")
4088 (version "0.3.7.1")
4089 (source
4090 (origin
4091 (method url-fetch)
4092 (uri (string-append
4093 "https://hackage.haskell.org/package/charset/charset-"
4094 version
4095 ".tar.gz"))
4096 (sha256
4097 (base32
4098 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
4099 (build-system haskell-build-system)
4100 (propagated-inputs
4101 `(("ghc-semigroups" ,ghc-semigroups)))
4102 (inputs
4103 `(("ghc-unordered-containers" ,ghc-unordered-containers)))
4104 (home-page "https://github.com/ekmett/charset")
4105 (synopsis "Fast unicode character sets for Haskell")
4106 (description "This package provides fast unicode character sets for
4107Haskell, based on complemented PATRICIA tries.")
4108 (license license:bsd-3)))
4109
4110(define-public ghc-bytestring-builder
4111 (package
4112 (name "ghc-bytestring-builder")
4113 (version "0.10.6.0.0")
4114 (source
4115 (origin
4116 (method url-fetch)
4117 (uri (string-append
4118 "https://hackage.haskell.org/package/bytestring-builder"
4119 "/bytestring-builder-" version ".tar.gz"))
4120 (sha256
4121 (base32
4122 "1mkg24zl0rapb3gqzkyj5ibp07wx3yzd72hmfczssl0is63rjhww"))))
4123 (build-system haskell-build-system)
4124 (arguments `(#:haddock? #f)) ; Package contains no documentation.
4125 (home-page "https://hackage.haskell.org/package/bytestring-builder")
4126 (synopsis "The new bytestring builder, packaged outside of GHC")
4127 (description "This package provides the bytestring builder that is
4128debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
4129Compatibility package for older packages.")
4130 (license license:bsd-3)))
4131
4132(define-public ghc-nats
4133 (package
4134 (name "ghc-nats")
4135 (version "1")
4136 (source
4137 (origin
4138 (method url-fetch)
4139 (uri (string-append
4140 "https://hackage.haskell.org/package/nats/nats-"
4141 version
4142 ".tar.gz"))
4143 (sha256
4144 (base32
4145 "0r6s8l4s0yq3x2crrkv0b8zac13magfasr9v8hnq6rn1icsfhic0"))))
4146 (build-system haskell-build-system)
4147 (arguments `(#:haddock? #f))
4148 (inputs
4149 `(("ghc-hashable" ,ghc-hashable)))
4150 (home-page "https://hackage.haskell.org/package/nats")
4151 (synopsis "Natural numbers")
4152 (description "This library provides the natural numbers for Haskell.")
4153 (license license:bsd-3)))
4154
4155(define-public ghc-void
4156 (package
4157 (name "ghc-void")
4158 (version "0.7.1")
4159 (source
4160 (origin
4161 (method url-fetch)
4162 (uri (string-append
4163 "https://hackage.haskell.org/package/void/void-"
4164 version
4165 ".tar.gz"))
4166 (sha256
4167 (base32
4168 "1x15x2axz84ndw2bf60vjqljhrb0w95lddaljsxrl0hcd29zvw69"))))
4169 (build-system haskell-build-system)
4170 (propagated-inputs
4171 `(("ghc-semigroups" ,ghc-semigroups)))
4172 (inputs
4173 `(("ghc-hashable" ,ghc-hashable)))
4174 (home-page "https://github.com/ekmett/void")
4175 (synopsis
4176 "Logically uninhabited data type")
4177 (description
4178 "A Haskell 98 logically uninhabited data type, used to indicate that a
4179given term should not exist.")
4180 (license license:bsd-3)))
4181
4182(define-public ghc-kan-extensions
4183 (package
4184 (name "ghc-kan-extensions")
4185 (version "4.2.3")
4186 (source
4187 (origin
4188 (method url-fetch)
4189 (uri (string-append
4190 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
4191 version
4192 ".tar.gz"))
4193 (sha256
4194 (base32
4195 "0iywbadpy8s3isfzlx9dlz3apaywhqq4gdbxkwygksq8pzdhwkrk"))))
4196 (build-system haskell-build-system)
4197 (propagated-inputs
4198 `(("ghc-adjunctions" ,ghc-adjunctions)))
4199 (inputs
4200 `(("ghc-comonad" ,ghc-comonad)
4201 ("ghc-contravariant" ,ghc-contravariant)
4202 ("ghc-distributive" ,ghc-distributive)
4203 ("ghc-free" ,ghc-free)
4204 ("ghc-mtl" ,ghc-mtl)
4205 ("ghc-semigroupoids" ,ghc-semigroupoids)
4206 ("ghc-tagged" ,ghc-tagged)))
4207 (home-page "https://github.com/ekmett/kan-extensions/")
4208 (synopsis "Kan extensions library")
4209 (description "This library provides Kan extensions, Kan lifts, various
4210forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
4211 (license license:bsd-3)))
4212
4213(define-public ghc-statevar
4214 (package
4215 (name "ghc-statevar")
4216 (version "1.1.0.1")
4217 (source
4218 (origin
4219 (method url-fetch)
4220 (uri (string-append
4221 "https://hackage.haskell.org/package/StateVar/StateVar-"
4222 version
4223 ".tar.gz"))
4224 (sha256
4225 (base32
4226 "1ap51cvwq61xckx5hw44l82ihbxvsq3263xr5hqg42c5qp67kbhf"))))
4227 (build-system haskell-build-system)
4228 (propagated-inputs
4229 `(("ghc-stm" ,ghc-stm)))
4230 (home-page "https://hackage.haskell.org/package/StateVar")
4231 (synopsis "State variables for Haskell")
4232 (description "This package provides state variables, which are references
4233in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
4234 (license license:bsd-3)))
4235
4236(define-public ghc-lens
4237 (package
4238 (name "ghc-lens")
4239 (version "4.13")
4240 (source
4241 (origin
4242 (method url-fetch)
4243 (uri (string-append
4244 "https://hackage.haskell.org/package/lens/lens-"
4245 version
4246 ".tar.gz"))
4247 (sha256
4248 (base32
4249 "0g4g0xksrb2m8wgsmraaq8qnk1sssb42kr65fc7clgyid6zyfmim"))))
4250 (build-system haskell-build-system)
4251 (arguments `(#:tests? #f)) ; FIXME: doctest packagedb propagation problem.
4252 (propagated-inputs
4253 `(("ghc-base-orphans" ,ghc-base-orphans)
4254 ("ghc-bifunctors" ,ghc-bifunctors)
4255 ("ghc-distributive" ,ghc-distributive)
4256 ("ghc-exceptions" ,ghc-exceptions)
4257 ("ghc-free" ,ghc-free)
4258 ("ghc-kan-extensions" ,ghc-kan-extensions)
4259 ("ghc-parallel" ,ghc-parallel)
4260 ("ghc-reflection" ,ghc-reflection)
4261 ("ghc-semigroupoids" ,ghc-semigroupoids)
4262 ("ghc-vector" ,ghc-vector)))
4263 (inputs
4264 `(("ghc-comonad" ,ghc-comonad)
4265 ("ghc-contravariant" ,ghc-contravariant)
4266 ("ghc-hashable" ,ghc-hashable)
4267 ("ghc-mtl" ,ghc-mtl)
4268 ("ghc-profunctors" ,ghc-profunctors)
4269 ("ghc-semigroups" ,ghc-semigroups)
4270 ("ghc-tagged" ,ghc-tagged)
4271 ("ghc-text" ,ghc-text)
4272 ("ghc-transformers-compat" ,ghc-transformers-compat)
4273 ("ghc-unordered-containers" ,ghc-unordered-containers)
4274 ("ghc-void" ,ghc-void)
4275 ("ghc-generic-deriving" ,ghc-generic-deriving)
4276 ("ghc-nats" ,ghc-nats)
4277 ("ghc-simple-reflect" ,ghc-simple-reflect)
4278 ("hlint" ,hlint)))
4279 (home-page "https://github.com/ekmett/lens/")
4280 (synopsis "Lenses, Folds and Traversals")
4281 (description "This library provides @code{Control.Lens}. The combinators
4282in @code{Control.Lens} provide a highly generic toolbox for composing families
4283of getters, folds, isomorphisms, traversals, setters and lenses and their
4284indexed variants.")
4285 (license license:bsd-3)))
4286
4287(define-public ghc-tagsoup
4288 (package
4289 (name "ghc-tagsoup")
4290 (version "0.13.3")
4291 (source
4292 (origin
4293 (method url-fetch)
4294 (uri (string-append
4295 "https://hackage.haskell.org/package/tagsoup/tagsoup-"
4296 version
4297 ".tar.gz"))
4298 (sha256
4299 (base32
4300 "13b6zy6346r3cxhaivys84fnxarg8wbv7r2znazfjdkqil8n5a1j"))))
4301 (build-system haskell-build-system)
4302 (inputs `(("ghc-text" ,ghc-text)))
4303 (home-page
4304 "http://community.haskell.org/~ndm/tagsoup/")
4305 (synopsis
4306 "Parsing and extracting information from (possibly malformed) HTML/XML
4307documents")
4308 (description
4309 "TagSoup is a library for parsing HTML/XML. It supports the HTML 5
4310specification, and can be used to parse either well-formed XML, or
4311unstructured and malformed HTML from the web. The library also provides
4312useful functions to extract information from an HTML document, making it ideal
4313for screen-scraping.")
4314 (license license:bsd-3)))
4315
4316(define-public ghc-digest
4317 (package
4318 (name "ghc-digest")
4319 (version "0.0.1.2")
4320 (source
4321 (origin
4322 (method url-fetch)
4323 (uri (string-append
4324 "https://hackage.haskell.org/package/digest/digest-"
4325 version
4326 ".tar.gz"))
4327 (sha256
4328 (base32
4329 "04gy2zp8yzvv7j9bdfvmfzcz3sqyqa6rwslqcn4vyair2vmif5v4"))))
4330 (build-system haskell-build-system)
4331 (inputs
4332 `(("zlib" ,zlib)))
4333 (home-page
4334 "https://hackage.haskell.org/package/digest")
4335 (synopsis
4336 "Various cryptographic hashes for bytestrings")
4337 (description
4338 "This package provides efficient cryptographic hash implementations for
4339strict and lazy bytestrings. For now, CRC32 and Adler32 are supported; they
4340are implemented as FFI bindings to efficient code from zlib.")
4341 (license license:bsd-3)))
4342
4343(define-public ghc-cheapskate
4344 (package
4345 (name "ghc-cheapskate")
4346 (version "0.1.0.4")
4347 (source
4348 (origin
4349 (method url-fetch)
4350 (uri (string-append
4351 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
4352 version
4353 ".tar.gz"))
4354 (sha256
4355 (base32
4356 "0drx1hlqvdcrij4097q6bxhbfcqm73jsqv1wwhd3hsnjdmr46ch2"))))
4357 (build-system haskell-build-system)
4358 (propagated-inputs
4359 `(("ghc-xss-sanitize" ,ghc-xss-sanitize)
4360 ("ghc-data-default" ,ghc-data-default)))
4361 (inputs
4362 `(("ghc-mtl" ,ghc-mtl)
4363 ("ghc-text" ,ghc-text)
4364 ("ghc-blaze-html" ,ghc-blaze-html)
4365 ("ghc-syb" ,ghc-syb)
4366 ("ghc-uniplate" ,ghc-uniplate)
4367 ("ghc-aeson" ,ghc-aeson)
4368 ("ghc-wai-extra" ,ghc-wai-extra)
4369 ("ghc-wai" ,ghc-wai)
4370 ("ghc-http-types" ,ghc-http-types)))
4371 (home-page "https://github.com/jgm/cheapskate")
4372 (synopsis "Experimental markdown processor")
4373 (description "Cheapskate is an experimental Markdown processor in pure
4374Haskell. It aims to process Markdown efficiently and in the most forgiving
4375possible way. It is designed to deal with any input, including garbage, with
4376linear performance. Output is sanitized by default for protection against XSS
4377attacks.")
4378 (license license:bsd-3)))
4379
4380(define-public ghc-bifunctors
4381 (package
4382 (name "ghc-bifunctors")
4383 (version "5")
4384 (source
4385 (origin
4386 (method url-fetch)
4387 (uri (string-append
4388 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
4389 version
4390 ".tar.gz"))
4391 (sha256
4392 (base32
4393 "13990xdgx0n23qgi18ghhmsywj5zkr0a5bim0g8a4nzi0cx95ps1"))))
4394 (build-system haskell-build-system)
4395 (inputs
4396 `(("ghc-tagged" ,ghc-tagged)
4397 ("ghc-semigroups" ,ghc-semigroups)))
4398 (home-page "https://github.com/ekmett/bifunctors/")
4399 (synopsis "Bifunctors for Haskell")
4400 (description "This package provides bifunctors for Haskell.")
4401 (license license:bsd-3)))
4402
4403(define-public ghc-semigroupoids
4404 (package
4405 (name "ghc-semigroupoids")
4406 (version "5.0.0.4")
4407 (source
4408 (origin
4409 (method url-fetch)
4410 (uri (string-append
4411 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
4412 version
4413 ".tar.gz"))
4414 (sha256
4415 (base32
4416 "1jf7jnfhdvl6p18wdr21yi2fim1xb8alcn6szhrdswj0dkilgq6d"))))
4417 (build-system haskell-build-system)
4418 (propagated-inputs
4419 `(("ghc-base-orphans" ,ghc-base-orphans)
4420 ("ghc-transformers-compat" ,ghc-transformers-compat)
4421 ("ghc-bifunctors" ,ghc-bifunctors)
4422 ("ghc-comonad" ,ghc-comonad)
4423 ("ghc-contravariant" ,ghc-contravariant)
4424 ("ghc-distributive" ,ghc-distributive)))
4425 (arguments `(#:tests? #f)) ; FIXME: doctest packagedb propagation problem.
4426 (inputs
4427 `(("ghc-semigroups" ,ghc-semigroups)
4428 ("ghc-tagged" ,ghc-tagged)))
4429 (home-page "https://github.com/ekmett/semigroupoids")
4430 (synopsis "Semigroupoids operations for Haskell")
4431 (description "This library provides a wide array of (semi)groupoids and
4432operations for working with them. A @code{Semigroupoid} is a @code{Category}
4433without the requirement of identity arrows for every object in the category.
4434A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
4435Finally, to work with these weaker structures it is beneficial to have
4436containers that can provide stronger guarantees about their contents, so
4437versions of @code{Traversable} and @code{Foldable} that can be folded with
4438just a @code{Semigroup} are added.")
4439 (license license:bsd-3)))
4440
4441(define-public ghc-contravariant
4442 (package
4443 (name "ghc-contravariant")
4444 (version "1.3.3")
4445 (source
4446 (origin
4447 (method url-fetch)
4448 (uri (string-append
4449 "https://hackage.haskell.org/package/contravariant/contravariant-"
4450 version
4451 ".tar.gz"))
4452 (sha256
4453 (base32
4454 "184hcmhsznqrkmqlc1kza9pb5p591anva574ry8wrh81vqmhwfb5"))))
4455 (build-system haskell-build-system)
4456 (propagated-inputs
4457 `(("ghc-void" ,ghc-void)
4458 ("ghc-transformers-compat" ,ghc-transformers-compat)
4459 ("ghc-statevar" ,ghc-statevar)))
4460 (inputs
4461 `(("ghc-semigroups" ,ghc-semigroups)))
4462 (home-page
4463 "https://github.com/ekmett/contravariant/")
4464 (synopsis "Contravariant functors")
4465 (description "Contravariant functors for Haskell.")
4466 (license license:bsd-3)))
4467
4468(define-public ghc-semigroups
4469 (package
4470 (name "ghc-semigroups")
4471 (version "0.17.0.1")
4472 (source
4473 (origin
4474 (method url-fetch)
4475 (uri (string-append
4476 "https://hackage.haskell.org/package/semigroups/semigroups-"
4477 version
4478 ".tar.gz"))
4479 (sha256
4480 (base32
4481 "0gvpfi7s6ys4qha3y9a1zl1a15gf9cgg33wjb94ghg82ivcxnc3r"))))
4482 (build-system haskell-build-system)
4483 (propagated-inputs
4484 `(("ghc-nats" ,ghc-nats)
4485 ("ghc-tagged" ,ghc-tagged)
4486 ("ghc-unordered-containers" ,ghc-unordered-containers)))
4487 (inputs
4488 `(("ghc-text" ,ghc-text)
4489 ("ghc-hashable" ,ghc-hashable)))
4490 (home-page "https://github.com/ekmett/semigroups/")
4491 (synopsis "Semigroup operations for Haskell")
4492 (description "This package provides semigroups for Haskell. In
4493mathematics, a semigroup is an algebraic structure consisting of a set
4494together with an associative binary operation. A semigroup generalizes a
4495monoid in that there might not exist an identity element. It
4496also (originally) generalized a group (a monoid with all inverses) to a type
4497where every element did not have to have an inverse, thus the name
4498semigroup.")
4499 (license license:bsd-3)))
4500
4501(define-public ghc-free
4502 (package
4503 (name "ghc-free")
4504 (version "4.12.1")
4505 (source
4506 (origin
4507 (method url-fetch)
4508 (uri (string-append
4509 "https://hackage.haskell.org/package/free/free-"
4510 version
4511 ".tar.gz"))
4512 (sha256
4513 (base32
4514 "0sr8phvrb4ny8j1wzq55rdn8q4br23q4pw2j276npr844825jr9p"))))
4515 (build-system haskell-build-system)
4516 (propagated-inputs
4517 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4518 ("ghc-profunctors" ,ghc-profunctors)
4519 ("ghc-exceptions" ,ghc-exceptions)))
4520 (inputs
4521 `(("ghc-bifunctors" ,ghc-bifunctors)
4522 ("ghc-comonad" ,ghc-comonad)
4523 ("ghc-distributive" ,ghc-distributive)
4524 ("ghc-mtl" ,ghc-mtl)
4525 ("ghc-semigroupoids" ,ghc-semigroupoids)
4526 ("ghc-semigroups" ,ghc-semigroups)))
4527 (home-page "https://github.com/ekmett/free/")
4528 (synopsis "Unrestricted monads for Haskell")
4529 (description "This library provides free monads, which are useful for many
4530tree-like structures and domain specific languages. If @code{f} is a
4531@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4532whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4533is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4534f} makes no constraining assumptions beyond those given by @code{f} and the
4535definition of @code{Monad}.")
4536 (license license:bsd-3)))
4537
4538(define-public ghc-adjunctions
4539 (package
4540 (name "ghc-adjunctions")
4541 (version "4.2.2")
4542 (source
4543 (origin
4544 (method url-fetch)
4545 (uri (string-append
4546 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
4547 version
4548 ".tar.gz"))
4549 (sha256
4550 (base32
4551 "00p030iypjzjib8pxz1x6mxfi59wvyrwjj11zv9bh766dgkdbwjq"))))
4552 (build-system haskell-build-system)
4553 (propagated-inputs
4554 `(("ghc-profunctors" ,ghc-profunctors)))
4555 (inputs
4556 `(("ghc-comonad" ,ghc-comonad)
4557 ("ghc-contravariant" ,ghc-contravariant)
4558 ("ghc-distributive" ,ghc-distributive)
4559 ("ghc-free" ,ghc-free)
4560 ("ghc-mtl" ,ghc-mtl)
4561 ("ghc-tagged" ,ghc-tagged)
4562 ("ghc-semigroupoids" ,ghc-semigroupoids)
4563 ("ghc-semigroups" ,ghc-semigroups)
4564 ("ghc-void" ,ghc-void)))
4565 (home-page "https://github.com/ekmett/adjunctions/")
4566 (synopsis "Adjunctions and representable functors")
4567 (description "This library provides adjunctions and representable functors
4568for Haskell.")
4569 (license license:bsd-3)))
4570
4571(define-public ghc-fast-logger
4572 (package
4573 (name "ghc-fast-logger")
4574 (version "2.4.1")
4575 (source
4576 (origin
4577 (method url-fetch)
4578 (uri (string-append
4579 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
4580 version
4581 ".tar.gz"))
4582 (sha256
4583 (base32
4584 "0kjk1861qcls8m8y7i55msfpprws5wk6c5mxzi35g2qbl2sih4p5"))))
4585 (build-system haskell-build-system)
4586 (propagated-inputs
4587 `(("ghc-bytestring-builder" ,ghc-bytestring-builder)
4588 ("ghc-auto-update" ,ghc-auto-update)))
4589 (inputs
4590 `(("ghc-hspec" ,ghc-hspec)
4591 ("ghc-text" ,ghc-text)))
4592 (home-page "https://hackage.haskell.org/package/fast-logger")
4593 (synopsis "Fast logging system")
4594 (description "This library provides a fast logging system for Haskell.")
4595 (license license:bsd-3)))
4596
4597(define-public ghc-doctest
4598 (package
4599 (name "ghc-doctest")
4600 (version "0.10.1")
4601 (source
4602 (origin
4603 (method url-fetch)
4604 (uri (string-append
4605 "https://hackage.haskell.org/package/doctest/doctest-"
4606 version
4607 ".tar.gz"))
4608 (sha256
4609 (base32
4610 "1jbyhzbi2hfrfg7vbkpj6vriaap8cn99nnmzwcfscwaijz09jyrm"))))
4611 (build-system haskell-build-system)
4612 (arguments `(#:tests? #f)) ; FIXME: missing test framework
4613 (propagated-inputs
4614 `(("ghc-syb" ,ghc-syb)
4615 ("ghc-paths" ,ghc-paths)))
4616 (inputs
4617 `(("ghc-base-compat" ,ghc-base-compat)
4618 ("ghc-hunit" ,ghc-hunit)
4619 ("ghc-hspec" ,ghc-hspec)
4620 ("ghc-quickcheck" ,ghc-quickcheck)
4621 ("ghc-stringbuilder" ,ghc-stringbuilder)
4622 ("ghc-silently" ,ghc-silently)
4623 ("ghc-setenv" ,ghc-setenv)))
4624 (home-page
4625 "https://github.com/sol/doctest#readme")
4626 (synopsis "Test interactive Haskell examples")
4627 (description "The doctest program checks examples in source code comments.
4628It is modeled after doctest for Python, see
4629@uref{http://docs.python.org/library/doctest.html, the Doctest website}.")
4630 (license license:expat)))
4631
4632(define-public ghc-lifted-base
4633 (package
4634 (name "ghc-lifted-base")
4635 (version "0.2.3.6")
4636 (source
4637 (origin
4638 (method url-fetch)
4639 (uri (string-append
4640 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
4641 version
4642 ".tar.gz"))
4643 (sha256
4644 (base32
4645 "1yz14a1rsgknwyl08n4kxrlc26hfwmb95a3c2drbnsgmhdyq7iap"))))
4646 (build-system haskell-build-system)
4647 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
4648 (propagated-inputs
4649 `(("ghc-transformers-base" ,ghc-transformers-base)
4650 ("ghc-monad-control" ,ghc-monad-control)))
4651 (inputs
4652 `(("ghc-transformers-compat" ,ghc-transformers-compat)
4653 ("ghc-hunit" ,ghc-hunit)))
4654 (home-page "https://github.com/basvandijk/lifted-base")
4655 (synopsis "Lifted IO operations from the base library")
4656 (description "Lifted-base exports IO operations from the @code{base}
4657library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
4658Note that not all modules from @code{base} are converted yet. The package
4659includes a copy of the @code{monad-peel} test suite written by Anders
4660Kaseorg.")
4661 (license license:bsd-3)))
4662
4663(define-public ghc-word8
4664 (package
4665 (name "ghc-word8")
4666 (version "0.1.2")
4667 (source
4668 (origin
4669 (method url-fetch)
4670 (uri (string-append
4671 "https://hackage.haskell.org/package/word8/word8-"
4672 version
4673 ".tar.gz"))
4674 (sha256
4675 (base32
4676 "1pbn8ra3qhwvw07p375cdmp7jzlg07hgdcr4cpscz3h7b9sy7fiw"))))
4677 (build-system haskell-build-system)
4678 (inputs
4679 `(("ghc-hspec" ,ghc-hspec)))
4680 (home-page "https://hackage.haskell.org/package/word8")
4681 (synopsis "Word8 library for Haskell")
4682 (description "Word8 library to be used with @code{Data.ByteString}.")
4683 (license license:bsd-3)))
4684
4685(define-public ghc-stringsearch
4686 (package
4687 (name "ghc-stringsearch")
4688 (version "0.3.6.6")
4689 (source
4690 (origin
4691 (method url-fetch)
4692 (uri (string-append
4693 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
4694 version
4695 ".tar.gz"))
4696 (sha256
4697 (base32
4698 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
4699 (build-system haskell-build-system)
4700 (home-page "https://bitbucket.org/dafis/stringsearch")
4701 (synopsis "Fast searching, splitting and replacing of ByteStrings")
4702 (description "This package provides several functions to quickly search
4703for substrings in strict or lazy @code{ByteStrings}. It also provides
4704functions for breaking or splitting on substrings and replacing all
4705occurrences of a substring (the first in case of overlaps) with another.")
4706 (license license:bsd-3)))
4707
4708(define-public ghc-tasty-quickcheck
4709 (package
4710 (name "ghc-tasty-quickcheck")
4711 (version "0.8.4")
4712 (source
4713 (origin
4714 (method url-fetch)
4715 (uri (string-append
4716 "https://hackage.haskell.org/package/tasty-quickcheck/"
4717 "tasty-quickcheck-" version ".tar.gz"))
4718 (sha256
4719 (base32
4720 "15rjxib5jmjq0hzj47x15kgp3awc73va4cy1pmpf7k3hvfv4qprn"))))
4721 (build-system haskell-build-system)
4722 (propagated-inputs
4723 `(("ghc-quickcheck" ,ghc-quickcheck)))
4724 (inputs
4725 `(("ghc-tagged" ,ghc-tagged)
4726 ("ghc-tasty" ,ghc-tasty)
4727 ("ghc-random" ,ghc-random)
4728 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
4729 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4730 ("ghc-pcre-light" ,ghc-pcre-light)))
4731 (home-page "http://documentup.com/feuerbach/tasty")
4732 (synopsis "QuickCheck support for the Tasty test framework")
4733 (description "This package provides QuickCheck support for the Tasty
4734Haskell test framework.")
4735 (license license:expat)))
4736
4737(define-public ghc-tasty-golden
4738 (package
4739 (name "ghc-tasty-golden")
4740 (version "2.3.0.2")
4741 (source
4742 (origin
4743 (method url-fetch)
4744 (uri (string-append
4745 "https://hackage.haskell.org/package/tasty-golden/tasty-golden-"
4746 version
4747 ".tar.gz"))
4748 (sha256
4749 (base32
4750 "0n7nll1sx75n3lffwhgnjrxdn0jz1g0921z9mj193fxqw0wz8axh"))))
4751 (build-system haskell-build-system)
4752 (propagated-inputs
4753 `(("ghc-temporary" ,ghc-temporary)))
4754 (inputs
4755 `(("ghc-tasty" ,ghc-tasty)
4756 ("ghc-mtl" ,ghc-mtl)
4757 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4758 ("ghc-tagged" ,ghc-tagged)
4759 ("ghc-async" ,ghc-async)
4760 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4761 ("ghc-temporary-rc" ,ghc-temporary-rc)))
4762 (home-page
4763 "https://github.com/feuerbach/tasty-golden")
4764 (synopsis "Golden tests support for tasty")
4765 (description
4766 "This package provides support for 'golden testing'. A golden test is an
4767IO action that writes its result to a file. To pass the test, this output
4768file should be identical to the corresponding 'golden' file, which contains
4769the correct result for the test.")
4770 (license license:expat)))
4771
4772(define-public ghc-tasty
4773 (package
4774 (name "ghc-tasty")
4775 (version "0.11.0.1")
4776 (source
4777 (origin
4778 (method url-fetch)
4779 (uri (string-append
4780 "https://hackage.haskell.org/package/tasty/tasty-"
4781 version
4782 ".tar.gz"))
4783 (sha256
4784 (base32
4785 "1chapivmmwsb1ghwagvdm80bfj3hdk75m94z4p212ng2i4ghpjkx"))))
4786 (build-system haskell-build-system)
4787 (propagated-inputs
4788 `(("ghc-stm" ,ghc-stm)
4789 ("ghc-mtl" ,ghc-mtl)
4790 ("ghc-tagged" ,ghc-tagged)
4791 ("ghc-regex-tdfa-rc" ,ghc-regex-tdfa-rc)
4792 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4793 ("ghc-unbounded-delays" ,ghc-unbounded-delays)
4794 ("ghc-async" ,ghc-async)
4795 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
4796 ("ghc-clock-bootstrap" ,ghc-clock-bootstrap)))
4797 (home-page "http://documentup.com/feuerbach/tasty")
4798 (synopsis "Modern and extensible testing framework")
4799 (description "Tasty is a modern testing framework for Haskell. It lets
4800you combine your unit tests, golden tests, QuickCheck/SmallCheck properties,
4801and any other types of tests into a single test suite.")
4802 (license license:expat)))
4803
4804(define-public ghc-tasty-hunit
4805 (package
4806 (name "ghc-tasty-hunit")
4807 (version "0.9.2")
4808 (source
4809 (origin
4810 (method url-fetch)
4811 (uri (string-append
4812 "https://hackage.haskell.org/package/tasty-hunit/tasty-hunit-"
4813 version
4814 ".tar.gz"))
4815 (sha256
4816 (base32
4817 "08qnxaw34wfnzi9irs1jd4d0zczqm3k5ffkd4zwhkz0dflmgq7mf"))))
4818 (build-system haskell-build-system)
4819 (inputs
4820 `(("ghc-tasty" ,ghc-tasty)))
4821 (home-page "http://documentup.com/feuerbach/tasty")
4822 (synopsis "HUnit support for the Tasty test framework")
4823 (description "This package provides HUnit support for the Tasty Haskell
4824test framework.")
4825 (license license:expat)))
4826
4827(define-public ghc-cookie
4828 (package
4829 (name "ghc-cookie")
4830 (version "0.4.1.6")
4831 (source
4832 (origin
4833 (method url-fetch)
4834 (uri (string-append
4835 "https://hackage.haskell.org/package/cookie/cookie-"
4836 version
4837 ".tar.gz"))
4838 (sha256
4839 (base32
4840 "0b6ym6fn29p5az4dwydy036lxj131kagrmgb93w4bbkqfkds8b9s"))))
4841 (build-system haskell-build-system)
4842 (propagated-inputs
4843 `(("ghc-old-locale" ,ghc-old-locale)))
4844 (inputs
4845 `(("ghc-blaze-builder" ,ghc-blaze-builder)
4846 ("ghc-text" ,ghc-text)
4847 ("ghc-data-default-class" ,ghc-data-default-class)
4848 ("ghc-hunit" ,ghc-hunit)
4849 ("ghc-quickcheck" ,ghc-quickcheck)
4850 ("ghc-tasty" ,ghc-tasty)
4851 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4852 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
4853 (home-page "https://github.com/snoyberg/cookie")
4854 (synopsis "HTTP cookie parsing and rendering")
4855 (description "HTTP cookie parsing and rendering library for Haskell.")
4856 (license license:bsd-3)))
4857
4858(define-public ghc-scientific
4859 (package
4860 (name "ghc-scientific")
4861 (version "0.3.4.2")
4862 (source
4863 (origin
4864 (method url-fetch)
4865 (uri (string-append
4866 "https://hackage.haskell.org/package/scientific/scientific-"
4867 version
4868 ".tar.gz"))
4869 (sha256
4870 (base32
4871 "0mimdkva0cgzaychr6whv9if29z0r5wwhkss9bmd4rz8kq1kgngn"))))
4872 (build-system haskell-build-system)
4873 (propagated-inputs
4874 `(("ghc-hashable" ,ghc-hashable)
4875 ("ghc-vector" ,ghc-vector)))
4876 (inputs
4877 `(("ghc-text" ,ghc-text)
4878 ("ghc-tasty" ,ghc-tasty)
4879 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
4880 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4881 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4882 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4883 ("ghc-smallcheck" ,ghc-smallcheck)
4884 ("ghc-quickcheck" ,ghc-quickcheck)))
4885 (home-page "https://github.com/basvandijk/scientific")
4886 (synopsis "Numbers represented using scientific notation")
4887 (description "This package provides @code{Data.Scientific}, which provides
4888the number type @code{Scientific}. Scientific numbers are arbitrary precision
4889and space efficient. They are represented using
4890@uref{http://en.wikipedia.org/wiki/Scientific_notation, scientific
4891notation}.")
4892 (license license:bsd-3)))
4893
4894(define-public ghc-aeson
4895 (package
4896 (name "ghc-aeson")
4897 (version "0.10.0.0")
4898 (source
4899 (origin
4900 (method url-fetch)
4901 (uri (string-append
4902 "https://hackage.haskell.org/package/aeson/aeson-"
4903 version
4904 ".tar.gz"))
4905 (sha256
4906 (base32
4907 "19kp33rfivr4d3myyr8xn803wd7p8x5nc4wb3qvlgjwgyqjaxvrz"))))
4908 (build-system haskell-build-system)
4909 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
4910 (propagated-inputs
4911 `(("ghc-attoparsec" ,ghc-attoparsec)
4912 ("ghc-dlist" ,ghc-dlist)
4913 ("ghc-mtl" ,ghc-mtl)
4914 ("ghc-scientific" ,ghc-scientific)
4915 ("ghc-syb" ,ghc-syb)
4916 ("ghc-unordered-containers" ,ghc-unordered-containers)
4917 ("ghc-vector" ,ghc-vector)))
4918 (inputs
4919 `(("ghc-hashable" ,ghc-hashable)
4920 ("ghc-text" ,ghc-text)
4921 ("ghc-hunit" ,ghc-hunit)
4922 ("ghc-quickcheck" ,ghc-quickcheck)))
4923 (home-page "https://github.com/bos/aeson")
4924 (synopsis "Fast JSON parsing and encoding")
4925 (description "This package provides a JSON parsing and encoding library
4926for Haskell, optimized for ease of use and high performance. (A note on
4927naming: in Greek mythology, Aeson was the father of Jason.)")
4928 (license license:bsd-3)))
4929
4930(define-public ghc-aeson-pretty
4931 (package
4932 (name "ghc-aeson-pretty")
4933 (version "0.7.2")
4934 (source (origin
4935 (method url-fetch)
4936 (uri (string-append
4937 "https://hackage.haskell.org/package/aeson-pretty/aeson-pretty-"
4938 version ".tar.gz"))
4939 (sha256
4940 (base32
4941 "03ap81853qi8yd9kdgczllrrni23a6glsfxrwj8zab6ipjrbh234"))))
4942 (build-system haskell-build-system)
4943 (inputs
4944 `(("ghc-aeson" ,ghc-aeson)
4945 ("ghc-vector" ,ghc-vector)
4946 ("ghc-text" ,ghc-text)
4947 ("ghc-unordered-containers"
4948 ,ghc-unordered-containers)
4949 ("ghc-attoparsec" ,ghc-attoparsec)
4950 ("ghc-cmdargs" ,ghc-cmdargs)))
4951 (home-page "https://github.com/informatikr/aeson-pretty")
4952 (synopsis "JSON pretty-printing library and command-line tool")
4953 (description
4954 "This package provides a JSON pretty-printing library compatible with aeson
4955as well as a command-line tool to improve readabilty of streams of JSON data.
4956The library provides the function @code{encodePretty}. It is a drop-in
4957replacement for aeson's @code{encode} function, producing JSON-ByteStrings for
4958human readers. The command-line tool reads JSON from stdin and writes
4959prettified JSON to stdout. It also offers a complementary \"compact\"-mode,
4960essentially the opposite of pretty-printing.")
4961 (license license:bsd-3)))
4962
4963(define-public ghc-wai
4964 (package
4965 (name "ghc-wai")
4966 (version "3.0.4.0")
4967 (source
4968 (origin
4969 (method url-fetch)
4970 (uri (string-append
4971 "https://hackage.haskell.org/package/wai/wai-"
4972 version
4973 ".tar.gz"))
4974 (sha256
4975 (base32
4976 "1551n0g0n22vml33v0jz5xgjcy6j79algvsdqg11a1z5ljjrjlqf"))))
4977 (build-system haskell-build-system)
4978 (propagated-inputs
4979 `(("ghc-bytestring-builder" ,ghc-bytestring-builder)
4980 ("ghc-unix-compat" ,ghc-unix-compat)
4981 ("ghc-vault" ,ghc-vault)
4982 ("ghc-blaze-builder" ,ghc-blaze-builder)
4983 ("ghc-network" ,ghc-network)))
4984 (inputs
4985 `(("ghc-quickcheck" ,ghc-quickcheck)
4986 ("ghc-hunit" ,ghc-hunit)
4987 ("ghc-hspec" ,ghc-hspec)
4988 ("ghc-text" ,ghc-text)
4989 ("ghc-http-types" ,ghc-http-types)))
4990 (home-page "https://hackage.haskell.org/package/wai")
4991 (synopsis "Web application interface for Haskell")
4992 (description "This package provides a Web Application Interface (WAI)
4993library for the Haskell language. It defines a common protocol for
4994communication between web applications and web servers.")
4995 (license license:bsd-3)))
4996
4997(define-public ghc-wai-logger
4998 (package
4999 (name "ghc-wai-logger")
5000 (version "2.2.4.1")
5001 (source
5002 (origin
5003 (method url-fetch)
5004 (uri (string-append
5005 "https://hackage.haskell.org/package/wai-logger/wai-logger-"
5006 version
5007 ".tar.gz"))
5008 (sha256
5009 (base32
5010 "1s6svvy3ci4j1dj1jaw8hg628miwj8f5gpy9n8d8hpsaxav6nzgk"))))
5011 (build-system haskell-build-system)
5012 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find libraries exported
5013 ; by propagated-inputs.
5014 (propagated-inputs
5015 `(("ghc-auto-update" ,ghc-auto-update)
5016 ("ghc-byteorder" ,ghc-byteorder)
5017 ("ghc-easy-file" ,ghc-easy-file)
5018 ("ghc-unix-time" ,ghc-unix-time)))
5019 (inputs
5020 `(("ghc-blaze-builder" ,ghc-blaze-builder)
5021 ("ghc-case-insensitive" ,ghc-case-insensitive)
5022 ("ghc-fast-logger" ,ghc-fast-logger)
5023 ("ghc-http-types" ,ghc-http-types)
5024 ("ghc-network" ,ghc-network)
5025 ("ghc-wai" ,ghc-wai)))
5026 (home-page "https://hackage.haskell.org/package/wai-logger")
5027 (synopsis "Logging system for WAI")
5028 (description "This package provides the logging system for WAI.")
5029 (license license:bsd-3)))
5030
5031(define-public ghc-wai-extra
5032 (package
5033 (name "ghc-wai-extra")
5034 (version "3.0.11.1")
5035 (source
5036 (origin
5037 (method url-fetch)
5038 (uri (string-append
5039 "https://hackage.haskell.org/package/wai-extra/wai-extra-"
5040 version
5041 ".tar.gz"))
5042 (sha256
5043 (base32
5044 "1kr2s5qyx1dvnwr372h7pca4sgxjv0pdx96xkgsfi180h3mb0vq8"))))
5045 (build-system haskell-build-system)
5046 (propagated-inputs
5047 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
5048 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
5049 ("ghc-cookie" ,ghc-cookie)
5050 ("ghc-blaze-builder" ,ghc-blaze-builder)
5051 ("ghc-network" ,ghc-network)
5052 ("ghc-lifted-base" ,ghc-lifted-base)
5053 ("ghc-streaming-commons" ,ghc-streaming-commons)
5054 ("ghc-stringsearch" ,ghc-stringsearch)
5055 ("ghc-resourcet" ,ghc-resourcet)
5056 ("ghc-fast-logger" ,ghc-fast-logger)
5057 ("ghc-wai-logger" ,ghc-wai-logger)
5058 ("ghc-zlib" ,ghc-zlib)
5059 ("ghc-word8" ,ghc-word8)
5060 ("ghc-iproute" ,ghc-iproute)
5061 ("ghc-void" ,ghc-void)))
5062 (inputs
5063 `(("ghc-wai" ,ghc-wai)
5064 ("ghc-http-types" ,ghc-http-types)
5065 ("ghc-text" ,ghc-text)
5066 ("ghc-case-insensitive" ,ghc-case-insensitive)
5067 ("ghc-data-default-class" ,ghc-data-default-class)
5068 ("ghc-unix-compat" ,ghc-unix-compat)
5069 ("ghc-vault" ,ghc-vault)
5070 ("ghc-aeson" ,ghc-aeson)
5071 ("ghc-hspec" ,ghc-hspec)
5072 ("ghc-hunit" ,ghc-hunit)))
5073 (home-page "https://github.com/yesodweb/wai")
5074 (synopsis "Some basic WAI handlers and middleware")
5075 (description "This library provides basic WAI handlers and middleware
5076functionality.")
5077 (license license:expat)))
5078
5079(define-public ghc-deepseq-generics
5080 (package
5081 (name "ghc-deepseq-generics")
5082 (version "0.1.1.2")
5083 (source (origin
5084 (method url-fetch)
5085 (uri (string-append "https://hackage.haskell.org/package/"
5086 "deepseq-generics/deepseq-generics-"
5087 version ".tar.gz"))
5088 (sha256
5089 (base32
5090 "01pvigx8n9p8hwbzp2qiq6kzf7cxiam843jz2sjgliacmmp1v7l3"))))
5091 (build-system haskell-build-system)
5092 (arguments
5093 `(#:phases
5094 (modify-phases %standard-phases
5095 (add-after 'unpack 'relax-ghc-prim-dependency
5096 (lambda _
5097 (substitute* "deepseq-generics.cabal"
5098 (("< 0.4") "< 0.5"))
5099 #t)))))
5100 (native-inputs
5101 `(("ghc-hunit" ,ghc-hunit)
5102 ("ghc-test-framework" ,ghc-test-framework)
5103 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5104 (home-page "https://github.com/hvr/deepseq-generics")
5105 (synopsis "Generic RNF implementation")
5106 (description
5107 "This package provides a @code{GHC.Generics}-based
5108@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
5109providing an 'rnf' implementation.")
5110 (license license:bsd-3)))
5111
5112(define-public ghc-pandoc-types
5113 (package
5114 (name "ghc-pandoc-types")
5115 (version "1.12.4.7")
5116 (source (origin
5117 (method url-fetch)
5118 (uri (string-append "https://hackage.haskell.org/package/"
5119 "pandoc-types/pandoc-types-"
5120 version ".tar.gz"))
5121 (sha256
5122 (base32
5123 "108n11kbdaj2ii3cyf0xczhsx90p1gjbxwqp1f0wyn2m3cls632n"))))
5124 (build-system haskell-build-system)
5125 (propagated-inputs
5126 `(("ghc-syb" ,ghc-syb)
5127 ("ghc-aeson" ,ghc-aeson)
5128 ("ghc-deepseq-generics" ,ghc-deepseq-generics)))
5129 (home-page "http://johnmacfarlane.net/pandoc")
5130 (synopsis "Types for representing a structured document")
5131 (description
5132 "This module defines the @code{Pandoc} data structure, which is used by
5133pandoc to represent structured documents. It also provides functions for
5134building up, manipulating and serialising @code{Pandoc} structures.")
5135 (license license:bsd-3)))
5136
5137(define-public ghc-texmath
5138 (package
5139 (name "ghc-texmath")
5140 (version "0.8.4")
5141 (source (origin
5142 (method url-fetch)
5143 (uri (string-append "https://hackage.haskell.org/package/"
5144 "texmath/texmath-" version ".tar.gz"))
5145 (sha256
5146 (base32
5147 "15821jg64fbr4rwaglp5ksah6q8qqz1vkjxlqp6d3bbb1rj8v2ri"))))
5148 (build-system haskell-build-system)
5149 (propagated-inputs
5150 `(("ghc-syb" ,ghc-syb)
5151 ("ghc-network-uri" ,ghc-network-uri)
5152 ("ghc-split" ,ghc-split)
5153 ("ghc-temporary" ,ghc-temporary)
5154 ("ghc-utf8-string" ,ghc-utf8-string)
5155 ("ghc-xml" ,ghc-xml)
5156 ("ghc-parsec" ,ghc-parsec)
5157 ("ghc-mtl" ,ghc-mtl)
5158 ("ghc-pandoc-types" ,ghc-pandoc-types)))
5159 (home-page "https://github.com/jgm/texmath")
5160 (synopsis "Conversion between formats used to represent mathematics")
5161 (description
5162 "The texmath library provides functions to read and write TeX math,
5163presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
5164Office). Support is also included for converting math formats to pandoc's
5165native format (allowing conversion, via pandoc, to a variety of different
5166markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
5167it can parse and apply LaTeX macros.")
5168 (license license:gpl2+)))
5169
5170(define-public ghc-regex-pcre-builtin
5171 (package
5172 (name "ghc-regex-pcre-builtin")
5173 (version "0.94.4.8.8.35")
5174 (source (origin
5175 (method url-fetch)
5176 (uri (string-append "https://hackage.haskell.org/package/"
5177 "regex-pcre-builtin/regex-pcre-builtin-"
5178 version ".tar.gz"))
5179 (sha256
5180 (base32
5181 "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b"))))
5182 (build-system haskell-build-system)
5183 (propagated-inputs
5184 `(("ghc-regex-base" ,ghc-regex-base)))
5185 (home-page "https://hackage.haskell.org/package/regex-pcre")
5186 (synopsis "Enhancement of the builtin Text.Regex library")
5187 (description
5188 "This package is an enhancement of the @code{Text.Regex} library,
5189providing the PCRE backend to accompany regex-base, with bundled code from
5190@url{http://www.pcre.org}.")
5191 (license license:bsd-3)))
5192
5193(define-public ghc-diff
5194 (package
5195 (name "ghc-diff")
5196 (version "0.3.2")
5197 (source (origin
5198 (method url-fetch)
5199 (uri (string-append "https://hackage.haskell.org/package/"
5200 "Diff/Diff-" version ".tar.gz"))
5201 (sha256
5202 (base32
5203 "13iqqmpadcm7fvqwbfrz94w030rvjh66w2bdls1253128ac2n0vz"))))
5204 (build-system haskell-build-system)
5205 (home-page "http://hub.darcs.net/sterlingclover/Diff")
5206 (synopsis "O(ND) diff algorithm in Haskell")
5207 (description
5208 "This package provides an implementation of the standard diff algorithm,
5209and utilities for pretty printing.")
5210 (license license:bsd-3)))
5211
5212(define-public ghc-highlighting-kate
5213 (package
5214 (name "ghc-highlighting-kate")
5215 (version "0.6")
5216 (source (origin
5217 (method url-fetch)
5218 (uri (string-append "https://hackage.haskell.org/package/"
5219 "highlighting-kate/highlighting-kate-"
5220 version ".tar.gz"))
5221 (sha256
5222 (base32
5223 "16334fbiyq6017zbgc59qc00h0bk24xh4dcrbqx63dvf72ac37dk"))))
5224 (build-system haskell-build-system)
5225 (propagated-inputs
5226 `(("ghc-diff" ,ghc-diff)
5227 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5228 (native-inputs
5229 `(("ghc-parsec" ,ghc-parsec)
5230 ("ghc-blaze-html" ,ghc-blaze-html)
5231 ("ghc-utf8-string" ,ghc-utf8-string)
5232 ("ghc-mtl" ,ghc-mtl)))
5233 (home-page "https://github.com/jgm/highlighting-kate")
5234 (synopsis "Syntax highlighting library")
5235 (description
5236 "Highlighting-kate is a syntax highlighting library with support for
5237nearly one hundred languages. The syntax parsers are automatically generated
5238from @uref{http://kate-editor.org/, Kate syntax descriptions}, so any syntax
5239supported by Kate can be added. An (optional) command-line program is
5240provided, along with a utility for generating new parsers from Kate XML syntax
5241descriptions.")
5242 (license license:gpl2+)))
5243
5244(define-public ghc-cmark
5245 (package
5246 (name "ghc-cmark")
5247 (version "0.4.1")
5248 (source (origin
5249 (method url-fetch)
5250 (uri (string-append "https://hackage.haskell.org/package/"
5251 "cmark/cmark-" version ".tar.gz"))
5252 (sha256
5253 (base32
5254 "0c134qh65viaq4q6pv7bnnr5wchzivg94nv0dj8pc1326sx0dw12"))))
5255 (build-system haskell-build-system)
5256 (propagated-inputs
5257 `(("ghc-text" ,ghc-text)))
5258 (native-inputs
5259 `(("ghc-hunit" ,ghc-hunit)))
5260 (home-page "https://github.com/jgm/commonmark-hs")
5261 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
5262 (description
5263 "This package provides Haskell bindings for
5264@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
5265CommonMark, a fully specified variant of Markdown. It includes sources for
5266libcmark (0.21.0) and does not require prior installation of the C library.")
5267 (license license:bsd-3)))
5268
5269(define-public ghc-executable-path
5270 (package
5271 (name "ghc-executable-path")
5272 (version "0.0.3")
5273 (source (origin
5274 (method url-fetch)
5275 (uri (string-append "https://hackage.haskell.org/package/"
5276 "executable-path/executable-path-"
5277 version ".tar.gz"))
5278 (sha256
5279 (base32
5280 "1jg58qf19qz93c60ryglcavwdcysz4fd4qn8kpw5im9w9kniawlc"))))
5281 (build-system haskell-build-system)
5282 (home-page "https://hackage.haskell.org/package/executable-path")
5283 (synopsis "Find out the full path of the executable")
5284 (description
5285 "The documentation of @code{System.Environment.getProgName} says that
5286\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
5287instead, for maximum portability, we just return the leafname of the program
5288as invoked.\" This library tries to provide the missing path.")
5289 (license license:public-domain)))
5290
5291(define-public ghc-enclosed-exceptions
5292 (package
5293 (name "ghc-enclosed-exceptions")
5294 (version "1.0.1.1")
5295 (source (origin
5296 (method url-fetch)
5297 (uri (string-append "https://hackage.haskell.org/package/"
5298 "enclosed-exceptions/enclosed-exceptions-"
5299 version ".tar.gz"))
5300 (sha256
5301 (base32
5302 "16ax1kqdsk4apg642qxkm2hf9vb5hzmkd14zmkxra8ssp8rn28z5"))))
5303 (build-system haskell-build-system)
5304 (propagated-inputs
5305 `(("ghc-lifted-base" ,ghc-lifted-base)
5306 ("ghc-monad-control" ,ghc-monad-control)
5307 ("ghc-async" ,ghc-async)
5308 ("ghc-transformers-base" ,ghc-transformers-base)))
5309 (native-inputs
5310 `(("ghc-hspec" ,ghc-hspec)
5311 ("ghc-quickcheck" ,ghc-quickcheck)))
5312 (home-page "https://github.com/jcristovao/enclosed-exceptions")
5313 (synopsis "Catch all exceptions from within an enclosed computation")
5314 (description
5315 "This library implements a technique to catch all exceptions raised
5316within an enclosed computation, while remaining responsive to (external)
5317asynchronous exceptions.")
5318 (license license:expat)))
5319
5320(define-public ghc-packedstring
5321 (package
5322 (name "ghc-packedstring")
5323 (version "0.1.0.1")
5324 (source (origin
5325 (method url-fetch)
5326 (uri (string-append "https://hackage.haskell.org/package/"
5327 "packedstring/packedstring-"
5328 version ".tar.gz"))
5329 (sha256
5330 (base32
5331 "1x78pzzdlnpcmh9p37rlf8m5cxf3yqm2alf3whl4zpr9w25r0qj8"))))
5332 (build-system haskell-build-system)
5333 (arguments
5334 `(#:phases
5335 (modify-phases %standard-phases
5336 (add-after 'unpack 'enable-extension
5337 (lambda _
5338 ;; This package won't compile without the StandaloneDeriving
5339 ;; extension.
5340 (substitute* "packedstring.cabal"
5341 (("CPP") "CPP, StandaloneDeriving"))
5342 #t)))))
5343 (home-page "https://hackage.haskell.org/package/packedstring")
5344 (synopsis "Library for packed strings")
5345 (description
5346 "This deprecated library provides an implementation of packed strings.")
5347 (license license:bsd-3)))
5348
5349(define-public ghc-th-lift
5350 (package
5351 (name "ghc-th-lift")
5352 (version "0.7.5")
5353 (source (origin
5354 (method url-fetch)
5355 (uri (string-append "https://hackage.haskell.org/package/"
5356 "th-lift/th-lift-" version ".tar.gz"))
5357 (sha256
5358 (base32
5359 "13xdkk1chdghf059sfx8d3d8r0mj1dbzdi5kf2zf0mjmz3qq7m7k"))))
5360 (build-system haskell-build-system)
5361 (propagated-inputs
5362 `(("ghc-packedstring" ,ghc-packedstring)))
5363 (home-page "https://github.com/mboes/th-lift")
5364 (synopsis "Derive Template Haskell's Lift class for datatypes")
5365 (description
5366 "This is a Haskell library to derive Template Haskell's Lift class for
5367datatypes.")
5368 (license license:bsd-3)))
5369
5370(define-public ghc-th-expand-syns
5371 (package
5372 (name "ghc-th-expand-syns")
5373 (version "0.3.0.6")
5374 (source (origin
5375 (method url-fetch)
5376 (uri (string-append "https://hackage.haskell.org/package/"
5377 "th-expand-syns/th-expand-syns-"
5378 version ".tar.gz"))
5379 (sha256
5380 (base32
5381 "03qv93pyqk8all39knsf0mzmbfdck5x61kqnyn8rbisw5c1ymx6j"))))
5382 (build-system haskell-build-system)
5383 (propagated-inputs
5384 `(("ghc-syb" ,ghc-syb)))
5385 (home-page "https://hackage.haskell.org/package/th-expand-syns")
5386 (synopsis "Expands type synonyms in Template Haskell ASTs")
5387 (description
5388 "This package enables users to expand type synonyms in Template Haskell
5389@dfn{abstract syntax trees} (ASTs).")
5390 (license license:bsd-3)))
5391
5392(define-public ghc-th-reify-many
5393 (package
5394 (name "ghc-th-reify-many")
5395 (version "0.1.3")
5396 (source (origin
5397 (method url-fetch)
5398 (uri (string-append "https://hackage.haskell.org/package/"
5399 "th-reify-many/th-reify-many-"
5400 version ".tar.gz"))
5401 (sha256
5402 (base32
5403 "00hryljcs434wcv1vaamfdbjk857f46djxv7mlwplkl3zsmfhlfx"))))
5404 (build-system haskell-build-system)
5405 (propagated-inputs
5406 `(("ghc-mtl" ,ghc-mtl)
5407 ("ghc-safe" ,ghc-safe)
5408 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
5409 (home-page "https://github.com/mgsloan/th-reify-many")
5410 (synopsis "Recurseively reify template haskell datatype info")
5411 (description
5412 "th-reify-many provides functions for recursively reifying top level
5413declarations. The main intended use case is for enumerating the names of
5414datatypes reachable from an initial datatype, and passing these names to some
5415function which generates instances.")
5416 (license license:bsd-3)))
5417
5418(define-public ghc-th-orphans
5419 (package
5420 (name "ghc-th-orphans")
5421 (version "0.13.0")
5422 (source (origin
5423 (method url-fetch)
5424 (uri (string-append "https://hackage.haskell.org/package/"
5425 "th-orphans/th-orphans-" version ".tar.gz"))
5426 (sha256
5427 (base32
5428 "105y03bxh0a2r69l603i7md17gg1vxs1jj1n40pn5q486lmfxbmx"))))
5429 (build-system haskell-build-system)
5430 (propagated-inputs
5431 `(("ghc-th-lift" ,ghc-th-lift)
5432 ("ghc-th-reify-many" ,ghc-th-reify-many)
5433 ("ghc-mtl" ,ghc-mtl)
5434 ("ghc-generic-deriving" ,ghc-generic-deriving)))
5435 (native-inputs
5436 `(("ghc-hspec" ,ghc-hspec)))
5437 (home-page "https://hackage.haskell.org/package/th-orphans")
5438 (synopsis "Orphan instances for TH datatypes")
5439 (description
5440 "This package provides orphan instances for Template Haskell datatypes. In particular,
5441instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
5442and @code{Eq} instances. These instances used to live in the haskell-src-meta
5443package, and that's where the version number started.")
5444 (license license:bsd-3)))
5445
5446(define-public ghc-haskell-src-meta
5447 (package
5448 (name "ghc-haskell-src-meta")
5449 (version "0.6.0.12")
5450 (source (origin
5451 (method url-fetch)
5452 (uri (string-append "https://hackage.haskell.org/package/"
5453 "haskell-src-meta/haskell-src-meta-"
5454 version ".tar.gz"))
5455 (sha256
5456 (base32
5457 "1mzbfrfvl6pj8068w3m6alzry1403ir1gmz3czg66n5z198l4dql"))))
5458 (build-system haskell-build-system)
5459 (propagated-inputs
5460 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5461 ("ghc-syb" ,ghc-syb)
5462 ("ghc-th-orphans" ,ghc-th-orphans)))
5463 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5464 (synopsis "Parse source to template-haskell abstract syntax")
5465 (description
5466 "This package provides tools to parse Haskell sources to the
5467template-haskell abstract syntax.")
5468 (license license:bsd-3)))
5469
5470(define-public ghc-aeson-qq
5471 (package
5472 (name "ghc-aeson-qq")
5473 (version "0.8.1")
5474 (source (origin
5475 (method url-fetch)
5476 (uri (string-append "https://hackage.haskell.org/package/"
5477 "aeson-qq/aeson-qq-" version ".tar.gz"))
5478 (sha256
5479 (base32
5480 "1z8kh3qjc4khadz1ijdqm7fbk7dh17sisqhpwd3c9aibj2927k9d"))))
5481 (build-system haskell-build-system)
5482 (propagated-inputs
5483 `(("ghc-base-compat" ,ghc-base-compat)
5484 ("ghc-text" ,ghc-text)
5485 ("ghc-attoparsec" ,ghc-attoparsec)
5486 ("ghc-scientific" ,ghc-scientific)
5487 ("ghc-vector" ,ghc-vector)
5488 ("ghc-aeson" ,ghc-aeson)
5489 ("ghc-parsec" ,ghc-parsec)
5490 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5491 (native-inputs
5492 `(("ghc-hspec" ,ghc-hspec)))
5493 (home-page "https://github.com/zalora/aeson-qq")
5494 (synopsis "JSON quasiquoter for Haskell")
5495 (description
5496 "aeson-qq provides a JSON quasiquoter for Haskell. This package exposes
5497the function @code{aesonQQ} that compile-time converts a string representation
5498of a JSON value into a @code{Data.Aeson.Value}.")
5499 (license license:expat)))
5500
5501(define-public ghc-conduit
5502 (package
5503 (name "ghc-conduit")
5504 (version "1.2.5.1")
5505 (source (origin
5506 (method url-fetch)
5507 (uri (string-append "https://hackage.haskell.org/package/"
5508 "conduit/conduit-" version ".tar.gz"))
5509 (sha256
5510 (base32
5511 "0aq6wswd5dkhdmy7sjhd99mldpq33dqpgbdcwpm94ahvckqxs7v5"))))
5512 (build-system haskell-build-system)
5513 (propagated-inputs
5514 `(("ghc-exceptions" ,ghc-exceptions)
5515 ("ghc-lifted-base" ,ghc-lifted-base)
5516 ("ghc-mmorph" ,ghc-mmorph)
5517 ("ghc-mtl" ,ghc-mtl)
5518 ("ghc-resourcet" ,ghc-resourcet)
5519 ("ghc-transformers-base" ,ghc-transformers-base)
5520 ("ghc-void" ,ghc-void)))
5521 (native-inputs
5522 `(("ghc-quickcheck" ,ghc-quickcheck)
5523 ("ghc-hspec" ,ghc-hspec)
5524 ("ghc-safe" ,ghc-safe)))
5525 (home-page "https://github.com/snoyberg/conduit")
5526 (synopsis "Streaming data library ")
5527 (description
5528 "conduit is a solution to the streaming data problem, allowing for
5529production, transformation, and consumption of streams of data in constant
5530memory. It is an alternative to lazy I/O which guarantees deterministic
5531resource handling, and fits in the same general solution space as
5532enumerator/iteratee and pipes." )
5533 (license license:expat)))
5534
5535(define-public ghc-logging-facade
5536 (package
5537 (name "ghc-logging-facade")
5538 (version "0.1.0")
5539 (source (origin
5540 (method url-fetch)
5541 (uri (string-append "https://hackage.haskell.org/package/"
5542 "logging-facade/logging-facade-"
5543 version ".tar.gz"))
5544 (sha256
5545 (base32
5546 "0zhdbjyj0j9by19rma9alxysrxnnl3s4kks4zk4bx0dg5xa0264y"))))
5547 (build-system haskell-build-system)
5548 (native-inputs
5549 `(("ghc-hspec" ,ghc-hspec)))
5550 (home-page "https://hackage.haskell.org/package/logging-facade")
5551 (synopsis "Simple logging abstraction that allows multiple back-ends")
5552 (description
5553 "This package provides a simple logging abstraction that allows multiple
5554back-ends.")
5555 (license license:expat)))
5556
5557(define-public ghc-mockery
5558 (package
5559 (name "ghc-mockery")
5560 (version "0.3.2")
5561 (source (origin
5562 (method url-fetch)
5563 (uri (string-append "https://hackage.haskell.org/package/"
5564 "mockery/mockery-" version ".tar.gz"))
5565 (sha256
5566 (base32
5567 "0m0lp2z63sgkylz5318j53r5hnrkp705qh7nqbb149ir4gy7g1bg"))))
5568 (build-system haskell-build-system)
5569 (propagated-inputs
5570 `(("ghc-temporary" ,ghc-temporary)
5571 ("ghc-logging-facade" ,ghc-logging-facade)))
5572 (native-inputs
5573 `(("ghc-hspec" ,ghc-hspec)))
5574 (home-page "https://hackage.haskell.org/package/mockery")
5575 (synopsis "Support functions for automated testing")
5576 (description
5577 "The mockery package provides support functions for automated testing.")
5578 (license license:expat)))
5579
5580(define-public ghc-yaml
5581 (package
5582 (name "ghc-yaml")
5583 (version "0.8.15.1")
5584 (source (origin
5585 (method url-fetch)
5586 (uri (string-append "https://hackage.haskell.org/package/"
5587 "yaml/yaml-" version ".tar.gz"))
5588 (sha256
5589 (base32
5590 "0v6c435xmgm99zxb30pqr7lhkb2a56wxqp70g4hjz8p7rj0vichx"))))
5591 (build-system haskell-build-system)
5592 (propagated-inputs
5593 `(("ghc-conduit" ,ghc-conduit)
5594 ("ghc-resourcet" ,ghc-resourcet)
5595 ("ghc-aeson" ,ghc-aeson)
5596 ("ghc-unordered-containers" ,ghc-unordered-containers)
5597 ("ghc-vector" ,ghc-vector)
5598 ("ghc-text" ,ghc-text)
5599 ("ghc-attoparsec" ,ghc-attoparsec)
5600 ("ghc-scientific" ,ghc-scientific)
5601 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
5602 ("ghc-aeson-qq" ,ghc-aeson-qq)
5603 ("ghc-base-compat" ,ghc-base-compat)))
5604 (native-inputs
5605 `(("ghc-hspec" ,ghc-hspec)
5606 ("ghc-hunit" ,ghc-hunit)
5607 ("ghc-mockery" ,ghc-mockery)))
5608 (home-page "https://github.com/snoyberg/yaml/")
5609 (synopsis "Parsing and rendering YAML documents")
5610 (description
5611 "This package provides a library to parse and render YAML documents.")
5612 (license license:bsd-3)))
5613
5614(define-public ghc-filemanip
5615 (package
5616 (name "ghc-filemanip")
5617 (version "0.3.6.3")
5618 (source (origin
5619 (method url-fetch)
5620 (uri (string-append "https://hackage.haskell.org/package/"
5621 "filemanip/filemanip-" version ".tar.gz"))
5622 (sha256
5623 (base32
5624 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
5625 (build-system haskell-build-system)
5626 (propagated-inputs
5627 `(("ghc-mtl" ,ghc-mtl)
5628 ("ghc-unix-compat" ,ghc-unix-compat)))
5629 (home-page "https://github.com/bos/filemanip")
5630 (synopsis "File and directory manipulation for Haskell")
5631 (description
5632 "This package provides a Haskell library for working with files and
5633directories. It includes code for pattern matching, finding files, modifying
5634file contents, and more.")
5635 (license license:bsd-3)))
5636
5637(define-public ghc-mmap
5638 (package
5639 (name "ghc-mmap")
5640 (version "0.5.9")
5641 (source (origin
5642 (method url-fetch)
5643 (uri (string-append "https://hackage.haskell.org/package/"
5644 "mmap/mmap-" version ".tar.gz"))
5645 (sha256
5646 (base32
5647 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
5648 (build-system haskell-build-system)
5649 (home-page "https://hackage.haskell.org/package/mmap")
5650 (synopsis "Memory mapped files for Haskell")
5651 (description
5652 "This library provides a wrapper to @code{mmap}, allowing files or
5653devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
5654@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
5655do on-demand loading.")
5656 (license license:bsd-3)))
5657
5658(define-public ghc-juicypixels
5659 (package
5660 (name "ghc-juicypixels")
5661 (version "3.2.6.2")
5662 (source (origin
5663 (method url-fetch)
5664 (uri (string-append "https://hackage.haskell.org/package/"
5665 "JuicyPixels/JuicyPixels-"
5666 version ".tar.gz"))
5667 (sha256
5668 (base32
5669 "0hxa57cdknz86zywpjwfbdhac5lmk7j0wd5hy4mcnb8mw6r2m592"))))
5670 (build-system haskell-build-system)
5671 (propagated-inputs
5672 `(("ghc-mtl" ,ghc-mtl)
5673 ("ghc-zlib" ,ghc-zlib)
5674 ("ghc-vector" ,ghc-vector)
5675 ("ghc-primitive" ,ghc-primitive)
5676 ("ghc-mmap" ,ghc-mmap)))
5677 (home-page "https://github.com/Twinside/Juicy.Pixels")
5678 (synopsis "Picture loading and serialization library")
5679 (description
5680 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5681TIFF and GIF formats.")
5682 (license license:bsd-3)))
5683
5684(define-public ghc-sha
5685 (package
5686 (name "ghc-sha")
5687 (version "1.6.4.2")
5688 (source (origin
5689 (method url-fetch)
5690 (uri (string-append "https://hackage.haskell.org/package/"
5691 "SHA/SHA-" version ".tar.gz"))
5692 (sha256
5693 (base32
5694 "134ajm87fm4lpsw86m9q8apv20dw4bpk46raa389zr6bcdpifw64"))))
5695 (build-system haskell-build-system)
5696 (native-inputs
5697 `(("ghc-quickcheck" ,ghc-quickcheck)
5698 ("ghc-test-framework" ,ghc-test-framework)
5699 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
5700 (home-page "https://hackage.haskell.org/package/SHA")
5701 (synopsis "SHA suite of message digest functions")
5702 (description
5703 "This library implements the SHA suite of message digest functions,
5704according to NIST FIPS 180-2 (with the SHA-224 addendum), as well as the
5705SHA-based HMAC routines. The functions have been tested against most of the
5706NIST and RFC test vectors for the various functions. While some attention has
5707been paid to performance, these do not presently reach the speed of well-tuned
5708libraries, like OpenSSL.")
5709 (license license:bsd-3)))
5710
5711(define-public ghc-hslua
5712 (package
5713 (name "ghc-hslua")
5714 (version "0.4.1")
5715 (source (origin
5716 (method url-fetch)
5717 (uri (string-append "https://hackage.haskell.org/package/"
5718 "hslua/hslua-" version ".tar.gz"))
5719 (sha256
5720 (base32
5721 "0gqp6qhp4v24kzv2j49kgk7bxqzw0w10x0zr0r2j9wkfavqb9wid"))))
5722 (build-system haskell-build-system)
5723 (arguments
5724 `(#:configure-flags '("-fsystem-lua")))
5725 (inputs
5726 `(("lua" ,lua-5.1)))
5727 (propagated-inputs
5728 `(("ghc-text" ,ghc-text)))
5729 (native-inputs
5730 `(("ghc-hspec" ,ghc-hspec)
5731 ("ghc-hspec-contrib" ,ghc-hspec-contrib)
5732 ("ghc-hunit" ,ghc-hunit)
5733 ("ghc-quickcheck" ,ghc-quickcheck)
5734 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5735 (home-page "https://hackage.haskell.org/package/hslua")
5736 (synopsis "Lua language interpreter embedding in Haskell")
5737 (description
5738 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5739described in @url{http://www.lua.org/}.")
5740 (license license:expat)))
5741
5742(define-public ghc-mime-types
5743 (package
5744 (name "ghc-mime-types")
5745 (version "0.1.0.6")
5746 (source (origin
5747 (method url-fetch)
5748 (uri (string-append "https://hackage.haskell.org/package/"
5749 "mime-types/mime-types-"
5750 version ".tar.gz"))
5751 (sha256
5752 (base32
5753 "090z3dp928243amnc6s8g10rk2h2bprk9y138q6wj3cpflzr72pw"))))
5754 (build-system haskell-build-system)
5755 (propagated-inputs
5756 `(("ghc-text" ,ghc-text)))
5757 (home-page "https://github.com/yesodweb/wai")
5758 (synopsis "Basic MIME type handling types and functions")
5759 (description
5760 "This library provides basic MIME type handling types and functions.")
5761 (license license:expat)))
5762
5763(define-public ghc-http-client
5764 (package
5765 (name "ghc-http-client")
5766 (version "0.4.24")
5767 (source (origin
5768 (method url-fetch)
5769 (uri (string-append "https://hackage.haskell.org/package/"
5770 "http-client/http-client-"
5771 version ".tar.gz"))
5772 (sha256
5773 (base32
5774 "0xz133kdfiyy2rm6z95bmvjj6y2540xzd86cfmdv9s6kz4p1ir4k"))))
5775 (build-system haskell-build-system)
5776 ;; Tests require access to the web.
5777 (arguments `(#:tests? #f))
5778 (propagated-inputs
5779 `(("ghc-text" ,ghc-text)
5780 ("ghc-http-types" ,ghc-http-types)
5781 ("ghc-blaze-builder" ,ghc-blaze-builder)
5782 ("ghc-data-default-class" ,ghc-data-default-class)
5783 ("ghc-network" ,ghc-network)
5784 ("ghc-streaming-commons" ,ghc-streaming-commons)
5785 ("ghc-case-insensitive" ,ghc-case-insensitive)
5786 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
5787 ("ghc-cookie" ,ghc-cookie)
5788 ("ghc-exceptions" ,ghc-exceptions)
5789 ("ghc-random" ,ghc-random)
5790 ("ghc-mime-types" ,ghc-mime-types)
5791 ("ghc-network-uri" ,ghc-network-uri)
5792 ("ghc-monad-control" ,ghc-monad-control)
5793 ("ghc-zlib" ,ghc-zlib)
5794 ("ghc-async" ,ghc-async)))
5795 (native-inputs
5796 `(("ghc-hspec" ,ghc-hspec)))
5797 (home-page "https://github.com/snoyberg/http-client")
5798 (synopsis "HTTP client engine")
5799 (description
5800 "This package provides an HTTP client engine, intended as a base layer
5801for more user-friendly packages.")
5802 (license license:expat)))
5803
5804(define-public ghc-byteable
5805 (package
5806 (name "ghc-byteable")
5807 (version "0.1.1")
5808 (source (origin
5809 (method url-fetch)
5810 (uri (string-append "https://hackage.haskell.org/package/"
5811 "byteable/byteable-" version ".tar.gz"))
5812 (sha256
5813 (base32
5814 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
5815 (build-system haskell-build-system)
5816 (home-page "https://github.com/vincenthz/hs-byteable")
5817 (synopsis "Type class for sequence of bytes")
5818 (description
5819 "This package provides an abstract class to manipulate sequence of bytes.
5820The use case of this class is abstracting manipulation of types that are just
5821wrapping a bytestring with stronger and more meaniful name.")
5822 (license license:bsd-3)))
5823
5824(define-public ghc-hourglass
5825 (package
5826 (name "ghc-hourglass")
5827 (version "0.2.9")
5828 (source (origin
5829 (method url-fetch)
5830 (uri (string-append "https://hackage.haskell.org/package/"
5831 "hourglass/hourglass-" version ".tar.gz"))
5832 (sha256
5833 (base32
5834 "1xha17nwzxdjizbcp63d2142c6q051y77facs7xribgcl5iz2m4v"))))
5835 (build-system haskell-build-system)
5836 (propagated-inputs
5837 `(("ghc-mtl" ,ghc-mtl)
5838 ("ghc-old-locale" ,ghc-old-locale)))
5839 (native-inputs
5840 `(("ghc-tasty" ,ghc-tasty)
5841 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5842 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5843 (home-page "https://github.com/vincenthz/hs-hourglass")
5844 (synopsis "Simple time-related library for Haskell")
5845 (description
5846 "This is a simple time library providing a simple but powerful and
5847performant API. The backbone of the library are the @code{Timeable} and
5848@code{Time} type classes. Each @code{Timeable} instances can be converted to
5849a type that has a @code{Time} instances, and thus are different
5850representations of current time.")
5851 (license license:bsd-3)))
5852
5853(define-public ghc-pem
5854 (package
5855 (name "ghc-pem")
5856 (version "0.2.2")
5857 (source (origin
5858 (method url-fetch)
5859 (uri (string-append "https://hackage.haskell.org/package/"
5860 "pem/pem-" version ".tar.gz"))
5861 (sha256
5862 (base32
5863 "162sk5sg22w21wqz5qv8kx6ibxp99v5p20g3nknhm1kddk3hha1p"))))
5864 (build-system haskell-build-system)
5865 (propagated-inputs
5866 `(("ghc-mtl" ,ghc-mtl)
5867 ("ghc-base64-bytestring" ,ghc-base64-bytestring)))
5868 (native-inputs
5869 `(("ghc-test-framework" ,ghc-test-framework)
5870 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5871 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5872 ("ghc-hunit" ,ghc-hunit)
5873 ("ghc-quickcheck" ,ghc-quickcheck)))
5874 (home-page "https://github.com/vincenthz/hs-pem")
5875 (synopsis "Privacy Enhanced Mail (PEM) format reader and writer")
5876 (description
5877 "This library provides readers and writers for the @dfn{Privacy Enhanced
5878Mail} (PEM) format.")
5879 (license license:bsd-3)))
5880
5881(define-public ghc-asn1-types
5882 (package
5883 (name "ghc-asn1-types")
5884 (version "0.3.1")
5885 (source (origin
5886 (method url-fetch)
5887 (uri (string-append "https://hackage.haskell.org/package/"
5888 "asn1-types/asn1-types-"
5889 version ".tar.gz"))
5890 (sha256
5891 (base32
5892 "1iif9yrh4mmj249gyvam0zb2vb3jnlz777gahh2z9sx00dsx9rja"))))
5893 (build-system haskell-build-system)
5894 (propagated-inputs
5895 `(("ghc-memory" ,ghc-memory)
5896 ("ghc-hourglass" ,ghc-hourglass)))
5897 (home-page "https://github.com/vincenthz/hs-asn1-types")
5898 (synopsis "ASN.1 types for Haskell")
5899 (description
5900 "The package provides the standard types for dealing with the ASN.1
5901format.")
5902 (license license:bsd-3)))
5903
5904(define-public ghc-asn1-encoding
5905 (package
5906 (name "ghc-asn1-encoding")
5907 (version "0.9.3")
5908 (source (origin
5909 (method url-fetch)
5910 (uri (string-append "https://hackage.haskell.org/package/"
5911 "asn1-encoding/asn1-encoding-"
5912 version ".tar.gz"))
5913 (sha256
5914 (base32
5915 "01ki5msrpccgdbdiaaa5a9zw0icp1hki4hca8qx6hzlp0rcf1mwh"))))
5916 (build-system haskell-build-system)
5917 (propagated-inputs
5918 `(("ghc-hourglass" ,ghc-hourglass)
5919 ("ghc-asn1-types" ,ghc-asn1-types)
5920 ("ghc-text" ,ghc-text)
5921 ("ghc-mtl" ,ghc-mtl)))
5922 (native-inputs
5923 `(("ghc-tasty" ,ghc-tasty)
5924 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
5925 (home-page "https://github.com/vincenthz/hs-asn1")
5926 (synopsis "ASN1 data reader and writer in RAW, BER and DER forms")
5927 (description
5928 "This package provides a reader and writer for ASN1 data in raw form with
5929supports for high level forms of ASN1 (BER, and DER).")
5930 (license license:bsd-3)))
5931
5932(define-public ghc-asn1-parse
5933 (package
5934 (name "ghc-asn1-parse")
5935 (version "0.9.4")
5936 (source (origin
5937 (method url-fetch)
5938 (uri (string-append "https://hackage.haskell.org/package/"
5939 "asn1-parse/asn1-parse-"
5940 version ".tar.gz"))
5941 (sha256
5942 (base32
5943 "025prsihk5g6rdv9xlfmj0zpa0wa3qjzj5i4ilzvg7f6f3sji8y6"))))
5944 (build-system haskell-build-system)
5945 (propagated-inputs
5946 `(("ghc-asn1-types" ,ghc-asn1-types)
5947 ("ghc-asn1-encoding" ,ghc-asn1-encoding)))
5948 (home-page "https://github.com/vincenthz/hs-asn1")
5949 (synopsis "Simple monadic parser for ASN1 stream types")
5950 (description
5951 "This package provides a simple monadic parser for ASN1 stream types,
5952when ASN1 pattern matching is not convenient.")
5953 (license license:bsd-3)))
5954
5955(define-public ghc-tasty-kat
5956 (package
5957 (name "ghc-tasty-kat")
5958 (version "0.0.3")
5959 (source (origin
5960 (method url-fetch)
5961 (uri (string-append "https://hackage.haskell.org/package/"
5962 "tasty-kat/tasty-kat-" version ".tar.gz"))
5963 (sha256
5964 (base32
5965 "14yvlpli6cv6bn3kh8mlfp4x1l6ns4fvmfv6hmj75cvxyzq029d7"))))
5966 (build-system haskell-build-system)
5967 (propagated-inputs
5968 `(("ghc-tasty" ,ghc-tasty)
5969 ("ghc-mtl" ,ghc-mtl)
5970 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5971 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5972 (home-page "https://github.com/vincenthz/tasty-kat")
5973 (synopsis "Known Answer Tests (KAT) framework for tasty")
5974 (description
5975 "This package provides a @dfn{Known Answer Tests} (KAT) framework for
5976tasty.")
5977 (license license:expat)))
5978
5979(define-public ghc-cryptonite
5980 (package
5981 (name "ghc-cryptonite")
5982 (version "0.19")
5983 (source (origin
5984 (method url-fetch)
5985 (uri (string-append "https://hackage.haskell.org/package/"
5986 "cryptonite/cryptonite-"
5987 version ".tar.gz"))
5988 (sha256
5989 (base32
5990 "1rw5k34vpn4134yrzdhf0rsshsrkixfbv9ap18di2n00z2cw1shw"))))
5991 (build-system haskell-build-system)
5992 (propagated-inputs
5993 `(("ghc-memory" ,ghc-memory)
5994 ("ghc-byteable" ,ghc-byteable)))
5995 (native-inputs
5996 `(("ghc-tasty" ,ghc-tasty)
5997 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5998 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5999 ("ghc-tasty-kat" ,ghc-tasty-kat)))
6000 (home-page "https://github.com/haskell-crypto/cryptonite")
6001 (synopsis "Cryptography primitives")
6002 (description
6003 "This package is a repository of cryptographic primitives for Haskell.
6004It supports a wide range of symmetric ciphers, cryptographic hash functions,
6005public key algorithms, key derivation numbers, cryptographic random number
6006generators, and more.")
6007 (license license:bsd-3)))
6008
6009(define-public ghc-memory
6010 (package
6011 (name "ghc-memory")
6012 (version "0.13")
6013 (source (origin
6014 (method url-fetch)
6015 (uri (string-append "https://hackage.haskell.org/package/"
6016 "memory/memory-" version ".tar.gz"))
6017 (sha256
6018 (base32
6019 "02l742qxjqy3jw1a347gb7sn7pn7a5qha1vzi2qqbvgafcjn0wyw"))))
6020 (build-system haskell-build-system)
6021 (native-inputs
6022 `(("ghc-tasty" ,ghc-tasty)
6023 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6024 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6025 (home-page "https://github.com/vincenthz/hs-memory")
6026 (synopsis "Memory abstractions for Haskell")
6027 (description
6028 "This package provides memory abstractions, such as chunk of memory,
6029polymorphic byte array management and manipulation functions. It contains a
6030polymorphic byte array abstraction and functions similar to strict ByteString,
6031different type of byte array abstraction, raw memory IO operations (memory
6032set, memory copy, ..) and more")
6033 (license license:bsd-3)))
6034
6035(define-public ghc-x509
6036 (package
6037 (name "ghc-x509")
6038 (version "1.6.3")
6039 (source (origin
6040 (method url-fetch)
6041 (uri (string-append "https://hackage.haskell.org/package/"
6042 "x509/x509-" version ".tar.gz"))
6043 (sha256
6044 (base32
6045 "1pmsby29abn485fvnymsgipvb3p1ch9c591xj5ncszkf0ivjiiin"))))
6046 (build-system haskell-build-system)
6047 (propagated-inputs
6048 `(("ghc-memory" ,ghc-memory)
6049 ("ghc-mtl" ,ghc-mtl)
6050 ("ghc-hourglass" ,ghc-hourglass)
6051 ("ghc-pem" ,ghc-pem)
6052 ("ghc-asn1-types" ,ghc-asn1-types)
6053 ("ghc-asn1-encoding" ,ghc-asn1-encoding)
6054 ("ghc-asn1-parse" ,ghc-asn1-parse)
6055 ("ghc-cryptonite" ,ghc-cryptonite)))
6056 (native-inputs
6057 `(("ghc-tasty" ,ghc-tasty)
6058 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6059 (home-page "https://github.com/vincenthz/hs-certificate")
6060 (synopsis "X509 reader and writer")
6061 (description
6062 "This library provides functions to read and write X509 certificates.")
6063 (license license:bsd-3)))
6064
6065(define-public ghc-x509-store
6066 (package
6067 (name "ghc-x509-store")
6068 (version "1.6.1")
6069 (source (origin
6070 (method url-fetch)
6071 (uri (string-append "https://hackage.haskell.org/package/"
6072 "x509-store/x509-store-"
6073 version ".tar.gz"))
6074 (sha256
6075 (base32
6076 "01abx528i9f7djq2772xyna8x2mykrnwqkcfrapcx7z3bhprvml3"))))
6077 (build-system haskell-build-system)
6078 (propagated-inputs
6079 `(("ghc-mtl" ,ghc-mtl)
6080 ("ghc-pem" ,ghc-pem)
6081 ("ghc-asn1-types" ,ghc-asn1-types)
6082 ("ghc-asn1-encoding" ,ghc-asn1-encoding)
6083 ("ghc-cryptonite" ,ghc-cryptonite)
6084 ("ghc-x509" ,ghc-x509)))
6085 (home-page "https://github.com/vincenthz/hs-certificate")
6086 (synopsis "X.509 collection accessing and storing methods")
6087 (description
6088 "This package provides functions for accessing and storing X.509
6089collections, certificates, revocation lists, and exception lists.")
6090 (license license:bsd-3)))
6091
6092(define-public ghc-x509-validation
6093 (package
6094 (name "ghc-x509-validation")
6095 (version "1.6.3")
6096 (source (origin
6097 (method url-fetch)
6098 (uri (string-append "https://hackage.haskell.org/package/"
6099 "x509-validation/x509-validation-"
6100 version ".tar.gz"))
6101 (sha256
6102 (base32
6103 "1qr1v561hdlhjgqjv9pj9mbk0q1xf2mr1j67ghy93nlxxyzd7dw0"))))
6104 (build-system haskell-build-system)
6105 (propagated-inputs
6106 `(("ghc-memory" ,ghc-memory)
6107 ("ghc-byteable" ,ghc-byteable)
6108 ("ghc-mtl" ,ghc-mtl)
6109 ("ghc-hourglass" ,ghc-hourglass)
6110 ("ghc-data-default-class" ,ghc-data-default-class)
6111 ("ghc-pem" ,ghc-pem)
6112 ("ghc-asn1-types" ,ghc-asn1-types)
6113 ("ghc-asn1-encoding" ,ghc-asn1-encoding)
6114 ("ghc-x509" ,ghc-x509)
6115 ("ghc-x509-store" ,ghc-x509-store)
6116 ("ghc-cryptonite" ,ghc-cryptonite)))
6117 (home-page "https://github.com/vincenthz/hs-certificate")
6118 (synopsis "X.509 certificate and revocation list validation")
6119 (description
6120 "This package provides functions for X.509 certificate and revocation
6121list validation.")
6122 (license license:bsd-3)))
6123
6124(define-public ghc-x509-system
6125 (package
6126 (name "ghc-x509-system")
6127 (version "1.6.1")
6128 (source (origin
6129 (method url-fetch)
6130 (uri (string-append "https://hackage.haskell.org/package/"
6131 "x509-system/x509-system-"
6132 version ".tar.gz"))
6133 (sha256
6134 (base32
6135 "10qf60d2f9jqwnbrhsb2cwpi86xg66m6dxndlxw967v1cdb3h6gf"))))
6136 (build-system haskell-build-system)
6137 (propagated-inputs
6138 `(("ghc-mtl" ,ghc-mtl)
6139 ("ghc-pem" ,ghc-pem)
6140 ("ghc-x509" ,ghc-x509)
6141 ("ghc-x509-store" ,ghc-x509-store)))
6142 (home-page "https://github.com/vincenthz/hs-certificate")
6143 (synopsis "Handle system X.509 accessors and storage")
6144 (description
6145 "This package provides a library to handle system accessors and storage
6146for X.509 certificates.")
6147 (license license:bsd-3)))
6148
6149(define-public ghc-tls
6150 (package
6151 (name "ghc-tls")
6152 (version "1.3.3")
6153 (source (origin
6154 (method url-fetch)
6155 (uri (string-append "https://hackage.haskell.org/package/"
6156 "tls/tls-" version ".tar.gz"))
6157 (sha256
6158 (base32
6159 "096ay54bwy6qi9z8ypncww3ls853zj37yaficvcg7qcqj42zn0wz"))))
6160 (build-system haskell-build-system)
6161 (propagated-inputs
6162 `(("ghc-mtl" ,ghc-mtl)
6163 ("ghc-cereal" ,ghc-cereal)
6164 ("ghc-data-default-class" ,ghc-data-default-class)
6165 ("ghc-memory" ,ghc-memory)
6166 ("ghc-cryptonite" ,ghc-cryptonite)
6167 ("ghc-asn1-types" ,ghc-asn1-types)
6168 ("ghc-asn1-encoding" ,ghc-asn1-encoding)
6169 ("ghc-x509" ,ghc-x509)
6170 ("ghc-x509-store" ,ghc-x509-store)
6171 ("ghc-x509-validation" ,ghc-x509-validation)
6172 ("ghc-async" ,ghc-async)
6173 ("ghc-network" ,ghc-network)
6174 ("ghc-hourglass" ,ghc-hourglass)))
6175 (native-inputs
6176 `(("ghc-tasty" ,ghc-tasty)
6177 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6178 ("ghc-quickcheck" ,ghc-quickcheck)))
6179 (home-page "https://github.com/vincenthz/hs-tls")
6180 (synopsis
6181 "TLS/SSL protocol native implementation (Server and Client)")
6182 (description
6183 "Native Haskell TLS and SSL protocol implementation for server and client.
6184This provides a high-level implementation of a sensitive security protocol,
6185eliminating a common set of security issues through the use of the advanced
6186type system, high level constructions and common Haskell features. Currently
6187implement the SSL3.0, TLS1.0, TLS1.1 and TLS1.2 protocol, and support RSA and
6188Ephemeral (Elliptic curve and regular) Diffie Hellman key exchanges, and many
6189extensions.")
6190 (license license:bsd-3)))
6191
6192(define-public ghc-socks
6193 (package
6194 (name "ghc-socks")
6195 (version "0.5.4")
6196 (source (origin
6197 (method url-fetch)
6198 (uri (string-append "https://hackage.haskell.org/package/"
6199 "socks/socks-" version ".tar.gz"))
6200 (sha256
6201 (base32
6202 "1nmldlwxqasmg359i2aa3a903gi3lmnlspvf12xk49jrg3mf3dg9"))))
6203 (build-system haskell-build-system)
6204 (propagated-inputs
6205 `(("ghc-cereal" ,ghc-cereal)
6206 ("ghc-network" ,ghc-network)))
6207 (home-page "https://github.com/vincenthz/hs-socks")
6208 (synopsis "SOCKS proxy (version 5) implementation")
6209 (description
6210 "This library provides a SOCKS proxy (version 5) implementation.")
6211 (license license:bsd-3)))
6212
6213(define-public ghc-connection
6214 (package
6215 (name "ghc-connection")
6216 (version "0.2.5")
6217 (source (origin
6218 (method url-fetch)
6219 (uri (string-append "https://hackage.haskell.org/package/"
6220 "connection/connection-"
6221 version ".tar.gz"))
6222 (sha256
6223 (base32
6224 "090il95jnm7ihwvcx3s9v6iwnp37nnsdx15q7722l845g51d95c8"))))
6225 (build-system haskell-build-system)
6226 (propagated-inputs
6227 `(("ghc-byteable" ,ghc-byteable)
6228 ("ghc-data-default-class" ,ghc-data-default-class)
6229 ("ghc-network" ,ghc-network)
6230 ("ghc-tls" ,ghc-tls)
6231 ("ghc-socks" ,ghc-socks)
6232 ("ghc-x509" ,ghc-x509)
6233 ("ghc-x509-store" ,ghc-x509-store)
6234 ("ghc-x509-system" ,ghc-x509-system)
6235 ("ghc-x509-validation" ,ghc-x509-validation)))
6236 (home-page "https://github.com/vincenthz/hs-connection")
6237 (synopsis "Simple and easy network connections API")
6238 (description
6239 "This package provides a simple network library for all your connection
6240needs. It provides a very simple API to create sockets to a destination with
6241the choice of SSL/TLS, and SOCKS.")
6242 (license license:bsd-3)))
6243
6244(define-public ghc-http-client-tls
6245 (package
6246 (name "ghc-http-client-tls")
6247 (version "0.2.2")
6248 (source (origin
6249 (method url-fetch)
6250 (uri (string-append "https://hackage.haskell.org/package/"
6251 "http-client-tls/http-client-tls-"
6252 version ".tar.gz"))
6253 (sha256
6254 (base32
6255 "0a01r05h5fxswyn6k6cgqgak4scqjan72hyy5wbdqzzhl4rmh7j5"))))
6256 (build-system haskell-build-system)
6257 ;; Tests require Internet access
6258 (arguments `(#:tests? #f))
6259 (propagated-inputs
6260 `(("ghc-data-default-class" ,ghc-data-default-class)
6261 ("ghc-http-client" ,ghc-http-client)
6262 ("ghc-connection" ,ghc-connection)
6263 ("ghc-network" ,ghc-network)
6264 ("ghc-tls" ,ghc-tls)
6265 ("ghc-http-types" ,ghc-http-types)))
6266 (native-inputs
6267 `(("ghc-hspec" ,ghc-hspec)))
6268 (home-page "https://github.com/snoyberg/http-client")
6269 (synopsis "Backend for http-client using the TLS library")
6270 (description
6271 "This package provides a backend for the http-client package using the
6272connection and TLS libraries. It is intended for use by higher-level
6273libraries, such as http-conduit.")
6274 (license license:expat)))
6275
6276(define-public ghc-pandoc
6277 (package
6278 (name "ghc-pandoc")
6279 (version "1.15.2.1")
6280 (source
6281 (origin
6282 (method url-fetch)
6283 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
6284 version ".tar.gz"))
6285 (sha256
6286 (base32
6287 "0nfzwsdvrvg9zypgyqk0246p10yzlpqsqnkds8yraqybbvkb1g30"))))
6288 (build-system haskell-build-system)
6289 (propagated-inputs
6290 `(("ghc-syb" ,ghc-syb)
6291 ("ghc-unordered-containers" ,ghc-unordered-containers)
6292 ("ghc-parsec" ,ghc-parsec)
6293 ("ghc-mtl" ,ghc-mtl)
6294 ("ghc-text" ,ghc-text)
6295 ("ghc-zip-archive" ,ghc-zip-archive)
6296 ("ghc-http" ,ghc-http)
6297 ("ghc-texmath" ,ghc-texmath)
6298 ("ghc-xml" ,ghc-xml)
6299 ("ghc-random" ,ghc-random)
6300 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
6301 ("ghc-pandoc-types" ,ghc-pandoc-types)
6302 ("ghc-aeson" ,ghc-aeson)
6303 ("ghc-tagsoup" ,ghc-tagsoup)
6304 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6305 ("ghc-zlib" ,ghc-zlib)
6306 ("ghc-highlighting-kate" ,ghc-highlighting-kate)
6307 ("ghc-data-default" ,ghc-data-default)
6308 ("ghc-temporary" ,ghc-temporary)
6309 ("ghc-blaze-html" ,ghc-blaze-html)
6310 ("ghc-blaze-markup" ,ghc-blaze-markup)
6311 ("ghc-yaml" ,ghc-yaml)
6312 ("ghc-scientific" ,ghc-scientific)
6313 ("ghc-vector" ,ghc-vector)
6314 ("ghc-hslua" ,ghc-hslua)
6315 ("ghc-sha" ,ghc-sha)
6316 ("ghc-haddock-library" ,ghc-haddock-library)
6317 ("ghc-old-time" ,ghc-old-time)
6318 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
6319 ("ghc-juicypixels" ,ghc-juicypixels)
6320 ("ghc-filemanip" ,ghc-filemanip)
6321 ("ghc-cmark" ,ghc-cmark)
6322 ("ghc-network-uri" ,ghc-network-uri)
6323 ("ghc-network" ,ghc-network)
6324 ("ghc-http-client" ,ghc-http-client)
6325 ("ghc-http-client-tls" ,ghc-http-client-tls)
6326 ("ghc-http-types" ,ghc-http-types)
6327 ("ghc-diff" ,ghc-diff)
6328 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
6329 ("ghc-executable-path" ,ghc-executable-path)))
6330 (native-inputs
6331 `(("ghc-test-framework" ,ghc-test-framework)
6332 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6333 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6334 ("ghc-quickcheck" ,ghc-quickcheck)
6335 ("ghc-hunit" ,ghc-hunit)))
6336 (home-page "http://pandoc.org")
6337 (synopsis "Conversion between markup formats")
6338 (description
6339 "Pandoc is a Haskell library for converting from one markup format to
6340another, and a command-line tool that uses this library. It can read and
6341write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
6342LaTeX, DocBook, and many more.
6343
6344Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
6345definition lists, tables, and other features. A compatibility mode is
6346provided for those who need a drop-in replacement for Markdown.pl.")
6347 (license license:gpl2+)))
6348
6349(define-public ghc-union-find
6350 (package
6351 (name "ghc-union-find")
6352 (version "0.2")
6353 (source (origin
6354 (method url-fetch)
6355 (uri (string-append
6356 "https://hackage.haskell.org/package/union-find/union-find-"
6357 version ".tar.gz"))
6358 (sha256
6359 (base32
6360 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
6361 (build-system haskell-build-system)
6362 (home-page "https://github.com/nominolo/union-find")
6363 (synopsis "Efficient union and equivalence testing of sets")
6364 (description
6365 "The Union/Find algorithm implements these operations in (effectively)
6366constant-time:
6367@enumerate
6368@item Check whether two elements are in the same equivalence class.
6369@item Create a union of two equivalence classes.
6370@item Look up the descriptor of the equivalence class.
6371@end enumerate\n")
6372 (license license:bsd-3)))
6373
6374(define-public idris
6375 (package
6376 (name "idris")
6377 (version "0.9.19.1")
6378 (source
6379 (origin
6380 (method url-fetch)
6381 (uri (string-append "https://hackage.haskell.org/package/idris-"
6382 version "/idris-" version ".tar.gz"))
6383 (sha256
6384 (base32
6385 "10641svdsjlxbxmbvylpia04cz5nn9486lpiay8ibqcrc1792qgc"))
6386 (modules '((guix build utils)))
6387 (snippet
6388 '(substitute* "idris.cabal"
6389 ;; Package description file has a too-tight version restriction,
6390 ;; rendering it incompatible with GHC 7.10.2. This is fixed
6391 ;; upstream. See
6392 ;; <https://github.com/idris-lang/Idris-dev/issues/2734>.
6393 (("vector < 0.11") "vector < 0.12")))))
6394 (build-system haskell-build-system)
6395 (arguments
6396 `(#:phases (modify-phases %standard-phases
6397 (add-before 'configure 'patch-cc-command
6398 (lambda _
6399 (setenv "CC" "gcc"))))))
6400 (inputs
6401 `(("gmp" ,gmp)
6402 ("ncurses" ,ncurses)
6403 ("ghc-annotated-wl-pprint" ,ghc-annotated-wl-pprint)
6404 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
6405 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
6406 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6407 ("ghc-blaze-html" ,ghc-blaze-html)
6408 ("ghc-blaze-markup" ,ghc-blaze-markup)
6409 ("ghc-cheapskate" ,ghc-cheapskate)
6410 ("ghc-fingertree" ,ghc-fingertree)
6411 ("ghc-mtl" ,ghc-mtl)
6412 ("ghc-network" ,ghc-network)
6413 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
6414 ("ghc-parsers" ,ghc-parsers)
6415 ("ghc-safe" ,ghc-safe)
6416 ("ghc-split" ,ghc-split)
6417 ("ghc-text" ,ghc-text)
6418 ("ghc-trifecta" ,ghc-trifecta)
6419 ("ghc-uniplate" ,ghc-uniplate)
6420 ("ghc-unordered-containers" ,ghc-unordered-containers)
6421 ("ghc-utf8-string" ,ghc-utf8-string)
6422 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)
6423 ("ghc-vector" ,ghc-vector)
6424 ("ghc-zip-archive" ,ghc-zip-archive)
6425 ("ghc-zlib" ,ghc-zlib)))
6426 (home-page "http://www.idris-lang.org")
6427 (synopsis "General purpose language with full dependent types")
6428 (description "Idris is a general purpose language with full dependent
6429types. It is compiled, with eager evaluation. Dependent types allow types to
6430be predicated on values, meaning that some aspects of a program's behaviour
6431can be specified precisely in the type. The language is closely related to
6432Epigram and Agda.")
6433 (license license:bsd-3)))
6434
6435(define-public ghc-base16-bytestring
6436 (package
6437 (name "ghc-base16-bytestring")
6438 (version "0.1.1.6")
6439 (source
6440 (origin
6441 (method url-fetch)
6442 (uri (string-append
6443 "https://hackage.haskell.org/package/base16-bytestring/"
6444 "base16-bytestring-" version ".tar.gz"))
6445 (sha256
6446 (base32
6447 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
6448 (build-system haskell-build-system)
6449 (home-page "http://github.com/bos/base16-bytestring")
6450 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
6451 (description
6452 "This package provides a Haskell library for working with base16-encoded
6453data quickly and efficiently, using the ByteString type.")
6454 (license license:bsd-3)))
6455
6456(define-public ghc-binary
6457 (package
6458 (name "ghc-binary")
6459 (version "0.8.4.1")
6460 (source
6461 (origin
6462 (method url-fetch)
6463 (uri (string-append
6464 "https://hackage.haskell.org/package/binary/binary-"
6465 version ".tar.gz"))
6466 (sha256
6467 (base32
6468 "1fp7wxnf57cjzhbb7rgqs6fgws4690zh0dxgl924dj4nzq0cf4wd"))))
6469 (build-system haskell-build-system)
6470 (inputs
6471 `(("ghc-random" ,ghc-random)
6472 ("ghc-test-framework" ,ghc-test-framework)
6473 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6474 ("ghc-quickcheck" ,ghc-quickcheck)
6475 ("ghc-hunit" ,ghc-hunit)))
6476 (home-page "https://github.com/kolmodin/binary")
6477 (synopsis
6478 "Binary serialisation for Haskell values using lazy ByteStrings")
6479 (description
6480 "Efficient, pure binary serialisation using lazy ByteStrings. Haskell values
6481may be encoded to and from binary formats, written to disk as binary, or sent over
6482the network. The format used can be automatically generated, or you can choose to
6483implement a custom format if needed. Serialisation speeds of over 1 G\\/sec have
6484been observed, so this library should be suitable for high performance scenarios.")
6485 (license license:bsd-3)))
6486
6487(define-public ghc-cryptohash
6488 (package
6489 (name "ghc-cryptohash")
6490 (version "0.11.9")
6491 (source
6492 (origin
6493 (method url-fetch)
6494 (uri (string-append
6495 "https://hackage.haskell.org/package/cryptohash/cryptohash-"
6496 version ".tar.gz"))
6497 (sha256
6498 (base32
6499 "1yr2iyb779znj79j3fq4ky8l1y8a600a2x1fx9p5pmpwq5zq93y2"))))
6500 (build-system haskell-build-system)
6501 (inputs
6502 `(("ghc-byteable" ,ghc-byteable)
6503 ("ghc-cryptonite" ,ghc-cryptonite)
6504 ("ghc-memory" ,ghc-memory)
6505 ("ghc-hunit" ,ghc-hunit)
6506 ("ghc-quickcheck" ,ghc-quickcheck)
6507 ("ghc-tasty" ,ghc-tasty)
6508 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6509 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6510 (home-page "http://github.com/vincenthz/hs-cryptohash")
6511 (synopsis "Collection of cryptographic hashes in Haskell")
6512 (description
6513 "A collection of crypto hashes, with a practical incremental and one-pass,
6514pure APIs, with performance close to the fastest implementations available in
6515other languages. The implementations are made in C with a haskell FFI wrapper
6516that hides the C implementation.")
6517 (license license:bsd-3)))
6518
6519;;; haskell.scm ends here