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