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