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