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