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