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