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