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