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