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