gnu: Use HTTPS for all sourceforge.net home pages.
[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 "https://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 "https://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 "https://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.6")
2320 (source (origin
2321 (method url-fetch)
2322 (uri (string-append
2323 "https://hackage.haskell.org/package/trifecta/"
2324 "trifecta-" version ".tar.gz"))
2325 (sha256
2326 (base32
2327 "0rbhv9m17k7l1zr70i0yw5da0qjgxmfh1da8brj0zdzwjn9ac0mk"))))
2328 (build-system haskell-build-system)
2329 (inputs
2330 `(("ghc-reducers" ,ghc-reducers)
2331 ("ghc-semigroups" ,ghc-semigroups)
2332 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
2333 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2334 ("ghc-blaze-builder" ,ghc-blaze-builder)
2335 ("ghc-blaze-html" ,ghc-blaze-html)
2336 ("ghc-blaze-markup" ,ghc-blaze-markup)
2337 ("ghc-charset" ,ghc-charset)
2338 ("ghc-comonad" ,ghc-comonad)
2339 ("ghc-doctest" ,ghc-doctest)
2340 ("ghc-fingertree" ,ghc-fingertree)
2341 ("ghc-hashable" ,ghc-hashable)
2342 ("ghc-lens" ,ghc-lens)
2343 ("ghc-mtl" ,ghc-mtl)
2344 ("ghc-parsers" ,ghc-parsers)
2345 ("ghc-profunctors" ,ghc-profunctors)
2346 ("ghc-quickcheck" ,ghc-quickcheck)
2347 ("ghc-unordered-containers" ,ghc-unordered-containers)
2348 ("ghc-utf8-string" ,ghc-utf8-string)))
2349 (home-page "https://github.com/ekmett/trifecta/")
2350 (synopsis "Parser combinator library with convenient diagnostics")
2351 (description "Trifecta is a modern parser combinator library for Haskell,
2352 with slicing and Clang-style colored diagnostics.")
2353 (license license:bsd-3)))
2354
2355 (define-public ghc-attoparsec
2356 (package
2357 (name "ghc-attoparsec")
2358 (version "0.13.0.1")
2359 (source
2360 (origin
2361 (method url-fetch)
2362 (uri (string-append
2363 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
2364 version
2365 ".tar.gz"))
2366 (sha256
2367 (base32
2368 "0cprkr7bl4lrr80pz8mryb4rbfwdgpsrl7g0fbcaybhl8p5hm26f"))))
2369 (build-system haskell-build-system)
2370 (inputs
2371 `(("ghc-scientific" ,ghc-scientific)
2372 ("ghc-text" ,ghc-text)))
2373 (native-inputs
2374 `(("ghc-quickcheck" ,ghc-quickcheck)
2375 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
2376 ("ghc-test-framework" ,ghc-test-framework)
2377 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
2378 ("ghc-vector" ,ghc-vector)))
2379 (home-page "https://github.com/bos/attoparsec")
2380 (synopsis "Fast combinator parsing for bytestrings and text")
2381 (description "This library provides a fast parser combinator library,
2382 aimed particularly at dealing efficiently with network protocols and
2383 complicated text/binary file formats.")
2384 (license license:bsd-3)))
2385
2386 (define-public ghc-css-text
2387 (package
2388 (name "ghc-css-text")
2389 (version "0.1.2.1")
2390 (source
2391 (origin
2392 (method url-fetch)
2393 (uri (string-append
2394 "https://hackage.haskell.org/package/css-text/css-text-"
2395 version
2396 ".tar.gz"))
2397 (sha256
2398 (base32
2399 "1xi1n2f0g8y43p95lynhcg50wxbq7hqfzbfzm7fy8mn7gvd920nw"))))
2400 (build-system haskell-build-system)
2401 (inputs
2402 `(("ghc-text" ,ghc-text)
2403 ("ghc-attoparsec" ,ghc-attoparsec)
2404 ("ghc-hspec" ,ghc-hspec)
2405 ("ghc-quickcheck" ,ghc-quickcheck)))
2406 (home-page "http://www.yesodweb.com/")
2407 (synopsis "CSS parser and renderer")
2408 (description "This package provides a CSS parser and renderer for
2409 Haskell.")
2410 (license license:bsd-3)))
2411
2412 (define-public ghc-zip-archive
2413 (package
2414 (name "ghc-zip-archive")
2415 (version "0.2.3.7")
2416 (source
2417 (origin
2418 (method url-fetch)
2419 (uri (string-append
2420 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
2421 version
2422 ".tar.gz"))
2423 (sha256
2424 (base32
2425 "169nkxr5zlbymiz1ydlhlqr66vqiycmg85xh559phpkr64w3nqj1"))))
2426 (build-system haskell-build-system)
2427 (inputs
2428 `(("ghc-old-time" ,ghc-old-time)
2429 ("ghc-digest" ,ghc-digest)
2430 ("zip" ,zip)
2431 ("ghc-mtl" ,ghc-mtl)
2432 ("ghc-text" ,ghc-text)
2433 ("ghc-zlib" ,ghc-zlib)))
2434 (native-inputs
2435 `(("ghc-hunit" ,ghc-hunit)))
2436 (home-page "https://hackage.haskell.org/package/zip-archive")
2437 (synopsis "Zip archive library for Haskell")
2438 (description "The zip-archive library provides functions for creating,
2439 modifying, and extracting files from zip archives in Haskell.")
2440 (license license:bsd-3)))
2441
2442 (define-public ghc-distributive
2443 (package
2444 (name "ghc-distributive")
2445 (version "0.4.4")
2446 (source
2447 (origin
2448 (method url-fetch)
2449 (uri (string-append
2450 "https://hackage.haskell.org/package/distributive/distributive-"
2451 version
2452 ".tar.gz"))
2453 (sha256
2454 (base32
2455 "0s2ln9jv7bh4ri2y31178pvjl8x6nik5d0klx7j2b77yjlsgblc2"))))
2456 (build-system haskell-build-system)
2457 (arguments `(#:tests? #f)) ; FIXME: fails with "cannot satisfy -package
2458 ; tagged-0.8.1". Suspected Cabal issue.
2459 (inputs
2460 `(("ghc-tagged" ,ghc-tagged)
2461 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2462 (home-page "https://github.com/ekmett/distributive/")
2463 (synopsis "Distributive functors for Haskell")
2464 (description "This package provides distributive functors for Haskell.
2465 Dual to @code{Traversable}.")
2466 (license license:bsd-3)))
2467
2468 (define-public ghc-cereal
2469 (package
2470 (name "ghc-cereal")
2471 (version "0.4.1.1")
2472 (source
2473 (origin
2474 (method url-fetch)
2475 (uri (string-append
2476 "https://hackage.haskell.org/package/cereal/cereal-"
2477 version
2478 ".tar.gz"))
2479 (sha256
2480 (base32
2481 "15rhfn9hrjm01ksh9xpz9syxsp9vkvpp6b736iqq38wv2wb7416z"))))
2482 (build-system haskell-build-system)
2483 (home-page "https://hackage.haskell.org/package/cereal")
2484 (synopsis "Binary serialization library")
2485 (description "This package provides a binary serialization library,
2486 similar to @code{binary}, that introduces an @code{isolate} primitive for
2487 parser isolation, and labeled blocks for better error messages.")
2488 (license license:bsd-3)))
2489
2490 (define-public ghc-comonad
2491 (package
2492 (name "ghc-comonad")
2493 (version "4.2.7.2")
2494 (source
2495 (origin
2496 (method url-fetch)
2497 (uri (string-append
2498 "https://hackage.haskell.org/package/comonad/comonad-"
2499 version
2500 ".tar.gz"))
2501 (sha256
2502 (base32
2503 "0arvbaxgkawzdp38hh53akkahjg2aa3kj2b4ns0ni8a5ylg2cqmp"))))
2504 (build-system haskell-build-system)
2505 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
2506 ; -package contravariant-1.3.3"
2507 (inputs
2508 `(("ghc-distributive" ,ghc-distributive)
2509 ("ghc-transformers-compat" ,ghc-transformers-compat)
2510 ("ghc-contravariant" ,ghc-contravariant)
2511 ("ghc-semigroups" ,ghc-semigroups)
2512 ("ghc-tagged" ,ghc-tagged)
2513 ("ghc-contravariant" ,ghc-contravariant)))
2514 (home-page "https://github.com/ekmett/comonad/")
2515 (synopsis "Comonads for Haskell")
2516 (description "This library provides @code{Comonad}s for Haskell.")
2517 (license license:bsd-3)))
2518
2519 (define-public hscolour
2520 (package
2521 (name "hscolour")
2522 (version "1.23")
2523 (source
2524 (origin
2525 (method url-fetch)
2526 (uri (string-append
2527 "https://hackage.haskell.org/package/hscolour/hscolour-"
2528 version
2529 ".tar.gz"))
2530 (sha256
2531 (base32
2532 "1c4i2zpami8g3w9949nm3f92g7xwh5c94vkx658zz7ihrjp7w5lp"))))
2533 (build-system haskell-build-system)
2534 (home-page "https://hackage.haskell.org/package/hscolour")
2535 (synopsis "Script to colourise Haskell code")
2536 (description "HSColour is a small Haskell script to colourise Haskell
2537 code. It currently has six output formats: ANSI terminal codes (optionally
2538 XTerm-256colour codes), HTML 3.2 with font tags, HTML 4.01 with CSS, HTML 4.01
2539 with CSS and mouseover annotations, XHTML 1.0 with inline CSS styling, LaTeX,
2540 and mIRC chat codes.")
2541 (license license:bsd-3)))
2542
2543 (define-public ghc-polyparse
2544 (package
2545 (name "ghc-polyparse")
2546 (version "1.11")
2547 (source
2548 (origin
2549 (method url-fetch)
2550 (uri (string-append
2551 "https://hackage.haskell.org/package/polyparse/polyparse-"
2552 version
2553 ".tar.gz"))
2554 (sha256
2555 (base32
2556 "1z417f80b0jm4dgv25fk408p3d9mmcd1dlbya3ry0zdx4md09vrh"))))
2557 (build-system haskell-build-system)
2558 (inputs
2559 `(("ghc-text" ,ghc-text)))
2560 (home-page
2561 "http://code.haskell.org/~malcolm/polyparse/")
2562 (synopsis
2563 "Alternative parser combinator libraries")
2564 (description
2565 "This package provides a variety of alternative parser combinator
2566 libraries, including the original HuttonMeijer set. The Poly sets have
2567 features like good error reporting, arbitrary token type, running state, lazy
2568 parsing, and so on. Finally, Text.Parse is a proposed replacement for the
2569 standard Read class, for better deserialisation of Haskell values from
2570 Strings.")
2571 (license license:lgpl2.1)))
2572
2573 (define-public ghc-extra
2574 (package
2575 (name "ghc-extra")
2576 (version "1.4.2")
2577 (source
2578 (origin
2579 (method url-fetch)
2580 (uri (string-append
2581 "https://hackage.haskell.org/package/extra/extra-"
2582 version
2583 ".tar.gz"))
2584 (sha256
2585 (base32
2586 "1h9hxkrqrqscx420yz1lmivbrhi6jc3a5ap61vkxd2mhdgark9hf"))))
2587 (build-system haskell-build-system)
2588 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
2589 (home-page "https://github.com/ndmitchell/extra")
2590 (synopsis "Extra Haskell functions")
2591 (description "This library provides extra functions for the standard
2592 Haskell libraries. Most functions are simple additions, filling out missing
2593 functionality. A few functions are available in later versions of GHC, but
2594 this package makes them available back to GHC 7.2.")
2595 (license license:bsd-3)))
2596
2597 (define-public ghc-profunctors
2598 (package
2599 (name "ghc-profunctors")
2600 (version "5.1.1")
2601 (source
2602 (origin
2603 (method url-fetch)
2604 (uri (string-append
2605 "https://hackage.haskell.org/package/profunctors/profunctors-"
2606 version
2607 ".tar.gz"))
2608 (sha256
2609 (base32
2610 "0lw2ipacpnp9yqmi8zsp01pzpn5hwj8af3y0f3079mddrmw48gw7"))))
2611 (build-system haskell-build-system)
2612 (inputs
2613 `(("ghc-distributive" ,ghc-distributive)
2614 ("ghc-comonad" ,ghc-comonad)
2615 ("ghc-tagged" ,ghc-tagged)))
2616 (home-page "https://github.com/ekmett/profunctors/")
2617 (synopsis "Profunctors for Haskell")
2618 (description "This library provides profunctors for Haskell.")
2619 (license license:bsd-3)))
2620
2621 (define-public ghc-reducers
2622 (package
2623 (name "ghc-reducers")
2624 (version "3.12.1")
2625 (source
2626 (origin
2627 (method url-fetch)
2628 (uri (string-append
2629 "https://hackage.haskell.org/package/reducers/reducers-"
2630 version
2631 ".tar.gz"))
2632 (sha256
2633 (base32
2634 "0pkddg0s3cn759miq0nfrq7lnp3imk5sx784ihsilsbjh9kvffz4"))))
2635 (build-system haskell-build-system)
2636 (inputs
2637 `(("ghc-fingertree" ,ghc-fingertree)
2638 ("ghc-hashable" ,ghc-hashable)
2639 ("ghc-text" ,ghc-text)
2640 ("ghc-unordered-containers" ,ghc-unordered-containers)
2641 ("ghc-semigroupoids" ,ghc-semigroupoids)
2642 ("ghc-semigroups" ,ghc-semigroups)))
2643 (home-page "https://github.com/ekmett/reducers/")
2644 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
2645 (description "This library provides various semigroups, specialized
2646 containers and a general map/reduce framework for Haskell.")
2647 (license license:bsd-3)))
2648
2649 (define-public ghc-appar
2650 (package
2651 (name "ghc-appar")
2652 (version "0.1.4")
2653 (source
2654 (origin
2655 (method url-fetch)
2656 (uri (string-append
2657 "https://hackage.haskell.org/package/appar/appar-"
2658 version
2659 ".tar.gz"))
2660 (sha256
2661 (base32
2662 "09jb9ij78fdkz2qk66rw99q19qnm504dpv0yq0pjsl6xwjmndsjq"))))
2663 (build-system haskell-build-system)
2664 (home-page
2665 "https://hackage.haskell.org/package/appar")
2666 (synopsis "Simple applicative parser")
2667 (description "This package provides a simple applicative parser in Parsec
2668 style.")
2669 (license license:bsd-3)))
2670
2671 (define-public ghc-safe
2672 (package
2673 (name "ghc-safe")
2674 (version "0.3.9")
2675 (source
2676 (origin
2677 (method url-fetch)
2678 (uri (string-append
2679 "https://hackage.haskell.org/package/safe/safe-"
2680 version
2681 ".tar.gz"))
2682 (sha256
2683 (base32
2684 "1jdnp5zhvalf1xy8i872n29nljfjz6lnl9ghj80ffisrnnkrwcfh"))))
2685 (build-system haskell-build-system)
2686 (home-page "https://github.com/ndmitchell/safe#readme")
2687 (synopsis "Library of safe (exception free) functions")
2688 (description "This library provides wrappers around @code{Prelude} and
2689 @code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
2690 exceptions.")
2691 (license license:bsd-3)))
2692
2693 (define-public ghc-generic-deriving
2694 (package
2695 (name "ghc-generic-deriving")
2696 (version "1.8.0")
2697 (source
2698 (origin
2699 (method url-fetch)
2700 (uri (string-append
2701 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
2702 version
2703 ".tar.gz"))
2704 (sha256
2705 (base32
2706 "1kc6lhdanls6kgpk8xv5xi14lz1sngcd8xn930hkf7ilq4kxkcr6"))))
2707 (build-system haskell-build-system)
2708 (home-page "https://hackage.haskell.org/package/generic-deriving")
2709 (synopsis "Generalise the deriving mechanism to arbitrary classes")
2710 (description "This package provides functionality for generalising the
2711 deriving mechanism in Haskell to arbitrary classes.")
2712 (license license:bsd-3)))
2713
2714 (define-public ghc-pcre-light
2715 (package
2716 (name "ghc-pcre-light")
2717 (version "0.4.0.3")
2718 (source
2719 (origin
2720 (method url-fetch)
2721 (uri (string-append
2722 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
2723 version
2724 ".tar.gz"))
2725 (sha256
2726 (base32
2727 "0l1df2sk5qwf424bvb8mbdkr2xjg43fi92n5r22yd7vm1zz0jqvf"))))
2728 (build-system haskell-build-system)
2729 (inputs
2730 `(("pcre" ,pcre)))
2731 (home-page "https://github.com/Daniel-Diaz/pcre-light")
2732 (synopsis "Haskell library for Perl 5 compatible regular expressions")
2733 (description "This package provides a small, efficient, and portable regex
2734 library for Perl 5 compatible regular expressions. The PCRE library is a set
2735 of functions that implement regular expression pattern matching using the same
2736 syntax and semantics as Perl 5.")
2737 (license license:bsd-3)))
2738
2739 (define-public ghc-logict
2740 (package
2741 (name "ghc-logict")
2742 (version "0.6.0.2")
2743 (source
2744 (origin
2745 (method url-fetch)
2746 (uri (string-append
2747 "https://hackage.haskell.org/package/logict/logict-"
2748 version
2749 ".tar.gz"))
2750 (sha256
2751 (base32
2752 "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi"))))
2753 (build-system haskell-build-system)
2754 (inputs `(("ghc-mtl" ,ghc-mtl)))
2755 (home-page "http://code.haskell.org/~dolio/")
2756 (synopsis "Backtracking logic-programming monad")
2757 (description "This library provides a continuation-based, backtracking,
2758 logic programming monad. An adaptation of the two-continuation implementation
2759 found in the paper \"Backtracking, Interleaving, and Terminating Monad
2760 Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
2761 online}.")
2762 (license license:bsd-3)))
2763
2764 (define-public ghc-xml
2765 (package
2766 (name "ghc-xml")
2767 (version "1.3.14")
2768 (source
2769 (origin
2770 (method url-fetch)
2771 (uri (string-append
2772 "https://hackage.haskell.org/package/xml/xml-"
2773 version
2774 ".tar.gz"))
2775 (sha256
2776 (base32
2777 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
2778 (build-system haskell-build-system)
2779 (inputs
2780 `(("ghc-text" ,ghc-text)))
2781 (home-page "http://code.galois.com")
2782 (synopsis "Simple XML library for Haskell")
2783 (description "This package provides a simple XML library for Haskell.")
2784 (license license:bsd-3)))
2785
2786 (define-public ghc-exceptions
2787 (package
2788 (name "ghc-exceptions")
2789 (version "0.8.0.2")
2790 (source
2791 (origin
2792 (method url-fetch)
2793 (uri (string-append
2794 "https://hackage.haskell.org/package/exceptions/exceptions-"
2795 version
2796 ".tar.gz"))
2797 (sha256
2798 (base32
2799 "1x1bk1jf42k1gigiqqmkkh38z2ffhx8rsqiszdq3f94m2h6kw2h7"))))
2800 (build-system haskell-build-system)
2801 (arguments `(#:tests? #f)) ; FIXME: Missing test-framework package.
2802 (inputs
2803 `(("ghc-stm" ,ghc-stm)
2804 ("ghc-mtl" ,ghc-mtl)
2805 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2806 (home-page "https://github.com/ekmett/exceptions/")
2807 (synopsis "Extensible optionally-pure exceptions")
2808 (description "This library provides extensible optionally-pure exceptions
2809 for Haskell.")
2810 (license license:bsd-3)))
2811
2812 (define-public ghc-temporary
2813 (package
2814 (name "ghc-temporary")
2815 (version "1.2.0.3")
2816 (source
2817 (origin
2818 (method url-fetch)
2819 (uri (string-append
2820 "https://hackage.haskell.org/package/temporary/temporary-"
2821 version
2822 ".tar.gz"))
2823 (sha256
2824 (base32
2825 "0is67bmsjmbbw6wymhis8wyq9gax3sszm573p5719fx2c9z9r24a"))))
2826 (build-system haskell-build-system)
2827 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
2828 (home-page "http://www.github.com/batterseapower/temporary")
2829 (synopsis "Temporary file and directory support")
2830 (description "The functions for creating temporary files and directories
2831 in the Haskelll base library are quite limited. This library just repackages
2832 the Cabal implementations of its own temporary file and folder functions so
2833 that you can use them without linking against Cabal or depending on it being
2834 installed.")
2835 (license license:bsd-3)))
2836
2837 (define-public ghc-temporary-rc
2838 (package
2839 (name "ghc-temporary-rc")
2840 (version "1.2.0.3")
2841 (source
2842 (origin
2843 (method url-fetch)
2844 (uri (string-append
2845 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
2846 version
2847 ".tar.gz"))
2848 (sha256
2849 (base32
2850 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
2851 (build-system haskell-build-system)
2852 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
2853 (home-page
2854 "http://www.github.com/feuerbach/temporary")
2855 (synopsis
2856 "Portable temporary file and directory support")
2857 (description
2858 "The functions for creating temporary files and directories in the base
2859 library are quite limited. The unixutils package contains some good ones, but
2860 they aren't portable to Windows. This library just repackages the Cabal
2861 implementations of its own temporary file and folder functions so that you can
2862 use them without linking against Cabal or depending on it being installed.
2863 This is a better maintained fork of the \"temporary\" package.")
2864 (license license:bsd-3)))
2865
2866 (define-public ghc-smallcheck
2867 (package
2868 (name "ghc-smallcheck")
2869 (version "1.1.1")
2870 (source
2871 (origin
2872 (method url-fetch)
2873 (uri (string-append
2874 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
2875 version
2876 ".tar.gz"))
2877 (sha256
2878 (base32
2879 "1ygrabxh40bym3grnzqyfqn96lirnxspb8cmwkkr213239y605sd"))))
2880 (build-system haskell-build-system)
2881 (inputs
2882 `(("ghc-logict" ,ghc-logict)
2883 ("ghc-mtl" ,ghc-mtl)))
2884 (home-page
2885 "https://github.com/feuerbach/smallcheck")
2886 (synopsis "Property-based testing library")
2887 (description "SmallCheck is a testing library that allows to verify
2888 properties for all test cases up to some depth. The test cases are generated
2889 automatically by SmallCheck.")
2890 (license license:bsd-3)))
2891
2892 (define-public ghc-tasty-ant-xml
2893 (package
2894 (name "ghc-tasty-ant-xml")
2895 (version "1.0.2")
2896 (source
2897 (origin
2898 (method url-fetch)
2899 (uri (string-append
2900 "https://hackage.haskell.org/package/tasty-ant-xml/tasty-ant-xml-"
2901 version
2902 ".tar.gz"))
2903 (sha256
2904 (base32
2905 "0pgz2lclg2hp72ykljcbxd88pjanfdfk8m5vb2qzcyjr85kwrhxv"))))
2906 (build-system haskell-build-system)
2907 (inputs
2908 `(("ghc-generic-deriving" ,ghc-generic-deriving)
2909 ("ghc-xml" ,ghc-xml)
2910 ("ghc-mtl" ,ghc-mtl)
2911 ("ghc-stm" ,ghc-stm)
2912 ("ghc-tagged" ,ghc-tagged)
2913 ("ghc-tasty" ,ghc-tasty)))
2914 (home-page
2915 "https://github.com/ocharles/tasty-ant-xml")
2916 (synopsis
2917 "Render tasty output to XML for Jenkins")
2918 (description
2919 "A tasty ingredient to output test results in XML, using the Ant
2920 schema. This XML can be consumed by the Jenkins continuous integration
2921 framework.")
2922 (license license:bsd-3)))
2923
2924 (define-public ghc-tasty-smallcheck
2925 (package
2926 (name "ghc-tasty-smallcheck")
2927 (version "0.8.0.1")
2928 (source
2929 (origin
2930 (method url-fetch)
2931 (uri (string-append
2932 "https://hackage.haskell.org/package/tasty-smallcheck/tasty-smallcheck-"
2933 version
2934 ".tar.gz"))
2935 (sha256
2936 (base32
2937 "0yckfbz8na8ccyw2911i3a4hd3fdncclk3ng5343hs5cylw6y4sm"))))
2938 (build-system haskell-build-system)
2939 (inputs
2940 `(("ghc-tasty" ,ghc-tasty)
2941 ("ghc-smallcheck" ,ghc-smallcheck)
2942 ("ghc-async" ,ghc-async)
2943 ("ghc-tagged" ,ghc-tagged)))
2944 (home-page "http://documentup.com/feuerbach/tasty")
2945 (synopsis "SmallCheck support for the Tasty test framework")
2946 (description "This package provides SmallCheck support for the Tasty
2947 Haskell test framework.")
2948 (license license:bsd-3)))
2949
2950 (define-public ghc-silently
2951 (package
2952 (name "ghc-silently")
2953 (version "1.2.5")
2954 (source
2955 (origin
2956 (method url-fetch)
2957 (uri (string-append
2958 "https://hackage.haskell.org/package/silently/silently-"
2959 version
2960 ".tar.gz"))
2961 (sha256
2962 (base32
2963 "0f9qm3f7y0hpxn6mddhhg51mm1r134qkvd2kr8r6192ka1ijbxnf"))))
2964 (build-system haskell-build-system)
2965 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
2966 ;; (inputs
2967 ;; `(("ghc-temporary" ,ghc-temporary)))
2968 (home-page "https://github.com/hspec/silently")
2969 (synopsis "Prevent writing to stdout")
2970 (description "This package provides functions to prevent or capture
2971 writing to stdout and other handles.")
2972 (license license:bsd-3)))
2973
2974 (define-public ghc-quickcheck-instances
2975 (package
2976 (name "ghc-quickcheck-instances")
2977 (version "0.3.11")
2978 (source
2979 (origin
2980 (method url-fetch)
2981 (uri (string-append
2982 "https://hackage.haskell.org/package/"
2983 "quickcheck-instances/quickcheck-instances-"
2984 version ".tar.gz"))
2985 (sha256
2986 (base32
2987 "041s6963czs1pz0fc9cx17lgd6p83czqy2nxji7bhxqxwl2j15h2"))))
2988 (build-system haskell-build-system)
2989 (inputs
2990 `(("ghc-old-time" ,ghc-old-time)
2991 ("ghc-unordered-containers" ,ghc-unordered-containers)
2992 ("ghc-hashable" ,ghc-hashable)
2993 ("ghc-quickcheck" ,ghc-quickcheck)
2994 ("ghc-text" ,ghc-text)))
2995 (home-page
2996 "https://github.com/aslatter/qc-instances")
2997 (synopsis "Common quickcheck instances")
2998 (description "This package provides QuickCheck instances for types
2999 provided by the Haskell Platform.")
3000 (license license:bsd-3)))
3001
3002 (define-public ghc-quickcheck-unicode
3003 (package
3004 (name "ghc-quickcheck-unicode")
3005 (version "1.0.0.1")
3006 (source
3007 (origin
3008 (method url-fetch)
3009 (uri (string-append
3010 "https://hackage.haskell.org/package/quickcheck-unicode/quickcheck-unicode-"
3011 version
3012 ".tar.gz"))
3013 (sha256
3014 (base32
3015 "1a8nl6x7l9b22yx61wm0bh2n1xzb1hd5i5zgg1w4fpaivjnrrhi4"))))
3016 (build-system haskell-build-system)
3017 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
3018 (home-page
3019 "https://github.com/bos/quickcheck-unicode")
3020 (synopsis "Generator functions Unicode-related tests")
3021 (description "This package provides generator and shrink functions for
3022 testing Unicode-related software.")
3023 (license license:bsd-3)))
3024
3025 (define-public ghc-quickcheck-io
3026 (package
3027 (name "ghc-quickcheck-io")
3028 (version "0.1.2")
3029 (source
3030 (origin
3031 (method url-fetch)
3032 (uri (string-append
3033 "https://hackage.haskell.org/package/quickcheck-io/quickcheck-io-"
3034 version
3035 ".tar.gz"))
3036 (sha256
3037 (base32
3038 "1kf1kfw9fsmly0rvzvdf6jvdw10qhkmikyj0wcwciw6wad95w9sh"))))
3039 (build-system haskell-build-system)
3040 (inputs
3041 `(("ghc-quickcheck" ,ghc-quickcheck)
3042 ("ghc-hunit" ,ghc-hunit)))
3043 (home-page
3044 "https://github.com/hspec/quickcheck-io#readme")
3045 (synopsis "Use HUnit assertions as QuickCheck properties")
3046 (description "This package provides an orphan instance that allows you to
3047 use HUnit assertions as QuickCheck properties.")
3048 (license license:expat)))
3049
3050 (define-public ghc-quickcheck
3051 (package
3052 (name "ghc-quickcheck")
3053 (version "2.8.1")
3054 (outputs '("out" "doc"))
3055 (source
3056 (origin
3057 (method url-fetch)
3058 (uri (string-append
3059 "https://hackage.haskell.org/package/QuickCheck/QuickCheck-"
3060 version
3061 ".tar.gz"))
3062 (sha256
3063 (base32
3064 "0fvnfl30fxmj5q920l13641ar896d53z0z6z66m7c1366lvalwvh"))))
3065 (build-system haskell-build-system)
3066 (arguments
3067 `(#:tests? #f ; FIXME: currently missing libraries used for tests.
3068 #:configure-flags '("-f base4")))
3069 (inputs
3070 `(("ghc-tf-random" ,ghc-tf-random)))
3071 (home-page
3072 "https://github.com/nick8325/quickcheck")
3073 (synopsis
3074 "Automatic testing of Haskell programs")
3075 (description
3076 "QuickCheck is a library for random testing of program properties.")
3077 (license license:bsd-3)))
3078
3079 (define-public ghc-case-insensitive
3080 (package
3081 (name "ghc-case-insensitive")
3082 (version "1.2.0.4")
3083 (outputs '("out" "doc"))
3084 (source
3085 (origin
3086 (method url-fetch)
3087 (uri (string-append
3088 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
3089 version
3090 ".tar.gz"))
3091 (sha256
3092 (base32
3093 "07nm40r9yw2p9qsfp3pjbsmyn4dabrxw34p48171zmccdd5hv0v3"))))
3094 (build-system haskell-build-system)
3095 (inputs
3096 `(("ghc-hunit" ,ghc-hunit)))
3097 ;; these inputs are necessary to use this library
3098 (inputs
3099 `(("ghc-text" ,ghc-text)
3100 ("ghc-hashable" ,ghc-hashable)))
3101 (arguments
3102 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3103 (home-page
3104 "https://github.com/basvandijk/case-insensitive")
3105 (synopsis "Case insensitive string comparison")
3106 (description
3107 "The module 'Data.CaseInsensitive' provides the 'CI' type constructor
3108 which can be parameterised by a string-like type like: 'String', 'ByteString',
3109 'Text', etc.. Comparisons of values of the resulting type will be insensitive
3110 to cases.")
3111 (license license:bsd-3)))
3112
3113 (define-public ghc-syb
3114 (package
3115 (name "ghc-syb")
3116 (version "0.6")
3117 (outputs '("out" "doc"))
3118 (source
3119 (origin
3120 (method url-fetch)
3121 (uri (string-append
3122 "https://hackage.haskell.org/package/syb/syb-"
3123 version
3124 ".tar.gz"))
3125 (sha256
3126 (base32
3127 "1p3cnqjm13677r4a966zffzhi9b3a321aln8zs8ckqj0d9z1z3d3"))))
3128 (build-system haskell-build-system)
3129 (inputs
3130 `(("ghc-hunit" ,ghc-hunit)
3131 ("ghc-mtl" ,ghc-mtl)))
3132 (home-page
3133 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
3134 (synopsis "Scrap Your Boilerplate")
3135 (description "This package contains the generics system described in the
3136 /Scrap Your Boilerplate/ papers (see
3137 @uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
3138 defines the 'Data' class of types permitting folding and unfolding of
3139 constructor applications, instances of this class for primitive types, and a
3140 variety of traversals.")
3141 (license license:bsd-3)))
3142
3143 (define-public ghc-fgl
3144 (package
3145 (name "ghc-fgl")
3146 (version "5.5.3.0")
3147 (outputs '("out" "doc"))
3148 (source
3149 (origin
3150 (method url-fetch)
3151 (uri (string-append
3152 "https://hackage.haskell.org/package/fgl/fgl-"
3153 version
3154 ".tar.gz"))
3155 (sha256
3156 (base32
3157 "0fbyb6jxy9whgrv6dgnkzz70cmy98arx3q2gnkhgl4a3d7idh36p"))))
3158 (build-system haskell-build-system)
3159 (inputs
3160 `(("ghc-mtl" ,ghc-mtl)
3161 ("ghc-hspec" ,ghc-hspec)
3162 ("ghc-quickcheck" ,ghc-quickcheck)))
3163 (home-page "http://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3164 (synopsis
3165 "Martin Erwig's Functional Graph Library")
3166 (description "The functional graph library, FGL, is a collection of type
3167 and function definitions to address graph problems. The basis of the library
3168 is an inductive definition of graphs in the style of algebraic data types that
3169 encourages inductive, recursive definitions of graph algorithms.")
3170 (license license:bsd-3)))
3171
3172 (define-public ghc-chasingbottoms
3173 (package
3174 (name "ghc-chasingbottoms")
3175 (version "1.3.0.13")
3176 (source
3177 (origin
3178 (method url-fetch)
3179 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
3180 "ChasingBottoms-" version ".tar.gz"))
3181 (sha256
3182 (base32
3183 "1fb86jd6cdz4rx3fj3r9n8d60kx824ywwy7dw4qnrdran46ja3pl"))
3184 (modules '((guix build utils)))
3185 (snippet
3186 ;; The Hackage page and the cabal file linked there for this package
3187 ;; both list 0.7 as the upper version limit, but the source tarball
3188 ;; specifies 0.6. Assume the Hackage page is correct.
3189 '(substitute* "ChasingBottoms.cabal"
3190 (("syb >= 0.1.0.2 && < 0.6") "syb >= 0.1.0.2 && < 0.7")))))
3191 (build-system haskell-build-system)
3192 (inputs
3193 `(("ghc-mtl" ,ghc-mtl)
3194 ("ghc-quickcheck" ,ghc-quickcheck)
3195 ("ghc-random" ,ghc-random)
3196 ("ghc-syb" ,ghc-syb)))
3197 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
3198 (synopsis "Testing of partial and infinite values in Haskell")
3199 (description
3200 ;; FIXME: There should be a @comma{} in the uref text, but it is not
3201 ;; rendered properly.
3202 "This is a library for testing code involving bottoms or infinite values.
3203 For the underlying theory and a larger example involving use of QuickCheck,
3204 see the article
3205 @uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
3206 \"Chasing Bottoms A Case Study in Program Verification in the Presence of
3207 Partial and Infinite Values\"}.")
3208 (license license:expat)))
3209
3210 (define-public ghc-unordered-containers
3211 (package
3212 (name "ghc-unordered-containers")
3213 (version "0.2.5.1")
3214 (outputs '("out" "doc"))
3215 (source
3216 (origin
3217 (method url-fetch)
3218 (uri (string-append
3219 "https://hackage.haskell.org/package/unordered-containers"
3220 "/unordered-containers-" version ".tar.gz"))
3221 (sha256
3222 (base32
3223 "06l1xv7vhpxly75saxdrbc6p2zlgz1az278arfkz4rgawfnphn3f"))))
3224 (build-system haskell-build-system)
3225 (inputs
3226 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
3227 ("ghc-hunit" ,ghc-hunit)
3228 ("ghc-quickcheck" ,ghc-quickcheck)
3229 ("ghc-test-framework" ,ghc-test-framework)
3230 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3231 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
3232 ("ghc-hashable" ,ghc-hashable)))
3233 (home-page
3234 "https://github.com/tibbe/unordered-containers")
3235 (synopsis
3236 "Efficient hashing-based container types")
3237 (description
3238 "Efficient hashing-based container types. The containers have been
3239 optimized for performance critical use, both in terms of large data quantities
3240 and high speed.")
3241 (license license:bsd-3)))
3242
3243 (define-public ghc-uniplate
3244 (package
3245 (name "ghc-uniplate")
3246 (version "1.6.12")
3247 (source
3248 (origin
3249 (method url-fetch)
3250 (uri (string-append
3251 "https://hackage.haskell.org/package/uniplate/uniplate-"
3252 version
3253 ".tar.gz"))
3254 (sha256
3255 (base32
3256 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
3257 (build-system haskell-build-system)
3258 (inputs
3259 `(("ghc-syb" ,ghc-syb)
3260 ("ghc-hashable" ,ghc-hashable)
3261 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3262 (home-page "http://community.haskell.org/~ndm/uniplate/")
3263 (synopsis "Simple, concise and fast generic operations")
3264 (description "Uniplate is a library for writing simple and concise generic
3265 operations. Uniplate has similar goals to the original Scrap Your Boilerplate
3266 work, but is substantially simpler and faster.")
3267 (license license:bsd-3)))
3268
3269 (define-public ghc-base64-bytestring
3270 (package
3271 (name "ghc-base64-bytestring")
3272 (version "1.0.0.1")
3273 (source
3274 (origin
3275 (method url-fetch)
3276 (uri (string-append
3277 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
3278 version
3279 ".tar.gz"))
3280 (sha256
3281 (base32
3282 "0l1v4ddjdsgi9nqzyzcxxj76rwar3lzx8gmwf2r54bqan3san9db"))))
3283 (build-system haskell-build-system)
3284 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
3285 (home-page "https://github.com/bos/base64-bytestring")
3286 (synopsis "Base64 encoding and decoding for ByteStrings")
3287 (description "This library provides fast base64 encoding and decoding for
3288 Haskell @code{ByteString}s.")
3289 (license license:bsd-3)))
3290
3291 (define-public ghc-annotated-wl-pprint
3292 (package
3293 (name "ghc-annotated-wl-pprint")
3294 (version "0.7.0")
3295 (source
3296 (origin
3297 (method url-fetch)
3298 (uri (string-append
3299 "https://hackage.haskell.org/package/annotated-wl-pprint"
3300 "/annotated-wl-pprint-" version
3301 ".tar.gz"))
3302 (sha256
3303 (base32
3304 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
3305 (build-system haskell-build-system)
3306 (home-page
3307 "https://github.com/david-christiansen/annotated-wl-pprint")
3308 (synopsis
3309 "The Wadler/Leijen Pretty Printer, with annotation support")
3310 (description "This is a modified version of wl-pprint, which was based on
3311 Wadler's paper \"A Prettier Printer\". This version allows the library user
3312 to annotate the text with semantic information, which can later be rendered in
3313 a variety of ways.")
3314 (license license:bsd-3)))
3315
3316 (define-public ghc-wl-pprint
3317 (package
3318 (name "ghc-wl-pprint")
3319 (version "1.2")
3320 (source (origin
3321 (method url-fetch)
3322 (uri (string-append
3323 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
3324 version ".tar.gz"))
3325 (sha256
3326 (base32
3327 "166zvk4zwn2zaa9kx66m1av38m34qp6h4i65bri2sfnxgvx0700r"))))
3328 (build-system haskell-build-system)
3329 (home-page "https://hackage.haskell.org/package/wl-pprint")
3330 (synopsis "Wadler/Leijen pretty printer")
3331 (description
3332 "This is a pretty printing library based on Wadler's paper @i{A Prettier
3333 Printer}. This version allows the library user to declare overlapping
3334 instances of the @code{Pretty} class.")
3335 (license license:bsd-3)))
3336
3337 (define-public ghc-ansi-wl-pprint
3338 (package
3339 (name "ghc-ansi-wl-pprint")
3340 (version "0.6.7.3")
3341 (source
3342 (origin
3343 (method url-fetch)
3344 (uri (string-append
3345 "https://hackage.haskell.org/package/ansi-wl-pprint/ansi-wl-pprint-"
3346 version
3347 ".tar.gz"))
3348 (sha256
3349 (base32
3350 "025pyphsjf0dnbrmj5nscbi6gzyigwgp3ifxb3psn7kji6mfr29p"))))
3351 (build-system haskell-build-system)
3352 (inputs
3353 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
3354 (home-page "https://github.com/ekmett/ansi-wl-pprint")
3355 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
3356 (description "This is a pretty printing library based on Wadler's paper
3357 \"A Prettier Printer\". It has been enhanced with support for ANSI terminal
3358 colored output using the ansi-terminal package.")
3359 (license license:bsd-3)))
3360
3361 (define-public ghc-split
3362 (package
3363 (name "ghc-split")
3364 (version "0.2.2")
3365 (outputs '("out" "doc"))
3366 (source
3367 (origin
3368 (method url-fetch)
3369 (uri (string-append
3370 "https://hackage.haskell.org/package/split/split-"
3371 version
3372 ".tar.gz"))
3373 (sha256
3374 (base32
3375 "0xa3j0gwr6k5vizxybnzk5fgb3pppgspi6mysnp2gwjp2dbrxkzr"))
3376 (modules '((guix build utils)))
3377 (snippet
3378 ;; The Cabal file on Hackage is updated, but the tar.gz does not
3379 ;; include it. See
3380 ;; <https://hackage.haskell.org/package/split-0.2.2/revisions/>.
3381 '(substitute* "split.cabal"
3382 (("base <4.8") "base <4.9")))))
3383 (build-system haskell-build-system)
3384 (inputs
3385 `(("ghc-quickcheck" ,ghc-quickcheck)))
3386 (home-page "https://hackage.haskell.org/package/split")
3387 (synopsis "Combinator library for splitting lists")
3388 (description "This package provides a collection of Haskell functions for
3389 splitting lists into parts, akin to the @code{split} function found in several
3390 mainstream languages.")
3391 (license license:bsd-3)))
3392
3393 (define-public ghc-parsec
3394 (package
3395 (name "ghc-parsec")
3396 (version "3.1.9")
3397 (outputs '("out" "doc"))
3398 (source
3399 (origin
3400 (method url-fetch)
3401 (uri (string-append
3402 "https://hackage.haskell.org/package/parsec/parsec-"
3403 version
3404 ".tar.gz"))
3405 (sha256
3406 (base32 "1ja20cmj6v336jy87c6h3jzjp00sdbakwbdwp11iln499k913xvi"))))
3407 (build-system haskell-build-system)
3408 (native-inputs
3409 `(("ghc-hunit" ,ghc-hunit)))
3410 (inputs
3411 `(("ghc-text" ,ghc-text)
3412 ("ghc-mtl" ,ghc-mtl)))
3413 (arguments
3414 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3415 (home-page
3416 "https://github.com/aslatter/parsec")
3417 (synopsis "Monadic parser combinators")
3418 (description "Parsec is a parser library. It is simple, safe, well
3419 documented, has extensive libraries, good error messages, and is fast. It is
3420 defined as a monad transformer that can be stacked on arbitrary monads, and it
3421 is also parametric in the input stream type.")
3422 (license license:bsd-3)))
3423
3424 (define-public ghc-vector
3425 (package
3426 (name "ghc-vector")
3427 (version "0.11.0.0")
3428 (outputs '("out" "doc"))
3429 (source
3430 (origin
3431 (method url-fetch)
3432 (uri (string-append
3433 "https://hackage.haskell.org/package/vector/vector-"
3434 version
3435 ".tar.gz"))
3436 (sha256
3437 (base32
3438 "1r1jlksy7b0kb0fy00g64isk6nyd9wzzdq31gx5v1wn38knj0lqa"))))
3439 (build-system haskell-build-system)
3440 (inputs
3441 `(("ghc-primitive" ,ghc-primitive)
3442 ("ghc-quickcheck" ,ghc-quickcheck)))
3443 (arguments
3444 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3445 (home-page "https://github.com/haskell/vector")
3446 (synopsis "Efficient Arrays")
3447 (description "This library provides an efficient implementation of
3448 Int-indexed arrays (both mutable and immutable), with a powerful loop
3449 optimisation framework.")
3450 (license license:bsd-3)))
3451
3452 (define-public ghc-vector-binary-instances
3453 (package
3454 (name "ghc-vector-binary-instances")
3455 (version "0.2.1.0")
3456 (source
3457 (origin
3458 (method url-fetch)
3459 (uri (string-append
3460 "https://hackage.haskell.org/package/"
3461 "vector-binary-instances/vector-binary-instances-"
3462 version ".tar.gz"))
3463 (sha256
3464 (base32
3465 "028rsf2w193rhs1gic5yvvrwidw9sblczcn10aw64npfc6502l4l"))))
3466 (build-system haskell-build-system)
3467 (inputs
3468 `(("ghc-cereal" ,ghc-cereal)
3469 ("ghc-vector" ,ghc-vector)))
3470 (home-page "https://github.com/bos/vector-binary-instances")
3471 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
3472 (description "This library provides instances of @code{Binary} for the
3473 types defined in the @code{vector} package, making it easy to serialize
3474 vectors to and from disk. We use the generic interface to vectors, so all
3475 vector types are supported. Specific instances are provided for unboxed,
3476 boxed and storable vectors.")
3477 (license license:bsd-3)))
3478
3479 (define-public ghc-network
3480 (package
3481 (name "ghc-network")
3482 (version "2.6.2.1")
3483 (outputs '("out" "doc"))
3484 (source
3485 (origin
3486 (method url-fetch)
3487 (uri (string-append
3488 "https://hackage.haskell.org/package/network/network-"
3489 version
3490 ".tar.gz"))
3491 (sha256
3492 (base32
3493 "1yhvpd4wigz165jvyvw9zslx7lgqdj63jh3zv5s74b5ykdfa3zd3"))))
3494 (build-system haskell-build-system)
3495 (inputs
3496 `(("ghc-hunit" ,ghc-hunit)))
3497 (arguments
3498 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3499 (home-page "https://github.com/haskell/network")
3500 (synopsis "Low-level networking interface")
3501 (description
3502 "This package provides a low-level networking interface.")
3503 (license license:bsd-3)))
3504
3505 (define-public ghc-network-uri
3506 (package
3507 (name "ghc-network-uri")
3508 (version "2.6.0.3")
3509 (outputs '("out" "doc"))
3510 (source
3511 (origin
3512 (method url-fetch)
3513 (uri (string-append
3514 "https://hackage.haskell.org/package/network-uri/network-uri-"
3515 version
3516 ".tar.gz"))
3517 (sha256
3518 (base32
3519 "1pwbqb2rk4rnvllvdch42p5368xcvpkanp7bxckdhxya8zzwvhhg"))))
3520 (build-system haskell-build-system)
3521 (arguments
3522 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3523 (native-inputs
3524 `(("ghc-hunit" ,ghc-hunit)))
3525 (inputs
3526 `(("ghc-parsec" ,ghc-parsec)
3527 ("ghc-network" ,ghc-network)))
3528 (home-page
3529 "https://github.com/haskell/network-uri")
3530 (synopsis "Library for URI manipulation")
3531 (description "This package provides an URI manipulation interface. In
3532 'network-2.6' the 'Network.URI' module was split off from the 'network'
3533 package into this package.")
3534 (license license:bsd-3)))
3535
3536 (define-public ghc-ansi-terminal
3537 (package
3538 (name "ghc-ansi-terminal")
3539 (version "0.6.2.3")
3540 (source
3541 (origin
3542 (method url-fetch)
3543 (uri (string-append
3544 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
3545 version
3546 ".tar.gz"))
3547 (sha256
3548 (base32
3549 "0hpfw0k025y681m9ml1c712skrb1p4vh7z5x1f0ci9ww7ssjrh2d"))))
3550 (build-system haskell-build-system)
3551 (home-page "https://github.com/feuerbach/ansi-terminal")
3552 (synopsis "ANSI terminal support for Haskell")
3553 (description "This package provides ANSI terminal support for Haskell. It
3554 allows cursor movement, screen clearing, color output showing or hiding the
3555 cursor, and changing the title.")
3556 (license license:bsd-3)))
3557
3558 (define-public ghc-http
3559 (package
3560 (name "ghc-http")
3561 (version "4000.2.20")
3562 (outputs '("out" "doc"))
3563 (source
3564 (origin
3565 (method url-fetch)
3566 (uri (string-append
3567 "https://hackage.haskell.org/package/HTTP/HTTP-"
3568 version
3569 ".tar.gz"))
3570 (sha256
3571 (base32
3572 "0nyqdxr5ls2dxkf4a1f3x15xzwdm46ppn99nkcbhswlr6s3cq1s4"))))
3573 (build-system haskell-build-system)
3574 (native-inputs
3575 `(("ghc-hunit" ,ghc-hunit)))
3576 (inputs
3577 `(("ghc-old-time" ,ghc-old-time)
3578 ("ghc-parsec" ,ghc-parsec)
3579 ("ghc-mtl" ,ghc-mtl)
3580 ("ghc-network" ,ghc-network)
3581 ("ghc-network-uri" ,ghc-network-uri)))
3582 (arguments
3583 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3584 (home-page "https://github.com/haskell/HTTP")
3585 (synopsis "Library for client-side HTTP")
3586 (description
3587 "The HTTP package supports client-side web programming in Haskell. It
3588 lets you set up HTTP connections, transmitting requests and processing the
3589 responses coming back.")
3590 (license license:bsd-3)))
3591
3592 (define-public ghc-hspec
3593 (package
3594 (name "ghc-hspec")
3595 (version "2.2.0")
3596 (source
3597 (origin
3598 (method url-fetch)
3599 (uri (string-append
3600 "https://hackage.haskell.org/package/hspec/hspec-"
3601 version
3602 ".tar.gz"))
3603 (sha256
3604 (base32
3605 "0zqisxznlbszivsgy3irvf566zhcr6ipqqj3x9i7pj5hy913jwqf"))))
3606 (build-system haskell-build-system)
3607 (inputs
3608 `(("ghc-hspec-core" ,ghc-hspec-core)
3609 ("hspec-discover" ,hspec-discover)
3610 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
3611 ("ghc-quickcheck" ,ghc-quickcheck)
3612 ("ghc-hunit" ,ghc-hunit)
3613 ("ghc-stringbuilder" ,ghc-stringbuilder)
3614 ("ghc-hspec-meta" ,ghc-hspec-meta)))
3615 (home-page "http://hspec.github.io/")
3616 (synopsis "Testing Framework for Haskell")
3617 (description "This library provides the Hspec testing framework for
3618 Haskell, inspired by the Ruby library RSpec.")
3619 (license license:expat)))
3620
3621 (define-public ghc-hspec-contrib
3622 (package
3623 (name "ghc-hspec-contrib")
3624 (version "0.3.0")
3625 (source (origin
3626 (method url-fetch)
3627 (uri (string-append "https://hackage.haskell.org/package/"
3628 "hspec-contrib/hspec-contrib-"
3629 version ".tar.gz"))
3630 (sha256
3631 (base32
3632 "006syw8xagfhsx06ws9ywig1qx5lk4cgl7sq6pbid1s64c72mxn4"))))
3633 (build-system haskell-build-system)
3634 (inputs
3635 `(("ghc-hspec-core" ,ghc-hspec-core)
3636 ("ghc-hunit" ,ghc-hunit)
3637 ("ghc-hspec" ,ghc-hspec)
3638 ("ghc-quickcheck" ,ghc-quickcheck)))
3639 (native-inputs
3640 `(("hspec-discover" ,hspec-discover)))
3641 (home-page "http://hspec.github.io/")
3642 (synopsis "Contributed functionality for Hspec")
3643 (description
3644 "This package provides contributed Hspec extensions.")
3645 (license license:expat)))
3646
3647 (define-public ghc-hspec-expectations
3648 (package
3649 (name "ghc-hspec-expectations")
3650 (version "0.7.2")
3651 (source
3652 (origin
3653 (method url-fetch)
3654 (uri (string-append
3655 "https://hackage.haskell.org/package/hspec-expectations/hspec-expectations-"
3656 version
3657 ".tar.gz"))
3658 (sha256
3659 (base32
3660 "1w56jiqfyl237sr207gh3b0l8sr9layy0mdsgd5wknzb49mif6ip"))))
3661 (build-system haskell-build-system)
3662 (inputs `(("ghc-hunit" ,ghc-hunit)))
3663 (home-page "https://github.com/sol/hspec-expectations")
3664 (synopsis "Catchy combinators for HUnit")
3665 (description "This library provides catchy combinators for HUnit, see
3666 @uref{https://github.com/sol/hspec-expectations#readme, the README}.")
3667 (license license:expat)))
3668
3669 (define-public hspec-discover
3670 (package
3671 (name "hspec-discover")
3672 (version "2.2.0")
3673 (source
3674 (origin
3675 (method url-fetch)
3676 (uri (string-append
3677 "https://hackage.haskell.org/package/hspec-discover/hspec-discover-"
3678 version
3679 ".tar.gz"))
3680 (sha256
3681 (base32
3682 "0w3awzbljf4hqhxrjrxqa1lfcclg92bhmq641gz2q80vycspapzx"))))
3683 (build-system haskell-build-system)
3684 (arguments `(#:haddock? #f)) ; Haddock phase fails because there are no
3685 ; documentation files.
3686 (inputs `(("ghc-hspec-meta" ,ghc-hspec-meta)))
3687 (home-page "http://hspec.github.io/")
3688 (synopsis "Automatically discover and run Hspec tests")
3689 (description "hspec-discover is a tool which automatically discovers and
3690 runs Hspec tests.")
3691 (license license:expat)))
3692
3693 (define-public ghc-hspec-core
3694 (package
3695 (name "ghc-hspec-core")
3696 (version "2.2.0")
3697 (source
3698 (origin
3699 (method url-fetch)
3700 (uri (string-append
3701 "https://hackage.haskell.org/package/hspec-core/hspec-core-"
3702 version
3703 ".tar.gz"))
3704 (sha256
3705 (base32
3706 "1wgd55k652jaf81nkvciyqi67ycj7zamr4nd9z1cqf8nr9fc3sa4"))))
3707 (build-system haskell-build-system)
3708 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
3709 (inputs
3710 `(("ghc-setenv" ,ghc-setenv)
3711 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
3712 ("ghc-async" ,ghc-async)
3713 ("ghc-quickcheck-io" ,ghc-quickcheck-io)
3714 ("ghc-hunit" ,ghc-hunit)
3715 ("ghc-quickcheck" ,ghc-quickcheck)
3716 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
3717 ("ghc-silently" ,ghc-silently)))
3718 (home-page "http://hspec.github.io/")
3719 (synopsis "Testing framework for Haskell")
3720 (description "This library exposes internal types and functions that can
3721 be used to extend Hspec's functionality.")
3722 (license license:expat)))
3723
3724 (define-public ghc-hspec-meta
3725 (package
3726 (name "ghc-hspec-meta")
3727 (version "2.2.0")
3728 (source
3729 (origin
3730 (method url-fetch)
3731 (uri (string-append
3732 "https://hackage.haskell.org/package/hspec-meta/hspec-meta-"
3733 version
3734 ".tar.gz"))
3735 (sha256
3736 (base32
3737 "1fmqmgrzp135cxhmxxbaswkk4bqbpgfml00cmcz0d39n11vzpa5z"))))
3738 (build-system haskell-build-system)
3739 (inputs
3740 `(("ghc-quickcheck" ,ghc-quickcheck)
3741 ("ghc-hunit" ,ghc-hunit)
3742 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
3743 ("ghc-async" ,ghc-async)
3744 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
3745 ("ghc-setenv" ,ghc-setenv)
3746 ("ghc-random" ,ghc-random)
3747 ("ghc-quickcheck-io" ,ghc-quickcheck-io)))
3748 (home-page "http://hspec.github.io/")
3749 (synopsis "Version of Hspec to test Hspec itself")
3750 (description "This library provides a stable version of Hspec which is
3751 used to test the in-development version of Hspec.")
3752 (license license:expat)))
3753
3754 (define-public ghc-vault
3755 (package
3756 (name "ghc-vault")
3757 (version "0.3.0.4")
3758 (source
3759 (origin
3760 (method url-fetch)
3761 (uri (string-append
3762 "https://hackage.haskell.org/package/vault/vault-"
3763 version
3764 ".tar.gz"))
3765 (sha256
3766 (base32
3767 "0ah6qrg71krc87f4vjy4b4shdd0mgyil8fikb3j6fl4kfwlg67jn"))))
3768 (build-system haskell-build-system)
3769 (inputs
3770 `(("ghc-unordered-containers" ,ghc-unordered-containers)
3771 ("ghc-hashable" ,ghc-hashable)))
3772 (home-page
3773 "https://github.com/HeinrichApfelmus/vault")
3774 (synopsis "Persistent store for arbitrary values")
3775 (description "This package provides vaults for Haskell. A vault is a
3776 persistent store for values of arbitrary types. It's like having first-class
3777 access to the storage space behind @code{IORefs}. The data structure is
3778 analogous to a bank vault, where you can access different bank boxes with
3779 different keys; hence the name. Also provided is a @code{locker} type,
3780 representing a store for a single element.")
3781 (license license:bsd-3)))
3782
3783 (define-public ghc-mmorph
3784 (package
3785 (name "ghc-mmorph")
3786 (version "1.0.4")
3787 (source
3788 (origin
3789 (method url-fetch)
3790 (uri (string-append
3791 "https://hackage.haskell.org/package/mmorph/mmorph-"
3792 version
3793 ".tar.gz"))
3794 (sha256
3795 (base32
3796 "0k5zlzmnixfwcjrqvhgi3i6xg532b0gsjvc39v5jigw69idndqr2"))))
3797 (build-system haskell-build-system)
3798 (home-page
3799 "https://hackage.haskell.org/package/mmorph")
3800 (synopsis "Monad morphisms")
3801 (description
3802 "This library provides monad morphism utilities, most commonly used for
3803 manipulating monad transformer stacks.")
3804 (license license:bsd-3)))
3805
3806 (define-public ghc-monad-control
3807 (package
3808 (name "ghc-monad-control")
3809 (version "1.0.0.4")
3810 (source
3811 (origin
3812 (method url-fetch)
3813 (uri (string-append
3814 "https://hackage.haskell.org/package/monad-control"
3815 "/monad-control-" version ".tar.gz"))
3816 (sha256
3817 (base32
3818 "07pn1p4m80wdd7gw62s4yny8rbvm60ka1q8qx5y1plznd8sbg179"))))
3819 (build-system haskell-build-system)
3820 (inputs
3821 `(("ghc-stm" ,ghc-stm)
3822 ("ghc-transformers-base" ,ghc-transformers-base)
3823 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3824 (home-page "https://github.com/basvandijk/monad-control")
3825 (synopsis "Monad transformers to lift control operations like exception
3826 catching")
3827 (description "This package defines the type class @code{MonadBaseControl},
3828 a subset of @code{MonadBase} into which generic control operations such as
3829 @code{catch} can be lifted from @code{IO} or any other base monad.")
3830 (license license:bsd-3)))
3831
3832 (define-public ghc-byteorder
3833 (package
3834 (name "ghc-byteorder")
3835 (version "1.0.4")
3836 (source
3837 (origin
3838 (method url-fetch)
3839 (uri (string-append
3840 "https://hackage.haskell.org/package/byteorder/byteorder-"
3841 version
3842 ".tar.gz"))
3843 (sha256
3844 (base32
3845 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
3846 (build-system haskell-build-system)
3847 (home-page
3848 "http://community.haskell.org/~aslatter/code/byteorder")
3849 (synopsis
3850 "Exposes the native endianness of the system")
3851 (description
3852 "This package is for working with the native byte-ordering of the
3853 system.")
3854 (license license:bsd-3)))
3855
3856 (define-public ghc-base-compat
3857 (package
3858 (name "ghc-base-compat")
3859 (version "0.8.2")
3860 (source
3861 (origin
3862 (method url-fetch)
3863 (uri (string-append
3864 "https://hackage.haskell.org/package/base-compat/base-compat-"
3865 version
3866 ".tar.gz"))
3867 (sha256
3868 (base32
3869 "02m93hzgxg4bcnp7xcc2fdh2hrsc2h6fwl8hix5nx9k864kwf41q"))))
3870 (build-system haskell-build-system)
3871 (native-inputs
3872 `(("ghc-quickcheck" ,ghc-quickcheck)
3873 ("ghc-hspec" ,ghc-hspec)
3874 ("hspec-discover" ,hspec-discover)))
3875 (home-page "https://hackage.haskell.org/package/base-compat")
3876 (synopsis "Haskell compiler compatibility library")
3877 (description "This library provides functions available in later versions
3878 of base to a wider range of compilers, without requiring the use of CPP
3879 pragmas in your code.")
3880 (license license:bsd-3)))
3881
3882 (define-public ghc-blaze-builder
3883 (package
3884 (name "ghc-blaze-builder")
3885 (version "0.4.0.1")
3886 (source
3887 (origin
3888 (method url-fetch)
3889 (uri (string-append
3890 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
3891 version
3892 ".tar.gz"))
3893 (sha256
3894 (base32
3895 "1id3w33x9f7q5m3xpggmvzw03bkp94bpfyz81625bldqgf3yqdn1"))))
3896 (build-system haskell-build-system)
3897 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
3898 (inputs
3899 `(("ghc-text" ,ghc-text)
3900 ("ghc-utf8-string" ,ghc-utf8-string)))
3901 (home-page "https://github.com/lpsmith/blaze-builder")
3902 (synopsis "Efficient buffered output")
3903 (description "This library provides an implementation of the older
3904 @code{blaze-builder} interface in terms of the new builder that shipped with
3905 @code{bytestring-0.10.4.0}. This implementation is mostly intended as a
3906 bridge to the new builder, so that code that uses the old interface can
3907 interoperate with code that uses the new implementation.")
3908 (license license:bsd-3)))
3909
3910 (define-public ghc-blaze-markup
3911 (package
3912 (name "ghc-blaze-markup")
3913 (version "0.7.0.3")
3914 (source
3915 (origin
3916 (method url-fetch)
3917 (uri (string-append
3918 "https://hackage.haskell.org/package/blaze-markup/blaze-markup-"
3919 version
3920 ".tar.gz"))
3921 (sha256
3922 (base32
3923 "080vlhd8dwjxrma4bb524lh8gxs5lm3xh122icy6lnnyipla0s9y"))))
3924 (build-system haskell-build-system)
3925 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
3926 (inputs
3927 `(("ghc-blaze-builder" ,ghc-blaze-builder)
3928 ("ghc-text" ,ghc-text)))
3929 (home-page "http://jaspervdj.be/blaze")
3930 (synopsis "Fast markup combinator library for Haskell")
3931 (description "This library provides core modules of a markup combinator
3932 library for Haskell.")
3933 (license license:bsd-3)))
3934
3935 (define-public ghc-blaze-html
3936 (package
3937 (name "ghc-blaze-html")
3938 (version "0.8.1.1")
3939 (source
3940 (origin
3941 (method url-fetch)
3942 (uri (string-append
3943 "https://hackage.haskell.org/package/blaze-html/blaze-html-"
3944 version
3945 ".tar.gz"))
3946 (sha256
3947 (base32
3948 "1dnw50kh0s405cg9i2y4a8awanhj3bqzk21jwgfza65kcjby7lpq"))))
3949 (build-system haskell-build-system)
3950 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
3951 (inputs
3952 `(("ghc-blaze-builder" ,ghc-blaze-builder)
3953 ("ghc-text" ,ghc-text)
3954 ("ghc-blaze-markup" ,ghc-blaze-markup)))
3955 (home-page "http://jaspervdj.be/blaze")
3956 (synopsis "Fast HTML combinator library")
3957 (description "This library provides HTML combinators for Haskell.")
3958 (license license:bsd-3)))
3959
3960 (define-public ghc-easy-file
3961 (package
3962 (name "ghc-easy-file")
3963 (version "0.2.1")
3964 (source
3965 (origin
3966 (method url-fetch)
3967 (uri (string-append
3968 "https://hackage.haskell.org/package/easy-file/easy-file-"
3969 version
3970 ".tar.gz"))
3971 (sha256
3972 (base32
3973 "0v75081bx4qzlqy29hh639nzlr7dncwza3qxbzm9njc4jarf31pz"))))
3974 (build-system haskell-build-system)
3975 (home-page
3976 "https://github.com/kazu-yamamoto/easy-file")
3977 (synopsis "File handling library for Haskell")
3978 (description "This library provides file handling utilities for Haskell.")
3979 (license license:bsd-3)))
3980
3981 (define-public ghc-async
3982 (package
3983 (name "ghc-async")
3984 (version "2.0.2")
3985 (source
3986 (origin
3987 (method url-fetch)
3988 (uri (string-append
3989 "https://hackage.haskell.org/package/async/async-"
3990 version
3991 ".tar.gz"))
3992 (sha256
3993 (base32
3994 "0azx4qk65a9a2gvqsfmz3w89m6shzr2iz0i5lly2zvly4n2d6m6v"))))
3995 (build-system haskell-build-system)
3996 (inputs
3997 `(("ghc-stm" ,ghc-stm)
3998 ("ghc-hunit" ,ghc-hunit)
3999 ("ghc-test-framework" ,ghc-test-framework)
4000 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4001 (home-page "https://github.com/simonmar/async")
4002 (synopsis "Library to run IO operations asynchronously")
4003 (description "Async provides a library to run IO operations
4004 asynchronously, and wait for their results. It is a higher-level interface
4005 over threads in Haskell, in which @code{Async a} is a concurrent thread that
4006 will eventually deliver a value of type @code{a}.")
4007 (license license:bsd-3)))
4008
4009 (define-public ghc-fingertree
4010 (package
4011 (name "ghc-fingertree")
4012 (version "0.1.1.0")
4013 (source
4014 (origin
4015 (method url-fetch)
4016 (uri (string-append
4017 "https://hackage.haskell.org/package/fingertree/fingertree-"
4018 version
4019 ".tar.gz"))
4020 (sha256
4021 (base32
4022 "1w6x3kp3by5yjmam6wlrf9vap5l5rrqaip0djbrdp0fpf2imn30n"))))
4023 (build-system haskell-build-system)
4024 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
4025 (home-page "https://hackage.haskell.org/package/fingertree")
4026 (synopsis "Generic finger-tree structure")
4027 (description "This library provides finger trees, a general sequence
4028 representation with arbitrary annotations, for use as a base for
4029 implementations of various collection types. It includes examples, as
4030 described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4031 simple general-purpose data structure\".")
4032 (license license:bsd-3)))
4033
4034 (define-public ghc-optparse-applicative
4035 (package
4036 (name "ghc-optparse-applicative")
4037 (version "0.11.0.2")
4038 (source
4039 (origin
4040 (method url-fetch)
4041 (uri (string-append
4042 "https://hackage.haskell.org/package/optparse-applicative"
4043 "/optparse-applicative-" version ".tar.gz"))
4044 (sha256
4045 (base32
4046 "0ni52ii9555jngljvzxn1ngicr6i2w647ww3rzhdrmng04y95iii"))))
4047 (build-system haskell-build-system)
4048 (inputs
4049 `(("ghc-transformers-compat" ,ghc-transformers-compat)
4050 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
4051 (home-page "https://github.com/pcapriotti/optparse-applicative")
4052 (synopsis "Utilities and combinators for parsing command line options")
4053 (description "This package provides utilities and combinators for parsing
4054 command line options in Haskell.")
4055 (license license:bsd-3)))
4056
4057 (define-public ghc-base-orphans
4058 (package
4059 (name "ghc-base-orphans")
4060 (version "0.4.4")
4061 (source
4062 (origin
4063 (method url-fetch)
4064 (uri (string-append
4065 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
4066 version
4067 ".tar.gz"))
4068 (sha256
4069 (base32
4070 "0hhgpwjvx7jhvlhsygmmf0q5hv2ymijzz4bjilicw99bmv13qcpl"))))
4071 (build-system haskell-build-system)
4072 (native-inputs
4073 `(("ghc-quickcheck" ,ghc-quickcheck)
4074 ("ghc-hspec" ,ghc-hspec)
4075 ("hspec-discover" ,hspec-discover)))
4076 (home-page "https://hackage.haskell.org/package/base-orphans")
4077 (synopsis "Orphan instances for backwards compatibility")
4078 (description "This package defines orphan instances that mimic instances
4079 available in later versions of base to a wider (older) range of compilers.")
4080 (license license:bsd-3)))
4081
4082 (define-public ghc-auto-update
4083 (package
4084 (name "ghc-auto-update")
4085 (version "0.1.2.2")
4086 (source
4087 (origin
4088 (method url-fetch)
4089 (uri (string-append
4090 "https://hackage.haskell.org/package/auto-update/auto-update-"
4091 version
4092 ".tar.gz"))
4093 (sha256
4094 (base32
4095 "1ns4c5mqhnm7hsiqxf1ivjs5fflyq92b16ldzrcl0p85631h0c3v"))))
4096 (build-system haskell-build-system)
4097 (home-page "https://github.com/yesodweb/wai")
4098 (synopsis "Efficiently run periodic, on-demand actions")
4099 (description "This library provides mechanisms to efficiently run
4100 periodic, on-demand actions in Haskell.")
4101 (license license:expat)))
4102
4103 (define-public ghc-tagged
4104 (package
4105 (name "ghc-tagged")
4106 (version "0.8.1")
4107 (source
4108 (origin
4109 (method url-fetch)
4110 (uri (string-append
4111 "https://hackage.haskell.org/package/tagged/tagged-"
4112 version
4113 ".tar.gz"))
4114 (sha256
4115 (base32
4116 "1hc2qzhhz5p1xd8k03sklrdnhcflkwhgpl82k6fam8yckww9ipav"))))
4117 (build-system haskell-build-system)
4118 (home-page "https://hackage.haskell.org/package/tagged")
4119 (synopsis "Haskell phantom types to avoid passing dummy arguments")
4120 (description "This library provides phantom types for Haskell 98, to avoid
4121 having to unsafely pass dummy arguments.")
4122 (license license:bsd-3)))
4123
4124 (define-public ghc-unbounded-delays
4125 (package
4126 (name "ghc-unbounded-delays")
4127 (version "0.1.0.9")
4128 (source
4129 (origin
4130 (method url-fetch)
4131 (uri (string-append
4132 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
4133 version
4134 ".tar.gz"))
4135 (sha256
4136 (base32
4137 "1f4h87503m3smhip432q027wj3zih18pmz2rnafh60589ifcl420"))))
4138 (build-system haskell-build-system)
4139 (home-page "https://github.com/basvandijk/unbounded-delays")
4140 (synopsis "Unbounded thread delays and timeouts")
4141 (description "The @code{threadDelay} and @code{timeout} functions from the
4142 Haskell base library use the bounded @code{Int} type for specifying the delay
4143 or timeout period. This package provides alternative functions which use the
4144 unbounded @code{Integer} type.")
4145 (license license:bsd-3)))
4146
4147 ;; This package builds `clock` without tests, since the tests rely on tasty
4148 ;; and tasty-quickcheck, which in turn require clock to build. When tasty and
4149 ;; tasty-quickcheck are added, we will add ghc-clock with tests enabled.
4150 (define ghc-clock-bootstrap
4151 (package
4152 (name "ghc-clock-bootstrap")
4153 (version "0.5.1")
4154 (source
4155 (origin
4156 (method url-fetch)
4157 (uri (string-append
4158 "https://hackage.haskell.org/package/"
4159 "clock/"
4160 "clock-" version ".tar.gz"))
4161 (sha256
4162 (base32 "1ncph7vi2q6ywwc8ysxl1ibw6i5dwfvln88ssfazk8jgpj4iyykw"))))
4163 (build-system haskell-build-system)
4164 (arguments `(#:tests? #f)) ;; Testing suite depends on tasty and
4165 ;; tasty-quickcheck, which need clock to build.
4166 (home-page "https://hackage.haskell.org/package/clock")
4167 (synopsis "High-resolution clock for Haskell")
4168 (description "A package for convenient access to high-resolution clock and
4169 timer functions of different operating systems via a unified API.")
4170 (license license:bsd-3)))
4171
4172 (define-public ghc-clock
4173 (package
4174 (name "ghc-clock")
4175 (version "0.5.1")
4176 (source
4177 (origin
4178 (method url-fetch)
4179 (uri (string-append
4180 "https://hackage.haskell.org/package/"
4181 "clock/"
4182 "clock-" version ".tar.gz"))
4183 (sha256
4184 (base32 "1ncph7vi2q6ywwc8ysxl1ibw6i5dwfvln88ssfazk8jgpj4iyykw"))))
4185 (build-system haskell-build-system)
4186 (inputs
4187 `(("ghc-tasty" ,ghc-tasty)
4188 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
4189 (home-page "https://hackage.haskell.org/package/clock")
4190 (synopsis "High-resolution clock for Haskell")
4191 (description "A package for convenient access to high-resolution clock and
4192 timer functions of different operating systems via a unified API.")
4193 (license license:bsd-3)))
4194
4195 (define-public ghc-charset
4196 (package
4197 (name "ghc-charset")
4198 (version "0.3.7.1")
4199 (source
4200 (origin
4201 (method url-fetch)
4202 (uri (string-append
4203 "https://hackage.haskell.org/package/charset/charset-"
4204 version
4205 ".tar.gz"))
4206 (sha256
4207 (base32
4208 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
4209 (build-system haskell-build-system)
4210 (inputs
4211 `(("ghc-semigroups" ,ghc-semigroups)
4212 ("ghc-unordered-containers" ,ghc-unordered-containers)))
4213 (home-page "https://github.com/ekmett/charset")
4214 (synopsis "Fast unicode character sets for Haskell")
4215 (description "This package provides fast unicode character sets for
4216 Haskell, based on complemented PATRICIA tries.")
4217 (license license:bsd-3)))
4218
4219 (define-public ghc-bytestring-builder
4220 (package
4221 (name "ghc-bytestring-builder")
4222 (version "0.10.6.0.0")
4223 (source
4224 (origin
4225 (method url-fetch)
4226 (uri (string-append
4227 "https://hackage.haskell.org/package/bytestring-builder"
4228 "/bytestring-builder-" version ".tar.gz"))
4229 (sha256
4230 (base32
4231 "1mkg24zl0rapb3gqzkyj5ibp07wx3yzd72hmfczssl0is63rjhww"))))
4232 (build-system haskell-build-system)
4233 (arguments `(#:haddock? #f)) ; Package contains no documentation.
4234 (home-page "https://hackage.haskell.org/package/bytestring-builder")
4235 (synopsis "The new bytestring builder, packaged outside of GHC")
4236 (description "This package provides the bytestring builder that is
4237 debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
4238 Compatibility package for older packages.")
4239 (license license:bsd-3)))
4240
4241 (define-public ghc-nats
4242 (package
4243 (name "ghc-nats")
4244 (version "1")
4245 (source
4246 (origin
4247 (method url-fetch)
4248 (uri (string-append
4249 "https://hackage.haskell.org/package/nats/nats-"
4250 version
4251 ".tar.gz"))
4252 (sha256
4253 (base32
4254 "0r6s8l4s0yq3x2crrkv0b8zac13magfasr9v8hnq6rn1icsfhic0"))))
4255 (build-system haskell-build-system)
4256 (arguments `(#:haddock? #f))
4257 (inputs
4258 `(("ghc-hashable" ,ghc-hashable)))
4259 (home-page "https://hackage.haskell.org/package/nats")
4260 (synopsis "Natural numbers")
4261 (description "This library provides the natural numbers for Haskell.")
4262 (license license:bsd-3)))
4263
4264 (define-public ghc-void
4265 (package
4266 (name "ghc-void")
4267 (version "0.7.1")
4268 (source
4269 (origin
4270 (method url-fetch)
4271 (uri (string-append
4272 "https://hackage.haskell.org/package/void/void-"
4273 version
4274 ".tar.gz"))
4275 (sha256
4276 (base32
4277 "1x15x2axz84ndw2bf60vjqljhrb0w95lddaljsxrl0hcd29zvw69"))))
4278 (build-system haskell-build-system)
4279 (inputs
4280 `(("ghc-semigroups" ,ghc-semigroups)
4281 ("ghc-hashable" ,ghc-hashable)))
4282 (home-page "https://github.com/ekmett/void")
4283 (synopsis
4284 "Logically uninhabited data type")
4285 (description
4286 "A Haskell 98 logically uninhabited data type, used to indicate that a
4287 given term should not exist.")
4288 (license license:bsd-3)))
4289
4290 (define-public ghc-kan-extensions
4291 (package
4292 (name "ghc-kan-extensions")
4293 (version "4.2.3")
4294 (source
4295 (origin
4296 (method url-fetch)
4297 (uri (string-append
4298 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
4299 version
4300 ".tar.gz"))
4301 (sha256
4302 (base32
4303 "0iywbadpy8s3isfzlx9dlz3apaywhqq4gdbxkwygksq8pzdhwkrk"))))
4304 (build-system haskell-build-system)
4305 (inputs
4306 `(("ghc-adjunctions" ,ghc-adjunctions)
4307 ("ghc-comonad" ,ghc-comonad)
4308 ("ghc-contravariant" ,ghc-contravariant)
4309 ("ghc-distributive" ,ghc-distributive)
4310 ("ghc-free" ,ghc-free)
4311 ("ghc-mtl" ,ghc-mtl)
4312 ("ghc-semigroupoids" ,ghc-semigroupoids)
4313 ("ghc-tagged" ,ghc-tagged)))
4314 (home-page "https://github.com/ekmett/kan-extensions/")
4315 (synopsis "Kan extensions library")
4316 (description "This library provides Kan extensions, Kan lifts, various
4317 forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
4318 (license license:bsd-3)))
4319
4320 (define-public ghc-statevar
4321 (package
4322 (name "ghc-statevar")
4323 (version "1.1.0.1")
4324 (source
4325 (origin
4326 (method url-fetch)
4327 (uri (string-append
4328 "https://hackage.haskell.org/package/StateVar/StateVar-"
4329 version
4330 ".tar.gz"))
4331 (sha256
4332 (base32
4333 "1ap51cvwq61xckx5hw44l82ihbxvsq3263xr5hqg42c5qp67kbhf"))))
4334 (build-system haskell-build-system)
4335 (inputs
4336 `(("ghc-stm" ,ghc-stm)))
4337 (home-page "https://hackage.haskell.org/package/StateVar")
4338 (synopsis "State variables for Haskell")
4339 (description "This package provides state variables, which are references
4340 in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
4341 (license license:bsd-3)))
4342
4343 (define-public ghc-lens
4344 (package
4345 (name "ghc-lens")
4346 (version "4.13")
4347 (source
4348 (origin
4349 (method url-fetch)
4350 (uri (string-append
4351 "https://hackage.haskell.org/package/lens/lens-"
4352 version
4353 ".tar.gz"))
4354 (sha256
4355 (base32
4356 "0g4g0xksrb2m8wgsmraaq8qnk1sssb42kr65fc7clgyid6zyfmim"))))
4357 (build-system haskell-build-system)
4358 (arguments `(#:tests? #f)) ; FIXME: doctest packagedb propagation problem.
4359 (inputs
4360 `(("ghc-base-orphans" ,ghc-base-orphans)
4361 ("ghc-bifunctors" ,ghc-bifunctors)
4362 ("ghc-distributive" ,ghc-distributive)
4363 ("ghc-exceptions" ,ghc-exceptions)
4364 ("ghc-free" ,ghc-free)
4365 ("ghc-kan-extensions" ,ghc-kan-extensions)
4366 ("ghc-parallel" ,ghc-parallel)
4367 ("ghc-reflection" ,ghc-reflection)
4368 ("ghc-semigroupoids" ,ghc-semigroupoids)
4369 ("ghc-vector" ,ghc-vector)
4370 ("ghc-comonad" ,ghc-comonad)
4371 ("ghc-contravariant" ,ghc-contravariant)
4372 ("ghc-hashable" ,ghc-hashable)
4373 ("ghc-mtl" ,ghc-mtl)
4374 ("ghc-profunctors" ,ghc-profunctors)
4375 ("ghc-semigroups" ,ghc-semigroups)
4376 ("ghc-tagged" ,ghc-tagged)
4377 ("ghc-text" ,ghc-text)
4378 ("ghc-transformers-compat" ,ghc-transformers-compat)
4379 ("ghc-unordered-containers" ,ghc-unordered-containers)
4380 ("ghc-void" ,ghc-void)
4381 ("ghc-generic-deriving" ,ghc-generic-deriving)
4382 ("ghc-nats" ,ghc-nats)
4383 ("ghc-simple-reflect" ,ghc-simple-reflect)
4384 ("hlint" ,hlint)))
4385 (home-page "https://github.com/ekmett/lens/")
4386 (synopsis "Lenses, Folds and Traversals")
4387 (description "This library provides @code{Control.Lens}. The combinators
4388 in @code{Control.Lens} provide a highly generic toolbox for composing families
4389 of getters, folds, isomorphisms, traversals, setters and lenses and their
4390 indexed variants.")
4391 (license license:bsd-3)))
4392
4393 (define-public ghc-tagsoup
4394 (package
4395 (name "ghc-tagsoup")
4396 (version "0.14")
4397 (source
4398 (origin
4399 (method url-fetch)
4400 (uri (string-append
4401 "https://hackage.haskell.org/package/tagsoup/tagsoup-"
4402 version
4403 ".tar.gz"))
4404 (sha256
4405 (base32
4406 "07pax7i0bl79dmqqz58zy09yrgpnyyr2ya0z183hv96kp65jv0lh"))))
4407 (build-system haskell-build-system)
4408 (inputs `(("ghc-text" ,ghc-text)))
4409 (home-page
4410 "http://community.haskell.org/~ndm/tagsoup/")
4411 (synopsis
4412 "Parsing and extracting information from (possibly malformed) HTML/XML
4413 documents")
4414 (description
4415 "TagSoup is a library for parsing HTML/XML. It supports the HTML 5
4416 specification, and can be used to parse either well-formed XML, or
4417 unstructured and malformed HTML from the web. The library also provides
4418 useful functions to extract information from an HTML document, making it ideal
4419 for screen-scraping.")
4420 (license license:bsd-3)))
4421
4422 (define-public ghc-digest
4423 (package
4424 (name "ghc-digest")
4425 (version "0.0.1.2")
4426 (source
4427 (origin
4428 (method url-fetch)
4429 (uri (string-append
4430 "https://hackage.haskell.org/package/digest/digest-"
4431 version
4432 ".tar.gz"))
4433 (sha256
4434 (base32
4435 "04gy2zp8yzvv7j9bdfvmfzcz3sqyqa6rwslqcn4vyair2vmif5v4"))))
4436 (build-system haskell-build-system)
4437 (inputs
4438 `(("zlib" ,zlib)))
4439 (home-page
4440 "https://hackage.haskell.org/package/digest")
4441 (synopsis
4442 "Various cryptographic hashes for bytestrings")
4443 (description
4444 "This package provides efficient cryptographic hash implementations for
4445 strict and lazy bytestrings. For now, CRC32 and Adler32 are supported; they
4446 are implemented as FFI bindings to efficient code from zlib.")
4447 (license license:bsd-3)))
4448
4449 (define-public ghc-cheapskate
4450 (package
4451 (name "ghc-cheapskate")
4452 (version "0.1.0.4")
4453 (source
4454 (origin
4455 (method url-fetch)
4456 (uri (string-append
4457 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
4458 version
4459 ".tar.gz"))
4460 (sha256
4461 (base32
4462 "0drx1hlqvdcrij4097q6bxhbfcqm73jsqv1wwhd3hsnjdmr46ch2"))))
4463 (build-system haskell-build-system)
4464 (inputs
4465 `(("ghc-xss-sanitize" ,ghc-xss-sanitize)
4466 ("ghc-data-default" ,ghc-data-default)
4467 ("ghc-mtl" ,ghc-mtl)
4468 ("ghc-text" ,ghc-text)
4469 ("ghc-blaze-html" ,ghc-blaze-html)
4470 ("ghc-syb" ,ghc-syb)
4471 ("ghc-uniplate" ,ghc-uniplate)
4472 ("ghc-aeson" ,ghc-aeson)
4473 ("ghc-wai-extra" ,ghc-wai-extra)
4474 ("ghc-wai" ,ghc-wai)
4475 ("ghc-http-types" ,ghc-http-types)))
4476 (home-page "https://github.com/jgm/cheapskate")
4477 (synopsis "Experimental markdown processor")
4478 (description "Cheapskate is an experimental Markdown processor in pure
4479 Haskell. It aims to process Markdown efficiently and in the most forgiving
4480 possible way. It is designed to deal with any input, including garbage, with
4481 linear performance. Output is sanitized by default for protection against XSS
4482 attacks.")
4483 (license license:bsd-3)))
4484
4485 (define-public ghc-bifunctors
4486 (package
4487 (name "ghc-bifunctors")
4488 (version "5")
4489 (source
4490 (origin
4491 (method url-fetch)
4492 (uri (string-append
4493 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
4494 version
4495 ".tar.gz"))
4496 (sha256
4497 (base32
4498 "13990xdgx0n23qgi18ghhmsywj5zkr0a5bim0g8a4nzi0cx95ps1"))))
4499 (build-system haskell-build-system)
4500 (inputs
4501 `(("ghc-tagged" ,ghc-tagged)
4502 ("ghc-semigroups" ,ghc-semigroups)))
4503 (home-page "https://github.com/ekmett/bifunctors/")
4504 (synopsis "Bifunctors for Haskell")
4505 (description "This package provides bifunctors for Haskell.")
4506 (license license:bsd-3)))
4507
4508 (define-public ghc-semigroupoids
4509 (package
4510 (name "ghc-semigroupoids")
4511 (version "5.0.0.4")
4512 (source
4513 (origin
4514 (method url-fetch)
4515 (uri (string-append
4516 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
4517 version
4518 ".tar.gz"))
4519 (sha256
4520 (base32
4521 "1jf7jnfhdvl6p18wdr21yi2fim1xb8alcn6szhrdswj0dkilgq6d"))))
4522 (build-system haskell-build-system)
4523 (arguments `(#:tests? #f)) ; FIXME: doctest packagedb propagation problem.
4524 (inputs
4525 `(("ghc-base-orphans" ,ghc-base-orphans)
4526 ("ghc-transformers-compat" ,ghc-transformers-compat)
4527 ("ghc-bifunctors" ,ghc-bifunctors)
4528 ("ghc-comonad" ,ghc-comonad)
4529 ("ghc-contravariant" ,ghc-contravariant)
4530 ("ghc-distributive" ,ghc-distributive)
4531 ("ghc-semigroups" ,ghc-semigroups)
4532 ("ghc-tagged" ,ghc-tagged)))
4533 (home-page "https://github.com/ekmett/semigroupoids")
4534 (synopsis "Semigroupoids operations for Haskell")
4535 (description "This library provides a wide array of (semi)groupoids and
4536 operations for working with them. A @code{Semigroupoid} is a @code{Category}
4537 without the requirement of identity arrows for every object in the category.
4538 A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
4539 Finally, to work with these weaker structures it is beneficial to have
4540 containers that can provide stronger guarantees about their contents, so
4541 versions of @code{Traversable} and @code{Foldable} that can be folded with
4542 just a @code{Semigroup} are added.")
4543 (license license:bsd-3)))
4544
4545 (define-public ghc-contravariant
4546 (package
4547 (name "ghc-contravariant")
4548 (version "1.3.3")
4549 (source
4550 (origin
4551 (method url-fetch)
4552 (uri (string-append
4553 "https://hackage.haskell.org/package/contravariant/contravariant-"
4554 version
4555 ".tar.gz"))
4556 (sha256
4557 (base32
4558 "184hcmhsznqrkmqlc1kza9pb5p591anva574ry8wrh81vqmhwfb5"))))
4559 (build-system haskell-build-system)
4560 (inputs
4561 `(("ghc-void" ,ghc-void)
4562 ("ghc-transformers-compat" ,ghc-transformers-compat)
4563 ("ghc-statevar" ,ghc-statevar)
4564 ("ghc-semigroups" ,ghc-semigroups)))
4565 (home-page
4566 "https://github.com/ekmett/contravariant/")
4567 (synopsis "Contravariant functors")
4568 (description "Contravariant functors for Haskell.")
4569 (license license:bsd-3)))
4570
4571 (define-public ghc-semigroups
4572 (package
4573 (name "ghc-semigroups")
4574 (version "0.17.0.1")
4575 (source
4576 (origin
4577 (method url-fetch)
4578 (uri (string-append
4579 "https://hackage.haskell.org/package/semigroups/semigroups-"
4580 version
4581 ".tar.gz"))
4582 (sha256
4583 (base32
4584 "0gvpfi7s6ys4qha3y9a1zl1a15gf9cgg33wjb94ghg82ivcxnc3r"))))
4585 (build-system haskell-build-system)
4586 (inputs
4587 `(("ghc-nats" ,ghc-nats)
4588 ("ghc-tagged" ,ghc-tagged)
4589 ("ghc-unordered-containers" ,ghc-unordered-containers)
4590 ("ghc-text" ,ghc-text)
4591 ("ghc-hashable" ,ghc-hashable)))
4592 (home-page "https://github.com/ekmett/semigroups/")
4593 (synopsis "Semigroup operations for Haskell")
4594 (description "This package provides semigroups for Haskell. In
4595 mathematics, a semigroup is an algebraic structure consisting of a set
4596 together with an associative binary operation. A semigroup generalizes a
4597 monoid in that there might not exist an identity element. It
4598 also (originally) generalized a group (a monoid with all inverses) to a type
4599 where every element did not have to have an inverse, thus the name
4600 semigroup.")
4601 (license license:bsd-3)))
4602
4603 (define-public ghc-free
4604 (package
4605 (name "ghc-free")
4606 (version "4.12.1")
4607 (source
4608 (origin
4609 (method url-fetch)
4610 (uri (string-append
4611 "https://hackage.haskell.org/package/free/free-"
4612 version
4613 ".tar.gz"))
4614 (sha256
4615 (base32
4616 "0sr8phvrb4ny8j1wzq55rdn8q4br23q4pw2j276npr844825jr9p"))))
4617 (build-system haskell-build-system)
4618 (inputs
4619 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4620 ("ghc-profunctors" ,ghc-profunctors)
4621 ("ghc-exceptions" ,ghc-exceptions)
4622 ("ghc-bifunctors" ,ghc-bifunctors)
4623 ("ghc-comonad" ,ghc-comonad)
4624 ("ghc-distributive" ,ghc-distributive)
4625 ("ghc-mtl" ,ghc-mtl)
4626 ("ghc-semigroupoids" ,ghc-semigroupoids)
4627 ("ghc-semigroups" ,ghc-semigroups)))
4628 (home-page "https://github.com/ekmett/free/")
4629 (synopsis "Unrestricted monads for Haskell")
4630 (description "This library provides free monads, which are useful for many
4631 tree-like structures and domain specific languages. If @code{f} is a
4632 @code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4633 whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4634 is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4635 f} makes no constraining assumptions beyond those given by @code{f} and the
4636 definition of @code{Monad}.")
4637 (license license:bsd-3)))
4638
4639 (define-public ghc-adjunctions
4640 (package
4641 (name "ghc-adjunctions")
4642 (version "4.2.2")
4643 (source
4644 (origin
4645 (method url-fetch)
4646 (uri (string-append
4647 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
4648 version
4649 ".tar.gz"))
4650 (sha256
4651 (base32
4652 "00p030iypjzjib8pxz1x6mxfi59wvyrwjj11zv9bh766dgkdbwjq"))))
4653 (build-system haskell-build-system)
4654 (inputs
4655 `(("ghc-profunctors" ,ghc-profunctors)
4656 ("ghc-comonad" ,ghc-comonad)
4657 ("ghc-contravariant" ,ghc-contravariant)
4658 ("ghc-distributive" ,ghc-distributive)
4659 ("ghc-free" ,ghc-free)
4660 ("ghc-mtl" ,ghc-mtl)
4661 ("ghc-tagged" ,ghc-tagged)
4662 ("ghc-semigroupoids" ,ghc-semigroupoids)
4663 ("ghc-semigroups" ,ghc-semigroups)
4664 ("ghc-void" ,ghc-void)))
4665 (home-page "https://github.com/ekmett/adjunctions/")
4666 (synopsis "Adjunctions and representable functors")
4667 (description "This library provides adjunctions and representable functors
4668 for Haskell.")
4669 (license license:bsd-3)))
4670
4671 (define-public ghc-fast-logger
4672 (package
4673 (name "ghc-fast-logger")
4674 (version "2.4.1")
4675 (source
4676 (origin
4677 (method url-fetch)
4678 (uri (string-append
4679 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
4680 version
4681 ".tar.gz"))
4682 (sha256
4683 (base32
4684 "0kjk1861qcls8m8y7i55msfpprws5wk6c5mxzi35g2qbl2sih4p5"))))
4685 (build-system haskell-build-system)
4686 (inputs
4687 `(("ghc-bytestring-builder" ,ghc-bytestring-builder)
4688 ("ghc-auto-update" ,ghc-auto-update)
4689 ("ghc-text" ,ghc-text)))
4690 (native-inputs
4691 `(("hspec-discover" ,hspec-discover)
4692 ("ghc-hspec" ,ghc-hspec)))
4693 (home-page "https://hackage.haskell.org/package/fast-logger")
4694 (synopsis "Fast logging system")
4695 (description "This library provides a fast logging system for Haskell.")
4696 (license license:bsd-3)))
4697
4698 (define-public ghc-doctest
4699 (package
4700 (name "ghc-doctest")
4701 (version "0.10.1")
4702 (source
4703 (origin
4704 (method url-fetch)
4705 (uri (string-append
4706 "https://hackage.haskell.org/package/doctest/doctest-"
4707 version
4708 ".tar.gz"))
4709 (sha256
4710 (base32
4711 "1jbyhzbi2hfrfg7vbkpj6vriaap8cn99nnmzwcfscwaijz09jyrm"))))
4712 (build-system haskell-build-system)
4713 (arguments `(#:tests? #f)) ; FIXME: missing test framework
4714 (inputs
4715 `(("ghc-syb" ,ghc-syb)
4716 ("ghc-paths" ,ghc-paths)
4717 ("ghc-base-compat" ,ghc-base-compat)
4718 ("ghc-hunit" ,ghc-hunit)
4719 ("ghc-hspec" ,ghc-hspec)
4720 ("ghc-quickcheck" ,ghc-quickcheck)
4721 ("ghc-stringbuilder" ,ghc-stringbuilder)
4722 ("ghc-silently" ,ghc-silently)
4723 ("ghc-setenv" ,ghc-setenv)))
4724 (home-page
4725 "https://github.com/sol/doctest#readme")
4726 (synopsis "Test interactive Haskell examples")
4727 (description "The doctest program checks examples in source code comments.
4728 It is modeled after doctest for Python, see
4729 @uref{http://docs.python.org/library/doctest.html, the Doctest website}.")
4730 (license license:expat)))
4731
4732 (define-public ghc-lifted-base
4733 (package
4734 (name "ghc-lifted-base")
4735 (version "0.2.3.6")
4736 (source
4737 (origin
4738 (method url-fetch)
4739 (uri (string-append
4740 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
4741 version
4742 ".tar.gz"))
4743 (sha256
4744 (base32
4745 "1yz14a1rsgknwyl08n4kxrlc26hfwmb95a3c2drbnsgmhdyq7iap"))))
4746 (build-system haskell-build-system)
4747 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
4748 (inputs
4749 `(("ghc-transformers-base" ,ghc-transformers-base)
4750 ("ghc-monad-control" ,ghc-monad-control)
4751 ("ghc-transformers-compat" ,ghc-transformers-compat)
4752 ("ghc-hunit" ,ghc-hunit)))
4753 (home-page "https://github.com/basvandijk/lifted-base")
4754 (synopsis "Lifted IO operations from the base library")
4755 (description "Lifted-base exports IO operations from the @code{base}
4756 library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
4757 Note that not all modules from @code{base} are converted yet. The package
4758 includes a copy of the @code{monad-peel} test suite written by Anders
4759 Kaseorg.")
4760 (license license:bsd-3)))
4761
4762 (define-public ghc-word8
4763 (package
4764 (name "ghc-word8")
4765 (version "0.1.2")
4766 (source
4767 (origin
4768 (method url-fetch)
4769 (uri (string-append
4770 "https://hackage.haskell.org/package/word8/word8-"
4771 version
4772 ".tar.gz"))
4773 (sha256
4774 (base32
4775 "1pbn8ra3qhwvw07p375cdmp7jzlg07hgdcr4cpscz3h7b9sy7fiw"))))
4776 (build-system haskell-build-system)
4777 (native-inputs
4778 `(("ghc-hspec" ,ghc-hspec)
4779 ("hspec-discover" ,hspec-discover)))
4780 (home-page "https://hackage.haskell.org/package/word8")
4781 (synopsis "Word8 library for Haskell")
4782 (description "Word8 library to be used with @code{Data.ByteString}.")
4783 (license license:bsd-3)))
4784
4785 (define-public ghc-stringsearch
4786 (package
4787 (name "ghc-stringsearch")
4788 (version "0.3.6.6")
4789 (source
4790 (origin
4791 (method url-fetch)
4792 (uri (string-append
4793 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
4794 version
4795 ".tar.gz"))
4796 (sha256
4797 (base32
4798 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
4799 (build-system haskell-build-system)
4800 (home-page "https://bitbucket.org/dafis/stringsearch")
4801 (synopsis "Fast searching, splitting and replacing of ByteStrings")
4802 (description "This package provides several functions to quickly search
4803 for substrings in strict or lazy @code{ByteStrings}. It also provides
4804 functions for breaking or splitting on substrings and replacing all
4805 occurrences of a substring (the first in case of overlaps) with another.")
4806 (license license:bsd-3)))
4807
4808 (define-public ghc-tasty-quickcheck
4809 (package
4810 (name "ghc-tasty-quickcheck")
4811 (version "0.8.4")
4812 (source
4813 (origin
4814 (method url-fetch)
4815 (uri (string-append
4816 "https://hackage.haskell.org/package/tasty-quickcheck/"
4817 "tasty-quickcheck-" version ".tar.gz"))
4818 (sha256
4819 (base32
4820 "15rjxib5jmjq0hzj47x15kgp3awc73va4cy1pmpf7k3hvfv4qprn"))))
4821 (build-system haskell-build-system)
4822 (inputs
4823 `(("ghc-quickcheck" ,ghc-quickcheck)
4824 ("ghc-tagged" ,ghc-tagged)
4825 ("ghc-tasty" ,ghc-tasty)
4826 ("ghc-random" ,ghc-random)
4827 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
4828 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4829 ("ghc-pcre-light" ,ghc-pcre-light)))
4830 (home-page "http://documentup.com/feuerbach/tasty")
4831 (synopsis "QuickCheck support for the Tasty test framework")
4832 (description "This package provides QuickCheck support for the Tasty
4833 Haskell test framework.")
4834 (license license:expat)))
4835
4836 (define-public ghc-tasty-golden
4837 (package
4838 (name "ghc-tasty-golden")
4839 (version "2.3.0.2")
4840 (source
4841 (origin
4842 (method url-fetch)
4843 (uri (string-append
4844 "https://hackage.haskell.org/package/tasty-golden/tasty-golden-"
4845 version
4846 ".tar.gz"))
4847 (sha256
4848 (base32
4849 "0n7nll1sx75n3lffwhgnjrxdn0jz1g0921z9mj193fxqw0wz8axh"))))
4850 (build-system haskell-build-system)
4851 (inputs
4852 `(("ghc-temporary" ,ghc-temporary)
4853 ("ghc-tasty" ,ghc-tasty)
4854 ("ghc-mtl" ,ghc-mtl)
4855 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4856 ("ghc-tagged" ,ghc-tagged)
4857 ("ghc-async" ,ghc-async)
4858 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4859 ("ghc-temporary-rc" ,ghc-temporary-rc)))
4860 (home-page
4861 "https://github.com/feuerbach/tasty-golden")
4862 (synopsis "Golden tests support for tasty")
4863 (description
4864 "This package provides support for 'golden testing'. A golden test is an
4865 IO action that writes its result to a file. To pass the test, this output
4866 file should be identical to the corresponding 'golden' file, which contains
4867 the correct result for the test.")
4868 (license license:expat)))
4869
4870 (define-public ghc-tasty
4871 (package
4872 (name "ghc-tasty")
4873 (version "0.11.0.1")
4874 (source
4875 (origin
4876 (method url-fetch)
4877 (uri (string-append
4878 "https://hackage.haskell.org/package/tasty/tasty-"
4879 version
4880 ".tar.gz"))
4881 (sha256
4882 (base32
4883 "1chapivmmwsb1ghwagvdm80bfj3hdk75m94z4p212ng2i4ghpjkx"))))
4884 (build-system haskell-build-system)
4885 (inputs
4886 `(("ghc-stm" ,ghc-stm)
4887 ("ghc-mtl" ,ghc-mtl)
4888 ("ghc-tagged" ,ghc-tagged)
4889 ("ghc-regex-tdfa-rc" ,ghc-regex-tdfa-rc)
4890 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4891 ("ghc-unbounded-delays" ,ghc-unbounded-delays)
4892 ("ghc-async" ,ghc-async)
4893 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
4894 ("ghc-clock-bootstrap" ,ghc-clock-bootstrap)))
4895 (home-page "http://documentup.com/feuerbach/tasty")
4896 (synopsis "Modern and extensible testing framework")
4897 (description "Tasty is a modern testing framework for Haskell. It lets
4898 you combine your unit tests, golden tests, QuickCheck/SmallCheck properties,
4899 and any other types of tests into a single test suite.")
4900 (license license:expat)))
4901
4902 (define-public ghc-tasty-hunit
4903 (package
4904 (name "ghc-tasty-hunit")
4905 (version "0.9.2")
4906 (source
4907 (origin
4908 (method url-fetch)
4909 (uri (string-append
4910 "https://hackage.haskell.org/package/tasty-hunit/tasty-hunit-"
4911 version
4912 ".tar.gz"))
4913 (sha256
4914 (base32
4915 "08qnxaw34wfnzi9irs1jd4d0zczqm3k5ffkd4zwhkz0dflmgq7mf"))))
4916 (build-system haskell-build-system)
4917 (inputs
4918 `(("ghc-tasty" ,ghc-tasty)))
4919 (home-page "http://documentup.com/feuerbach/tasty")
4920 (synopsis "HUnit support for the Tasty test framework")
4921 (description "This package provides HUnit support for the Tasty Haskell
4922 test framework.")
4923 (license license:expat)))
4924
4925 (define-public ghc-cookie
4926 (package
4927 (name "ghc-cookie")
4928 (version "0.4.1.6")
4929 (source
4930 (origin
4931 (method url-fetch)
4932 (uri (string-append
4933 "https://hackage.haskell.org/package/cookie/cookie-"
4934 version
4935 ".tar.gz"))
4936 (sha256
4937 (base32
4938 "0b6ym6fn29p5az4dwydy036lxj131kagrmgb93w4bbkqfkds8b9s"))))
4939 (build-system haskell-build-system)
4940 (inputs
4941 `(("ghc-old-locale" ,ghc-old-locale)
4942 ("ghc-blaze-builder" ,ghc-blaze-builder)
4943 ("ghc-text" ,ghc-text)
4944 ("ghc-data-default-class" ,ghc-data-default-class)
4945 ("ghc-hunit" ,ghc-hunit)
4946 ("ghc-quickcheck" ,ghc-quickcheck)
4947 ("ghc-tasty" ,ghc-tasty)
4948 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4949 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
4950 (home-page "https://github.com/snoyberg/cookie")
4951 (synopsis "HTTP cookie parsing and rendering")
4952 (description "HTTP cookie parsing and rendering library for Haskell.")
4953 (license license:bsd-3)))
4954
4955 (define-public ghc-scientific
4956 (package
4957 (name "ghc-scientific")
4958 (version "0.3.4.2")
4959 (source
4960 (origin
4961 (method url-fetch)
4962 (uri (string-append
4963 "https://hackage.haskell.org/package/scientific/scientific-"
4964 version
4965 ".tar.gz"))
4966 (sha256
4967 (base32
4968 "0mimdkva0cgzaychr6whv9if29z0r5wwhkss9bmd4rz8kq1kgngn"))))
4969 (build-system haskell-build-system)
4970 (inputs
4971 `(("ghc-hashable" ,ghc-hashable)
4972 ("ghc-vector" ,ghc-vector)
4973 ("ghc-text" ,ghc-text)
4974 ("ghc-tasty" ,ghc-tasty)
4975 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
4976 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4977 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4978 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4979 ("ghc-smallcheck" ,ghc-smallcheck)
4980 ("ghc-quickcheck" ,ghc-quickcheck)))
4981 (home-page "https://github.com/basvandijk/scientific")
4982 (synopsis "Numbers represented using scientific notation")
4983 (description "This package provides @code{Data.Scientific}, which provides
4984 the number type @code{Scientific}. Scientific numbers are arbitrary precision
4985 and space efficient. They are represented using
4986 @uref{http://en.wikipedia.org/wiki/Scientific_notation, scientific
4987 notation}.")
4988 (license license:bsd-3)))
4989
4990 (define-public ghc-aeson
4991 (package
4992 (name "ghc-aeson")
4993 (version "0.10.0.0")
4994 (source
4995 (origin
4996 (method url-fetch)
4997 (uri (string-append
4998 "https://hackage.haskell.org/package/aeson/aeson-"
4999 version
5000 ".tar.gz"))
5001 (sha256
5002 (base32
5003 "19kp33rfivr4d3myyr8xn803wd7p8x5nc4wb3qvlgjwgyqjaxvrz"))))
5004 (build-system haskell-build-system)
5005 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
5006 (inputs
5007 `(("ghc-attoparsec" ,ghc-attoparsec)
5008 ("ghc-dlist" ,ghc-dlist)
5009 ("ghc-mtl" ,ghc-mtl)
5010 ("ghc-scientific" ,ghc-scientific)
5011 ("ghc-syb" ,ghc-syb)
5012 ("ghc-unordered-containers" ,ghc-unordered-containers)
5013 ("ghc-vector" ,ghc-vector)
5014 ("ghc-hashable" ,ghc-hashable)
5015 ("ghc-text" ,ghc-text)
5016 ("ghc-hunit" ,ghc-hunit)
5017 ("ghc-quickcheck" ,ghc-quickcheck)))
5018 (home-page "https://github.com/bos/aeson")
5019 (synopsis "Fast JSON parsing and encoding")
5020 (description "This package provides a JSON parsing and encoding library
5021 for Haskell, optimized for ease of use and high performance. (A note on
5022 naming: in Greek mythology, Aeson was the father of Jason.)")
5023 (license license:bsd-3)))
5024
5025 (define-public ghc-aeson-pretty
5026 (package
5027 (name "ghc-aeson-pretty")
5028 (version "0.7.2")
5029 (source (origin
5030 (method url-fetch)
5031 (uri (string-append
5032 "https://hackage.haskell.org/package/aeson-pretty/aeson-pretty-"
5033 version ".tar.gz"))
5034 (sha256
5035 (base32
5036 "03ap81853qi8yd9kdgczllrrni23a6glsfxrwj8zab6ipjrbh234"))))
5037 (build-system haskell-build-system)
5038 (inputs
5039 `(("ghc-aeson" ,ghc-aeson)
5040 ("ghc-vector" ,ghc-vector)
5041 ("ghc-text" ,ghc-text)
5042 ("ghc-unordered-containers"
5043 ,ghc-unordered-containers)
5044 ("ghc-attoparsec" ,ghc-attoparsec)
5045 ("ghc-cmdargs" ,ghc-cmdargs)))
5046 (home-page "https://github.com/informatikr/aeson-pretty")
5047 (synopsis "JSON pretty-printing library and command-line tool")
5048 (description
5049 "This package provides a JSON pretty-printing library compatible with aeson
5050 as well as a command-line tool to improve readabilty of streams of JSON data.
5051 The library provides the function @code{encodePretty}. It is a drop-in
5052 replacement for aeson's @code{encode} function, producing JSON-ByteStrings for
5053 human readers. The command-line tool reads JSON from stdin and writes
5054 prettified JSON to stdout. It also offers a complementary \"compact\"-mode,
5055 essentially the opposite of pretty-printing.")
5056 (license license:bsd-3)))
5057
5058 (define-public ghc-wai
5059 (package
5060 (name "ghc-wai")
5061 (version "3.0.4.0")
5062 (source
5063 (origin
5064 (method url-fetch)
5065 (uri (string-append
5066 "https://hackage.haskell.org/package/wai/wai-"
5067 version
5068 ".tar.gz"))
5069 (sha256
5070 (base32
5071 "1551n0g0n22vml33v0jz5xgjcy6j79algvsdqg11a1z5ljjrjlqf"))))
5072 (build-system haskell-build-system)
5073 (inputs
5074 `(("ghc-bytestring-builder" ,ghc-bytestring-builder)
5075 ("ghc-unix-compat" ,ghc-unix-compat)
5076 ("ghc-vault" ,ghc-vault)
5077 ("ghc-blaze-builder" ,ghc-blaze-builder)
5078 ("ghc-network" ,ghc-network)
5079 ("ghc-text" ,ghc-text)
5080 ("ghc-http-types" ,ghc-http-types)))
5081 (native-inputs
5082 `(("hspec-discover" ,hspec-discover)
5083 ("ghc-quickcheck" ,ghc-quickcheck)
5084 ("ghc-hunit" ,ghc-hunit)
5085 ("ghc-hspec" ,ghc-hspec)))
5086 (home-page "https://hackage.haskell.org/package/wai")
5087 (synopsis "Web application interface for Haskell")
5088 (description "This package provides a Web Application Interface (WAI)
5089 library for the Haskell language. It defines a common protocol for
5090 communication between web applications and web servers.")
5091 (license license:bsd-3)))
5092
5093 (define-public ghc-wai-logger
5094 (package
5095 (name "ghc-wai-logger")
5096 (version "2.2.4.1")
5097 (source
5098 (origin
5099 (method url-fetch)
5100 (uri (string-append
5101 "https://hackage.haskell.org/package/wai-logger/wai-logger-"
5102 version
5103 ".tar.gz"))
5104 (sha256
5105 (base32
5106 "1s6svvy3ci4j1dj1jaw8hg628miwj8f5gpy9n8d8hpsaxav6nzgk"))))
5107 (build-system haskell-build-system)
5108 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find libraries exported
5109 ; by propagated-inputs.
5110 (inputs
5111 `(("ghc-auto-update" ,ghc-auto-update)
5112 ("ghc-byteorder" ,ghc-byteorder)
5113 ("ghc-easy-file" ,ghc-easy-file)
5114 ("ghc-unix-time" ,ghc-unix-time)
5115 ("ghc-blaze-builder" ,ghc-blaze-builder)
5116 ("ghc-case-insensitive" ,ghc-case-insensitive)
5117 ("ghc-fast-logger" ,ghc-fast-logger)
5118 ("ghc-http-types" ,ghc-http-types)
5119 ("ghc-network" ,ghc-network)
5120 ("ghc-wai" ,ghc-wai)))
5121 (home-page "https://hackage.haskell.org/package/wai-logger")
5122 (synopsis "Logging system for WAI")
5123 (description "This package provides the logging system for WAI.")
5124 (license license:bsd-3)))
5125
5126 (define-public ghc-wai-extra
5127 (package
5128 (name "ghc-wai-extra")
5129 (version "3.0.11.1")
5130 (source
5131 (origin
5132 (method url-fetch)
5133 (uri (string-append
5134 "https://hackage.haskell.org/package/wai-extra/wai-extra-"
5135 version
5136 ".tar.gz"))
5137 (sha256
5138 (base32
5139 "1kr2s5qyx1dvnwr372h7pca4sgxjv0pdx96xkgsfi180h3mb0vq8"))))
5140 (build-system haskell-build-system)
5141 (inputs
5142 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
5143 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
5144 ("ghc-cookie" ,ghc-cookie)
5145 ("ghc-blaze-builder" ,ghc-blaze-builder)
5146 ("ghc-network" ,ghc-network)
5147 ("ghc-lifted-base" ,ghc-lifted-base)
5148 ("ghc-streaming-commons" ,ghc-streaming-commons)
5149 ("ghc-stringsearch" ,ghc-stringsearch)
5150 ("ghc-resourcet" ,ghc-resourcet)
5151 ("ghc-fast-logger" ,ghc-fast-logger)
5152 ("ghc-wai-logger" ,ghc-wai-logger)
5153 ("ghc-zlib" ,ghc-zlib)
5154 ("ghc-word8" ,ghc-word8)
5155 ("ghc-iproute" ,ghc-iproute)
5156 ("ghc-void" ,ghc-void)
5157 ("ghc-wai" ,ghc-wai)
5158 ("ghc-http-types" ,ghc-http-types)
5159 ("ghc-text" ,ghc-text)
5160 ("ghc-case-insensitive" ,ghc-case-insensitive)
5161 ("ghc-data-default-class" ,ghc-data-default-class)
5162 ("ghc-unix-compat" ,ghc-unix-compat)
5163 ("ghc-vault" ,ghc-vault)
5164 ("ghc-aeson" ,ghc-aeson)))
5165 (native-inputs
5166 `(("hspec-discover" ,hspec-discover)
5167 ("ghc-hspec" ,ghc-hspec)
5168 ("ghc-hunit" ,ghc-hunit)))
5169 (home-page "https://github.com/yesodweb/wai")
5170 (synopsis "Some basic WAI handlers and middleware")
5171 (description "This library provides basic WAI handlers and middleware
5172 functionality.")
5173 (license license:expat)))
5174
5175 (define-public ghc-deepseq-generics
5176 (package
5177 (name "ghc-deepseq-generics")
5178 (version "0.1.1.2")
5179 (source (origin
5180 (method url-fetch)
5181 (uri (string-append "https://hackage.haskell.org/package/"
5182 "deepseq-generics/deepseq-generics-"
5183 version ".tar.gz"))
5184 (sha256
5185 (base32
5186 "01pvigx8n9p8hwbzp2qiq6kzf7cxiam843jz2sjgliacmmp1v7l3"))))
5187 (build-system haskell-build-system)
5188 (arguments
5189 `(#:phases
5190 (modify-phases %standard-phases
5191 (add-after 'unpack 'relax-ghc-prim-dependency
5192 (lambda _
5193 (substitute* "deepseq-generics.cabal"
5194 (("< 0.4") "< 0.5"))
5195 #t)))))
5196 (native-inputs
5197 `(("ghc-hunit" ,ghc-hunit)
5198 ("ghc-test-framework" ,ghc-test-framework)
5199 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5200 (home-page "https://github.com/hvr/deepseq-generics")
5201 (synopsis "Generic RNF implementation")
5202 (description
5203 "This package provides a @code{GHC.Generics}-based
5204 @code{Control.DeepSeq.Generics.genericRnf} function which can be used for
5205 providing an 'rnf' implementation.")
5206 (license license:bsd-3)))
5207
5208 (define-public ghc-pandoc-types
5209 (package
5210 (name "ghc-pandoc-types")
5211 (version "1.16.1.1")
5212 (source (origin
5213 (method url-fetch)
5214 (uri (string-append "https://hackage.haskell.org/package/"
5215 "pandoc-types/pandoc-types-"
5216 version ".tar.gz"))
5217 (sha256
5218 (base32
5219 "094mzgdxva84kcpjf9m8b5n3chm1wm44bzflh5x6xhddz6pb7zpq"))))
5220 (build-system haskell-build-system)
5221 (inputs
5222 `(("ghc-syb" ,ghc-syb)
5223 ("ghc-aeson" ,ghc-aeson)
5224 ("ghc-deepseq-generics" ,ghc-deepseq-generics)))
5225 (home-page "http://johnmacfarlane.net/pandoc")
5226 (synopsis "Types for representing a structured document")
5227 (description
5228 "This module defines the @code{Pandoc} data structure, which is used by
5229 pandoc to represent structured documents. It also provides functions for
5230 building up, manipulating and serialising @code{Pandoc} structures.")
5231 (license license:bsd-3)))
5232
5233 (define-public ghc-texmath
5234 (package
5235 (name "ghc-texmath")
5236 (version "0.8.6.5")
5237 (source (origin
5238 (method url-fetch)
5239 (uri (string-append "https://hackage.haskell.org/package/"
5240 "texmath/texmath-" version ".tar.gz"))
5241 (sha256
5242 (base32
5243 "143c8k7dyhwa9blpa8svy23ybx7i4xzb9jnfcimj8iigizbw7y1k"))))
5244 (build-system haskell-build-system)
5245 (inputs
5246 `(("ghc-syb" ,ghc-syb)
5247 ("ghc-network-uri" ,ghc-network-uri)
5248 ("ghc-split" ,ghc-split)
5249 ("ghc-temporary" ,ghc-temporary)
5250 ("ghc-utf8-string" ,ghc-utf8-string)
5251 ("ghc-xml" ,ghc-xml)
5252 ("ghc-parsec" ,ghc-parsec)
5253 ("ghc-mtl" ,ghc-mtl)
5254 ("ghc-pandoc-types" ,ghc-pandoc-types)))
5255 (home-page "https://github.com/jgm/texmath")
5256 (synopsis "Conversion between formats used to represent mathematics")
5257 (description
5258 "The texmath library provides functions to read and write TeX math,
5259 presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
5260 Office). Support is also included for converting math formats to pandoc's
5261 native format (allowing conversion, via pandoc, to a variety of different
5262 markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
5263 it can parse and apply LaTeX macros.")
5264 (license license:gpl2+)))
5265
5266 (define-public ghc-regex-pcre-builtin
5267 (package
5268 (name "ghc-regex-pcre-builtin")
5269 (version "0.94.4.8.8.35")
5270 (source (origin
5271 (method url-fetch)
5272 (uri (string-append "https://hackage.haskell.org/package/"
5273 "regex-pcre-builtin/regex-pcre-builtin-"
5274 version ".tar.gz"))
5275 (sha256
5276 (base32
5277 "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b"))))
5278 (build-system haskell-build-system)
5279 (inputs
5280 `(("ghc-regex-base" ,ghc-regex-base)))
5281 (home-page "https://hackage.haskell.org/package/regex-pcre")
5282 (synopsis "Enhancement of the builtin Text.Regex library")
5283 (description
5284 "This package is an enhancement of the @code{Text.Regex} library,
5285 providing the PCRE backend to accompany regex-base, with bundled code from
5286 @url{http://www.pcre.org}.")
5287 (license license:bsd-3)))
5288
5289 (define-public ghc-diff
5290 (package
5291 (name "ghc-diff")
5292 (version "0.3.2")
5293 (source (origin
5294 (method url-fetch)
5295 (uri (string-append "https://hackage.haskell.org/package/"
5296 "Diff/Diff-" version ".tar.gz"))
5297 (sha256
5298 (base32
5299 "13iqqmpadcm7fvqwbfrz94w030rvjh66w2bdls1253128ac2n0vz"))))
5300 (build-system haskell-build-system)
5301 (home-page "http://hub.darcs.net/sterlingclover/Diff")
5302 (synopsis "O(ND) diff algorithm in Haskell")
5303 (description
5304 "This package provides an implementation of the standard diff algorithm,
5305 and utilities for pretty printing.")
5306 (license license:bsd-3)))
5307
5308 (define-public ghc-highlighting-kate
5309 (package
5310 (name "ghc-highlighting-kate")
5311 (version "0.6.3")
5312 (source (origin
5313 (method url-fetch)
5314 (uri (string-append "https://hackage.haskell.org/package/"
5315 "highlighting-kate/highlighting-kate-"
5316 version ".tar.gz"))
5317 (sha256
5318 (base32
5319 "03c4flh4h1jd48bx0qmplax3q8w6wj1dhbh6j0xhaf5h95fbinki"))))
5320 (build-system haskell-build-system)
5321 (inputs
5322 `(("ghc-diff" ,ghc-diff)
5323 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5324 (native-inputs
5325 `(("ghc-parsec" ,ghc-parsec)
5326 ("ghc-blaze-html" ,ghc-blaze-html)
5327 ("ghc-utf8-string" ,ghc-utf8-string)
5328 ("ghc-mtl" ,ghc-mtl)))
5329 (home-page "https://github.com/jgm/highlighting-kate")
5330 (synopsis "Syntax highlighting library")
5331 (description
5332 "Highlighting-kate is a syntax highlighting library with support for
5333 nearly one hundred languages. The syntax parsers are automatically generated
5334 from @uref{http://kate-editor.org/, Kate syntax descriptions}, so any syntax
5335 supported by Kate can be added. An (optional) command-line program is
5336 provided, along with a utility for generating new parsers from Kate XML syntax
5337 descriptions.")
5338 (license license:gpl2+)))
5339
5340 (define-public ghc-cmark
5341 (package
5342 (name "ghc-cmark")
5343 (version "0.5.3.1")
5344 (source (origin
5345 (method url-fetch)
5346 (uri (string-append "https://hackage.haskell.org/package/"
5347 "cmark/cmark-" version ".tar.gz"))
5348 (sha256
5349 (base32
5350 "09515h9b26az9c2mbl6l7azimaixa6yff8w359k0ml8jwykjvqaa"))))
5351 (build-system haskell-build-system)
5352 (inputs
5353 `(("ghc-text" ,ghc-text)))
5354 (native-inputs
5355 `(("ghc-hunit" ,ghc-hunit)))
5356 (home-page "https://github.com/jgm/commonmark-hs")
5357 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
5358 (description
5359 "This package provides Haskell bindings for
5360 @uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
5361 CommonMark, a fully specified variant of Markdown. It includes sources for
5362 libcmark (0.21.0) and does not require prior installation of the C library.")
5363 (license license:bsd-3)))
5364
5365 (define-public ghc-executable-path
5366 (package
5367 (name "ghc-executable-path")
5368 (version "0.0.3")
5369 (source (origin
5370 (method url-fetch)
5371 (uri (string-append "https://hackage.haskell.org/package/"
5372 "executable-path/executable-path-"
5373 version ".tar.gz"))
5374 (sha256
5375 (base32
5376 "1jg58qf19qz93c60ryglcavwdcysz4fd4qn8kpw5im9w9kniawlc"))))
5377 (build-system haskell-build-system)
5378 (home-page "https://hackage.haskell.org/package/executable-path")
5379 (synopsis "Find out the full path of the executable")
5380 (description
5381 "The documentation of @code{System.Environment.getProgName} says that
5382 \"However, this is hard-to-impossible to implement on some non-Unix OSes, so
5383 instead, for maximum portability, we just return the leafname of the program
5384 as invoked.\" This library tries to provide the missing path.")
5385 (license license:public-domain)))
5386
5387 (define-public ghc-enclosed-exceptions
5388 (package
5389 (name "ghc-enclosed-exceptions")
5390 (version "1.0.1.1")
5391 (source (origin
5392 (method url-fetch)
5393 (uri (string-append "https://hackage.haskell.org/package/"
5394 "enclosed-exceptions/enclosed-exceptions-"
5395 version ".tar.gz"))
5396 (sha256
5397 (base32
5398 "16ax1kqdsk4apg642qxkm2hf9vb5hzmkd14zmkxra8ssp8rn28z5"))))
5399 (build-system haskell-build-system)
5400 (inputs
5401 `(("ghc-lifted-base" ,ghc-lifted-base)
5402 ("ghc-monad-control" ,ghc-monad-control)
5403 ("ghc-async" ,ghc-async)
5404 ("ghc-transformers-base" ,ghc-transformers-base)))
5405 (native-inputs
5406 `(("ghc-hspec" ,ghc-hspec)
5407 ("ghc-quickcheck" ,ghc-quickcheck)))
5408 (home-page "https://github.com/jcristovao/enclosed-exceptions")
5409 (synopsis "Catch all exceptions from within an enclosed computation")
5410 (description
5411 "This library implements a technique to catch all exceptions raised
5412 within an enclosed computation, while remaining responsive to (external)
5413 asynchronous exceptions.")
5414 (license license:expat)))
5415
5416 (define-public ghc-packedstring
5417 (package
5418 (name "ghc-packedstring")
5419 (version "0.1.0.1")
5420 (source (origin
5421 (method url-fetch)
5422 (uri (string-append "https://hackage.haskell.org/package/"
5423 "packedstring/packedstring-"
5424 version ".tar.gz"))
5425 (sha256
5426 (base32
5427 "1x78pzzdlnpcmh9p37rlf8m5cxf3yqm2alf3whl4zpr9w25r0qj8"))))
5428 (build-system haskell-build-system)
5429 (arguments
5430 `(#:phases
5431 (modify-phases %standard-phases
5432 (add-after 'unpack 'enable-extension
5433 (lambda _
5434 ;; This package won't compile without the StandaloneDeriving
5435 ;; extension.
5436 (substitute* "packedstring.cabal"
5437 (("CPP") "CPP, StandaloneDeriving"))
5438 #t)))))
5439 (home-page "https://hackage.haskell.org/package/packedstring")
5440 (synopsis "Library for packed strings")
5441 (description
5442 "This deprecated library provides an implementation of packed strings.")
5443 (license license:bsd-3)))
5444
5445 (define-public ghc-th-lift
5446 (package
5447 (name "ghc-th-lift")
5448 (version "0.7.5")
5449 (source (origin
5450 (method url-fetch)
5451 (uri (string-append "https://hackage.haskell.org/package/"
5452 "th-lift/th-lift-" version ".tar.gz"))
5453 (sha256
5454 (base32
5455 "13xdkk1chdghf059sfx8d3d8r0mj1dbzdi5kf2zf0mjmz3qq7m7k"))))
5456 (build-system haskell-build-system)
5457 (inputs
5458 `(("ghc-packedstring" ,ghc-packedstring)))
5459 (home-page "https://github.com/mboes/th-lift")
5460 (synopsis "Derive Template Haskell's Lift class for datatypes")
5461 (description
5462 "This is a Haskell library to derive Template Haskell's Lift class for
5463 datatypes.")
5464 (license license:bsd-3)))
5465
5466 (define-public ghc-th-expand-syns
5467 (package
5468 (name "ghc-th-expand-syns")
5469 (version "0.3.0.6")
5470 (source (origin
5471 (method url-fetch)
5472 (uri (string-append "https://hackage.haskell.org/package/"
5473 "th-expand-syns/th-expand-syns-"
5474 version ".tar.gz"))
5475 (sha256
5476 (base32
5477 "03qv93pyqk8all39knsf0mzmbfdck5x61kqnyn8rbisw5c1ymx6j"))))
5478 (build-system haskell-build-system)
5479 (inputs
5480 `(("ghc-syb" ,ghc-syb)))
5481 (home-page "https://hackage.haskell.org/package/th-expand-syns")
5482 (synopsis "Expands type synonyms in Template Haskell ASTs")
5483 (description
5484 "This package enables users to expand type synonyms in Template Haskell
5485 @dfn{abstract syntax trees} (ASTs).")
5486 (license license:bsd-3)))
5487
5488 (define-public ghc-th-reify-many
5489 (package
5490 (name "ghc-th-reify-many")
5491 (version "0.1.3")
5492 (source (origin
5493 (method url-fetch)
5494 (uri (string-append "https://hackage.haskell.org/package/"
5495 "th-reify-many/th-reify-many-"
5496 version ".tar.gz"))
5497 (sha256
5498 (base32
5499 "00hryljcs434wcv1vaamfdbjk857f46djxv7mlwplkl3zsmfhlfx"))))
5500 (build-system haskell-build-system)
5501 (inputs
5502 `(("ghc-mtl" ,ghc-mtl)
5503 ("ghc-safe" ,ghc-safe)
5504 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
5505 (home-page "https://github.com/mgsloan/th-reify-many")
5506 (synopsis "Recurseively reify template haskell datatype info")
5507 (description
5508 "th-reify-many provides functions for recursively reifying top level
5509 declarations. The main intended use case is for enumerating the names of
5510 datatypes reachable from an initial datatype, and passing these names to some
5511 function which generates instances.")
5512 (license license:bsd-3)))
5513
5514 (define-public ghc-th-orphans
5515 (package
5516 (name "ghc-th-orphans")
5517 (version "0.13.0")
5518 (source (origin
5519 (method url-fetch)
5520 (uri (string-append "https://hackage.haskell.org/package/"
5521 "th-orphans/th-orphans-" version ".tar.gz"))
5522 (sha256
5523 (base32
5524 "105y03bxh0a2r69l603i7md17gg1vxs1jj1n40pn5q486lmfxbmx"))))
5525 (build-system haskell-build-system)
5526 (inputs
5527 `(("ghc-th-lift" ,ghc-th-lift)
5528 ("ghc-th-reify-many" ,ghc-th-reify-many)
5529 ("ghc-mtl" ,ghc-mtl)
5530 ("ghc-generic-deriving" ,ghc-generic-deriving)))
5531 (native-inputs
5532 `(("ghc-hspec" ,ghc-hspec)))
5533 (home-page "https://hackage.haskell.org/package/th-orphans")
5534 (synopsis "Orphan instances for TH datatypes")
5535 (description
5536 "This package provides orphan instances for Template Haskell datatypes. In particular,
5537 instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
5538 and @code{Eq} instances. These instances used to live in the haskell-src-meta
5539 package, and that's where the version number started.")
5540 (license license:bsd-3)))
5541
5542 (define-public ghc-haskell-src-meta
5543 (package
5544 (name "ghc-haskell-src-meta")
5545 (version "0.6.0.12")
5546 (source (origin
5547 (method url-fetch)
5548 (uri (string-append "https://hackage.haskell.org/package/"
5549 "haskell-src-meta/haskell-src-meta-"
5550 version ".tar.gz"))
5551 (sha256
5552 (base32
5553 "1mzbfrfvl6pj8068w3m6alzry1403ir1gmz3czg66n5z198l4dql"))))
5554 (build-system haskell-build-system)
5555 (inputs
5556 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5557 ("ghc-syb" ,ghc-syb)
5558 ("ghc-th-orphans" ,ghc-th-orphans)))
5559 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5560 (synopsis "Parse source to template-haskell abstract syntax")
5561 (description
5562 "This package provides tools to parse Haskell sources to the
5563 template-haskell abstract syntax.")
5564 (license license:bsd-3)))
5565
5566 (define-public ghc-aeson-qq
5567 (package
5568 (name "ghc-aeson-qq")
5569 (version "0.8.1")
5570 (source (origin
5571 (method url-fetch)
5572 (uri (string-append "https://hackage.haskell.org/package/"
5573 "aeson-qq/aeson-qq-" version ".tar.gz"))
5574 (sha256
5575 (base32
5576 "1z8kh3qjc4khadz1ijdqm7fbk7dh17sisqhpwd3c9aibj2927k9d"))))
5577 (build-system haskell-build-system)
5578 (inputs
5579 `(("ghc-base-compat" ,ghc-base-compat)
5580 ("ghc-text" ,ghc-text)
5581 ("ghc-attoparsec" ,ghc-attoparsec)
5582 ("ghc-scientific" ,ghc-scientific)
5583 ("ghc-vector" ,ghc-vector)
5584 ("ghc-aeson" ,ghc-aeson)
5585 ("ghc-parsec" ,ghc-parsec)
5586 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5587 (native-inputs
5588 `(("ghc-hspec" ,ghc-hspec)
5589 ("hspec-discover" ,hspec-discover)))
5590 (home-page "https://github.com/zalora/aeson-qq")
5591 (synopsis "JSON quasiquoter for Haskell")
5592 (description
5593 "aeson-qq provides a JSON quasiquoter for Haskell. This package exposes
5594 the function @code{aesonQQ} that compile-time converts a string representation
5595 of a JSON value into a @code{Data.Aeson.Value}.")
5596 (license license:expat)))
5597
5598 (define-public ghc-conduit
5599 (package
5600 (name "ghc-conduit")
5601 (version "1.2.5.1")
5602 (source (origin
5603 (method url-fetch)
5604 (uri (string-append "https://hackage.haskell.org/package/"
5605 "conduit/conduit-" version ".tar.gz"))
5606 (sha256
5607 (base32
5608 "0aq6wswd5dkhdmy7sjhd99mldpq33dqpgbdcwpm94ahvckqxs7v5"))))
5609 (build-system haskell-build-system)
5610 (inputs
5611 `(("ghc-exceptions" ,ghc-exceptions)
5612 ("ghc-lifted-base" ,ghc-lifted-base)
5613 ("ghc-mmorph" ,ghc-mmorph)
5614 ("ghc-mtl" ,ghc-mtl)
5615 ("ghc-resourcet" ,ghc-resourcet)
5616 ("ghc-transformers-base" ,ghc-transformers-base)
5617 ("ghc-void" ,ghc-void)))
5618 (native-inputs
5619 `(("ghc-quickcheck" ,ghc-quickcheck)
5620 ("ghc-hspec" ,ghc-hspec)
5621 ("ghc-safe" ,ghc-safe)))
5622 (home-page "https://github.com/snoyberg/conduit")
5623 (synopsis "Streaming data library ")
5624 (description
5625 "conduit is a solution to the streaming data problem, allowing for
5626 production, transformation, and consumption of streams of data in constant
5627 memory. It is an alternative to lazy I/O which guarantees deterministic
5628 resource handling, and fits in the same general solution space as
5629 enumerator/iteratee and pipes." )
5630 (license license:expat)))
5631
5632 (define-public ghc-logging-facade
5633 (package
5634 (name "ghc-logging-facade")
5635 (version "0.1.0")
5636 (source (origin
5637 (method url-fetch)
5638 (uri (string-append "https://hackage.haskell.org/package/"
5639 "logging-facade/logging-facade-"
5640 version ".tar.gz"))
5641 (sha256
5642 (base32
5643 "0zhdbjyj0j9by19rma9alxysrxnnl3s4kks4zk4bx0dg5xa0264y"))))
5644 (build-system haskell-build-system)
5645 (native-inputs
5646 `(("ghc-hspec" ,ghc-hspec)
5647 ("hspec-discover" ,hspec-discover)))
5648 (home-page "https://hackage.haskell.org/package/logging-facade")
5649 (synopsis "Simple logging abstraction that allows multiple back-ends")
5650 (description
5651 "This package provides a simple logging abstraction that allows multiple
5652 back-ends.")
5653 (license license:expat)))
5654
5655 (define-public ghc-mockery
5656 (package
5657 (name "ghc-mockery")
5658 (version "0.3.2")
5659 (source (origin
5660 (method url-fetch)
5661 (uri (string-append "https://hackage.haskell.org/package/"
5662 "mockery/mockery-" version ".tar.gz"))
5663 (sha256
5664 (base32
5665 "0m0lp2z63sgkylz5318j53r5hnrkp705qh7nqbb149ir4gy7g1bg"))))
5666 (build-system haskell-build-system)
5667 (inputs
5668 `(("ghc-temporary" ,ghc-temporary)
5669 ("ghc-logging-facade" ,ghc-logging-facade)))
5670 (native-inputs
5671 `(("ghc-hspec" ,ghc-hspec)
5672 ("hspec-discover" ,hspec-discover)))
5673 (home-page "https://hackage.haskell.org/package/mockery")
5674 (synopsis "Support functions for automated testing")
5675 (description
5676 "The mockery package provides support functions for automated testing.")
5677 (license license:expat)))
5678
5679 (define-public ghc-yaml
5680 (package
5681 (name "ghc-yaml")
5682 (version "0.8.15.1")
5683 (source (origin
5684 (method url-fetch)
5685 (uri (string-append "https://hackage.haskell.org/package/"
5686 "yaml/yaml-" version ".tar.gz"))
5687 (sha256
5688 (base32
5689 "0v6c435xmgm99zxb30pqr7lhkb2a56wxqp70g4hjz8p7rj0vichx"))))
5690 (build-system haskell-build-system)
5691 (inputs
5692 `(("ghc-conduit" ,ghc-conduit)
5693 ("ghc-resourcet" ,ghc-resourcet)
5694 ("ghc-aeson" ,ghc-aeson)
5695 ("ghc-unordered-containers" ,ghc-unordered-containers)
5696 ("ghc-vector" ,ghc-vector)
5697 ("ghc-text" ,ghc-text)
5698 ("ghc-attoparsec" ,ghc-attoparsec)
5699 ("ghc-scientific" ,ghc-scientific)
5700 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
5701 ("ghc-aeson-qq" ,ghc-aeson-qq)
5702 ("ghc-base-compat" ,ghc-base-compat)))
5703 (native-inputs
5704 `(("ghc-hspec" ,ghc-hspec)
5705 ("ghc-hunit" ,ghc-hunit)
5706 ("hspec-discover" ,hspec-discover)
5707 ("ghc-mockery" ,ghc-mockery)))
5708 (home-page "https://github.com/snoyberg/yaml/")
5709 (synopsis "Parsing and rendering YAML documents")
5710 (description
5711 "This package provides a library to parse and render YAML documents.")
5712 (license license:bsd-3)))
5713
5714 (define-public ghc-filemanip
5715 (package
5716 (name "ghc-filemanip")
5717 (version "0.3.6.3")
5718 (source (origin
5719 (method url-fetch)
5720 (uri (string-append "https://hackage.haskell.org/package/"
5721 "filemanip/filemanip-" version ".tar.gz"))
5722 (sha256
5723 (base32
5724 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
5725 (build-system haskell-build-system)
5726 (inputs
5727 `(("ghc-mtl" ,ghc-mtl)
5728 ("ghc-unix-compat" ,ghc-unix-compat)))
5729 (home-page "https://github.com/bos/filemanip")
5730 (synopsis "File and directory manipulation for Haskell")
5731 (description
5732 "This package provides a Haskell library for working with files and
5733 directories. It includes code for pattern matching, finding files, modifying
5734 file contents, and more.")
5735 (license license:bsd-3)))
5736
5737 (define-public ghc-mmap
5738 (package
5739 (name "ghc-mmap")
5740 (version "0.5.9")
5741 (source (origin
5742 (method url-fetch)
5743 (uri (string-append "https://hackage.haskell.org/package/"
5744 "mmap/mmap-" version ".tar.gz"))
5745 (sha256
5746 (base32
5747 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
5748 (build-system haskell-build-system)
5749 (home-page "https://hackage.haskell.org/package/mmap")
5750 (synopsis "Memory mapped files for Haskell")
5751 (description
5752 "This library provides a wrapper to @code{mmap}, allowing files or
5753 devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
5754 @code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
5755 do on-demand loading.")
5756 (license license:bsd-3)))
5757
5758 (define-public ghc-juicypixels
5759 (package
5760 (name "ghc-juicypixels")
5761 (version "3.2.6.2")
5762 (source (origin
5763 (method url-fetch)
5764 (uri (string-append "https://hackage.haskell.org/package/"
5765 "JuicyPixels/JuicyPixels-"
5766 version ".tar.gz"))
5767 (sha256
5768 (base32
5769 "0hxa57cdknz86zywpjwfbdhac5lmk7j0wd5hy4mcnb8mw6r2m592"))))
5770 (build-system haskell-build-system)
5771 (inputs
5772 `(("ghc-mtl" ,ghc-mtl)
5773 ("ghc-zlib" ,ghc-zlib)
5774 ("ghc-vector" ,ghc-vector)
5775 ("ghc-primitive" ,ghc-primitive)
5776 ("ghc-mmap" ,ghc-mmap)))
5777 (home-page "https://github.com/Twinside/Juicy.Pixels")
5778 (synopsis "Picture loading and serialization library")
5779 (description
5780 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5781 TIFF and GIF formats.")
5782 (license license:bsd-3)))
5783
5784 (define-public ghc-sha
5785 (package
5786 (name "ghc-sha")
5787 (version "1.6.4.2")
5788 (source (origin
5789 (method url-fetch)
5790 (uri (string-append "https://hackage.haskell.org/package/"
5791 "SHA/SHA-" version ".tar.gz"))
5792 (sha256
5793 (base32
5794 "134ajm87fm4lpsw86m9q8apv20dw4bpk46raa389zr6bcdpifw64"))))
5795 (build-system haskell-build-system)
5796 (native-inputs
5797 `(("ghc-quickcheck" ,ghc-quickcheck)
5798 ("ghc-test-framework" ,ghc-test-framework)
5799 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
5800 (home-page "https://hackage.haskell.org/package/SHA")
5801 (synopsis "SHA suite of message digest functions")
5802 (description
5803 "This library implements the SHA suite of message digest functions,
5804 according to NIST FIPS 180-2 (with the SHA-224 addendum), as well as the
5805 SHA-based HMAC routines. The functions have been tested against most of the
5806 NIST and RFC test vectors for the various functions. While some attention has
5807 been paid to performance, these do not presently reach the speed of well-tuned
5808 libraries, like OpenSSL.")
5809 (license license:bsd-3)))
5810
5811 (define-public ghc-hslua
5812 (package
5813 (name "ghc-hslua")
5814 (version "0.4.1")
5815 (source (origin
5816 (method url-fetch)
5817 (uri (string-append "https://hackage.haskell.org/package/"
5818 "hslua/hslua-" version ".tar.gz"))
5819 (sha256
5820 (base32
5821 "0gqp6qhp4v24kzv2j49kgk7bxqzw0w10x0zr0r2j9wkfavqb9wid"))))
5822 (build-system haskell-build-system)
5823 (arguments
5824 `(#:configure-flags '("-fsystem-lua")))
5825 (inputs
5826 `(("lua" ,lua-5.1)
5827 ("ghc-text" ,ghc-text)))
5828 (native-inputs
5829 `(("ghc-hspec" ,ghc-hspec)
5830 ("ghc-hspec-contrib" ,ghc-hspec-contrib)
5831 ("hspec-discover" ,hspec-discover)
5832 ("ghc-hunit" ,ghc-hunit)
5833 ("ghc-quickcheck" ,ghc-quickcheck)
5834 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5835 (home-page "https://hackage.haskell.org/package/hslua")
5836 (synopsis "Lua language interpreter embedding in Haskell")
5837 (description
5838 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5839 described in @url{http://www.lua.org/}.")
5840 (license license:expat)))
5841
5842 (define-public ghc-mime-types
5843 (package
5844 (name "ghc-mime-types")
5845 (version "0.1.0.6")
5846 (source (origin
5847 (method url-fetch)
5848 (uri (string-append "https://hackage.haskell.org/package/"
5849 "mime-types/mime-types-"
5850 version ".tar.gz"))
5851 (sha256
5852 (base32
5853 "090z3dp928243amnc6s8g10rk2h2bprk9y138q6wj3cpflzr72pw"))))
5854 (build-system haskell-build-system)
5855 (inputs
5856 `(("ghc-text" ,ghc-text)))
5857 (home-page "https://github.com/yesodweb/wai")
5858 (synopsis "Basic MIME type handling types and functions")
5859 (description
5860 "This library provides basic MIME type handling types and functions.")
5861 (license license:expat)))
5862
5863 (define-public ghc-http-client
5864 (package
5865 (name "ghc-http-client")
5866 (version "0.4.24")
5867 (source (origin
5868 (method url-fetch)
5869 (uri (string-append "https://hackage.haskell.org/package/"
5870 "http-client/http-client-"
5871 version ".tar.gz"))
5872 (sha256
5873 (base32
5874 "0xz133kdfiyy2rm6z95bmvjj6y2540xzd86cfmdv9s6kz4p1ir4k"))))
5875 (build-system haskell-build-system)
5876 ;; Tests require access to the web.
5877 (arguments `(#:tests? #f))
5878 (inputs
5879 `(("ghc-text" ,ghc-text)
5880 ("ghc-http-types" ,ghc-http-types)
5881 ("ghc-blaze-builder" ,ghc-blaze-builder)
5882 ("ghc-data-default-class" ,ghc-data-default-class)
5883 ("ghc-network" ,ghc-network)
5884 ("ghc-streaming-commons" ,ghc-streaming-commons)
5885 ("ghc-case-insensitive" ,ghc-case-insensitive)
5886 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
5887 ("ghc-cookie" ,ghc-cookie)
5888 ("ghc-exceptions" ,ghc-exceptions)
5889 ("ghc-random" ,ghc-random)
5890 ("ghc-mime-types" ,ghc-mime-types)
5891 ("ghc-network-uri" ,ghc-network-uri)
5892 ("ghc-monad-control" ,ghc-monad-control)
5893 ("ghc-zlib" ,ghc-zlib)
5894 ("ghc-async" ,ghc-async)))
5895 (native-inputs
5896 `(("ghc-hspec" ,ghc-hspec)))
5897 (home-page "https://github.com/snoyberg/http-client")
5898 (synopsis "HTTP client engine")
5899 (description
5900 "This package provides an HTTP client engine, intended as a base layer
5901 for more user-friendly packages.")
5902 (license license:expat)))
5903
5904 (define-public ghc-byteable
5905 (package
5906 (name "ghc-byteable")
5907 (version "0.1.1")
5908 (source (origin
5909 (method url-fetch)
5910 (uri (string-append "https://hackage.haskell.org/package/"
5911 "byteable/byteable-" version ".tar.gz"))
5912 (sha256
5913 (base32
5914 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
5915 (build-system haskell-build-system)
5916 (home-page "https://github.com/vincenthz/hs-byteable")
5917 (synopsis "Type class for sequence of bytes")
5918 (description
5919 "This package provides an abstract class to manipulate sequence of bytes.
5920 The use case of this class is abstracting manipulation of types that are just
5921 wrapping a bytestring with stronger and more meaniful name.")
5922 (license license:bsd-3)))
5923
5924 (define-public ghc-hourglass
5925 (package
5926 (name "ghc-hourglass")
5927 (version "0.2.9")
5928 (source (origin
5929 (method url-fetch)
5930 (uri (string-append "https://hackage.haskell.org/package/"
5931 "hourglass/hourglass-" version ".tar.gz"))
5932 (sha256
5933 (base32
5934 "1xha17nwzxdjizbcp63d2142c6q051y77facs7xribgcl5iz2m4v"))))
5935 (build-system haskell-build-system)
5936 (inputs
5937 `(("ghc-mtl" ,ghc-mtl)
5938 ("ghc-old-locale" ,ghc-old-locale)))
5939 (native-inputs
5940 `(("ghc-tasty" ,ghc-tasty)
5941 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5942 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5943 (home-page "https://github.com/vincenthz/hs-hourglass")
5944 (synopsis "Simple time-related library for Haskell")
5945 (description
5946 "This is a simple time library providing a simple but powerful and
5947 performant API. The backbone of the library are the @code{Timeable} and
5948 @code{Time} type classes. Each @code{Timeable} instances can be converted to
5949 a type that has a @code{Time} instances, and thus are different
5950 representations of current time.")
5951 (license license:bsd-3)))
5952
5953 (define-public ghc-pem
5954 (package
5955 (name "ghc-pem")
5956 (version "0.2.2")
5957 (source (origin
5958 (method url-fetch)
5959 (uri (string-append "https://hackage.haskell.org/package/"
5960 "pem/pem-" version ".tar.gz"))
5961 (sha256
5962 (base32
5963 "162sk5sg22w21wqz5qv8kx6ibxp99v5p20g3nknhm1kddk3hha1p"))))
5964 (build-system haskell-build-system)
5965 (inputs
5966 `(("ghc-mtl" ,ghc-mtl)
5967 ("ghc-base64-bytestring" ,ghc-base64-bytestring)))
5968 (native-inputs
5969 `(("ghc-test-framework" ,ghc-test-framework)
5970 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5971 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5972 ("ghc-hunit" ,ghc-hunit)
5973 ("ghc-quickcheck" ,ghc-quickcheck)))
5974 (home-page "https://github.com/vincenthz/hs-pem")
5975 (synopsis "Privacy Enhanced Mail (PEM) format reader and writer")
5976 (description
5977 "This library provides readers and writers for the @dfn{Privacy Enhanced
5978 Mail} (PEM) format.")
5979 (license license:bsd-3)))
5980
5981 (define-public ghc-asn1-types
5982 (package
5983 (name "ghc-asn1-types")
5984 (version "0.3.1")
5985 (source (origin
5986 (method url-fetch)
5987 (uri (string-append "https://hackage.haskell.org/package/"
5988 "asn1-types/asn1-types-"
5989 version ".tar.gz"))
5990 (sha256
5991 (base32
5992 "1iif9yrh4mmj249gyvam0zb2vb3jnlz777gahh2z9sx00dsx9rja"))))
5993 (build-system haskell-build-system)
5994 (inputs
5995 `(("ghc-memory" ,ghc-memory)
5996 ("ghc-hourglass" ,ghc-hourglass)))
5997 (home-page "https://github.com/vincenthz/hs-asn1-types")
5998 (synopsis "ASN.1 types for Haskell")
5999 (description
6000 "The package provides the standard types for dealing with the ASN.1
6001 format.")
6002 (license license:bsd-3)))
6003
6004 (define-public ghc-asn1-encoding
6005 (package
6006 (name "ghc-asn1-encoding")
6007 (version "0.9.3")
6008 (source (origin
6009 (method url-fetch)
6010 (uri (string-append "https://hackage.haskell.org/package/"
6011 "asn1-encoding/asn1-encoding-"
6012 version ".tar.gz"))
6013 (sha256
6014 (base32
6015 "01ki5msrpccgdbdiaaa5a9zw0icp1hki4hca8qx6hzlp0rcf1mwh"))))
6016 (build-system haskell-build-system)
6017 (inputs
6018 `(("ghc-hourglass" ,ghc-hourglass)
6019 ("ghc-asn1-types" ,ghc-asn1-types)
6020 ("ghc-text" ,ghc-text)
6021 ("ghc-mtl" ,ghc-mtl)))
6022 (native-inputs
6023 `(("ghc-tasty" ,ghc-tasty)
6024 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6025 (home-page "https://github.com/vincenthz/hs-asn1")
6026 (synopsis "ASN1 data reader and writer in RAW, BER and DER forms")
6027 (description
6028 "This package provides a reader and writer for ASN1 data in raw form with
6029 supports for high level forms of ASN1 (BER, and DER).")
6030 (license license:bsd-3)))
6031
6032 (define-public ghc-asn1-parse
6033 (package
6034 (name "ghc-asn1-parse")
6035 (version "0.9.4")
6036 (source (origin
6037 (method url-fetch)
6038 (uri (string-append "https://hackage.haskell.org/package/"
6039 "asn1-parse/asn1-parse-"
6040 version ".tar.gz"))
6041 (sha256
6042 (base32
6043 "025prsihk5g6rdv9xlfmj0zpa0wa3qjzj5i4ilzvg7f6f3sji8y6"))))
6044 (build-system haskell-build-system)
6045 (inputs
6046 `(("ghc-asn1-types" ,ghc-asn1-types)
6047 ("ghc-asn1-encoding" ,ghc-asn1-encoding)))
6048 (home-page "https://github.com/vincenthz/hs-asn1")
6049 (synopsis "Simple monadic parser for ASN1 stream types")
6050 (description
6051 "This package provides a simple monadic parser for ASN1 stream types,
6052 when ASN1 pattern matching is not convenient.")
6053 (license license:bsd-3)))
6054
6055 (define-public ghc-tasty-kat
6056 (package
6057 (name "ghc-tasty-kat")
6058 (version "0.0.3")
6059 (source (origin
6060 (method url-fetch)
6061 (uri (string-append "https://hackage.haskell.org/package/"
6062 "tasty-kat/tasty-kat-" version ".tar.gz"))
6063 (sha256
6064 (base32
6065 "14yvlpli6cv6bn3kh8mlfp4x1l6ns4fvmfv6hmj75cvxyzq029d7"))))
6066 (build-system haskell-build-system)
6067 (inputs
6068 `(("ghc-tasty" ,ghc-tasty)
6069 ("ghc-mtl" ,ghc-mtl)
6070 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6071 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6072 (home-page "https://github.com/vincenthz/tasty-kat")
6073 (synopsis "Known Answer Tests (KAT) framework for tasty")
6074 (description
6075 "This package provides a @dfn{Known Answer Tests} (KAT) framework for
6076 tasty.")
6077 (license license:expat)))
6078
6079 (define-public ghc-cryptonite
6080 (package
6081 (name "ghc-cryptonite")
6082 (version "0.19")
6083 (source (origin
6084 (method url-fetch)
6085 (uri (string-append "https://hackage.haskell.org/package/"
6086 "cryptonite/cryptonite-"
6087 version ".tar.gz"))
6088 (sha256
6089 (base32
6090 "1rw5k34vpn4134yrzdhf0rsshsrkixfbv9ap18di2n00z2cw1shw"))))
6091 (build-system haskell-build-system)
6092 (inputs
6093 `(("ghc-memory" ,ghc-memory)
6094 ("ghc-byteable" ,ghc-byteable)))
6095 (native-inputs
6096 `(("ghc-tasty" ,ghc-tasty)
6097 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6098 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6099 ("ghc-tasty-kat" ,ghc-tasty-kat)))
6100 (home-page "https://github.com/haskell-crypto/cryptonite")
6101 (synopsis "Cryptography primitives")
6102 (description
6103 "This package is a repository of cryptographic primitives for Haskell.
6104 It supports a wide range of symmetric ciphers, cryptographic hash functions,
6105 public key algorithms, key derivation numbers, cryptographic random number
6106 generators, and more.")
6107 (license license:bsd-3)))
6108
6109 (define-public ghc-memory
6110 (package
6111 (name "ghc-memory")
6112 (version "0.13")
6113 (source (origin
6114 (method url-fetch)
6115 (uri (string-append "https://hackage.haskell.org/package/"
6116 "memory/memory-" version ".tar.gz"))
6117 (sha256
6118 (base32
6119 "02l742qxjqy3jw1a347gb7sn7pn7a5qha1vzi2qqbvgafcjn0wyw"))))
6120 (build-system haskell-build-system)
6121 (native-inputs
6122 `(("ghc-tasty" ,ghc-tasty)
6123 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6124 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6125 (home-page "https://github.com/vincenthz/hs-memory")
6126 (synopsis "Memory abstractions for Haskell")
6127 (description
6128 "This package provides memory abstractions, such as chunk of memory,
6129 polymorphic byte array management and manipulation functions. It contains a
6130 polymorphic byte array abstraction and functions similar to strict ByteString,
6131 different type of byte array abstraction, raw memory IO operations (memory
6132 set, memory copy, ..) and more")
6133 (license license:bsd-3)))
6134
6135 (define-public ghc-x509
6136 (package
6137 (name "ghc-x509")
6138 (version "1.6.3")
6139 (source (origin
6140 (method url-fetch)
6141 (uri (string-append "https://hackage.haskell.org/package/"
6142 "x509/x509-" version ".tar.gz"))
6143 (sha256
6144 (base32
6145 "1pmsby29abn485fvnymsgipvb3p1ch9c591xj5ncszkf0ivjiiin"))))
6146 (build-system haskell-build-system)
6147 (inputs
6148 `(("ghc-memory" ,ghc-memory)
6149 ("ghc-mtl" ,ghc-mtl)
6150 ("ghc-hourglass" ,ghc-hourglass)
6151 ("ghc-pem" ,ghc-pem)
6152 ("ghc-asn1-types" ,ghc-asn1-types)
6153 ("ghc-asn1-encoding" ,ghc-asn1-encoding)
6154 ("ghc-asn1-parse" ,ghc-asn1-parse)
6155 ("ghc-cryptonite" ,ghc-cryptonite)))
6156 (native-inputs
6157 `(("ghc-tasty" ,ghc-tasty)
6158 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6159 (home-page "https://github.com/vincenthz/hs-certificate")
6160 (synopsis "X509 reader and writer")
6161 (description
6162 "This library provides functions to read and write X509 certificates.")
6163 (license license:bsd-3)))
6164
6165 (define-public ghc-x509-store
6166 (package
6167 (name "ghc-x509-store")
6168 (version "1.6.1")
6169 (source (origin
6170 (method url-fetch)
6171 (uri (string-append "https://hackage.haskell.org/package/"
6172 "x509-store/x509-store-"
6173 version ".tar.gz"))
6174 (sha256
6175 (base32
6176 "01abx528i9f7djq2772xyna8x2mykrnwqkcfrapcx7z3bhprvml3"))))
6177 (build-system haskell-build-system)
6178 (inputs
6179 `(("ghc-mtl" ,ghc-mtl)
6180 ("ghc-pem" ,ghc-pem)
6181 ("ghc-asn1-types" ,ghc-asn1-types)
6182 ("ghc-asn1-encoding" ,ghc-asn1-encoding)
6183 ("ghc-cryptonite" ,ghc-cryptonite)
6184 ("ghc-x509" ,ghc-x509)))
6185 (home-page "https://github.com/vincenthz/hs-certificate")
6186 (synopsis "X.509 collection accessing and storing methods")
6187 (description
6188 "This package provides functions for accessing and storing X.509
6189 collections, certificates, revocation lists, and exception lists.")
6190 (license license:bsd-3)))
6191
6192 (define-public ghc-x509-validation
6193 (package
6194 (name "ghc-x509-validation")
6195 (version "1.6.3")
6196 (source (origin
6197 (method url-fetch)
6198 (uri (string-append "https://hackage.haskell.org/package/"
6199 "x509-validation/x509-validation-"
6200 version ".tar.gz"))
6201 (sha256
6202 (base32
6203 "1qr1v561hdlhjgqjv9pj9mbk0q1xf2mr1j67ghy93nlxxyzd7dw0"))))
6204 (build-system haskell-build-system)
6205 (inputs
6206 `(("ghc-memory" ,ghc-memory)
6207 ("ghc-byteable" ,ghc-byteable)
6208 ("ghc-mtl" ,ghc-mtl)
6209 ("ghc-hourglass" ,ghc-hourglass)
6210 ("ghc-data-default-class" ,ghc-data-default-class)
6211 ("ghc-pem" ,ghc-pem)
6212 ("ghc-asn1-types" ,ghc-asn1-types)
6213 ("ghc-asn1-encoding" ,ghc-asn1-encoding)
6214 ("ghc-x509" ,ghc-x509)
6215 ("ghc-x509-store" ,ghc-x509-store)
6216 ("ghc-cryptonite" ,ghc-cryptonite)))
6217 (home-page "https://github.com/vincenthz/hs-certificate")
6218 (synopsis "X.509 certificate and revocation list validation")
6219 (description
6220 "This package provides functions for X.509 certificate and revocation
6221 list validation.")
6222 (license license:bsd-3)))
6223
6224 (define-public ghc-x509-system
6225 (package
6226 (name "ghc-x509-system")
6227 (version "1.6.1")
6228 (source (origin
6229 (method url-fetch)
6230 (uri (string-append "https://hackage.haskell.org/package/"
6231 "x509-system/x509-system-"
6232 version ".tar.gz"))
6233 (sha256
6234 (base32
6235 "10qf60d2f9jqwnbrhsb2cwpi86xg66m6dxndlxw967v1cdb3h6gf"))))
6236 (build-system haskell-build-system)
6237 (inputs
6238 `(("ghc-mtl" ,ghc-mtl)
6239 ("ghc-pem" ,ghc-pem)
6240 ("ghc-x509" ,ghc-x509)
6241 ("ghc-x509-store" ,ghc-x509-store)))
6242 (home-page "https://github.com/vincenthz/hs-certificate")
6243 (synopsis "Handle system X.509 accessors and storage")
6244 (description
6245 "This package provides a library to handle system accessors and storage
6246 for X.509 certificates.")
6247 (license license:bsd-3)))
6248
6249 (define-public ghc-tls
6250 (package
6251 (name "ghc-tls")
6252 (version "1.3.8")
6253 (source (origin
6254 (method url-fetch)
6255 (uri (string-append "https://hackage.haskell.org/package/"
6256 "tls/tls-" version ".tar.gz"))
6257 (sha256
6258 (base32
6259 "1rdidf18i781c0vdvy9yn79yh08hmcacf6fp3sgghyiy3h0wyh5l"))))
6260 (build-system haskell-build-system)
6261 (inputs
6262 `(("ghc-mtl" ,ghc-mtl)
6263 ("ghc-cereal" ,ghc-cereal)
6264 ("ghc-data-default-class" ,ghc-data-default-class)
6265 ("ghc-memory" ,ghc-memory)
6266 ("ghc-cryptonite" ,ghc-cryptonite)
6267 ("ghc-asn1-types" ,ghc-asn1-types)
6268 ("ghc-asn1-encoding" ,ghc-asn1-encoding)
6269 ("ghc-x509" ,ghc-x509)
6270 ("ghc-x509-store" ,ghc-x509-store)
6271 ("ghc-x509-validation" ,ghc-x509-validation)
6272 ("ghc-async" ,ghc-async)
6273 ("ghc-network" ,ghc-network)
6274 ("ghc-hourglass" ,ghc-hourglass)))
6275 (native-inputs
6276 `(("ghc-tasty" ,ghc-tasty)
6277 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6278 ("ghc-quickcheck" ,ghc-quickcheck)))
6279 (home-page "https://github.com/vincenthz/hs-tls")
6280 (synopsis
6281 "TLS/SSL protocol native implementation (Server and Client)")
6282 (description
6283 "Native Haskell TLS and SSL protocol implementation for server and client.
6284 This provides a high-level implementation of a sensitive security protocol,
6285 eliminating a common set of security issues through the use of the advanced
6286 type system, high level constructions and common Haskell features. Currently
6287 implement the SSL3.0, TLS1.0, TLS1.1 and TLS1.2 protocol, and support RSA and
6288 Ephemeral (Elliptic curve and regular) Diffie Hellman key exchanges, and many
6289 extensions.")
6290 (license license:bsd-3)))
6291
6292 (define-public ghc-socks
6293 (package
6294 (name "ghc-socks")
6295 (version "0.5.4")
6296 (source (origin
6297 (method url-fetch)
6298 (uri (string-append "https://hackage.haskell.org/package/"
6299 "socks/socks-" version ".tar.gz"))
6300 (sha256
6301 (base32
6302 "1nmldlwxqasmg359i2aa3a903gi3lmnlspvf12xk49jrg3mf3dg9"))))
6303 (build-system haskell-build-system)
6304 (inputs
6305 `(("ghc-cereal" ,ghc-cereal)
6306 ("ghc-network" ,ghc-network)))
6307 (home-page "https://github.com/vincenthz/hs-socks")
6308 (synopsis "SOCKS proxy (version 5) implementation")
6309 (description
6310 "This library provides a SOCKS proxy (version 5) implementation.")
6311 (license license:bsd-3)))
6312
6313 (define-public ghc-connection
6314 (package
6315 (name "ghc-connection")
6316 (version "0.2.5")
6317 (source (origin
6318 (method url-fetch)
6319 (uri (string-append "https://hackage.haskell.org/package/"
6320 "connection/connection-"
6321 version ".tar.gz"))
6322 (sha256
6323 (base32
6324 "090il95jnm7ihwvcx3s9v6iwnp37nnsdx15q7722l845g51d95c8"))))
6325 (build-system haskell-build-system)
6326 (inputs
6327 `(("ghc-byteable" ,ghc-byteable)
6328 ("ghc-data-default-class" ,ghc-data-default-class)
6329 ("ghc-network" ,ghc-network)
6330 ("ghc-tls" ,ghc-tls)
6331 ("ghc-socks" ,ghc-socks)
6332 ("ghc-x509" ,ghc-x509)
6333 ("ghc-x509-store" ,ghc-x509-store)
6334 ("ghc-x509-system" ,ghc-x509-system)
6335 ("ghc-x509-validation" ,ghc-x509-validation)))
6336 (home-page "https://github.com/vincenthz/hs-connection")
6337 (synopsis "Simple and easy network connections API")
6338 (description
6339 "This package provides a simple network library for all your connection
6340 needs. It provides a very simple API to create sockets to a destination with
6341 the choice of SSL/TLS, and SOCKS.")
6342 (license license:bsd-3)))
6343
6344 (define-public ghc-http-client-tls
6345 (package
6346 (name "ghc-http-client-tls")
6347 (version "0.2.2")
6348 (source (origin
6349 (method url-fetch)
6350 (uri (string-append "https://hackage.haskell.org/package/"
6351 "http-client-tls/http-client-tls-"
6352 version ".tar.gz"))
6353 (sha256
6354 (base32
6355 "0a01r05h5fxswyn6k6cgqgak4scqjan72hyy5wbdqzzhl4rmh7j5"))))
6356 (build-system haskell-build-system)
6357 ;; Tests require Internet access
6358 (arguments `(#:tests? #f))
6359 (inputs
6360 `(("ghc-data-default-class" ,ghc-data-default-class)
6361 ("ghc-http-client" ,ghc-http-client)
6362 ("ghc-connection" ,ghc-connection)
6363 ("ghc-network" ,ghc-network)
6364 ("ghc-tls" ,ghc-tls)
6365 ("ghc-http-types" ,ghc-http-types)))
6366 (native-inputs
6367 `(("ghc-hspec" ,ghc-hspec)))
6368 (home-page "https://github.com/snoyberg/http-client")
6369 (synopsis "Backend for http-client using the TLS library")
6370 (description
6371 "This package provides a backend for the http-client package using the
6372 connection and TLS libraries. It is intended for use by higher-level
6373 libraries, such as http-conduit.")
6374 (license license:expat)))
6375
6376 (define-public ghc-pandoc
6377 (package
6378 (name "ghc-pandoc")
6379 (version "1.17.2")
6380 (source
6381 (origin
6382 (method url-fetch)
6383 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
6384 version ".tar.gz"))
6385 (sha256
6386 (base32
6387 "1v78zq12p71gq0pc24h08inxcq5gxd0xb7m5ds0xw9pv9l2pswl1"))))
6388 (build-system haskell-build-system)
6389 (inputs
6390 `(("ghc-syb" ,ghc-syb)
6391 ("ghc-unordered-containers" ,ghc-unordered-containers)
6392 ("ghc-parsec" ,ghc-parsec)
6393 ("ghc-mtl" ,ghc-mtl)
6394 ("ghc-text" ,ghc-text)
6395 ("ghc-zip-archive" ,ghc-zip-archive)
6396 ("ghc-http" ,ghc-http)
6397 ("ghc-texmath" ,ghc-texmath)
6398 ("ghc-xml" ,ghc-xml)
6399 ("ghc-random" ,ghc-random)
6400 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
6401 ("ghc-pandoc-types" ,ghc-pandoc-types)
6402 ("ghc-aeson" ,ghc-aeson)
6403 ("ghc-tagsoup" ,ghc-tagsoup)
6404 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6405 ("ghc-zlib" ,ghc-zlib)
6406 ("ghc-highlighting-kate" ,ghc-highlighting-kate)
6407 ("ghc-data-default" ,ghc-data-default)
6408 ("ghc-temporary" ,ghc-temporary)
6409 ("ghc-blaze-html" ,ghc-blaze-html)
6410 ("ghc-blaze-markup" ,ghc-blaze-markup)
6411 ("ghc-yaml" ,ghc-yaml)
6412 ("ghc-scientific" ,ghc-scientific)
6413 ("ghc-vector" ,ghc-vector)
6414 ("ghc-hslua" ,ghc-hslua)
6415 ("ghc-sha" ,ghc-sha)
6416 ("ghc-haddock-library" ,ghc-haddock-library)
6417 ("ghc-old-time" ,ghc-old-time)
6418 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
6419 ("ghc-juicypixels" ,ghc-juicypixels)
6420 ("ghc-filemanip" ,ghc-filemanip)
6421 ("ghc-cmark" ,ghc-cmark)
6422 ("ghc-network-uri" ,ghc-network-uri)
6423 ("ghc-network" ,ghc-network)
6424 ("ghc-http-client" ,ghc-http-client)
6425 ("ghc-http-client-tls" ,ghc-http-client-tls)
6426 ("ghc-http-types" ,ghc-http-types)
6427 ("ghc-diff" ,ghc-diff)
6428 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
6429 ("ghc-executable-path" ,ghc-executable-path)))
6430 (native-inputs
6431 `(("ghc-test-framework" ,ghc-test-framework)
6432 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6433 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6434 ("ghc-quickcheck" ,ghc-quickcheck)
6435 ("ghc-hunit" ,ghc-hunit)))
6436 (home-page "http://pandoc.org")
6437 (synopsis "Conversion between markup formats")
6438 (description
6439 "Pandoc is a Haskell library for converting from one markup format to
6440 another, and a command-line tool that uses this library. It can read and
6441 write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
6442 LaTeX, DocBook, and many more.
6443
6444 Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
6445 definition lists, tables, and other features. A compatibility mode is
6446 provided for those who need a drop-in replacement for Markdown.pl.")
6447 (license license:gpl2+)))
6448
6449 (define-public ghc-hs-bibutils
6450 (package
6451 (name "ghc-hs-bibutils")
6452 (version "5.5")
6453 (source
6454 (origin
6455 (method url-fetch)
6456 (uri (string-append
6457 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
6458 version ".tar.gz"))
6459 (sha256
6460 (base32
6461 "0pf5lh179rw9jkmw16ss3kiwydlj6zgfk868mjl5s57kx55z7ycm"))))
6462 (build-system haskell-build-system)
6463 (inputs `(("ghc-syb" ,ghc-syb)))
6464 (home-page "https://hackage.haskell.org/package/hs-bibutils")
6465 (synopsis "Haskell bindings to bibutils")
6466 (description
6467 "This package provides Haskell bindings to @code{bibutils}, a library
6468 that interconverts between various bibliography formats using a common
6469 MODS-format XML intermediate.")
6470 (license license:gpl2+)))
6471
6472 (define-public ghc-rfc5051
6473 (package
6474 (name "ghc-rfc5051")
6475 (version "0.1.0.3")
6476 (source
6477 (origin
6478 (method url-fetch)
6479 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
6480 "rfc5051-" version ".tar.gz"))
6481 (sha256
6482 (base32
6483 "0av4c3qvwbkbzrjrrg601ay9pds7wscqqp2lc2z78mv2lllap3g3"))))
6484 (build-system haskell-build-system)
6485 (home-page "http://hackage.haskell.org/package/rfc5051")
6486 (synopsis "Simple unicode collation as per RFC5051")
6487 (description
6488 "This library implements @code{unicode-casemap}, the simple, non
6489 locale-sensitive unicode collation algorithm described in RFC 5051. Proper
6490 unicode collation can be done using @code{text-icu}, but that is a big
6491 dependency that depends on a large C library, and @code{rfc5051} might be
6492 better for some purposes.")
6493 (license license:bsd-3)))
6494
6495 (define-public ghc-conduit-extra
6496 (package
6497 (name "ghc-conduit-extra")
6498 (version "1.1.13.2")
6499 (source
6500 (origin
6501 (method url-fetch)
6502 (uri (string-append "https://hackage.haskell.org/package/"
6503 "conduit-extra/conduit-extra-"
6504 version ".tar.gz"))
6505 (sha256
6506 (base32
6507 "108vsn9dpsfwvar7nssw6wkqy26rxlf3p4ran6swa5xh8l6d5k4z"))))
6508 (build-system haskell-build-system)
6509 (inputs
6510 `(("ghc-conduit" ,ghc-conduit)
6511 ("ghc-exceptions" ,ghc-exceptions)
6512 ("ghc-monad-control" ,ghc-monad-control)
6513 ("ghc-text" ,ghc-text)
6514 ("ghc-transformers-base" ,ghc-transformers-base)
6515 ("ghc-async" ,ghc-async)
6516 ("ghc-attoparsec" ,ghc-attoparsec)
6517 ("ghc-blaze-builder" ,ghc-blaze-builder)
6518 ("ghc-network" ,ghc-network)
6519 ("ghc-primitive" ,ghc-primitive)
6520 ("ghc-resourcet" ,ghc-resourcet)
6521 ("ghc-stm" ,ghc-stm)
6522 ("ghc-streaming-commons" ,ghc-streaming-commons)
6523 ("ghc-hspec" ,ghc-hspec)
6524 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6525 ("ghc-quickcheck" ,ghc-quickcheck)))
6526 (native-inputs
6527 `(("hspec-discover" ,hspec-discover)))
6528 (home-page "http://github.com/snoyberg/conduit")
6529 (synopsis "Conduit adapters for common libraries")
6530 (description
6531 "The @code{conduit} package itself maintains relative small dependencies.
6532 The purpose of this package is to collect commonly used utility functions
6533 wrapping other library dependencies, without depending on heavier-weight
6534 dependencies. The basic idea is that this package should only depend on
6535 @code{haskell-platform} packages and @code{conduit}.")
6536 (license license:expat)))
6537
6538 (define-public ghc-xml-types
6539 (package
6540 (name "ghc-xml-types")
6541 (version "0.3.6")
6542 (source
6543 (origin
6544 (method url-fetch)
6545 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
6546 "xml-types-" version ".tar.gz"))
6547 (sha256
6548 (base32
6549 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
6550 (build-system haskell-build-system)
6551 (inputs `(("ghc-text" ,ghc-text)))
6552 (home-page "https://john-millikin.com/software/haskell-xml/")
6553 (synopsis "Basic types for representing XML")
6554 (description "This package provides basic types for representing XML
6555 documents.")
6556 (license license:expat)))
6557
6558 (define-public ghc-xml-conduit
6559 (package
6560 (name "ghc-xml-conduit")
6561 (version "1.3.5")
6562 (source
6563 (origin
6564 (method url-fetch)
6565 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
6566 "xml-conduit-" version ".tar.gz"))
6567 (sha256
6568 (base32
6569 "10yw8jiksw21jgwqjjd1ixflavcblisgkp9qq3ba05vadc35lqr5"))))
6570 (build-system haskell-build-system)
6571 (inputs
6572 `(("ghc-conduit" ,ghc-conduit)
6573 ("ghc-conduit-extra" ,ghc-conduit-extra)
6574 ("ghc-resourcet" ,ghc-resourcet)
6575 ("ghc-text" ,ghc-text)
6576 ("ghc-xml-types" ,ghc-xml-types)
6577 ("ghc-attoparsec" ,ghc-attoparsec)
6578 ("ghc-blaze-builder" ,ghc-blaze-builder)
6579 ("ghc-blaze-markup" ,ghc-blaze-markup)
6580 ("ghc-blaze-html" ,ghc-blaze-html)
6581 ("ghc-data-default" ,ghc-data-default)
6582 ("ghc-monad-control" ,ghc-monad-control)
6583 ("ghc-hspec" ,ghc-hspec)
6584 ("ghc-hunit" ,ghc-hunit)))
6585 (home-page "http://github.com/snoyberg/xml")
6586 (synopsis "Utilities for dealing with XML with the conduit package")
6587 (description
6588 "This package provides pure-Haskell utilities for dealing with XML with
6589 the @code{conduit} package.")
6590 (license license:expat)))
6591
6592 (define-public ghc-pandoc-citeproc
6593 (package
6594 (name "ghc-pandoc-citeproc")
6595 (version "0.10")
6596 (source
6597 (origin
6598 (method url-fetch)
6599 (uri (string-append "https://hackage.haskell.org/package/"
6600 "pandoc-citeproc/pandoc-citeproc-"
6601 version ".tar.gz"))
6602 (sha256
6603 (base32
6604 "00mprphppk51ylsrkg817mbk23f9fsfvkwzbys9qqbcjbrxi2r94"))))
6605 (build-system haskell-build-system)
6606 (arguments
6607 `(#:phases
6608 (modify-phases %standard-phases
6609 ;; Tests need to be run after installation.
6610 (delete 'check)
6611 (add-after 'install 'post-install-check
6612 (assoc-ref %standard-phases 'check)))))
6613 (inputs
6614 `(("ghc-mtl" ,ghc-mtl)
6615 ("ghc-pandoc-types" ,ghc-pandoc-types)
6616 ("ghc-pandoc" ,ghc-pandoc)
6617 ("ghc-tagsoup" ,ghc-tagsoup)
6618 ("ghc-aeson" ,ghc-aeson)
6619 ("ghc-text" ,ghc-text)
6620 ("ghc-vector" ,ghc-vector)
6621 ("ghc-xml-conduit" ,ghc-xml-conduit)
6622 ("ghc-unordered-containers" ,ghc-unordered-containers)
6623 ("ghc-data-default" ,ghc-data-default)
6624 ("ghc-setenv" ,ghc-setenv)
6625 ("ghc-split" ,ghc-split)
6626 ("ghc-yaml" ,ghc-yaml)
6627 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
6628 ("ghc-rfc5051" ,ghc-rfc5051)
6629 ("ghc-syb" ,ghc-syb)
6630 ("ghc-parsec" ,ghc-parsec)
6631 ("ghc-old-locale" ,ghc-old-locale)
6632 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
6633 ("ghc-attoparsec" ,ghc-attoparsec)
6634 ("ghc-temporary" ,ghc-temporary)))
6635 (home-page "https://github.com/jgm/pandoc-citeproc")
6636 (synopsis "Library for using pandoc with citeproc")
6637 (description
6638 "The @code{pandoc-citeproc} library exports functions for using the
6639 citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
6640 rendering bibliographic reference citations into a variety of styles using a
6641 macro language called @dfn{Citation Style Language} (CSL). This package also
6642 contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
6643 and also has a mode for converting bibliographic databases a YAML format
6644 suitable for inclusion in pandoc YAML metadata.")
6645 (license license:bsd-3)))
6646
6647 (define-public ghc-union-find
6648 (package
6649 (name "ghc-union-find")
6650 (version "0.2")
6651 (source (origin
6652 (method url-fetch)
6653 (uri (string-append
6654 "https://hackage.haskell.org/package/union-find/union-find-"
6655 version ".tar.gz"))
6656 (sha256
6657 (base32
6658 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
6659 (build-system haskell-build-system)
6660 (home-page "https://github.com/nominolo/union-find")
6661 (synopsis "Efficient union and equivalence testing of sets")
6662 (description
6663 "The Union/Find algorithm implements these operations in (effectively)
6664 constant-time:
6665 @enumerate
6666 @item Check whether two elements are in the same equivalence class.
6667 @item Create a union of two equivalence classes.
6668 @item Look up the descriptor of the equivalence class.
6669 @end enumerate\n")
6670 (license license:bsd-3)))
6671
6672 (define-public idris
6673 ;; TODO: IDRIS_LIBRARY_PATH only accepts a single path and not a colon
6674 ;; separated list.
6675 ;; TODO: When installing idris the location of the standard libraries
6676 ;; cannot be specified.
6677 ;; NOTE: Creating an idris build system:
6678 ;; Idris packages can be packaged and installed using a trivial
6679 ;; build system.
6680 ;; (zero? (system* (string-append idris "/bin/idris")
6681 ;; "--ibcsubdir"
6682 ;; (string-append out "/idris/libs/lightyear")
6683 ;; "--install" "lightyear.ipkg")
6684 ;; (native-search-paths
6685 ;; (list (search-path-specification
6686 ;; (variable "IDRIS_LIBRARY_PATH")
6687 ;; (files '("idris/libs")))))
6688 (package
6689 (name "idris")
6690 (version "0.12.3")
6691 (source (origin
6692 (method url-fetch)
6693 (uri (string-append
6694 "https://hackage.haskell.org/package/"
6695 "idris-" version "/idris-" version ".tar.gz"))
6696 (sha256
6697 (base32
6698 "1ijrbgzaahw9aagn4al55nqcggrg9ajlrkq2fjc1saq3xdd3v7rs"))))
6699 (build-system haskell-build-system)
6700 (arguments
6701 `(;; FIXME: runhaskell Setup.hs test doesn't set paths required by test
6702 ;; suite.
6703 #:tests? #f
6704 #:phases
6705 (modify-phases %standard-phases
6706 (add-before 'configure 'patch-cc-command
6707 (lambda _
6708 (setenv "CC" "gcc"))))))
6709 (inputs
6710 `(("gmp" ,gmp)
6711 ("ncurses" ,ncurses)
6712 ("ghc-aeson" ,ghc-aeson)
6713 ("ghc-async" ,ghc-async)
6714 ("ghc-annotated-wl-pprint" ,ghc-annotated-wl-pprint)
6715 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
6716 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
6717 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6718 ("ghc-blaze-html" ,ghc-blaze-html)
6719 ("ghc-blaze-markup" ,ghc-blaze-markup)
6720 ("ghc-cheapskate" ,ghc-cheapskate)
6721 ("ghc-fingertree" ,ghc-fingertree)
6722 ("ghc-fsnotify" ,ghc-fsnotify)
6723 ("ghc-ieee754" ,ghc-ieee754)
6724 ("ghc-mtl" ,ghc-mtl)
6725 ("ghc-network" ,ghc-network)
6726 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
6727 ("ghc-parsers" ,ghc-parsers)
6728 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
6729 ("ghc-safe" ,ghc-safe)
6730 ("ghc-split" ,ghc-split)
6731 ("ghc-tasty" ,ghc-tasty)
6732 ("ghc-tasty-golden" ,ghc-tasty-golden)
6733 ("ghc-tasty-rerun" ,ghc-tasty-rerun)
6734 ("ghc-terminal-size" ,ghc-terminal-size)
6735 ("ghc-text" ,ghc-text)
6736 ("ghc-trifecta" ,ghc-trifecta)
6737 ("ghc-uniplate" ,ghc-uniplate)
6738 ("ghc-unordered-containers" ,ghc-unordered-containers)
6739 ("ghc-utf8-string" ,ghc-utf8-string)
6740 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)
6741 ("ghc-vector" ,ghc-vector)
6742 ("ghc-zip-archive" ,ghc-zip-archive)
6743 ("ghc-zlib" ,ghc-zlib)))
6744 (home-page "http://www.idris-lang.org")
6745 (synopsis "General purpose language with full dependent types")
6746 (description "Idris is a general purpose language with full dependent
6747 types. It is compiled, with eager evaluation. Dependent types allow types to
6748 be predicated on values, meaning that some aspects of a program's behaviour
6749 can be specified precisely in the type. The language is closely related to
6750 Epigram and Agda.")
6751 (license license:bsd-3)))
6752
6753 (define-public ghc-base16-bytestring
6754 (package
6755 (name "ghc-base16-bytestring")
6756 (version "0.1.1.6")
6757 (source
6758 (origin
6759 (method url-fetch)
6760 (uri (string-append
6761 "https://hackage.haskell.org/package/base16-bytestring/"
6762 "base16-bytestring-" version ".tar.gz"))
6763 (sha256
6764 (base32
6765 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
6766 (build-system haskell-build-system)
6767 (home-page "http://github.com/bos/base16-bytestring")
6768 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
6769 (description
6770 "This package provides a Haskell library for working with base16-encoded
6771 data quickly and efficiently, using the ByteString type.")
6772 (license license:bsd-3)))
6773
6774 (define-public ghc-binary
6775 (package
6776 (name "ghc-binary")
6777 (version "0.8.4.1")
6778 (source
6779 (origin
6780 (method url-fetch)
6781 (uri (string-append
6782 "https://hackage.haskell.org/package/binary/binary-"
6783 version ".tar.gz"))
6784 (sha256
6785 (base32
6786 "1fp7wxnf57cjzhbb7rgqs6fgws4690zh0dxgl924dj4nzq0cf4wd"))))
6787 (build-system haskell-build-system)
6788 (inputs
6789 `(("ghc-random" ,ghc-random)
6790 ("ghc-test-framework" ,ghc-test-framework)
6791 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6792 ("ghc-quickcheck" ,ghc-quickcheck)
6793 ("ghc-hunit" ,ghc-hunit)))
6794 (home-page "https://github.com/kolmodin/binary")
6795 (synopsis
6796 "Binary serialisation for Haskell values using lazy ByteStrings")
6797 (description
6798 "Efficient, pure binary serialisation using lazy ByteStrings. Haskell values
6799 may be encoded to and from binary formats, written to disk as binary, or sent over
6800 the network. The format used can be automatically generated, or you can choose to
6801 implement a custom format if needed. Serialisation speeds of over 1 G\\/sec have
6802 been observed, so this library should be suitable for high performance scenarios.")
6803 (license license:bsd-3)))
6804
6805 (define-public ghc-cryptohash
6806 (package
6807 (name "ghc-cryptohash")
6808 (version "0.11.9")
6809 (source
6810 (origin
6811 (method url-fetch)
6812 (uri (string-append
6813 "https://hackage.haskell.org/package/cryptohash/cryptohash-"
6814 version ".tar.gz"))
6815 (sha256
6816 (base32
6817 "1yr2iyb779znj79j3fq4ky8l1y8a600a2x1fx9p5pmpwq5zq93y2"))))
6818 (build-system haskell-build-system)
6819 (inputs
6820 `(("ghc-byteable" ,ghc-byteable)
6821 ("ghc-cryptonite" ,ghc-cryptonite)
6822 ("ghc-memory" ,ghc-memory)
6823 ("ghc-hunit" ,ghc-hunit)
6824 ("ghc-quickcheck" ,ghc-quickcheck)
6825 ("ghc-tasty" ,ghc-tasty)
6826 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6827 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6828 (home-page "http://github.com/vincenthz/hs-cryptohash")
6829 (synopsis "Collection of cryptographic hashes in Haskell")
6830 (description
6831 "A collection of crypto hashes, with a practical incremental and one-pass,
6832 pure APIs, with performance close to the fastest implementations available in
6833 other languages. The implementations are made in C with a haskell FFI wrapper
6834 that hides the C implementation.")
6835 (license license:bsd-3)))
6836
6837 (define-public ghc-data-ordlist
6838 (package
6839 (name "ghc-data-ordlist")
6840 (version "0.4.7.0")
6841 (source
6842 (origin
6843 (method url-fetch)
6844 (uri (string-append
6845 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
6846 version ".tar.gz"))
6847 (sha256
6848 (base32
6849 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
6850 (build-system haskell-build-system)
6851 (home-page "http://hackage.haskell.org/package/data-ordlist")
6852 (synopsis "Set and bag operations on ordered lists")
6853 (description
6854 "This module provides set and multiset operations on ordered lists.")
6855 (license license:bsd-3)))
6856
6857 (define-public ghc-haskeline
6858 (package
6859 (name "ghc-haskeline")
6860 (version "0.7.2.3")
6861 (source
6862 (origin
6863 (method url-fetch)
6864 (uri (string-append
6865 "https://hackage.haskell.org/package/haskeline/haskeline-"
6866 version ".tar.gz"))
6867 (sha256
6868 (base32
6869 "09wd6sxgn65xxpk7dhy1cg3ywlbk0ccqq7xylycwk4zazy3gjgkd"))))
6870 (build-system haskell-build-system)
6871 (inputs
6872 `(("ncurses" ,ncurses)))
6873 (arguments
6874 `(#:configure-flags (list "-fterminfo")))
6875 (home-page "https://github.com/judah/haskeline")
6876 (synopsis "Command-line interface for user input")
6877 (description
6878 "Haskeline provides a user interface for line input in command-line
6879 programs. This library is similar in purpose to readline, but since it
6880 is written in Haskell it is (hopefully) more easily used in other Haskell
6881 programs.")
6882 (license license:bsd-3)))
6883
6884 (define-public ghc-regex-applicative
6885 (package
6886 (name "ghc-regex-applicative")
6887 (version "0.3.3")
6888 (source
6889 (origin
6890 (method url-fetch)
6891 (uri (string-append
6892 "https://hackage.haskell.org/package/regex-applicative/"
6893 "regex-applicative-" version ".tar.gz"))
6894 (sha256
6895 (base32
6896 "1riv7jqf26lbv4rm54sd6mrx8xdh4dvh4xbzymzdfdw13k6a4nb6"))))
6897 (build-system haskell-build-system)
6898 (inputs
6899 `(("ghc-smallcheck" ,ghc-smallcheck)
6900 ("ghc-tasty" ,ghc-tasty)
6901 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
6902 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6903 (home-page "https://github.com/feuerbach/regex-applicative")
6904 (synopsis "Regex-based parsing with applicative interface")
6905 (description
6906 "@code{regex-applicative} is a Haskell library for parsing using
6907 regular expressions. Parsers can be built using Applicative interface.")
6908 (license license:expat)))
6909
6910 (define-public ghc-regex-tdfa
6911 (package
6912 (name "ghc-regex-tdfa")
6913 (version "1.2.2")
6914 (source
6915 (origin
6916 (method url-fetch)
6917 (uri (string-append
6918 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
6919 version ".tar.gz"))
6920 (sha256
6921 (base32
6922 "0f8x8wyr6m21g8dnxvnvalz5bsq37l125l6qhs0fscbvprsxc4nb"))))
6923 (build-system haskell-build-system)
6924 (inputs
6925 `(("ghc-mtl" ,ghc-mtl)
6926 ("ghc-parsec" ,ghc-parsec)
6927 ("ghc-regex-base" ,ghc-regex-base)))
6928 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
6929 (synopsis "POSIX extended regular expressions in Haskell.")
6930 (description
6931 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
6932 extended regular expressions. It is a \"tagged\" DFA regex engine. It is
6933 inspired by libtre.")
6934 (license license:bsd-3)))
6935
6936 (define-public ghc-regex-compat-tdfa
6937 (package
6938 (name "ghc-regex-compat-tdfa")
6939 (version "0.95.1.4")
6940 (source
6941 (origin
6942 (method url-fetch)
6943 (uri (string-append
6944 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
6945 version ".tar.gz"))
6946 (sha256
6947 (base32
6948 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
6949 (build-system haskell-build-system)
6950 (inputs
6951 `(("ghc-regex-base" ,ghc-regex-base)
6952 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
6953 (home-page "http://hub.darcs.net/shelarcy/regex-compat-tdfa")
6954 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
6955 (description
6956 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
6957 @code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
6958 This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
6959 this problem.")
6960 (license license:bsd-3)))
6961
6962 (define-public ghc-tasty-th
6963 (package
6964 (name "ghc-tasty-th")
6965 (version "0.1.4")
6966 (source
6967 (origin
6968 (method url-fetch)
6969 (uri (string-append
6970 "https://hackage.haskell.org/package/tasty-th/tasty-th-"
6971 version ".tar.gz"))
6972 (sha256
6973 (base32
6974 "0dff9si8i1qp0s7p4hlk0l29vq7wxfglw6mvlgmld43h7rllv88q"))))
6975 (build-system haskell-build-system)
6976 (inputs
6977 `(("ghc-tasty" ,ghc-tasty)))
6978 (home-page "http://github.com/bennofs/tasty-th")
6979 (synopsis "Automatically generate tasty TestTrees")
6980 (description
6981 "Tasty-th automatically generates tasty TestTrees from functions of the
6982 current module, using TemplateHaskell. This is a fork the original
6983 test-framework-th package, modified to work with tasty instead of
6984 test-framework.")
6985 (license license:bsd-3)))
6986
6987 (define-public ghc-sandi
6988 (package
6989 (name "ghc-sandi")
6990 (version "0.4.0") ; darcs-2.12.4 needs == 0.4.*
6991 (source
6992 (origin
6993 (method url-fetch)
6994 (uri (string-append
6995 "https://hackage.haskell.org/package/sandi/sandi-"
6996 version ".tar.gz"))
6997 (sha256
6998 (base32
6999 "1smf3bq44qni4zbgxpw7cy7b9g95fbrr73j8njjf6139naj9bj20"))))
7000 (build-system haskell-build-system)
7001 (inputs
7002 `(("ghc-stringsearch" ,ghc-stringsearch)
7003 ("ghc-conduit" ,ghc-conduit)
7004 ("ghc-exceptions" ,ghc-exceptions)
7005 ("ghc-hunit" ,ghc-hunit)
7006 ("ghc-tasty" ,ghc-tasty)
7007 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7008 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7009 ("ghc-tasty-th" ,ghc-tasty-th)))
7010 (home-page "http://hackage.haskell.org/package/sandi")
7011 (synopsis "Data encoding library")
7012 (description "Reasonably fast data encoding library.")
7013 (license license:bsd-3)))
7014
7015 (define-public ghc-bytestring-handle
7016 (package
7017 (name "ghc-bytestring-handle")
7018 (version "0.1.0.4")
7019 (source
7020 (origin
7021 (method url-fetch)
7022 (uri (string-append
7023 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
7024 version ".tar.gz"))
7025 (sha256
7026 (base32
7027 "0q5yzx90ad9w7qvaix05bynxwlsbqjrgfc4hqb355ibf991wd0rh"))))
7028 (build-system haskell-build-system)
7029 (inputs
7030 `(("ghc-quickcheck" ,ghc-quickcheck)
7031 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7032 ("ghc-hunit" ,ghc-hunit)
7033 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7034 ("ghc-test-framework" ,ghc-test-framework)))
7035 (home-page "http://hub.darcs.net/ganesh/bytestring-handle")
7036 (synopsis "ByteString-backed Handles")
7037 (description "ByteString-backed Handles") ; There is no description
7038 (license license:bsd-3)))
7039
7040 (define-public ghc-tar
7041 (package
7042 (name "ghc-tar")
7043 (version "0.5.0.3")
7044 (source
7045 (origin
7046 (method url-fetch)
7047 (uri (string-append
7048 "https://hackage.haskell.org/package/tar/tar-"
7049 version ".tar.gz"))
7050 (sha256
7051 (base32
7052 "18qq94j9bm91iswnxq2dm5dws5c7wm4k01q2rpf8py35cf3svnfq"))))
7053 (build-system haskell-build-system)
7054 (inputs
7055 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
7056 ("ghc-quickcheck" ,ghc-quickcheck)
7057 ("ghc-tasty" ,ghc-tasty)
7058 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7059 ("ghc-array" ,ghc-array)))
7060 (home-page "http://hackage.haskell.org/package/tar")
7061 (synopsis "Reading, writing and manipulating \".tar\" archive files")
7062 (description
7063 "This library is for working with \\\"@.tar@\\\" archive files.
7064 It can read and write a range of common variations of the tar archive format
7065 including V7, POSIX USTAR and GNU formats. It provides support for packing and
7066 unpacking portable archives. This makes it suitable for distribution but not
7067 backup because details like file ownership and exact permissions are not
7068 preserved. It also provides features for random access to archive content using
7069 an index.")
7070 (license license:bsd-3)))
7071
7072 (define-public ghc-transformers
7073 (package
7074 (name "ghc-transformers")
7075 (version "0.5.2.0")
7076 (source
7077 (origin
7078 (method url-fetch)
7079 (uri (string-append
7080 "https://hackage.haskell.org/package/transformers/transformers-"
7081 version ".tar.gz"))
7082 (sha256
7083 (base32
7084 "1qkhi8ssf8c4jnmrw9dzym3igqbzq7h48iisaykdfzdsm09qfh3c"))))
7085 (build-system haskell-build-system)
7086 (home-page "http://hackage.haskell.org/package/transformers")
7087 (synopsis "Concrete functor and monad transformers")
7088 (description
7089 "A portable library of functor and monad transformers, inspired by the paper
7090 'Functional Programming with Overloading and Higher-Order Polymorphism',
7091 by Mark P Jones. This package contains the monad transformer class and IO monad class,
7092 concrete functor and monad transformers, each with associated operations and functions
7093 to lift operations associated with other transformers. The package can be used on
7094 its own in portable Haskell code, in which case operations need to be manually lifted
7095 through transformer stacks. Alternatively, it can be used with the
7096 non-portable monad classes in the @code{mtl} or @code{monads-tf} packages,
7097 which automatically lift operations introduced by monad transformers through
7098 other transformers.")
7099 (license license:bsd-3)))
7100
7101 ;; darcs-2.12.0 requires transformers-0.4.2.0
7102 (define-public ghc-transformers-0.4.2.0
7103 (package
7104 (inherit ghc-transformers)
7105 (version "0.4.2.0")
7106 (source (origin
7107 (method url-fetch)
7108 (uri (string-append "https://hackage.haskell.org/package/transformers/"
7109 "transformers-" version ".tar.gz"))
7110 (sha256
7111 (base32
7112 "0a364zfcm17mhpy0c4ms2j88sys4yvgd6071qsgk93la2wjm8mkr"))))))
7113
7114 (define-public ghc-findbin
7115 (package
7116 (name "ghc-findbin")
7117 (version "0.0.5")
7118 (source
7119 (origin
7120 (method url-fetch)
7121 (uri (string-append
7122 "https://hackage.haskell.org/package/FindBin/FindBin-"
7123 version ".tar.gz"))
7124 (sha256
7125 (base32
7126 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
7127 (build-system haskell-build-system)
7128 (home-page "https://github.com/audreyt/findbin")
7129 (synopsis "Get the absolute path of the running program")
7130 (description
7131 "This module locates the full directory of the running program, to allow
7132 the use of paths relative to it. FindBin supports invocation of Haskell
7133 programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
7134 an executable.")
7135 (license license:bsd-3)))
7136
7137 (define-public ghc-patience
7138 (package
7139 (name "ghc-patience")
7140 (version "0.1.1")
7141 (source
7142 (origin
7143 (method url-fetch)
7144 (uri (string-append
7145 "https://hackage.haskell.org/package/patience/patience-"
7146 version ".tar.gz"))
7147 (sha256
7148 (base32
7149 "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"))))
7150 (build-system haskell-build-system)
7151 (home-page "http://hackage.haskell.org/package/patience")
7152 (synopsis "Patience diff and longest increasing subsequence")
7153 (description
7154 "This library implements the 'patience diff' algorithm, as well as the
7155 patience algorithm for the longest increasing subsequence problem.
7156 Patience diff computes the difference between two lists, for example the lines
7157 of two versions of a source file. It provides a good balance between
7158 performance, nice output for humans, and simplicity of implementation.")
7159 (license license:bsd-3)))
7160
7161 (define-public ghc-monads-tf
7162 (package
7163 (name "ghc-monads-tf")
7164 (version "0.1.0.3")
7165 (source
7166 (origin
7167 (method url-fetch)
7168 (uri (string-append
7169 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7170 version ".tar.gz"))
7171 (sha256
7172 (base32
7173 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7174 (build-system haskell-build-system)
7175 (home-page "http://hackage.haskell.org/package/monads-tf")
7176 (synopsis "Monad classes, using type families")
7177 (description
7178 "Monad classes using type families, with instances for various monad transformers,
7179 inspired by the paper 'Functional Programming with Overloading and Higher-Order
7180 Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7181 the @code{mtl-tf} package.")
7182 (license license:bsd-3)))
7183
7184 ;; Do not use this. Bytestring is a standard library and always included.
7185 (define-public ghc-bytestring
7186 (package
7187 (name "ghc-bytestring")
7188 (version "0.10.8.1")
7189 (source
7190 (origin
7191 (method url-fetch)
7192 (uri (string-append
7193 "https://hackage.haskell.org/package/bytestring/bytestring-"
7194 version ".tar.gz"))
7195 (sha256
7196 (base32
7197 "16zwb1p83z7vc5wlhvknpy80b5a2jxc5awx67rk52qnp9idmyq9d"))))
7198 (build-system haskell-build-system)
7199 (inputs
7200 `(("ghc-random" ,ghc-random)
7201 ("ghc-test-framework" ,ghc-test-framework)
7202 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7203 ("ghc-quickcheck" ,ghc-quickcheck)
7204 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7205 ("ghc-hunit" ,ghc-hunit)
7206 ("ghc-byteorder" ,ghc-byteorder)
7207 ("ghc-dlist" ,ghc-dlist)
7208 ("ghc-mtl" ,ghc-mtl)))
7209 (arguments
7210 `(#:tests? #f)) ; Test number two becomes non-responsive for 20+ minutes
7211 (home-page "https://github.com/haskell/bytestring")
7212 (synopsis "Fast, compact, strict and lazy byte strings with a list interface")
7213 (description
7214 "An efficient compact, immutable byte string type (both strict and lazy)
7215 suitable for binary or 8-bit character data. The 'ByteString' type represents
7216 sequences of bytes or 8-bit characters. It is suitable for high performance use,
7217 both in terms of large data quantities, or high speed requirements. The 'ByteString'
7218 functions follow the same style as ordinary lists, so it is easy to convert code
7219 from using 'String' to 'ByteString'.")
7220 (license license:bsd-3)))
7221
7222 (define-public ghc-colour
7223 (package
7224 (name "ghc-colour")
7225 (version "2.3.3")
7226 (source
7227 (origin
7228 (method url-fetch)
7229 (uri (string-append
7230 "https://hackage.haskell.org/package/colour/colour-"
7231 version ".tar.gz"))
7232 (sha256
7233 (base32
7234 "1qmn1778xzg07jg9nx4k1spdz2llivpblf6wwrps1qpqjhsac5cd"))))
7235 (build-system haskell-build-system)
7236 (home-page "http://www.haskell.org/haskellwiki/Colour")
7237 (synopsis "Model for human colour perception")
7238 (description
7239 "This package provides a data type for colours and transparency.
7240 Colours can be blended and composed. Various colour spaces are
7241 supported. A module of colour names (\"Data.Colour.Names\") is provided.")
7242 (license license:expat)))
7243
7244 (define-public ghc-directory
7245 (package
7246 (name "ghc-directory")
7247 (version "1.2.7.0")
7248 (source
7249 (origin
7250 (method url-fetch)
7251 (uri (string-append
7252 "https://hackage.haskell.org/package/directory/directory-"
7253 version ".tar.gz"))
7254 (sha256
7255 (base32
7256 "0h3hrqskadmbigaxbz2k5xxjjjlmfaq2zdn2g7jh1wv9k6yrxraa"))))
7257 (build-system haskell-build-system)
7258 (home-page "http://hackage.haskell.org/package/directory")
7259 (synopsis "Platform-agnostic library for filesystem operations")
7260 (description
7261 "This library provides a basic set of operations for manipulating
7262 files and directories in a portable way.")
7263 (license license:bsd-3)))
7264
7265 ;; Do not use this as an input. It is part of GHC.
7266 (define-public ghc-process
7267 (package
7268 (name "ghc-process")
7269 (version "1.4.2.0")
7270 (source
7271 (origin
7272 (method url-fetch)
7273 (uri (string-append
7274 "https://hackage.haskell.org/package/process/process-"
7275 version ".tar.gz"))
7276 (sha256
7277 (base32
7278 "1v1bav5isqxq9fc4lw714x94qbfsjbm2nn12kjp69r1ql8jaaaqw"))))
7279 (build-system haskell-build-system)
7280 (arguments
7281 `(#:phases
7282 (modify-phases %standard-phases
7283 (add-after 'unpack 'patch-reference-to-/bin/sh
7284 (lambda _
7285 (substitute* "System/Process/Posix.hs"
7286 (("/bin/sh") (which "sh")))
7287 #t)))))
7288 (home-page "http://hackage.haskell.org/package/process")
7289 (synopsis "System process libraries")
7290 (description
7291 "This package contains libraries for dealing with system processes.")
7292 (license license:bsd-3)))
7293
7294 (define-public ghc-wl-pprint-text
7295 (package
7296 (name "ghc-wl-pprint-text")
7297 (version "1.1.0.4")
7298 (source
7299 (origin
7300 (method url-fetch)
7301 (uri (string-append
7302 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
7303 version ".tar.gz"))
7304 (sha256
7305 (base32
7306 "1xgizzimfw17mpmw2afvmnvyag976j8ggn7k5r564rkw9f0m6bgz"))))
7307 (build-system haskell-build-system)
7308 (inputs
7309 `(("ghc-text" ,ghc-text)))
7310 (home-page "http://hackage.haskell.org/package/wl-pprint-text")
7311 (synopsis "Wadler/Leijen Pretty Printer for Text values")
7312 (description
7313 "A clone of wl-pprint for use with the text library.")
7314 (license license:bsd-3)))
7315
7316 (define-public ghc-fgl-arbitrary
7317 (package
7318 (name "ghc-fgl-arbitrary")
7319 (version "0.2.0.2")
7320 (source
7321 (origin
7322 (method url-fetch)
7323 (uri (string-append
7324 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
7325 version ".tar.gz"))
7326 (sha256
7327 (base32
7328 "12qbsla4vivffris6y3gj29vrafkpyazqdbdy2m55nggypqpf7ah"))))
7329 (build-system haskell-build-system)
7330 (inputs
7331 `(("ghc-fgl" ,ghc-fgl)
7332 ("ghc-quickcheck" ,ghc-quickcheck)
7333 ("ghc-hspec" ,ghc-hspec)))
7334 (home-page "http://hackage.haskell.org/package/fgl-arbitrary")
7335 (synopsis "QuickCheck support for fgl")
7336 (description
7337 "Provides Arbitrary instances for fgl graphs to avoid adding a
7338 QuickCheck dependency for fgl whilst still making the instances
7339 available to others. Also available are non-fgl-specific functions
7340 for generating graph-like data structures.")
7341 (license license:bsd-3)))
7342
7343 (define-public ghc-graphviz
7344 (package
7345 (name "ghc-graphviz")
7346 (version "2999.18.1.2")
7347 (source (origin
7348 (method url-fetch)
7349 (uri (string-append "https://hackage.haskell.org/package/"
7350 "graphviz/graphviz-" version ".tar.gz"))
7351 (sha256
7352 (base32
7353 "1z453is01v0rnxlv6xx4iyaqv5vrp3bpz829mpv1a341sck2135h"))))
7354 (build-system haskell-build-system)
7355 (inputs
7356 `(("ghc-quickcheck" ,ghc-quickcheck)
7357 ("ghc-colour" ,ghc-colour)
7358 ("ghc-dlist" ,ghc-dlist)
7359 ("ghc-fgl" ,ghc-fgl)
7360 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
7361 ("ghc-polyparse" ,ghc-polyparse)
7362 ("ghc-temporary" ,ghc-temporary)
7363 ("ghc-text" ,ghc-text)
7364 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
7365 (home-page "https://hackage.haskell.org/package/graphviz")
7366 (synopsis "Bindings to Graphviz for graph visualisation")
7367 (description
7368 "This library provides bindings for the Dot language used by
7369 the @uref{http://graphviz.org/, Graphviz} suite of programs for
7370 visualising graphs, as well as functions to call those programs.
7371 Main features of the graphviz library include:
7372
7373 @enumerate
7374 @item Almost complete coverage of all Graphviz attributes and syntax
7375 @item Support for specifying clusters
7376 @item The ability to use a custom node type
7377 @item Functions for running a Graphviz layout tool with all specified output types
7378 @item Generate and parse Dot code with two options: strict and liberal
7379 @item Functions to convert FGL graphs and other graph-like data structures
7380 @item Round-trip support for passing an FGL graph through Graphviz to augment node
7381 and edge labels with positional information, etc.
7382 @end enumerate\n")
7383 (license license:bsd-3)))
7384
7385 (define-public ghc-array
7386 (package
7387 (name "ghc-array")
7388 (version "0.5.1.1")
7389 (source
7390 (origin
7391 (method url-fetch)
7392 (uri (string-append
7393 "https://hackage.haskell.org/package/array/array-"
7394 version ".tar.gz"))
7395 (sha256
7396 (base32
7397 "08r2rq4blvc737mrg3xhlwiw13jmsz5dlf2fd0ghb9cdaxc6kjc9"))))
7398 (build-system haskell-build-system)
7399 (home-page
7400 "http://hackage.haskell.org/package/array")
7401 (synopsis "Mutable and immutable arrays")
7402 (description
7403 "In addition to providing the @code{Data.Array} module, this package also defines
7404 the classes @code{IArray} of immutable arrays and @code{MArray} of arrays mutable
7405 within appropriate monads, as well as some instances of these classes.")
7406 (license license:bsd-3)))
7407
7408 (define-public ghc-constraints
7409 (package
7410 (name "ghc-constraints")
7411 (version "0.8")
7412 (source
7413 (origin
7414 (method url-fetch)
7415 (uri (string-append
7416 "https://hackage.haskell.org/package/constraints/constraints-"
7417 version ".tar.gz"))
7418 (sha256
7419 (base32
7420 "120mmv9rwbahslisc1z8zx9lw7v6hl5fzid4l0hiy5as6ijqgl2c"))))
7421 (build-system haskell-build-system)
7422 (inputs
7423 `(("ghc-hashable" ,ghc-hashable)
7424 ("ghc-mtl" ,ghc-mtl)
7425 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7426 (home-page "http://github.com/ekmett/constraints/")
7427 (synopsis "Constraint manipulation")
7428 (description
7429 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
7430 They stopped crashing the compiler in GHC 7.6. This package provides
7431 a vocabulary for working with them.")
7432 (license license:bsd-3)))
7433
7434 (define-public ghc-lifted-async
7435 (package
7436 (name "ghc-lifted-async")
7437 (version "0.9.0")
7438 (source
7439 (origin
7440 (method url-fetch)
7441 (uri (string-append
7442 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
7443 version ".tar.gz"))
7444 (sha256
7445 (base32
7446 "00fnwfcnc6niq9jbbb9rap9rkdgv5qhcglwanzc5fi8834j94c1r"))))
7447 (build-system haskell-build-system)
7448 (inputs
7449 `(("ghc-async" ,ghc-async)
7450 ("ghc-lifted-base" ,ghc-lifted-base)
7451 ("ghc-transformers-base" ,ghc-transformers-base)
7452 ("ghc-monad-control" ,ghc-monad-control)
7453 ("ghc-constraints" ,ghc-constraints)
7454 ("ghc-hunit" ,ghc-hunit)
7455 ("ghc-mtl" ,ghc-mtl)
7456 ("ghc-tasty" ,ghc-tasty)
7457 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7458 ("ghc-tasty-th" ,ghc-tasty-th)))
7459 (home-page "https://github.com/maoe/lifted-async")
7460 (synopsis "Run lifted IO operations asynchronously and wait for their results")
7461 (description
7462 "This package provides IO operations from @code{async} package lifted to any
7463 instance of @code{MonadBase} or @code{MonadBaseControl}.")
7464 (license license:bsd-3)))
7465
7466 ;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
7467 ;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
7468 ;; which depends on ghc-chell and ghc-chell-quickcheck.
7469 ;; Therefore we bootstrap it with tests disabled.
7470 (define ghc-system-filepath-bootstrap
7471 (package
7472 (name "ghc-system-filepath-bootstrap")
7473 (version "0.4.13.4")
7474 (source
7475 (origin
7476 (method url-fetch)
7477 (uri (string-append
7478 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
7479 version ".tar.gz"))
7480 (sha256
7481 (base32
7482 "1yy5zsmmimhg6iaw9fmpwrxvxrgi5s6bfyqfihdsnx4bjvn7sp9l"))))
7483 (build-system haskell-build-system)
7484 (arguments
7485 `(#:tests? #f))
7486 (inputs
7487 `(("ghc-text" ,ghc-text)
7488 ("ghc-quickcheck" ,ghc-quickcheck)))
7489 (home-page "https://github.com/fpco/haskell-filesystem")
7490 (synopsis "High-level, byte-based file and directory path manipulations")
7491 (description
7492 "Provides a FilePath datatype and utility functions for operating on it.
7493 Unlike the filepath package, this package does not simply reuse String,
7494 increasing type safety.")
7495 (license license:expat)))
7496
7497 ;; See ghc-system-filepath-bootstrap. In addition this package depends on
7498 ;; ghc-system-filepath.
7499 (define ghc-system-fileio-bootstrap
7500 (package
7501 (name "ghc-system-fileio-bootstrap")
7502 (version "0.3.16.3")
7503 (source
7504 (origin
7505 (method url-fetch)
7506 (uri (string-append
7507 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
7508 version ".tar.gz"))
7509 (sha256
7510 (base32
7511 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
7512 (build-system haskell-build-system)
7513 (arguments
7514 `(#:tests? #f))
7515 (inputs
7516 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
7517 ("ghc-text" ,ghc-text)
7518 ("ghc-temporary" ,ghc-temporary)))
7519 (home-page "https://github.com/fpco/haskell-filesystem")
7520 (synopsis "Consistent filesystem interaction across GHC versions")
7521 (description
7522 "This is a small wrapper around the directory, unix, and Win32 packages,
7523 for use with system-filepath. It provides a consistent API to the various
7524 versions of these packages distributed with different versions of GHC.
7525 In particular, this library supports working with POSIX files that have paths
7526 which can't be decoded in the current locale encoding.")
7527 (license license:expat)))
7528
7529 (define-public ghc-shelly
7530 (package
7531 (name "ghc-shelly")
7532 (version "1.6.8")
7533 (source
7534 (origin
7535 (method url-fetch)
7536 (uri (string-append
7537 "https://hackage.haskell.org/package/shelly/shelly-"
7538 version ".tar.gz"))
7539 (sha256
7540 (base32
7541 "0bg1pj5bhswfgwfgz66xr82i8cmjgrnx5ljvjy37052zxb82imnk"))))
7542 (build-system haskell-build-system)
7543 (inputs
7544 `(("ghc-mtl" ,ghc-mtl)
7545 ("ghc-unix-compat" ,ghc-unix-compat)
7546 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
7547 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
7548 ("ghc-monad-control" ,ghc-monad-control)
7549 ("ghc-lifted-base" ,ghc-lifted-base)
7550 ("ghc-lifted-async" ,ghc-lifted-async)
7551 ("ghc-exceptions" ,ghc-exceptions)
7552 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
7553 ("ghc-text" ,ghc-text)
7554 ("ghc-async" ,ghc-async)
7555 ("ghc-transformers-base" ,ghc-transformers-base)
7556 ("ghc-hunit" ,ghc-hunit)
7557 ("ghc-hspec" ,ghc-hspec)))
7558 (home-page "https://github.com/yesodweb/Shelly.hs")
7559 (synopsis "Shell-like (systems) programming in Haskell")
7560 (description
7561 "Shelly provides convenient systems programming in Haskell, similar in
7562 spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
7563 (license license:bsd-3)))
7564
7565 ;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7566 (define ghc-options-bootstrap
7567 (package
7568 (name "ghc-options-bootstrap")
7569 (version "1.2.1.1")
7570 (source
7571 (origin
7572 (method url-fetch)
7573 (uri (string-append
7574 "https://hackage.haskell.org/package/options/options-"
7575 version ".tar.gz"))
7576 (sha256
7577 (base32
7578 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7579 (build-system haskell-build-system)
7580 (arguments
7581 `(#:tests? #f))
7582 (inputs
7583 `(("ghc-monads-tf" ,ghc-monads-tf)))
7584 (home-page "https://john-millikin.com/software/haskell-options/")
7585 (synopsis "Powerful and easy-to-use command-line option parser")
7586 (description
7587 "The @code{options} package lets library and application developers
7588 easily work with command-line options.")
7589 (license license:expat)))
7590
7591 (define-public ghc-chell
7592 (package
7593 (name "ghc-chell")
7594 (version "0.4.0.1")
7595 (source
7596 (origin
7597 (method url-fetch)
7598 (uri (string-append
7599 "https://hackage.haskell.org/package/chell/chell-"
7600 version ".tar.gz"))
7601 (sha256
7602 (base32
7603 "0lb95abzxl4a87nfqxsxpb3a39pd52cci43hcvj8615hyhqvs2jz"))))
7604 (build-system haskell-build-system)
7605 (inputs
7606 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
7607 ("ghc-patience" ,ghc-patience)
7608 ("ghc-random" ,ghc-random)
7609 ("ghc-text" ,ghc-text)
7610 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
7611 (home-page "https://john-millikin.com/software/chell/")
7612 (synopsis "Simple and intuitive library for automated testing")
7613 (description
7614 "Chell is a simple and intuitive library for automated testing.
7615 It natively supports assertion-based testing, and can use companion
7616 libraries such as @code{chell-quickcheck} to support more complex
7617 testing strategies.")
7618 (license license:expat)))
7619
7620 (define ghc-chell-quickcheck-bootstrap
7621 (package
7622 (name "ghc-chell-quickcheck-bootstrap")
7623 (version "0.2.5")
7624 (source
7625 (origin
7626 (method url-fetch)
7627 (uri (string-append
7628 "https://hackage.haskell.org/package/chell-quickcheck/chell-quickcheck-"
7629 version ".tar.gz"))
7630 (sha256
7631 (base32
7632 "02bkcnx5k6r5csdnnkvk4wfd0l36nxb87i1463ynw17n7ym9s4cs"))))
7633 (build-system haskell-build-system)
7634 (inputs
7635 `(("ghc-chell" ,ghc-chell)
7636 ("ghc-random" ,ghc-random)
7637 ("ghc-quickcheck" ,ghc-quickcheck)))
7638 (arguments
7639 `(#:tests? #f))
7640 (home-page "https://john-millikin.com/software/chell/")
7641 (synopsis "QuickCheck support for the Chell testing library")
7642 (description "More complex tests for @code{chell}.")
7643 (license license:expat)))
7644
7645 (define-public ghc-chell-quickcheck
7646 (package
7647 (name "ghc-chell-quickcheck")
7648 (version "0.2.5")
7649 (source
7650 (origin
7651 (method url-fetch)
7652 (uri (string-append
7653 "https://hackage.haskell.org/package/chell-quickcheck/chell-quickcheck-"
7654 version ".tar.gz"))
7655 (sha256
7656 (base32
7657 "02bkcnx5k6r5csdnnkvk4wfd0l36nxb87i1463ynw17n7ym9s4cs"))))
7658 (build-system haskell-build-system)
7659 (inputs
7660 `(("ghc-chell" ,ghc-chell)
7661 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
7662 ("ghc-random" ,ghc-random)
7663 ("ghc-quickcheck" ,ghc-quickcheck)))
7664 (home-page "https://john-millikin.com/software/chell/")
7665 (synopsis "QuickCheck support for the Chell testing library")
7666 (description "More complex tests for @code{chell}.")
7667 (license license:expat)))
7668
7669 (define-public ghc-options
7670 (package
7671 (name "ghc-options")
7672 (version "1.2.1.1")
7673 (source
7674 (origin
7675 (method url-fetch)
7676 (uri (string-append
7677 "https://hackage.haskell.org/package/options/options-"
7678 version ".tar.gz"))
7679 (sha256
7680 (base32
7681 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7682 (build-system haskell-build-system)
7683 (inputs
7684 `(("ghc-monads-tf" ,ghc-monads-tf)
7685 ("ghc-chell" ,ghc-chell)
7686 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7687 (home-page "https://john-millikin.com/software/haskell-options/")
7688 (synopsis "Powerful and easy-to-use command-line option parser")
7689 (description
7690 "The @code{options} package lets library and application developers
7691 easily work with command-line options.")
7692 (license license:expat)))
7693
7694 (define-public ghc-system-filepath
7695 (package
7696 (name "ghc-system-filepath")
7697 (version "0.4.13.4")
7698 (source
7699 (origin
7700 (method url-fetch)
7701 (uri (string-append
7702 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
7703 version ".tar.gz"))
7704 (sha256
7705 (base32
7706 "1yy5zsmmimhg6iaw9fmpwrxvxrgi5s6bfyqfihdsnx4bjvn7sp9l"))))
7707 (build-system haskell-build-system)
7708 (inputs
7709 `(("ghc-text" ,ghc-text)
7710 ("ghc-chell" ,ghc-chell)
7711 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
7712 ("ghc-quickcheck" ,ghc-quickcheck)))
7713 (home-page "https://github.com/fpco/haskell-filesystem")
7714 (synopsis "High-level, byte-based file and directory path manipulations")
7715 (description
7716 "Provides a FilePath datatype and utility functions for operating on it.
7717 Unlike the filepath package, this package does not simply reuse String,
7718 increasing type safety.")
7719 (license license:expat)))
7720
7721 (define-public ghc-system-fileio
7722 (package
7723 (name "ghc-system-fileio")
7724 (version "0.3.16.3")
7725 (source
7726 (origin
7727 (method url-fetch)
7728 (uri (string-append
7729 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
7730 version ".tar.gz"))
7731 (sha256
7732 (base32
7733 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
7734 (build-system haskell-build-system)
7735 (inputs
7736 `(("ghc-system-filepath" ,ghc-system-filepath)
7737 ("ghc-text" ,ghc-text)
7738 ("ghc-chell" ,ghc-chell)
7739 ("ghc-temporary" ,ghc-temporary)))
7740 (home-page "https://github.com/fpco/haskell-filesystem")
7741 (synopsis "Consistent filesystem interaction across GHC versions")
7742 (description
7743 "This is a small wrapper around the directory, unix, and Win32 packages,
7744 for use with system-filepath. It provides a consistent API to the various
7745 versions of these packages distributed with different versions of GHC.
7746 In particular, this library supports working with POSIX files that have paths
7747 which can't be decoded in the current locale encoding.")
7748 (license license:expat)))
7749
7750 (define-public ghc-storable-complex
7751 (package
7752 (name "ghc-storable-complex")
7753 (version "0.2.2")
7754 (source
7755 (origin
7756 (method url-fetch)
7757 (uri (string-append
7758 "http://hackage.haskell.org/package/storable-complex/storable-complex-"
7759 version ".tar.gz"))
7760 (sha256
7761 (base32 "01kwwkpbfjrv26vj83cd92px5qbq1bpgxj0r45534aksqhany1xb"))))
7762 (build-system haskell-build-system)
7763 (home-page "https://github.com/cartazio/storable-complex")
7764 (synopsis "Haskell Storable instance for Complex")
7765 (description "This package provides a Haskell library including a
7766 Storable instance for Complex which is binary compatible with C99, C++
7767 and Fortran complex data types.")
7768 (license license:bsd-3)))
7769
7770 (define-public ghc-hmatrix
7771 (package
7772 (name "ghc-hmatrix")
7773 (version "0.17.0.2")
7774 (source
7775 (origin
7776 (method url-fetch)
7777 (uri (string-append
7778 "http://hackage.haskell.org/package/hmatrix/hmatrix-"
7779 version ".tar.gz"))
7780 (sha256
7781 (base32 "1fgsrh2y9y971pzrd3767rg97bjr1ghpdvwmn1nn65s90rc9bv98"))))
7782 (build-system haskell-build-system)
7783 (inputs
7784 `(("ghc-random" ,ghc-random)
7785 ("ghc-split" ,ghc-split)
7786 ("ghc-storable-complex" ,ghc-storable-complex)
7787 ("ghc-vector" ,ghc-vector)
7788 ;;("openblas" ,openblas)
7789 ("lapack" ,lapack)))
7790 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
7791 ;; disables inclusion of the LAPACK functions.
7792 ;; (arguments `(#:configure-flags '("--flags=openblas")))
7793 (home-page "https://github.com/albertoruiz/hmatrix")
7794 (synopsis "Haskell numeric linear algebra library")
7795 (description "The HMatrix package provices a Haskell library for
7796 dealing with linear systems, matrix decompositions, and other
7797 numerical computations based on BLAS and LAPACK.")
7798 (license license:bsd-3)))
7799
7800 (define-public ghc-hmatrix-gsl
7801 (package
7802 (name "ghc-hmatrix-gsl")
7803 (version "0.17.0.0")
7804 (source
7805 (origin
7806 (method url-fetch)
7807 (uri (string-append
7808 "http://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
7809 version ".tar.gz"))
7810 (sha256
7811 (base32 "1jbqwn9d2nldc4klhy0n8gcxr889h0daw2mjfhwgksfy1bwfjl7w"))))
7812 (build-system haskell-build-system)
7813 (inputs
7814 `(("ghc-hmatrix" ,ghc-hmatrix)
7815 ("ghc-vector" ,ghc-vector)
7816 ("ghc-random" ,ghc-random)
7817 ("gsl" ,gsl)))
7818 (native-inputs `(("pkg-config" ,pkg-config)))
7819 (home-page "https://github.com/albertoruiz/hmatrix")
7820 (synopsis "Haskell GSL binding")
7821 (description "This Haskell library provides a purely functional
7822 interface to selected numerical computations, internally implemented
7823 using GSL.")
7824 (license license:gpl3+)))
7825
7826 (define-public ghc-hmatrix-special
7827 (package
7828 (name "ghc-hmatrix-special")
7829 (version "0.4.0.0")
7830 (source
7831 (origin
7832 (method url-fetch)
7833 (uri
7834 (string-append
7835 "http://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
7836 version ".tar.gz"))
7837 (sha256
7838 (base32 "0cr9y3swzj7slrd84g1nhdkp1kpq4q5ihwapmiaidpr2bv3hrfhz"))))
7839 (build-system haskell-build-system)
7840 (inputs
7841 `(("ghc-hmatrix" ,ghc-hmatrix)
7842 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
7843 (home-page "https://github.com/albertoruiz/hmatrix")
7844 (synopsis "Haskell interface to GSL special functions")
7845 (description "This library provides an interface to GSL special
7846 functions for Haskell.")
7847 (license license:gpl3+)))
7848
7849 (define-public ghc-hmatrix-gsl-stats
7850 (package
7851 (name "ghc-hmatrix-gsl-stats")
7852 (version "0.4.1.3")
7853 (source
7854 (origin
7855 (method url-fetch)
7856 (uri
7857 (string-append
7858 "http://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
7859 version ".tar.gz"))
7860 (sha256
7861 (base32 "0f3pzi494n4js0xiq5b38n07cnby0h9da6gmwywf8plvxm9271fl"))))
7862 (build-system haskell-build-system)
7863 (inputs
7864 `(("ghc-vector" ,ghc-vector)
7865 ("ghc-storable-complex" ,ghc-storable-complex)
7866 ("ghc-hmatrix" ,ghc-hmatrix)
7867 ("gsl" ,gsl)))
7868 (native-inputs `(("pkg-config" ,pkg-config)))
7869 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
7870 (synopsis "GSL Statistics interface for Haskell")
7871 (description "This Haskell library provides a purely functional
7872 interface for statistics based on hmatrix and GSL.")
7873 (license license:bsd-3)))
7874
7875 (define-public ghc-easyplot
7876 (package
7877 (name "ghc-easyplot")
7878 (version "1.0")
7879 (source
7880 (origin
7881 (method url-fetch)
7882 (uri (string-append
7883 "http://hackage.haskell.org/package/easyplot/easyplot-"
7884 version ".tar.gz"))
7885 (sha256
7886 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
7887 (build-system haskell-build-system)
7888 (propagated-inputs `(("gnuplot" ,gnuplot)))
7889 (arguments
7890 `(#:phases (modify-phases %standard-phases
7891 (add-after 'unpack 'fix-setup-suffix
7892 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
7893 (home-page "http://hub.darcs.net/scravy/easyplot")
7894 (synopsis "Haskell plotting library based on gnuplot")
7895 (description "This package provides a plotting library for
7896 Haskell, using gnuplot for rendering.")
7897 (license license:expat)))
7898
7899 (define-public ghc-hashtables
7900 (package
7901 (name "ghc-hashtables")
7902 (version "1.2.1.0")
7903 (source
7904 (origin
7905 (method url-fetch)
7906 (uri (string-append
7907 "http://hackage.haskell.org/package/hashtables/hashtables-"
7908 version ".tar.gz"))
7909 (sha256
7910 (base32 "1b6w9xznk42732vpd8ili60k12yq190xnajgga0iwbdpyg424lgg"))))
7911 (build-system haskell-build-system)
7912 (inputs
7913 `(("ghc-hashable" ,ghc-hashable)
7914 ("ghc-primitive" ,ghc-primitive)
7915 ("ghc-vector" ,ghc-vector)))
7916 (home-page "http://github.com/gregorycollins/hashtables")
7917 (synopsis "Haskell Mutable hash tables in the ST monad")
7918 (description "This package provides a Haskell library including a
7919 couple of different implementations of mutable hash tables in the ST
7920 monad, as well as a typeclass abstracting their common operations, and
7921 a set of wrappers to use the hash tables in the IO monad.")
7922 (license license:bsd-3)))
7923
7924 (define-public ghc-data-accessor
7925 (package
7926 (name "ghc-data-accessor")
7927 (version "0.2.2.7")
7928 (source
7929 (origin
7930 (method url-fetch)
7931 (uri (string-append
7932 "mirror://hackage/package/data-accessor/data-accessor-"
7933 version ".tar.gz"))
7934 (sha256
7935 (base32 "1vf2g1gac3rm32g97rl0fll51m88q7ry4m6khnl5j47qsmx24r9l"))))
7936 (build-system haskell-build-system)
7937 (home-page "http://www.haskell.org/haskellwiki/Record_access")
7938 (synopsis
7939 "Haskell utilities for accessing and manipulating fields of records")
7940 (description "This package provides Haskell modules for accessing and
7941 manipulating fields of records.")
7942 (license license:bsd-3)))
7943
7944 (define-public ghc-data-accessor-transformers
7945 (package
7946 (name "ghc-data-accessor-transformers")
7947 (version "0.2.1.7")
7948 (source
7949 (origin
7950 (method url-fetch)
7951 (uri (string-append
7952 "mirror://hackage/package/data-accessor-transformers/"
7953 "data-accessor-transformers-" version ".tar.gz"))
7954 (sha256
7955 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
7956 (build-system haskell-build-system)
7957 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
7958 (home-page "http://www.haskell.org/haskellwiki/Record_access")
7959 (synopsis "Use Accessor to access state in transformers State monad")
7960 (description "This package provides Haskell modules to allow use of
7961 Accessor to access state in transformers State monad.")
7962 (license license:bsd-3)))
7963
7964 (define-public ghc-utility-ht
7965 (package
7966 (name "ghc-utility-ht")
7967 (version "0.0.12")
7968 (home-page "https://hackage.haskell.org/package/utility-ht")
7969 (source
7970 (origin
7971 (method url-fetch)
7972 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
7973 (sha256
7974 (base32 "1vq5bd51rl9l5lgfmaqxgiggddk38hzgngcj7qgrqnalcd1myi54"))))
7975 (build-system haskell-build-system)
7976 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
7977 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
7978 (description "This package includes Hakell modules providing various
7979 helper functions for Lists, Maybes, Tuples, Functions.")
7980 (license license:bsd-3)))
7981
7982 (define-public ghc-gnuplot
7983 (package
7984 (name "ghc-gnuplot")
7985 (version "0.5.4.1")
7986 (source
7987 (origin
7988 (method url-fetch)
7989 (uri (string-append
7990 "mirror://hackage/package/gnuplot/gnuplot-"
7991 version ".tar.gz"))
7992 (sha256
7993 (base32 "1xz8prw9xjk0rsyrkp9bsmxykzrbhpv9qhhkdapy75mdbmgwjm7s"))))
7994 (build-system haskell-build-system)
7995 (inputs
7996 `(("ghc-temporary" ,ghc-temporary)
7997 ("ghc-utility-ht" ,ghc-utility-ht)
7998 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
7999 ("ghc-data-accessor" ,ghc-data-accessor)
8000 ("gnuplot" ,gnuplot)))
8001 (arguments
8002 `(#:phases
8003 (modify-phases %standard-phases
8004 (add-before 'configure 'fix-path-to-gnuplot
8005 (lambda* (#:key inputs #:allow-other-keys)
8006 (let ((gnuplot (assoc-ref inputs "gnuplot")))
8007 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
8008 (("(gnuplotName = ).*$" all cmd)
8009 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
8010 (home-page "http://www.haskell.org/haskellwiki/Gnuplot")
8011 (synopsis "2D and 3D plots using gnuplot")
8012 (description "This package provides a Haskell module for creating 2D and
8013 3D plots using gnuplot.")
8014 (license license:bsd-3)))
8015
8016 (define-public ghc-hinotify
8017 (package
8018 (name "ghc-hinotify")
8019 (version "0.3.8.1")
8020 (source (origin
8021 (method url-fetch)
8022 (uri (string-append
8023 "https://hackage.haskell.org/package/hinotify/"
8024 "hinotify-" version ".tar.gz"))
8025 (sha256
8026 (base32
8027 "03c1f4d7x805zdiq2w26kl09xrfjw19saycdkhnixzv2qcr6xm1p"))))
8028 (build-system haskell-build-system)
8029 (home-page "https://github.com/kolmodin/hinotify.git")
8030 (synopsis "Haskell binding to inotify")
8031 (description "This library provides a wrapper to the Linux kernel's inotify
8032 feature, allowing applications to subscribe to notifications when a file is
8033 accessed or modified.")
8034 (license license:bsd-3)))
8035
8036 (define-public ghc-fsnotify
8037 (package
8038 (name "ghc-fsnotify")
8039 (version "0.2.1")
8040 (source (origin
8041 (method url-fetch)
8042 (uri (string-append
8043 "https://hackage.haskell.org/package/fsnotify/"
8044 "fsnotify-" version ".tar.gz"))
8045 (sha256
8046 (base32
8047 "0asl313a52qx2w6dw25g845683xsl840bwjh118nkwi5v1xipkzb"))))
8048 (build-system haskell-build-system)
8049 (inputs
8050 `(("ghc-text" ,ghc-text)
8051 ("ghc-async" ,ghc-async)
8052 ("ghc-unix-compat" ,ghc-unix-compat)
8053 ("ghc-hinotify" ,ghc-hinotify)
8054 ("ghc-tasty" ,ghc-tasty)
8055 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8056 ("ghc-temporary-rc" ,ghc-temporary-rc)))
8057 (home-page "https://github.com/haskell-fswatch/hfsnotify")
8058 (synopsis "Cross platform library for file change notification.")
8059 (description "Cross platform library for file creation, modification, and
8060 deletion notification. This library builds upon existing libraries for platform
8061 specific Windows, Mac, and Linux filesystem event notification.")
8062 (license license:bsd-3)))
8063
8064 (define-public ghc-tasty-rerun
8065 (package
8066 (name "ghc-tasty-rerun")
8067 (version "1.1.6")
8068 (source (origin
8069 (method url-fetch)
8070 (uri (string-append
8071 "https://hackage.haskell.org/package/tasty-rerun/"
8072 "tasty-rerun-" version ".tar.gz"))
8073 (sha256
8074 (base32
8075 "0ycxg7whabgcxyzy6gr536x8ykzx45whh1wrbsc7c58zi862fczd"))))
8076 (build-system haskell-build-system)
8077 (inputs
8078 `(("ghc-mtl" ,ghc-mtl)
8079 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
8080 ("ghc-reducers" ,ghc-reducers)
8081 ("ghc-split" ,ghc-split)
8082 ("ghc-stm" ,ghc-stm)
8083 ("ghc-tagged" ,ghc-tagged)
8084 ("ghc-tasty" ,ghc-tasty)))
8085 (home-page "http://github.com/ocharles/tasty-rerun")
8086 (synopsis "Run tests by filtering the test tree")
8087 (description "This package adds the ability to run tests by filtering the
8088 test tree based on the result of a previous test run. You can use this to run
8089 only those tests that failed in the last run, or to only run the tests that have
8090 been added since previous test run.")
8091 (license license:bsd-3)))
8092
8093 (define-public ghc-ieee754
8094 (package
8095 (name "ghc-ieee754")
8096 (version "0.7.8")
8097 (source (origin
8098 (method url-fetch)
8099 (uri (string-append
8100 "https://hackage.haskell.org/package/ieee754/"
8101 "ieee754-" version ".tar.gz"))
8102 (sha256
8103 (base32
8104 "1zvfnnd5nm5kgr60214cdyks0kqdqyzpwk5sdh0s60yr8b7fyjny"))))
8105 (build-system haskell-build-system)
8106 (home-page "http://github.com/patperry/hs-ieee754")
8107 (synopsis "Utilities for dealing with IEEE floating point numbers")
8108 (description "Utilities for dealing with IEEE floating point numbers,
8109 ported from the Tango math library; approximate and exact equality comparisons
8110 for general types.")
8111 (license license:bsd-3)))
8112
8113 (define-public ghc-terminal-size
8114 (package
8115 (name "ghc-terminal-size")
8116 (version "0.3.2.1")
8117 (source (origin
8118 (method url-fetch)
8119 (uri (string-append
8120 "https://hackage.haskell.org/package/terminal-size/"
8121 "terminal-size-" version ".tar.gz"))
8122 (sha256
8123 (base32
8124 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
8125 (build-system haskell-build-system)
8126 (home-page "http://hackage.haskell.org/package/terminal-size")
8127 (synopsis "Get terminal window height and width")
8128 (description "Get terminal window height and width without ncurses
8129 dependency.")
8130 (license license:bsd-3)))
8131
8132 ;;; haskell.scm ends here